sig
  type kind = GOLDENSECTION | BRENT
  type t
  val make :
    Min.kind -> Fun.gsl_fun -> min:float -> lo:float -> up:float -> Min.t
  external name : Min.t -> string = "ml_gsl_min_fminimizer_name"
  external iterate : Min.t -> unit = "ml_gsl_min_fminimizer_iterate"
  external minimum : Min.t -> float = "ml_gsl_min_fminimizer_x_minimum"
  external interval : Min.t -> float * float
    = "ml_gsl_min_fminimizer_x_interv"
  external test_interval :
    x_lo:float -> x_up:float -> epsabs:float -> epsrel:float -> bool
    = "ml_gsl_min_test_interval"
end