anchor.diff:  
           ClassifySchedule = classify_schedule(3, Annotations, PrefixMessageTypes, OmittedMessageTypes, ConditionalMessageTypes),
   
  -        %% Store generated schedule.
  -        true = ets:insert(?SCHEDULES, {Iteration, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}),
  -
  -        %% Bump iteration.
  -        Iteration + 1
  -    end, PreviousIteration, TracesToIterate),
  -
  -    %% Run schedules.
  -    {NumberPassed, NumberFailed, NumberPruned, NewClassificationsExplored, AdditionalTraces} = ets:foldl(fun({Iteration, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}, {NumPassed, NumFailed, NumPruned, ClassificationsExplored0, NewTraces0}) ->
  -        Size = proplists:get_value(size, ets:info(?SCHEDULES)),
  -        io:format("Exploring schedule for iteration ~p of ~p~n:", [Iteration, Size]),
  -
  -        case execute_schedule(PreloadOmissionFile, ReplayTraceFile, TraceFile, TraceLines, {Iteration, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}, ClassificationsExplored0, NewTraces0) of
  +        case os:getenv("PRELOAD_SCHEDULES") of 
  +            false ->
  +                case execute_schedule(PreloadOmissionFile, ReplayTraceFile, TraceFile, TraceLines, {GenIteration0, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}, GenClassificationsExplored0, GenAdditionalTraces0) of
  +                    pruned ->
  +                        {GenIteration0 + 1, GenNumPassed0, GenNumFailed0, GetNumPruned0 + 1, GenClassificationsExplored0, GenAdditionalTraces0};
  +                    {passed, ClassificationsExplored, NewTraces} ->
  +                        {GenIteration0 + 1, GenNumPassed0 + 1, GenNumFailed0, GetNumPruned0, ClassificationsExplored, NewTraces};
  +                    {failed, ClassificationsExplored, NewTraces} ->
  +                        {GenIteration0 + 1, GenNumPassed0, GenNumFailed0 + 1, GetNumPruned0, ClassificationsExplored, NewTraces};
  +                    invalid ->
  +                        {GenIteration0 + 1, GenNumPassed0, GenNumFailed0, GetNumPruned0 + 1, GenClassificationsExplored0, GenAdditionalTraces0}
  +                end;
  +            "false" ->
  +                case execute_schedule(PreloadOmissionFile, ReplayTraceFile, TraceFile, TraceLines, {GenIteration0, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}, GenClassificationsExplored0, GenAdditionalTraces0) of
  +                    pruned ->
  +                        {GenIteration0 + 1, GenNumPassed0, GenNumFailed0, GetNumPruned0 + 1, GenClassificationsExplored0, GenAdditionalTraces0};
  +                    {passed, ClassificationsExplored, NewTraces} ->
  +                        {GenIteration0 + 1, GenNumPassed0 + 1, GenNumFailed0, GetNumPruned0, ClassificationsExplored, NewTraces};
  +                    {failed, ClassificationsExplored, NewTraces} ->
  +                        {GenIteration0 + 1, GenNumPassed0, GenNumFailed0 + 1, GetNumPruned0, ClassificationsExplored, NewTraces};
  +                    invalid ->
  +                        {GenIteration0 + 1, GenNumPassed0, GenNumFailed0, GetNumPruned0 + 1, GenClassificationsExplored0, GenAdditionalTraces0}
  +                end;
  +            _Other ->
  +                %% Store generated schedule.
  +                true = ets:insert(?SCHEDULES, {GenIteration0, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}),
  +
  +                {GenIteration0 + 1, GenNumPassed0, GenNumFailed0, GetNumPruned0, GenClassificationsExplored0, GenAdditionalTraces0}
  +        end
  +    end, {PreviousIteration, 0, 0, 0, PreviousClassificationsExplored, RestTraceLines}, TracesToIterate),
  +
  +    %% Run generated schedules stored in the ETS table.
  +    {PreloadNumPassed, PreloadNumFailed, PreloadNumPruned, PreloadClassificationsExplored, PreloadAdditionalTraces} = ets:foldl(fun({Iteration, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}, {PreloadNumPassed0, PreloadNumFailed0, PreloadNumPruned0, PreloadClassificationsExplored0, PreloadAdditionalTraces0}) ->
  +        case execute_schedule(PreloadOmissionFile, ReplayTraceFile, TraceFile, TraceLines, {Iteration, {Omissions, FinalTraceLines, ClassifySchedule, ScheduleValid}}, PreloadClassificationsExplored0, PreloadAdditionalTraces0) of
               pruned ->
  -                {NumPassed, NumFailed, NumPruned + 1, ClassificationsExplored0, NewTraces0};
  +                {PreloadNumPassed0, PreloadNumFailed0, PreloadNumPruned0 + 1, PreloadClassificationsExplored0, PreloadAdditionalTraces0};
               {passed, ClassificationsExplored, NewTraces} ->
  -                {NumPassed + 1, NumFailed, NumPruned, ClassificationsExplored, NewTraces};
  +                {PreloadNumPassed0 + 1, PreloadNumFailed0, PreloadNumPruned0, ClassificationsExplored, NewTraces};
               {failed, ClassificationsExplored, NewTraces} ->
  -                {NumPassed, NumFailed + 1, NumPruned, ClassificationsExplored, NewTraces};
  +                {PreloadNumPassed0, PreloadNumFailed0 + 1, PreloadNumPruned0, ClassificationsExplored, NewTraces};
               invalid ->
  -                {NumPassed, NumFailed, NumPruned + 1, ClassificationsExplored0, NewTraces0}
  -        end
  -    end, {0, 0, 0, PreviousClassificationsExplored, []}, ?SCHEDULES),
  -
  -    io:format("Pass: ~p, Iterations: ~p - ~p, Results: ~p, Failed: ~p, Pruned: ~p~n", [Pass, PreviousIteration, NewIteration, NumberPassed, NumberFailed, NumberPruned]),
  -
  +                {PreloadNumPassed0, PreloadNumFailed0, PreloadNumPruned0 + 1, PreloadClassificationsExplored0, PreloadAdditionalTraces0}
  +        end
  +    end, {GenNumPassed, GenNumFailed, GenNumPruned, GenClassificationsExplored, GenAdditionalTraces}, ?SCHEDULES),
  +
  +    io:format("Pass: ~p, Iterations: ~p - ~p, Results: ~p, Failed: ~p, Pruned: ~p~n", [Pass, PreviousIteration, GenIteration, PreloadNumPassed, PreloadNumFailed, PreloadNumPruned]),
  +
  +    %% Should we explore any new schedules we have discovered?
       case os:getenv("RECURSIVE") of 
           false ->
  -            analyze(Pass + 1, PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, NewIteration, NewClassificationsExplored, RestTraceLines);
  +            analyze(Pass + 1, PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, GenIteration, PreloadClassificationsExplored, RestTraceLines);
           "false" ->
  -            analyze(Pass + 1, PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, NewIteration, NewClassificationsExplored, RestTraceLines);
  +            analyze(Pass + 1, PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, GenIteration, PreloadClassificationsExplored, RestTraceLines);
           _Other ->
  -            analyze(Pass + 1, PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, NewIteration, NewClassificationsExplored, RestTraceLines ++ AdditionalTraces)
  +            analyze(Pass + 1, PreloadOmissionFile, ReplayTraceFile, TraceFile, Causality, Annotations, GenIteration, PreloadClassificationsExplored, PreloadAdditionalTraces)
       end.
   
   %% @doc Generate the powerset of messages.
  
positive.code:                     %% Run the trace.
                      Command = "rm -rf priv/lager; IMPLEMENTATION_MODULE=" ++ os:getenv("IMPLEMENTATION_MODULE") ++ " SHRINKING=true REPLAY=true PRELOAD_OMISSIONS_FILE=" ++ PreloadOmissionFile ++ " REPLAY_TRACE_FILE=" ++ ReplayTraceFile ++ " TRACE_FILE=" ++ TraceFile ++ " ./rebar3 proper --retry | tee /tmp/partisan.output",
                      io:format("Executing command for iteration ~p:~n", [Iteration]),
                      io:format(" ~p~n", [Command]),
                      Output = os:cmd(Command),
  
                      ClassificationsExplored = ClassificationsExplored0 ++ [Classification],
  
negative.code:             end
      end,
  
      %% Generate schedules.
      {GenIteration, GenNumPassed, GenNumFailed, GenNumPruned, GenClassificationsExplored, GenAdditionalTraces} = lists:foldl(fun(Omissions, {GenIteration0, GenNumPassed0, GenNumFailed0, GetNumPruned0, GenClassificationsExplored0, GenAdditionalTraces0}) ->
          % io:format("~n", []),
  
          %% Generate a new trace.
  