anchor.diff:  
   copy_retval_1([F|Fs], Blocks0, Count0) ->
       #b_blk{anno=#{yregs:=Yregs0},is=Is} = map_get(F, Blocks0),
  -    Yregs1 = gb_sets:from_list(Yregs0),
  -    Yregs = collect_yregs(Is, Yregs1),
  +    Yregs = collect_yregs(Is, Yregs0),
       Ls = beam_ssa:rpo([F], Blocks0),
       {Blocks,Count} = copy_retval_2(Ls, Yregs, none, Blocks0, Count0),
       copy_retval_1(Fs, Blocks, Count);
  
positive.code: 
  reserve_yregs_1(L, #st{ssa=Blocks0,cnt=Count0,res=Res0}=St) ->
      Blk = map_get(L, Blocks0),
      Yregs = beam_ssa:get_anno(yregs, Blk),
      {Def,Unused} = beam_ssa:def_unused([L], Yregs, Blocks0),
      UsedYregs = ordsets:subtract(Yregs, Unused),
      DefBefore = ordsets:subtract(UsedYregs, Def),
  
negative.code: 
  collect_yregs([#b_set{op=copy,dst=Y,args=[#b_var{}=X]}|Is],
                Yregs0) ->
      true = cerl_sets:is_element(X, Yregs0),        %Assertion.
      Yregs = cerl_sets:add_element(Y, cerl_sets:del_element(X, Yregs0)),
      collect_yregs(Is, Yregs);
  collect_yregs([#b_set{}|Is], Yregs) ->
      collect_yregs(Is, Yregs);
  