Blob


1 (defun double (x)
2 (* x 2))
3 (defun halve (x)
4 (/ x 2))
5 (defun fast-mult (a b)
6 (cond ((= b 0) 0)
7 ((= b 1) a)
8 ((evenp b) (double (fast-mult a (halve b))))
9 (t (+ a (fast-mult a (- b 1))))))