(define (MULT a b)
(define (iter b c)
(if (= b 0)
c
(iter (- b 1) (+ c 1))))
(iter b 1))
(define (double x) (* 2 x))
(define (halve x) (/ x 2))
(define (fastmult a b)
(define (iter a b c)
(cond ((= b 0) c)
((even? b) (iter a (halve b) (+ c 1)))
(else (iter a (- b 1) (+ c 1)))))
(iter a b 1))