sig
  val equal : My_bigint.t -> My_bigint.t -> bool
  val compare : My_bigint.t -> My_bigint.t -> int
  val le : My_bigint.t -> My_bigint.t -> bool
  val ge : My_bigint.t -> My_bigint.t -> bool
  val lt : My_bigint.t -> My_bigint.t -> bool
  val gt : My_bigint.t -> My_bigint.t -> bool
  val add : My_bigint.t -> My_bigint.t -> My_bigint.t
  val sub : My_bigint.t -> My_bigint.t -> My_bigint.t
  val mul : My_bigint.t -> My_bigint.t -> My_bigint.t
  val native_div : My_bigint.t -> My_bigint.t -> My_bigint.t
  val rem : My_bigint.t -> My_bigint.t -> My_bigint.t
  val pos_div : My_bigint.t -> My_bigint.t -> My_bigint.t
  val c_div : My_bigint.t -> My_bigint.t -> My_bigint.t
  val c_rem : My_bigint.t -> My_bigint.t -> My_bigint.t
  val cast :
    size:My_bigint.t -> signed:bool -> value:My_bigint.t -> My_bigint.t
  val abs : My_bigint.t -> My_bigint.t
  val one : My_bigint.t
  val two : My_bigint.t
  val four : My_bigint.t
  val onethousand : My_bigint.t
  val minus_one : My_bigint.t
  val is_zero : My_bigint.t -> bool
  val is_one : My_bigint.t -> bool
  val pgcd : My_bigint.t -> My_bigint.t -> My_bigint.t
  val ppcm : My_bigint.t -> My_bigint.t -> My_bigint.t
  val min : My_bigint.t -> My_bigint.t -> My_bigint.t
  val max : My_bigint.t -> My_bigint.t -> My_bigint.t
  val length : My_bigint.t -> My_bigint.t -> My_bigint.t
  val of_int : int -> My_bigint.t
  val of_float : float -> My_bigint.t
  val of_int64 : Int64.t -> My_bigint.t
  val to_int64 : My_bigint.t -> int64
  val to_int : My_bigint.t -> int
  val to_float : My_bigint.t -> float
  val neg : My_bigint.t -> My_bigint.t
  val succ : My_bigint.t -> My_bigint.t
  val pred : My_bigint.t -> My_bigint.t
  val round_up_to_r :
    min:My_bigint.t -> r:My_bigint.t -> modu:My_bigint.t -> My_bigint.t
  val round_down_to_r :
    max:My_bigint.t -> r:My_bigint.t -> modu:My_bigint.t -> My_bigint.t
  val pos_rem : My_bigint.t -> My_bigint.t -> My_bigint.t
  val shift_left : My_bigint.t -> My_bigint.t -> My_bigint.t
  val shift_right : My_bigint.t -> My_bigint.t -> My_bigint.t
  val logand : My_bigint.t -> My_bigint.t -> My_bigint.t
  val logor : My_bigint.t -> My_bigint.t -> My_bigint.t
  val logxor : My_bigint.t -> My_bigint.t -> My_bigint.t
  val lognot : My_bigint.t -> My_bigint.t
  val power_two : int -> My_bigint.t
  val two_power : My_bigint.t -> My_bigint.t
  val extract_bits :
    start:My_bigint.t -> stop:My_bigint.t -> My_bigint.t -> My_bigint.t
  val small_nums : My_bigint.t array
  val zero : My_bigint.t
  val eight : My_bigint.t
  val thirtytwo : My_bigint.t
  val div : My_bigint.t -> My_bigint.t -> My_bigint.t
  val billion_one : My_bigint.t
  val hash : My_bigint.t -> int
  val shift_right_logical : My_bigint.t -> My_bigint.t -> My_bigint.t
  val max_int64 : My_bigint.t
  val min_int64 : My_bigint.t
  val bits_of_max_float : My_bigint.t
  val bits_of_most_negative_float : My_bigint.t
  val of_string : string -> My_bigint.t
  val to_string : My_bigint.t -> string
  val add_2_64 : My_bigint.t -> My_bigint.t
  val is_even : My_bigint.t -> bool
  val round_down_to_zero : My_bigint.t -> My_bigint.t -> My_bigint.t
  val power_int_positive_int : int -> int -> My_bigint.t
  val to_num : My_bigint.t -> Num.num
  val popcount : My_bigint.t -> int
end