module nfib_nsa // compile with -nsa -h 2000m -gci 2000m (+) :: !Int !Int -> Int (+) a b = code inline { addI } (-) :: !Int !Int -> Int (-) a b = code inline { subI } (<) :: !Int !Int -> Bool (<) a b = code inline { ltI } nfib :: Int -> Int nfib n | n < 2 = 1 = nfib (n-2) + nfib (n-1) + 1 Start = nfib 34