sig
  val are_comparable :
    Abstract_interp.Comp.t -> Cvalue.V.t -> Cvalue.V.t -> bool
  val forward_binop_int :
    context:Eval.binop_context ->
    logic:bool ->
    typ:Cil_types.typ ->
    Cvalue.V.t -> Cil_types.binop -> Cvalue.V.t -> Cvalue.V.t * Alarmset.t
  val forward_binop_float :
    Fval.kind -> Cvalue.V.t -> Cil_types.binop -> Cvalue.V.t -> Cvalue.V.t
  val forward_unop :
    context:Eval.unop_context ->
    Cil_types.typ -> Cil_types.unop -> Cvalue.V.t -> Cvalue.V.t * Alarmset.t
  val truncate_integer :
    Cil_types.exp ->
    Eval_typ.integer_range -> Cvalue.V.t -> Cvalue.V.t * Alarmset.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_alarms :
    Eval_typ.integer_range ->
    (unit -> Cil_types.exp) -> Cvalue.V.t -> Cvalue.V.t * Alarmset.t
  val cast :
    src_typ:Cil_types.typ ->
    dst_typ:Cil_types.typ ->
    Cil_types.exp -> Cvalue.V.t -> Cvalue.V.t * Alarmset.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
  val restrict_float :
    remove_infinite:bool ->
    Cil_types.fkind -> Cil_types.exp -> Cvalue.V.t -> Cvalue.V.t * Alarmset.t
end