mirror of
https://github.com/Z3Prover/z3
synced 2026-02-20 07:24:40 +00:00
mico-tuning
This commit is contained in:
parent
24d7b05c0d
commit
c6cd25c822
2 changed files with 8 additions and 13 deletions
|
|
@ -240,23 +240,18 @@ namespace recfun {
|
|||
{
|
||||
VERIFY(m_cases.empty() && "cases cannot already be computed");
|
||||
SASSERT(n_vars == m_domain.size());
|
||||
|
||||
TRACEFN("compute cases " << mk_pp(rhs, m));
|
||||
|
||||
unsigned case_idx = 0;
|
||||
|
||||
std::string name("case-");
|
||||
name.append(m_name.str());
|
||||
|
||||
m_vars.append(n_vars, vars);
|
||||
m_rhs = rhs;
|
||||
|
||||
if (!is_macro)
|
||||
for (expr* e : subterms::all(m_rhs))
|
||||
if (is_lambda(e))
|
||||
throw default_exception("recursive definitions with lambdas are not supported");
|
||||
|
||||
|
||||
|
||||
unsigned case_idx = 0;
|
||||
expr_ref_vector conditions(m);
|
||||
m_vars.append(n_vars, vars);
|
||||
m_rhs = rhs;
|
||||
|
||||
// is the function a macro (unconditional body)?
|
||||
if (is_macro || n_vars == 0 || !contains_ite(u, rhs)) {
|
||||
|
|
@ -265,7 +260,6 @@ namespace recfun {
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// analyze control flow of `rhs`, accumulating guards and
|
||||
// rebuilding a `ite`-free RHS on the fly for each path in `rhs`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue