{"action":"created","issue":{"url":"https://api.github.com/repos/Z3Prover/z3/issues/194","labels_url":"https://api.github.com/repos/Z3Prover/z3/issues/194/labels{/name}","comments_url":"https://api.github.com/repos/Z3Prover/z3/issues/194/comments","events_url":"https://api.github.com/repos/Z3Prover/z3/issues/194/events","html_url":"https://github.com/Z3Prover/z3/issues/194","id":101188278,"number":194,"title":"Really slow QF_AUFBV SMT2 example (150 - 4500 times slower than other solvers)","user":{"login":"cliffordwolf","id":619764,"avatar_url":"https://avatars.githubusercontent.com/u/619764?v=3","gravatar_id":"","url":"https://api.github.com/users/cliffordwolf","html_url":"https://github.com/cliffordwolf","followers_url":"https://api.github.com/users/cliffordwolf/followers","following_url":"https://api.github.com/users/cliffordwolf/following{/other_user}","gists_url":"https://api.github.com/users/cliffordwolf/gists{/gist_id}","starred_url":"https://api.github.com/users/cliffordwolf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cliffordwolf/subscriptions","organizations_url":"https://api.github.com/users/cliffordwolf/orgs","repos_url":"https://api.github.com/users/cliffordwolf/repos","events_url":"https://api.github.com/users/cliffordwolf/events{/privacy}","received_events_url":"https://api.github.com/users/cliffordwolf/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Z3Prover/z3/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2015-08-15T16:32:28Z","updated_at":"2015-08-26T08:39:06Z","closed_at":"2015-08-25T20:24:26Z","body":"I have an SMT2 file using the QF_AUFBV logic that is very, very slow with z3 compared to the performance of other solvers. This is the first step of an incremental proof and compared to the rest of the proof (not included in the file) it is trivially `unsat`. Here are the runtimes in seconds I get for different solvers for this file on my machine (from best to worst performance):\r\n\r\n| Command Line | Seconds |\r\n| ---- | --- |\r\n| yices-smt2 --incremental debug.smt2 | 0.061 |\r\n| cvc4 --incremental --lang smt2 debug.smt2 | 0.634 |\r\n| mathsat debug.smt2 | 1.792 |\r\n| z3 -smt2 debug.smt2 | 279.336 |\r\n\r\nHere is the test case: http://scratch.clifford.at/debug_a0db1fe2853c33be36ad83cc76ef0a3d.smt2\r\n\r\n(That file will stay online for a minimum of 6 months before being removed automatically.)\r\n\r\nThis is with git head of the z3 master branch, running on Linux and built with gcc."},"comment":{"url":"https://api.github.com/repos/Z3Prover/z3/issues/comments/134899011","html_url":"https://github.com/Z3Prover/z3/issues/194#issuecomment-134899011","issue_url":"https://api.github.com/repos/Z3Prover/z3/issues/194","id":134899011,"user":{"login":"cliffordwolf","id":619764,"avatar_url":"https://avatars.githubusercontent.com/u/619764?v=3","gravatar_id":"","url":"https://api.github.com/users/cliffordwolf","html_url":"https://github.com/cliffordwolf","followers_url":"https://api.github.com/users/cliffordwolf/followers","following_url":"https://api.github.com/users/cliffordwolf/following{/other_user}","gists_url":"https://api.github.com/users/cliffordwolf/gists{/gist_id}","starred_url":"https://api.github.com/users/cliffordwolf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cliffordwolf/subscriptions","organizations_url":"https://api.github.com/users/cliffordwolf/orgs","repos_url":"https://api.github.com/users/cliffordwolf/repos","events_url":"https://api.github.com/users/cliffordwolf/events{/privacy}","received_events_url":"https://api.github.com/users/cliffordwolf/received_events","type":"User","site_admin":false},"created_at":"2015-08-26T08:39:06Z","updated_at":"2015-08-26T08:39:06Z","body":"Thanks!\r\n\r\njfyi: I can now run this proof for a non-trivial number of steps. My current SMT2 file for that is:\r\nhttp://scratch.clifford.at/debug_32e17b7492c9057df667d5c1781cdada.smt2\r\n\r\nFor this SMT2 file z3 takes 1279 times longer than Yices and 4.7 times longer than CVC4:\r\n\r\n| Command | Seconds |\r\n| ---- | --- |\r\n| Yices | 1.7 |\r\n| MathSAT | 92 |\r\n| CVC4 | 458 |\r\n| Z3 | 2175 |\r\n\r\nShould I keep reporting cases like this? And what is the best way to report them?\r\n\r\n(This are experiments that should, hopefully, lead to a publication about a methodology for BMC of digital circuits (Verilog designs), that includes a comparison of the performance of different solvers for the type of problem generated by our method.)"}}