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 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_alarm : (Cil_types.exp * int option) Rte.alarm_gen
  val signed_shift_assertion :
    (Cil_types.exp * Cil_types.binop * Cil_types.exp * Cil_types.exp)
    Rte.alarm_gen
  val mult_sub_add_assertion :
    (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
end