(define (double a)
(+ a a))
(define (halve a)
(/ a 2))
(define (mult a b)
(mult-iter a b 0))
(define (mult-iter a b product)
(cond ((= b 0) product)
((even? b) (mult-iter (double a)
(halve b)
product))
((odd? b) (mult-iter a
(- b 1)
(+ a product)))))
(mult 123 124)