egison-3.3.8: sample/tak.egi
(define $tarai
(lambda [$x $y $z]
(if (lte? x y)
y
(tarai (tarai (- x 1) y z)
(tarai (- y 1) z x)
(tarai (- z 1) x y)))))
(test (tarai 1 1 1))
(test (tarai 4 2 1))
(define $tak
(lambda [$x $y $z]
(if (lte? x y)
z
(tak (tak (- x 1) y z)
(tak (- y 1) z x)
(tak (- z 1) x y)))))
(test (tak 1 1 1))
(test (tak 4 2 1))