anchor.diff:      assert_choices(Choices),
       Vst = branch_state(Fail, Vst0),
       kill_state(select_val_branches(Src, Choices, Vst));
  -valfun_4({select_tuple_arity,Tuple,{f,Fail},{list,Choices}}, Vst) ->
  -    assert_type(tuple, Tuple, Vst),
  +valfun_4({select_tuple_arity,Tuple,{f,Fail},{list,Choices}}, Vst0) ->
  +    assert_type(tuple, Tuple, Vst0),
       assert_arities(Choices),
  -    TupleType = get_durable_term_type(Tuple, Vst),
  -    kill_state(branch_arities(Choices, Tuple, TupleType,
  -                              branch_state(Fail, Vst)));
  +    Vst = branch_state(Fail, Vst0),
  +    kill_state(branch_arities(Choices, Tuple, Vst));
   
   %% New bit syntax matching instructions.
   valfun_4({test,bs_start_match3,{f,Fail},Live,[Src],Dst}, Vst) ->
  
positive.code:             assert_term(Src, Vst),
              kill_state(Vst)
      end;
  valfun_4({test,test_arity,{f,Lbl},[Tuple,Sz]}, Vst) when is_integer(Sz) ->
      assert_type(tuple, Tuple, Vst),
      update_type(fun meet/2, {tuple,Sz,#{}}, Tuple, branch_state(Lbl, Vst));
  valfun_4({test,is_tagged_tuple,{f,Lbl},[Src,Sz,Atom]}, Vst0) ->
      assert_term(Src, Vst0),
      Vst = branch_state(Lbl, Vst0),
  
negative.code: %%%   fmove Src {fr,_}		%% Move INTO floating point register.
  %%%
  
  float_op(Ss, Dst, Vst0) ->
      [assert_freg_set(S, Vst0) || S <- Ss],
      assert_fls(cleared, Vst0),
      Vst = set_fls(cleared, Vst0),
      set_freg(Dst, Vst).
  