úÎGäportable experimentalSebastian Fischer7Computes Fibonacci numbers. Yields the same results as   fib 0 = 0  fib 1 = 1 ' fib n | n > 1 = fib (n-2) + fib (n-1) ' | n < 0 = (-1)^(1-n) * fib (-n) but more efficiently.  Examples:   ghci> map fib [0..9]  [0,1,1,2,3,5,8,13,21,34]  ghci> map (fib . negate) [0..9]  [0,1,-1,2,-3,5,-8,13,-21,34] $ ghci> length . show $ fib 10000000  2089877 fibonacci-0.2.0.1Data.Numbers.FibonaccifibMatrix upperRight matrixPowersquaretimes