1 USING: math kernel hints prettyprint io combinators ;
2 IN: benchmark.recursive
7 [ [ 1 - fib ] [ 2 - fib ] bi + ] if ; inline recursive
11 { [ over zero? ] [ nip 1 + ] }
12 { [ dup zero? ] [ drop 1 - 1 ack ] }
13 [ [ drop 1 - ] [ 1 - ack ] 2bi ack ]
14 } cond ; inline recursive
25 ] if ; inline recursive
28 [ 3 swap ack . flush ]
29 [ 27.0 + fib . flush ]
30 [ 1 - [ 3 * ] [ 2 * ] [ ] tri tak . flush ] tri
32 3.0 2.0 1.0 tak . flush ;
34 HINTS: recursive fixnum ;
36 : recursive-benchmark ( -- ) 10 recursive ;
38 MAIN: recursive-benchmark