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 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 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 nativeint_of_big_int : BatBig_int.big_int -> nativeint   val int64_of_big_int : BatBig_int.big_int -> int64   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 : string -> 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