sig
  type big_int = Big_int.big_int
  val zero : BatBig_int.big_int
  val one : BatBig_int.big_int
  val neg : BatBig_int.big_int -> BatBig_int.big_int
  val succ : BatBig_int.big_int -> BatBig_int.big_int
  val pred : BatBig_int.big_int -> BatBig_int.big_int
  val abs : BatBig_int.big_int -> BatBig_int.big_int
  val add : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val sub : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val mul : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val div : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val modulo : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val pow : BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  type t = BatBig_int.big_int
  val ( + ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t
  val ( - ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t
  val ( * ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t
  val ( / ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t
  val ( ** ) : BatBig_int.t -> BatBig_int.t -> BatBig_int.t
  val add_int_big_int : int -> BatBig_int.big_int -> BatBig_int.big_int
  val square_big_int : BatBig_int.big_int -> BatBig_int.big_int
  val sqrt_big_int : BatBig_int.big_int -> BatBig_int.big_int
  val quomod_big_int :
    BatBig_int.big_int ->
    BatBig_int.big_int -> BatBig_int.big_int * BatBig_int.big_int
  val power_int_positive_int : int -> int -> BatBig_int.big_int
  val power_big_int_positive_int :
    BatBig_int.big_int -> int -> BatBig_int.big_int
  val power_int_positive_big_int :
    int -> BatBig_int.big_int -> BatBig_int.big_int
  val power_big_int_positive_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val operations : BatBig_int.t BatNumber.numeric
  val ( -- ) :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int BatEnum.t
  val ( --- ) :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int BatEnum.t
  val compare : BatBig_int.big_int -> BatBig_int.big_int -> int
  val ord : BatBig_int.big_int -> BatBig_int.big_int -> BatOrd.order
  val equal : BatBig_int.big_int -> BatBig_int.big_int -> bool
  val sign_big_int : BatBig_int.big_int -> int
  val compare_big_int : BatBig_int.big_int -> BatBig_int.big_int -> int
  val eq_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool
  val le_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool
  val ge_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool
  val lt_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool
  val gt_big_int : BatBig_int.big_int -> BatBig_int.big_int -> bool
  val max_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val min_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val num_digits_big_int : BatBig_int.big_int -> int
  val num_bits_big_int : BatBig_int.big_int -> int
  val to_string : BatBig_int.big_int -> string
  val string_of_big_int : BatBig_int.big_int -> string
  val of_string : string -> BatBig_int.big_int
  val big_int_of_string : string -> BatBig_int.big_int
  val big_int_of_string_opt : string -> BatBig_int.big_int option
  val to_string_in_binary : BatBig_int.big_int -> string
  val to_string_in_octal : BatBig_int.big_int -> string
  val to_string_in_hexa : BatBig_int.big_int -> string
  val to_string_in_base : int -> BatBig_int.big_int -> string
  val to_string_in_custom_base :
    string -> int -> BatBig_int.big_int -> string
  val big_int_base_default_symbols : string
  val of_int : int -> BatBig_int.big_int
  val big_int_of_int : int -> BatBig_int.big_int
  val is_int_big_int : BatBig_int.big_int -> bool
  val to_int : BatBig_int.big_int -> int
  val int_of_big_int : BatBig_int.big_int -> int
  val int_of_big_int_opt : BatBig_int.big_int -> int option
  val big_int_of_int32 : int32 -> BatBig_int.big_int
  val big_int_of_nativeint : nativeint -> BatBig_int.big_int
  val big_int_of_int64 : int64 -> BatBig_int.big_int
  val int32_of_big_int : BatBig_int.big_int -> int32
  val int32_of_big_int_opt : BatBig_int.big_int -> int32 option
  val nativeint_of_big_int : BatBig_int.big_int -> nativeint
  val nativeint_of_big_int_opt : BatBig_int.big_int -> nativeint option
  val int64_of_big_int : BatBig_int.big_int -> int64
  val int64_of_big_int_opt : BatBig_int.big_int -> int64 option
  val float_of_big_int : BatBig_int.big_int -> float
  val of_float : float -> BatBig_int.big_int
  val to_float : BatBig_int.big_int -> float
  val and_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val or_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val xor_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val shift_left_big_int : BatBig_int.big_int -> int -> BatBig_int.big_int
  val shift_right_big_int : BatBig_int.big_int -> int -> BatBig_int.big_int
  val shift_right_towards_zero_big_int :
    BatBig_int.big_int -> int -> BatBig_int.big_int
  val extract_big_int :
    BatBig_int.big_int -> int -> int -> BatBig_int.big_int
  module Infix :
    sig
      type bat__infix_t = t
      val ( + ) : bat__infix_t -> bat__infix_t -> bat__infix_t
      val ( - ) : bat__infix_t -> bat__infix_t -> bat__infix_t
      val ( * ) : bat__infix_t -> bat__infix_t -> bat__infix_t
      val ( / ) : bat__infix_t -> bat__infix_t -> bat__infix_t
      val ( ** ) : bat__infix_t -> bat__infix_t -> bat__infix_t
      val ( -- ) : bat__infix_t -> bat__infix_t -> bat__infix_t BatEnum.t
      val ( --- ) : bat__infix_t -> bat__infix_t -> bat__infix_t BatEnum.t
    end
  module Compare :
    sig
      type bat__compare_t = t
      val ( <> ) : bat__compare_t -> bat__compare_t -> bool
      val ( >= ) : bat__compare_t -> bat__compare_t -> bool
      val ( <= ) : bat__compare_t -> bat__compare_t -> bool
      val ( > ) : bat__compare_t -> bat__compare_t -> bool
      val ( < ) : bat__compare_t -> bat__compare_t -> bool
      val ( = ) : bat__compare_t -> bat__compare_t -> bool
    end
  val nat_of_big_int : BatBig_int.big_int -> Nat.nat
  val big_int_of_nat : Nat.nat -> BatBig_int.big_int
  val base_power_big_int :
    int -> int -> BatBig_int.big_int -> BatBig_int.big_int
  val sys_big_int_of_string : string -> int -> int -> BatBig_int.big_int
  val round_futur_last_digit : Stdlib.Bytes.t -> int -> int -> bool
  val approx_big_int : int -> BatBig_int.big_int -> string
  val round_big_int_to_float : BatBig_int.big_int -> bool -> float
  val zero_big_int : BatBig_int.big_int
  val unit_big_int : BatBig_int.big_int
  val minus_big_int : BatBig_int.big_int -> BatBig_int.big_int
  val abs_big_int : BatBig_int.big_int -> BatBig_int.big_int
  val add_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val succ_big_int : BatBig_int.big_int -> BatBig_int.big_int
  val sub_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val pred_big_int : BatBig_int.big_int -> BatBig_int.big_int
  val mult_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val mult_int_big_int : int -> BatBig_int.big_int -> BatBig_int.big_int
  val div_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val mod_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val gcd_big_int :
    BatBig_int.big_int -> BatBig_int.big_int -> BatBig_int.big_int
  val print : 'BatIO.output -> BatBig_int.t -> unit
end