diff options
author | Clark Barrett <barrett@cs.nyu.edu> | 2012-06-11 11:43:55 +0000 |
---|---|---|
committer | Clark Barrett <barrett@cs.nyu.edu> | 2012-06-11 11:43:55 +0000 |
commit | 022a5e927ecab4f217b3f26529b09e569bd35d94 (patch) | |
tree | 2d0ddd6a9e3c34d249b369df44c6b393147fc22f /src | |
parent | 15396a6a276baac5773905651f3fb66c3b675919 (diff) |
Fixed bug 352
Diffstat (limited to 'src')
-rw-r--r-- | src/theory/unconstrained_simplifier.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/theory/unconstrained_simplifier.cpp b/src/theory/unconstrained_simplifier.cpp index 70be74442..b310de425 100644 --- a/src/theory/unconstrained_simplifier.cpp +++ b/src/theory/unconstrained_simplifier.cpp @@ -665,8 +665,10 @@ void UnconstrainedSimplifier::processUnconstrained() // back-substitution and cache-invalidation. So we do these last. while (!delayQueueLeft.empty()) { left = delayQueueLeft.back(); - right = d_substitutions.apply(delayQueueRight.back()); - d_substitutions.addSubstitution(delayQueueLeft.back(), right, true, true, false); + if (!d_substitutions.hasSubstitution(left)) { + right = d_substitutions.apply(delayQueueRight.back()); + d_substitutions.addSubstitution(delayQueueLeft.back(), right, true, true, false); + } delayQueueLeft.pop_back(); delayQueueRight.pop_back(); } |