#!/bin/bash cvc4=./cvc4 bench="$1" function runl { limit=$1; shift; ulimit -S -t "$limit";$cvc4 --lang=sygus --no-checking --no-interactive --default-dag-thresh=0 "$@" $bench 2>/dev/null } function trywith { sol=$(runl $@) status=$? if [ $status -ne 134 ]; then echo $sol |& (read result w1 w2; case "$result" in unsat) case "$w1" in "(define-fun") echo "$w1 $w2";cat;exit 0;; esac; exit 1;; esac; exit 1) if [ ${PIPESTATUS[1]} -eq 0 ]; then exit 0; fi fi } function finishwith { $cvc4 --lang=sygus --no-checking --no-interactive --default-dag-thresh=0 "$@" $bench 2>/dev/null | (read result w1; case "$result" in unsat) echo "$w1";cat;exit 0;; esac) } trywith 120 --cegqi-si=all --cegqi-si-abort --decision=internal --cbqi --cbqi-prereg-inst trywith 5 --cegqi-si=none --sygus-crepair-abort finishwith --cegqi-si=none --no-sygus-repair-const