sig
  val are_comparable :
    Abstract_interp.Comp.t -> Cvalue.V.t -> Cvalue.V.t -> bool
  val assume_non_zero : Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
  val assume_bounded :
    Abstract_value.bound_kind ->
    Abstract_value.bound -> Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
  val assume_not_nan :
    assume_finite:bool ->
    Cil_types.fkind -> Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
  val assume_pointer : Cvalue.V.t -> Cvalue.V.t Abstract_value.truth
  val assume_comparable :
    Abstract_value.pointer_comparison ->
    Cvalue.V.t ->
    Cvalue.V.t -> (Cvalue.V.t * Cvalue.V.t) Abstract_value.truth
  val forward_binop_int :
    typ:Cil_types.typ ->
    Cvalue.V.t -> Cil_types.binop -> Cvalue.V.t -> Cvalue.V.t
  val forward_binop_float :
    Fval.kind -> Cvalue.V.t -> Cil_types.binop -> Cvalue.V.t -> Cvalue.V.t
  val forward_unop :
    Cil_types.typ -> Cil_types.unop -> Cvalue.V.t -> Cvalue.V.t
  val rewrap_integer : Eval_typ.integer_range -> Cvalue.V.t -> Cvalue.V.t
  val reinterpret : Cil_types.typ -> Cvalue.V.t -> Cvalue.V.t
  val cast_float_to_int : Eval_typ.integer_range -> Cvalue.V.t -> Cvalue.V.t
  val forward_cast :
    src_type:Eval_typ.scalar_typ ->
    dst_type:Eval_typ.scalar_typ -> Cvalue.V.t -> Cvalue.V.t
  val make_volatile : ?typ:Cil_types.typ -> Cvalue.V.t -> Cvalue.V.t
  val eval_float_constant :
    float -> Cil_types.fkind -> string option -> Cvalue.V.t
end