(defun tak (x y z)
  (if (not (< y x))
      z
      (tak (tak (1- x) y z)
           (tak (1- y) z x)
           (tak (1- z) x y))))

(defun dotak ()
  (tak 18 12 6))


syntax highlighted by Code2HTML, v. 0.9.1