anchor.diff:  
   -export([inc_sim_code_detection/7]).
   
  --compile(export_all).
  -
   -include("../include/wrangler.hrl").
   
   -include_lib("stdlib/include/ms_transform.hrl").
  
positive.code: 	
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  %%                                                                    %%
  %%   Hash ASTs                                                        %%
  %%                                                                    %%
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  start_hash_process() ->		     
      HashTab = ets:new(hash_tab, [set, public]),
      spawn_link(fun()->hash_loop({1,HashTab,[]}) end).
  
  stop_hash_process(Pid) ->
      Pid!stop.
  
  insert_hash(Pid, {HashVal, Elem}) ->
      Pid ! {add, {HashVal, Elem}}.
  
  insert_dummy_entry(Pid) ->
  
negative.code:     examine_clone_members(Ranges, {Ranges, {Len, Freq}}, MinFreq, SimiScore, ASTTab, VarTab,[]).
    
   
  examine_clone_members([], _, _, _, _, _, Acc) ->
      Acc;
  examine_clone_members([R| Rs], C = {Ranges, {Len, Freq}}, MinFreq, SimiScore, ASTTab, VarTab, Acc) ->
      Res = examine_a_clone_class_member(R, C, MinFreq, SimiScore, ASTTab, VarTab),
      case Res of
        [] ->
  	  Ranges1 = Ranges -- [R],
  	  examine_clone_members(Rs, {Ranges1, {Len, Freq}},
  				MinFreq, SimiScore, ASTTab, VarTab, Acc);
        {Rs1, {_Len1, _Freq1}, _Str} ->
  	  examine_clone_members(Rs -- Rs1, {Ranges -- Rs1, {Len, Freq}}, MinFreq,
  				SimiScore, ASTTab, VarTab, [Res| Acc])
      end.
  
  examine_a_clone_class_member(Range = [{{FName, _Fun, _Arity, _Index},_}| _T], {Rs, {Len, _Freq}}, MinFreq, SimiScore, ASTTab, VarTab) ->
      {Exprs1, VarsToExport} = get_expr_list_and_vars_to_export(Range, ASTTab, VarTab),
      Res = pmap(fun (R) ->
  		       case R == Range of
  			 true -> [];
  			 _ ->
  			     find_anti_unifier(FName, Exprs1, R, SimiScore, ASTTab, VarTab)
  		       end
  	       end, Rs),
      Res1 = lists:append(Res),
      case length(Res1) < MinFreq - 1 of
        true -> [];
        _ ->
  	  {Ranges, ExportVars, SubSt} = lists:unzip3(Res1),
  	  ExportVars1 = {element(1, lists:unzip(VarsToExport)), lists:usort(lists:append(ExportVars))},
  	  {[Range| Ranges], {Len, length(Ranges) + 1}, {Range, SubSt, ExportVars1}}
      end.
      
  
  