anchor.diff:      end.
   
   rpo_1([L|Ls], Blocks, Seen0, Acc0) ->
  -    case gb_sets:is_member(L, Seen0) of
  +    case cerl_sets:is_element(L, Seen0) of
           true ->
               rpo_1(Ls, Blocks, Seen0, Acc0);
           false ->
               Block = maps:get(L, Blocks),
  -            Seen1 = gb_sets:insert(L, Seen0),
  +            Seen1 = cerl_sets:add_element(L, Seen0),
               Successors = successors(Block),
               {Acc,Seen} = rpo_1(Successors, Blocks, Seen1, Acc0),
               rpo_1(Ls, Blocks, Seen, [L|Acc])
  
positive.code:     rename_vars(maps:from_list(Rename), From, Blocks);
  rename_vars(Rename, From, Blocks) when is_map(Rename)->
      Top = rpo(From, Blocks),
      Preds = gb_sets:from_list(Top),
      F = fun(#b_set{op=phi,args=Args0}=Set) ->
                  Args = rename_phi_vars(Args0, Preds, Rename),
                  Set#b_set{args=Args};
  
negative.code: rename_var(Old, _) -> Old.
  
  rename_phi_vars([{Var,L}|As], Preds, Ren) ->
      case cerl_sets:is_element(L, Preds) of
          true ->
              [{rename_var(Var, Ren),L}|rename_phi_vars(As, Preds, Ren)];
          false ->
  