anchor.diff:  shortcut_opt([], _, St) -> St.
   
   shortcut_terminator(#b_br{bool=#b_literal{val=true},succ=Succ0},
  -                    _Is, Bs, St0) ->
  +                    _Is, From, Bs, St0) ->
       St = St0#st{rel_op=none},
  -    shortcut(Succ0, Bs, St);
  +    shortcut(Succ0, From, Bs, St);
   shortcut_terminator(#b_br{bool=#b_var{}=Bool,succ=Succ0,fail=Fail0}=Br,
  -                    Is, Bs, St0) ->
  +                    Is, From, Bs, St0) ->
       St = St0#st{target=one_way},
       RelOp = get_rel_op(Bool, Is),
       SuccBs = bind_var(Bool, #b_literal{val=true}, Bs),
  -    BrSucc = shortcut(Succ0, SuccBs, St#st{rel_op=RelOp}),
  +    BrSucc = shortcut(Succ0, From, SuccBs, St#st{rel_op=RelOp}),
       FailBs = bind_var(Bool, #b_literal{val=false}, Bs),
  -    BrFail = shortcut(Fail0, FailBs, St#st{rel_op=invert_op(RelOp)}),
  +    BrFail = shortcut(Fail0, From, FailBs, St#st{rel_op=invert_op(RelOp)}),
       case {BrSucc,BrFail} of
           {#b_br{bool=#b_literal{val=true},succ=Succ},
            #b_br{bool=#b_literal{val=true},succ=Fail}}
  
positive.code: %% Return the updated bindings, or 'none' if there is
  %% any instruction with potential side effects.
  
  eval_is([#b_set{op=phi,dst=Dst,args=Args}|Is], Bs0, St) ->
      From = map_get(from, Bs0),
      Val = get_phi_arg(Args, From),
      Bs = bind_var(Dst, Val, Bs0),
      eval_is(Is, Bs, St);
  eval_is([#b_set{op={bif,_},dst=Dst}=I0|Is], Bs, St) ->
      I = sub(I0, Bs),
      case eval_bif(I, St) of
          #b_literal{}=Val ->
              eval_is(Is, bind_var(Dst, Val, Bs), St);
          none ->
              eval_is(Is, Bs, St)
      end;
  eval_is([#b_set{op=Op,dst=Dst}=I|Is], Bs, St)
    when Op =:= is_tagged_tuple; Op =:= is_nonempty_list ->
      #b_set{args=Args} = sub(I, Bs),
      case eval_rel_op(Op, Args, St) of
          #b_literal{}=Val ->
              eval_is(Is, bind_var(Dst, Val, Bs), St);
          none ->
              eval_is(Is, Bs, St)
      end;
  eval_is([#b_set{}=I|Is], Bs, St) ->
      case beam_ssa:no_side_effect(I) of
          true ->
              %% This instruction has no side effects. It can
              %% safely be omitted.
              eval_is(Is, Bs, St);
          false ->
              %% This instruction may have some side effect.
              %% It is not safe to avoid this instruction.
              none
      end;
  eval_is([], Bs, _St) -> Bs.
  
  get_phi_arg([{Val,From}|_], From) -> Val;
  get_phi_arg([_|As], From) -> get_phi_arg(As, From).
  
negative.code:                     %% Wrong forced target. Try following this branch
                      %% to see if it ultimately ends up at the forced
                      %% target.
                      shortcut_2(L, From, Bs, UnsetVars, St)
              end;
          #b_br{bool=#b_var{}} ->
              %% This is a two-way branch.
  