: fib ( n -- n' ) dup 2 > [ { 1 2 } [ - fib ] with map sum ] when ;