anchor.diff:  eval_is([#b_set{op=Op,dst=Dst}=I|Is], From, 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
  +    case eval_test(Op, Args, St) of
           #b_literal{}=Val ->
               eval_is(Is, From, bind_var(Dst, Val, Bs), St);
           none ->
  
positive.code:     none.
  
  eval_switch_1([{Lit,Lbl}|T], Arg, PrevOp, Fail) ->
      RelOp = {'=:=',Arg,Lit},
      case will_succeed(PrevOp, RelOp) of
          yes ->
              %% Success. This branch will always be taken.
              Lbl;
  
negative.code:                 none ->
                      %% Not literal arguments. Try to evaluate
                      %% it based on a previous relational operator.
                      eval_test({bif,Bif}, Args, St);
                  LitArgs ->
                      try apply(erlang, Bif, LitArgs) of
                          Val -> #b_literal{val=Val}
  