anchor.diff:              case [{P,V} || {#b_var{}=V,P} <- PhiArgs] of
                   [_|_]=PhiVars ->
                       PhiLive0 = rel2fam(PhiVars),
  -                    PhiLive = [{{L,P},gb_sets:union(gb_sets:from_list(Vs), Live0)} ||
  +                    PhiLive = [{{L,P},cerl_sets:union(cerl_sets:from_list(Vs), Live0)} ||
                                     {P,Vs} <- PhiLive0],
                       maps:merge(LiveMap, maps:from_list(PhiLive));
                   [] ->
  
positive.code: live_opt([{L,Blk0}|Bs], LiveMap0, Blocks) ->
      Blk1 = beam_ssa_share:block(Blk0, Blocks),
      Successors = beam_ssa:successors(Blk1),
      Live0 = live_opt_succ(Successors, L, LiveMap0, gb_sets:empty()),
      {Blk,Live} = live_opt_blk(Blk1, Live0),
      LiveMap = live_opt_phis(Blk#b_blk.is, L, Live, LiveMap0),
      live_opt(Bs, LiveMap, Blocks#{L:=Blk});
  live_opt([], _, Acc) -> Acc.
  
  live_opt_succ([S|Ss], L, LiveMap, Live0) ->
      Key = {S,L},
      case LiveMap of
          #{Key:=Live} ->
              %% The successor has a phi node, and the value for
              %% this block in the phi node is a variable.
              live_opt_succ(Ss, L, LiveMap, gb_sets:union(Live, Live0));
          #{S:=Live} ->
              %% No phi node in the successor, or the value for
              %% this block in the phi node is a literal.
              live_opt_succ(Ss, L, LiveMap, gb_sets:union(Live, Live0));
          #{} ->
              %% A peek_message block which has not been processed yet.
              live_opt_succ(Ss, L, LiveMap, Live0)
  
negative.code:     end.
  
  live_opt_blk(#b_blk{is=Is0,last=Last}=Blk, Live0) ->
      Live1 = cerl_sets:union(Live0, cerl_sets:from_list(beam_ssa:used(Last))),
      {Is,Live} = live_opt_is(reverse(Is0), Live1, []),
      {Blk#b_blk{is=Is},Live}.
  
  live_opt_is([#b_set{op=phi,dst=Dst}=I|Is], Live0, Acc) ->
      Live = cerl_sets:del_element(Dst, Live0),
      case cerl_sets:is_element(Dst, Live0) of
          true ->
              live_opt_is(Is, Live, [I|Acc]);
          false ->
  