(function "tak" (x:int y:int z:int) (if (> x y) (app "tak" [(app "tak" [(- x 1) y z] int) (app "tak" [(- y 1) z x] int) (app "tak" [(- z 1) x y] int)] int) z)) (function "takmain" (dummy: int) (app "tak" [18 12 6] int))