anchor.diff:      St#st{ssa=Blocks}.
   
   find_yregs_1([{F,Defs}|Fs], Blocks0) ->
  -    DK = #dk{d=Defs,k=[]},
  +    DK = #dk{d=Defs,k=cerl_sets:new()},
       D0 = #{F=>DK},
       Ls = beam_ssa:rpo([F], Blocks0),
  -    Yregs0 = [],
  +    Yregs0 = cerl_sets:new(),
       Yregs = find_yregs_2(Ls, Blocks0, D0, Yregs0),
       Blk0 = map_get(F, Blocks0),
       Blk = beam_ssa:add_anno(yregs, Yregs, Blk0),
  
positive.code: 
  collect_yregs([#b_set{op=copy,dst=Y,args=[#b_var{}=X]}|Is],
                Yregs0) ->
      true = gb_sets:is_member(X, Yregs0),        %Assertion.
      Yregs = gb_sets:insert(Y, gb_sets:delete(X, Yregs0)),
      collect_yregs(Is, Yregs);
  collect_yregs([#b_set{}|Is], Yregs) ->
      collect_yregs(Is, Yregs);
  
negative.code: 
  copy_retval_1([F|Fs], Blocks0, Count0) ->
      #b_blk{anno=#{yregs:=Yregs0},is=Is} = map_get(F, Blocks0),
      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);
  