numericalDiff :: Fractional a => (a -> a) -> a -> a
numericalDiff f x = (f (x+h) - f (x-h)) / (2*h)
    where h = 1e-4
numericalDiff :: Fractional a => (a -> a) -> a -> a
numericalDiff f x = (f (x+h) - f (x-h)) / (2*h)
    where h = 1e-4
numericalDiff f x = (f (x+h) - f (x-h)) / (2*h)
    where h = 1e-4