sig
  type 'a alarm_gen =
      remove_trivial:bool ->
      on_alarm:(?status:Property_status.emitted_status ->
                Alarms.alarm -> unit) ->
      '-> unit
  val lval_assertion :
    read_only:Alarms.access_kind -> Cil_types.lval Rte.alarm_gen
  val lval_initialized_assertion : Cil_types.lval Rte.alarm_gen
  val divmod_assertion : Cil_types.exp Rte.alarm_gen
  val signed_div_assertion :
    (Cil_types.exp * Cil_types.exp * Cil_types.exp) Rte.alarm_gen
  val shift_width_assertion : (Cil_types.exp * int option) Rte.alarm_gen
  val shift_overflow_assertion :
    signed:bool ->
    (Cil_types.exp * Cil_types.binop * Cil_types.exp * Cil_types.exp)
    Rte.alarm_gen
  val mult_sub_add_assertion :
    signed:bool ->
    (Cil_types.exp * Cil_types.binop * Cil_types.exp * Cil_types.exp)
    Rte.alarm_gen
  val uminus_assertion : Cil_types.exp Rte.alarm_gen
  val signed_downcast_assertion :
    (Cil_types.typ * Cil_types.exp) Rte.alarm_gen
  val unsigned_downcast_assertion :
    (Cil_types.typ * Cil_types.exp) Rte.alarm_gen
  val float_to_int_assertion : (Cil_types.typ * Cil_types.exp) Rte.alarm_gen
  val finite_float_assertion :
    (Cil_types.fkind * Cil_types.exp) Rte.alarm_gen
  val pointer_call : Cil_types.exp Rte.alarm_gen
end