let deriv = function f -> (function x -> let dx = 1e-7 in (f (x +. dx) -. f (x -. dx)) /. (2.0 *. dx))