diff --git a/src/math/lp/nla_core.cpp b/src/math/lp/nla_core.cpp index 4380b940b..4b38dcd52 100644 --- a/src/math/lp/nla_core.cpp +++ b/src/math/lp/nla_core.cpp @@ -166,7 +166,9 @@ bool core::check_monic(const monic& m) const { if (!is_relevant(m.var())) return true; #endif - SASSERT((!m_lar_solver.column_is_int(m.var())) || m_lar_solver.get_column_value(m.var()).is_int()); + if (m_lar_solver.column_is_int(m.var()) && m_lar_solver.get_column_value(m.var()).is_int()) + return true; + bool ret = product_value(m) == m_lar_solver.get_column_value(m.var()).x; CTRACE("nla_solver_check_monic", !ret, print_monic(m, tout) << '\n';); return ret;