anchor.diff:              false ->
                   false
           end
  -    end, TraceLinesWithoutFailure),
  +    end, TraceLines),
       io:format("Number of items in message trace: ~p~n", [length(MessageTraceLines)]),
   
       %% Generate the powerset of tracelines.
  
positive.code:                                 %% This passed.
                                  io:format("Test passed.~n", []),
  
                                  %% Insert result into the ETS table.
                                  true = ets:insert(?RESULTS, {Iteration, {Iteration, FinalTraceLines, Omissions, true}}),
  
  
negative.code:         end
      end, hd(TraceLines)),
  
      %% Perform recursive analysis of the traces.
      analyze(PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, [TraceLinesWithoutFailure]),
  
      %% Should we try to find witnesses?
      case os:getenv("FIND_WITNESSES") of 
          false ->
              ok;
          _Other ->
              identify_minimal_witnesses()
      end,
  
      %% Test finished time.
      EndTime = os:timestamp(),
      Difference = timer:now_diff(EndTime, StartTime),
      DifferenceMs = Difference / 1000,
      DifferenceSec = DifferenceMs / 1000,
  
      io:format("Test started: ~p~n", [StartTime]),
      io:format("Test ended: ~p~n", [EndTime]),
      io:format("Test took: ~p seconds.~n", [DifferenceSec]),
  
      ok.
  
  %% @private
  analyze(_PreloadOmissionFile, _ReplayTraceFile, _TraceFile, _Causality, _Annotations, []) ->
      ok;
  
  analyze(PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, [TraceLines|RestTraceLines]) ->
      %% Filter the trace into message trace lines.
      MessageTraceLines = lists:filter(fun({Type, Message}) ->
          case Type =:= pre_interposition_fun of 
  