(defun re (x) (car x)) (defun im (x) (cdr x)) (defun complex (x y) (cons x y)) (defun c+ (x y) (complex (+ (re x) (re y)) (+ (im x) (im y)))) (defun c- (x y) (complex (- (re x) (re y)) (- (im x) (im y)))) (defun cc (x) (complex (re x) (- (im x)))) (defun cabs2 (x) (+ (* (re x) (re x)) (* (im x) (im x)))) (defun c* (x y) (complex (- (* (re x) (re y)) (* (im x) (im y))) (+ (* (re x) (im y)) (* (im x) (re y))))) (defun c/ (x y) (let ((num (c* x (cc y))) (denom (cabs2 y))) (complex (/ (re num) denom) (/ (im num) denom))))