Code Review

Compare your solutions

    #| BEGIN (Write your solution here) |#
(define (double x)
  (* x 2))

(define (halve x)
  (/ x 2))

(define (fast-mul a b)
  (cond ((= b 0) 0)
        ((even? b)
         (double (fast-mul a (halve b))))
        (else
         (+ a (fast-mul a (- b 1))))))
#| END |#