Skip to content

Commit a06d62f

Browse files
committed
Show before/after lowering in smt2 decision procedure debug output
To make it easier to debug the changes made by lowering operations.
1 parent e27f585 commit a06d62f

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

src/solvers/smt2_incremental/smt2_incremental_decision_procedure.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -515,12 +515,12 @@ void smt2_incremental_decision_proceduret::set_to(
515515
const exprt &in_expr,
516516
bool value)
517517
{
518-
const exprt lowered_expr = lower(in_expr);
519-
PRECONDITION(can_cast_type<bool_typet>(lowered_expr.type()));
520518
log.conditional_output(log.debug(), [&](messaget::mstreamt &debug) {
521519
debug << "`set_to` (" << std::string{value ? "true" : "false"} << ") -\n "
522-
<< lowered_expr.pretty(2, 0) << messaget::eom;
520+
<< in_expr.pretty(2, 0) << messaget::eom;
523521
});
522+
const exprt lowered_expr = lower(in_expr);
523+
PRECONDITION(can_cast_type<bool_typet>(lowered_expr.type()));
524524

525525
define_dependent_functions(lowered_expr);
526526
auto converted_term = [&]() -> smt_termt {
@@ -590,7 +590,13 @@ void smt2_incremental_decision_proceduret::define_object_properties()
590590

591591
exprt smt2_incremental_decision_proceduret::lower(exprt expression)
592592
{
593-
return struct_encoding.encode(lower_byte_operators(expression, ns));
593+
const exprt lowered =
594+
struct_encoding.encode(lower_byte_operators(expression, ns));
595+
log.conditional_output(log.debug(), [&](messaget::mstreamt &debug) {
596+
if(lowered != expression)
597+
debug << "lowered to -\n " << lowered.pretty(2, 0) << messaget::eom;
598+
});
599+
return lowered;
594600
}
595601

596602
decision_proceduret::resultt smt2_incremental_decision_proceduret::dec_solve()

0 commit comments

Comments
 (0)