In SubsumptionTableEntry::subsumed() remove quantification in case the body of a quantified query expression has no constraint with both bound and non-bound variables.
This resolves #288. For basic/arraysimple5.c for fp-examples, there is a reduction in subsumption count from 17 with tracer-x/klee@bf6461a3edc074016f4173d72a3cea699352c841 to 14 with this PR, but the space traversed decreased from 307 instructions to only 195 instructions. There are increases in subsumption counts for basic/regexp_iterative.c and basic/sp.c.
In
SubsumptionTableEntry::subsumed()
remove quantification in case the body of a quantified query expression has no constraint with both bound and non-bound variables.This resolves #288. For
basic/arraysimple5.c
forfp-examples
, there is a reduction in subsumption count from 17 with tracer-x/klee@bf6461a3edc074016f4173d72a3cea699352c841 to 14 with this PR, but the space traversed decreased from 307 instructions to only 195 instructions. There are increases in subsumption counts forbasic/regexp_iterative.c
andbasic/sp.c
.make check
succeeds.