anchor.diff:  
   %% -define(DEBUG, true).
   %% -define(STEPWISE, true).
  -%% -define(STATS, true).
  +-define(STATS, true).
  +-define(STACK, true).
   
   -ifdef(DEBUG).
  +-ifndef(STACK).
   -define(STACK, true).
  +-endif.
   -endif.
   
   %%------------------------------------------------------------------------------
  
positive.code: 
  dependent({ P1,        _C1}, { P2,        _C2}) when P1 =:= P2 -> true;
  dependent({_P1, {send, P2}}, {_P3, {send, P4}}) when P2 =:= P4 -> true;
  dependent({_P1, {send, P2}}, { P3,        rec}) when P2 =:= P3 -> true;
  dependent({ P1,        rec}, {_P2, {send, P3}}) when P1 =:= P3 -> true;
  dependent(                _,                 _)                -> false.
  
  %%------------------------------------------------------------------------------
  
  
negative.code: -define(stats_inc, ok).
  -endif.
  
  -ifdef(STACK).
  
  -define(show_stack(Trace), io:format("~p\n",[get_stack(Trace)])).
             
  get_stack(Trace) ->
    get_stack(Trace, []).
  
  get_stack([], Acc) -> Acc;
  get_stack([#state{last = P}|Rest], Acc) -> get_stack(Rest, [P|Acc]).
  
  -else.
  
  -define(show_stack(_Trace), ok).
  
  -endif.
  
  test(M) ->
    InitPStates = dict:store(M, new_pstate(M), dict:new()),
    ?stats_start,
  