;;;-*- Mode:LISP; Package:BENCH-CTAK; Base:10; source-optimizations:t -*-
;;; From the "Dick Gabriel" Benchmark Series.
;;; Enhancements (C) Copyright 1983, Lisp Machine, Inc.

;;;BEGIN
;;;CTAK
(declare 
 #-LISPM (FIXNUM (tak fixnum fixnum fixnum)))

(defun tak (x y z)
 (*catch 'tak (tak1 x y z)))

(defun tak1 (x y z)
       (cond ((not (< y x))	;xy
	      (*throw 'tak z))
	     (t (tak1
		 (*catch 'tak
			 (tak1 (1- x)
			       y
			       z))
		 (*catch 'tak
			 (tak1 (1- y)
			       z
			       x))
		 (*catch 'tak
			 (tak1 (1- z)
			       x
			       y))))))

;(include "timer.lsp")
(timer timit (tak 18. 12. 6.))
;;;END

