`sig
type t
exception PrecisionOverflow
val approx : Cr.t -> int -> Gmp.Z.t
val msd : Cr.t -> int
val add : Cr.t -> Cr.t -> Cr.t
val neg : Cr.t -> Cr.t
val sub : Cr.t -> Cr.t -> Cr.t
val abs : Cr.t -> Cr.t
val mul : Cr.t -> Cr.t -> Cr.t
val inv : Cr.t -> Cr.t
val div : Cr.t -> Cr.t -> Cr.t
val pow_int : Cr.t -> int -> Cr.t
val root : int -> Cr.t -> Cr.t
val sqrt : Cr.t -> Cr.t
val ln : Cr.t -> Cr.t
val log : base:Cr.t -> Cr.t -> Cr.t
val exp : Cr.t -> Cr.t
val pow : Cr.t -> Cr.t -> Cr.t
val sin : Cr.t -> Cr.t
val cos : Cr.t -> Cr.t
val tan : Cr.t -> Cr.t
val arcsin : Cr.t -> Cr.t
val arccos : Cr.t -> Cr.t
val arctan : Cr.t -> Cr.t
val arctan_reciproqual : int -> Cr.t
val sinh : Cr.t -> Cr.t
val cosh : Cr.t -> Cr.t
val tanh : Cr.t -> Cr.t
val arcsinh : Cr.t -> Cr.t
val arccosh : Cr.t -> Cr.t
val arctanh : Cr.t -> Cr.t
val select : Cr.t -> Cr.t -> Cr.t -> Cr.t
val compare : Cr.t -> Cr.t -> int
val min : Cr.t -> Cr.t -> Cr.t
val max : Cr.t -> Cr.t -> Cr.t
val of_int : int -> Cr.t
val of_z : Gmp.Z.t -> Cr.t
val of_int64 : Stdlib.Int64.t -> Cr.t
val of_float : float -> Cr.t
val to_q : Cr.t -> int -> Gmp.Q.t
val to_float : Cr.t -> int -> float
val to_string : ?radix:int -> Cr.t -> int -> string
val of_string : ?radix:int -> string -> Cr.t
val zero : Cr.t
val one : Cr.t
val two : Cr.t
val e : Cr.t
val ln2 : Cr.t
val pi : Cr.t
val half_pi : Cr.t
val inverse_monotone :
(Cr.t -> Cr.t) -> low:Cr.t -> high:Cr.t -> Cr.t -> Cr.t
val print : Stdlib.Format.formatter -> Cr.t -> unit
val set_print_precision : int -> unit
module Infixes :
sig
val ( +! ) : Cr.t -> Cr.t -> Cr.t
val ( -! ) : Cr.t -> Cr.t -> Cr.t
val ( *! ) : Cr.t -> Cr.t -> Cr.t
val ( /! ) : Cr.t -> Cr.t -> Cr.t
end
end`