summaryrefslogtreecommitdiff
path: root/test/regress/regress1/sygus/hd-19-d1-prog-dup-op.sy
blob: 089a8f11f1684e76cf4793df5b0cc2209a609e38 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
; EXPECT: unsat
; COMMAND-LINE: --lang=sygus2 --cegqi-si=all --sygus-out=status

(set-logic BV)

(define-fun hd19 ((x (_ BitVec 32)) (m (_ BitVec 32)) (k (_ BitVec 32))) (_ BitVec 32)
	(bvxor x (bvxor (bvshl (bvand (bvxor (bvlshr x k) x) m) k) (bvand (bvxor (bvlshr x k) x) m))))

; bvand is a duplicate
(synth-fun f ((x (_ BitVec 32)) (m (_ BitVec 32)) (k (_ BitVec 32))) (_ BitVec 32)
			((Start (_ BitVec 32)))
			((Start (_ BitVec 32) ((bvand Start Start)
								(bvsub Start Start)
								(bvxor Start Start)
								(bvor Start Start)
								(bvand Start Start)
								(bvshl Start Start)
								(bvlshr Start Start)
								(bvashr Start Start)
								(bvnot Start)
								(bvneg Start)
								x
								m
								k))))


(declare-var x (_ BitVec 32))
(declare-var m (_ BitVec 32))
(declare-var k (_ BitVec 32))

(constraint (= (hd19 x m k) (f x m k)))
(check-synth)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback