sig
  type t = F of float | I of int | I64 of Int64.t
  val compare : Nbr.t -> Nbr.t -> int
  val is_greater : Nbr.t -> Nbr.t -> bool
  val is_smaller : Nbr.t -> Nbr.t -> bool
  val is_equal : Nbr.t -> Nbr.t -> bool
  val add : Nbr.t -> Nbr.t -> Nbr.t
  val sub : Nbr.t -> Nbr.t -> Nbr.t
  val mult : Nbr.t -> Nbr.t -> Nbr.t
  val internal_div : Nbr.t -> Nbr.t -> Nbr.t
  val rem : Nbr.t -> Nbr.t -> Nbr.t
  val pow : Nbr.t -> Nbr.t -> Nbr.t
  val min : Nbr.t -> Nbr.t -> Nbr.t
  val max : Nbr.t -> Nbr.t -> Nbr.t
  val succ : Nbr.t -> Nbr.t
  val pred : Nbr.t -> Nbr.t
  val neg : Nbr.t -> Nbr.t
  val to_float : Nbr.t -> float option
  val to_int : Nbr.t -> int
  val zero : Nbr.t
  val is_zero : Nbr.t -> bool
  val one : Nbr.t
  val is_strictly_positive : Nbr.t -> bool
  val print : Format.formatter -> Nbr.t -> unit
  val pretty_print : Format.formatter -> Nbr.t -> unit
  val print_option : Format.formatter -> Nbr.t -> unit
  val iteri : (Nbr.t -> '-> 'a) -> '-> Nbr.t -> 'a
  val maybe_iteri : (Nbr.t -> '-> 'a option) -> '-> Nbr.t -> 'a
  val to_string : Nbr.t -> string
  val of_string : string -> Nbr.t
  val to_yojson : Nbr.t -> Yojson.Basic.json
  val of_yojson : Yojson.Basic.json -> Nbr.t
  val write_t : Bi_outbuf.t -> Nbr.t -> unit
  val string_of_t : ?len:int -> Nbr.t -> string
  val read_t : Yojson.Safe.lexer_state -> Lexing.lexbuf -> Nbr.t
  val t_of_string : string -> Nbr.t
  val of_un_alg_op : Operator.un_alg_op -> Nbr.t -> Nbr.t
  val of_bin_alg_op : Operator.bin_alg_op -> Nbr.t -> Nbr.t -> Nbr.t
  val of_compare_op : Operator.compare_op -> Nbr.t -> Nbr.t -> bool
end