1#ifndef ESBMC_IREP2_SIMPLIFICATION_CHECK_H
2#define ESBMC_IREP2_SIMPLIFICATION_CHECK_H
55#ifdef ENABLE_SIMPLIFIER_EQUIVALENCE_CHECK
68#ifdef ENABLE_SIMPLIFIER_EQUIVALENCE_CHECK
85#ifdef ENABLE_SIMPLIFIER_EQUIVALENCE_CHECK
Base class for all expressions.
Definition irep2.h:725
expr2tc clone() const
Definition irep2_expr.cpp:455
bool is_nil_expr(const expr2tc &exp)
Definition irep2.h:916
irep_container< expr2t > expr2tc
Definition irep2.h:431
Definition simplification_check.h:45
void run(const expr2tc &before, const expr2tc &after)
Definition simplification_check.cpp:25
Debug-mode guard on the expression simplifier (esbmc/esbmc#4625).
Definition simplification_check.h:33
void install(checkert checker)
Definition simplification_check.cpp:15
void clear()
Uninstall, restoring the inert default.
Definition simplification_check.cpp:20
void verify_rewrite(const expr2tc &before, const expr2tc &after)
Consult the installed checker.
Definition simplification_check.h:53
void verify_rewrite_or_node(const expr2tc &before, const expr2t &node, const expr2tc &after)
As above, for a caller that holds the rewritten node in a container only sometimes – a nil before mea...
Definition simplification_check.h:80
void verify_node_rewrite(const expr2t &before, const expr2tc &after)
As above, where the rewritten node exists only as this.
Definition simplification_check.h:66
std::function< void(const expr2tc &before, const expr2tc &after)> checkert
Called for every rewrite the simplifier performs.
Definition simplification_check.h:36