f1 n = (-1)^n * fact n / 2^(n+1) fact n = fromIntegral $ product [1..n] dL l = map negate $ zipWith (+) (zipWith (*) (l++[0]) [0..]) (0:l) dLn n = map fromIntegral $ iterate dL [1] !! n tay n = (sum $ zipWith (*) (dLn n) $ map f1 [0..]) / fact (n+1)