Skip to content

Commit

Permalink
Test case for Z3Prover/z3#5710 (#42)
Browse files Browse the repository at this point in the history
  • Loading branch information
Thomasb81 authored Dec 16, 2021
1 parent 975a8f7 commit dd3c681
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 0 deletions.
6 changes: 6 additions & 0 deletions regressions/smt2/5710.exepected.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
sat
((PARAM1 19)
(PARAM2 4)
(PARAM3 8)
(PARAM4 32)
(PARAM5 32))
62 changes: 62 additions & 0 deletions regressions/smt2/5710.smt2
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
(declare-fun PARAM4 () Int)
(declare-fun REG1.VALUE.BitWidth () Int)
(declare-fun REG1.VALUE.BitOffset () Int)
(declare-fun PARAM5 () Int)
(declare-fun REG2.VALUE.BitWidth () Int)
(declare-fun REG2.VALUE.BitOffset () Int)
(declare-fun PARAM1 () Int)
(declare-fun REG3.FD1.BitWidth () Int)
(declare-fun REG3.FD1.BitOffset () Int)
(declare-fun PARAM2 () Int)
(declare-fun REG3.FD2.BitWidth () Int)
(declare-fun REG3.FD2.BitOffset () Int)
(declare-fun PARAM3 () Int)
(declare-fun ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitWidth () Int)
(declare-fun ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitOffset () Int)
(assert (= REG1.VALUE.BitWidth PARAM4))
(assert (= REG1.VALUE.BitOffset 0))
(assert (>= REG1.VALUE.BitWidth 0))
(assert (<= REG1.VALUE.BitWidth 32))
(assert (<= (+ REG1.VALUE.BitOffset REG1.VALUE.BitWidth) 32))
(assert (= REG2.VALUE.BitWidth PARAM5))
(assert (= REG2.VALUE.BitOffset 0))
(assert (>= REG2.VALUE.BitWidth 0))
(assert (<= REG2.VALUE.BitWidth 32))
(assert (<= (+ REG2.VALUE.BitOffset REG2.VALUE.BitWidth) 32))
(assert (= REG3.FD1.BitWidth PARAM1))
(assert (= REG3.FD1.BitOffset 1))
(assert (>= REG3.FD1.BitWidth 0))
(assert (= REG3.FD2.BitWidth PARAM2))
(assert (= REG3.FD2.BitOffset 20))
(assert (>= REG3.FD2.BitWidth 0))
(assert (= ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitWidth PARAM3))
(assert (= ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitOffset 24))
(assert (>= ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitWidth 0))
(assert (<= (+ REG3.FD1.BitWidth
REG3.FD2.BitWidth
ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitWidth)
32))
(assert (<= (+ ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitOffset
ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitWidth)
32))
(assert (xor (< (- (+ REG3.FD1.BitOffset REG3.FD1.BitWidth) 1) REG3.FD2.BitOffset)
(< (- (+ REG3.FD2.BitOffset REG3.FD2.BitWidth) 1) REG3.FD1.BitOffset)))
(assert (xor (< (- (+ REG3.FD1.BitOffset REG3.FD1.BitWidth) 1)
ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitOffset)
(< (- (+ ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitOffset
ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitWidth)
1)
REG3.FD1.BitOffset)))
(assert (xor (< (- (+ REG3.FD2.BitOffset REG3.FD2.BitWidth) 1)
ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitOffset)
(< (- (+ ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitOffset
ISBCHK.ISBCHK_ERR_TYPE.DATA_TYPE.BitWidth)
1)
REG3.FD2.BitOffset)))
(maximize PARAM1)
(maximize PARAM3)
(maximize PARAM2)
(maximize PARAM5)
(maximize PARAM4)
(check-sat)
(get-value ( PARAM1 PARAM2 PARAM3 PARAM4 PARAM5))

0 comments on commit dd3c681

Please sign in to comment.