sig
  type t = Mpfr.t
  val to_mpfr : Mpfrf.t -> Mpfr.t
  val of_mpfr : Mpfr.t -> Mpfrf.t
  val mpfr : Mpfrf.t -> Mpfr.t
  val mpfrf : Mpfr.t -> Mpfrf.t
  val print : Format.formatter -> Mpfrf.t -> unit
  val of_string : string -> Mpfr.round -> Mpfrf.t
  val of_float : float -> Mpfr.round -> Mpfrf.t
  val of_int : int -> Mpfr.round -> Mpfrf.t
  val of_frac : int -> int -> Mpfr.round -> Mpfrf.t
  val of_mpz : Mpz.t -> Mpfr.round -> Mpfrf.t
  val of_mpz2 : Mpz.t -> Mpz.t -> Mpfr.round -> Mpfrf.t
  val of_mpzf : Mpzf.t -> Mpfr.round -> Mpfrf.t
  val of_mpzf2 : Mpzf.t -> Mpzf.t -> Mpfr.round -> Mpfrf.t
  val of_mpq : Mpq.t -> Mpfr.round -> Mpfrf.t
  val of_mpqf : Mpqf.t -> Mpfr.round -> Mpfrf.t
  val to_string : Mpfrf.t -> string
  val to_float : ?round:Mpfr.round -> Mpfrf.t -> float
  val to_mpqf : Mpfrf.t -> Mpqf.t
  val add : Mpfrf.t -> Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val add_int : Mpfrf.t -> int -> Mpfr.round -> Mpfrf.t
  val sub : Mpfrf.t -> Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val sub_int : Mpfrf.t -> int -> Mpfr.round -> Mpfrf.t
  val mul : Mpfrf.t -> Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val mul_ui : Mpfrf.t -> int -> Mpfr.round -> Mpfrf.t
  val ui_div : int -> Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val div : Mpfrf.t -> Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val div_ui : Mpfrf.t -> int -> Mpfr.round -> Mpfrf.t
  val sqrt : Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val ui_pow : int -> Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val pow : Mpfrf.t -> Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val pow_int : Mpfrf.t -> int -> Mpfr.round -> Mpfrf.t
  val neg : Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val abs : Mpfrf.t -> Mpfr.round -> Mpfrf.t
  val equal : Mpfrf.t -> Mpfrf.t -> bits:int -> bool
  val cmp : Mpfrf.t -> Mpfrf.t -> int
  val cmp_int : Mpfrf.t -> int -> int
  val sgn : Mpfrf.t -> int
  val nan_p : Mpfrf.t -> bool
  val inf_p : Mpfrf.t -> bool
  val number_p : Mpfrf.t -> bool
end