anchor.diff:      end;
   opt_not_in_let(Let) -> Let.
   
  -%% opt_not_in_let(Vs, Arg, Body) -> {Vs',Arg',Body'}
  -%%  Try to optimize away a 'not' operator in a 'let'.
  -
  --spec opt_not_in_let([cerl:c_var()], cerl:cerl(), cerl:cerl()) ->
  -			    {[cerl:c_var()],cerl:cerl(),cerl:cerl()}.
  -
  -opt_not_in_let([#c_var{name=V}]=Vs0, Arg0, Body0) ->
  +opt_not_in_let_0([#c_var{name=V}]=Vs0, Arg0, Body0) ->
       case cerl:type(Body0) of
   	call ->
   	    %% let <V> = Expr in not V  ==>
  
positive.code: -spec opt_not_in_let(cerl:c_let()) -> cerl:cerl().
  
  opt_not_in_let(#c_let{vars=[_]=Vs0,arg=Arg0,body=Body0}=Let) ->
      case opt_not_in_let(Vs0, Arg0, Body0) of
  	{[],#c_values{es=[]},Body} ->
  	    Body;
  	{Vs,Arg,Body} ->
  
negative.code: 	    end;
  	_ ->
  	    {Vs0,Arg0,Body0}
      end.
  
  opt_not_in_let_1(V, Call, Body) ->
      case Call of
  