sig
  type t = Bdd.t array
  val lnot : Bddreg.t -> Bddreg.t
  val shift_left : Manager.t -> int -> Bddreg.t -> Bddreg.t * Bdd.t
  val shift_right : Manager.t -> int -> Bddreg.t -> Bddreg.t * Bdd.t
  val shift_right_logical : Manager.t -> int -> Bddreg.t -> Bddreg.t * Bdd.t
  val extend : Manager.t -> signed:bool -> int -> Bddreg.t -> Bddreg.t
  val succ : Manager.t -> Bddreg.t -> Bddreg.t * Bdd.t
  val pred : Manager.t -> Bddreg.t -> Bddreg.t * Bdd.t
  val add : Manager.t -> Bddreg.t -> Bddreg.t -> Bddreg.t * Bdd.t * Bdd.t
  val sub : Manager.t -> Bddreg.t -> Bddreg.t -> Bddreg.t * Bdd.t * Bdd.t
  val neg : Bddreg.t -> Bddreg.t
  val scale : int -> Bddreg.t -> Bddreg.t
  val ite : Bdd.t -> Bddreg.t -> Bddreg.t -> Bddreg.t
  val is_cst : Bddreg.t -> bool
  val zero : Manager.t -> Bddreg.t -> Bdd.t
  val equal : Manager.t -> Bddreg.t -> Bddreg.t -> Bdd.t
  val greatereq : Manager.t -> Bddreg.t -> Bddreg.t -> Bdd.t
  val greater : Manager.t -> Bddreg.t -> Bddreg.t -> Bdd.t
  val highereq : Manager.t -> Bddreg.t -> Bddreg.t -> Bdd.t
  val higher : Manager.t -> Bddreg.t -> Bddreg.t -> Bdd.t
  val min_size : int -> int
  val of_int : Manager.t -> int -> int -> Bddreg.t
  val to_int : signed:bool -> Bddreg.t -> int
  val equal_int : Manager.t -> Bddreg.t -> int -> Bdd.t
  val greatereq_int : Manager.t -> Bddreg.t -> int -> Bdd.t
  val greater_int : Manager.t -> Bddreg.t -> int -> Bdd.t
  val highereq_int : Manager.t -> Bddreg.t -> int -> Bdd.t
  val higher_int : Manager.t -> Bddreg.t -> int -> Bdd.t
  module Minterm :
    sig
      type t = Manager.tbool array
      val is_indet : Bddreg.Minterm.t -> bool
      val of_int : int -> int -> Bddreg.Minterm.t
      val to_int : signed:bool -> Bddreg.Minterm.t -> int
      val iter : (Bddreg.Minterm.t -> unit) -> Bddreg.Minterm.t -> unit
      val map : (Bddreg.Minterm.t -> 'a) -> Bddreg.Minterm.t -> 'a list
    end
  val guard_of_minterm : Manager.t -> Bddreg.t -> Bddreg.Minterm.t -> Bdd.t
  val guard_of_int : Manager.t -> Bddreg.t -> int -> Bdd.t
  val guardints : Manager.t -> signed:bool -> Bddreg.t -> (Bdd.t * int) list
  val print : (int -> string) -> Format.formatter -> Bddreg.t -> unit
  val print_minterm :
    signed:bool ->
    (Format.formatter -> Bdd.t -> unit) ->
    Format.formatter -> Bddreg.t -> unit
end