Hi Owen,
> + // (icmp ne (A& C1) 0)& (icmp ne (A& C2), 0) -->
missing comma before first 0.
> + // select (or (A == 0) (B == 0)) T, F--> select (and (A != 0) (B != 0)) F, T
Here you use a different style ("or" rather than | etc).
Ciao,
Duncan.