-
Notifications
You must be signed in to change notification settings - Fork 1.5k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Performance difference between solvers #7134
Comments
no configuration at the moment. It may be as simple as detecting that
where F is a formula context, A an array, I an index, and E an element. For your formula I are all constant indices, E are disjoint extracts into a bit-vector that isn't used elsewhere. |
Thanks for the feedback, I will implement this pre-processing at ESBMC level then and check if it gives us the same performance boost then. |
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
ehm, this was not as complicated. Z3 has an inefficiency when handling large stores with constant offsets. |
Many thanks, @NikolajBjorner. |
At ESBMC we noticed a benchmark with a huge difference between exporting SMT2 from Boolector and Z3 (esbmc/esbmc#1698). Specifically, Boolector took 5s and I could not reach a solution with Z3 under 5min. Also, extracting the boolector formula and feeding it to Z3 gave the same performance (<5s).
Could you please advise whether there is a configuration to make Z3 have a similar performance?
z3-flat.txt
btor-formula.txt
The text was updated successfully, but these errors were encountered: