anchor.diff:      [{test,select_type_test(Type),{f,Tf},[R]},
        {test,is_eq_exact,{f,Vf},[R,{Type,Val}]}|Sis];
   select_val_cg(Type, R, Vls0, Tf, Vf, Sis) ->
  -    Vls1 = map(fun ({f,_Lbl} = F) -> F;
  -		   (Value) -> {Type,Value}
  -	       end, Vls0),
  +    Vls1 = [case Value of {f,_Lbl} -> Value; _ -> {Type,Value} end || Value <- Vls0],
       [{test,select_type_test(Type),{f,Tf},[R]}, {select_val,R,{f,Vf},{list,Vls1}}|Sis].
       
   select_type_test(integer) -> is_integer;
  
positive.code: 	  stk=clear_dead_stk(Sr#sr.stk, Until, Vdb)}.
  
  clear_dead_reg(Sr, Until, Vdb) ->
      Reg = map(fun ({_I,V} = IV) ->
  		      case vdb_find(V, Vdb) of
  			  {V,_,L} when L > Until -> IV;
  			  _ -> free		%Remove anything else
  		      end;
  		  ({reserved,_I,_V} = Reserved) -> Reserved;
  		  (free) -> free
  	      end, Sr#sr.reg),
      reserve(Sr#sr.res, Reg, Sr#sr.stk).
  
  clear_dead_stk(Stk, Until, Vdb) ->
      map(fun ({V} = T) ->
  		case vdb_find(V, Vdb) of
  		    {V,_,L} when L > Until -> T;
  		    _ -> dead			%Remove anything else
  		end;
  	    (free) -> free;
  	    (dead) -> dead
  	end, Stk).
  
  %% sr_merge(Sr1, Sr2) -> Sr.
  %%  Merge two stack/register states keeping the longest of both stack
  
negative.code: 				  St2#cg{bfail=Pfail}),
      %%ok = io:fwrite("cg ~w: ~p~n", [?LINE,{Rs,I,Vdb,Aft}]),
      %% Set return values to false.
      Mis = [{move,{atom,false},fetch_var(V,Aft)}||{var,V} <- Rs],
      {Tis ++ [{jump,{f,Psucc}},
  	     {label,Pfail}] ++ Mis ++ [{label,Psucc}],
       Aft,St3#cg{bfail=St0#cg.bfail}}.    
  