#size #a #b (((((a #a.size #a @(b:(Word a.size)) (Word a.size)) #b Word.e) #a.size #a.pred #b (((((b #b.size #b @(a.pred:(Word (Nat.pred b.size))) (Word b.size)) #a.pred Word.e) #b.size #b.pred #a.pred ((Word.o b.size) (((Word.xor b.size) a.pred) b.pred))) #b.size #b.pred #a.pred ((Word.i b.size) (((Word.xor b.size) a.pred) b.pred))) a.pred)) #a.size #a.pred #b (((((b #b.size #b @(a.pred:(Word (Nat.pred b.size))) (Word b.size)) #a.pred Word.e) #b.size #b.pred #a.pred ((Word.i b.size) (((Word.xor b.size) a.pred) b.pred))) #b.size #b.pred #a.pred ((Word.o b.size) (((Word.xor b.size) a.pred) b.pred))) a.pred)) b)