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