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: 		 [?MODULE, FName, Line, Col, ShowDefault, SearchPaths, TabWidth]),
      Cmd = "CMD: " ++ atom_to_list(?MODULE) ++ ":normalise_record_expr(" ++ "\"" ++
  	    FName ++ "\", {" ++ integer_to_list(Line) ++ ", " ++ integer_to_list(Col) ++ "},"
  											   ++ atom_to_list(ShowDefault) ++ " [" ++ refac_misc:format_search_paths(SearchPaths)
  	      ++ "]," ++ integer_to_list(TabWidth) ++ ").",
      {ok, {AnnAST, _Info}} = refac_util:parse_annotate_file(FName, true, [], TabWidth),
      RecordExpr = pos_to_record_expr(AnnAST, Pos),
  
negative.code:       Start2 =< Start1 andalso End1 =< End2.
  
  
  do_search_similar_expr_1(FileName, Exprs1, Exprs2, RecordInfo, SimiScore, FunNode) when is_list(Exprs1) ->
      Len1 = length(Exprs1),
      Len2 = length(Exprs2),
      case Len1 =< Len2 of
  