(defun squre(x) (* x x)) (defun even?(x) (= (mod x 2) 0)) (defun doublef(x) (+ x x)) (defun half(x) (/ x 2)) ;ex1.17 ;a*b ;1, b is 0 0 ;2, b is even (2a)*(b/2) ;3, b is odd a+(a*(b-1)) (defun multiply-recursive(a b) (cond ( (= b 0) 0) ( (even? b) (multiply (doublef a) (half b))) ( (+ a (multiply a (- b 1))))))Edit in Emacs with Slime and Steel Bank Common Lisp.