sig
  type big_int = Big_int.big_int
  val zero_big_int : Reins.Types.Big_int.big_int
  val unit_big_int : Reins.Types.Big_int.big_int
  val minus_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val abs_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val add_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val succ_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val add_int_big_int :
    int -> Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val sub_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val pred_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val mult_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val mult_int_big_int :
    int -> Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val square_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val sqrt_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val quomod_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int * Reins.Types.Big_int.big_int
  val div_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val mod_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val gcd_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val power_int_positive_int : int -> int -> Reins.Types.Big_int.big_int
  val power_big_int_positive_int :
    Reins.Types.Big_int.big_int -> int -> Reins.Types.Big_int.big_int
  val power_int_positive_big_int :
    int -> Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val power_big_int_positive_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val sign_big_int : Reins.Types.Big_int.big_int -> int
  val compare_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> int
  val eq_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> bool
  val le_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> bool
  val ge_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> bool
  val lt_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> bool
  val gt_big_int :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> bool
  val max_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val min_big_int :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val num_digits_big_int : Reins.Types.Big_int.big_int -> int
  val string_of_big_int : Reins.Types.Big_int.big_int -> string
  val big_int_of_string : string -> Reins.Types.Big_int.big_int
  val big_int_of_int : int -> Reins.Types.Big_int.big_int
  val is_int_big_int : Reins.Types.Big_int.big_int -> bool
  val int_of_big_int : Reins.Types.Big_int.big_int -> int
  val float_of_big_int : Reins.Types.Big_int.big_int -> float
  val nat_of_big_int : Reins.Types.Big_int.big_int -> Nat.nat
  val big_int_of_nat : Nat.nat -> Reins.Types.Big_int.big_int
  val base_power_big_int :
    int -> int -> Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val sys_big_int_of_string :
    string -> int -> int -> Reins.Types.Big_int.big_int
  val round_futur_last_digit : string -> int -> int -> bool
  val approx_big_int : int -> Reins.Types.Big_int.big_int -> string
  type t = Reins.Types.Big_int.big_int
  val equal :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> bool
  val compare :
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int -> bool
  val hash : '-> int
  val gen : ?size:'-> Random.State.t -> Big_int.big_int
  val zero : Reins.Types.Big_int.big_int
  val one : Reins.Types.Big_int.big_int
  val minus_one : Reins.Types.Big_int.big_int
  val abs : Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val neg : Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val succ : Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val pred : Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val add :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val sub :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val mul :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val div :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val rem :
    Reins.Types.Big_int.big_int ->
    Reins.Types.Big_int.big_int -> Reins.Types.Big_int.big_int
  val of_int : '-> int -> Reins.Types.Big_int.big_int
  val to_int : '-> Reins.Types.Big_int.big_int -> int
  val of_float : float -> Reins.Types.Big_int.big_int
  val to_float : Reins.Types.Big_int.big_int -> float
  val to_string : Reins.Types.Big_int.big_int -> string
  val of_string : string -> Reins.Types.Big_int.big_int
end