anchor.diff:      forward([I|Is], D, Lc, Acc);
   forward([{test,is_nil,_,[Dst]}=I,{move,nil,Dst}|Is], D, Lc, Acc) ->
       forward([I|Is], D, Lc, Acc);
  -forward([{test,is_eq_exact,_,[_,{atom,_}]}=I|Is], D, Lc, [{label,_}|_]=Acc) ->
  +forward([{test,is_eq_exact,_,_}=I|Is], D, Lc, Acc) ->
       case Is of
   	[{label,_}|_] -> forward(Is, D, Lc, [I|Acc]);
   	_ -> forward(Is, D, Lc+1, [{label,Lc},I|Acc])
       end;
  -forward([{test,is_ne_exact,_,[_,{atom,_}]}=I|Is], D, Lc, [{label,_}|_]=Acc) ->
  +forward([{test,is_ne_exact,_,_}=I|Is], D, Lc, Acc) ->
       case Is of
   	[{label,_}|_] -> forward(Is, D, Lc, [I|Acc]);
   	_ -> forward(Is, D, Lc+1, [{label,Lc},I|Acc])
  
positive.code: 	     _Code ->
  		 To2
  	 end,
      I = {test,Op,{f,To},Ops0},
      backward(Is, D, [I|Acc]);
  backward([{test,Op,{f,To0},Live,Ops0,Dst}|Is], D, Acc) ->
      To1 = shortcut_bs_test(To0, Is, D),
  
negative.code:     To = shortcut_bs_start_match(To0, Src, D),
      I = {test,bs_start_match2,{f,To},Live,Info,Dst},
      backward(Is, D, [I|Acc]);
  backward([{test,is_eq_exact,{f,To0},[Reg,{atom,Val}]=Ops}|Is], D, Acc) ->
      To1 = shortcut_bs_test(To0, Is, D),
      To = shortcut_fail_label(To1, Reg, Val, D),
      I = combine_eqs(To, Ops, D, Acc),
      backward(Is, D, [I|Acc]);
  backward([{test,Op,{f,To0},Ops0}|Is], D, Acc) ->
      To1 = shortcut_bs_test(To0, Is, D),
  