diff --git a/src/sat/sat_aig_cuts.cpp b/src/sat/sat_aig_cuts.cpp index fba07cc28..a5e3e84e1 100644 --- a/src/sat/sat_aig_cuts.cpp +++ b/src/sat/sat_aig_cuts.cpp @@ -300,7 +300,7 @@ namespace sat { lit = lit.sign() ? ~to_root[lit.var()] : to_root[lit.var()]; } } - if (changed) { + if (changed && (n.is_and() || n.is_xor())) { std::sort(m_literals.c_ptr() + n.offset(), m_literals.c_ptr() + n.offset() + n.num_children()); } } diff --git a/src/sat/sat_cutset.h b/src/sat/sat_cutset.h index 361e0c889..b9142e7f5 100644 --- a/src/sat/sat_cutset.h +++ b/src/sat/sat_cutset.h @@ -13,6 +13,8 @@ #pragma once #include "util/region.h" +#include "util/debug.h" +#include namespace sat {