anchor.diff:      {Ccs,St2} = case_clauses(Cls, Env, L, St1),
       [_,Val,Info] = Cvs,
       Arg = c_tuple(Cvs),
  -    Fc = ann_c_clause([L,compiler_generated],   %It is compiler generated
  +    Fc = ann_c_clause(comp_gen_anno(L, St2),    %It is compiler generated
                         [Arg], raise_primop([Info,Val], L, St2)),
       Excp = ann_c_case([L], Arg, Ccs ++ [Fc]),
       {Cvs,Excp,St2}.
  
positive.code:     Omega = c_var(omega),
      Ctrue = ann_c_clause([L], [True], Ctr),
      Cfalse = ann_c_clause([L], [False], Cfa),
      Cfail = ann_c_clause([L,compiler_generated], [Omega], Omega),
      {ann_c_case([L], Cte, [Ctrue,Cfalse,Cfail]),St3}.
  
  %% This produces code which is harder to optimise, strangely enough.
  
negative.code:             {Cb,St4} = comp_body(B, Env1, L, St3),
              {Cvs,St5} = new_c_vars(length(Ces), L, St4),
              Cf = let_fail(Cvs, L, St5),
              {ann_c_case([L], ann_c_values([L], Ces),
                          [ann_c_clause([L], Cps, Cg, Cb),Cf]),
               St5}
      end.
  