full-adder added by anonymous on Sat Feb 28 01:36:19 2015
(define (full-adder a b c)
(let*-values (((half-adder) (lambda (a b)
(let* ((oc (and a b))
(o (and (or a b)
(not oc))))
(values o oc))))
((o1 oc1) (half-adder a b))
((o oc2) (half-adder o1 c)))
(values o (or oc1 oc2))))