sig
  type internal
  type t
  external manager_alloc : unit -> Oct.t Apron.Manager.t
    = "camlidl_oct_oct_manager_alloc"
  external manager_get_internal : Oct.t Apron.Manager.t -> Oct.internal
    = "camlidl_oct_manager_get_internal"
  external of_generator_array :
    Oct.t Apron.Manager.t ->
    int -> int -> Apron.Generator0.t array -> Oct.t Apron.Abstract0.t
    = "camlidl_oct_ap_abstract0_oct_of_generator_array"
  external widening_thresholds :
    Oct.t Apron.Manager.t ->
    Oct.t Apron.Abstract0.t ->
    Oct.t Apron.Abstract0.t ->
    Apron.Scalar.t array -> Oct.t Apron.Abstract0.t
    = "camlidl_oct_ap_abstract0_oct_widening_thresholds"
  external narrowing :
    Oct.t Apron.Manager.t ->
    Oct.t Apron.Abstract0.t ->
    Oct.t Apron.Abstract0.t -> Oct.t Apron.Abstract0.t
    = "camlidl_oct_ap_abstract0_oct_narrowing"
  external add_epsilon :
    Oct.t Apron.Manager.t ->
    Oct.t Apron.Abstract0.t -> Apron.Scalar.t -> Oct.t Apron.Abstract0.t
    = "camlidl_oct_ap_abstract0_oct_add_epsilon"
  external add_epsilon_bin :
    Oct.t Apron.Manager.t ->
    Oct.t Apron.Abstract0.t ->
    Oct.t Apron.Abstract0.t -> Apron.Scalar.t -> Oct.t Apron.Abstract0.t
    = "camlidl_oct_ap_abstract0_oct_add_epsilon_bin"
  val pre_widening : int
  val manager_is_oct : 'Apron.Manager.t -> bool
  val manager_of_oct : Oct.t Apron.Manager.t -> 'Apron.Manager.t
  val manager_to_oct : 'Apron.Manager.t -> Oct.t Apron.Manager.t
  module Abstract0 :
    sig
      val is_oct : 'Apron.Abstract0.t -> bool
      val of_oct : Oct.t Apron.Abstract0.t -> 'Apron.Abstract0.t
      val to_oct : 'Apron.Abstract0.t -> Oct.t Apron.Abstract0.t
    end
  module Abstract1 :
    sig
      val is_oct : 'Apron.Abstract1.t -> bool
      val of_oct : Oct.t Apron.Abstract1.t -> 'Apron.Abstract1.t
      val to_oct : 'Apron.Abstract1.t -> Oct.t Apron.Abstract1.t
    end
end