sig
  module Precisions :
    sig
      type t = Simple | Double | Long_Double | Real
      val pretty : Format.formatter -> Numerors_utils.Precisions.t -> unit
      val of_fkind : Cil_types.fkind -> Numerors_utils.Precisions.t
      val get : Numerors_utils.Precisions.t -> int
      val exponent : Numerors_utils.Precisions.t -> int
      val denormalized : Numerors_utils.Precisions.t -> int
      val compare :
        Numerors_utils.Precisions.t -> Numerors_utils.Precisions.t -> int
      val eq :
        Numerors_utils.Precisions.t -> Numerors_utils.Precisions.t -> bool
      val max :
        Numerors_utils.Precisions.t ->
        Numerors_utils.Precisions.t -> Numerors_utils.Precisions.t
      val min :
        Numerors_utils.Precisions.t ->
        Numerors_utils.Precisions.t -> Numerors_utils.Precisions.t
    end
  module Sign :
    sig
      type t = Positive | Negative
      val pretty : Format.formatter -> Numerors_utils.Sign.t -> unit
      val of_int : int -> Numerors_utils.Sign.t
      val compare : Numerors_utils.Sign.t -> Numerors_utils.Sign.t -> int
      val eq : Numerors_utils.Sign.t -> Numerors_utils.Sign.t -> bool
      val neg : Numerors_utils.Sign.t -> Numerors_utils.Sign.t
      val mul :
        Numerors_utils.Sign.t ->
        Numerors_utils.Sign.t -> Numerors_utils.Sign.t
      val is_pos : Numerors_utils.Sign.t -> bool
      val is_neg : Numerors_utils.Sign.t -> bool
    end
  module Rounding :
    sig
      type t = Up | Down | Near
      val pretty : Format.formatter -> Numerors_utils.Rounding.t -> unit
      val eq : Numerors_utils.Rounding.t -> Numerors_utils.Rounding.t -> bool
    end
  module Mode :
    sig
      type t =
          Abs_From_Rel
        | Rel_From_Abs
        | No_Interaction
        | With_Interactions
      val get : unit -> Numerors_utils.Mode.t
    end
end