(define (mult-rec a b) (cond ((= b 0) 0) ((even? b) (mult-rec (double a) (halve b))) (else (+ a (mult-rec a (- b 1)))))) (define (mult-iter a b n) (cond ((= b 0) n) ((even? b) (mult-iter (double a) (halve b) n)) (else (mult-iter a (- b 1) (+ a n))))) (define (mult a b) (mult-iter a b 0)) (define (double a) (+ a a)) (define (halve a) (/ a 2))