anchor.diff:  	 		% in the module (those that start with bs_start_match2).
   	}).
   
  --ifdef(DEBUG).
  -print_st(#st{x=Xs,y=Ys,numy=NumY,h=H,ct=Ct}) ->
  -    io:format("  #st{x=~p~n"
  -	      "      y=~p~n"
  -	      "      numy=~p,h=~p,ct=~w~n",
  -	      [gb_trees:to_list(Xs),gb_trees:to_list(Ys),NumY,H,Ct]).
  --endif.
  -
   validate_1(Is, Name, Arity, Entry, Ft) ->
       validate_2(labels(Is), Name, Arity, Entry, Ft).
   
   validate_2({Ls1,[{func_info,{atom,Mod},{atom,Name},Arity}=_F|Is]},
   	   Name, Arity, Entry, Ft) ->
  -    lists:foreach(fun (_L) -> ?DBG_FORMAT("  ~p.~n", [{label,_L}]) end, Ls1),
  -    ?DBG_FORMAT("  ~p.~n", [_F]),
       validate_3(labels(Is), Name, Arity, Entry, Mod, Ls1, Ft);
   validate_2({Ls1,Is}, Name, Arity, _Entry, _Ft) ->
       error({{'_',Name,Arity},{first(Is),length(Ls1),illegal_instruction}}).
   
   validate_3({Ls2,Is}, Name, Arity, Entry, Mod, Ls1, Ft) ->
  -    lists:foreach(fun (_L) -> ?DBG_FORMAT("  ~p.~n", [{label,_L}]) end, Ls2),
       Offset = 1 + length(Ls1) + 1 + length(Ls2),
       EntryOK = (Entry =:= undefined) orelse lists:member(Entry, Ls2),
       if
  
positive.code: valfun_1(_I, #vst{current=none}=Vst) ->
      %% Ignore instructions after erlang:error/1,2, which
      %% the original R10B compiler thought would return.
      ?DBG_FORMAT("Ignoring ~p\n", [_I]),
      Vst;
  valfun_1({badmatch,Src}, Vst) ->
      assert_term(Src, Vst),
  
negative.code: 	    error({MFA,Error})
      end;
  valfun([I|Is], MFA, Offset, Vst0) ->
      valfun(Is, MFA, Offset+1,
  	   try
  	       Vst = val_dsetel(I, Vst0),
  