anchor.diff:  valfun_4({loop_rec_end,_}, Vst) ->
       verify_y_init(Vst),
       kill_state(Vst);
  -valfun_4(timeout, #vst{current=St}=Vst) ->
  -    Vst#vst{current=St#st{x=init_regs(0, term)}};
  +valfun_4(timeout, Vst) ->
  +    prune_x_regs(0, Vst);
   valfun_4(send, Vst) ->
       call(send, 2, Vst);
   valfun_4({set_tuple_element,Src,Tuple,N}, Vst) ->
  
positive.code: -type reg_tab() :: gb_trees:tree(index(), 'none' | {'value', _}).
  
  -record(st,				%Emulation state
  	{x :: reg_tab(),                %x register info.
  	 y :: reg_tab(),                %y register info.
  	 f=init_fregs(),                %
  	 numy=none,			%Number of y registers.
  	 h=0,				%Available heap size.
  	 hf=0,				%Available heap size for floats.
  	 fls=undefined,			%Floating point state.
  	 ct=[],				%List of hot catch/try labels
           setelem=false,                 %Previous instruction was setelement/3.
           puts_left=none,                %put/1 instructions left.
           defs=#{},                      %Defining expression for each register.
           aliases=#{}
  	}).
  
  
negative.code:     error({existing_stack_frame,{size,Numy}}).
  
  deallocate(#vst{current=St}=Vst) ->
      Vst#vst{current=St#st{y=gb_trees:empty(),numy=none}}.
  
  init_stack(_Tag, -1, Vst) ->
      Vst;
  