anchor.diff:  %%         ok -> Parent ! ok
   %%     end.
   
  -test() ->
  -  InitPStates = dict:store(m, new_pstate(m), dict:new()),
  -  put(interleavings, 0),
  +
  +-ifdef(STATS).
  +-define(stats_start, put(interleavings, 0)).
  +-define(stats_report, io:format("Interleavings: ~p\n", [get(interleavings)])).
  +-define(stats_inc, begin
  +                     I = get(interleavings) + 1,
  +                     put(interleavings, I)
  +                   end).
  +-else.
  +-define(stats_start, ok).
  +-define(stats_report, ok).
  +-define(stats_inc, ok).
  +-endif.
  +
  +test(M) ->
  +  InitPStates = dict:store(M, new_pstate(M), dict:new()),
  +  ?stats_start,
     Trace = init_trace(InitPStates),
     explore(Trace, new_clock_vector_dict()),
  -  io:format("Interleavings: ~p\n", [get(interleavings)]).
  +  ?stats_report.
   
   new_pstate(P) -> #pstate{commands = p(P)}.
   
  
positive.code:     case pick_random_enabled(Trace) of
        none ->
          %% TODO: Report Check for deadlocks
          I = get(interleavings) + 1,
          put(interleavings, I),
          io:format("~p\n", [I]),
          %% Stack = get_stack(Trace),
          %% io:format("~s\n",[lists:map(fun map/1, Stack)]),
          %% io:format("~p\n", [Stack]),
          UpdatedTrace;
        {ok, P} ->
          ?debug("Picking ~p for new step.\n", [P]),
  
negative.code:       max_dependent(Cmd1, Trace, ClockMap, Acc)
    end.
  
  -ifdef(STACK).
  
  get_stack(Trace) ->
    get_stack(Trace, []).
  