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: 
  gb_trees_from_list(L) -> gb_trees:from_orddict(lists:sort(L)).
  
  -ifdef(DEBUG).
  error(Error) -> exit(Error).
  -else.
  error(Error) -> throw(Error).
  -endif.
  
negative.code: -include("beam_disasm.hrl").
  
  -import(lists, [reverse/1,foldl/3,foreach/2,dropwhile/2]).
  
  %% To be called by the compiler.
  module({Mod,Exp,Attr,Fs,Lc}=Code, _Opts)
  