sig
  type t = float
  val zero : float
  val one : float
  val neg : float -> float
  val succ : float -> float
  val pred : float -> float
  val abs : float -> float
  val add : float -> float -> float
  val sub : float -> float -> float
  val mul : float -> float -> float
  val div : float -> float -> float
  val modulo : float -> float -> float
  val pow : float -> float -> float
  val min_num : float
  val max_num : float
  val compare : '-> '-> int
  val of_int : int -> float
  val to_int : float -> int
  external of_float : float -> float = "%identity"
  external to_float : float -> float = "%identity"
  val of_string : string -> float
  val to_string : float -> string
  val ( + ) :
    BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t
  val ( - ) :
    BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t
  val ( * ) :
    BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t
  val ( / ) :
    BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t
  val ( ** ) :
    BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> BatFloat.Safe_float.t
  val ( <> ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> bool
  val ( >= ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> bool
  val ( <= ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> bool
  val ( > ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> bool
  val ( < ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> bool
  val ( = ) : BatFloat.Safe_float.t -> BatFloat.Safe_float.t -> bool
  val operations : BatFloat.Safe_float.t BatNumber.numeric
  val exp : float -> float
  val log : float -> float
  val log10 : float -> float
  val cos : float -> float
  val sin : float -> float
  val tan : float -> float
  val acos : float -> float
  val asin : float -> float
  val atan : float -> float
  val atan2 : float -> float -> float
  val cosh : float -> float
  val sinh : float -> float
  val tanh : float -> float
  val ceil : float -> float
  val floor : float -> float
  val infinity : float
  val neg_infinity : float
  val nan : float
  val is_nan : float -> bool
  val epsilon : float
  val pi : float
  val frexp : float -> float * int
  val ldexp : float -> int -> float
  val modf : float -> float * float
  type fpkind =
    Pervasives.fpclass =
      FP_normal
    | FP_subnormal
    | FP_zero
    | FP_infinite
    | FP_nan
  external classify : float -> BatFloat.Safe_float.fpkind
    = "caml_classify_float"
  val print : 'BatInnerIO.output -> BatFloat.Safe_float.t -> unit
  val t_printer : BatFloat.Safe_float.t BatValue_printer.t
end