#!/bin/bash
-cvc4=./cvc4
+# Attempt to run each benchmark 1-5 min depending on numconfigs
+# quanitifers get 5 min / benchmark
+# quantifier free uf, arith, arrays get 1 min / benchmark
+# qf_bv gets 1 min wall (2 min user) / benchmark
+
+cvc4=./cvc4-assertions
bench="$1"
logic=$(expr "$(grep -m1 '^[^;]*set-logic' "$bench")" : ' *(set-logic *\([A-Z_]*\) *) *$')
case "$logic" in
QF_LRA)
- trywith 200 --enable-miplib-trick --miplib-trick-subs=4 --use-approx --lemmas-on-replay-failure --replay-early-close-depth=4 --replay-lemma-reject-cut=128 --replay-reject-cut=512 --unconstrained-simp --use-soi
+ trywith 30 --enable-miplib-trick --miplib-trick-subs=4 --use-approx --lemmas-on-replay-failure --replay-early-close-depth=4 --replay-lemma-reject-cut=128 --replay-reject-cut=512 --unconstrained-simp --use-soi
finishwith --no-restrict-pivots --use-soi --new-prop --unconstrained-simp
;;
QF_LIA)
;;
ALIA|AUFLIA|AUFLIRA|AUFNIRA|BV|UF|UFBV|UFIDL|UFLIA|UFLRA|UFNIA)
# the following is designed for a run time of 1800s.
- # initial runs 1min
- trywith 20 --simplification=none --full-saturate-quant
- trywith 20 --finite-model-find
- trywith 20 --no-e-matching --full-saturate-quant
- # trigger selections/special 1min
+ # initial runs 1min (30)
+ trywith 10 --simplification=none --full-saturate-quant
+ trywith 10 --finite-model-find
+ trywith 10 --no-e-matching --full-saturate-quant
+ # trigger selections/special 1min (60)
trywith 10 --multi-trigger-when-single --full-saturate-quant
trywith 10 --trigger-sel=max --full-saturate-quant
trywith 10 --relevant-triggers --full-saturate-quant
trywith 10 --multi-trigger-when-single --multi-trigger-priority --full-saturate-quant
trywith 10 --trigger-sel=min --full-saturate-quant
trywith 10 --qcf-tconstraint --full-saturate-quant
- # medium runs 5min
- trywith 30 --no-quant-cf --full-saturate-quant
- trywith 30 --finite-model-find --fmf-inst-engine --sort-inference --uf-ss-fair --mbqi=gen-ev
- trywith 30 --no-e-matching --no-quant-cf --full-saturate-quant
- trywith 30 --pre-skolem-quant --full-saturate-quant
- trywith 30 --no-inst-no-entail --no-quant-cf --full-saturate-quant
- trywith 30 --finite-model-find --mbqi=gen-ev --uf-ss-totality
- trywith 30 --inst-when=full --full-saturate-quant
- trywith 30 --fmf-bound-int --macros-quant
- trywith 30 --decision=internal --simplification=none --no-inst-no-entail --no-quant-cf --full-saturate-quant
- trywith 30 --decision=justification-stoponly --full-saturate-quant
+ # medium runs 5min (20*10 = 200)
+ trywith 10 --no-quant-cf --full-saturate-quant
+ trywith 10 --finite-model-find --fmf-inst-engine --sort-inference --uf-ss-fair --mbqi=gen-ev
+ trywith 10 --no-e-matching --no-quant-cf --full-saturate-quant
+ trywith 10 --pre-skolem-quant --full-saturate-quant
+ trywith 10 --no-inst-no-entail --no-quant-cf --full-saturate-quant
+ trywith 10 --finite-model-find --mbqi=gen-ev --uf-ss-totality
+ trywith 10 --inst-when=full --full-saturate-quant
+ trywith 10 --fmf-bound-int --macros-quant
+ trywith 10 --decision=internal --simplification=none --no-inst-no-entail --no-quant-cf --full-saturate-quant
+ trywith 10 --decision=justification-stoponly --full-saturate-quant
# large runs 3min
- trywith 60 --term-db-mode=relevant --full-saturate-quant
- trywith 60 --finite-model-find --mbqi=none
- trywith 60 --decision=internal --full-saturate-quant
+ trywith 10 --term-db-mode=relevant --full-saturate-quant
+ trywith 10 --finite-model-find --mbqi=none
+ trywith 10 --decision=internal --full-saturate-quant
# last call runs 20min
- trywith 300 --finite-model-find --fmf-inst-engine --quant-cf --sort-inference --uf-ss-fair
- trywith 300 --no-inst-no-entail --full-saturate-quant
+ trywith 20 --finite-model-find --fmf-inst-engine --quant-cf --sort-inference --uf-ss-fair
+ trywith 20 --no-inst-no-entail --full-saturate-quant
finishwith --full-saturate-quant
;;
LIA|LRA|NIA|NRA)
- trywith 60 --cbqi --no-cbqi-sat --full-saturate-quant
- trywith 60 --full-saturate-quant
- trywith 60 --cbqi --no-cbqi-sat --cbqi-recurse --full-saturate-quant
- trywith 180 --qcf-tconstraint --full-saturate-quant
- trywith 240 --cbqi --no-cbqi-sat --cbqi-recurse --full-saturate-quant
+ trywith 30 --cbqi --no-cbqi-sat --full-saturate-quant
+ trywith 30 --full-saturate-quant
+ trywith 30 --cbqi --no-cbqi-sat --cbqi-recurse --full-saturate-quant
+ trywith 30 --qcf-tconstraint --full-saturate-quant
+ trywith 30 --cbqi --no-cbqi-sat --cbqi-recurse --full-saturate-quant
finishwith --cbqi --no-cbqi-sat --cbqi-recurse --pre-skolem-quant --full-saturate-quant
;;
QF_AUFBV)
- trywith 600
+ trywith 30
finishwith --decision=justification-stoponly
;;
QF_ABV)