sig
  type 'a tt = 'Mpfr.tt
  type t = Mpfr.f Mpfrf.tt
  val to_mpfr : Mpfrf.t -> 'Mpfr.tt
  val of_mpfr : 'Mpfr.tt -> 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.tt -> Mpfr.round -> Mpfrf.t
  val of_mpz2 : 'Mpz.tt -> 'Mpz.tt -> Mpfr.round -> Mpfrf.t
  val of_mpq : 'Mpq.tt -> 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.tt -> 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val add_int : 'Mpfrf.tt -> int -> Mpfr.round -> Mpfrf.t
  val sub : 'Mpfrf.tt -> 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val sub_int : 'Mpfrf.tt -> int -> Mpfr.round -> Mpfrf.t
  val mul : 'Mpfrf.tt -> 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val mul_ui : 'Mpfrf.tt -> int -> Mpfr.round -> Mpfrf.t
  val ui_div : int -> 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val div : 'Mpfrf.tt -> 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val div_ui : 'Mpfrf.tt -> int -> Mpfr.round -> Mpfrf.t
  val sqrt : 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val ui_pow : int -> 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val pow : 'Mpfrf.tt -> 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val pow_int : 'Mpfrf.tt -> int -> Mpfr.round -> Mpfrf.t
  val neg : 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val abs : 'Mpfrf.tt -> Mpfr.round -> Mpfrf.t
  val equal : 'Mpfrf.tt -> 'Mpfrf.tt -> bits:int -> bool
  val cmp : 'Mpfrf.tt -> 'Mpfrf.tt -> int
  val cmp_int : 'Mpfrf.tt -> int -> int
  val sgn : 'Mpfrf.tt -> int
  val nan_p : 'Mpfrf.tt -> bool
  val inf_p : 'Mpfrf.tt -> bool
  val number_p : 'Mpfrf.tt -> bool
end