3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-13 12:28:44 +00:00

Bugfix for FPA UFs

This commit is contained in:
Christoph M. Wintersteiger 2015-10-08 14:14:39 +01:00
parent c787ea1a3b
commit 883514c195

View file

@ -81,11 +81,16 @@ struct fpa2bv_rewriter_cfg : public default_rewriter_cfg {
if (f->get_family_id() == null_family_id) {
if (num == 0) {
if (m_conv.is_float(f->get_range()))
if (m_conv.is_float(f->get_range())) {
m_conv.mk_const(f, result);
else if (m_conv.is_rm(f->get_range()))
return BR_DONE;
}
else if (m_conv.is_rm(f->get_range())) {
m_conv.mk_rm_const(f, result);
return BR_DONE;
return BR_DONE;
}
else
return BR_FAILED;
}
else {
bool is_float_uf = m_conv.is_float(f->get_range()) || m_conv.is_rm(f->get_range());
@ -95,11 +100,13 @@ struct fpa2bv_rewriter_cfg : public default_rewriter_cfg {
is_float_uf |= m_conv.is_float(di) || m_conv.is_rm(di);
}
if (is_float_uf)
if (is_float_uf) {
m_conv.mk_uninterpreted_function(f, num, args, result);
return BR_DONE;
}
return BR_DONE;
}
else
return BR_FAILED;
}
}
if (m().is_eq(f)) {