sig
  type t = float
  val e : float
  val pi : float
  val two_pi : float
  val pi_div_2 : float
  val pi_div_4 : float
  val inv_pi : float
  val max_sub_float : float
  val min_sub_float : float
  val max_frac_float : float
  val max_int_arith : float
  val deg_of_rad : float -> float
  val rad_of_deg : float -> float
  val wrap_angle : float -> float
  val random : ?min:float -> len:float -> unit -> float
  val srandom : Random.State.t -> ?min:float -> len:float -> unit -> float
  val mix : float -> float -> float -> float
  val step : float -> float -> float
  val smooth_step : float -> float -> float -> float
  val fmax : float -> float -> float
  val fmin : float -> float -> float
  val clamp : min:float -> max:float -> float -> float
  val remap : x0:float -> x1:float -> y0:float -> y1:float -> float -> float
  val round : float -> float
  val int_of_round : float -> int
  val round_dfrac : int -> float -> float
  val round_dsig : int -> float -> float
  val round_zero : eps:float -> float -> float
  val chop : eps:float -> float -> float
  val sign : float -> float
  val sign_bit : float -> bool
  val succ : float -> float
  val pred : float -> float
  val nan : int -> float
  val nan_payload : float -> int
  val is_zero : eps:float -> float -> bool
  val is_nan : float -> bool
  val is_inf : float -> bool
  val is_int : float -> bool
  val equal : float -> float -> bool
  val equal_tol : eps:float -> float -> float -> bool
  val compare : float -> float -> int
  val compare_tol : eps:float -> float -> float -> int
  val to_string : float -> string
  val pp : Format.formatter -> float -> unit
end