sig
  type t =
      NoOffset of Cil_types.typ
    | Index of Cil_types.exp option * Int_val.t * Cil_types.typ *
        Abstract_offset.t
    | Field of Cil_types.fieldinfo * Abstract_offset.t
  val pretty : Stdlib.Format.formatter -> Abstract_offset.t -> unit
  val of_var_address : Cil_types.varinfo -> Abstract_offset.t
  val of_cil_offset :
    (Cil_types.exp -> Int_val.t) ->
    Cil_types.typ ->
    Cil_types.offset -> Abstract_offset.t Lattice_bounds.or_top
  val of_ival :
    base_typ:Cil_types.typ ->
    typ:Cil_types.typ -> Ival.t -> Abstract_offset.t Lattice_bounds.or_top
  val of_term_offset :
    Cil_types.typ ->
    Cil_types.term_offset -> Abstract_offset.t Lattice_bounds.or_top
  val is_singleton : Abstract_offset.t -> bool
  val references : Abstract_offset.t -> Cil_datatype.Varinfo.Set.t
  val append : Abstract_offset.t -> Abstract_offset.t -> Abstract_offset.t
  val join :
    Abstract_offset.t ->
    Abstract_offset.t -> Abstract_offset.t Lattice_bounds.or_top
  val add_index :
    (Cil_types.exp -> Int_val.t) ->
    Abstract_offset.t ->
    Cil_types.exp -> Abstract_offset.t Lattice_bounds.or_top
end