anchor.diff:  			    [{{FileName, {S2, E2}}, EVs, SubSt}]++
   				do_search_similar_expr_1(FileName, Exprs1, tl(Exprs2), RecordInfo, SimiScore, FunNode)
   		    end
  +	    end;
  +	_ ->[]
  +    end;
  +do_search_similar_expr_1(FileName, Expr1, Expr2, RecordInfo, SimiScore, FunNode) ->
  +    {S1, E1} = refac_misc:get_start_end_loc(Expr1),
  +    {S2, E2} = refac_misc:get_start_end_loc(Expr2),
  +    case overlapped_locs({S1, E1}, {S2, E2}) of
  +	true -> [];
  +	_ ->
  +	    NormalisedExpr21 =normalise_expr(Expr2, RecordInfo),
  +	    ExportedVars = vars_to_export(FunNode, E2, Expr2),
  +	    Res =anti_unification:anti_unification_with_score(Expr1, NormalisedExpr21, SimiScore),
  +	    case Res of 
  +		none ->
  +		    [];
  +		SubSt ->
  +		    EVs = [SE1 || {SE1, SE2} <- SubSt, refac_syntax:type(SE2) == variable,
  +				  lists:member({refac_syntax:variable_name(SE2), get_var_define_pos(SE2)}, ExportedVars)],
  +		    [{{FileName, {S2, E2}}, EVs, SubSt}]
   	    end
       end.
  +
       
   get_var_define_pos(V) ->
       {value, {def, DefinePos}} = lists:keysearch(def,1, refac_syntax:get_ann(V)),
  
positive.code:       Start2 =< Start1 andalso End1 =< End2.
  
  
  do_search_similar_expr_1(FileName, Exprs1, Exprs2, RecordInfo, SimiScore, FunNode) ->
      Len1 = length(Exprs1),
      Len2 = length(Exprs2),
      case Len1 =< Len2 of
  
negative.code: 		_ ->
  		    NormalisedExprs21 =normalise_expr(Exprs21, RecordInfo),
  		    ExportedVars = vars_to_export(FunNode, E2, Exprs21),
  		    case anti_unification:anti_unification_with_score(Exprs1, NormalisedExprs21, SimiScore) of
  			none ->
  			    do_search_similar_expr_1(FileName, Exprs1, tl(Exprs2), RecordInfo, SimiScore, FunNode);
  			SubSt ->
  