sig
  type integer_ty = private Gmp | C_type of Cil_types.ikind | Other
  val pretty : Format.formatter -> Typing.integer_ty -> unit
  val gmp : Typing.integer_ty
  val c_int : Typing.integer_ty
  val ikind : Cil_types.ikind -> Typing.integer_ty
  val other : Typing.integer_ty
  exception Not_an_integer
  val typ_of_integer_ty : Typing.integer_ty -> Cil_types.typ
  val join : Typing.integer_ty -> Typing.integer_ty -> Typing.integer_ty
  val type_term :
    use_gmp_opt:bool -> ?ctx:Typing.integer_ty -> Cil_types.term -> unit
  val type_named_predicate : ?must_clear:bool -> Cil_types.predicate -> unit
  val clear : unit -> unit
  val get_integer_ty : Cil_types.term -> Typing.integer_ty
  val get_integer_op : Cil_types.term -> Typing.integer_ty
  val get_integer_op_of_predicate : Cil_types.predicate -> Typing.integer_ty
  val get_typ : Cil_types.term -> Cil_types.typ
  val get_op : Cil_types.term -> Cil_types.typ
  val get_cast : Cil_types.term -> Cil_types.typ option
  val get_cast_of_predicate : Cil_types.predicate -> Cil_types.typ option
  val unsafe_set :
    Cil_types.term -> ?ctx:Typing.integer_ty -> Typing.integer_ty -> unit
  val compute_quantif_guards_ref :
    (Cil_types.predicate ->
     Cil_types.logic_var list ->
     Cil_types.predicate ->
     (Cil_types.term * Cil_types.relation * Cil_types.logic_var *
      Cil_types.relation * Cil_types.term)
     list)
    Pervasives.ref
end