Code Review
Compare your solutions
#| BEGIN (Write your solution here) |#
(define (double x)
(* x 2))
(define (halve x)
(/ x 2))
(define (even? n)
(= (remainder n 2) 0))
(define (mul-iter a b)
(define (iter-step n a b)
(cond ((= b 0) n)
((even? b)
(iter-step n (double a) (halve b)))
(else
(iter-step (+ n a) a (- b 1)))))
(iter-step 0 a b))
#| END |#