diff --git a/UnitTests/sat/ALL/cdiv_crem_congr.smt2 b/UnitTests/sat/ALL/cdiv_crem_congr.smt2
index 8ca3f8d7695c21f114724b2a95ad2abdc9bdab3a..bf5516fadcf32eb94f2e641fb349cba3f3f5e2fd 100644
--- a/UnitTests/sat/ALL/cdiv_crem_congr.smt2
+++ b/UnitTests/sat/ALL/cdiv_crem_congr.smt2
@@ -1,10 +1,9 @@
 (set-logic ALL)
 (set-info :smt-lib-version 2.6)
-(set-info :status sat)
 
 (declare-const a Int)
 (declare-const b Int)
-;(assert (= a b))
+
 (assert
   (= (+ (- b a) 1)
      (+ (- (+ (colibri_cdiv (- b 1) 8) 1)
diff --git a/UnitTests/sat/QF_ABVFP/query.017.smt2 b/UnitTests/sat/QF_ABVFP/query.017.smt2
deleted file mode 100644
index 32b31e51af9e50fd877b4c37eec0a45b62cb6900..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.017.smt2
+++ /dev/null
@@ -1,61 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_exp_loop.c.x86_64/query.017.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ((_ to_fp 11 53) roundNearestTiesToEven ?x19) ((_ to_fp 11 53) (_ bv4457293557087583675 64)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1343554297 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (or (fp.isNaN ?x19) (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1065353216 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1056964608 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.gt ((_ to_fp 8 24) (_ bv1048576000 32)) ?x19)))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.gt ((_ to_fp 8 24) (_ bv1040187392 32)) ?x19)))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.gt ((_ to_fp 8 24) (_ bv1031798784 32)) ?x19)))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.gt ((_ to_fp 8 24) (_ bv1023410176 32)) ?x19)))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(not (fp.gt ((_ to_fp 8 24) (_ bv1015021568 32)) ?x19))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.018.smt2 b/UnitTests/sat/QF_ABVFP/query.018.smt2
deleted file mode 100644
index f448b19e71e3f53083e67a39c38e650764838ced..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.018.smt2
+++ /dev/null
@@ -1,61 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_exp_loop.c.x86_64/query.018.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ((_ to_fp 11 53) roundNearestTiesToEven ?x19) ((_ to_fp 11 53) (_ bv4457293557087583675 64)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1343554297 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1065353216 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1073741824 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1082130432 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1090519040 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1098907648 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(not (not (fp.gt ((_ to_fp 8 24) (_ bv1107296256 32)) ?x19)))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.026.smt2 b/UnitTests/sat/QF_ABVFP/query.026.smt2
deleted file mode 100644
index 9a77d169efef8920eaf431e5aa18b37390be16c6..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.026.smt2
+++ /dev/null
@@ -1,99 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.026.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float_10 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_22 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_33 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x20))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1098907648 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv2147483648 32)) ?x19)))
- (not (fp.isNaN ?x28)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv2147483648 32)) ?x19)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.gt ?x40 ?x28))))))))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_22 (_ bv1 32)) (select symbolic_0_float_22 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_22 (_ bv3 32)) (concat (select symbolic_0_float_22 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.geq ?x51 ((_ to_fp 8 24) (_ bv3271557120 32)))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_22 (_ bv1 32)) (select symbolic_0_float_22 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_22 (_ bv3 32)) (concat (select symbolic_0_float_22 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.leq ?x51 ((_ to_fp 8 24) (_ bv1124073472 32)))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x61 (concat (select symbolic_0_float_33 (_ bv1 32)) (select symbolic_0_float_33 (_ bv0 32)))))
- (let ((?x65 (concat (select symbolic_0_float_33 (_ bv3 32)) (concat (select symbolic_0_float_33 (_ bv2 32)) ?x61))))
- (let ((?x66 ((_ to_fp 8 24) ?x65)))
- (fp.geq ?x66 ?x20))))))
-(assert
- (let ((?x61 (concat (select symbolic_0_float_33 (_ bv1 32)) (select symbolic_0_float_33 (_ bv0 32)))))
- (let ((?x65 (concat (select symbolic_0_float_33 (_ bv3 32)) (concat (select symbolic_0_float_33 (_ bv2 32)) ?x61))))
- (let ((?x66 ((_ to_fp 8 24) ?x65)))
- (fp.leq ?x66 ((_ to_fp 8 24) (_ bv1098907648 32)))))))
-(assert
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.geq ?x39 ((_ to_fp 8 24) (_ bv3271557120 32)))))))
-(assert
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.leq ?x39 ((_ to_fp 8 24) (_ bv1124073472 32)))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.isNaN ?x40))))))))
-(assert
- (let ((?x61 (concat (select symbolic_0_float_33 (_ bv1 32)) (select symbolic_0_float_33 (_ bv0 32)))))
-(let ((?x65 (concat (select symbolic_0_float_33 (_ bv3 32)) (concat (select symbolic_0_float_33 (_ bv2 32)) ?x61))))
-(let ((?x66 ((_ to_fp 8 24) ?x65)))
-(let ((?x76 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv2147483648 32)) ?x66)))
-(let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
-(let ((?x46 (concat (select symbolic_0_float_22 (_ bv1 32)) (select symbolic_0_float_22 (_ bv0 32)))))
-(let ((?x50 (concat (select symbolic_0_float_22 (_ bv3 32)) (concat (select symbolic_0_float_22 (_ bv2 32)) ?x46))))
-(let ((?x51 ((_ to_fp 8 24) ?x50)))
-(let ((?x74 (fp.sub roundNearestTiesToEven ?x51 (fp.sub roundNearestTiesToEven ?x20 ?x19))))
-(not (or (or (fp.isNaN ?x74) (fp.isNaN ?x76)) (fp.gt ?x74 ?x76))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.029.smt2 b/UnitTests/sat/QF_ABVFP/query.029.smt2
deleted file mode 100644
index ddefd52c5d4f42eea1c87ed7b2ad9777bbc80d84..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.029.smt2
+++ /dev/null
@@ -1,81 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_exp_loop.c.x86_64/query.029.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ((_ to_fp 11 53) roundNearestTiesToEven ?x19) ((_ to_fp 11 53) (_ bv4457293557087583675 64)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1343554297 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1065353216 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1073741824 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1082130432 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1090519040 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1098907648 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1107296256 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1115684864 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1124073472 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1132462080 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(not (not (fp.gt ((_ to_fp 8 24) (_ bv1140850688 32)) ?x19)))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.031.smt2 b/UnitTests/sat/QF_ABVFP/query.031.smt2
deleted file mode 100644
index 6fe7b172592aea1d13f261af9a6a35c6f0baac9f..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.031.smt2
+++ /dev/null
@@ -1,117 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.031.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float_10 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_23 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x20))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1098907648 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv2147483648 32)) ?x19)))
- (not (fp.isNaN ?x28)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv2147483648 32)) ?x19)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.gt ?x40 ?x28))))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.geq ?x51 ?x20))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.leq ?x51 ((_ to_fp 8 24) (_ bv1098907648 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 (fp.sub roundNearestTiesToEven ?x20 ?x19))))
- (not (fp.isNaN ?x64)))))))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x67 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv2147483648 32)) ?x51)))
- (not (fp.isNaN ?x67)))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x67 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv2147483648 32)) ?x51)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 (fp.sub roundNearestTiesToEven ?x20 ?x19))))
- (not (fp.gt ?x64 ?x67)))))))))))))))
-(assert
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.geq ?x39 ((_ to_fp 8 24) (_ bv3271557120 32)))))))
-(assert
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.leq ?x39 ((_ to_fp 8 24) (_ bv1124073472 32)))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.isNaN ?x40))))))))
-(assert
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (fp.geq ?x62 ((_ to_fp 8 24) (_ bv3271557120 32)))))))
-(assert
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (fp.leq ?x62 ((_ to_fp 8 24) (_ bv1124073472 32)))))))
-(assert
- (not false))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.032.smt2 b/UnitTests/sat/QF_ABVFP/query.032.smt2
deleted file mode 100644
index d96d6e186d9fc6faa9c5f183f26d8546bdf7aee1..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.032.smt2
+++ /dev/null
@@ -1,86 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_exp_loop.c.x86_64/query.032.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ((_ to_fp 11 53) roundNearestTiesToEven ?x19) ((_ to_fp 11 53) (_ bv4457293557087583675 64)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1343554297 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1065353216 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1073741824 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1082130432 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1090519040 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1098907648 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1107296256 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1115684864 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1124073472 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1132462080 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1140850688 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(not (fp.gt ((_ to_fp 8 24) (_ bv1149239296 32)) ?x19))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.05.smt2 b/UnitTests/sat/QF_ABVFP/query.05.smt2
deleted file mode 100644
index cb12f7a709a05fdab327cf1105937cf39a9a8cc8..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.05.smt2
+++ /dev/null
@@ -1,25 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x24 (concat (select data0 (_ bv21 32)) (concat (select data0 (_ bv20 32)) (concat (select data0 (_ bv19 32)) ?x15)))))
- (let ((?x31 ((_ to_fp 11 53) (concat (select data0 (_ bv23 32)) (concat (select data0 (_ bv22 32)) ?x24)))))
- (fp.geq ?x31 ((_ to_fp 11 53) (_ bv4621819117588971520 64)))))))
-(assert
- (let ((?x15 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
-(let ((?x24 (concat (select data0 (_ bv21 32)) (concat (select data0 (_ bv20 32)) (concat (select data0 (_ bv19 32)) ?x15)))))
-(let ((?x31 ((_ to_fp 11 53) (concat (select data0 (_ bv23 32)) (concat (select data0 (_ bv22 32)) ?x24)))))
-(not (not (fp.leq ?x31 ((_ to_fp 11 53) (_ bv4626322717216342016 64)))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.079.smt2 b/UnitTests/sat/QF_ABVFP/query.079.smt2
deleted file mode 100644
index 86c4b3a01f2e696adb00466c9827c1d0a918c199..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.079.smt2
+++ /dev/null
@@ -1,202 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.079.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float_10 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_23 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_44 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_55 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x23))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x26 ?x19)))
- (not (fp.isNaN ?x28))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x26 ?x19)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.gt ?x40 ?x28)))))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.geq ?x51 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.leq ?x51 ?x23))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x26 ?x51)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x65 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x59 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x63 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x59))))
- (let ((?x64 ((_ to_fp 8 24) ?x63)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x65)))
- (or (fp.isNaN ?x54) (fp.gt ?x66 ?x54)))))))))))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x65 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x59 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x63 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x59))))
- (let ((?x64 ((_ to_fp 8 24) ?x63)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x65)))
- (not (fp.isNaN ?x66))))))))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (not (fp.isNaN ?x51))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x65 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x59 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x63 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x59))))
- (let ((?x64 ((_ to_fp 8 24) ?x63)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x65)))
- (not (fp.lt ?x66 ?x51)))))))))))))))
-(assert
- (let ((?x85 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x78 (concat (select symbolic_0_float_44 (_ bv1 32)) (select symbolic_0_float_44 (_ bv0 32)))))
- (let ((?x82 (concat (select symbolic_0_float_44 (_ bv3 32)) (concat (select symbolic_0_float_44 (_ bv2 32)) ?x78))))
- (let ((?x83 ((_ to_fp 8 24) ?x82)))
- (fp.geq ?x83 ?x85))))))
-(assert
- (let ((?x88 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x78 (concat (select symbolic_0_float_44 (_ bv1 32)) (select symbolic_0_float_44 (_ bv0 32)))))
- (let ((?x82 (concat (select symbolic_0_float_44 (_ bv3 32)) (concat (select symbolic_0_float_44 (_ bv2 32)) ?x78))))
- (let ((?x83 ((_ to_fp 8 24) ?x82)))
- (fp.leq ?x83 ?x88))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x93 (concat (select symbolic_0_float_55 (_ bv1 32)) (select symbolic_0_float_55 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_55 (_ bv3 32)) (concat (select symbolic_0_float_55 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (fp.geq ?x98 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x93 (concat (select symbolic_0_float_55 (_ bv1 32)) (select symbolic_0_float_55 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_55 (_ bv3 32)) (concat (select symbolic_0_float_55 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (fp.leq ?x98 ?x23))))))
-(assert
- (let ((?x93 (concat (select symbolic_0_float_55 (_ bv1 32)) (select symbolic_0_float_55 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_55 (_ bv3 32)) (concat (select symbolic_0_float_55 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x104 (fp.sub roundNearestTiesToEven ?x26 ?x98)))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x65 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x78 (concat (select symbolic_0_float_44 (_ bv1 32)) (select symbolic_0_float_44 (_ bv0 32)))))
- (let ((?x82 (concat (select symbolic_0_float_44 (_ bv3 32)) (concat (select symbolic_0_float_44 (_ bv2 32)) ?x78))))
- (let ((?x83 ((_ to_fp 8 24) ?x82)))
- (let ((?x102 (fp.sub roundNearestTiesToEven ?x83 (fp.add roundNearestTiesToEven ?x65 ?x51))))
- (or (or (fp.isNaN ?x102) (fp.isNaN ?x104)) (fp.gt ?x102 ?x104))))))))))))))))))))
-(assert
- (let ((?x85 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.geq ?x39 ?x85))))))
-(assert
- (let ((?x88 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.leq ?x39 ?x88))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.isNaN ?x40))))))))
-(assert
- (let ((?x85 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x59 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x63 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x59))))
- (let ((?x64 ((_ to_fp 8 24) ?x63)))
- (fp.geq ?x64 ?x85))))))
-(assert
- (let ((?x88 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x59 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x63 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x59))))
- (let ((?x64 ((_ to_fp 8 24) ?x63)))
- (fp.leq ?x64 ?x88))))))
-(assert
- (let ((?x93 (concat (select symbolic_0_float_55 (_ bv1 32)) (select symbolic_0_float_55 (_ bv0 32)))))
-(let ((?x97 (concat (select symbolic_0_float_55 (_ bv3 32)) (concat (select symbolic_0_float_55 (_ bv2 32)) ?x93))))
-(let ((?x98 ((_ to_fp 8 24) ?x97)))
-(let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
-(let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
-(let ((?x51 ((_ to_fp 8 24) ?x50)))
-(let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
-(let ((?x65 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
-(let ((?x78 (concat (select symbolic_0_float_44 (_ bv1 32)) (select symbolic_0_float_44 (_ bv0 32)))))
-(let ((?x82 (concat (select symbolic_0_float_44 (_ bv3 32)) (concat (select symbolic_0_float_44 (_ bv2 32)) ?x78))))
-(let ((?x83 ((_ to_fp 8 24) ?x82)))
-(let ((?x102 (fp.sub roundNearestTiesToEven ?x83 (fp.add roundNearestTiesToEven ?x65 ?x51))))
-(let (($x121 (and (and (not (fp.isNaN ?x102)) (not (fp.isNaN ?x98))) (not (fp.lt ?x102 ?x98)))))
-(not $x121))))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.080.smt2 b/UnitTests/sat/QF_ABVFP/query.080.smt2
deleted file mode 100644
index 9649f50d98ca7eb58822ee88fc52ba045af732e4..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.080.smt2
+++ /dev/null
@@ -1,156 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_exp_loop.c.x86_64/query.080.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ((_ to_fp 11 53) roundNearestTiesToEven ?x19) ((_ to_fp 11 53) (_ bv4457293557087583675 64)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1343554297 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1065353216 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1073741824 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1082130432 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1090519040 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1098907648 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1107296256 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1115684864 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1124073472 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1132462080 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1140850688 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1149239296 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1157627904 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1166016512 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1174405120 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1182793728 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1191182336 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1199570944 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1207959552 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1216348160 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1224736768 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1233125376 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1241513984 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1249902592 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1258291200 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(not (not (fp.gt ((_ to_fp 8 24) (_ bv1266679808 32)) ?x19)))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.092.smt2 b/UnitTests/sat/QF_ABVFP/query.092.smt2
deleted file mode 100644
index a40d7cba7860af82fb171b85dbef9a7dbbc8568e..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.092.smt2
+++ /dev/null
@@ -1,169 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.092.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float_20 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_11 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_43 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_54 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float5 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x12 (concat (select symbolic_0_float_20 (_ bv1 32)) (select symbolic_0_float_20 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_20 (_ bv3 32)) (concat (select symbolic_0_float_20 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x12 (concat (select symbolic_0_float_20 (_ bv1 32)) (select symbolic_0_float_20 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_20 (_ bv3 32)) (concat (select symbolic_0_float_20 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x24))))))
-(assert
- (let ((?x45 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x49 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x45))))
- (let ((?x50 ((_ to_fp 8 24) ?x49)))
- (let ((?x41 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x51 (fp.sub roundNearestTiesToEven ?x41 ?x50)))
- (let ((?x30 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x34 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x30))))
- (let ((?x35 ((_ to_fp 8 24) ?x34)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float_20 (_ bv1 32)) (select symbolic_0_float_20 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_20 (_ bv3 32)) (concat (select symbolic_0_float_20 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x19 (fp.add roundNearestTiesToEven ?x26 ?x35))))
- (or (or (fp.isNaN ?x38) (fp.isNaN ?x51)) (fp.gt ?x38 ?x51))))))))))))))))
-(assert
- (let ((?x45 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x49 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x45))))
- (let ((?x50 ((_ to_fp 8 24) ?x49)))
- (let ((?x30 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x34 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x30))))
- (let ((?x35 ((_ to_fp 8 24) ?x34)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float_20 (_ bv1 32)) (select symbolic_0_float_20 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_20 (_ bv3 32)) (concat (select symbolic_0_float_20 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x19 (fp.add roundNearestTiesToEven ?x26 ?x35))))
- (or (or (fp.isNaN ?x38) (fp.isNaN ?x50)) (fp.lt ?x38 ?x50))))))))))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x63 (concat (select symbolic_0_float_43 (_ bv1 32)) (select symbolic_0_float_43 (_ bv0 32)))))
- (let ((?x67 (concat (select symbolic_0_float_43 (_ bv3 32)) (concat (select symbolic_0_float_43 (_ bv2 32)) ?x63))))
- (let ((?x68 ((_ to_fp 8 24) ?x67)))
- (fp.geq ?x68 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x63 (concat (select symbolic_0_float_43 (_ bv1 32)) (select symbolic_0_float_43 (_ bv0 32)))))
- (let ((?x67 (concat (select symbolic_0_float_43 (_ bv3 32)) (concat (select symbolic_0_float_43 (_ bv2 32)) ?x63))))
- (let ((?x68 ((_ to_fp 8 24) ?x67)))
- (fp.leq ?x68 ?x24))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x74 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (fp.geq ?x79 ?x26))))))
-(assert
- (let ((?x82 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x74 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (fp.leq ?x79 ?x82))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x30 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x34 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x30))))
- (let ((?x35 ((_ to_fp 8 24) ?x34)))
- (fp.geq ?x35 ?x26))))))
-(assert
- (let ((?x82 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x30 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x34 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x30))))
- (let ((?x35 ((_ to_fp 8 24) ?x34)))
- (fp.leq ?x35 ?x82))))))
-(assert
- (let ((?x30 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x34 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x30))))
- (let ((?x35 ((_ to_fp 8 24) ?x34)))
- (let ((?x41 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x86 (fp.sub roundNearestTiesToEven ?x41 ?x35)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x91 (concat (select symbolic_0_float5 (_ bv1 32)) (select symbolic_0_float5 (_ bv0 32)))))
- (let ((?x95 (concat (select symbolic_0_float5 (_ bv3 32)) (concat (select symbolic_0_float5 (_ bv2 32)) ?x91))))
- (let ((?x96 ((_ to_fp 8 24) ?x95)))
- (let ((?x97 (fp.sub roundNearestTiesToEven ?x96 ?x26)))
- (or (fp.isNaN ?x86) (fp.gt ?x97 ?x86)))))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x91 (concat (select symbolic_0_float5 (_ bv1 32)) (select symbolic_0_float5 (_ bv0 32)))))
- (let ((?x95 (concat (select symbolic_0_float5 (_ bv3 32)) (concat (select symbolic_0_float5 (_ bv2 32)) ?x91))))
- (let ((?x96 ((_ to_fp 8 24) ?x95)))
- (let ((?x97 (fp.sub roundNearestTiesToEven ?x96 ?x26)))
- (not (fp.isNaN ?x97))))))))
-(assert
- (let ((?x30 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x34 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x30))))
- (let ((?x35 ((_ to_fp 8 24) ?x34)))
- (not (fp.isNaN ?x35))))))
-(assert
- (let ((?x30 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x34 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x30))))
- (let ((?x35 ((_ to_fp 8 24) ?x34)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x91 (concat (select symbolic_0_float5 (_ bv1 32)) (select symbolic_0_float5 (_ bv0 32)))))
- (let ((?x95 (concat (select symbolic_0_float5 (_ bv3 32)) (concat (select symbolic_0_float5 (_ bv2 32)) ?x91))))
- (let ((?x96 ((_ to_fp 8 24) ?x95)))
- (let ((?x97 (fp.sub roundNearestTiesToEven ?x96 ?x26)))
- (not (fp.lt ?x97 ?x35)))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x45 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x49 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x45))))
- (let ((?x50 ((_ to_fp 8 24) ?x49)))
- (fp.geq ?x50 ?x26))))))
-(assert
- (let ((?x82 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x45 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x49 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x45))))
- (let ((?x50 ((_ to_fp 8 24) ?x49)))
- (fp.leq ?x50 ?x82))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x91 (concat (select symbolic_0_float5 (_ bv1 32)) (select symbolic_0_float5 (_ bv0 32)))))
- (let ((?x95 (concat (select symbolic_0_float5 (_ bv3 32)) (concat (select symbolic_0_float5 (_ bv2 32)) ?x91))))
- (let ((?x96 ((_ to_fp 8 24) ?x95)))
- (fp.geq ?x96 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x91 (concat (select symbolic_0_float5 (_ bv1 32)) (select symbolic_0_float5 (_ bv0 32)))))
- (let ((?x95 (concat (select symbolic_0_float5 (_ bv3 32)) (concat (select symbolic_0_float5 (_ bv2 32)) ?x91))))
- (let ((?x96 ((_ to_fp 8 24) ?x95)))
- (fp.leq ?x96 ?x24))))))
-(assert
- (let ((?x74 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
-(let ((?x78 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x74))))
-(let ((?x79 ((_ to_fp 8 24) ?x78)))
-(let ((?x41 ((_ to_fp 8 24) (_ bv2147483648 32))))
-(let ((?x112 (fp.sub roundNearestTiesToEven ?x41 ?x79)))
-(let ((?x12 (concat (select symbolic_0_float_20 (_ bv1 32)) (select symbolic_0_float_20 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float_20 (_ bv3 32)) (concat (select symbolic_0_float_20 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x63 (concat (select symbolic_0_float_43 (_ bv1 32)) (select symbolic_0_float_43 (_ bv0 32)))))
-(let ((?x67 (concat (select symbolic_0_float_43 (_ bv3 32)) (concat (select symbolic_0_float_43 (_ bv2 32)) ?x63))))
-(let ((?x68 ((_ to_fp 8 24) ?x67)))
-(let ((?x110 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
-(not (or (or (fp.isNaN ?x110) (fp.isNaN ?x112)) (fp.gt ?x110 ?x112))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.115.smt2 b/UnitTests/sat/QF_ABVFP/query.115.smt2
deleted file mode 100644
index 026a6244531df6eaf649cc73a8b05088b5bd11f0..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.115.smt2
+++ /dev/null
@@ -1,268 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.115.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float_10 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_23 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_54 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_45 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_66 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_77 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x23))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x26 ?x19)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x37 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x33))))
- (let ((?x38 ((_ to_fp 8 24) ?x37)))
- (let ((?x39 (fp.sub roundNearestTiesToEven ?x38 ?x20)))
- (or (fp.isNaN ?x28) (fp.gt ?x39 ?x28)))))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x37 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x33))))
- (let ((?x38 ((_ to_fp 8 24) ?x37)))
- (let ((?x39 (fp.sub roundNearestTiesToEven ?x38 ?x20)))
- (not (fp.isNaN ?x39))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x37 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x33))))
- (let ((?x38 ((_ to_fp 8 24) ?x37)))
- (let ((?x39 (fp.sub roundNearestTiesToEven ?x38 ?x20)))
- (not (fp.lt ?x39 ?x19)))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
- (let ((?x56 ((_ to_fp 8 24) ?x55)))
- (fp.geq ?x56 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
- (let ((?x56 ((_ to_fp 8 24) ?x55)))
- (fp.leq ?x56 ?x23))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x68 (fp.add roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x62 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x62))))
- (let ((?x67 ((_ to_fp 8 24) ?x66)))
- (let ((?x69 (fp.sub roundNearestTiesToEven ?x67 ?x68)))
- (not (fp.isNaN ?x69))))))))))))
-(assert
- (let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
- (let ((?x56 ((_ to_fp 8 24) ?x55)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x26 ?x56)))
- (not (fp.isNaN ?x72))))))))
-(assert
- (let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
- (let ((?x56 ((_ to_fp 8 24) ?x55)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x26 ?x56)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x68 (fp.add roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x62 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x62))))
- (let ((?x67 ((_ to_fp 8 24) ?x66)))
- (let ((?x69 (fp.sub roundNearestTiesToEven ?x67 ?x68)))
- (not (fp.gt ?x69 ?x72)))))))))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x80 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x84 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x80))))
- (let ((?x85 ((_ to_fp 8 24) ?x84)))
- (fp.geq ?x85 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x80 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x84 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x80))))
- (let ((?x85 ((_ to_fp 8 24) ?x84)))
- (fp.leq ?x85 ?x23))))))
-(assert
- (let ((?x80 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x84 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x80))))
- (let ((?x85 ((_ to_fp 8 24) ?x84)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x88 (fp.sub roundNearestTiesToEven ?x26 ?x85)))
- (let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
- (let ((?x56 ((_ to_fp 8 24) ?x55)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x68 (fp.add roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x99 (fp.sub roundNearestTiesToEven ?x68 ?x56)))
- (let ((?x93 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x98 ?x99)))
- (or (fp.isNaN ?x88) (fp.gt ?x100 ?x88)))))))))))))))))))))
-(assert
- (let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
- (let ((?x56 ((_ to_fp 8 24) ?x55)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x68 (fp.add roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x99 (fp.sub roundNearestTiesToEven ?x68 ?x56)))
- (let ((?x93 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x98 ?x99)))
- (not (fp.isNaN ?x100))))))))))))))))
-(assert
- (let ((?x80 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x84 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x80))))
- (let ((?x85 ((_ to_fp 8 24) ?x84)))
- (not (fp.isNaN ?x85))))))
-(assert
- (let ((?x80 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x84 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x80))))
- (let ((?x85 ((_ to_fp 8 24) ?x84)))
- (let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
- (let ((?x56 ((_ to_fp 8 24) ?x55)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x68 (fp.add roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x99 (fp.sub roundNearestTiesToEven ?x68 ?x56)))
- (let ((?x93 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x98 ?x99)))
- (not (fp.lt ?x100 ?x85)))))))))))))))))))
-(assert
- (let ((?x119 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x112 (concat (select symbolic_0_float_66 (_ bv1 32)) (select symbolic_0_float_66 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_66 (_ bv3 32)) (concat (select symbolic_0_float_66 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (fp.geq ?x117 ?x119))))))
-(assert
- (let ((?x122 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x112 (concat (select symbolic_0_float_66 (_ bv1 32)) (select symbolic_0_float_66 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_66 (_ bv3 32)) (concat (select symbolic_0_float_66 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (fp.leq ?x117 ?x122))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x127 (concat (select symbolic_0_float_77 (_ bv1 32)) (select symbolic_0_float_77 (_ bv0 32)))))
- (let ((?x131 (concat (select symbolic_0_float_77 (_ bv3 32)) (concat (select symbolic_0_float_77 (_ bv2 32)) ?x127))))
- (let ((?x132 ((_ to_fp 8 24) ?x131)))
- (fp.geq ?x132 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x127 (concat (select symbolic_0_float_77 (_ bv1 32)) (select symbolic_0_float_77 (_ bv0 32)))))
- (let ((?x131 (concat (select symbolic_0_float_77 (_ bv3 32)) (concat (select symbolic_0_float_77 (_ bv2 32)) ?x127))))
- (let ((?x132 ((_ to_fp 8 24) ?x131)))
- (fp.leq ?x132 ?x23))))))
-(assert
- (let ((?x119 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x37 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x33))))
- (let ((?x38 ((_ to_fp 8 24) ?x37)))
- (fp.geq ?x38 ?x119))))))
-(assert
- (let ((?x122 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x37 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x33))))
- (let ((?x38 ((_ to_fp 8 24) ?x37)))
- (fp.leq ?x38 ?x122))))))
-(assert
- (let ((?x119 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x62 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x62))))
- (let ((?x67 ((_ to_fp 8 24) ?x66)))
- (fp.geq ?x67 ?x119))))))
-(assert
- (let ((?x122 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x62 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x62))))
- (let ((?x67 ((_ to_fp 8 24) ?x66)))
- (fp.leq ?x67 ?x122))))))
-(assert
- (let ((?x119 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x93 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (fp.geq ?x98 ?x119))))))
-(assert
- (let ((?x122 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x93 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x97 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x93))))
- (let ((?x98 ((_ to_fp 8 24) ?x97)))
- (fp.leq ?x98 ?x122))))))
-(assert
- (let ((?x127 (concat (select symbolic_0_float_77 (_ bv1 32)) (select symbolic_0_float_77 (_ bv0 32)))))
-(let ((?x131 (concat (select symbolic_0_float_77 (_ bv3 32)) (concat (select symbolic_0_float_77 (_ bv2 32)) ?x127))))
-(let ((?x132 ((_ to_fp 8 24) ?x131)))
-(let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
-(let ((?x144 (fp.sub roundNearestTiesToEven ?x26 ?x132)))
-(let ((?x80 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
-(let ((?x84 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x80))))
-(let ((?x85 ((_ to_fp 8 24) ?x84)))
-(let ((?x51 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
-(let ((?x55 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x51))))
-(let ((?x56 ((_ to_fp 8 24) ?x55)))
-(let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
-(let ((?x68 (fp.add roundNearestTiesToEven ?x20 ?x19)))
-(let ((?x99 (fp.sub roundNearestTiesToEven ?x68 ?x56)))
-(let ((?x112 (concat (select symbolic_0_float_66 (_ bv1 32)) (select symbolic_0_float_66 (_ bv0 32)))))
-(let ((?x116 (concat (select symbolic_0_float_66 (_ bv3 32)) (concat (select symbolic_0_float_66 (_ bv2 32)) ?x112))))
-(let ((?x117 ((_ to_fp 8 24) ?x116)))
-(let ((?x142 (fp.sub roundNearestTiesToEven ?x117 (fp.add roundNearestTiesToEven ?x99 ?x85))))
-(not (or (or (fp.isNaN ?x142) (fp.isNaN ?x144)) (fp.gt ?x142 ?x144)))))))))))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.133.smt2 b/UnitTests/sat/QF_ABVFP/query.133.smt2
deleted file mode 100644
index b5a49721ddacb590ebf8bcbe2e737ef8cb18b02a..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.133.smt2
+++ /dev/null
@@ -1,247 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.133.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float_60 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_73 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_52 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_21 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_35 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_14 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_46 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float7 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x24))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_73 (_ bv1 32)) (select symbolic_0_float_73 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_73 (_ bv3 32)) (concat (select symbolic_0_float_73 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x49 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x59 (fp.sub roundNearestTiesToEven ?x49 ?x58)))
- (let ((?x38 (concat (select symbolic_0_float_52 (_ bv1 32)) (select symbolic_0_float_52 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_52 (_ bv3 32)) (concat (select symbolic_0_float_52 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x19 (fp.add roundNearestTiesToEven ?x34 ?x43))))
- (or (or (fp.isNaN ?x46) (fp.isNaN ?x59)) (fp.gt ?x46 ?x59))))))))))))))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_73 (_ bv1 32)) (select symbolic_0_float_73 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_73 (_ bv3 32)) (concat (select symbolic_0_float_73 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x38 (concat (select symbolic_0_float_52 (_ bv1 32)) (select symbolic_0_float_52 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_52 (_ bv3 32)) (concat (select symbolic_0_float_52 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x19 (fp.add roundNearestTiesToEven ?x34 ?x43))))
- (or (or (fp.isNaN ?x46) (fp.isNaN ?x58)) (fp.lt ?x46 ?x58))))))))))))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (fp.geq ?x34 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (fp.leq ?x34 ?x24))))))
-(assert
- (let ((?x86 (concat (select symbolic_0_float_35 (_ bv1 32)) (select symbolic_0_float_35 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_35 (_ bv3 32)) (concat (select symbolic_0_float_35 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (let ((?x49 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x92 (fp.sub roundNearestTiesToEven ?x49 ?x91)))
- (let ((?x74 (concat (select symbolic_0_float_14 (_ bv1 32)) (select symbolic_0_float_14 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_14 (_ bv3 32)) (concat (select symbolic_0_float_14 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x81 (fp.sub roundNearestTiesToEven ?x34 (fp.sub roundNearestTiesToEven ?x70 ?x79))))
- (or (or (fp.isNaN ?x81) (fp.isNaN ?x92)) (fp.gt ?x81 ?x92))))))))))))))))
-(assert
- (let ((?x86 (concat (select symbolic_0_float_35 (_ bv1 32)) (select symbolic_0_float_35 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_35 (_ bv3 32)) (concat (select symbolic_0_float_35 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (let ((?x74 (concat (select symbolic_0_float_14 (_ bv1 32)) (select symbolic_0_float_14 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_14 (_ bv3 32)) (concat (select symbolic_0_float_14 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x81 (fp.sub roundNearestTiesToEven ?x34 (fp.sub roundNearestTiesToEven ?x70 ?x79))))
- (or (or (fp.isNaN ?x81) (fp.isNaN ?x91)) (fp.lt ?x81 ?x91))))))))))))))
-(assert
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x38 (concat (select symbolic_0_float_52 (_ bv1 32)) (select symbolic_0_float_52 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_52 (_ bv3 32)) (concat (select symbolic_0_float_52 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (fp.geq ?x43 ?x70))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x38 (concat (select symbolic_0_float_52 (_ bv1 32)) (select symbolic_0_float_52 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_52 (_ bv3 32)) (concat (select symbolic_0_float_52 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (fp.leq ?x43 ?x103))))))
-(assert
- (let ((?x38 (concat (select symbolic_0_float_52 (_ bv1 32)) (select symbolic_0_float_52 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_52 (_ bv3 32)) (concat (select symbolic_0_float_52 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x49 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x105 (fp.sub roundNearestTiesToEven ?x49 ?x43)))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x110 (concat (select symbolic_0_float_46 (_ bv1 32)) (select symbolic_0_float_46 (_ bv0 32)))))
- (let ((?x114 (concat (select symbolic_0_float_46 (_ bv3 32)) (concat (select symbolic_0_float_46 (_ bv2 32)) ?x110))))
- (let ((?x115 ((_ to_fp 8 24) ?x114)))
- (let ((?x116 (fp.sub roundNearestTiesToEven ?x115 ?x34)))
- (or (fp.isNaN ?x105) (fp.gt ?x116 ?x105)))))))))))))))
-(assert
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x110 (concat (select symbolic_0_float_46 (_ bv1 32)) (select symbolic_0_float_46 (_ bv0 32)))))
- (let ((?x114 (concat (select symbolic_0_float_46 (_ bv3 32)) (concat (select symbolic_0_float_46 (_ bv2 32)) ?x110))))
- (let ((?x115 ((_ to_fp 8 24) ?x114)))
- (let ((?x116 (fp.sub roundNearestTiesToEven ?x115 ?x34)))
- (not (fp.isNaN ?x116))))))))))
-(assert
- (let ((?x38 (concat (select symbolic_0_float_52 (_ bv1 32)) (select symbolic_0_float_52 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_52 (_ bv3 32)) (concat (select symbolic_0_float_52 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (not (fp.isNaN ?x43))))))
-(assert
- (let ((?x38 (concat (select symbolic_0_float_52 (_ bv1 32)) (select symbolic_0_float_52 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_52 (_ bv3 32)) (concat (select symbolic_0_float_52 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x29 (concat (select symbolic_0_float_21 (_ bv1 32)) (select symbolic_0_float_21 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float_21 (_ bv3 32)) (concat (select symbolic_0_float_21 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x110 (concat (select symbolic_0_float_46 (_ bv1 32)) (select symbolic_0_float_46 (_ bv0 32)))))
- (let ((?x114 (concat (select symbolic_0_float_46 (_ bv3 32)) (concat (select symbolic_0_float_46 (_ bv2 32)) ?x110))))
- (let ((?x115 ((_ to_fp 8 24) ?x114)))
- (let ((?x116 (fp.sub roundNearestTiesToEven ?x115 ?x34)))
- (not (fp.lt ?x116 ?x43)))))))))))))
-(assert
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x53 (concat (select symbolic_0_float_73 (_ bv1 32)) (select symbolic_0_float_73 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_73 (_ bv3 32)) (concat (select symbolic_0_float_73 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (fp.geq ?x58 ?x70))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x53 (concat (select symbolic_0_float_73 (_ bv1 32)) (select symbolic_0_float_73 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_73 (_ bv3 32)) (concat (select symbolic_0_float_73 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (fp.leq ?x58 ?x103))))))
-(assert
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x74 (concat (select symbolic_0_float_14 (_ bv1 32)) (select symbolic_0_float_14 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_14 (_ bv3 32)) (concat (select symbolic_0_float_14 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (fp.geq ?x79 ?x70))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x74 (concat (select symbolic_0_float_14 (_ bv1 32)) (select symbolic_0_float_14 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_14 (_ bv3 32)) (concat (select symbolic_0_float_14 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (fp.leq ?x79 ?x103))))))
-(assert
- (let ((?x74 (concat (select symbolic_0_float_14 (_ bv1 32)) (select symbolic_0_float_14 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_14 (_ bv3 32)) (concat (select symbolic_0_float_14 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (let ((?x49 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x129 (fp.sub roundNearestTiesToEven ?x49 ?x79)))
- (not (fp.isNaN ?x129))))))))
-(assert
- (let ((?x74 (concat (select symbolic_0_float_14 (_ bv1 32)) (select symbolic_0_float_14 (_ bv0 32)))))
- (let ((?x78 (concat (select symbolic_0_float_14 (_ bv3 32)) (concat (select symbolic_0_float_14 (_ bv2 32)) ?x74))))
- (let ((?x79 ((_ to_fp 8 24) ?x78)))
- (let ((?x49 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x129 (fp.sub roundNearestTiesToEven ?x49 ?x79)))
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x135 (concat (select symbolic_0_float7 (_ bv1 32)) (select symbolic_0_float7 (_ bv0 32)))))
- (let ((?x139 (concat (select symbolic_0_float7 (_ bv3 32)) (concat (select symbolic_0_float7 (_ bv2 32)) ?x135))))
- (let ((?x140 ((_ to_fp 8 24) ?x139)))
- (let ((?x141 (fp.sub roundNearestTiesToEven ?x140 ?x70)))
- (not (fp.gt ?x141 ?x129)))))))))))))
-(assert
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x86 (concat (select symbolic_0_float_35 (_ bv1 32)) (select symbolic_0_float_35 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_35 (_ bv3 32)) (concat (select symbolic_0_float_35 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (fp.geq ?x91 ?x70))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x86 (concat (select symbolic_0_float_35 (_ bv1 32)) (select symbolic_0_float_35 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_35 (_ bv3 32)) (concat (select symbolic_0_float_35 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (fp.leq ?x91 ?x103))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x110 (concat (select symbolic_0_float_46 (_ bv1 32)) (select symbolic_0_float_46 (_ bv0 32)))))
- (let ((?x114 (concat (select symbolic_0_float_46 (_ bv3 32)) (concat (select symbolic_0_float_46 (_ bv2 32)) ?x110))))
- (let ((?x115 ((_ to_fp 8 24) ?x114)))
- (fp.geq ?x115 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x110 (concat (select symbolic_0_float_46 (_ bv1 32)) (select symbolic_0_float_46 (_ bv0 32)))))
- (let ((?x114 (concat (select symbolic_0_float_46 (_ bv3 32)) (concat (select symbolic_0_float_46 (_ bv2 32)) ?x110))))
- (let ((?x115 ((_ to_fp 8 24) ?x114)))
- (fp.leq ?x115 ?x24))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x135 (concat (select symbolic_0_float7 (_ bv1 32)) (select symbolic_0_float7 (_ bv0 32)))))
- (let ((?x139 (concat (select symbolic_0_float7 (_ bv3 32)) (concat (select symbolic_0_float7 (_ bv2 32)) ?x135))))
- (let ((?x140 ((_ to_fp 8 24) ?x139)))
- (fp.geq ?x140 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x135 (concat (select symbolic_0_float7 (_ bv1 32)) (select symbolic_0_float7 (_ bv0 32)))))
- (let ((?x139 (concat (select symbolic_0_float7 (_ bv3 32)) (concat (select symbolic_0_float7 (_ bv2 32)) ?x135))))
- (let ((?x140 ((_ to_fp 8 24) ?x139)))
- (fp.leq ?x140 ?x24))))))
-(assert
- (let ((?x70 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x135 (concat (select symbolic_0_float7 (_ bv1 32)) (select symbolic_0_float7 (_ bv0 32)))))
- (let ((?x139 (concat (select symbolic_0_float7 (_ bv3 32)) (concat (select symbolic_0_float7 (_ bv2 32)) ?x135))))
- (let ((?x140 ((_ to_fp 8 24) ?x139)))
- (let ((?x141 (fp.sub roundNearestTiesToEven ?x140 ?x70)))
- (not (fp.isNaN ?x141))))))))
-(assert
- (not false))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.145.smt2 b/UnitTests/sat/QF_ABVFP/query.145.smt2
deleted file mode 100644
index 65dcccc2af06baec56d70906ead9b1881ea2dc1b..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.145.smt2
+++ /dev/null
@@ -1,249 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.145.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_11 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_23 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_54 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_45 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_66 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_77 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x24))))))
-(assert
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x41 (fp.sub roundNearestTiesToEven ?x31 ?x40)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x19 ?x26)))
- (or (or (fp.isNaN ?x28) (fp.isNaN ?x41)) (fp.gt ?x28 ?x41)))))))))))))
-(assert
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x19 ?x26)))
- (or (or (fp.isNaN ?x28) (fp.isNaN ?x40)) (fp.lt ?x28 ?x40)))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (fp.geq ?x58 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (fp.leq ?x58 ?x61))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x71 ?x19)))
- (not (fp.isNaN ?x72))))))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x75 (fp.sub roundNearestTiesToEven ?x31 ?x58)))
- (not (fp.isNaN ?x75))))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x75 (fp.sub roundNearestTiesToEven ?x31 ?x58)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x71 ?x19)))
- (not (fp.gt ?x72 ?x75)))))))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (fp.geq ?x88 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (fp.leq ?x88 ?x61))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (let ((?x101 (fp.sub roundNearestTiesToEven ?x99 ?x100)))
- (not (fp.isNaN ?x101))))))))))))))
-(assert
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x104 (fp.sub roundNearestTiesToEven ?x31 ?x88)))
- (not (fp.isNaN ?x104))))))))
-(assert
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x104 (fp.sub roundNearestTiesToEven ?x31 ?x88)))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (let ((?x101 (fp.sub roundNearestTiesToEven ?x99 ?x100)))
- (not (fp.gt ?x101 ?x104)))))))))))))))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x112 (concat (select symbolic_0_float_66 (_ bv1 32)) (select symbolic_0_float_66 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_66 (_ bv3 32)) (concat (select symbolic_0_float_66 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (fp.geq ?x117 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x112 (concat (select symbolic_0_float_66 (_ bv1 32)) (select symbolic_0_float_66 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_66 (_ bv3 32)) (concat (select symbolic_0_float_66 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (fp.leq ?x117 ?x24))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x123 (concat (select symbolic_0_float_77 (_ bv1 32)) (select symbolic_0_float_77 (_ bv0 32)))))
- (let ((?x127 (concat (select symbolic_0_float_77 (_ bv3 32)) (concat (select symbolic_0_float_77 (_ bv2 32)) ?x123))))
- (let ((?x128 ((_ to_fp 8 24) ?x127)))
- (fp.geq ?x128 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x123 (concat (select symbolic_0_float_77 (_ bv1 32)) (select symbolic_0_float_77 (_ bv0 32)))))
- (let ((?x127 (concat (select symbolic_0_float_77 (_ bv3 32)) (concat (select symbolic_0_float_77 (_ bv2 32)) ?x123))))
- (let ((?x128 ((_ to_fp 8 24) ?x127)))
- (fp.leq ?x128 ?x61))))))
-(assert
- (let ((?x123 (concat (select symbolic_0_float_77 (_ bv1 32)) (select symbolic_0_float_77 (_ bv0 32)))))
- (let ((?x127 (concat (select symbolic_0_float_77 (_ bv3 32)) (concat (select symbolic_0_float_77 (_ bv2 32)) ?x123))))
- (let ((?x128 ((_ to_fp 8 24) ?x127)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x134 (fp.sub roundNearestTiesToEven ?x31 ?x128)))
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
- (let ((?x112 (concat (select symbolic_0_float_66 (_ bv1 32)) (select symbolic_0_float_66 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_66 (_ bv3 32)) (concat (select symbolic_0_float_66 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (let ((?x132 (fp.sub roundNearestTiesToEven ?x117 (fp.sub roundNearestTiesToEven ?x100 ?x88))))
- (or (or (fp.isNaN ?x132) (fp.isNaN ?x134)) (fp.gt ?x132 ?x134))))))))))))))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (fp.geq ?x40 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (fp.leq ?x40 ?x61))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (fp.geq ?x71 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (fp.leq ?x71 ?x24))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (fp.geq ?x99 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (fp.leq ?x99 ?x24))))))
-(assert
- (let ((?x123 (concat (select symbolic_0_float_77 (_ bv1 32)) (select symbolic_0_float_77 (_ bv0 32)))))
-(let ((?x127 (concat (select symbolic_0_float_77 (_ bv3 32)) (concat (select symbolic_0_float_77 (_ bv2 32)) ?x123))))
-(let ((?x128 ((_ to_fp 8 24) ?x127)))
-(let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
-(let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
-(let ((?x88 ((_ to_fp 8 24) ?x87)))
-(let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
-(let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
-(let ((?x58 ((_ to_fp 8 24) ?x57)))
-(let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
-(let ((?x112 (concat (select symbolic_0_float_66 (_ bv1 32)) (select symbolic_0_float_66 (_ bv0 32)))))
-(let ((?x116 (concat (select symbolic_0_float_66 (_ bv3 32)) (concat (select symbolic_0_float_66 (_ bv2 32)) ?x112))))
-(let ((?x117 ((_ to_fp 8 24) ?x116)))
-(let ((?x132 (fp.sub roundNearestTiesToEven ?x117 (fp.sub roundNearestTiesToEven ?x100 ?x88))))
-(not (or (or (fp.isNaN ?x132) (fp.isNaN ?x128)) (fp.lt ?x132 ?x128)))))))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.19.smt2 b/UnitTests/sat/QF_ABVFP/query.19.smt2
deleted file mode 100644
index 6ba6cfcb1911702c1a2cc8cb0535004288d43141..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.19.smt2
+++ /dev/null
@@ -1,261 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_synthetic_non_terminating_klee_bug.x86_64/query.19.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun delta0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (not (fp.isNaN ?x19)))))
-(assert
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv914358274 32)))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (fp.gt ?x29 ?x30))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (fp.gt ?x32 ?x30)))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (fp.gt ?x34 ?x30))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (fp.gt ?x36 ?x30)))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (fp.gt ?x38 ?x30))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (fp.gt ?x40 ?x30)))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (fp.gt ?x42 ?x30))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (fp.gt ?x44 ?x30)))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (fp.gt ?x46 ?x30))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (fp.gt ?x48 ?x30)))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (fp.gt ?x50 ?x30))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (fp.gt ?x52 ?x30)))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (fp.gt ?x54 ?x30))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (fp.gt ?x56 ?x30)))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (fp.gt ?x58 ?x30))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (fp.gt ?x60 ?x30)))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
-(let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
-(let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
-(let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
-(let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
-(let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
-(let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
-(let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
-(let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
-(let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
-(let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
-(let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
-(let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
-(let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
-(let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
-(let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
-(let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
-(let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
-(let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
-(not (fp.gt (fp.sub roundNearestTiesToEven ?x60 ?x19) ?x30))))))))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.20.smt2 b/UnitTests/sat/QF_ABVFP/query.20.smt2
deleted file mode 100644
index 20da9ae9a115ffcb726654bf08037dcfa12bc950..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_ABVFP/query.20.smt2
+++ /dev/null
@@ -1,284 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_synthetic_non_terminating_klee_bug.x86_64/query.20.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun delta0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (not (fp.isNaN ?x19)))))
-(assert
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv914358274 32)))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (fp.gt ?x29 ?x30))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (fp.gt ?x32 ?x30)))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (fp.gt ?x34 ?x30))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (fp.gt ?x36 ?x30)))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (fp.gt ?x38 ?x30))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (fp.gt ?x40 ?x30)))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (fp.gt ?x42 ?x30))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (fp.gt ?x44 ?x30)))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (fp.gt ?x46 ?x30))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (fp.gt ?x48 ?x30)))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (fp.gt ?x50 ?x30))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (fp.gt ?x52 ?x30)))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (fp.gt ?x54 ?x30))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (fp.gt ?x56 ?x30)))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (fp.gt ?x58 ?x30))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (fp.gt ?x60 ?x30)))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (fp.gt ?x62 ?x30))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
-(let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
-(let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
-(let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
-(let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
-(let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
-(let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
-(let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
-(let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
-(let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
-(let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
-(let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
-(let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
-(let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
-(let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
-(let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
-(let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
-(let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
-(let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
-(let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
-(not (fp.gt (fp.sub roundNearestTiesToEven ?x62 ?x19) ?x30)))))))))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_ABVFP/query.30.smt2 b/UnitTests/sat/QF_ABVFP/query.30.smt2
index b648f137a0d0c3c003cdc71fe3bdde21535b4d51..ed72e958e9bb79d97cf135cf20eae186bba6057d 100644
--- a/UnitTests/sat/QF_ABVFP/query.30.smt2
+++ b/UnitTests/sat/QF_ABVFP/query.30.smt2
@@ -1,569 +1,25 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_synthetic_non_terminating_klee_bug.x86_64/query.30.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
 (set-info :status sat)
-(declare-fun delta0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (not (fp.isNaN ?x19)))))
-(assert
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv914358274 32)))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (fp.gt ?x29 ?x30))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (fp.gt ?x32 ?x30)))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (fp.gt ?x34 ?x30))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (fp.gt ?x36 ?x30)))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (fp.gt ?x38 ?x30))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (fp.gt ?x40 ?x30)))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (fp.gt ?x42 ?x30))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (fp.gt ?x44 ?x30)))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (fp.gt ?x46 ?x30))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (fp.gt ?x48 ?x30)))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (fp.gt ?x50 ?x30))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (fp.gt ?x52 ?x30)))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (fp.gt ?x54 ?x30))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (fp.gt ?x56 ?x30)))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (fp.gt ?x58 ?x30))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (fp.gt ?x60 ?x30)))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (fp.gt ?x62 ?x30))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (fp.gt ?x64 ?x30)))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (fp.gt ?x66 ?x30))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (fp.gt ?x68 ?x30)))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
- (fp.gt ?x70 ?x30))))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x70 ?x19)))
- (fp.gt ?x72 ?x30)))))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x70 ?x19)))
- (let ((?x74 (fp.sub roundNearestTiesToEven ?x72 ?x19)))
- (fp.gt ?x74 ?x30))))))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x70 ?x19)))
- (let ((?x74 (fp.sub roundNearestTiesToEven ?x72 ?x19)))
- (let ((?x76 (fp.sub roundNearestTiesToEven ?x74 ?x19)))
- (fp.gt ?x76 ?x30)))))))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x70 ?x19)))
- (let ((?x74 (fp.sub roundNearestTiesToEven ?x72 ?x19)))
- (let ((?x76 (fp.sub roundNearestTiesToEven ?x74 ?x19)))
- (let ((?x78 (fp.sub roundNearestTiesToEven ?x76 ?x19)))
- (fp.gt ?x78 ?x30))))))))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x70 ?x19)))
- (let ((?x74 (fp.sub roundNearestTiesToEven ?x72 ?x19)))
- (let ((?x76 (fp.sub roundNearestTiesToEven ?x74 ?x19)))
- (let ((?x78 (fp.sub roundNearestTiesToEven ?x76 ?x19)))
- (let ((?x80 (fp.sub roundNearestTiesToEven ?x78 ?x19)))
- (fp.gt ?x80 ?x30)))))))))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
- (let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
- (let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
- (let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
- (let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
- (let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
- (let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
- (let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
- (let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
- (let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
- (let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
- (let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
- (let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
- (let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
- (let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
- (let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
- (let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
- (let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
- (let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x70 ?x19)))
- (let ((?x74 (fp.sub roundNearestTiesToEven ?x72 ?x19)))
- (let ((?x76 (fp.sub roundNearestTiesToEven ?x74 ?x19)))
- (let ((?x78 (fp.sub roundNearestTiesToEven ?x76 ?x19)))
- (let ((?x80 (fp.sub roundNearestTiesToEven ?x78 ?x19)))
- (let ((?x82 (fp.sub roundNearestTiesToEven ?x80 ?x19)))
- (fp.gt ?x82 ?x30))))))))))))))))))))))))))))))))
-(assert
- (let ((?x30 ((_ to_fp 8 24) (_ bv0 32))))
-(let ((?x15 (concat (select delta0 (_ bv2 32)) (concat (select delta0 (_ bv1 32)) (select delta0 (_ bv0 32))))))
-(let ((?x19 ((_ to_fp 8 24) (concat (select delta0 (_ bv3 32)) ?x15))))
-(let ((?x29 (fp.sub roundNearestTiesToEven ((_ to_fp 8 24) (_ bv1120403456 32)) ?x19)))
-(let ((?x32 (fp.sub roundNearestTiesToEven ?x29 ?x19)))
-(let ((?x34 (fp.sub roundNearestTiesToEven ?x32 ?x19)))
-(let ((?x36 (fp.sub roundNearestTiesToEven ?x34 ?x19)))
-(let ((?x38 (fp.sub roundNearestTiesToEven ?x36 ?x19)))
-(let ((?x40 (fp.sub roundNearestTiesToEven ?x38 ?x19)))
-(let ((?x42 (fp.sub roundNearestTiesToEven ?x40 ?x19)))
-(let ((?x44 (fp.sub roundNearestTiesToEven ?x42 ?x19)))
-(let ((?x46 (fp.sub roundNearestTiesToEven ?x44 ?x19)))
-(let ((?x48 (fp.sub roundNearestTiesToEven ?x46 ?x19)))
-(let ((?x50 (fp.sub roundNearestTiesToEven ?x48 ?x19)))
-(let ((?x52 (fp.sub roundNearestTiesToEven ?x50 ?x19)))
-(let ((?x54 (fp.sub roundNearestTiesToEven ?x52 ?x19)))
-(let ((?x56 (fp.sub roundNearestTiesToEven ?x54 ?x19)))
-(let ((?x58 (fp.sub roundNearestTiesToEven ?x56 ?x19)))
-(let ((?x60 (fp.sub roundNearestTiesToEven ?x58 ?x19)))
-(let ((?x62 (fp.sub roundNearestTiesToEven ?x60 ?x19)))
-(let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x19)))
-(let ((?x66 (fp.sub roundNearestTiesToEven ?x64 ?x19)))
-(let ((?x68 (fp.sub roundNearestTiesToEven ?x66 ?x19)))
-(let ((?x70 (fp.sub roundNearestTiesToEven ?x68 ?x19)))
-(let ((?x72 (fp.sub roundNearestTiesToEven ?x70 ?x19)))
-(let ((?x74 (fp.sub roundNearestTiesToEven ?x72 ?x19)))
-(let ((?x76 (fp.sub roundNearestTiesToEven ?x74 ?x19)))
-(let ((?x78 (fp.sub roundNearestTiesToEven ?x76 ?x19)))
-(let ((?x80 (fp.sub roundNearestTiesToEven ?x78 ?x19)))
-(let ((?x82 (fp.sub roundNearestTiesToEven ?x80 ?x19)))
-(not (fp.gt (fp.sub roundNearestTiesToEven ?x82 ?x19) ?x30)))))))))))))))))))))))))))))))))
+(set-option :print-success false)
+(set-logic QF_ABVFP)
+(declare-fun x27 () (_ BitVec 32))
+(declare-fun x37 () (_ BitVec 32))
+(declare-fun x23 () (_ BitVec 32))
+(declare-fun x39 () (_ BitVec 32))
+(declare-fun x13 () (_ BitVec 32))
+(declare-fun x9 () (Array (_ BitVec 32) (_ BitVec 8)))
+(assert (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x17 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven x12 x26) x11))) (= ((_ to_fp 8 24) x27) x17))))))))
+(assert (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x17 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven x12 x26) x11))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.lt x26 x29))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x33 x11))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (let ((x36 (fp.lt x26 x21))) (let ((x1 (ite x36 x6 x8))) (let ((x15 (ite x30 x27 x19))) (let ((x20 (ite x36 x39 x15))) (let ((x34 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven x1 ((_ to_fp 8 24) x20))))) (let ((x32 (fp.mul roundNearestTiesToEven x34 x34))) (let ((x7 (fp.lt x26 x32))) (let ((x16 (ite x7 x1 x34))) (let ((x24 (fp.add roundNearestTiesToEven x16 ((_ to_fp 8 24) (ite x7 x23 x20))))) (let ((x5 (fp.mul roundNearestTiesToEven x11 x24))) (= ((_ to_fp 8 24) x37) x5))))))))))))))))))))))))
+(assert (let ((x38 ((_ to_fp 8 24) (_ bv869711765 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x17 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (_ bv0 32)) x26)))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.lt x26 x29))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x33 x11))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (let ((x36 (fp.gt x21 x26))) (let ((x1 (ite x36 x6 x8))) (let ((x15 (ite x30 x27 x19))) (let ((x20 (ite x36 x39 x15))) (let ((x34 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven x1 ((_ to_fp 8 24) x20))))) (let ((x32 (fp.mul roundNearestTiesToEven x34 x34))) (let ((x7 (fp.gt x32 x26))) (let ((x16 (ite x7 x1 x34))) (let ((x24 (fp.add roundNearestTiesToEven x16 ((_ to_fp 8 24) (ite x7 x23 x20))))) (let ((x5 (fp.mul roundNearestTiesToEven x24 x11))) (let ((x25 (fp.mul roundNearestTiesToEven x5 x5))) (let ((x14 (fp.gt x25 x26))) (let ((x40 (ite x14 x16 x5))) (let ((x2 (ite x7 x23 x20))) (let ((x3 (ite x14 x37 x2))) (let ((x22 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven x40 ((_ to_fp 8 24) x3)) x11))) (let ((x28 (fp.mul roundNearestTiesToEven x22 x22))) (let ((x35 (fp.lt x26 x28))) (let ((x31 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x35 x13 x3)) (ite x35 x40 x22)))) (let ((x4 (fp.mul roundNearestTiesToEven x31 x11))) (let ((x18 (fp.sub roundNearestTiesToEven (fp.mul roundNearestTiesToEven x4 x4) x26))) (not (not (fp.lt (fp.abs x18) x38))))))))))))))))))))))))))))))))))))))
+(assert (let ((x38 ((_ to_fp 8 24) (_ bv869711765 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x17 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (_ bv0 32)) x26) x11))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.lt x26 x29))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x33 x11))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (let ((x36 (fp.gt x21 x26))) (let ((x1 (ite x36 x6 x8))) (let ((x15 (ite x30 x27 x19))) (let ((x20 (ite x36 x39 x15))) (let ((x34 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven ((_ to_fp 8 24) x20) x1) x11))) (let ((x32 (fp.mul roundNearestTiesToEven x34 x34))) (let ((x7 (fp.lt x26 x32))) (let ((x16 (ite x7 x1 x34))) (let ((x24 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x7 x23 x20)) x16))) (let ((x5 (fp.mul roundNearestTiesToEven x11 x24))) (let ((x25 (fp.mul roundNearestTiesToEven x5 x5))) (not (fp.lt (fp.abs (fp.sub roundNearestTiesToEven x25 x26)) x38)))))))))))))))))))))))))))
+(assert (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x17 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven x26 x12)))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.gt x29 x26))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x11 x33))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (let ((x36 (fp.gt x21 x26))) (let ((x1 (ite x36 x6 x8))) (let ((x15 (ite x30 x27 x19))) (let ((x20 (ite x36 x39 x15))) (let ((x34 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven x1 ((_ to_fp 8 24) x20))))) (= ((_ to_fp 8 24) x23) x34)))))))))))))))))))
+(assert (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (not (fp.lt ((_ to_fp 8 24) (_ bv1120403456 32)) x26))))))
+(assert (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x17 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven x12 x26) x11))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.lt x26 x29))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x33 x11))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (let ((x36 (fp.lt x26 x21))) (let ((x1 (ite x36 x6 x8))) (let ((x15 (ite x30 x27 x19))) (let ((x20 (ite x36 x39 x15))) (let ((x34 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) x20) x1)))) (let ((x32 (fp.mul roundNearestTiesToEven x34 x34))) (let ((x7 (fp.lt x26 x32))) (let ((x16 (ite x7 x1 x34))) (let ((x24 (fp.add roundNearestTiesToEven x16 ((_ to_fp 8 24) (ite x7 x23 x20))))) (let ((x5 (fp.mul roundNearestTiesToEven x11 x24))) (let ((x25 (fp.mul roundNearestTiesToEven x5 x5))) (let ((x14 (fp.gt x25 x26))) (let ((x40 (ite x14 x16 x5))) (let ((x2 (ite x7 x23 x20))) (let ((x3 (ite x14 x37 x2))) (let ((x22 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven x40 ((_ to_fp 8 24) x3)) x11))) (= x22 ((_ to_fp 8 24) x13)))))))))))))))))))))))))))))))
+(assert (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (not (fp.isNaN x26))))))
+(assert (let ((x38 ((_ to_fp 8 24) (_ bv869711765 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x17 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (_ bv0 32)) x26)))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.lt x26 x29))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x11 x33))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (let ((x36 (fp.gt x21 x26))) (let ((x1 (ite x36 x6 x8))) (let ((x15 (ite x30 x27 x19))) (let ((x20 (ite x36 x39 x15))) (let ((x34 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven ((_ to_fp 8 24) x20) x1) x11))) (let ((x32 (fp.mul roundNearestTiesToEven x34 x34))) (let ((x7 (fp.gt x32 x26))) (let ((x16 (ite x7 x1 x34))) (let ((x24 (fp.add roundNearestTiesToEven x16 ((_ to_fp 8 24) (ite x7 x23 x20))))) (let ((x5 (fp.mul roundNearestTiesToEven x24 x11))) (let ((x25 (fp.mul roundNearestTiesToEven x5 x5))) (let ((x14 (fp.gt x25 x26))) (let ((x40 (ite x14 x16 x5))) (let ((x2 (ite x7 x23 x20))) (let ((x3 (ite x14 x37 x2))) (let ((x22 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven ((_ to_fp 8 24) x3) x40) x11))) (let ((x28 (fp.mul roundNearestTiesToEven x22 x22))) (not (fp.lt (fp.abs (fp.sub roundNearestTiesToEven x28 x26)) x38)))))))))))))))))))))))))))))))))
+(assert (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (not (fp.lt x26 x12)))))))
+(assert (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x17 (fp.mul roundNearestTiesToEven x11 (fp.add roundNearestTiesToEven x26 x12)))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.gt x29 x26))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x11 x33))) (= ((_ to_fp 8 24) x39) x8)))))))))))))
+(assert (let ((x38 ((_ to_fp 8 24) (_ bv869711765 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x17 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (_ bv0 32)) x26) x11))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.gt x29 x26))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x11 x33))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (let ((x36 (fp.lt x26 x21))) (let ((x1 (ite x36 x6 x8))) (let ((x15 (ite x30 x27 x19))) (let ((x20 (ite x36 x39 x15))) (let ((x34 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven ((_ to_fp 8 24) x20) x1) x11))) (let ((x32 (fp.mul roundNearestTiesToEven x34 x34))) (not (fp.lt (fp.abs (fp.sub roundNearestTiesToEven x32 x26)) x38))))))))))))))))))))))
+(assert (let ((x38 ((_ to_fp 8 24) (_ bv869711765 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x17 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven x26 ((_ to_fp 8 24) (_ bv0 32))) x11))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (not (fp.gt x38 (fp.abs (fp.sub roundNearestTiesToEven x29 x26))))))))))))
+(assert (let ((x38 ((_ to_fp 8 24) (_ bv869711765 32)))) (let ((x10 (concat (select x9 (_ bv2 32)) (concat (select x9 (_ bv1 32)) (select x9 (_ bv0 32)))))) (let ((x19 (concat (select x9 (_ bv3 32)) x10))) (let ((x26 ((_ to_fp 8 24) x19))) (let ((x11 ((_ to_fp 8 24) (_ bv1056964608 32)))) (let ((x17 (fp.mul roundNearestTiesToEven (fp.add roundNearestTiesToEven x26 ((_ to_fp 8 24) (_ bv0 32))) x11))) (let ((x12 ((_ to_fp 8 24) (_ bv0 32)))) (let ((x29 (fp.mul roundNearestTiesToEven x17 x17))) (let ((x30 (fp.gt x29 x26))) (let ((x6 (ite x30 x12 x17))) (let ((x33 (fp.add roundNearestTiesToEven ((_ to_fp 8 24) (ite x30 x27 x19)) x6))) (let ((x8 (fp.mul roundNearestTiesToEven x33 x11))) (let ((x21 (fp.mul roundNearestTiesToEven x8 x8))) (not (fp.gt x38 (fp.abs (fp.sub roundNearestTiesToEven x21 x26))))))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.0040.smt2 b/UnitTests/sat/QF_BVFP/query.0040.smt2
index 92c271690582974b98225fcf27031a09ee209a35..c712e91f8ea0cc46d14729aa18af506b1e6778fd 100644
--- a/UnitTests/sat/QF_BVFP/query.0040.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0040.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.0040.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0040.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -16,22 +17,24 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!2 () (_ BitVec 64))
 (declare-fun x_ackermann!3 () (_ BitVec 64))
 (declare-fun x_ackermann!4 () (_ BitVec 64))
+(declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (let ((?x12 ((_ to_fp 11 53) x_ackermann!0)))
- (fp.gt ?x12 ((_ to_fp 11 53) x_ackermann!1))))
-(assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
-(assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ((_ to_fp 11 53) x_ackermann!1))))
 (assert
  (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!0))))
+(assert
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
  (not (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
+ (fp.gt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!4)))
+(assert
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))))
 (assert
  (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not false))
+ (let (($x35 (and (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!0))))))
+(not $x35)))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.0208.smt2 b/UnitTests/sat/QF_BVFP/query.0208.smt2
index 2a0d92eec158d1269896f10ff033c2fdceb8e2dd..ae89863cf032b95d27abdb66ca2c2ec8c2b2d6a2 100644
--- a/UnitTests/sat/QF_BVFP/query.0208.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0208.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.0208.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0208.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -20,30 +21,28 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (assert
  (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
  (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
- (fp.gt ?x17 ?x14))))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x17))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))))
+ (let (($x22 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!3)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)))))
+ (or $x22 (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1)))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x24 ((_ to_fp 11 53) x_ackermann!4)))
- (let (($x25 (fp.isNaN ?x24)))
- (or $x25 (fp.lt ?x24 ((_ to_fp 11 53) x_ackermann!2))))))
+ (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x19 ((_ to_fp 11 53) x_ackermann!3)))
+ (fp.gt ?x19 ?x17))))
 (assert
- (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
- (let ((?x24 ((_ to_fp 11 53) x_ackermann!4)))
- (fp.gt ?x24 ?x14))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x24 ((_ to_fp 11 53) x_ackermann!4)))
- (let (($x25 (fp.isNaN ?x24)))
- (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)) $x25) (fp.lt ((_ to_fp 11 53) x_ackermann!5) ?x24)))))
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!0))))
+ (let (($x42 (and (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!0))))))
+(not $x42)))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.0214.smt2 b/UnitTests/sat/QF_BVFP/query.0214.smt2
index 9ec8689828093561a286660d6fe81eaa0ee1f2f4..62bc7b14f916c9fd4165c914b08414b6f3df109e 100644
--- a/UnitTests/sat/QF_BVFP/query.0214.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0214.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.0214.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0214.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -16,25 +17,29 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!2 () (_ BitVec 64))
 (declare-fun x_ackermann!3 () (_ BitVec 64))
 (declare-fun x_ackermann!4 () (_ BitVec 64))
+(declare-fun x_ackermann!5 () (_ BitVec 64))
+(assert
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (let (($x16 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)))))
- (or $x16 (fp.lt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1)))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
+ (fp.gt ?x17 ?x14))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (let (($x28 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)))))
- (or $x28 (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2)))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
+ (let (($x35 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)))))
+ (or $x35 (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1)))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0)))))
+ (not false))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.0246.smt2 b/UnitTests/sat/QF_BVFP/query.0246.smt2
index 5a766d05dd036dd411771a38c1ae84029a27e65c..8621af6a83ed439a6c24341b246ac7e06b1e3671 100644
--- a/UnitTests/sat/QF_BVFP/query.0246.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0246.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.0246.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0246.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -16,30 +17,33 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!2 () (_ BitVec 64))
 (declare-fun x_ackermann!3 () (_ BitVec 64))
 (declare-fun x_ackermann!4 () (_ BitVec 64))
+(declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1))))
-(assert
- (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x12 ((_ to_fp 11 53) x_ackermann!0)))
- (fp.gt ?x12 ?x16))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x14))))
 (assert
- (let (($x21 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!3)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)))))
- (or $x21 (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1)))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x22 (fp.isNaN ?x21)))
+ (or (or $x22 (fp.isNaN ((_ to_fp 11 53) x_ackermann!0))) (fp.lt ?x21 ((_ to_fp 11 53) x_ackermann!0))))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!0))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
+ (fp.gt ?x21 ?x14))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
+ (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x22 (fp.isNaN ?x21)))
+ (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) $x22) (fp.lt ((_ to_fp 11 53) x_ackermann!4) ?x21)))))
 (assert
- (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!1)))
- (fp.gt ?x13 ?x16))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not false))
+ (let (($x42 (and (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))))))
+(not (and $x42 (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1)))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.0408.smt2 b/UnitTests/sat/QF_BVFP/query.0408.smt2
index a391b0b49bd14085cab11706bba6005c750eb36b..4e78b3353454fccd1e075fc99666c8f70be4dceb 100644
--- a/UnitTests/sat/QF_BVFP/query.0408.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0408.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0408.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0408.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0451.smt2 b/UnitTests/sat/QF_BVFP/query.0451.smt2
index 75e98b577cfdf18c9c81d008678a0f8a100d70ba..63c760a14ef5e4838ff4fc5c23f2c05e67b5c90e 100644
--- a/UnitTests/sat/QF_BVFP/query.0451.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0451.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.0451.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0451.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -18,35 +19,33 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (let (($x16 (fp.isNaN ?x15)))
- (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) $x16) (fp.lt ((_ to_fp 11 53) x_ackermann!0) ?x15)))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x14))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x23 ((_ to_fp 11 53) x_ackermann!3)))
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (fp.gt ?x13 ?x23))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
+ (fp.gt ?x16 ?x14))))
 (assert
- (let (($x28 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)))))
- (or $x28 (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2)))))
+ (let (($x23 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!3)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)))))
+ (or $x23 (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0)))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!5))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!5))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (let ((?x23 ((_ to_fp 11 53) x_ackermann!3)))
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
- (fp.gt ?x20 ?x23))))
+ (let (($x33 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)))))
+ (or $x33 (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2)))))
 (assert
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (let (($x16 (fp.isNaN ?x15)))
- (or (or $x16 (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (fp.lt ?x15 ((_ to_fp 11 53) x_ackermann!5))))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (fp.gt ?x15 ?x20))))
+ (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
+ (let ((?x30 ((_ to_fp 11 53) x_ackermann!4)))
+ (fp.gt ?x30 ?x20))))
 (assert
- (not false))
+ (let (($x44 (and (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))))))
+(not (and $x44 (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1)))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.0480.smt2 b/UnitTests/sat/QF_BVFP/query.0480.smt2
index f576519cf001739cdcdada8ea5061f583bfd37c3..8481b8a4313a746e99d785fbd57d23e2049906be 100644
--- a/UnitTests/sat/QF_BVFP/query.0480.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0480.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.0480.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0480.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -18,38 +19,37 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (let (($x16 (fp.isNaN ?x15)))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
  (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (let (($x14 (fp.isNaN ?x13)))
- (or (or $x14 $x16) (fp.lt ?x13 ?x15)))))))
+ (fp.gt ?x13 ?x14))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
+ (fp.gt ?x16 ?x13))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!3))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (let ((?x19 ((_ to_fp 11 53) x_ackermann!3)))
+ (fp.gt ?x19 ?x13))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x33 ((_ to_fp 11 53) x_ackermann!5)))
- (fp.gt ?x33 ?x20))))
+ (let ((?x28 ((_ to_fp 11 53) x_ackermann!5)))
+ (let (($x29 (fp.isNaN ?x28)))
+ (or $x29 (fp.lt ?x28 ((_ to_fp 11 53) x_ackermann!3))))))
 (assert
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (let (($x16 (fp.isNaN ?x15)))
- (or (or $x16 (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (fp.lt ?x15 ((_ to_fp 11 53) x_ackermann!5))))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (fp.gt ?x15 ?x20))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
  (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
-(let (($x14 (fp.isNaN ?x13)))
-(not $x14))))
+ (let ((?x28 ((_ to_fp 11 53) x_ackermann!5)))
+(let (($x29 (fp.isNaN ?x28)))
+(let (($x42 (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)) $x29) (fp.gt ((_ to_fp 11 53) x_ackermann!1) ?x28))))
+(not (not (and (not $x29) $x42)))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.0499.smt2 b/UnitTests/sat/QF_BVFP/query.0499.smt2
index e2e254f6f35d20dc305b8746d052eb366ccf64ad..eda23b50a0c1e75477a2812d07872944c495fd0a 100644
--- a/UnitTests/sat/QF_BVFP/query.0499.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0499.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0499.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0499.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0507.smt2 b/UnitTests/sat/QF_BVFP/query.0507.smt2
index 79ef13bcf7c86e28ae3fdb2d55d82fceb9562cb5..962e68ead1a53c192766c014072b92a4293fd2b6 100644
--- a/UnitTests/sat/QF_BVFP/query.0507.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0507.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0507.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0507.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0611.smt2 b/UnitTests/sat/QF_BVFP/query.0611.smt2
index 19b81871dbaf64a856772980fd55e11d74016630..0763a420740d55f16032ed7d381ee52cfeecb85d 100644
--- a/UnitTests/sat/QF_BVFP/query.0611.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0611.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0611.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0611.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0629.smt2 b/UnitTests/sat/QF_BVFP/query.0629.smt2
index 9a02a52cac5eac275574962b000b0641a73d9bdb..825428e3603093213f94650946b48769acad2dde 100644
--- a/UnitTests/sat/QF_BVFP/query.0629.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0629.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0629.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0629.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0630.smt2 b/UnitTests/sat/QF_BVFP/query.0630.smt2
index d615716fe737f6cb8963d5a09f18d27e7281f11d..6aac4263b06782fdfc55c450dd4ab20c7d551b66 100644
--- a/UnitTests/sat/QF_BVFP/query.0630.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0630.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0630.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0630.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0682.smt2 b/UnitTests/sat/QF_BVFP/query.0682.smt2
index 6ae28ca9616df403b0e20d345a3995598755f1bf..14fe0bc5fbe31ab74c943702332b40e7624a70a3 100644
--- a/UnitTests/sat/QF_BVFP/query.0682.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0682.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0682.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0682.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0692.smt2 b/UnitTests/sat/QF_BVFP/query.0692.smt2
index f2f8280c9325ba601279b580abf9c6ec7b8d46b5..de2a70d3c31370edceab33880598e6aaea6c3c57 100644
--- a/UnitTests/sat/QF_BVFP/query.0692.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0692.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0692.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0692.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0778.smt2 b/UnitTests/sat/QF_BVFP/query.0778.smt2
index 7d643a7a416269a95824fc45d21094acb913dfd5..481135aa79bcda7c5d48d8bb057dec12c80c5354 100644
--- a/UnitTests/sat/QF_BVFP/query.0778.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0778.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0778.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0778.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0815.smt2 b/UnitTests/sat/QF_BVFP/query.0815.smt2
index 00a672eaf2f93ddb05129827032ea2b570096bf3..f3db3f1f47ad95eb2b659cde963666e7e5f7dbcf 100644
--- a/UnitTests/sat/QF_BVFP/query.0815.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0815.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0815.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0815.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0961.smt2 b/UnitTests/sat/QF_BVFP/query.0961.smt2
index 6f84f37ac960c28b4ce18cd01235111ed6515160..ae9efb021468fb13540cf72a8486c4e4f5692419 100644
--- a/UnitTests/sat/QF_BVFP/query.0961.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0961.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.0961.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0961.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -24,31 +25,37 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (assert
  (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
- (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
- (fp.gt ?x16 ?x14))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
  (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
- (fp.gt ?x21 ?x16))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!3))))
+ (let ((?x29 ((_ to_fp 11 53) x_ackermann!4)))
+ (let (($x30 (fp.isNaN ?x29)))
+ (or (or $x30 (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))) (fp.lt ?x29 ((_ to_fp 11 53) x_ackermann!1))))))
 (assert
- (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
- (let ((?x30 ((_ to_fp 11 53) x_ackermann!5)))
- (fp.lt ?x30 ?x21))))
+ (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x29 ((_ to_fp 11 53) x_ackermann!4)))
+ (fp.gt ?x29 ?x16))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x29 ((_ to_fp 11 53) x_ackermann!4)))
+ (let (($x30 (fp.isNaN ?x29)))
+ (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)) $x30) (fp.lt ((_ to_fp 11 53) x_ackermann!5) ?x29)))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x36 ((_ to_fp 11 53) x_ackermann!5)))
+ (fp.gt ?x36 ?x16))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))))
+ (let ((?x22 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x42 (fp.isNaN ?x22)))
+ (not $x42))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
+ (let ((?x22 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x42 (fp.isNaN ?x22)))
+ (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) $x42) (fp.gt ((_ to_fp 11 53) x_ackermann!2) ?x22)))))
 (assert
  (not false))
 (check-sat)
diff --git a/UnitTests/sat/QF_BVFP/query.0985.smt2 b/UnitTests/sat/QF_BVFP/query.0985.smt2
index 49ab889ac57b0f1b49f6b27d78353942efa9b2e8..c70480a339f7f14623cae3e9b601cd8917425e5c 100644
--- a/UnitTests/sat/QF_BVFP/query.0985.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0985.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0985.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0985.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.0994.smt2 b/UnitTests/sat/QF_BVFP/query.0994.smt2
index ca072197279b9807003726190c5cb381d2745935..d9b005ea4e9731fcd61b859f357d29e3b38e0f45 100644
--- a/UnitTests/sat/QF_BVFP/query.0994.smt2
+++ b/UnitTests/sat/QF_BVFP/query.0994.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0994.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.0994.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1034.smt2 b/UnitTests/sat/QF_BVFP/query.1034.smt2
index 94d246f431b340bb5c03c1f5a23f70d952b6c7ea..78a591f1b2ee4c3b096a4df76a0aff026e9906d4 100644
--- a/UnitTests/sat/QF_BVFP/query.1034.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1034.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1034.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1034.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1057.smt2 b/UnitTests/sat/QF_BVFP/query.1057.smt2
index 91b5484c57ee073aaddba87804efc383a2a4c461..235b46131776b1f00927ed7d4842f92d7afc9119 100644
--- a/UnitTests/sat/QF_BVFP/query.1057.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1057.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1057.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1057.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1091.smt2 b/UnitTests/sat/QF_BVFP/query.1091.smt2
index a8a3ea3330529decf4752de47ecdf8f4ca78e4a5..bc91c91488313eb88ced937e574617344e767281 100644
--- a/UnitTests/sat/QF_BVFP/query.1091.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1091.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1091.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1091.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1137.smt2 b/UnitTests/sat/QF_BVFP/query.1137.smt2
index 03c0a0801b4e48f1adbb58c84c3df68f5a72adde..0ec99bdb5b3b4048a6fb9c6fe641b3631c460eed 100644
--- a/UnitTests/sat/QF_BVFP/query.1137.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1137.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1137.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1137.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -18,36 +19,31 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (let (($x14 (fp.isNaN ?x13)))
- (or (or $x14 (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))) (fp.lt ?x13 ((_ to_fp 11 53) x_ackermann!1))))))
+ (let (($x17 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)))))
+ (or $x17 (fp.lt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1)))))
 (assert
  (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!3))))
-(assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x26 ((_ to_fp 11 53) x_ackermann!4)))
- (fp.gt ?x26 ?x20))))
+ (let ((?x23 ((_ to_fp 11 53) x_ackermann!3)))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x23))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!4))))
+ (let (($x28 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)))))
+ (or $x28 (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2)))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (fp.gt ?x15 ?x20))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!5))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!5))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!4))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!3)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!4))))
+ (let (($x40 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!3)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)))))
+ (or $x40 (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!5)))))
 (assert
  (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
  (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))))
-(assert
- (not (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)))))
+ (not (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0)))))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.1139.smt2 b/UnitTests/sat/QF_BVFP/query.1139.smt2
index a05b14ef0204c485f1ccd1ae584045180777e7c6..da2edf357c5f32034fc6c3c77f0d361bb1233fda 100644
--- a/UnitTests/sat/QF_BVFP/query.1139.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1139.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,53 +7,50 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1139.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1139.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status sat)
-(declare-fun x_ackermann!1 () (_ BitVec 64))
 (declare-fun x_ackermann!0 () (_ BitVec 64))
+(declare-fun x_ackermann!1 () (_ BitVec 64))
 (declare-fun x_ackermann!2 () (_ BitVec 64))
 (declare-fun x_ackermann!3 () (_ BitVec 64))
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (let (($x14 (fp.isNaN ?x13)))
- (or $x14 (fp.lt ?x13 ((_ to_fp 11 53) x_ackermann!1))))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) (fp.lt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
- (let ((?x24 ((_ to_fp 11 53) x_ackermann!4)))
- (fp.gt ?x24 ?x21))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))))
+(assert
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!4))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)) (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
  (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (fp.gt ?x15 ?x21))))
+ (let ((?x29 ((_ to_fp 11 53) x_ackermann!5)))
+ (fp.gt ?x29 ?x21))))
 (assert
- (let (($x31 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)))))
- (or $x31 (fp.lt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!4)))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
+(assert
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))))
 (assert
  (let ((?x21 ((_ to_fp 11 53) x_ackermann!3)))
  (let ((?x18 ((_ to_fp 11 53) x_ackermann!2)))
  (fp.gt ?x18 ?x21))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))))
-(assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x18 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x18))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
-(let (($x14 (fp.isNaN ?x13)))
-(not $x14))))
+ (not false))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.1165.smt2 b/UnitTests/sat/QF_BVFP/query.1165.smt2
index 757584efde1b1993a47199d79554e5c40e2b63cd..7a213bc86c018c02f8467b2360447b973b649adc 100644
--- a/UnitTests/sat/QF_BVFP/query.1165.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1165.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1165.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1165.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1194.smt2 b/UnitTests/sat/QF_BVFP/query.1194.smt2
index 6d45991d4087ce274f73765d3e3984d3c23780ff..aa52e7dcacd7dcdd9862629ec2425b6c0ba506f9 100644
--- a/UnitTests/sat/QF_BVFP/query.1194.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1194.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1194.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1194.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -20,35 +21,35 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (assert
  (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
+ (fp.gt ?x17 ?x14))))
+(assert
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+(assert
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
  (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
- (fp.gt ?x17 ?x13))))
+ (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
+ (fp.gt ?x20 ?x13))))
 (assert
- (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)) (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x29 ((_ to_fp 11 53) x_ackermann!4)))
- (let (($x30 (fp.isNaN ?x29)))
- (or (or $x30 (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))) (fp.lt ?x29 ((_ to_fp 11 53) x_ackermann!2))))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (let ((?x29 ((_ to_fp 11 53) x_ackermann!4)))
- (fp.gt ?x29 ?x13))))
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (let ((?x29 ((_ to_fp 11 53) x_ackermann!4)))
- (let (($x30 (fp.isNaN ?x29)))
- (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)) $x30) (fp.lt ((_ to_fp 11 53) x_ackermann!5) ?x29)))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (let ((?x36 ((_ to_fp 11 53) x_ackermann!5)))
- (fp.gt ?x36 ?x13))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
+(assert
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))))
 (assert
  (not false))
 (check-sat)
diff --git a/UnitTests/sat/QF_BVFP/query.1214.smt2 b/UnitTests/sat/QF_BVFP/query.1214.smt2
index 37df917aa6fa11d1d39f57269f1ed75efe9c6b2d..56fd0910892a1a02c1b47d3baad626194142a030 100644
--- a/UnitTests/sat/QF_BVFP/query.1214.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1214.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1214.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1214.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1244.smt2 b/UnitTests/sat/QF_BVFP/query.1244.smt2
index 45e4a81edc5116cfd931e1903583129b1bd9a1eb..49496aaf905f973127004347ead03cc6567c6053 100644
--- a/UnitTests/sat/QF_BVFP/query.1244.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1244.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1244.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1244.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -18,36 +19,44 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x14))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x25 ((_ to_fp 11 53) x_ackermann!4)))
- (let (($x26 (fp.isNaN ?x25)))
- (or $x26 (fp.lt ?x25 ((_ to_fp 11 53) x_ackermann!1))))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x25 ((_ to_fp 11 53) x_ackermann!4)))
- (fp.gt ?x25 ?x17))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (let ((?x25 ((_ to_fp 11 53) x_ackermann!4)))
- (let (($x26 (fp.isNaN ?x25)))
- (or $x26 (fp.lt ((_ to_fp 11 53) x_ackermann!5) ?x25)))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!0))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x34 ((_ to_fp 11 53) x_ackermann!5)))
+ (fp.lt ?x34 ?x14))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!3))))
 (assert
  (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)))))
+ (let ((?x34 ((_ to_fp 11 53) x_ackermann!5)))
+ (let (($x42 (fp.isNaN ?x34)))
+ (not $x42))))
+(assert
+ (let ((?x34 ((_ to_fp 11 53) x_ackermann!5)))
+ (let (($x42 (fp.isNaN ?x34)))
+ (or $x42 (fp.gt ((_ to_fp 11 53) x_ackermann!3) ?x34)))))
+(assert
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
+(assert
+ (not false))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.1261.smt2 b/UnitTests/sat/QF_BVFP/query.1261.smt2
index 152f76008658f9890784a4fd1f3aaaf02f891178..d73c27b8e16c829fa82e122fdfe55f01d5060e77 100644
--- a/UnitTests/sat/QF_BVFP/query.1261.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1261.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1261.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1261.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1275.smt2 b/UnitTests/sat/QF_BVFP/query.1275.smt2
index 07a6ea167845f61fb9deda26045fe86a9ee13e42..870dad63fdb1146128fa2129f10d4e0b2567ea79 100644
--- a/UnitTests/sat/QF_BVFP/query.1275.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1275.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1275.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1275.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -18,37 +19,43 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1))))
-(assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x14))))
 (assert
  (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
- (fp.gt ?x17 ?x13))))
+ (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
+ (fp.gt ?x16 ?x13))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
+(assert
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
  (let ((?x26 ((_ to_fp 11 53) x_ackermann!4)))
  (let (($x27 (fp.isNaN ?x26)))
- (or $x27 (fp.lt ?x26 ((_ to_fp 11 53) x_ackermann!1))))))
+ (or (or $x27 (fp.isNaN ((_ to_fp 11 53) x_ackermann!0))) (fp.lt ?x26 ((_ to_fp 11 53) x_ackermann!0))))))
 (assert
- (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
  (let ((?x26 ((_ to_fp 11 53) x_ackermann!4)))
- (fp.gt ?x26 ?x17))))
+ (fp.gt ?x26 ?x14))))
 (assert
  (let ((?x26 ((_ to_fp 11 53) x_ackermann!4)))
  (let (($x27 (fp.isNaN ?x26)))
- (or $x27 (fp.lt ((_ to_fp 11 53) x_ackermann!5) ?x26)))))
-(assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!2))))
+ (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)) $x27) (fp.lt ((_ to_fp 11 53) x_ackermann!5) ?x26)))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!0))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x33 ((_ to_fp 11 53) x_ackermann!5)))
+ (fp.gt ?x33 ?x14))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))))
+ (let ((?x19 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x39 (fp.isNaN ?x19)))
+ (not $x39))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
+ (let ((?x19 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x39 (fp.isNaN ?x19)))
+ (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)) $x39) (fp.gt ((_ to_fp 11 53) x_ackermann!1) ?x19)))))
 (assert
  (not false))
 (check-sat)
diff --git a/UnitTests/sat/QF_BVFP/query.1335.smt2 b/UnitTests/sat/QF_BVFP/query.1335.smt2
index adaa958f02ff7714068b06e31fcd27aa021ddb65..d3f2c05c3456dffb84e86b347e9fe526c9053a66 100644
--- a/UnitTests/sat/QF_BVFP/query.1335.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1335.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1335.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1335.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1463.smt2 b/UnitTests/sat/QF_BVFP/query.1463.smt2
index 0b5c57a41a3c65bba8d045fa5f16ac434d507f85..5dde0074c2c00c9ed062ed7ad29197553d516b01 100644
--- a/UnitTests/sat/QF_BVFP/query.1463.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1463.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1463.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1463.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1472.smt2 b/UnitTests/sat/QF_BVFP/query.1472.smt2
index daae29ceef2fe51405074346248b0a5e72e406f8..9fb4cd73da28c82c329bae1fda615ac157e9d427 100644
--- a/UnitTests/sat/QF_BVFP/query.1472.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1472.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1472.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1472.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1482.smt2 b/UnitTests/sat/QF_BVFP/query.1482.smt2
index 2023e29fd836ecca56d00a9754b10a52600731a9..d5cee2c5b2741487bab2f98c9a9f3b4d7507399d 100644
--- a/UnitTests/sat/QF_BVFP/query.1482.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1482.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1482.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1482.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1520.smt2 b/UnitTests/sat/QF_BVFP/query.1520.smt2
index 3cb4d6ba89663f1080dfda8dfd2a652b604bcf0b..7656debc1f2e45cf84630c94ebabc6bea73d6a6a 100644
--- a/UnitTests/sat/QF_BVFP/query.1520.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1520.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1520.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1520.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -20,37 +21,36 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (assert
  (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
- (let (($x21 (fp.isNaN ?x20)))
- (or (or $x21 (fp.isNaN ((_ to_fp 11 53) x_ackermann!1))) (fp.lt ?x20 ((_ to_fp 11 53) x_ackermann!1))))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
- (fp.gt ?x20 ?x17))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
- (let (($x21 (fp.isNaN ?x20)))
- (let ((?x27 ((_ to_fp 11 53) x_ackermann!4)))
- (let (($x28 (fp.isNaN ?x27)))
- (or (or $x28 $x21) (fp.lt ?x27 ?x20)))))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x17 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x31 ((_ to_fp 11 53) x_ackermann!4)))
+ (fp.gt ?x31 ?x17))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (let ((?x27 ((_ to_fp 11 53) x_ackermann!4)))
- (fp.isNaN ?x27)))
+ (not (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x23 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x40 (fp.isNaN ?x23)))
+ (not $x40))))
+(assert
+ (let ((?x23 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x40 (fp.isNaN ?x23)))
+ (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) $x40) (fp.gt ((_ to_fp 11 53) x_ackermann!2) ?x23)))))
 (assert
  (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))))
 (assert
- (not (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)))))
+ (not false))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.1537.smt2 b/UnitTests/sat/QF_BVFP/query.1537.smt2
index 60b0b2152e75701192d87565af64adb0a28c1bb8..0aec7f56540c48bb3dd9820244d0f26e48471ff2 100644
--- a/UnitTests/sat/QF_BVFP/query.1537.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1537.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1537.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1537.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1553.smt2 b/UnitTests/sat/QF_BVFP/query.1553.smt2
index d1097e6e37a7df1030c3dcdcbe3507a00d23cece..87175d9a7af2a9ff772117cc4e28f692e34bd079 100644
--- a/UnitTests/sat/QF_BVFP/query.1553.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1553.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1553.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1553.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1588.smt2 b/UnitTests/sat/QF_BVFP/query.1588.smt2
index 281ba6dec0ffa03d2ac71b615f722d6a70300f30..6b08c50d840cbe8371dd6fedac4a5f7bc5f9eafc 100644
--- a/UnitTests/sat/QF_BVFP/query.1588.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1588.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1588.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1588.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1640.smt2 b/UnitTests/sat/QF_BVFP/query.1640.smt2
index 130784ae4e0f6a84dea5cf4f380fa18ffed3a58f..a9a9195cfb474258bebb1ac83c0c423e8a4ea6cb 100644
--- a/UnitTests/sat/QF_BVFP/query.1640.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1640.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1640.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1640.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1668.smt2 b/UnitTests/sat/QF_BVFP/query.1668.smt2
index 6fa5f4e7c78fc152ecc574a109d3e141ac788962..6c56525d50f38b2b49b0537ff6fe98765dd9d0f8 100644
--- a/UnitTests/sat/QF_BVFP/query.1668.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1668.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1668.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1668.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1749.smt2 b/UnitTests/sat/QF_BVFP/query.1749.smt2
index 51062598af93926cc4d9c29b195d728e996ad381..ca570bf90166f54cc2c3c2b1e1a9d3a05c925381 100644
--- a/UnitTests/sat/QF_BVFP/query.1749.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1749.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1749.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1749.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1771.smt2 b/UnitTests/sat/QF_BVFP/query.1771.smt2
index 0e8c190375f2baaed5eeeeb3868daaf01a6618f5..0943e7c3a04db0e47ebd43cb738b45585b5a50ba 100644
--- a/UnitTests/sat/QF_BVFP/query.1771.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1771.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1771.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1771.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1781.smt2 b/UnitTests/sat/QF_BVFP/query.1781.smt2
index 204b3985cb0e6d3f7608648f3ae9c9ef6d7d4de9..026166748a1156e6fea780f41e3d23ee9e12d205 100644
--- a/UnitTests/sat/QF_BVFP/query.1781.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1781.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1781.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1781.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1784.smt2 b/UnitTests/sat/QF_BVFP/query.1784.smt2
index 1f20ce66771e33d344f99af8dc8dc6c1a1fafd10..3eef5965b58827626a443c1e200992baa603c979 100644
--- a/UnitTests/sat/QF_BVFP/query.1784.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1784.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1784.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1784.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1792.smt2 b/UnitTests/sat/QF_BVFP/query.1792.smt2
index 0f101661da79ebdff159c529ae410f3a3aceacb8..bf616edcd56dc9b06c76969a0aebdc707b0545b2 100644
--- a/UnitTests/sat/QF_BVFP/query.1792.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1792.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1792.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1792.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1819.smt2 b/UnitTests/sat/QF_BVFP/query.1819.smt2
index 85bcbd4b61d97187f27bf8a33ece7432cbf18685..a481473d0d77ec74db22bf46cf849017e677e914 100644
--- a/UnitTests/sat/QF_BVFP/query.1819.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1819.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1819.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1819.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -18,41 +19,49 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
+ (let (($x16 (fp.isNaN ?x15)))
  (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
- (fp.gt ?x13 ?x14))))
-(assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
+ (let (($x14 (fp.isNaN ?x13)))
+ (or (or $x14 $x16) (fp.lt ?x13 ?x15)))))))
 (assert
- (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
- (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
- (fp.gt ?x16 ?x14))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!0))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (let (($x14 (fp.isNaN ?x13)))
+ (let (($x28 (not $x14)))
+ (not (and $x28 (or $x14 (fp.gt ((_ to_fp 11 53) x_ackermann!3) ?x13))))))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x33 ((_ to_fp 11 53) x_ackermann!4)))
+ (fp.gt ?x33 ?x20))))
 (assert
- (not (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x33 ((_ to_fp 11 53) x_ackermann!4)))
+ (let ((?x35 ((_ to_fp 11 53) x_ackermann!5)))
+ (fp.gt ?x35 ?x33))))
 (assert
- (let ((?x33 ((_ to_fp 11 53) x_ackermann!5)))
- (let (($x34 (fp.isNaN ?x33)))
- (or $x34 (fp.lt ?x33 ((_ to_fp 11 53) x_ackermann!2))))))
+ (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
+ (let (($x16 (fp.isNaN ?x15)))
+ (or (or $x16 (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (fp.lt ?x15 ((_ to_fp 11 53) x_ackermann!5))))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!1) ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!3))))
+ (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
+ (fp.gt ?x15 ?x20))))
 (assert
- (let ((?x33 ((_ to_fp 11 53) x_ackermann!5)))
- (fp.isNaN ?x33)))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!4)) (fp.lt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!4))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not false))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+(let (($x14 (fp.isNaN ?x13)))
+(not $x14))))
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_BVFP/query.1859.smt2 b/UnitTests/sat/QF_BVFP/query.1859.smt2
index 079013a6ed6da96768443aed5e458717f39cd90d..18cff4e9a53be9ab0f76ab2b0bd8e36f6ca6d181 100644
--- a/UnitTests/sat/QF_BVFP/query.1859.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1859.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1859.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1859.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1919.smt2 b/UnitTests/sat/QF_BVFP/query.1919.smt2
index f9a4793ce1dff9a8b72fbf04b4ae230b9cf1c271..a8770764897eaf45fd129295da8fca603012ea46 100644
--- a/UnitTests/sat/QF_BVFP/query.1919.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1919.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee.x86_64/query.1919.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1919.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
@@ -18,35 +19,46 @@ Corresponding query: An equisatisfiable query (bitvectors replaced with reads fr
 (declare-fun x_ackermann!4 () (_ BitVec 64))
 (declare-fun x_ackermann!5 () (_ BitVec 64))
 (assert
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (let (($x16 (fp.isNaN ?x15)))
- (or (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!0)) $x16) (fp.lt ((_ to_fp 11 53) x_ackermann!0) ?x15)))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x13 ((_ to_fp 11 53) x_ackermann!0)))
+ (fp.gt ?x13 ?x14))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!2) ((_ to_fp 11 53) x_ackermann!0))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!0) ((_ to_fp 11 53) x_ackermann!3))))
+ (let ((?x14 ((_ to_fp 11 53) x_ackermann!1)))
+ (let ((?x16 ((_ to_fp 11 53) x_ackermann!2)))
+ (fp.gt ?x16 ?x14))))
 (assert
- (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
+ (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x21 (fp.isNaN ?x20)))
+ (or (or $x21 (fp.isNaN ((_ to_fp 11 53) x_ackermann!0))) (fp.lt ?x20 ((_ to_fp 11 53) x_ackermann!0))))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!3))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!0))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!1))))
 (assert
- (not (fp.isNaN ((_ to_fp 11 53) x_ackermann!4))))
+ (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!2)) (fp.lt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!2))))
 (assert
- (not (fp.gt ((_ to_fp 11 53) x_ackermann!3) ((_ to_fp 11 53) x_ackermann!2))))
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!1))))
+(assert
+ (not (fp.gt ((_ to_fp 11 53) x_ackermann!4) ((_ to_fp 11 53) x_ackermann!3))))
+(assert
+ (let (($x41 (or (fp.isNaN ((_ to_fp 11 53) x_ackermann!5)) (fp.isNaN ((_ to_fp 11 53) x_ackermann!1)))))
+ (or $x41 (fp.lt ((_ to_fp 11 53) x_ackermann!5) ((_ to_fp 11 53) x_ackermann!1)))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
+ (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
  (let ((?x38 ((_ to_fp 11 53) x_ackermann!5)))
  (fp.gt ?x38 ?x20))))
 (assert
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (let (($x16 (fp.isNaN ?x15)))
- (or (or $x16 (fp.isNaN ((_ to_fp 11 53) x_ackermann!5))) (fp.lt ?x15 ((_ to_fp 11 53) x_ackermann!5))))))
+ (let ((?x31 ((_ to_fp 11 53) x_ackermann!4)))
+ (let (($x45 (fp.isNaN ?x31)))
+ (not $x45))))
 (assert
- (let ((?x20 ((_ to_fp 11 53) x_ackermann!2)))
- (let ((?x15 ((_ to_fp 11 53) x_ackermann!1)))
- (fp.gt ?x15 ?x20))))
+ (let ((?x31 ((_ to_fp 11 53) x_ackermann!4)))
+ (let (($x45 (fp.isNaN ?x31)))
+ (let ((?x20 ((_ to_fp 11 53) x_ackermann!3)))
+ (let (($x21 (fp.isNaN ?x20)))
+ (or (or $x21 $x45) (fp.gt ?x20 ?x31)))))))
 (assert
  (not false))
 (check-sat)
diff --git a/UnitTests/sat/QF_BVFP/query.1963.smt2 b/UnitTests/sat/QF_BVFP/query.1963.smt2
index 93008ab9ed2ef2fbc5e695709fb6b861cd5bcc02..b4e0117cf3a998e391bf9672c9c330a15db272f4 100644
--- a/UnitTests/sat/QF_BVFP/query.1963.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1963.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1963.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1963.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.1995.smt2 b/UnitTests/sat/QF_BVFP/query.1995.smt2
index 3ce351d49a127e93ea4a4b4dc4092df001e8007d..bf11d6f2576ff40d2fffe6180e5745899f60b5bd 100644
--- a/UnitTests/sat/QF_BVFP/query.1995.smt2
+++ b/UnitTests/sat/QF_BVFP/query.1995.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1995.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.1995.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.2005.smt2 b/UnitTests/sat/QF_BVFP/query.2005.smt2
index f771208a5aed7591c3bb16a7dbeecc0463652c0f..df307dccde575d040b3a7f60eb9ae3b074fa13a6 100644
--- a/UnitTests/sat/QF_BVFP/query.2005.smt2
+++ b/UnitTests/sat/QF_BVFP/query.2005.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2005.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2005.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.2036.smt2 b/UnitTests/sat/QF_BVFP/query.2036.smt2
index 78a7020bd9b04f6da5cd104f4d4340e1ab3217bd..485a5cad1d7f9e594673a93c730ca76a38814edf 100644
--- a/UnitTests/sat/QF_BVFP/query.2036.smt2
+++ b/UnitTests/sat/QF_BVFP/query.2036.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2036.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2036.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.2110.smt2 b/UnitTests/sat/QF_BVFP/query.2110.smt2
index 28264a54e368433df880c92d74b03c5780722711..2b68fe94326a4b44e8d2a1d48f0ebd94d4604dba 100644
--- a/UnitTests/sat/QF_BVFP/query.2110.smt2
+++ b/UnitTests/sat/QF_BVFP/query.2110.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2110.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2110.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.2116.smt2 b/UnitTests/sat/QF_BVFP/query.2116.smt2
index 775b491b142e34e336cbf596efb90d5c46dc3229..8d0e997972b6e0741611dde0d5bc1afe151f27e2 100644
--- a/UnitTests/sat/QF_BVFP/query.2116.smt2
+++ b/UnitTests/sat/QF_BVFP/query.2116.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2116.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2116.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.2155.smt2 b/UnitTests/sat/QF_BVFP/query.2155.smt2
index f541d6f4a8e1616704eef90563ddedaed3a4bd23..d1c172b4370f0e58aebaeeccb9c130e04e529405 100644
--- a/UnitTests/sat/QF_BVFP/query.2155.smt2
+++ b/UnitTests/sat/QF_BVFP/query.2155.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |
@@ -6,7 +7,7 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2155.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_FPABV/liew/imperial_gsl_benchmarks_sort_smallest_klee_bug.x86_64/query.2155.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
diff --git a/UnitTests/sat/QF_BVFP/query.36.smt2 b/UnitTests/sat/QF_BVFP/query.36.smt2
deleted file mode 100644
index 3da1cfc9c655dd3f63b181b86c18abdb1b902d0a..0000000000000000000000000000000000000000
--- a/UnitTests/sat/QF_BVFP/query.36.smt2
+++ /dev/null
@@ -1,56 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_BVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/aachen_real_wxpro_tostr.x86_64/query.36.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status sat)
-(declare-fun meters_ackermann!0 () (_ BitVec 64))
-(assert
- (let ((?x8 ((_ to_fp 11 53) meters_ackermann!0)))
- (fp.geq ?x8 ((_ to_fp 11 53) (_ bv0 64)))))
-(assert
- (let ((?x8 ((_ to_fp 11 53) meters_ackermann!0)))
- (fp.leq ?x8 ((_ to_fp 11 53) (_ bv4652007308841189376 64)))))
-(assert
- (let ((?x8 ((_ to_fp 11 53) meters_ackermann!0)))
- (let ((?x16 (fp.abs ?x8)))
- (let ((?x18 ((_ fp.to_sbv 32) roundTowardZero ?x16)))
- (let ((?x19 ((_ sign_extend 32) ?x18)))
- (let ((?x26 (bvor (bvudiv ((_ extract 31 0) ?x19) (_ bv10 32)) ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x19))))))
- (= (_ bv0 32) ?x26)))))))
-(assert
- (let ((?x8 ((_ to_fp 11 53) meters_ackermann!0)))
- (let ((?x16 (fp.abs ?x8)))
- (let ((?x18 ((_ fp.to_sbv 32) roundTowardZero ?x16)))
- (let ((?x19 ((_ sign_extend 32) ?x18)))
- (let ((?x20 ((_ extract 31 0) ?x19)))
- (= (_ bv48 8) ((_ extract 7 0) (bvadd (_ bv48 32) (bvurem ?x20 (_ bv10 32)))))))))))
-(assert
- (let ((?x8 ((_ to_fp 11 53) meters_ackermann!0)))
- (let ((?x16 (fp.abs ?x8)))
- (let ((?x18 ((_ fp.to_sbv 32) roundTowardZero ?x16)))
- (let ((?x36 (fp.sub roundNearestTiesToEven ?x16 ((_ to_fp 11 53) roundNearestTiesToEven ?x18))))
- (let ((?x42 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x36 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
- (let ((?x44 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x42 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
- (let ((?x45 ((_ sign_extend 32) ?x44)))
- (let ((?x51 (bvor (bvudiv ((_ extract 31 0) ?x45) (_ bv10 32)) ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x45))))))
- (= (_ bv0 32) ?x51))))))))))
-(assert
- (let ((?x8 ((_ to_fp 11 53) meters_ackermann!0)))
-(let ((?x16 (fp.abs ?x8)))
-(let ((?x18 ((_ fp.to_sbv 32) roundTowardZero ?x16)))
-(let ((?x36 (fp.sub roundNearestTiesToEven ?x16 ((_ to_fp 11 53) roundNearestTiesToEven ?x18))))
-(let ((?x42 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x36 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
-(let ((?x44 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x42 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
-(let ((?x45 ((_ sign_extend 32) ?x44)))
-(let ((?x46 ((_ extract 31 0) ?x45)))
-(not (= (_ bv48 8) ((_ extract 7 0) (bvadd (_ bv48 32) (bvurem ?x46 (_ bv10 32)))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/sat/QF_FP/O220-024.smt2 b/UnitTests/sat/QF_FP/O220-024.smt2
index 235c35885757bc0b5fa8c10a18e617f6eccbc63e..0f9dd6cc8630e6527da72426a502bb2aa150255c 100644
--- a/UnitTests/sat/QF_FP/O220-024.smt2
+++ b/UnitTests/sat/QF_FP/O220-024.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 ;;; Processed by pysmt to remove constant-real bitvector literals
 (set-logic QF_FP)
diff --git a/UnitTests/sat/QF_FP/average_5.smt2 b/UnitTests/sat/QF_FP/average_5.smt2
index 6d2c378f67bb1a879a8ab1ab6095b4c154b6c76b..f06f589b6cdf63669d39145b118306a8f0406a9b 100644
--- a/UnitTests/sat/QF_FP/average_5.smt2
+++ b/UnitTests/sat/QF_FP/average_5.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 ;;; Processed by pysmt to remove constant-real bitvector literals
 (set-logic QF_FP)
diff --git a/UnitTests/sat/QF_FP/mul_03_3_1.smt2 b/UnitTests/sat/QF_FP/mul_03_3_1.smt2
index fe89baf2278df54eddf2375114ba7d573a37f744..275e5e6c7b56cccbdb76d1ad99d9e7b18fa30583 100644
--- a/UnitTests/sat/QF_FP/mul_03_3_1.smt2
+++ b/UnitTests/sat/QF_FP/mul_03_3_1.smt2
@@ -1,75 +1,70 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FP)
-(set-info :category "crafted")
-(set-info :source |Alberto Griggio <griggio@fbk.eu>. These benchmarks were used for the evaluation in the following paper: L. Haller, A. Griggio, M. Brain, D. Kroening: Deciding floating-point logic with systematic abstraction. FMCAD 2012. Real-numbered literals have been automatically translated by MathSAT|)
 (set-info :status sat)
-;; MathSAT API call trace
-;; generated on 05/20/15 17:24:52
-
-(declare-fun |goto_symex::&92;guard#1| () Bool)
-(declare-fun |c::main::1::c!0@1#1| () (_ FloatingPoint 8 24))
-(declare-fun |c::main::1::b!0@1#1| () (_ FloatingPoint 8 24))
-(declare-fun |c::main::1::a!0@1#1| () (_ FloatingPoint 8 24))
-(define-fun _t_3 () RoundingMode RNE)
-(define-fun _t_9 () (_ FloatingPoint 8 24) |c::main::1::a!0@1#1|)
-(define-fun _t_10 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) _t_3 _t_9))
-(define-fun _t_12 () (_ FloatingPoint 11 53) (fp #b0 #b10000001000 #b1111010000000000000000000000000000000000000000000000))
-(define-fun _t_13 () Bool (fp.lt _t_10 _t_12))
-(define-fun _t_14 () (_ FloatingPoint 8 24) |c::main::1::b!0@1#1|)
-(define-fun _t_15 () (_ FloatingPoint 8 24) |c::main::1::c!0@1#1|)
-(define-fun _t_16 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_14 _t_15))
-(define-fun _t_17 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_9 _t_16))
-(define-fun _t_18 () (_ FloatingPoint 8 24) (fp.neg _t_17))
-(define-fun _t_19 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_9 _t_14))
-(define-fun _t_20 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_15 _t_19))
-(define-fun _t_21 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_18 _t_20))
-(define-fun _t_23 () (_ FloatingPoint 8 24) (fp #b0 #b10000000 #b10000000000000000000000))
-(define-fun _t_24 () Bool (fp.leq _t_21 _t_23))
-(define-fun _t_26 () (_ FloatingPoint 11 53) (fp #b1 #b10000001000 #b1111010000000000000000000000000000000000000000000000))
-(define-fun _t_27 () Bool (fp.lt _t_26 _t_10))
-(define-fun _t_28 () Bool (and _t_13 _t_27))
-(define-fun _t_29 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) _t_3 _t_14))
-(define-fun _t_30 () Bool (fp.lt _t_29 _t_12))
-(define-fun _t_31 () Bool (and _t_28 _t_30))
-(define-fun _t_32 () Bool (fp.lt _t_26 _t_29))
-(define-fun _t_33 () Bool (and _t_31 _t_32))
-(define-fun _t_34 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) _t_3 _t_15))
-(define-fun _t_35 () Bool (fp.lt _t_34 _t_12))
-(define-fun _t_36 () Bool (and _t_33 _t_35))
-(define-fun _t_37 () Bool (fp.lt _t_26 _t_34))
-(define-fun _t_38 () Bool (and _t_36 _t_37))
-(define-fun _t_39 () Bool (fp.leq _t_14 _t_9))
-(define-fun _t_40 () Bool (and _t_38 _t_39))
-(define-fun _t_41 () Bool (fp.leq _t_15 _t_14))
-(define-fun _t_42 () Bool (and _t_40 _t_41))
-(define-fun _t_43 () (_ FloatingPoint 8 24) (fp.neg _t_14))
-(define-fun _t_44 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_9 _t_43))
-(define-fun _t_46 () (_ FloatingPoint 8 24) (fp #b0 #b01111101 #b00110011001100110011001))
-(define-fun _t_47 () Bool (fp.leq _t_44 _t_46))
-(define-fun _t_48 () Bool (and _t_42 _t_47))
-(define-fun _t_49 () (_ FloatingPoint 8 24) (fp.neg _t_15))
-(define-fun _t_50 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_9 _t_49))
-(define-fun _t_51 () Bool (fp.leq _t_50 _t_46))
-(define-fun _t_52 () Bool (and _t_48 _t_51))
-(define-fun _t_53 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_14 _t_49))
-(define-fun _t_54 () Bool (fp.leq _t_53 _t_46))
-(define-fun _t_55 () Bool (and _t_52 _t_54))
-(define-fun _t_56 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) _t_3 _t_20))
-(define-fun _t_57 () (_ FloatingPoint 11 53) (_ +oo 11 53))
-(define-fun _t_58 () Bool (fp.lt _t_56 _t_57))
-(define-fun _t_59 () (_ FloatingPoint 11 53) (_ -oo 11 53))
-(define-fun _t_60 () Bool (fp.lt _t_59 _t_56))
-(define-fun _t_61 () Bool (and _t_58 _t_60))
-(define-fun _t_62 () Bool (and _t_55 _t_61))
-(define-fun _t_63 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) _t_3 _t_17))
-(define-fun _t_64 () Bool (fp.lt _t_63 _t_57))
-(define-fun _t_65 () Bool (fp.lt _t_59 _t_63))
-(define-fun _t_66 () Bool (and _t_64 _t_65))
-(define-fun _t_67 () Bool (and _t_62 _t_66))
-(define-fun _t_68 () Bool (fp.leq _t_17 _t_20))
-(define-fun _t_69 () Bool (and _t_67 _t_68))
-(define-fun _t_70 () Bool (not _t_24))
-(define-fun _t_71 () Bool (and _t_69 _t_70))
-(assert _t_71)
+(set-option :print-success false)
+(set-logic QF_FP)
+(declare-fun x25 () (_ FloatingPoint 8 24))
+(declare-fun x18 () Bool)
+(declare-fun x42 () (_ FloatingPoint 8 24))
+(declare-fun x17 () (_ FloatingPoint 8 24))
+(define-fun x24 () RoundingMode RNE)
+(define-fun x46 () (_ FloatingPoint 8 24) x25)
+(define-fun x12 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) x24 x46))
+(define-fun x20 () (_ FloatingPoint 11 53) (fp #b0 #b10000001000 #b1111010000000000000000000000000000000000000000000000))
+(define-fun x21 () Bool (fp.lt x12 x20))
+(define-fun x39 () (_ FloatingPoint 8 24) x42)
+(define-fun x45 () (_ FloatingPoint 8 24) x17)
+(define-fun x49 () (_ FloatingPoint 8 24) (fp.mul x24 x45 x39))
+(define-fun x28 () (_ FloatingPoint 8 24) (fp.mul x24 x46 x49))
+(define-fun x23 () (_ FloatingPoint 8 24) (fp.neg x28))
+(define-fun x30 () (_ FloatingPoint 8 24) (fp.mul x24 x46 x39))
+(define-fun x22 () (_ FloatingPoint 8 24) (fp.mul x24 x30 x45))
+(define-fun x40 () (_ FloatingPoint 8 24) (fp.add x24 x23 x22))
+(define-fun x3 () (_ FloatingPoint 8 24) (fp #b0 #b10000000 #b10000000000000000000000))
+(define-fun x64 () Bool (fp.leq x40 x3))
+(define-fun x27 () (_ FloatingPoint 11 53) (fp #b1 #b10000001000 #b1111010000000000000000000000000000000000000000000000))
+(define-fun x5 () Bool (fp.lt x27 x12))
+(define-fun x54 () Bool (and x5 x21))
+(define-fun x37 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) x24 x39))
+(define-fun x44 () Bool (fp.gt x20 x37))
+(define-fun x2 () Bool (and x44 x54))
+(define-fun x26 () Bool (fp.lt x27 x37))
+(define-fun x55 () Bool (and x2 x26))
+(define-fun x4 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) x24 x45))
+(define-fun x41 () Bool (fp.lt x4 x20))
+(define-fun x14 () Bool (and x55 x41))
+(define-fun x51 () Bool (fp.gt x4 x27))
+(define-fun x13 () Bool (and x14 x51))
+(define-fun x34 () Bool (fp.geq x46 x39))
+(define-fun x58 () Bool (and x34 x13))
+(define-fun x53 () Bool (fp.geq x39 x45))
+(define-fun x31 () Bool (and x58 x53))
+(define-fun x59 () (_ FloatingPoint 8 24) (fp.neg x39))
+(define-fun x35 () (_ FloatingPoint 8 24) (fp.add x24 x59 x46))
+(define-fun x19 () (_ FloatingPoint 8 24) (fp #b0 #b01111101 #b00110011001100110011001))
+(define-fun x7 () Bool (fp.geq x19 x35))
+(define-fun x57 () Bool (and x31 x7))
+(define-fun x63 () (_ FloatingPoint 8 24) (fp.neg x45))
+(define-fun x15 () (_ FloatingPoint 8 24) (fp.add x24 x46 x63))
+(define-fun x62 () Bool (fp.leq x15 x19))
+(define-fun x8 () Bool (and x57 x62))
+(define-fun x1 () (_ FloatingPoint 8 24) (fp.add x24 x63 x39))
+(define-fun x60 () Bool (fp.leq x1 x19))
+(define-fun x29 () Bool (and x8 x60))
+(define-fun x36 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) x24 x22))
+(define-fun x48 () (_ FloatingPoint 11 53) (_ +oo 11 53))
+(define-fun x6 () Bool (fp.lt x36 x48))
+(define-fun x38 () (_ FloatingPoint 11 53) (_ -oo 11 53))
+(define-fun x50 () Bool (fp.lt x38 x36))
+(define-fun x32 () Bool (and x6 x50))
+(define-fun x16 () Bool (and x29 x32))
+(define-fun x11 () (_ FloatingPoint 11 53) ((_ to_fp 11 53) x24 x28))
+(define-fun x61 () Bool (fp.lt x11 x48))
+(define-fun x33 () Bool (fp.gt x11 x38))
+(define-fun x47 () Bool (and x61 x33))
+(define-fun x52 () Bool (and x16 x47))
+(define-fun x56 () Bool (fp.geq x22 x28))
+(define-fun x10 () Bool (and x52 x56))
+(define-fun x43 () Bool (not x64))
+(define-fun x9 () Bool (and x10 x43))
+(assert x9)
 (check-sat)
 (exit)
diff --git a/UnitTests/sat/QF_FPLRA/propExpLn1.smt2 b/UnitTests/sat/QF_FPLRA/propExpLn1.smt2
index eac40038b12f4934e5c05e10edfb628a1f73f5e5..f845200edd4ff73fa6fa4d131d9cae287babd208 100644
--- a/UnitTests/sat/QF_FPLRA/propExpLn1.smt2
+++ b/UnitTests/sat/QF_FPLRA/propExpLn1.smt2
@@ -1,3 +1,4 @@
+(set-info :status sat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_FPLRA)
 (set-info :source |
diff --git a/UnitTests/unsat/QF_ABVFP/query.114.smt2 b/UnitTests/unsat/QF_ABVFP/query.114.smt2
deleted file mode 100644
index a751da6710105584e23e921ff3385a411cdd3bb6..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_ABVFP/query.114.smt2
+++ /dev/null
@@ -1,144 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_exp_loop.c.x86_64/query.114.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status unsat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ((_ to_fp 11 53) roundNearestTiesToEven ?x19) ((_ to_fp 11 53) (_ bv4457293557087583675 64)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1343554297 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1065353216 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1073741824 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1082130432 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1090519040 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1098907648 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1107296256 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1115684864 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1124073472 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1132462080 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1140850688 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1149239296 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1157627904 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1166016512 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1174405120 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1182793728 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1191182336 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1199570944 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1207959552 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1216348160 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1224736768 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.gt ((_ to_fp 8 24) (_ bv1233125376 32)) ?x19)))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x114 (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven ?x19 ((_ to_fp 8 24) (_ bv1233125376 32))) ((_ to_fp 8 24) (_ bv1149239296 32)))))
-(let (($x116 (not (fp.isNaN ?x114))))
-(let (($x126 (and (and $x116 (not (fp.lt ?x114 ((_ to_fp 8 24) (_ bv0 32))))) (and $x116 (not (fp.gt ?x114 ((_ to_fp 8 24) (_ bv1232348160 32))))))))
-(not $x126))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.138.smt2 b/UnitTests/unsat/QF_ABVFP/query.138.smt2
deleted file mode 100644
index 66548833550a1b9ffe29267002b9f4dae4bb9c27..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_ABVFP/query.138.smt2
+++ /dev/null
@@ -1,209 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_exp_loop.c.x86_64/query.138.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status unsat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ((_ to_fp 11 53) roundNearestTiesToEven ?x19) ((_ to_fp 11 53) (_ bv4457293557087583675 64)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1343554297 32)))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1065353216 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.lt ?x19 ((_ to_fp 8 24) (_ bv1073741824 32))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1082130432 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1090519040 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1098907648 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1107296256 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1115684864 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1124073472 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1132462080 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1140850688 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1149239296 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1157627904 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1166016512 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1174405120 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1182793728 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1191182336 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1199570944 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1207959552 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1216348160 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1224736768 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1233125376 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1241513984 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1249902592 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1258291200 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1266679808 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1275068416 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1283457024 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1291845632 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1300234240 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1308622848 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1317011456 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1325400064 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.gt ((_ to_fp 8 24) (_ bv1333788672 32)) ?x19))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.gt ((_ to_fp 8 24) (_ bv1342177280 32)) ?x19)))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x166 (fp.mul roundNearestTiesToEven (fp.div roundNearestTiesToEven ?x19 ((_ to_fp 8 24) (_ bv1342177280 32))) ((_ to_fp 8 24) (_ bv1199570944 32)))))
-(let (($x168 (not (fp.isNaN ?x166))))
-(let (($x178 (and (and $x168 (not (fp.lt ?x166 ((_ to_fp 8 24) (_ bv0 32))))) (and $x168 (not (fp.gt ?x166 ((_ to_fp 8 24) (_ bv1232348160 32))))))))
-(not $x178))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.146.smt2 b/UnitTests/unsat/QF_ABVFP/query.146.smt2
deleted file mode 100644
index 10b5ef5a1767d601bcdeabe55c2485e81c1d1a17..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_ABVFP/query.146.smt2
+++ /dev/null
@@ -1,254 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.146.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status unsat)
-(declare-fun symbolic_0_float_60 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_74 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_53 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_15 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_26 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_47 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x24))))))
-(assert
- (let ((?x63 (concat (select symbolic_0_float_74 (_ bv1 32)) (select symbolic_0_float_74 (_ bv0 32)))))
- (let ((?x67 (concat (select symbolic_0_float_74 (_ bv3 32)) (concat (select symbolic_0_float_74 (_ bv2 32)) ?x63))))
- (let ((?x68 ((_ to_fp 8 24) ?x67)))
- (let ((?x59 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x69 (fp.sub roundNearestTiesToEven ?x59 ?x68)))
- (let ((?x49 (concat (select symbolic_0_float_53 (_ bv1 32)) (select symbolic_0_float_53 (_ bv0 32)))))
- (let ((?x53 (concat (select symbolic_0_float_53 (_ bv3 32)) (concat (select symbolic_0_float_53 (_ bv2 32)) ?x49))))
- (let ((?x54 ((_ to_fp 8 24) ?x53)))
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x45 (fp.sub roundNearestTiesToEven ?x34 ?x43)))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x19 (fp.sub roundNearestTiesToEven ?x45 ?x54))))
- (or (or (fp.isNaN ?x56) (fp.isNaN ?x69)) (fp.gt ?x56 ?x69))))))))))))))))))))))
-(assert
- (let ((?x63 (concat (select symbolic_0_float_74 (_ bv1 32)) (select symbolic_0_float_74 (_ bv0 32)))))
- (let ((?x67 (concat (select symbolic_0_float_74 (_ bv3 32)) (concat (select symbolic_0_float_74 (_ bv2 32)) ?x63))))
- (let ((?x68 ((_ to_fp 8 24) ?x67)))
- (let ((?x49 (concat (select symbolic_0_float_53 (_ bv1 32)) (select symbolic_0_float_53 (_ bv0 32)))))
- (let ((?x53 (concat (select symbolic_0_float_53 (_ bv3 32)) (concat (select symbolic_0_float_53 (_ bv2 32)) ?x49))))
- (let ((?x54 ((_ to_fp 8 24) ?x53)))
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x45 (fp.sub roundNearestTiesToEven ?x34 ?x43)))
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x56 (fp.sub roundNearestTiesToEven ?x19 (fp.sub roundNearestTiesToEven ?x45 ?x54))))
- (or (or (fp.isNaN ?x56) (fp.isNaN ?x68)) (fp.lt ?x56 ?x68))))))))))))))))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (fp.geq ?x34 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (fp.leq ?x34 ?x24))))))
-(assert
- (let ((?x86 (concat (select symbolic_0_float_15 (_ bv1 32)) (select symbolic_0_float_15 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_15 (_ bv3 32)) (concat (select symbolic_0_float_15 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (let ((?x59 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x92 (fp.sub roundNearestTiesToEven ?x59 ?x91)))
- (let ((?x80 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x81 (fp.sub roundNearestTiesToEven ?x34 ?x80)))
- (or (or (fp.isNaN ?x81) (fp.isNaN ?x92)) (fp.gt ?x81 ?x92)))))))))))))
-(assert
- (let ((?x86 (concat (select symbolic_0_float_15 (_ bv1 32)) (select symbolic_0_float_15 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_15 (_ bv3 32)) (concat (select symbolic_0_float_15 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (let ((?x80 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x81 (fp.sub roundNearestTiesToEven ?x34 ?x80)))
- (or (or (fp.isNaN ?x81) (fp.isNaN ?x91)) (fp.lt ?x81 ?x91)))))))))))
-(assert
- (let ((?x80 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (fp.geq ?x43 ?x80))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (fp.leq ?x43 ?x103))))))
-(assert
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x108 (concat (select symbolic_0_float_26 (_ bv1 32)) (select symbolic_0_float_26 (_ bv0 32)))))
- (let ((?x112 (concat (select symbolic_0_float_26 (_ bv3 32)) (concat (select symbolic_0_float_26 (_ bv2 32)) ?x108))))
- (let ((?x113 ((_ to_fp 8 24) ?x112)))
- (let ((?x114 (fp.sub roundNearestTiesToEven ?x113 ?x34)))
- (not (fp.isNaN ?x114))))))))))
-(assert
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x59 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x117 (fp.sub roundNearestTiesToEven ?x59 ?x43)))
- (not (fp.isNaN ?x117))))))))
-(assert
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x59 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x117 (fp.sub roundNearestTiesToEven ?x59 ?x43)))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x108 (concat (select symbolic_0_float_26 (_ bv1 32)) (select symbolic_0_float_26 (_ bv0 32)))))
- (let ((?x112 (concat (select symbolic_0_float_26 (_ bv3 32)) (concat (select symbolic_0_float_26 (_ bv2 32)) ?x108))))
- (let ((?x113 ((_ to_fp 8 24) ?x112)))
- (let ((?x114 (fp.sub roundNearestTiesToEven ?x113 ?x34)))
- (not (fp.gt ?x114 ?x117)))))))))))))))
-(assert
- (let ((?x80 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x49 (concat (select symbolic_0_float_53 (_ bv1 32)) (select symbolic_0_float_53 (_ bv0 32)))))
- (let ((?x53 (concat (select symbolic_0_float_53 (_ bv3 32)) (concat (select symbolic_0_float_53 (_ bv2 32)) ?x49))))
- (let ((?x54 ((_ to_fp 8 24) ?x53)))
- (fp.geq ?x54 ?x80))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x49 (concat (select symbolic_0_float_53 (_ bv1 32)) (select symbolic_0_float_53 (_ bv0 32)))))
- (let ((?x53 (concat (select symbolic_0_float_53 (_ bv3 32)) (concat (select symbolic_0_float_53 (_ bv2 32)) ?x49))))
- (let ((?x54 ((_ to_fp 8 24) ?x53)))
- (fp.leq ?x54 ?x103))))))
-(assert
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x45 (fp.sub roundNearestTiesToEven ?x34 ?x43)))
- (let ((?x127 (concat (select symbolic_0_float_47 (_ bv1 32)) (select symbolic_0_float_47 (_ bv0 32)))))
- (let ((?x131 (concat (select symbolic_0_float_47 (_ bv3 32)) (concat (select symbolic_0_float_47 (_ bv2 32)) ?x127))))
- (let ((?x132 ((_ to_fp 8 24) ?x131)))
- (let ((?x133 (fp.sub roundNearestTiesToEven ?x132 ?x45)))
- (not (fp.isNaN ?x133))))))))))))))
-(assert
- (let ((?x49 (concat (select symbolic_0_float_53 (_ bv1 32)) (select symbolic_0_float_53 (_ bv0 32)))))
- (let ((?x53 (concat (select symbolic_0_float_53 (_ bv3 32)) (concat (select symbolic_0_float_53 (_ bv2 32)) ?x49))))
- (let ((?x54 ((_ to_fp 8 24) ?x53)))
- (let ((?x59 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x136 (fp.sub roundNearestTiesToEven ?x59 ?x54)))
- (not (fp.isNaN ?x136))))))))
-(assert
- (let ((?x49 (concat (select symbolic_0_float_53 (_ bv1 32)) (select symbolic_0_float_53 (_ bv0 32)))))
- (let ((?x53 (concat (select symbolic_0_float_53 (_ bv3 32)) (concat (select symbolic_0_float_53 (_ bv2 32)) ?x49))))
- (let ((?x54 ((_ to_fp 8 24) ?x53)))
- (let ((?x59 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x136 (fp.sub roundNearestTiesToEven ?x59 ?x54)))
- (let ((?x38 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x42 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x38))))
- (let ((?x43 ((_ to_fp 8 24) ?x42)))
- (let ((?x29 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x33 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x29))))
- (let ((?x34 ((_ to_fp 8 24) ?x33)))
- (let ((?x45 (fp.sub roundNearestTiesToEven ?x34 ?x43)))
- (let ((?x127 (concat (select symbolic_0_float_47 (_ bv1 32)) (select symbolic_0_float_47 (_ bv0 32)))))
- (let ((?x131 (concat (select symbolic_0_float_47 (_ bv3 32)) (concat (select symbolic_0_float_47 (_ bv2 32)) ?x127))))
- (let ((?x132 ((_ to_fp 8 24) ?x131)))
- (let ((?x133 (fp.sub roundNearestTiesToEven ?x132 ?x45)))
- (not (fp.gt ?x133 ?x136)))))))))))))))))))
-(assert
- (let ((?x80 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (concat (select symbolic_0_float_74 (_ bv1 32)) (select symbolic_0_float_74 (_ bv0 32)))))
- (let ((?x67 (concat (select symbolic_0_float_74 (_ bv3 32)) (concat (select symbolic_0_float_74 (_ bv2 32)) ?x63))))
- (let ((?x68 ((_ to_fp 8 24) ?x67)))
- (fp.geq ?x68 ?x80))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x63 (concat (select symbolic_0_float_74 (_ bv1 32)) (select symbolic_0_float_74 (_ bv0 32)))))
- (let ((?x67 (concat (select symbolic_0_float_74 (_ bv3 32)) (concat (select symbolic_0_float_74 (_ bv2 32)) ?x63))))
- (let ((?x68 ((_ to_fp 8 24) ?x67)))
- (fp.leq ?x68 ?x103))))))
-(assert
- (let ((?x80 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x86 (concat (select symbolic_0_float_15 (_ bv1 32)) (select symbolic_0_float_15 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_15 (_ bv3 32)) (concat (select symbolic_0_float_15 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (fp.geq ?x91 ?x80))))))
-(assert
- (let ((?x103 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x86 (concat (select symbolic_0_float_15 (_ bv1 32)) (select symbolic_0_float_15 (_ bv0 32)))))
- (let ((?x90 (concat (select symbolic_0_float_15 (_ bv3 32)) (concat (select symbolic_0_float_15 (_ bv2 32)) ?x86))))
- (let ((?x91 ((_ to_fp 8 24) ?x90)))
- (fp.leq ?x91 ?x103))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x108 (concat (select symbolic_0_float_26 (_ bv1 32)) (select symbolic_0_float_26 (_ bv0 32)))))
- (let ((?x112 (concat (select symbolic_0_float_26 (_ bv3 32)) (concat (select symbolic_0_float_26 (_ bv2 32)) ?x108))))
- (let ((?x113 ((_ to_fp 8 24) ?x112)))
- (fp.geq ?x113 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x108 (concat (select symbolic_0_float_26 (_ bv1 32)) (select symbolic_0_float_26 (_ bv0 32)))))
- (let ((?x112 (concat (select symbolic_0_float_26 (_ bv3 32)) (concat (select symbolic_0_float_26 (_ bv2 32)) ?x108))))
- (let ((?x113 ((_ to_fp 8 24) ?x112)))
- (fp.leq ?x113 ?x24))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x127 (concat (select symbolic_0_float_47 (_ bv1 32)) (select symbolic_0_float_47 (_ bv0 32)))))
- (let ((?x131 (concat (select symbolic_0_float_47 (_ bv3 32)) (concat (select symbolic_0_float_47 (_ bv2 32)) ?x127))))
- (let ((?x132 ((_ to_fp 8 24) ?x131)))
- (fp.geq ?x132 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x127 (concat (select symbolic_0_float_47 (_ bv1 32)) (select symbolic_0_float_47 (_ bv0 32)))))
- (let ((?x131 (concat (select symbolic_0_float_47 (_ bv3 32)) (concat (select symbolic_0_float_47 (_ bv2 32)) ?x127))))
- (let ((?x132 ((_ to_fp 8 24) ?x131)))
- (fp.leq ?x132 ?x24))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_60 (_ bv1 32)) (select symbolic_0_float_60 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float_60 (_ bv3 32)) (concat (select symbolic_0_float_60 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(not (and (fp.geq ?x19 ((_ to_fp 8 24) (_ bv3271622656 32))) (fp.leq ?x19 ((_ to_fp 8 24) (_ bv1124139008 32)))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.147.smt2 b/UnitTests/unsat/QF_ABVFP/query.147.smt2
deleted file mode 100644
index ffca2f6c3ac736fa64524d4589640dd4249e8e99..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_ABVFP/query.147.smt2
+++ /dev/null
@@ -1,272 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.147.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status unsat)
-(declare-fun symbolic_0_float0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_11 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_23 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_54 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_45 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_76 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_67 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x24))))))
-(assert
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x41 (fp.sub roundNearestTiesToEven ?x31 ?x40)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x19 ?x26)))
- (or (or (fp.isNaN ?x28) (fp.isNaN ?x41)) (fp.gt ?x28 ?x41)))))))))))))
-(assert
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x19 ?x26)))
- (or (or (fp.isNaN ?x28) (fp.isNaN ?x40)) (fp.lt ?x28 ?x40)))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (fp.geq ?x58 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (fp.leq ?x58 ?x61))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x71 ?x19)))
- (not (fp.isNaN ?x72))))))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x75 (fp.sub roundNearestTiesToEven ?x31 ?x58)))
- (not (fp.isNaN ?x75))))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x75 (fp.sub roundNearestTiesToEven ?x31 ?x58)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (let ((?x72 (fp.sub roundNearestTiesToEven ?x71 ?x19)))
- (not (fp.gt ?x72 ?x75)))))))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (fp.geq ?x88 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (fp.leq ?x88 ?x61))))))
-(assert
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (let ((?x101 (fp.sub roundNearestTiesToEven ?x99 ?x100)))
- (not (fp.isNaN ?x101))))))))))))))
-(assert
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x104 (fp.sub roundNearestTiesToEven ?x31 ?x88)))
- (not (fp.isNaN ?x104))))))))
-(assert
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x104 (fp.sub roundNearestTiesToEven ?x31 ?x88)))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (let ((?x101 (fp.sub roundNearestTiesToEven ?x99 ?x100)))
- (not (fp.gt ?x101 ?x104)))))))))))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x112 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (fp.geq ?x117 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x112 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (fp.leq ?x117 ?x61))))))
-(assert
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
- (let ((?x129 (fp.sub roundNearestTiesToEven ?x100 ?x88)))
- (let ((?x123 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x127 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x123))))
- (let ((?x128 ((_ to_fp 8 24) ?x127)))
- (let ((?x130 (fp.sub roundNearestTiesToEven ?x128 ?x129)))
- (not (fp.isNaN ?x130))))))))))))))))))
-(assert
- (let ((?x112 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x133 (fp.sub roundNearestTiesToEven ?x31 ?x117)))
- (not (fp.isNaN ?x133))))))))
-(assert
- (let ((?x112 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x116 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x112))))
- (let ((?x117 ((_ to_fp 8 24) ?x116)))
- (let ((?x31 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x133 (fp.sub roundNearestTiesToEven ?x31 ?x117)))
- (let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
- (let ((?x88 ((_ to_fp 8 24) ?x87)))
- (let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
- (let ((?x58 ((_ to_fp 8 24) ?x57)))
- (let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
- (let ((?x129 (fp.sub roundNearestTiesToEven ?x100 ?x88)))
- (let ((?x123 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x127 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x123))))
- (let ((?x128 ((_ to_fp 8 24) ?x127)))
- (let ((?x130 (fp.sub roundNearestTiesToEven ?x128 ?x129)))
- (not (fp.gt ?x130 ?x133)))))))))))))))))))))))
-(assert
- (let ((?x26 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (fp.geq ?x40 ?x26))))))
-(assert
- (let ((?x61 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x35 (concat (select symbolic_0_float_11 (_ bv1 32)) (select symbolic_0_float_11 (_ bv0 32)))))
- (let ((?x39 (concat (select symbolic_0_float_11 (_ bv3 32)) (concat (select symbolic_0_float_11 (_ bv2 32)) ?x35))))
- (let ((?x40 ((_ to_fp 8 24) ?x39)))
- (fp.leq ?x40 ?x61))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (fp.geq ?x71 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x66 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x70 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x66))))
- (let ((?x71 ((_ to_fp 8 24) ?x70)))
- (fp.leq ?x71 ?x24))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (fp.geq ?x99 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x94 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x98 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x94))))
- (let ((?x99 ((_ to_fp 8 24) ?x98)))
- (fp.leq ?x99 ?x24))))))
-(assert
- (let ((?x21 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x123 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x127 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x123))))
- (let ((?x128 ((_ to_fp 8 24) ?x127)))
- (fp.geq ?x128 ?x21))))))
-(assert
- (let ((?x24 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x123 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x127 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x123))))
- (let ((?x128 ((_ to_fp 8 24) ?x127)))
- (fp.leq ?x128 ?x24))))))
-(assert
- (let ((?x112 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
-(let ((?x116 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x112))))
-(let ((?x117 ((_ to_fp 8 24) ?x116)))
-(let ((?x83 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
-(let ((?x87 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x83))))
-(let ((?x88 ((_ to_fp 8 24) ?x87)))
-(let ((?x53 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
-(let ((?x57 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x53))))
-(let ((?x58 ((_ to_fp 8 24) ?x57)))
-(let ((?x12 (concat (select symbolic_0_float0 (_ bv1 32)) (select symbolic_0_float0 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float0 (_ bv3 32)) (concat (select symbolic_0_float0 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x100 (fp.sub roundNearestTiesToEven ?x19 ?x58)))
-(let ((?x129 (fp.sub roundNearestTiesToEven ?x100 ?x88)))
-(let ((?x146 (fp.sub roundNearestTiesToEven ?x129 ?x117)))
-(not (and (fp.geq ?x146 ((_ to_fp 8 24) (_ bv3271622656 32))) (fp.leq ?x146 ((_ to_fp 8 24) (_ bv1124139008 32)))))))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.185.smt2 b/UnitTests/unsat/QF_ABVFP/query.185.smt2
deleted file mode 100644
index 8acc7fe9b7eef623a05a94e69477b1fd34b0b200..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_ABVFP/query.185.smt2
+++ /dev/null
@@ -1,306 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_ABVFP)
-(set-info :source |
-Generated by: Daniel Liew, Daniel Schemmel, Cristian Cadar, Alastair Donaldson, and Rafael Zähl
-Generated on: 2017-4-28
-Generator: KLEE
-Application: Branch satisfiability check for symbolic execution of C programs
-Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/imperial_svcomp_float-benchs_svcomp_rlim_invariant.x86_64/query.185.smt2
-|)
-(set-info :license "https://creativecommons.org/licenses/by/4.0/")
-(set-info :category "industrial")
-(set-info :status unsat)
-(declare-fun symbolic_0_float_10 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_32 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_23 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_54 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_45 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_76 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun symbolic_0_float_67 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.geq ?x19 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (fp.leq ?x19 ?x23))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x26 ?x19)))
- (not (fp.isNaN ?x28))))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x28 (fp.sub roundNearestTiesToEven ?x26 ?x19)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.gt ?x40 ?x28)))))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.geq ?x51 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (fp.leq ?x51 ?x23))))))
-(assert
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x63)))
- (not (fp.isNaN ?x64))))))))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x67 (fp.sub roundNearestTiesToEven ?x26 ?x51)))
- (not (fp.isNaN ?x67))))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x67 (fp.sub roundNearestTiesToEven ?x26 ?x51)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (let ((?x64 (fp.sub roundNearestTiesToEven ?x62 ?x63)))
- (not (fp.gt ?x64 ?x67)))))))))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
- (let ((?x80 ((_ to_fp 8 24) ?x79)))
- (fp.geq ?x80 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
- (let ((?x80 ((_ to_fp 8 24) ?x79)))
- (fp.leq ?x80 ?x23))))))
-(assert
- (let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
- (let ((?x80 ((_ to_fp 8 24) ?x79)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x83 (fp.sub roundNearestTiesToEven ?x26 ?x80)))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x94 (fp.sub roundNearestTiesToEven ?x63 ?x51)))
- (let ((?x88 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x92 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x88))))
- (let ((?x93 ((_ to_fp 8 24) ?x92)))
- (let ((?x95 (fp.sub roundNearestTiesToEven ?x93 ?x94)))
- (or (fp.isNaN ?x83) (fp.gt ?x95 ?x83)))))))))))))))))))))
-(assert
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x94 (fp.sub roundNearestTiesToEven ?x63 ?x51)))
- (let ((?x88 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x92 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x88))))
- (let ((?x93 ((_ to_fp 8 24) ?x92)))
- (let ((?x95 (fp.sub roundNearestTiesToEven ?x93 ?x94)))
- (not (fp.isNaN ?x95))))))))))))))))
-(assert
- (let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
- (let ((?x80 ((_ to_fp 8 24) ?x79)))
- (not (fp.isNaN ?x80))))))
-(assert
- (let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
- (let ((?x80 ((_ to_fp 8 24) ?x79)))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x94 (fp.sub roundNearestTiesToEven ?x63 ?x51)))
- (let ((?x88 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x92 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x88))))
- (let ((?x93 ((_ to_fp 8 24) ?x92)))
- (let ((?x95 (fp.sub roundNearestTiesToEven ?x93 ?x94)))
- (not (fp.lt ?x95 ?x80)))))))))))))))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x107 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x111 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x107))))
- (let ((?x112 ((_ to_fp 8 24) ?x111)))
- (fp.geq ?x112 ?x20))))))
-(assert
- (let ((?x23 ((_ to_fp 8 24) (_ bv1098907648 32))))
- (let ((?x107 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x111 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x107))))
- (let ((?x112 ((_ to_fp 8 24) ?x111)))
- (fp.leq ?x112 ?x23))))))
-(assert
- (let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
- (let ((?x80 ((_ to_fp 8 24) ?x79)))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x94 (fp.sub roundNearestTiesToEven ?x63 ?x51)))
- (let ((?x124 (fp.add roundNearestTiesToEven ?x94 ?x80)))
- (let ((?x118 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x122 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x118))))
- (let ((?x123 ((_ to_fp 8 24) ?x122)))
- (let ((?x125 (fp.sub roundNearestTiesToEven ?x123 ?x124)))
- (not (fp.isNaN ?x125))))))))))))))))))))
-(assert
- (let ((?x107 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x111 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x107))))
- (let ((?x112 ((_ to_fp 8 24) ?x111)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x128 (fp.sub roundNearestTiesToEven ?x26 ?x112)))
- (not (fp.isNaN ?x128))))))))
-(assert
- (let ((?x107 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
- (let ((?x111 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x107))))
- (let ((?x112 ((_ to_fp 8 24) ?x111)))
- (let ((?x26 ((_ to_fp 8 24) (_ bv2147483648 32))))
- (let ((?x128 (fp.sub roundNearestTiesToEven ?x26 ?x112)))
- (let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
- (let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
- (let ((?x80 ((_ to_fp 8 24) ?x79)))
- (let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
- (let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
- (let ((?x51 ((_ to_fp 8 24) ?x50)))
- (let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
- (let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
- (let ((?x94 (fp.sub roundNearestTiesToEven ?x63 ?x51)))
- (let ((?x124 (fp.add roundNearestTiesToEven ?x94 ?x80)))
- (let ((?x118 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x122 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x118))))
- (let ((?x123 ((_ to_fp 8 24) ?x122)))
- (let ((?x125 (fp.sub roundNearestTiesToEven ?x123 ?x124)))
- (not (fp.gt ?x125 ?x128)))))))))))))))))))))))))
-(assert
- (let ((?x134 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.geq ?x39 ?x134))))))
-(assert
- (let ((?x137 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (fp.leq ?x39 ?x137))))))
-(assert
- (let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
- (let ((?x34 (concat (select symbolic_0_float1 (_ bv1 32)) (select symbolic_0_float1 (_ bv0 32)))))
- (let ((?x38 (concat (select symbolic_0_float1 (_ bv3 32)) (concat (select symbolic_0_float1 (_ bv2 32)) ?x34))))
- (let ((?x39 ((_ to_fp 8 24) ?x38)))
- (let ((?x40 (fp.sub roundNearestTiesToEven ?x39 ?x20)))
- (not (fp.isNaN ?x40))))))))
-(assert
- (let ((?x134 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (fp.geq ?x62 ?x134))))))
-(assert
- (let ((?x137 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x57 (concat (select symbolic_0_float_23 (_ bv1 32)) (select symbolic_0_float_23 (_ bv0 32)))))
- (let ((?x61 (concat (select symbolic_0_float_23 (_ bv3 32)) (concat (select symbolic_0_float_23 (_ bv2 32)) ?x57))))
- (let ((?x62 ((_ to_fp 8 24) ?x61)))
- (fp.leq ?x62 ?x137))))))
-(assert
- (let ((?x134 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x88 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x92 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x88))))
- (let ((?x93 ((_ to_fp 8 24) ?x92)))
- (fp.geq ?x93 ?x134))))))
-(assert
- (let ((?x137 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x88 (concat (select symbolic_0_float_45 (_ bv1 32)) (select symbolic_0_float_45 (_ bv0 32)))))
- (let ((?x92 (concat (select symbolic_0_float_45 (_ bv3 32)) (concat (select symbolic_0_float_45 (_ bv2 32)) ?x88))))
- (let ((?x93 ((_ to_fp 8 24) ?x92)))
- (fp.leq ?x93 ?x137))))))
-(assert
- (let ((?x134 ((_ to_fp 8 24) (_ bv3271557120 32))))
- (let ((?x118 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x122 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x118))))
- (let ((?x123 ((_ to_fp 8 24) ?x122)))
- (fp.geq ?x123 ?x134))))))
-(assert
- (let ((?x137 ((_ to_fp 8 24) (_ bv1124073472 32))))
- (let ((?x118 (concat (select symbolic_0_float_67 (_ bv1 32)) (select symbolic_0_float_67 (_ bv0 32)))))
- (let ((?x122 (concat (select symbolic_0_float_67 (_ bv3 32)) (concat (select symbolic_0_float_67 (_ bv2 32)) ?x118))))
- (let ((?x123 ((_ to_fp 8 24) ?x122)))
- (fp.leq ?x123 ?x137))))))
-(assert
- (let ((?x107 (concat (select symbolic_0_float_76 (_ bv1 32)) (select symbolic_0_float_76 (_ bv0 32)))))
-(let ((?x111 (concat (select symbolic_0_float_76 (_ bv3 32)) (concat (select symbolic_0_float_76 (_ bv2 32)) ?x107))))
-(let ((?x112 ((_ to_fp 8 24) ?x111)))
-(let ((?x75 (concat (select symbolic_0_float_54 (_ bv1 32)) (select symbolic_0_float_54 (_ bv0 32)))))
-(let ((?x79 (concat (select symbolic_0_float_54 (_ bv3 32)) (concat (select symbolic_0_float_54 (_ bv2 32)) ?x75))))
-(let ((?x80 ((_ to_fp 8 24) ?x79)))
-(let ((?x46 (concat (select symbolic_0_float_32 (_ bv1 32)) (select symbolic_0_float_32 (_ bv0 32)))))
-(let ((?x50 (concat (select symbolic_0_float_32 (_ bv3 32)) (concat (select symbolic_0_float_32 (_ bv2 32)) ?x46))))
-(let ((?x51 ((_ to_fp 8 24) ?x50)))
-(let ((?x12 (concat (select symbolic_0_float_10 (_ bv1 32)) (select symbolic_0_float_10 (_ bv0 32)))))
-(let ((?x18 (concat (select symbolic_0_float_10 (_ bv3 32)) (concat (select symbolic_0_float_10 (_ bv2 32)) ?x12))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x20 ((_ to_fp 8 24) (_ bv0 32))))
-(let ((?x63 (fp.sub roundNearestTiesToEven ?x20 ?x19)))
-(let ((?x94 (fp.sub roundNearestTiesToEven ?x63 ?x51)))
-(let ((?x124 (fp.add roundNearestTiesToEven ?x94 ?x80)))
-(let ((?x147 (fp.sub roundNearestTiesToEven ?x124 ?x112)))
-(not (and (fp.geq ?x147 ((_ to_fp 8 24) (_ bv3271622656 32))) (fp.leq ?x147 ((_ to_fp 8 24) (_ bv1124139008 32)))))))))))))))))))))))
-(check-sat)
-(exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.39.smt2 b/UnitTests/unsat/QF_ABVFP/query.39.smt2
index bec00477164b498a5cdbc72e5ae3061a9fde70b6..a7e630c951347585e1e05d7f8a35b1af89d9d88b 100644
--- a/UnitTests/unsat/QF_ABVFP/query.39.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.39.smt2
@@ -10,306 +10,150 @@ Target solver: Z3 or MathSAT5
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun sym0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun fresh_to_ieee_bv_!0 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!1 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!2 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!3 () (_ BitVec 32))
-(declare-fun const_arr11 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
 (assert
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19)))))))
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (not (fp.isNaN ?x33)))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.isNaN ?x33)))))
 (assert
- (let ((?x42 (select sym0 (_ bv14 32))))
- (let ((?x45 (select sym0 (_ bv15 32))))
- (let ((?x46 (concat ?x45 (concat ?x42 (concat (select sym0 (_ bv13 32)) (select sym0 (_ bv12 32)))))))
- (not (fp.isNaN ((_ to_fp 8 24) ?x46)))))))
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!0))))))))))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.isNaN ?x49)))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!1))))))))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.lt ?x49 ?x33)))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!2))))))))))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.isNaN ?x65)))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!3))))))))))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.lt ?x65 ?x49)))))))
 (assert
- (let ((?x56 ((_ extract 31 24) fresh_to_ieee_bv_!0)))
-(let ((?x14 (select sym0 (_ bv6 32))))
-(let ((?x17 (select sym0 (_ bv7 32))))
-(let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x28 (select sym0 (_ bv10 32))))
-(let ((?x31 (select sym0 (_ bv11 32))))
-(let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
-(let ((?x33 ((_ to_fp 8 24) ?x32)))
-(let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
-(let ((?x71 (ite (fp.lt ?x52 ?x19) (_ bv0 32) (_ bv1 32))))
-(let ((?x75 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x71)))))
-(let ((?x45 (select sym0 (_ bv15 32))))
-(let ((?x42 (select sym0 (_ bv14 32))))
-(let ((?x39 (select sym0 (_ bv13 32))))
-(let ((?x37 (select sym0 (_ bv12 32))))
-(let ((?x25 (select sym0 (_ bv9 32))))
-(let ((?x23 (select sym0 (_ bv8 32))))
-(let ((?x11 (select sym0 (_ bv5 32))))
-(let ((?x9 (select sym0 (_ bv4 32))))
-(let ((?x113 ((_ extract 23 16) fresh_to_ieee_bv_!1)))
-(let ((?x118 ((_ extract 15 8) fresh_to_ieee_bv_!2)))
-(let ((?x122 ((_ extract 7 0) fresh_to_ieee_bv_!3)))
-(let ((?x127 (store (store (store (store const_arr11 (_ bv0 32) (_ bv0 8)) (_ bv1 32) (_ bv0 8)) (_ bv2 32) (_ bv0 8)) (_ bv3 32) (_ bv0 8))))
-(let ((?x131 (store (store (store (store ?x127 (_ bv4 32) (_ bv0 8)) (_ bv5 32) (_ bv0 8)) (_ bv6 32) (_ bv0 8)) (_ bv7 32) (_ bv0 8))))
-(let ((?x135 (store (store (store (store ?x131 (_ bv8 32) (_ bv0 8)) (_ bv9 32) (_ bv0 8)) (_ bv10 32) (_ bv0 8)) (_ bv11 32) (_ bv0 8))))
-(let ((?x139 (store (store (store (store ?x135 (_ bv12 32) (_ bv0 8)) (_ bv13 32) (_ bv0 8)) (_ bv14 32) (_ bv0 8)) (_ bv15 32) (_ bv0 8))))
-(let ((?x143 (store (store (store (store ?x139 (_ bv16 32) (_ bv0 8)) (_ bv17 32) (_ bv0 8)) (_ bv18 32) (_ bv0 8)) (_ bv19 32) (_ bv0 8))))
-(let ((?x147 (store (store (store (store ?x143 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv0 8)) (_ bv23 32) (_ bv0 8))))
-(let ((?x151 (store (store (store (store ?x147 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv0 8)) (_ bv27 32) (_ bv0 8))))
-(let ((?x155 (store (store (store (store ?x151 (_ bv28 32) (_ bv0 8)) (_ bv29 32) (_ bv0 8)) (_ bv30 32) (_ bv0 8)) (_ bv31 32) (_ bv0 8))))
-(let ((?x159 (store (store (store (store ?x155 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv0 8)) (_ bv35 32) (_ bv0 8))))
-(let ((?x163 (store (store (store (store ?x159 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv0 8))))
-(let ((?x167 (store (store (store (store ?x163 (_ bv0 32) ?x122) (_ bv1 32) ?x118) (_ bv2 32) ?x113) (_ bv3 32) ?x56)))
-(let ((?x171 (store (store (store (store ?x167 (_ bv4 32) ?x9) (_ bv5 32) ?x11) (_ bv6 32) ?x14) (_ bv7 32) ?x17)))
-(let ((?x175 (store (store (store (store ?x171 (_ bv8 32) ?x23) (_ bv9 32) ?x25) (_ bv10 32) ?x28) (_ bv11 32) ?x31)))
-(let ((?x179 (store (store (store (store ?x175 (_ bv12 32) (_ bv154 8)) (_ bv13 32) (_ bv153 8)) (_ bv14 32) (_ bv153 8)) (_ bv15 32) (_ bv62 8))))
-(let ((?x183 (store (store (store (store ?x179 (_ bv16 32) (_ bv205 8)) (_ bv17 32) (_ bv204 8)) (_ bv18 32) (_ bv76 8)) (_ bv19 32) (_ bv62 8))))
-(let ((?x187 (store (store (store (store ?x183 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv128 8)) (_ bv23 32) (_ bv63 8))))
-(let ((?x191 (store (store (store (store ?x187 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv64 8)) (_ bv27 32) (_ bv64 8))))
-(let ((?x195 (store (store (store (store ?x191 (_ bv28 32) ?x37) (_ bv29 32) ?x39) (_ bv30 32) ?x42) (_ bv31 32) ?x45)))
-(let ((?x199 (store (store (store (store ?x195 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv128 8)) (_ bv35 32) (_ bv63 8))))
-(let ((?x203 (store (store (store (store ?x199 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv65 8))))
-(let ((?x210 (concat (select ?x203 (bvadd (_ bv2 32) ?x75)) (concat (select ?x203 (bvadd (_ bv1 32) ?x75)) (select ?x203 ?x75)))))
-(let ((?x216 (ite (fp.lt ?x19 ((_ to_fp 8 24) (concat (select ?x203 (bvadd (_ bv3 32) ?x75)) ?x210))) (_ bv1 32) ?x71)))
-(let ((?x223 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216)))))))
-(let ((?x226 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x223)))
-(let ((?x229 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x226)))
-(let ((?x232 (ite (fp.lt ?x33 ((_ to_fp 8 24) ?x229)) (_ bv2 32) ?x216)))
-(let ((?x239 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232)))))))
-(let ((?x242 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x239)))
-(let ((?x245 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x242)))
-(let ((?x248 (ite (fp.lt ((_ to_fp 8 24) (_ bv1050253722 32)) ((_ to_fp 8 24) ?x245)) (_ bv3 32) ?x232)))
-(let ((?x255 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248)))))))
-(let ((?x258 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x255)))
-(let ((?x261 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x258)))
-(let ((?x264 (ite (fp.lt ((_ to_fp 8 24) (_ bv1045220557 32)) ((_ to_fp 8 24) ?x261)) (_ bv4 32) ?x248)))
-(let ((?x271 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let ((?x280 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x277)) (_ bv5 32) ?x264)))
-(let ((?x287 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280)))))))
-(let ((?x290 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x287)))
-(let ((?x293 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x290)))
-(let ((?x296 (ite (fp.lt ((_ to_fp 8 24) (_ bv1077936128 32)) ((_ to_fp 8 24) ?x293)) (_ bv6 32) ?x280)))
-(let ((?x303 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296)))))))
-(let ((?x306 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x303)))
-(let ((?x309 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x306)))
-(let (($x311 (fp.lt ((_ to_fp 8 24) (concat ?x45 (concat ?x42 (concat ?x39 ?x37)))) ((_ to_fp 8 24) ?x309))))
-(let ((?x312 (ite $x311 (_ bv7 32) ?x296)))
-(let ((?x319 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312)))))))
-(let ((?x322 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x319)))
-(let ((?x325 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x322)))
-(let ((?x328 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x325)) (_ bv8 32) ?x312)))
-(let ((?x335 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328)))))))
-(let ((?x338 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x335)))
-(let ((?x341 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x338)))
-(let ((?x346 (bvmul (_ bv4 64) ((_ sign_extend 32) (ite (fp.lt ((_ to_fp 8 24) (_ bv1090519040 32)) ((_ to_fp 8 24) ?x341)) (_ bv9 32) ?x328)))))
-(let ((?x347 ((_ extract 31 0) ?x346)))
-(let ((?x348 (bvadd (_ bv3 32) ?x347)))
-(let ((?x349 (bvadd (_ bv2 32) ?x347)))
-(let ((?x350 (bvadd (_ bv1 32) ?x347)))
-(let ((?x357 (store (store (store ?x203 (_ bv0 32) (select ?x203 ?x347)) (_ bv1 32) (select ?x203 ?x350)) (_ bv2 32) (select ?x203 ?x349))))
-(let ((?x360 (store (store (store ?x357 (_ bv3 32) (select ?x203 ?x348)) ?x347 ?x122) ?x350 ?x118)))
-(let ((?x362 (store (store ?x360 ?x349 ?x113) ?x348 ?x56)))
-(let ((?x363 (select ?x362 (_ bv7 32))))
-(let ((?x424 (concat (select ?x362 (_ bv10 32)) (concat (select ?x362 (_ bv9 32)) (select ?x362 (_ bv8 32))))))
-(let ((?x431 (select ?x362 (_ bv6 32))))
-(let ((?x433 (concat ?x363 (concat ?x431 (concat (select ?x362 (_ bv5 32)) (select ?x362 (_ bv4 32)))))))
-(let ((?x436 (ite (fp.lt ((_ to_fp 8 24) ?x433) ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424))) (_ bv1 32) (_ bv2 32))))
-(let ((?x443 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436)))))))
-(let ((?x446 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x443)))
-(let ((?x449 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x446)))
-(let ((?x452 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424)) ((_ to_fp 8 24) ?x449)) (_ bv2 32) ?x436)))
-(let ((?x459 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452)))))))
-(let ((?x462 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x459)))
-(let ((?x465 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x462)))
-(let ((?x416 (concat (select ?x362 (_ bv14 32)) (concat (select ?x362 (_ bv13 32)) (select ?x362 (_ bv12 32))))))
-(let ((?x468 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv15 32)) ?x416)) ((_ to_fp 8 24) ?x465)) (_ bv3 32) ?x452)))
-(let ((?x475 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468)))))))
-(let ((?x478 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x475)))
-(let ((?x481 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x478)))
-(let ((?x408 (concat (select ?x362 (_ bv18 32)) (concat (select ?x362 (_ bv17 32)) (select ?x362 (_ bv16 32))))))
-(let ((?x484 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv19 32)) ?x408)) ((_ to_fp 8 24) ?x481)) (_ bv4 32) ?x468)))
-(let ((?x491 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484)))))))
-(let ((?x494 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x491)))
-(let ((?x497 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x494)))
-(let ((?x400 (concat (select ?x362 (_ bv22 32)) (concat (select ?x362 (_ bv21 32)) (select ?x362 (_ bv20 32))))))
-(let ((?x500 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv23 32)) ?x400)) ((_ to_fp 8 24) ?x497)) (_ bv5 32) ?x484)))
-(let ((?x507 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500)))))))
-(let ((?x510 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x507)))
-(let ((?x513 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x510)))
-(let ((?x392 (concat (select ?x362 (_ bv26 32)) (concat (select ?x362 (_ bv25 32)) (select ?x362 (_ bv24 32))))))
-(let ((?x516 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv27 32)) ?x392)) ((_ to_fp 8 24) ?x513)) (_ bv6 32) ?x500)))
-(let ((?x523 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516)))))))
-(let ((?x526 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x523)))
-(let ((?x529 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x526)))
-(let ((?x384 (concat (select ?x362 (_ bv30 32)) (concat (select ?x362 (_ bv29 32)) (select ?x362 (_ bv28 32))))))
-(let ((?x532 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv31 32)) ?x384)) ((_ to_fp 8 24) ?x529)) (_ bv7 32) ?x516)))
-(let ((?x539 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532)))))))
-(let ((?x542 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x539)))
-(let ((?x545 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x542)))
-(let ((?x376 (concat (select ?x362 (_ bv34 32)) (concat (select ?x362 (_ bv33 32)) (select ?x362 (_ bv32 32))))))
-(let ((?x548 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv35 32)) ?x376)) ((_ to_fp 8 24) ?x545)) (_ bv8 32) ?x532)))
-(let ((?x555 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548)))))))
-(let ((?x558 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x555)))
-(let ((?x561 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x558)))
-(let ((?x368 (concat (select ?x362 (_ bv38 32)) (concat (select ?x362 (_ bv37 32)) (select ?x362 (_ bv36 32))))))
-(let ((?x564 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv39 32)) ?x368)) ((_ to_fp 8 24) ?x561)) (_ bv9 32) ?x548)))
-(let ((?x567 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x564)))))
-(let ((?x568 (bvadd (_ bv3 32) ?x567)))
-(let ((?x569 (bvadd (_ bv2 32) ?x567)))
-(let ((?x429 (select ?x362 (_ bv5 32))))
-(let ((?x570 (bvadd (_ bv1 32) ?x567)))
-(let ((?x428 (select ?x362 (_ bv4 32))))
-(let ((?x577 (store (store (store ?x362 (_ bv4 32) (select ?x362 ?x567)) (_ bv5 32) (select ?x362 ?x570)) (_ bv6 32) (select ?x362 ?x569))))
-(let ((?x580 (store (store (store ?x577 (_ bv7 32) (select ?x362 ?x568)) ?x567 ?x428) ?x570 ?x429)))
-(let ((?x582 (store (store ?x580 ?x569 ?x431) ?x568 ?x363)))
-(let ((?x583 (select ?x582 (_ bv11 32))))
-(let ((?x636 (concat (select ?x582 (_ bv14 32)) (concat (select ?x582 (_ bv13 32)) (select ?x582 (_ bv12 32))))))
-(let ((?x643 (select ?x582 (_ bv10 32))))
-(let ((?x645 (concat ?x583 (concat ?x643 (concat (select ?x582 (_ bv9 32)) (select ?x582 (_ bv8 32)))))))
-(let ((?x648 (ite (fp.lt ((_ to_fp 8 24) ?x645) ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636))) (_ bv2 32) (_ bv3 32))))
-(let ((?x655 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648)))))))
-(let ((?x658 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x655)))
-(let ((?x661 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x658)))
-(let ((?x664 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636)) ((_ to_fp 8 24) ?x661)) (_ bv3 32) ?x648)))
-(let ((?x671 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664)))))))
-(let ((?x674 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x671)))
-(let ((?x677 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x674)))
-(let ((?x628 (concat (select ?x582 (_ bv18 32)) (concat (select ?x582 (_ bv17 32)) (select ?x582 (_ bv16 32))))))
-(let ((?x680 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv19 32)) ?x628)) ((_ to_fp 8 24) ?x677)) (_ bv4 32) ?x664)))
-(let ((?x687 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680)))))))
-(let ((?x690 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x687)))
-(let ((?x693 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x690)))
-(let ((?x620 (concat (select ?x582 (_ bv22 32)) (concat (select ?x582 (_ bv21 32)) (select ?x582 (_ bv20 32))))))
-(let ((?x696 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv23 32)) ?x620)) ((_ to_fp 8 24) ?x693)) (_ bv5 32) ?x680)))
-(let ((?x703 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696)))))))
-(let ((?x706 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x703)))
-(let ((?x709 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x706)))
-(let ((?x612 (concat (select ?x582 (_ bv26 32)) (concat (select ?x582 (_ bv25 32)) (select ?x582 (_ bv24 32))))))
-(let ((?x712 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv27 32)) ?x612)) ((_ to_fp 8 24) ?x709)) (_ bv6 32) ?x696)))
-(let ((?x719 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712)))))))
-(let ((?x722 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x719)))
-(let ((?x725 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x722)))
-(let ((?x604 (concat (select ?x582 (_ bv30 32)) (concat (select ?x582 (_ bv29 32)) (select ?x582 (_ bv28 32))))))
-(let ((?x728 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv31 32)) ?x604)) ((_ to_fp 8 24) ?x725)) (_ bv7 32) ?x712)))
-(let ((?x735 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728)))))))
-(let ((?x738 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x735)))
-(let ((?x741 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x738)))
-(let ((?x596 (concat (select ?x582 (_ bv34 32)) (concat (select ?x582 (_ bv33 32)) (select ?x582 (_ bv32 32))))))
-(let ((?x744 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv35 32)) ?x596)) ((_ to_fp 8 24) ?x741)) (_ bv8 32) ?x728)))
-(let ((?x751 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744)))))))
-(let ((?x754 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x751)))
-(let ((?x757 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x754)))
-(let ((?x588 (concat (select ?x582 (_ bv38 32)) (concat (select ?x582 (_ bv37 32)) (select ?x582 (_ bv36 32))))))
-(let ((?x760 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv39 32)) ?x588)) ((_ to_fp 8 24) ?x757)) (_ bv9 32) ?x744)))
-(let ((?x763 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x760)))))
-(let ((?x764 (bvadd (_ bv3 32) ?x763)))
-(let ((?x765 (bvadd (_ bv2 32) ?x763)))
-(let ((?x641 (select ?x582 (_ bv9 32))))
-(let ((?x766 (bvadd (_ bv1 32) ?x763)))
-(let ((?x640 (select ?x582 (_ bv8 32))))
-(let ((?x773 (store (store (store ?x582 (_ bv8 32) (select ?x582 ?x763)) (_ bv9 32) (select ?x582 ?x766)) (_ bv10 32) (select ?x582 ?x765))))
-(let ((?x776 (store (store (store ?x773 (_ bv11 32) (select ?x582 ?x764)) ?x763 ?x640) ?x766 ?x641)))
-(let ((?x778 (store (store ?x776 ?x765 ?x643) ?x764 ?x583)))
-(let ((?x779 (select ?x778 (_ bv15 32))))
-(let ((?x824 (concat (select ?x778 (_ bv18 32)) (concat (select ?x778 (_ bv17 32)) (select ?x778 (_ bv16 32))))))
-(let ((?x831 (select ?x778 (_ bv14 32))))
-(let ((?x833 (concat ?x779 (concat ?x831 (concat (select ?x778 (_ bv13 32)) (select ?x778 (_ bv12 32)))))))
-(let ((?x836 (ite (fp.lt ((_ to_fp 8 24) ?x833) ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824))) (_ bv3 32) (_ bv4 32))))
-(let ((?x843 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836)))))))
-(let ((?x846 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x843)))
-(let ((?x849 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x846)))
-(let ((?x852 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824)) ((_ to_fp 8 24) ?x849)) (_ bv4 32) ?x836)))
-(let ((?x859 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852)))))))
-(let ((?x862 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x859)))
-(let ((?x865 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x862)))
-(let ((?x816 (concat (select ?x778 (_ bv22 32)) (concat (select ?x778 (_ bv21 32)) (select ?x778 (_ bv20 32))))))
-(let ((?x868 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv23 32)) ?x816)) ((_ to_fp 8 24) ?x865)) (_ bv5 32) ?x852)))
-(let ((?x875 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868)))))))
-(let ((?x878 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x875)))
-(let ((?x881 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x878)))
-(let ((?x808 (concat (select ?x778 (_ bv26 32)) (concat (select ?x778 (_ bv25 32)) (select ?x778 (_ bv24 32))))))
-(let ((?x884 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv27 32)) ?x808)) ((_ to_fp 8 24) ?x881)) (_ bv6 32) ?x868)))
-(let ((?x891 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884)))))))
-(let ((?x894 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x891)))
-(let ((?x897 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x894)))
-(let ((?x800 (concat (select ?x778 (_ bv30 32)) (concat (select ?x778 (_ bv29 32)) (select ?x778 (_ bv28 32))))))
-(let ((?x900 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv31 32)) ?x800)) ((_ to_fp 8 24) ?x897)) (_ bv7 32) ?x884)))
-(let ((?x907 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900)))))))
-(let ((?x910 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x907)))
-(let ((?x913 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x910)))
-(let ((?x792 (concat (select ?x778 (_ bv34 32)) (concat (select ?x778 (_ bv33 32)) (select ?x778 (_ bv32 32))))))
-(let ((?x916 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv35 32)) ?x792)) ((_ to_fp 8 24) ?x913)) (_ bv8 32) ?x900)))
-(let ((?x923 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916)))))))
-(let ((?x926 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x923)))
-(let ((?x929 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x926)))
-(let ((?x784 (concat (select ?x778 (_ bv38 32)) (concat (select ?x778 (_ bv37 32)) (select ?x778 (_ bv36 32))))))
-(let ((?x932 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv39 32)) ?x784)) ((_ to_fp 8 24) ?x929)) (_ bv9 32) ?x916)))
-(let ((?x935 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x932)))))
-(let ((?x936 (bvadd (_ bv3 32) ?x935)))
-(let ((?x937 (bvadd (_ bv2 32) ?x935)))
-(let ((?x829 (select ?x778 (_ bv13 32))))
-(let ((?x938 (bvadd (_ bv1 32) ?x935)))
-(let ((?x828 (select ?x778 (_ bv12 32))))
-(let ((?x945 (store (store (store ?x778 (_ bv12 32) (select ?x778 ?x935)) (_ bv13 32) (select ?x778 ?x938)) (_ bv14 32) (select ?x778 ?x937))))
-(let ((?x948 (store (store (store ?x945 (_ bv15 32) (select ?x778 ?x936)) ?x935 ?x828) ?x938 ?x829)))
-(let ((?x950 (store (store ?x948 ?x937 ?x831) ?x936 ?x779)))
-(let ((?x963 (concat (select ?x950 (_ bv22 32)) (concat (select ?x950 (_ bv21 32)) (select ?x950 (_ bv20 32))))))
-(let ((?x955 (concat (select ?x950 (_ bv18 32)) (concat (select ?x950 (_ bv17 32)) (select ?x950 (_ bv16 32))))))
-(let (($x967 (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv19 32)) ?x955)) ((_ to_fp 8 24) (concat (select ?x950 (_ bv23 32)) ?x963)))))
-(not (bvult (bvmul (_ bv4 64) ((_ sign_extend 32) (ite $x967 (_ bv4 32) (_ bv5 32)))) (_ bv37 64))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.isNaN ?x81)))))
+(assert
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.lt ?x81 ?x65)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.eq ?x33 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.eq ?x49 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.eq ?x65 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.eq ?x81 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
+ (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
+ (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+ (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+ (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+ (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+ (let ((?x146 (ite $x144 ?x127 ?x125)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x145 (ite $x144 ?x124 ?x127)))
+ (not (= ?x145 ?x146))))))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+(let (($x103 (fp.gt ?x49 ?x94)))
+(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+(let ((?x125 (ite $x123 ?x107 ?x105)))
+(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+(let ((?x146 (ite $x144 ?x127 ?x125)))
+(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
+(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
+(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
+(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
+(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
+(let ((?x167 (ite $x165 ?x150 ?x146)))
+(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+(let ((?x124 (ite $x123 ?x104 ?x107)))
+(let ((?x145 (ite $x144 ?x124 ?x127)))
+(let ((?x166 (ite $x165 ?x145 ?x150)))
+(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
+(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
+(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
+(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
+(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
+(not (not (= (ite $x184 ?x166 ?x169) (ite $x184 ?x169 ?x167))))))))))))))))))))))))))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.40.smt2 b/UnitTests/unsat/QF_ABVFP/query.40.smt2
index 8e618d07d51453aa95ab6e86b6c148e52e195baf..df2293338b36df39e2f36a0ddfa1f97af8722202 100644
--- a/UnitTests/unsat/QF_ABVFP/query.40.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.40.smt2
@@ -10,311 +10,151 @@ Target solver: Z3 or MathSAT5
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun sym0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun fresh_to_ieee_bv_!0 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!1 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!2 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!3 () (_ BitVec 32))
-(declare-fun const_arr11 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
 (assert
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19)))))))
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (not (fp.isNaN ?x33)))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.isNaN ?x33)))))
 (assert
- (let ((?x42 (select sym0 (_ bv14 32))))
- (let ((?x45 (select sym0 (_ bv15 32))))
- (let ((?x46 (concat ?x45 (concat ?x42 (concat (select sym0 (_ bv13 32)) (select sym0 (_ bv12 32)))))))
- (not (fp.isNaN ((_ to_fp 8 24) ?x46)))))))
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!0))))))))))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.isNaN ?x49)))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!1))))))))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.lt ?x49 ?x33)))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!2))))))))))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.isNaN ?x65)))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x52 ((_ to_fp 8 24) fresh_to_ieee_bv_!3))))))))))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.lt ?x65 ?x49)))))))
 (assert
- (let ((?x56 ((_ extract 31 24) fresh_to_ieee_bv_!0)))
-(let ((?x14 (select sym0 (_ bv6 32))))
-(let ((?x17 (select sym0 (_ bv7 32))))
-(let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x28 (select sym0 (_ bv10 32))))
-(let ((?x31 (select sym0 (_ bv11 32))))
-(let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
-(let ((?x33 ((_ to_fp 8 24) ?x32)))
-(let ((?x52 (fp.add roundNearestTiesToEven ?x19 ?x33)))
-(let ((?x71 (ite (fp.lt ?x52 ?x19) (_ bv0 32) (_ bv1 32))))
-(let ((?x75 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x71)))))
-(let ((?x45 (select sym0 (_ bv15 32))))
-(let ((?x42 (select sym0 (_ bv14 32))))
-(let ((?x39 (select sym0 (_ bv13 32))))
-(let ((?x37 (select sym0 (_ bv12 32))))
-(let ((?x25 (select sym0 (_ bv9 32))))
-(let ((?x23 (select sym0 (_ bv8 32))))
-(let ((?x11 (select sym0 (_ bv5 32))))
-(let ((?x9 (select sym0 (_ bv4 32))))
-(let ((?x113 ((_ extract 23 16) fresh_to_ieee_bv_!1)))
-(let ((?x118 ((_ extract 15 8) fresh_to_ieee_bv_!2)))
-(let ((?x122 ((_ extract 7 0) fresh_to_ieee_bv_!3)))
-(let ((?x127 (store (store (store (store const_arr11 (_ bv0 32) (_ bv0 8)) (_ bv1 32) (_ bv0 8)) (_ bv2 32) (_ bv0 8)) (_ bv3 32) (_ bv0 8))))
-(let ((?x131 (store (store (store (store ?x127 (_ bv4 32) (_ bv0 8)) (_ bv5 32) (_ bv0 8)) (_ bv6 32) (_ bv0 8)) (_ bv7 32) (_ bv0 8))))
-(let ((?x135 (store (store (store (store ?x131 (_ bv8 32) (_ bv0 8)) (_ bv9 32) (_ bv0 8)) (_ bv10 32) (_ bv0 8)) (_ bv11 32) (_ bv0 8))))
-(let ((?x139 (store (store (store (store ?x135 (_ bv12 32) (_ bv0 8)) (_ bv13 32) (_ bv0 8)) (_ bv14 32) (_ bv0 8)) (_ bv15 32) (_ bv0 8))))
-(let ((?x143 (store (store (store (store ?x139 (_ bv16 32) (_ bv0 8)) (_ bv17 32) (_ bv0 8)) (_ bv18 32) (_ bv0 8)) (_ bv19 32) (_ bv0 8))))
-(let ((?x147 (store (store (store (store ?x143 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv0 8)) (_ bv23 32) (_ bv0 8))))
-(let ((?x151 (store (store (store (store ?x147 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv0 8)) (_ bv27 32) (_ bv0 8))))
-(let ((?x155 (store (store (store (store ?x151 (_ bv28 32) (_ bv0 8)) (_ bv29 32) (_ bv0 8)) (_ bv30 32) (_ bv0 8)) (_ bv31 32) (_ bv0 8))))
-(let ((?x159 (store (store (store (store ?x155 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv0 8)) (_ bv35 32) (_ bv0 8))))
-(let ((?x163 (store (store (store (store ?x159 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv0 8))))
-(let ((?x167 (store (store (store (store ?x163 (_ bv0 32) ?x122) (_ bv1 32) ?x118) (_ bv2 32) ?x113) (_ bv3 32) ?x56)))
-(let ((?x171 (store (store (store (store ?x167 (_ bv4 32) ?x9) (_ bv5 32) ?x11) (_ bv6 32) ?x14) (_ bv7 32) ?x17)))
-(let ((?x175 (store (store (store (store ?x171 (_ bv8 32) ?x23) (_ bv9 32) ?x25) (_ bv10 32) ?x28) (_ bv11 32) ?x31)))
-(let ((?x179 (store (store (store (store ?x175 (_ bv12 32) (_ bv154 8)) (_ bv13 32) (_ bv153 8)) (_ bv14 32) (_ bv153 8)) (_ bv15 32) (_ bv62 8))))
-(let ((?x183 (store (store (store (store ?x179 (_ bv16 32) (_ bv205 8)) (_ bv17 32) (_ bv204 8)) (_ bv18 32) (_ bv76 8)) (_ bv19 32) (_ bv62 8))))
-(let ((?x187 (store (store (store (store ?x183 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv128 8)) (_ bv23 32) (_ bv63 8))))
-(let ((?x191 (store (store (store (store ?x187 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv64 8)) (_ bv27 32) (_ bv64 8))))
-(let ((?x195 (store (store (store (store ?x191 (_ bv28 32) ?x37) (_ bv29 32) ?x39) (_ bv30 32) ?x42) (_ bv31 32) ?x45)))
-(let ((?x199 (store (store (store (store ?x195 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv128 8)) (_ bv35 32) (_ bv63 8))))
-(let ((?x203 (store (store (store (store ?x199 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv65 8))))
-(let ((?x210 (concat (select ?x203 (bvadd (_ bv2 32) ?x75)) (concat (select ?x203 (bvadd (_ bv1 32) ?x75)) (select ?x203 ?x75)))))
-(let ((?x216 (ite (fp.lt ?x19 ((_ to_fp 8 24) (concat (select ?x203 (bvadd (_ bv3 32) ?x75)) ?x210))) (_ bv1 32) ?x71)))
-(let ((?x223 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216)))))))
-(let ((?x226 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x223)))
-(let ((?x229 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x226)))
-(let ((?x232 (ite (fp.lt ?x33 ((_ to_fp 8 24) ?x229)) (_ bv2 32) ?x216)))
-(let ((?x239 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232)))))))
-(let ((?x242 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x239)))
-(let ((?x245 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x242)))
-(let ((?x248 (ite (fp.lt ((_ to_fp 8 24) (_ bv1050253722 32)) ((_ to_fp 8 24) ?x245)) (_ bv3 32) ?x232)))
-(let ((?x255 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248)))))))
-(let ((?x258 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x255)))
-(let ((?x261 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x258)))
-(let ((?x264 (ite (fp.lt ((_ to_fp 8 24) (_ bv1045220557 32)) ((_ to_fp 8 24) ?x261)) (_ bv4 32) ?x248)))
-(let ((?x271 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let ((?x280 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x277)) (_ bv5 32) ?x264)))
-(let ((?x287 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280)))))))
-(let ((?x290 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x287)))
-(let ((?x293 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x290)))
-(let ((?x296 (ite (fp.lt ((_ to_fp 8 24) (_ bv1077936128 32)) ((_ to_fp 8 24) ?x293)) (_ bv6 32) ?x280)))
-(let ((?x303 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296)))))))
-(let ((?x306 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x303)))
-(let ((?x309 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x306)))
-(let (($x311 (fp.lt ((_ to_fp 8 24) (concat ?x45 (concat ?x42 (concat ?x39 ?x37)))) ((_ to_fp 8 24) ?x309))))
-(let ((?x312 (ite $x311 (_ bv7 32) ?x296)))
-(let ((?x319 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312)))))))
-(let ((?x322 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x319)))
-(let ((?x325 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x322)))
-(let ((?x328 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x325)) (_ bv8 32) ?x312)))
-(let ((?x335 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328)))))))
-(let ((?x338 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x335)))
-(let ((?x341 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x338)))
-(let ((?x346 (bvmul (_ bv4 64) ((_ sign_extend 32) (ite (fp.lt ((_ to_fp 8 24) (_ bv1090519040 32)) ((_ to_fp 8 24) ?x341)) (_ bv9 32) ?x328)))))
-(let ((?x347 ((_ extract 31 0) ?x346)))
-(let ((?x348 (bvadd (_ bv3 32) ?x347)))
-(let ((?x349 (bvadd (_ bv2 32) ?x347)))
-(let ((?x350 (bvadd (_ bv1 32) ?x347)))
-(let ((?x357 (store (store (store ?x203 (_ bv0 32) (select ?x203 ?x347)) (_ bv1 32) (select ?x203 ?x350)) (_ bv2 32) (select ?x203 ?x349))))
-(let ((?x360 (store (store (store ?x357 (_ bv3 32) (select ?x203 ?x348)) ?x347 ?x122) ?x350 ?x118)))
-(let ((?x362 (store (store ?x360 ?x349 ?x113) ?x348 ?x56)))
-(let ((?x363 (select ?x362 (_ bv7 32))))
-(let ((?x424 (concat (select ?x362 (_ bv10 32)) (concat (select ?x362 (_ bv9 32)) (select ?x362 (_ bv8 32))))))
-(let ((?x431 (select ?x362 (_ bv6 32))))
-(let ((?x433 (concat ?x363 (concat ?x431 (concat (select ?x362 (_ bv5 32)) (select ?x362 (_ bv4 32)))))))
-(let ((?x436 (ite (fp.lt ((_ to_fp 8 24) ?x433) ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424))) (_ bv1 32) (_ bv2 32))))
-(let ((?x443 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436)))))))
-(let ((?x446 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x443)))
-(let ((?x449 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x446)))
-(let ((?x452 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424)) ((_ to_fp 8 24) ?x449)) (_ bv2 32) ?x436)))
-(let ((?x459 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452)))))))
-(let ((?x462 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x459)))
-(let ((?x465 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x462)))
-(let ((?x416 (concat (select ?x362 (_ bv14 32)) (concat (select ?x362 (_ bv13 32)) (select ?x362 (_ bv12 32))))))
-(let ((?x468 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv15 32)) ?x416)) ((_ to_fp 8 24) ?x465)) (_ bv3 32) ?x452)))
-(let ((?x475 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468)))))))
-(let ((?x478 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x475)))
-(let ((?x481 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x478)))
-(let ((?x408 (concat (select ?x362 (_ bv18 32)) (concat (select ?x362 (_ bv17 32)) (select ?x362 (_ bv16 32))))))
-(let ((?x484 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv19 32)) ?x408)) ((_ to_fp 8 24) ?x481)) (_ bv4 32) ?x468)))
-(let ((?x491 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484)))))))
-(let ((?x494 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x491)))
-(let ((?x497 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x494)))
-(let ((?x400 (concat (select ?x362 (_ bv22 32)) (concat (select ?x362 (_ bv21 32)) (select ?x362 (_ bv20 32))))))
-(let ((?x500 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv23 32)) ?x400)) ((_ to_fp 8 24) ?x497)) (_ bv5 32) ?x484)))
-(let ((?x507 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500)))))))
-(let ((?x510 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x507)))
-(let ((?x513 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x510)))
-(let ((?x392 (concat (select ?x362 (_ bv26 32)) (concat (select ?x362 (_ bv25 32)) (select ?x362 (_ bv24 32))))))
-(let ((?x516 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv27 32)) ?x392)) ((_ to_fp 8 24) ?x513)) (_ bv6 32) ?x500)))
-(let ((?x523 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516)))))))
-(let ((?x526 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x523)))
-(let ((?x529 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x526)))
-(let ((?x384 (concat (select ?x362 (_ bv30 32)) (concat (select ?x362 (_ bv29 32)) (select ?x362 (_ bv28 32))))))
-(let ((?x532 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv31 32)) ?x384)) ((_ to_fp 8 24) ?x529)) (_ bv7 32) ?x516)))
-(let ((?x539 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532)))))))
-(let ((?x542 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x539)))
-(let ((?x545 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x542)))
-(let ((?x376 (concat (select ?x362 (_ bv34 32)) (concat (select ?x362 (_ bv33 32)) (select ?x362 (_ bv32 32))))))
-(let ((?x548 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv35 32)) ?x376)) ((_ to_fp 8 24) ?x545)) (_ bv8 32) ?x532)))
-(let ((?x555 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548)))))))
-(let ((?x558 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x555)))
-(let ((?x561 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x558)))
-(let ((?x368 (concat (select ?x362 (_ bv38 32)) (concat (select ?x362 (_ bv37 32)) (select ?x362 (_ bv36 32))))))
-(let ((?x564 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv39 32)) ?x368)) ((_ to_fp 8 24) ?x561)) (_ bv9 32) ?x548)))
-(let ((?x567 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x564)))))
-(let ((?x568 (bvadd (_ bv3 32) ?x567)))
-(let ((?x569 (bvadd (_ bv2 32) ?x567)))
-(let ((?x429 (select ?x362 (_ bv5 32))))
-(let ((?x570 (bvadd (_ bv1 32) ?x567)))
-(let ((?x428 (select ?x362 (_ bv4 32))))
-(let ((?x577 (store (store (store ?x362 (_ bv4 32) (select ?x362 ?x567)) (_ bv5 32) (select ?x362 ?x570)) (_ bv6 32) (select ?x362 ?x569))))
-(let ((?x580 (store (store (store ?x577 (_ bv7 32) (select ?x362 ?x568)) ?x567 ?x428) ?x570 ?x429)))
-(let ((?x582 (store (store ?x580 ?x569 ?x431) ?x568 ?x363)))
-(let ((?x583 (select ?x582 (_ bv11 32))))
-(let ((?x636 (concat (select ?x582 (_ bv14 32)) (concat (select ?x582 (_ bv13 32)) (select ?x582 (_ bv12 32))))))
-(let ((?x643 (select ?x582 (_ bv10 32))))
-(let ((?x645 (concat ?x583 (concat ?x643 (concat (select ?x582 (_ bv9 32)) (select ?x582 (_ bv8 32)))))))
-(let ((?x648 (ite (fp.lt ((_ to_fp 8 24) ?x645) ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636))) (_ bv2 32) (_ bv3 32))))
-(let ((?x655 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648)))))))
-(let ((?x658 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x655)))
-(let ((?x661 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x658)))
-(let ((?x664 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636)) ((_ to_fp 8 24) ?x661)) (_ bv3 32) ?x648)))
-(let ((?x671 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664)))))))
-(let ((?x674 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x671)))
-(let ((?x677 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x674)))
-(let ((?x628 (concat (select ?x582 (_ bv18 32)) (concat (select ?x582 (_ bv17 32)) (select ?x582 (_ bv16 32))))))
-(let ((?x680 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv19 32)) ?x628)) ((_ to_fp 8 24) ?x677)) (_ bv4 32) ?x664)))
-(let ((?x687 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680)))))))
-(let ((?x690 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x687)))
-(let ((?x693 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x690)))
-(let ((?x620 (concat (select ?x582 (_ bv22 32)) (concat (select ?x582 (_ bv21 32)) (select ?x582 (_ bv20 32))))))
-(let ((?x696 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv23 32)) ?x620)) ((_ to_fp 8 24) ?x693)) (_ bv5 32) ?x680)))
-(let ((?x703 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696)))))))
-(let ((?x706 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x703)))
-(let ((?x709 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x706)))
-(let ((?x612 (concat (select ?x582 (_ bv26 32)) (concat (select ?x582 (_ bv25 32)) (select ?x582 (_ bv24 32))))))
-(let ((?x712 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv27 32)) ?x612)) ((_ to_fp 8 24) ?x709)) (_ bv6 32) ?x696)))
-(let ((?x719 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712)))))))
-(let ((?x722 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x719)))
-(let ((?x725 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x722)))
-(let ((?x604 (concat (select ?x582 (_ bv30 32)) (concat (select ?x582 (_ bv29 32)) (select ?x582 (_ bv28 32))))))
-(let ((?x728 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv31 32)) ?x604)) ((_ to_fp 8 24) ?x725)) (_ bv7 32) ?x712)))
-(let ((?x735 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728)))))))
-(let ((?x738 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x735)))
-(let ((?x741 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x738)))
-(let ((?x596 (concat (select ?x582 (_ bv34 32)) (concat (select ?x582 (_ bv33 32)) (select ?x582 (_ bv32 32))))))
-(let ((?x744 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv35 32)) ?x596)) ((_ to_fp 8 24) ?x741)) (_ bv8 32) ?x728)))
-(let ((?x751 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744)))))))
-(let ((?x754 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x751)))
-(let ((?x757 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x754)))
-(let ((?x588 (concat (select ?x582 (_ bv38 32)) (concat (select ?x582 (_ bv37 32)) (select ?x582 (_ bv36 32))))))
-(let ((?x760 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv39 32)) ?x588)) ((_ to_fp 8 24) ?x757)) (_ bv9 32) ?x744)))
-(let ((?x763 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x760)))))
-(let ((?x764 (bvadd (_ bv3 32) ?x763)))
-(let ((?x765 (bvadd (_ bv2 32) ?x763)))
-(let ((?x641 (select ?x582 (_ bv9 32))))
-(let ((?x766 (bvadd (_ bv1 32) ?x763)))
-(let ((?x640 (select ?x582 (_ bv8 32))))
-(let ((?x773 (store (store (store ?x582 (_ bv8 32) (select ?x582 ?x763)) (_ bv9 32) (select ?x582 ?x766)) (_ bv10 32) (select ?x582 ?x765))))
-(let ((?x776 (store (store (store ?x773 (_ bv11 32) (select ?x582 ?x764)) ?x763 ?x640) ?x766 ?x641)))
-(let ((?x778 (store (store ?x776 ?x765 ?x643) ?x764 ?x583)))
-(let ((?x779 (select ?x778 (_ bv15 32))))
-(let ((?x824 (concat (select ?x778 (_ bv18 32)) (concat (select ?x778 (_ bv17 32)) (select ?x778 (_ bv16 32))))))
-(let ((?x831 (select ?x778 (_ bv14 32))))
-(let ((?x833 (concat ?x779 (concat ?x831 (concat (select ?x778 (_ bv13 32)) (select ?x778 (_ bv12 32)))))))
-(let ((?x836 (ite (fp.lt ((_ to_fp 8 24) ?x833) ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824))) (_ bv3 32) (_ bv4 32))))
-(let ((?x843 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836)))))))
-(let ((?x846 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x843)))
-(let ((?x849 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x846)))
-(let ((?x852 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824)) ((_ to_fp 8 24) ?x849)) (_ bv4 32) ?x836)))
-(let ((?x859 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852)))))))
-(let ((?x862 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x859)))
-(let ((?x865 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x862)))
-(let ((?x816 (concat (select ?x778 (_ bv22 32)) (concat (select ?x778 (_ bv21 32)) (select ?x778 (_ bv20 32))))))
-(let ((?x868 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv23 32)) ?x816)) ((_ to_fp 8 24) ?x865)) (_ bv5 32) ?x852)))
-(let ((?x875 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868)))))))
-(let ((?x878 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x875)))
-(let ((?x881 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x878)))
-(let ((?x808 (concat (select ?x778 (_ bv26 32)) (concat (select ?x778 (_ bv25 32)) (select ?x778 (_ bv24 32))))))
-(let ((?x884 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv27 32)) ?x808)) ((_ to_fp 8 24) ?x881)) (_ bv6 32) ?x868)))
-(let ((?x891 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884)))))))
-(let ((?x894 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x891)))
-(let ((?x897 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x894)))
-(let ((?x800 (concat (select ?x778 (_ bv30 32)) (concat (select ?x778 (_ bv29 32)) (select ?x778 (_ bv28 32))))))
-(let ((?x900 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv31 32)) ?x800)) ((_ to_fp 8 24) ?x897)) (_ bv7 32) ?x884)))
-(let ((?x907 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900)))))))
-(let ((?x910 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x907)))
-(let ((?x913 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x910)))
-(let ((?x792 (concat (select ?x778 (_ bv34 32)) (concat (select ?x778 (_ bv33 32)) (select ?x778 (_ bv32 32))))))
-(let ((?x916 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv35 32)) ?x792)) ((_ to_fp 8 24) ?x913)) (_ bv8 32) ?x900)))
-(let ((?x923 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916)))))))
-(let ((?x926 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x923)))
-(let ((?x929 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x926)))
-(let ((?x784 (concat (select ?x778 (_ bv38 32)) (concat (select ?x778 (_ bv37 32)) (select ?x778 (_ bv36 32))))))
-(let ((?x932 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv39 32)) ?x784)) ((_ to_fp 8 24) ?x929)) (_ bv9 32) ?x916)))
-(let ((?x935 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x932)))))
-(let ((?x936 (bvadd (_ bv3 32) ?x935)))
-(let ((?x937 (bvadd (_ bv2 32) ?x935)))
-(let ((?x829 (select ?x778 (_ bv13 32))))
-(let ((?x938 (bvadd (_ bv1 32) ?x935)))
-(let ((?x828 (select ?x778 (_ bv12 32))))
-(let ((?x945 (store (store (store ?x778 (_ bv12 32) (select ?x778 ?x935)) (_ bv13 32) (select ?x778 ?x938)) (_ bv14 32) (select ?x778 ?x937))))
-(let ((?x948 (store (store (store ?x945 (_ bv15 32) (select ?x778 ?x936)) ?x935 ?x828) ?x938 ?x829)))
-(let ((?x950 (store (store ?x948 ?x937 ?x831) ?x936 ?x779)))
-(let ((?x955 (concat (select ?x950 (_ bv22 32)) (concat (select ?x950 (_ bv21 32)) (select ?x950 (_ bv20 32))))))
-(let ((?x963 (concat (select ?x950 (_ bv18 32)) (concat (select ?x950 (_ bv17 32)) (select ?x950 (_ bv16 32))))))
-(let (($x967 (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv19 32)) ?x963)) ((_ to_fp 8 24) (concat (select ?x950 (_ bv23 32)) ?x955)))))
-(let ((?x968 (ite $x967 (_ bv4 32) (_ bv5 32))))
-(let ((?x975 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x968))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x968)))))))
-(let ((?x978 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x968))))) ?x975)))
-(let ((?x981 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x968))))) ?x978)))
-(let ((?x984 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv23 32)) ?x955)) ((_ to_fp 8 24) ?x981)) (_ bv5 32) ?x968)))
-(not (bvult (bvmul (_ bv4 64) ((_ sign_extend 32) ?x984)) (_ bv37 64)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.isNaN ?x81)))))
+(assert
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.lt ?x81 ?x65)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.eq ?x33 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.eq ?x49 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.eq ?x65 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.eq ?x81 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
+ (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
+ (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+ (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+ (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+ (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+ (let ((?x146 (ite $x144 ?x127 ?x125)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x145 (ite $x144 ?x124 ?x127)))
+ (not (= ?x145 ?x146))))))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+(let (($x103 (fp.gt ?x49 ?x94)))
+(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+(let ((?x125 (ite $x123 ?x107 ?x105)))
+(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+(let ((?x146 (ite $x144 ?x127 ?x125)))
+(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
+(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
+(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
+(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
+(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
+(let ((?x167 (ite $x165 ?x150 ?x146)))
+(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+(let ((?x124 (ite $x123 ?x104 ?x107)))
+(let ((?x145 (ite $x144 ?x124 ?x127)))
+(let ((?x166 (ite $x165 ?x145 ?x150)))
+(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
+(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
+(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
+(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
+(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
+(let ((?x189 ((_ sign_extend 32) (bvsdiv (bvadd (ite $x184 ?x166 ?x169) (ite $x184 ?x169 ?x167)) (_ bv2 32)))))
+(not (bvult (bvmul (_ bv4 64) ?x189) (_ bv17 64))))))))))))))))))))))))))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.45.smt2 b/UnitTests/unsat/QF_ABVFP/query.45.smt2
index a92256a962477f6b80c32fc8cbc5b71653686fa2..75dfd68c18190996395e5064b205f12549ec7c84 100644
--- a/UnitTests/unsat/QF_ABVFP/query.45.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.45.smt2
@@ -10,344 +10,163 @@ Target solver: Z3 or MathSAT5
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun sym0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun fresh_to_ieee_bv_!0 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!1 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!2 () (_ BitVec 32))
-(declare-fun fresh_to_ieee_bv_!3 () (_ BitVec 32))
-(declare-fun const_arr11 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
 (assert
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (not (fp.isNaN ?x19)))))))
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (not (fp.isNaN ?x33)))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.isNaN ?x33)))))
 (assert
- (let ((?x42 (select sym0 (_ bv14 32))))
- (let ((?x45 (select sym0 (_ bv15 32))))
- (let ((?x46 (concat ?x45 (concat ?x42 (concat (select sym0 (_ bv13 32)) (select sym0 (_ bv12 32)))))))
- (not (fp.isNaN ((_ to_fp 8 24) ?x46)))))))
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x53 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x53 ((_ to_fp 8 24) fresh_to_ieee_bv_!0))))))))))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.isNaN ?x49)))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x53 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x53 ((_ to_fp 8 24) fresh_to_ieee_bv_!1))))))))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.lt ?x49 ?x33)))))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x53 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x53 ((_ to_fp 8 24) fresh_to_ieee_bv_!2))))))))))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.isNaN ?x65)))))
 (assert
- (let ((?x28 (select sym0 (_ bv10 32))))
- (let ((?x31 (select sym0 (_ bv11 32))))
- (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
- (let ((?x33 ((_ to_fp 8 24) ?x32)))
- (let ((?x14 (select sym0 (_ bv6 32))))
- (let ((?x17 (select sym0 (_ bv7 32))))
- (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
- (let ((?x19 ((_ to_fp 8 24) ?x18)))
- (let ((?x53 (fp.add roundNearestTiesToEven ?x19 ?x33)))
- (= ?x53 ((_ to_fp 8 24) fresh_to_ieee_bv_!3))))))))))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.lt ?x65 ?x49)))))))
 (assert
- (let ((?x57 ((_ extract 31 24) fresh_to_ieee_bv_!0)))
-(let ((?x14 (select sym0 (_ bv6 32))))
-(let ((?x17 (select sym0 (_ bv7 32))))
-(let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
-(let ((?x19 ((_ to_fp 8 24) ?x18)))
-(let ((?x28 (select sym0 (_ bv10 32))))
-(let ((?x31 (select sym0 (_ bv11 32))))
-(let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
-(let ((?x33 ((_ to_fp 8 24) ?x32)))
-(let ((?x53 (fp.add roundNearestTiesToEven ?x19 ?x33)))
-(let ((?x72 (ite (fp.lt ?x53 ?x19) (_ bv0 32) (_ bv1 32))))
-(let ((?x76 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x72)))))
-(let ((?x45 (select sym0 (_ bv15 32))))
-(let ((?x42 (select sym0 (_ bv14 32))))
-(let ((?x39 (select sym0 (_ bv13 32))))
-(let ((?x37 (select sym0 (_ bv12 32))))
-(let ((?x25 (select sym0 (_ bv9 32))))
-(let ((?x23 (select sym0 (_ bv8 32))))
-(let ((?x11 (select sym0 (_ bv5 32))))
-(let ((?x9 (select sym0 (_ bv4 32))))
-(let ((?x113 ((_ extract 23 16) fresh_to_ieee_bv_!1)))
-(let ((?x118 ((_ extract 15 8) fresh_to_ieee_bv_!2)))
-(let ((?x122 ((_ extract 7 0) fresh_to_ieee_bv_!3)))
-(let ((?x127 (store (store (store (store const_arr11 (_ bv0 32) (_ bv0 8)) (_ bv1 32) (_ bv0 8)) (_ bv2 32) (_ bv0 8)) (_ bv3 32) (_ bv0 8))))
-(let ((?x131 (store (store (store (store ?x127 (_ bv4 32) (_ bv0 8)) (_ bv5 32) (_ bv0 8)) (_ bv6 32) (_ bv0 8)) (_ bv7 32) (_ bv0 8))))
-(let ((?x135 (store (store (store (store ?x131 (_ bv8 32) (_ bv0 8)) (_ bv9 32) (_ bv0 8)) (_ bv10 32) (_ bv0 8)) (_ bv11 32) (_ bv0 8))))
-(let ((?x139 (store (store (store (store ?x135 (_ bv12 32) (_ bv0 8)) (_ bv13 32) (_ bv0 8)) (_ bv14 32) (_ bv0 8)) (_ bv15 32) (_ bv0 8))))
-(let ((?x143 (store (store (store (store ?x139 (_ bv16 32) (_ bv0 8)) (_ bv17 32) (_ bv0 8)) (_ bv18 32) (_ bv0 8)) (_ bv19 32) (_ bv0 8))))
-(let ((?x147 (store (store (store (store ?x143 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv0 8)) (_ bv23 32) (_ bv0 8))))
-(let ((?x151 (store (store (store (store ?x147 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv0 8)) (_ bv27 32) (_ bv0 8))))
-(let ((?x155 (store (store (store (store ?x151 (_ bv28 32) (_ bv0 8)) (_ bv29 32) (_ bv0 8)) (_ bv30 32) (_ bv0 8)) (_ bv31 32) (_ bv0 8))))
-(let ((?x159 (store (store (store (store ?x155 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv0 8)) (_ bv35 32) (_ bv0 8))))
-(let ((?x163 (store (store (store (store ?x159 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv0 8))))
-(let ((?x167 (store (store (store (store ?x163 (_ bv0 32) ?x122) (_ bv1 32) ?x118) (_ bv2 32) ?x113) (_ bv3 32) ?x57)))
-(let ((?x171 (store (store (store (store ?x167 (_ bv4 32) ?x9) (_ bv5 32) ?x11) (_ bv6 32) ?x14) (_ bv7 32) ?x17)))
-(let ((?x175 (store (store (store (store ?x171 (_ bv8 32) ?x23) (_ bv9 32) ?x25) (_ bv10 32) ?x28) (_ bv11 32) ?x31)))
-(let ((?x179 (store (store (store (store ?x175 (_ bv12 32) (_ bv154 8)) (_ bv13 32) (_ bv153 8)) (_ bv14 32) (_ bv153 8)) (_ bv15 32) (_ bv62 8))))
-(let ((?x183 (store (store (store (store ?x179 (_ bv16 32) (_ bv205 8)) (_ bv17 32) (_ bv204 8)) (_ bv18 32) (_ bv76 8)) (_ bv19 32) (_ bv62 8))))
-(let ((?x187 (store (store (store (store ?x183 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv128 8)) (_ bv23 32) (_ bv63 8))))
-(let ((?x191 (store (store (store (store ?x187 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv64 8)) (_ bv27 32) (_ bv64 8))))
-(let ((?x195 (store (store (store (store ?x191 (_ bv28 32) ?x37) (_ bv29 32) ?x39) (_ bv30 32) ?x42) (_ bv31 32) ?x45)))
-(let ((?x199 (store (store (store (store ?x195 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv128 8)) (_ bv35 32) (_ bv63 8))))
-(let ((?x203 (store (store (store (store ?x199 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv65 8))))
-(let ((?x210 (concat (select ?x203 (bvadd (_ bv2 32) ?x76)) (concat (select ?x203 (bvadd (_ bv1 32) ?x76)) (select ?x203 ?x76)))))
-(let ((?x216 (ite (fp.lt ?x19 ((_ to_fp 8 24) (concat (select ?x203 (bvadd (_ bv3 32) ?x76)) ?x210))) (_ bv1 32) ?x72)))
-(let ((?x223 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216)))))))
-(let ((?x226 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x223)))
-(let ((?x229 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x226)))
-(let ((?x232 (ite (fp.lt ?x33 ((_ to_fp 8 24) ?x229)) (_ bv2 32) ?x216)))
-(let ((?x239 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232)))))))
-(let ((?x242 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x239)))
-(let ((?x245 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x242)))
-(let ((?x248 (ite (fp.lt ((_ to_fp 8 24) (_ bv1050253722 32)) ((_ to_fp 8 24) ?x245)) (_ bv3 32) ?x232)))
-(let ((?x255 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248)))))))
-(let ((?x258 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x255)))
-(let ((?x261 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x258)))
-(let ((?x264 (ite (fp.lt ((_ to_fp 8 24) (_ bv1045220557 32)) ((_ to_fp 8 24) ?x261)) (_ bv4 32) ?x248)))
-(let ((?x271 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let ((?x280 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x277)) (_ bv5 32) ?x264)))
-(let ((?x287 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280)))))))
-(let ((?x290 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x287)))
-(let ((?x293 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x290)))
-(let ((?x296 (ite (fp.lt ((_ to_fp 8 24) (_ bv1077936128 32)) ((_ to_fp 8 24) ?x293)) (_ bv6 32) ?x280)))
-(let ((?x303 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296)))))))
-(let ((?x306 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x303)))
-(let ((?x309 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x306)))
-(let (($x311 (fp.lt ((_ to_fp 8 24) (concat ?x45 (concat ?x42 (concat ?x39 ?x37)))) ((_ to_fp 8 24) ?x309))))
-(let ((?x312 (ite $x311 (_ bv7 32) ?x296)))
-(let ((?x319 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312)))))))
-(let ((?x322 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x319)))
-(let ((?x325 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x322)))
-(let ((?x328 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x325)) (_ bv8 32) ?x312)))
-(let ((?x335 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328)))))))
-(let ((?x338 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x335)))
-(let ((?x341 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x338)))
-(let ((?x346 (bvmul (_ bv4 64) ((_ sign_extend 32) (ite (fp.lt ((_ to_fp 8 24) (_ bv1090519040 32)) ((_ to_fp 8 24) ?x341)) (_ bv9 32) ?x328)))))
-(let ((?x347 ((_ extract 31 0) ?x346)))
-(let ((?x348 (bvadd (_ bv3 32) ?x347)))
-(let ((?x349 (bvadd (_ bv2 32) ?x347)))
-(let ((?x350 (bvadd (_ bv1 32) ?x347)))
-(let ((?x357 (store (store (store ?x203 (_ bv0 32) (select ?x203 ?x347)) (_ bv1 32) (select ?x203 ?x350)) (_ bv2 32) (select ?x203 ?x349))))
-(let ((?x360 (store (store (store ?x357 (_ bv3 32) (select ?x203 ?x348)) ?x347 ?x122) ?x350 ?x118)))
-(let ((?x362 (store (store ?x360 ?x349 ?x113) ?x348 ?x57)))
-(let ((?x363 (select ?x362 (_ bv7 32))))
-(let ((?x424 (concat (select ?x362 (_ bv10 32)) (concat (select ?x362 (_ bv9 32)) (select ?x362 (_ bv8 32))))))
-(let ((?x431 (select ?x362 (_ bv6 32))))
-(let ((?x433 (concat ?x363 (concat ?x431 (concat (select ?x362 (_ bv5 32)) (select ?x362 (_ bv4 32)))))))
-(let ((?x436 (ite (fp.lt ((_ to_fp 8 24) ?x433) ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424))) (_ bv1 32) (_ bv2 32))))
-(let ((?x443 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436)))))))
-(let ((?x446 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x443)))
-(let ((?x449 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x446)))
-(let ((?x452 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424)) ((_ to_fp 8 24) ?x449)) (_ bv2 32) ?x436)))
-(let ((?x459 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452)))))))
-(let ((?x462 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x459)))
-(let ((?x465 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x462)))
-(let ((?x416 (concat (select ?x362 (_ bv14 32)) (concat (select ?x362 (_ bv13 32)) (select ?x362 (_ bv12 32))))))
-(let ((?x468 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv15 32)) ?x416)) ((_ to_fp 8 24) ?x465)) (_ bv3 32) ?x452)))
-(let ((?x475 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468)))))))
-(let ((?x478 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x475)))
-(let ((?x481 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x478)))
-(let ((?x408 (concat (select ?x362 (_ bv18 32)) (concat (select ?x362 (_ bv17 32)) (select ?x362 (_ bv16 32))))))
-(let ((?x484 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv19 32)) ?x408)) ((_ to_fp 8 24) ?x481)) (_ bv4 32) ?x468)))
-(let ((?x491 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484)))))))
-(let ((?x494 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x491)))
-(let ((?x497 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x494)))
-(let ((?x400 (concat (select ?x362 (_ bv22 32)) (concat (select ?x362 (_ bv21 32)) (select ?x362 (_ bv20 32))))))
-(let ((?x500 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv23 32)) ?x400)) ((_ to_fp 8 24) ?x497)) (_ bv5 32) ?x484)))
-(let ((?x507 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500)))))))
-(let ((?x510 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x507)))
-(let ((?x513 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x510)))
-(let ((?x392 (concat (select ?x362 (_ bv26 32)) (concat (select ?x362 (_ bv25 32)) (select ?x362 (_ bv24 32))))))
-(let ((?x516 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv27 32)) ?x392)) ((_ to_fp 8 24) ?x513)) (_ bv6 32) ?x500)))
-(let ((?x523 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516)))))))
-(let ((?x526 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x523)))
-(let ((?x529 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x526)))
-(let ((?x384 (concat (select ?x362 (_ bv30 32)) (concat (select ?x362 (_ bv29 32)) (select ?x362 (_ bv28 32))))))
-(let ((?x532 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv31 32)) ?x384)) ((_ to_fp 8 24) ?x529)) (_ bv7 32) ?x516)))
-(let ((?x539 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532)))))))
-(let ((?x542 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x539)))
-(let ((?x545 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x542)))
-(let ((?x376 (concat (select ?x362 (_ bv34 32)) (concat (select ?x362 (_ bv33 32)) (select ?x362 (_ bv32 32))))))
-(let ((?x548 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv35 32)) ?x376)) ((_ to_fp 8 24) ?x545)) (_ bv8 32) ?x532)))
-(let ((?x555 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548)))))))
-(let ((?x558 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x555)))
-(let ((?x561 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x558)))
-(let ((?x368 (concat (select ?x362 (_ bv38 32)) (concat (select ?x362 (_ bv37 32)) (select ?x362 (_ bv36 32))))))
-(let ((?x564 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv39 32)) ?x368)) ((_ to_fp 8 24) ?x561)) (_ bv9 32) ?x548)))
-(let ((?x567 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x564)))))
-(let ((?x568 (bvadd (_ bv3 32) ?x567)))
-(let ((?x569 (bvadd (_ bv2 32) ?x567)))
-(let ((?x429 (select ?x362 (_ bv5 32))))
-(let ((?x570 (bvadd (_ bv1 32) ?x567)))
-(let ((?x428 (select ?x362 (_ bv4 32))))
-(let ((?x577 (store (store (store ?x362 (_ bv4 32) (select ?x362 ?x567)) (_ bv5 32) (select ?x362 ?x570)) (_ bv6 32) (select ?x362 ?x569))))
-(let ((?x580 (store (store (store ?x577 (_ bv7 32) (select ?x362 ?x568)) ?x567 ?x428) ?x570 ?x429)))
-(let ((?x582 (store (store ?x580 ?x569 ?x431) ?x568 ?x363)))
-(let ((?x583 (select ?x582 (_ bv11 32))))
-(let ((?x636 (concat (select ?x582 (_ bv14 32)) (concat (select ?x582 (_ bv13 32)) (select ?x582 (_ bv12 32))))))
-(let ((?x643 (select ?x582 (_ bv10 32))))
-(let ((?x645 (concat ?x583 (concat ?x643 (concat (select ?x582 (_ bv9 32)) (select ?x582 (_ bv8 32)))))))
-(let ((?x648 (ite (fp.lt ((_ to_fp 8 24) ?x645) ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636))) (_ bv2 32) (_ bv3 32))))
-(let ((?x655 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648)))))))
-(let ((?x658 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x655)))
-(let ((?x661 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x658)))
-(let ((?x664 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636)) ((_ to_fp 8 24) ?x661)) (_ bv3 32) ?x648)))
-(let ((?x671 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664)))))))
-(let ((?x674 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x671)))
-(let ((?x677 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x674)))
-(let ((?x628 (concat (select ?x582 (_ bv18 32)) (concat (select ?x582 (_ bv17 32)) (select ?x582 (_ bv16 32))))))
-(let ((?x680 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv19 32)) ?x628)) ((_ to_fp 8 24) ?x677)) (_ bv4 32) ?x664)))
-(let ((?x687 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680)))))))
-(let ((?x690 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x687)))
-(let ((?x693 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x690)))
-(let ((?x620 (concat (select ?x582 (_ bv22 32)) (concat (select ?x582 (_ bv21 32)) (select ?x582 (_ bv20 32))))))
-(let ((?x696 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv23 32)) ?x620)) ((_ to_fp 8 24) ?x693)) (_ bv5 32) ?x680)))
-(let ((?x703 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696)))))))
-(let ((?x706 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x703)))
-(let ((?x709 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x706)))
-(let ((?x612 (concat (select ?x582 (_ bv26 32)) (concat (select ?x582 (_ bv25 32)) (select ?x582 (_ bv24 32))))))
-(let ((?x712 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv27 32)) ?x612)) ((_ to_fp 8 24) ?x709)) (_ bv6 32) ?x696)))
-(let ((?x719 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712)))))))
-(let ((?x722 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x719)))
-(let ((?x725 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x722)))
-(let ((?x604 (concat (select ?x582 (_ bv30 32)) (concat (select ?x582 (_ bv29 32)) (select ?x582 (_ bv28 32))))))
-(let ((?x728 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv31 32)) ?x604)) ((_ to_fp 8 24) ?x725)) (_ bv7 32) ?x712)))
-(let ((?x735 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728)))))))
-(let ((?x738 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x735)))
-(let ((?x741 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x738)))
-(let ((?x596 (concat (select ?x582 (_ bv34 32)) (concat (select ?x582 (_ bv33 32)) (select ?x582 (_ bv32 32))))))
-(let ((?x744 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv35 32)) ?x596)) ((_ to_fp 8 24) ?x741)) (_ bv8 32) ?x728)))
-(let ((?x751 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744)))))))
-(let ((?x754 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x751)))
-(let ((?x757 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x754)))
-(let ((?x588 (concat (select ?x582 (_ bv38 32)) (concat (select ?x582 (_ bv37 32)) (select ?x582 (_ bv36 32))))))
-(let ((?x760 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv39 32)) ?x588)) ((_ to_fp 8 24) ?x757)) (_ bv9 32) ?x744)))
-(let ((?x763 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x760)))))
-(let ((?x764 (bvadd (_ bv3 32) ?x763)))
-(let ((?x765 (bvadd (_ bv2 32) ?x763)))
-(let ((?x641 (select ?x582 (_ bv9 32))))
-(let ((?x766 (bvadd (_ bv1 32) ?x763)))
-(let ((?x640 (select ?x582 (_ bv8 32))))
-(let ((?x773 (store (store (store ?x582 (_ bv8 32) (select ?x582 ?x763)) (_ bv9 32) (select ?x582 ?x766)) (_ bv10 32) (select ?x582 ?x765))))
-(let ((?x776 (store (store (store ?x773 (_ bv11 32) (select ?x582 ?x764)) ?x763 ?x640) ?x766 ?x641)))
-(let ((?x778 (store (store ?x776 ?x765 ?x643) ?x764 ?x583)))
-(let ((?x779 (select ?x778 (_ bv15 32))))
-(let ((?x824 (concat (select ?x778 (_ bv18 32)) (concat (select ?x778 (_ bv17 32)) (select ?x778 (_ bv16 32))))))
-(let ((?x831 (select ?x778 (_ bv14 32))))
-(let ((?x833 (concat ?x779 (concat ?x831 (concat (select ?x778 (_ bv13 32)) (select ?x778 (_ bv12 32)))))))
-(let ((?x836 (ite (fp.lt ((_ to_fp 8 24) ?x833) ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824))) (_ bv3 32) (_ bv4 32))))
-(let ((?x843 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836)))))))
-(let ((?x846 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x843)))
-(let ((?x849 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x846)))
-(let ((?x852 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824)) ((_ to_fp 8 24) ?x849)) (_ bv4 32) ?x836)))
-(let ((?x859 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852)))))))
-(let ((?x862 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x859)))
-(let ((?x865 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x862)))
-(let ((?x816 (concat (select ?x778 (_ bv22 32)) (concat (select ?x778 (_ bv21 32)) (select ?x778 (_ bv20 32))))))
-(let ((?x868 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv23 32)) ?x816)) ((_ to_fp 8 24) ?x865)) (_ bv5 32) ?x852)))
-(let ((?x875 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868)))))))
-(let ((?x878 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x875)))
-(let ((?x881 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x878)))
-(let ((?x808 (concat (select ?x778 (_ bv26 32)) (concat (select ?x778 (_ bv25 32)) (select ?x778 (_ bv24 32))))))
-(let ((?x884 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv27 32)) ?x808)) ((_ to_fp 8 24) ?x881)) (_ bv6 32) ?x868)))
-(let ((?x891 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884)))))))
-(let ((?x894 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x891)))
-(let ((?x897 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x894)))
-(let ((?x800 (concat (select ?x778 (_ bv30 32)) (concat (select ?x778 (_ bv29 32)) (select ?x778 (_ bv28 32))))))
-(let ((?x900 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv31 32)) ?x800)) ((_ to_fp 8 24) ?x897)) (_ bv7 32) ?x884)))
-(let ((?x907 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900)))))))
-(let ((?x910 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x907)))
-(let ((?x913 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x910)))
-(let ((?x792 (concat (select ?x778 (_ bv34 32)) (concat (select ?x778 (_ bv33 32)) (select ?x778 (_ bv32 32))))))
-(let ((?x916 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv35 32)) ?x792)) ((_ to_fp 8 24) ?x913)) (_ bv8 32) ?x900)))
-(let ((?x923 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916)))))))
-(let ((?x926 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x923)))
-(let ((?x929 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x926)))
-(let ((?x784 (concat (select ?x778 (_ bv38 32)) (concat (select ?x778 (_ bv37 32)) (select ?x778 (_ bv36 32))))))
-(let ((?x932 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv39 32)) ?x784)) ((_ to_fp 8 24) ?x929)) (_ bv9 32) ?x916)))
-(let ((?x935 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x932)))))
-(let ((?x936 (bvadd (_ bv3 32) ?x935)))
-(let ((?x937 (bvadd (_ bv2 32) ?x935)))
-(let ((?x829 (select ?x778 (_ bv13 32))))
-(let ((?x938 (bvadd (_ bv1 32) ?x935)))
-(let ((?x828 (select ?x778 (_ bv12 32))))
-(let ((?x945 (store (store (store ?x778 (_ bv12 32) (select ?x778 ?x935)) (_ bv13 32) (select ?x778 ?x938)) (_ bv14 32) (select ?x778 ?x937))))
-(let ((?x948 (store (store (store ?x945 (_ bv15 32) (select ?x778 ?x936)) ?x935 ?x828) ?x938 ?x829)))
-(let ((?x950 (store (store ?x948 ?x937 ?x831) ?x936 ?x779)))
-(let ((?x951 (select ?x950 (_ bv19 32))))
-(let ((?x988 (concat (select ?x950 (_ bv22 32)) (concat (select ?x950 (_ bv21 32)) (select ?x950 (_ bv20 32))))))
-(let ((?x995 (select ?x950 (_ bv18 32))))
-(let ((?x997 (concat ?x951 (concat ?x995 (concat (select ?x950 (_ bv17 32)) (select ?x950 (_ bv16 32)))))))
-(let ((?x1000 (ite (fp.lt ((_ to_fp 8 24) ?x997) ((_ to_fp 8 24) (concat (select ?x950 (_ bv23 32)) ?x988))) (_ bv4 32) (_ bv5 32))))
-(let ((?x1007 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000)))))))
-(let ((?x1010 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000))))) ?x1007)))
-(let ((?x1013 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000))))) ?x1010)))
-(let ((?x1016 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv23 32)) ?x988)) ((_ to_fp 8 24) ?x1013)) (_ bv5 32) ?x1000)))
-(let ((?x1023 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016)))))))
-(let ((?x1026 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016))))) ?x1023)))
-(let ((?x1029 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016))))) ?x1026)))
-(let ((?x980 (concat (select ?x950 (_ bv26 32)) (concat (select ?x950 (_ bv25 32)) (select ?x950 (_ bv24 32))))))
-(let ((?x1032 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv27 32)) ?x980)) ((_ to_fp 8 24) ?x1029)) (_ bv6 32) ?x1016)))
-(let ((?x1039 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032)))))))
-(let ((?x1042 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032))))) ?x1039)))
-(let ((?x1045 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032))))) ?x1042)))
-(let ((?x972 (concat (select ?x950 (_ bv30 32)) (concat (select ?x950 (_ bv29 32)) (select ?x950 (_ bv28 32))))))
-(let ((?x1048 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv31 32)) ?x972)) ((_ to_fp 8 24) ?x1045)) (_ bv7 32) ?x1032)))
-(let ((?x1055 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048)))))))
-(let ((?x1058 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048))))) ?x1055)))
-(let ((?x1061 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048))))) ?x1058)))
-(let ((?x964 (concat (select ?x950 (_ bv34 32)) (concat (select ?x950 (_ bv33 32)) (select ?x950 (_ bv32 32))))))
-(let ((?x1064 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv35 32)) ?x964)) ((_ to_fp 8 24) ?x1061)) (_ bv8 32) ?x1048)))
-(let ((?x1071 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064)))))))
-(let ((?x1074 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064))))) ?x1071)))
-(let ((?x1077 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064))))) ?x1074)))
-(let ((?x956 (concat (select ?x950 (_ bv38 32)) (concat (select ?x950 (_ bv37 32)) (select ?x950 (_ bv36 32))))))
-(let ((?x1080 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv39 32)) ?x956)) ((_ to_fp 8 24) ?x1077)) (_ bv9 32) ?x1064)))
-(let ((?x1083 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1080)))))
-(let ((?x1084 (bvadd (_ bv3 32) ?x1083)))
-(let ((?x1085 (bvadd (_ bv2 32) ?x1083)))
-(let ((?x993 (select ?x950 (_ bv17 32))))
-(let ((?x1086 (bvadd (_ bv1 32) ?x1083)))
-(let ((?x992 (select ?x950 (_ bv16 32))))
-(let ((?x1093 (store (store (store ?x950 (_ bv16 32) (select ?x950 ?x1083)) (_ bv17 32) (select ?x950 ?x1086)) (_ bv18 32) (select ?x950 ?x1085))))
-(let ((?x1096 (store (store (store ?x1093 (_ bv19 32) (select ?x950 ?x1084)) ?x1083 ?x992) ?x1086 ?x993)))
-(let ((?x1098 (store (store ?x1096 ?x1085 ?x995) ?x1084 ?x951)))
-(let ((?x1111 (concat (select ?x1098 (_ bv26 32)) (concat (select ?x1098 (_ bv25 32)) (select ?x1098 (_ bv24 32))))))
-(let ((?x1103 (concat (select ?x1098 (_ bv22 32)) (concat (select ?x1098 (_ bv21 32)) (select ?x1098 (_ bv20 32))))))
-(let (($x1115 (fp.lt ((_ to_fp 8 24) (concat (select ?x1098 (_ bv23 32)) ?x1103)) ((_ to_fp 8 24) (concat (select ?x1098 (_ bv27 32)) ?x1111)))))
-(not (bvult (bvmul (_ bv4 64) ((_ sign_extend 32) (ite $x1115 (_ bv5 32) (_ bv6 32)))) (_ bv37 64))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.isNaN ?x81)))))
+(assert
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.lt ?x81 ?x65)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.eq ?x33 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.eq ?x49 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.eq ?x65 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.eq ?x81 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
+ (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
+ (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+ (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+ (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+ (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+ (let ((?x146 (ite $x144 ?x127 ?x125)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x145 (ite $x144 ?x124 ?x127)))
+ (not (= ?x145 ?x146))))))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+(let (($x103 (fp.gt ?x49 ?x94)))
+(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+(let ((?x125 (ite $x123 ?x107 ?x105)))
+(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+(let ((?x146 (ite $x144 ?x127 ?x125)))
+(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
+(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
+(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
+(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
+(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
+(let ((?x167 (ite $x165 ?x150 ?x146)))
+(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+(let ((?x124 (ite $x123 ?x104 ?x107)))
+(let ((?x145 (ite $x144 ?x124 ?x127)))
+(let ((?x166 (ite $x165 ?x145 ?x150)))
+(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
+(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
+(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
+(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
+(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
+(let ((?x186 (ite $x184 ?x169 ?x167)))
+(let ((?x188 (bvsdiv (bvadd (ite $x184 ?x166 ?x169) ?x186) (_ bv2 32))))
+(let ((?x195 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188)))))))
+(let ((?x198 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x195)))
+(let ((?x201 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x198)))
+(let (($x203 (fp.gt ((_ to_fp 8 24) ?x201) ?x94)))
+(let ((?x205 (ite $x203 ?x188 ?x186)))
+(let ((?x207 (bvsdiv (bvadd (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x205) (_ bv2 32))))
+(let ((?x214 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207)))))))
+(let ((?x217 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x214)))
+(let ((?x220 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x217)))
+(let (($x222 (fp.gt ((_ to_fp 8 24) ?x220) ?x94)))
+(let (($x225 (= (ite $x222 (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x207) (ite $x222 ?x207 ?x205))))
+(not (not $x225)))))))))))))))))))))))))))))))))))))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.46.smt2 b/UnitTests/unsat/QF_ABVFP/query.46.smt2
index 30cec3f9b2f888c01d69d284511f3e90b06c5e87..eea082d714e917e61154f6ddbb85aaae930f2fb8 100644
--- a/UnitTests/unsat/QF_ABVFP/query.46.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.46.smt2
@@ -6,63 +6,167 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/aachen_real_wxpro_tostr.x86_64/query.46.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun meters0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
- (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
- (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
- (fp.geq ?x31 ((_ to_fp 11 53) (_ bv0 64)))))))
-(assert
- (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
- (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
- (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
- (fp.leq ?x31 ((_ to_fp 11 53) (_ bv4652007308841189376 64)))))))
-(assert
- (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
- (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
- (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
- (let ((?x38 (fp.abs ?x31)))
- (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
- (let ((?x41 ((_ sign_extend 32) ?x40)))
- (let ((?x48 (bvor (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32)) ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41))))))
- (= (_ bv0 32) ?x48)))))))))
-(assert
- (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
- (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
- (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
- (let ((?x38 (fp.abs ?x31)))
- (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
- (let ((?x41 ((_ sign_extend 32) ?x40)))
- (let ((?x42 ((_ extract 31 0) ?x41)))
- (not (= (_ bv48 8) ((_ extract 7 0) (bvadd (_ bv48 32) (bvurem ?x42 (_ bv10 32))))))))))))))
-(assert
- (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
- (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
- (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
- (let ((?x38 (fp.abs ?x31)))
- (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
- (let ((?x59 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
- (let ((?x65 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x59 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
- (let ((?x67 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x65 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
- (let ((?x68 ((_ sign_extend 32) ?x67)))
- (let ((?x70 (bvudiv ((_ extract 31 0) ?x68) (_ bv10 32))))
- (not (= (_ bv0 32) (bvor ?x70 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x68)))))))))))))))))
-(assert
- (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
-(let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
-(let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
-(let ((?x38 (fp.abs ?x31)))
-(let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
-(let ((?x59 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
-(let ((?x65 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x59 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
-(let ((?x67 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x65 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
-(let ((?x68 ((_ sign_extend 32) ?x67)))
-(let ((?x70 (bvudiv ((_ extract 31 0) ?x68) (_ bv10 32))))
-(not (not (= (_ bv45 8) ((_ extract 7 0) (bvadd (_ bv48 32) (bvurem ?x70 (_ bv10 32))))))))))))))))))
+(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
+(assert
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
+(assert
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.isNaN ?x33)))))
+(assert
+ (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
+(assert
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.isNaN ?x49)))))
+(assert
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.lt ?x49 ?x33)))))))
+(assert
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.isNaN ?x65)))))
+(assert
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.lt ?x65 ?x49)))))))
+(assert
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.isNaN ?x81)))))
+(assert
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.lt ?x81 ?x65)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
+ (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
+ (not (fp.eq ?x33 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (not (fp.eq ?x49 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
+ (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
+ (not (fp.eq ?x65 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
+ (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
+ (not (fp.eq ?x81 ?x94)))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
+ (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
+ (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+ (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+ (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+ (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+ (let (($x103 (fp.gt ?x49 ?x94)))
+ (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+ (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+ (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+ (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+ (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+ (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+ (let ((?x125 (ite $x123 ?x107 ?x105)))
+ (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+ (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+ (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+ (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+ (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+ (let ((?x146 (ite $x144 ?x127 ?x125)))
+ (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+ (let ((?x124 (ite $x123 ?x104 ?x107)))
+ (let ((?x145 (ite $x144 ?x124 ?x127)))
+ (not (= ?x145 ?x146))))))))))))))))))))))))
+(assert
+ (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
+(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
+(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
+(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
+(let (($x103 (fp.gt ?x49 ?x94)))
+(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
+(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
+(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
+(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
+(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
+(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
+(let ((?x125 (ite $x123 ?x107 ?x105)))
+(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
+(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
+(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
+(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
+(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
+(let ((?x146 (ite $x144 ?x127 ?x125)))
+(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
+(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
+(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
+(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
+(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
+(let ((?x167 (ite $x165 ?x150 ?x146)))
+(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
+(let ((?x124 (ite $x123 ?x104 ?x107)))
+(let ((?x145 (ite $x144 ?x124 ?x127)))
+(let ((?x166 (ite $x165 ?x145 ?x150)))
+(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
+(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
+(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
+(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
+(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
+(let ((?x186 (ite $x184 ?x169 ?x167)))
+(let ((?x188 (bvsdiv (bvadd (ite $x184 ?x166 ?x169) ?x186) (_ bv2 32))))
+(let ((?x195 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188)))))))
+(let ((?x198 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x195)))
+(let ((?x201 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x198)))
+(let (($x203 (fp.gt ((_ to_fp 8 24) ?x201) ?x94)))
+(let ((?x205 (ite $x203 ?x188 ?x186)))
+(let ((?x207 (bvsdiv (bvadd (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x205) (_ bv2 32))))
+(let ((?x214 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207)))))))
+(let ((?x217 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x214)))
+(let ((?x220 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x217)))
+(let (($x222 (fp.gt ((_ to_fp 8 24) ?x220) ?x94)))
+(let ((?x225 (bvadd (ite $x222 (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x207) (ite $x222 ?x207 ?x205))))
+(not (bvult (bvmul (_ bv4 64) ((_ sign_extend 32) (bvsdiv ?x225 (_ bv2 32)))) (_ bv17 64))))))))))))))))))))))))))))))))))))))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.56.smt2 b/UnitTests/unsat/QF_ABVFP/query.56.smt2
index f6da22acabd88548ef96fa3aab14fe30156bc1e0..1caa9771147b3b57f4b60611c7361aead5e6dbe5 100644
--- a/UnitTests/unsat/QF_ABVFP/query.56.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.56.smt2
@@ -10,188 +10,415 @@ Target solver: Z3 or MathSAT5
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun sym0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun fresh_to_ieee_bv_!0 () (_ BitVec 32))
+(declare-fun fresh_to_ieee_bv_!1 () (_ BitVec 32))
+(declare-fun fresh_to_ieee_bv_!2 () (_ BitVec 32))
+(declare-fun fresh_to_ieee_bv_!3 () (_ BitVec 32))
+(declare-fun const_arr11 () (Array (_ BitVec 32) (_ BitVec 8)))
 (assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
+ (let ((?x14 (select sym0 (_ bv6 32))))
+ (let ((?x17 (select sym0 (_ bv7 32))))
+ (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
+ (let ((?x19 ((_ to_fp 8 24) ?x18)))
+ (not (fp.isNaN ?x19)))))))
 (assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.isNaN ?x33)))))
+ (let ((?x28 (select sym0 (_ bv10 32))))
+ (let ((?x31 (select sym0 (_ bv11 32))))
+ (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
+ (let ((?x33 ((_ to_fp 8 24) ?x32)))
+ (not (fp.isNaN ?x33)))))))
 (assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
+ (let ((?x42 (select sym0 (_ bv14 32))))
+ (let ((?x45 (select sym0 (_ bv15 32))))
+ (let ((?x46 (concat ?x45 (concat ?x42 (concat (select sym0 (_ bv13 32)) (select sym0 (_ bv12 32)))))))
+ (not (fp.isNaN ((_ to_fp 8 24) ?x46)))))))
 (assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.isNaN ?x49)))))
+ (let ((?x28 (select sym0 (_ bv10 32))))
+ (let ((?x31 (select sym0 (_ bv11 32))))
+ (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
+ (let ((?x33 ((_ to_fp 8 24) ?x32)))
+ (let ((?x14 (select sym0 (_ bv6 32))))
+ (let ((?x17 (select sym0 (_ bv7 32))))
+ (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
+ (let ((?x19 ((_ to_fp 8 24) ?x18)))
+ (let ((?x55 (fp.add roundNearestTiesToEven ?x19 ?x33)))
+ (= ?x55 ((_ to_fp 8 24) fresh_to_ieee_bv_!0))))))))))))
 (assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.lt ?x49 ?x33)))))))
+ (let ((?x28 (select sym0 (_ bv10 32))))
+ (let ((?x31 (select sym0 (_ bv11 32))))
+ (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
+ (let ((?x33 ((_ to_fp 8 24) ?x32)))
+ (let ((?x14 (select sym0 (_ bv6 32))))
+ (let ((?x17 (select sym0 (_ bv7 32))))
+ (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
+ (let ((?x19 ((_ to_fp 8 24) ?x18)))
+ (let ((?x55 (fp.add roundNearestTiesToEven ?x19 ?x33)))
+ (= ?x55 ((_ to_fp 8 24) fresh_to_ieee_bv_!1))))))))))))
 (assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.isNaN ?x65)))))
+ (let ((?x28 (select sym0 (_ bv10 32))))
+ (let ((?x31 (select sym0 (_ bv11 32))))
+ (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
+ (let ((?x33 ((_ to_fp 8 24) ?x32)))
+ (let ((?x14 (select sym0 (_ bv6 32))))
+ (let ((?x17 (select sym0 (_ bv7 32))))
+ (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
+ (let ((?x19 ((_ to_fp 8 24) ?x18)))
+ (let ((?x55 (fp.add roundNearestTiesToEven ?x19 ?x33)))
+ (= ?x55 ((_ to_fp 8 24) fresh_to_ieee_bv_!2))))))))))))
 (assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.lt ?x65 ?x49)))))))
+ (let ((?x28 (select sym0 (_ bv10 32))))
+ (let ((?x31 (select sym0 (_ bv11 32))))
+ (let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
+ (let ((?x33 ((_ to_fp 8 24) ?x32)))
+ (let ((?x14 (select sym0 (_ bv6 32))))
+ (let ((?x17 (select sym0 (_ bv7 32))))
+ (let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
+ (let ((?x19 ((_ to_fp 8 24) ?x18)))
+ (let ((?x55 (fp.add roundNearestTiesToEven ?x19 ?x33)))
+ (= ?x55 ((_ to_fp 8 24) fresh_to_ieee_bv_!3))))))))))))
 (assert
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.isNaN ?x81)))))
-(assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.lt ?x81 ?x65)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.eq ?x33 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.eq ?x49 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.eq ?x65 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.eq ?x81 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
- (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
- (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
- (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
- (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
- (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
- (let ((?x146 (ite $x144 ?x127 ?x125)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x145 (ite $x144 ?x124 ?x127)))
- (not (= ?x145 ?x146))))))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
-(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
-(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
-(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
-(let (($x103 (fp.gt ?x49 ?x94)))
-(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
-(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
-(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
-(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
-(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
-(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
-(let ((?x125 (ite $x123 ?x107 ?x105)))
-(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
-(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
-(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
-(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
-(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
-(let ((?x146 (ite $x144 ?x127 ?x125)))
-(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
-(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
-(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
-(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
-(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
-(let ((?x167 (ite $x165 ?x150 ?x146)))
-(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
-(let ((?x124 (ite $x123 ?x104 ?x107)))
-(let ((?x145 (ite $x144 ?x124 ?x127)))
-(let ((?x166 (ite $x165 ?x145 ?x150)))
-(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
-(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
-(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
-(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
-(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
-(let ((?x186 (ite $x184 ?x169 ?x167)))
-(let ((?x188 (bvsdiv (bvadd (ite $x184 ?x166 ?x169) ?x186) (_ bv2 32))))
-(let ((?x195 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188)))))))
-(let ((?x198 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x195)))
-(let ((?x201 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x198)))
-(let (($x203 (fp.gt ((_ to_fp 8 24) ?x201) ?x94)))
-(let ((?x205 (ite $x203 ?x188 ?x186)))
-(let ((?x207 (bvsdiv (bvadd (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x205) (_ bv2 32))))
-(let ((?x214 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207)))))))
-(let ((?x217 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x214)))
-(let ((?x220 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x217)))
-(let (($x222 (fp.gt ((_ to_fp 8 24) ?x220) ?x94)))
-(let ((?x224 (ite $x222 ?x207 ?x205)))
-(let ((?x226 (bvsdiv (bvadd (ite $x222 (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x207) ?x224) (_ bv2 32))))
-(let ((?x233 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226)))))))
-(let ((?x236 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x233)))
-(let ((?x239 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x236)))
-(let (($x241 (fp.gt ((_ to_fp 8 24) ?x239) ?x94)))
-(let ((?x243 (ite $x241 ?x226 ?x224)))
-(let ((?x185 (ite $x184 ?x166 ?x169)))
-(let ((?x204 (ite $x203 ?x185 ?x188)))
-(let ((?x223 (ite $x222 ?x204 ?x207)))
-(let ((?x242 (ite $x241 ?x223 ?x226)))
-(let ((?x245 (bvsdiv (bvadd ?x242 ?x243) (_ bv2 32))))
-(let ((?x252 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245)))))))
-(let ((?x255 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x252)))
-(let ((?x258 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x255)))
-(let (($x260 (fp.gt ((_ to_fp 8 24) ?x258) ?x94)))
-(let ((?x262 (ite $x260 ?x245 ?x243)))
-(let ((?x264 (bvsdiv (bvadd (ite $x260 ?x242 ?x245) ?x262) (_ bv2 32))))
-(let ((?x271 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let (($x279 (fp.gt ((_ to_fp 8 24) ?x277) ?x94)))
-(let ((?x283 (bvsdiv (bvadd (ite $x279 (ite $x260 ?x242 ?x245) ?x264) (ite $x279 ?x264 ?x262)) (_ bv2 32))))
-(let ((?x286 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283)))))
-(let ((?x293 (concat (select data0 (bvadd (_ bv2 32) ?x286)) (concat (select data0 (bvadd (_ bv1 32) ?x286)) (select data0 ?x286)))))
-(let (($x299 (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x286)) ?x293)) ?x94))))
-(not $x299)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ (let ((?x59 ((_ extract 31 24) fresh_to_ieee_bv_!0)))
+(let ((?x14 (select sym0 (_ bv6 32))))
+(let ((?x17 (select sym0 (_ bv7 32))))
+(let ((?x18 (concat ?x17 (concat ?x14 (concat (select sym0 (_ bv5 32)) (select sym0 (_ bv4 32)))))))
+(let ((?x19 ((_ to_fp 8 24) ?x18)))
+(let ((?x28 (select sym0 (_ bv10 32))))
+(let ((?x31 (select sym0 (_ bv11 32))))
+(let ((?x32 (concat ?x31 (concat ?x28 (concat (select sym0 (_ bv9 32)) (select sym0 (_ bv8 32)))))))
+(let ((?x33 ((_ to_fp 8 24) ?x32)))
+(let ((?x55 (fp.add roundNearestTiesToEven ?x19 ?x33)))
+(let ((?x74 (ite (fp.lt ?x55 ?x19) (_ bv0 32) (_ bv1 32))))
+(let ((?x78 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x74)))))
+(let ((?x45 (select sym0 (_ bv15 32))))
+(let ((?x42 (select sym0 (_ bv14 32))))
+(let ((?x39 (select sym0 (_ bv13 32))))
+(let ((?x37 (select sym0 (_ bv12 32))))
+(let ((?x25 (select sym0 (_ bv9 32))))
+(let ((?x23 (select sym0 (_ bv8 32))))
+(let ((?x11 (select sym0 (_ bv5 32))))
+(let ((?x9 (select sym0 (_ bv4 32))))
+(let ((?x113 ((_ extract 23 16) fresh_to_ieee_bv_!1)))
+(let ((?x118 ((_ extract 15 8) fresh_to_ieee_bv_!2)))
+(let ((?x122 ((_ extract 7 0) fresh_to_ieee_bv_!3)))
+(let ((?x127 (store (store (store (store const_arr11 (_ bv0 32) (_ bv0 8)) (_ bv1 32) (_ bv0 8)) (_ bv2 32) (_ bv0 8)) (_ bv3 32) (_ bv0 8))))
+(let ((?x131 (store (store (store (store ?x127 (_ bv4 32) (_ bv0 8)) (_ bv5 32) (_ bv0 8)) (_ bv6 32) (_ bv0 8)) (_ bv7 32) (_ bv0 8))))
+(let ((?x135 (store (store (store (store ?x131 (_ bv8 32) (_ bv0 8)) (_ bv9 32) (_ bv0 8)) (_ bv10 32) (_ bv0 8)) (_ bv11 32) (_ bv0 8))))
+(let ((?x139 (store (store (store (store ?x135 (_ bv12 32) (_ bv0 8)) (_ bv13 32) (_ bv0 8)) (_ bv14 32) (_ bv0 8)) (_ bv15 32) (_ bv0 8))))
+(let ((?x143 (store (store (store (store ?x139 (_ bv16 32) (_ bv0 8)) (_ bv17 32) (_ bv0 8)) (_ bv18 32) (_ bv0 8)) (_ bv19 32) (_ bv0 8))))
+(let ((?x147 (store (store (store (store ?x143 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv0 8)) (_ bv23 32) (_ bv0 8))))
+(let ((?x151 (store (store (store (store ?x147 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv0 8)) (_ bv27 32) (_ bv0 8))))
+(let ((?x155 (store (store (store (store ?x151 (_ bv28 32) (_ bv0 8)) (_ bv29 32) (_ bv0 8)) (_ bv30 32) (_ bv0 8)) (_ bv31 32) (_ bv0 8))))
+(let ((?x159 (store (store (store (store ?x155 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv0 8)) (_ bv35 32) (_ bv0 8))))
+(let ((?x163 (store (store (store (store ?x159 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv0 8))))
+(let ((?x167 (store (store (store (store ?x163 (_ bv0 32) ?x122) (_ bv1 32) ?x118) (_ bv2 32) ?x113) (_ bv3 32) ?x59)))
+(let ((?x171 (store (store (store (store ?x167 (_ bv4 32) ?x9) (_ bv5 32) ?x11) (_ bv6 32) ?x14) (_ bv7 32) ?x17)))
+(let ((?x175 (store (store (store (store ?x171 (_ bv8 32) ?x23) (_ bv9 32) ?x25) (_ bv10 32) ?x28) (_ bv11 32) ?x31)))
+(let ((?x179 (store (store (store (store ?x175 (_ bv12 32) (_ bv154 8)) (_ bv13 32) (_ bv153 8)) (_ bv14 32) (_ bv153 8)) (_ bv15 32) (_ bv62 8))))
+(let ((?x183 (store (store (store (store ?x179 (_ bv16 32) (_ bv205 8)) (_ bv17 32) (_ bv204 8)) (_ bv18 32) (_ bv76 8)) (_ bv19 32) (_ bv62 8))))
+(let ((?x187 (store (store (store (store ?x183 (_ bv20 32) (_ bv0 8)) (_ bv21 32) (_ bv0 8)) (_ bv22 32) (_ bv128 8)) (_ bv23 32) (_ bv63 8))))
+(let ((?x191 (store (store (store (store ?x187 (_ bv24 32) (_ bv0 8)) (_ bv25 32) (_ bv0 8)) (_ bv26 32) (_ bv64 8)) (_ bv27 32) (_ bv64 8))))
+(let ((?x195 (store (store (store (store ?x191 (_ bv28 32) ?x37) (_ bv29 32) ?x39) (_ bv30 32) ?x42) (_ bv31 32) ?x45)))
+(let ((?x199 (store (store (store (store ?x195 (_ bv32 32) (_ bv0 8)) (_ bv33 32) (_ bv0 8)) (_ bv34 32) (_ bv128 8)) (_ bv35 32) (_ bv63 8))))
+(let ((?x203 (store (store (store (store ?x199 (_ bv36 32) (_ bv0 8)) (_ bv37 32) (_ bv0 8)) (_ bv38 32) (_ bv0 8)) (_ bv39 32) (_ bv65 8))))
+(let ((?x210 (concat (select ?x203 (bvadd (_ bv2 32) ?x78)) (concat (select ?x203 (bvadd (_ bv1 32) ?x78)) (select ?x203 ?x78)))))
+(let ((?x216 (ite (fp.lt ?x19 ((_ to_fp 8 24) (concat (select ?x203 (bvadd (_ bv3 32) ?x78)) ?x210))) (_ bv1 32) ?x74)))
+(let ((?x223 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216)))))))
+(let ((?x226 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x223)))
+(let ((?x229 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x216))))) ?x226)))
+(let ((?x232 (ite (fp.lt ?x33 ((_ to_fp 8 24) ?x229)) (_ bv2 32) ?x216)))
+(let ((?x239 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232)))))))
+(let ((?x242 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x239)))
+(let ((?x245 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x232))))) ?x242)))
+(let ((?x248 (ite (fp.lt ((_ to_fp 8 24) (_ bv1050253722 32)) ((_ to_fp 8 24) ?x245)) (_ bv3 32) ?x232)))
+(let ((?x255 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248)))))))
+(let ((?x258 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x255)))
+(let ((?x261 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x248))))) ?x258)))
+(let ((?x264 (ite (fp.lt ((_ to_fp 8 24) (_ bv1045220557 32)) ((_ to_fp 8 24) ?x261)) (_ bv4 32) ?x248)))
+(let ((?x271 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
+(let ((?x274 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
+(let ((?x277 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
+(let ((?x280 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x277)) (_ bv5 32) ?x264)))
+(let ((?x287 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280)))))))
+(let ((?x290 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x287)))
+(let ((?x293 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x280))))) ?x290)))
+(let ((?x296 (ite (fp.lt ((_ to_fp 8 24) (_ bv1077936128 32)) ((_ to_fp 8 24) ?x293)) (_ bv6 32) ?x280)))
+(let ((?x303 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296)))))))
+(let ((?x306 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x303)))
+(let ((?x309 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x296))))) ?x306)))
+(let (($x311 (fp.lt ((_ to_fp 8 24) (concat ?x45 (concat ?x42 (concat ?x39 ?x37)))) ((_ to_fp 8 24) ?x309))))
+(let ((?x312 (ite $x311 (_ bv7 32) ?x296)))
+(let ((?x319 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312)))))))
+(let ((?x322 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x319)))
+(let ((?x325 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x312))))) ?x322)))
+(let ((?x328 (ite (fp.lt ((_ to_fp 8 24) (_ bv1065353216 32)) ((_ to_fp 8 24) ?x325)) (_ bv8 32) ?x312)))
+(let ((?x335 (concat (select ?x203 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) (select ?x203 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328)))))))
+(let ((?x338 (concat (select ?x203 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x335)))
+(let ((?x341 (concat (select ?x203 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x328))))) ?x338)))
+(let ((?x346 (bvmul (_ bv4 64) ((_ sign_extend 32) (ite (fp.lt ((_ to_fp 8 24) (_ bv1090519040 32)) ((_ to_fp 8 24) ?x341)) (_ bv9 32) ?x328)))))
+(let ((?x347 ((_ extract 31 0) ?x346)))
+(let ((?x348 (bvadd (_ bv3 32) ?x347)))
+(let ((?x349 (bvadd (_ bv2 32) ?x347)))
+(let ((?x350 (bvadd (_ bv1 32) ?x347)))
+(let ((?x357 (store (store (store ?x203 (_ bv0 32) (select ?x203 ?x347)) (_ bv1 32) (select ?x203 ?x350)) (_ bv2 32) (select ?x203 ?x349))))
+(let ((?x360 (store (store (store ?x357 (_ bv3 32) (select ?x203 ?x348)) ?x347 ?x122) ?x350 ?x118)))
+(let ((?x362 (store (store ?x360 ?x349 ?x113) ?x348 ?x59)))
+(let ((?x363 (select ?x362 (_ bv7 32))))
+(let ((?x424 (concat (select ?x362 (_ bv10 32)) (concat (select ?x362 (_ bv9 32)) (select ?x362 (_ bv8 32))))))
+(let ((?x431 (select ?x362 (_ bv6 32))))
+(let ((?x433 (concat ?x363 (concat ?x431 (concat (select ?x362 (_ bv5 32)) (select ?x362 (_ bv4 32)))))))
+(let ((?x436 (ite (fp.lt ((_ to_fp 8 24) ?x433) ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424))) (_ bv1 32) (_ bv2 32))))
+(let ((?x443 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436)))))))
+(let ((?x446 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x443)))
+(let ((?x449 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x436))))) ?x446)))
+(let ((?x452 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv11 32)) ?x424)) ((_ to_fp 8 24) ?x449)) (_ bv2 32) ?x436)))
+(let ((?x459 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452)))))))
+(let ((?x462 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x459)))
+(let ((?x465 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x452))))) ?x462)))
+(let ((?x416 (concat (select ?x362 (_ bv14 32)) (concat (select ?x362 (_ bv13 32)) (select ?x362 (_ bv12 32))))))
+(let ((?x468 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv15 32)) ?x416)) ((_ to_fp 8 24) ?x465)) (_ bv3 32) ?x452)))
+(let ((?x475 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468)))))))
+(let ((?x478 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x475)))
+(let ((?x481 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x468))))) ?x478)))
+(let ((?x408 (concat (select ?x362 (_ bv18 32)) (concat (select ?x362 (_ bv17 32)) (select ?x362 (_ bv16 32))))))
+(let ((?x484 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv19 32)) ?x408)) ((_ to_fp 8 24) ?x481)) (_ bv4 32) ?x468)))
+(let ((?x491 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484)))))))
+(let ((?x494 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x491)))
+(let ((?x497 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x484))))) ?x494)))
+(let ((?x400 (concat (select ?x362 (_ bv22 32)) (concat (select ?x362 (_ bv21 32)) (select ?x362 (_ bv20 32))))))
+(let ((?x500 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv23 32)) ?x400)) ((_ to_fp 8 24) ?x497)) (_ bv5 32) ?x484)))
+(let ((?x507 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500)))))))
+(let ((?x510 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x507)))
+(let ((?x513 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x500))))) ?x510)))
+(let ((?x392 (concat (select ?x362 (_ bv26 32)) (concat (select ?x362 (_ bv25 32)) (select ?x362 (_ bv24 32))))))
+(let ((?x516 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv27 32)) ?x392)) ((_ to_fp 8 24) ?x513)) (_ bv6 32) ?x500)))
+(let ((?x523 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516)))))))
+(let ((?x526 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x523)))
+(let ((?x529 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x516))))) ?x526)))
+(let ((?x384 (concat (select ?x362 (_ bv30 32)) (concat (select ?x362 (_ bv29 32)) (select ?x362 (_ bv28 32))))))
+(let ((?x532 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv31 32)) ?x384)) ((_ to_fp 8 24) ?x529)) (_ bv7 32) ?x516)))
+(let ((?x539 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532)))))))
+(let ((?x542 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x539)))
+(let ((?x545 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x532))))) ?x542)))
+(let ((?x376 (concat (select ?x362 (_ bv34 32)) (concat (select ?x362 (_ bv33 32)) (select ?x362 (_ bv32 32))))))
+(let ((?x548 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv35 32)) ?x376)) ((_ to_fp 8 24) ?x545)) (_ bv8 32) ?x532)))
+(let ((?x555 (concat (select ?x362 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) (select ?x362 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548)))))))
+(let ((?x558 (concat (select ?x362 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x555)))
+(let ((?x561 (concat (select ?x362 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x548))))) ?x558)))
+(let ((?x368 (concat (select ?x362 (_ bv38 32)) (concat (select ?x362 (_ bv37 32)) (select ?x362 (_ bv36 32))))))
+(let ((?x564 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x362 (_ bv39 32)) ?x368)) ((_ to_fp 8 24) ?x561)) (_ bv9 32) ?x548)))
+(let ((?x567 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x564)))))
+(let ((?x568 (bvadd (_ bv3 32) ?x567)))
+(let ((?x569 (bvadd (_ bv2 32) ?x567)))
+(let ((?x429 (select ?x362 (_ bv5 32))))
+(let ((?x570 (bvadd (_ bv1 32) ?x567)))
+(let ((?x428 (select ?x362 (_ bv4 32))))
+(let ((?x577 (store (store (store ?x362 (_ bv4 32) (select ?x362 ?x567)) (_ bv5 32) (select ?x362 ?x570)) (_ bv6 32) (select ?x362 ?x569))))
+(let ((?x580 (store (store (store ?x577 (_ bv7 32) (select ?x362 ?x568)) ?x567 ?x428) ?x570 ?x429)))
+(let ((?x582 (store (store ?x580 ?x569 ?x431) ?x568 ?x363)))
+(let ((?x583 (select ?x582 (_ bv11 32))))
+(let ((?x636 (concat (select ?x582 (_ bv14 32)) (concat (select ?x582 (_ bv13 32)) (select ?x582 (_ bv12 32))))))
+(let ((?x643 (select ?x582 (_ bv10 32))))
+(let ((?x645 (concat ?x583 (concat ?x643 (concat (select ?x582 (_ bv9 32)) (select ?x582 (_ bv8 32)))))))
+(let ((?x648 (ite (fp.lt ((_ to_fp 8 24) ?x645) ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636))) (_ bv2 32) (_ bv3 32))))
+(let ((?x655 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648)))))))
+(let ((?x658 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x655)))
+(let ((?x661 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x648))))) ?x658)))
+(let ((?x664 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv15 32)) ?x636)) ((_ to_fp 8 24) ?x661)) (_ bv3 32) ?x648)))
+(let ((?x671 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664)))))))
+(let ((?x674 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x671)))
+(let ((?x677 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x664))))) ?x674)))
+(let ((?x628 (concat (select ?x582 (_ bv18 32)) (concat (select ?x582 (_ bv17 32)) (select ?x582 (_ bv16 32))))))
+(let ((?x680 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv19 32)) ?x628)) ((_ to_fp 8 24) ?x677)) (_ bv4 32) ?x664)))
+(let ((?x687 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680)))))))
+(let ((?x690 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x687)))
+(let ((?x693 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x680))))) ?x690)))
+(let ((?x620 (concat (select ?x582 (_ bv22 32)) (concat (select ?x582 (_ bv21 32)) (select ?x582 (_ bv20 32))))))
+(let ((?x696 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv23 32)) ?x620)) ((_ to_fp 8 24) ?x693)) (_ bv5 32) ?x680)))
+(let ((?x703 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696)))))))
+(let ((?x706 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x703)))
+(let ((?x709 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x696))))) ?x706)))
+(let ((?x612 (concat (select ?x582 (_ bv26 32)) (concat (select ?x582 (_ bv25 32)) (select ?x582 (_ bv24 32))))))
+(let ((?x712 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv27 32)) ?x612)) ((_ to_fp 8 24) ?x709)) (_ bv6 32) ?x696)))
+(let ((?x719 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712)))))))
+(let ((?x722 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x719)))
+(let ((?x725 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x712))))) ?x722)))
+(let ((?x604 (concat (select ?x582 (_ bv30 32)) (concat (select ?x582 (_ bv29 32)) (select ?x582 (_ bv28 32))))))
+(let ((?x728 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv31 32)) ?x604)) ((_ to_fp 8 24) ?x725)) (_ bv7 32) ?x712)))
+(let ((?x735 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728)))))))
+(let ((?x738 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x735)))
+(let ((?x741 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x728))))) ?x738)))
+(let ((?x596 (concat (select ?x582 (_ bv34 32)) (concat (select ?x582 (_ bv33 32)) (select ?x582 (_ bv32 32))))))
+(let ((?x744 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv35 32)) ?x596)) ((_ to_fp 8 24) ?x741)) (_ bv8 32) ?x728)))
+(let ((?x751 (concat (select ?x582 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) (select ?x582 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744)))))))
+(let ((?x754 (concat (select ?x582 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x751)))
+(let ((?x757 (concat (select ?x582 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x744))))) ?x754)))
+(let ((?x588 (concat (select ?x582 (_ bv38 32)) (concat (select ?x582 (_ bv37 32)) (select ?x582 (_ bv36 32))))))
+(let ((?x760 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x582 (_ bv39 32)) ?x588)) ((_ to_fp 8 24) ?x757)) (_ bv9 32) ?x744)))
+(let ((?x763 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x760)))))
+(let ((?x764 (bvadd (_ bv3 32) ?x763)))
+(let ((?x765 (bvadd (_ bv2 32) ?x763)))
+(let ((?x641 (select ?x582 (_ bv9 32))))
+(let ((?x766 (bvadd (_ bv1 32) ?x763)))
+(let ((?x640 (select ?x582 (_ bv8 32))))
+(let ((?x773 (store (store (store ?x582 (_ bv8 32) (select ?x582 ?x763)) (_ bv9 32) (select ?x582 ?x766)) (_ bv10 32) (select ?x582 ?x765))))
+(let ((?x776 (store (store (store ?x773 (_ bv11 32) (select ?x582 ?x764)) ?x763 ?x640) ?x766 ?x641)))
+(let ((?x778 (store (store ?x776 ?x765 ?x643) ?x764 ?x583)))
+(let ((?x779 (select ?x778 (_ bv15 32))))
+(let ((?x824 (concat (select ?x778 (_ bv18 32)) (concat (select ?x778 (_ bv17 32)) (select ?x778 (_ bv16 32))))))
+(let ((?x831 (select ?x778 (_ bv14 32))))
+(let ((?x833 (concat ?x779 (concat ?x831 (concat (select ?x778 (_ bv13 32)) (select ?x778 (_ bv12 32)))))))
+(let ((?x836 (ite (fp.lt ((_ to_fp 8 24) ?x833) ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824))) (_ bv3 32) (_ bv4 32))))
+(let ((?x843 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836)))))))
+(let ((?x846 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x843)))
+(let ((?x849 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x836))))) ?x846)))
+(let ((?x852 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv19 32)) ?x824)) ((_ to_fp 8 24) ?x849)) (_ bv4 32) ?x836)))
+(let ((?x859 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852)))))))
+(let ((?x862 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x859)))
+(let ((?x865 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x852))))) ?x862)))
+(let ((?x816 (concat (select ?x778 (_ bv22 32)) (concat (select ?x778 (_ bv21 32)) (select ?x778 (_ bv20 32))))))
+(let ((?x868 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv23 32)) ?x816)) ((_ to_fp 8 24) ?x865)) (_ bv5 32) ?x852)))
+(let ((?x875 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868)))))))
+(let ((?x878 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x875)))
+(let ((?x881 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x868))))) ?x878)))
+(let ((?x808 (concat (select ?x778 (_ bv26 32)) (concat (select ?x778 (_ bv25 32)) (select ?x778 (_ bv24 32))))))
+(let ((?x884 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv27 32)) ?x808)) ((_ to_fp 8 24) ?x881)) (_ bv6 32) ?x868)))
+(let ((?x891 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884)))))))
+(let ((?x894 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x891)))
+(let ((?x897 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x884))))) ?x894)))
+(let ((?x800 (concat (select ?x778 (_ bv30 32)) (concat (select ?x778 (_ bv29 32)) (select ?x778 (_ bv28 32))))))
+(let ((?x900 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv31 32)) ?x800)) ((_ to_fp 8 24) ?x897)) (_ bv7 32) ?x884)))
+(let ((?x907 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900)))))))
+(let ((?x910 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x907)))
+(let ((?x913 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x900))))) ?x910)))
+(let ((?x792 (concat (select ?x778 (_ bv34 32)) (concat (select ?x778 (_ bv33 32)) (select ?x778 (_ bv32 32))))))
+(let ((?x916 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv35 32)) ?x792)) ((_ to_fp 8 24) ?x913)) (_ bv8 32) ?x900)))
+(let ((?x923 (concat (select ?x778 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) (select ?x778 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916)))))))
+(let ((?x926 (concat (select ?x778 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x923)))
+(let ((?x929 (concat (select ?x778 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x916))))) ?x926)))
+(let ((?x784 (concat (select ?x778 (_ bv38 32)) (concat (select ?x778 (_ bv37 32)) (select ?x778 (_ bv36 32))))))
+(let ((?x932 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x778 (_ bv39 32)) ?x784)) ((_ to_fp 8 24) ?x929)) (_ bv9 32) ?x916)))
+(let ((?x935 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x932)))))
+(let ((?x936 (bvadd (_ bv3 32) ?x935)))
+(let ((?x937 (bvadd (_ bv2 32) ?x935)))
+(let ((?x829 (select ?x778 (_ bv13 32))))
+(let ((?x938 (bvadd (_ bv1 32) ?x935)))
+(let ((?x828 (select ?x778 (_ bv12 32))))
+(let ((?x945 (store (store (store ?x778 (_ bv12 32) (select ?x778 ?x935)) (_ bv13 32) (select ?x778 ?x938)) (_ bv14 32) (select ?x778 ?x937))))
+(let ((?x948 (store (store (store ?x945 (_ bv15 32) (select ?x778 ?x936)) ?x935 ?x828) ?x938 ?x829)))
+(let ((?x950 (store (store ?x948 ?x937 ?x831) ?x936 ?x779)))
+(let ((?x951 (select ?x950 (_ bv19 32))))
+(let ((?x988 (concat (select ?x950 (_ bv22 32)) (concat (select ?x950 (_ bv21 32)) (select ?x950 (_ bv20 32))))))
+(let ((?x995 (select ?x950 (_ bv18 32))))
+(let ((?x997 (concat ?x951 (concat ?x995 (concat (select ?x950 (_ bv17 32)) (select ?x950 (_ bv16 32)))))))
+(let ((?x1000 (ite (fp.lt ((_ to_fp 8 24) ?x997) ((_ to_fp 8 24) (concat (select ?x950 (_ bv23 32)) ?x988))) (_ bv4 32) (_ bv5 32))))
+(let ((?x1007 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000)))))))
+(let ((?x1010 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000))))) ?x1007)))
+(let ((?x1013 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1000))))) ?x1010)))
+(let ((?x1016 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv23 32)) ?x988)) ((_ to_fp 8 24) ?x1013)) (_ bv5 32) ?x1000)))
+(let ((?x1023 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016)))))))
+(let ((?x1026 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016))))) ?x1023)))
+(let ((?x1029 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1016))))) ?x1026)))
+(let ((?x980 (concat (select ?x950 (_ bv26 32)) (concat (select ?x950 (_ bv25 32)) (select ?x950 (_ bv24 32))))))
+(let ((?x1032 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv27 32)) ?x980)) ((_ to_fp 8 24) ?x1029)) (_ bv6 32) ?x1016)))
+(let ((?x1039 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032)))))))
+(let ((?x1042 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032))))) ?x1039)))
+(let ((?x1045 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1032))))) ?x1042)))
+(let ((?x972 (concat (select ?x950 (_ bv30 32)) (concat (select ?x950 (_ bv29 32)) (select ?x950 (_ bv28 32))))))
+(let ((?x1048 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv31 32)) ?x972)) ((_ to_fp 8 24) ?x1045)) (_ bv7 32) ?x1032)))
+(let ((?x1055 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048)))))))
+(let ((?x1058 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048))))) ?x1055)))
+(let ((?x1061 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1048))))) ?x1058)))
+(let ((?x964 (concat (select ?x950 (_ bv34 32)) (concat (select ?x950 (_ bv33 32)) (select ?x950 (_ bv32 32))))))
+(let ((?x1064 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv35 32)) ?x964)) ((_ to_fp 8 24) ?x1061)) (_ bv8 32) ?x1048)))
+(let ((?x1071 (concat (select ?x950 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064))))) (select ?x950 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064)))))))
+(let ((?x1074 (concat (select ?x950 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064))))) ?x1071)))
+(let ((?x1077 (concat (select ?x950 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1064))))) ?x1074)))
+(let ((?x956 (concat (select ?x950 (_ bv38 32)) (concat (select ?x950 (_ bv37 32)) (select ?x950 (_ bv36 32))))))
+(let ((?x1080 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x950 (_ bv39 32)) ?x956)) ((_ to_fp 8 24) ?x1077)) (_ bv9 32) ?x1064)))
+(let ((?x1083 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1080)))))
+(let ((?x1084 (bvadd (_ bv3 32) ?x1083)))
+(let ((?x1085 (bvadd (_ bv2 32) ?x1083)))
+(let ((?x993 (select ?x950 (_ bv17 32))))
+(let ((?x1086 (bvadd (_ bv1 32) ?x1083)))
+(let ((?x992 (select ?x950 (_ bv16 32))))
+(let ((?x1093 (store (store (store ?x950 (_ bv16 32) (select ?x950 ?x1083)) (_ bv17 32) (select ?x950 ?x1086)) (_ bv18 32) (select ?x950 ?x1085))))
+(let ((?x1096 (store (store (store ?x1093 (_ bv19 32) (select ?x950 ?x1084)) ?x1083 ?x992) ?x1086 ?x993)))
+(let ((?x1098 (store (store ?x1096 ?x1085 ?x995) ?x1084 ?x951)))
+(let ((?x1099 (select ?x1098 (_ bv23 32))))
+(let ((?x1128 (concat (select ?x1098 (_ bv26 32)) (concat (select ?x1098 (_ bv25 32)) (select ?x1098 (_ bv24 32))))))
+(let ((?x1135 (select ?x1098 (_ bv22 32))))
+(let ((?x1137 (concat ?x1099 (concat ?x1135 (concat (select ?x1098 (_ bv21 32)) (select ?x1098 (_ bv20 32)))))))
+(let ((?x1140 (ite (fp.lt ((_ to_fp 8 24) ?x1137) ((_ to_fp 8 24) (concat (select ?x1098 (_ bv27 32)) ?x1128))) (_ bv5 32) (_ bv6 32))))
+(let ((?x1147 (concat (select ?x1098 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1140))))) (select ?x1098 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1140)))))))
+(let ((?x1150 (concat (select ?x1098 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1140))))) ?x1147)))
+(let ((?x1153 (concat (select ?x1098 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1140))))) ?x1150)))
+(let ((?x1156 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1098 (_ bv27 32)) ?x1128)) ((_ to_fp 8 24) ?x1153)) (_ bv6 32) ?x1140)))
+(let ((?x1163 (concat (select ?x1098 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1156))))) (select ?x1098 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1156)))))))
+(let ((?x1166 (concat (select ?x1098 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1156))))) ?x1163)))
+(let ((?x1169 (concat (select ?x1098 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1156))))) ?x1166)))
+(let ((?x1120 (concat (select ?x1098 (_ bv30 32)) (concat (select ?x1098 (_ bv29 32)) (select ?x1098 (_ bv28 32))))))
+(let ((?x1172 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1098 (_ bv31 32)) ?x1120)) ((_ to_fp 8 24) ?x1169)) (_ bv7 32) ?x1156)))
+(let ((?x1179 (concat (select ?x1098 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1172))))) (select ?x1098 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1172)))))))
+(let ((?x1182 (concat (select ?x1098 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1172))))) ?x1179)))
+(let ((?x1185 (concat (select ?x1098 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1172))))) ?x1182)))
+(let ((?x1112 (concat (select ?x1098 (_ bv34 32)) (concat (select ?x1098 (_ bv33 32)) (select ?x1098 (_ bv32 32))))))
+(let ((?x1188 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1098 (_ bv35 32)) ?x1112)) ((_ to_fp 8 24) ?x1185)) (_ bv8 32) ?x1172)))
+(let ((?x1195 (concat (select ?x1098 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1188))))) (select ?x1098 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1188)))))))
+(let ((?x1198 (concat (select ?x1098 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1188))))) ?x1195)))
+(let ((?x1201 (concat (select ?x1098 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1188))))) ?x1198)))
+(let ((?x1104 (concat (select ?x1098 (_ bv38 32)) (concat (select ?x1098 (_ bv37 32)) (select ?x1098 (_ bv36 32))))))
+(let ((?x1204 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1098 (_ bv39 32)) ?x1104)) ((_ to_fp 8 24) ?x1201)) (_ bv9 32) ?x1188)))
+(let ((?x1207 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1204)))))
+(let ((?x1208 (bvadd (_ bv3 32) ?x1207)))
+(let ((?x1209 (bvadd (_ bv2 32) ?x1207)))
+(let ((?x1133 (select ?x1098 (_ bv21 32))))
+(let ((?x1210 (bvadd (_ bv1 32) ?x1207)))
+(let ((?x1132 (select ?x1098 (_ bv20 32))))
+(let ((?x1217 (store (store (store ?x1098 (_ bv20 32) (select ?x1098 ?x1207)) (_ bv21 32) (select ?x1098 ?x1210)) (_ bv22 32) (select ?x1098 ?x1209))))
+(let ((?x1220 (store (store (store ?x1217 (_ bv23 32) (select ?x1098 ?x1208)) ?x1207 ?x1132) ?x1210 ?x1133)))
+(let ((?x1222 (store (store ?x1220 ?x1209 ?x1135) ?x1208 ?x1099)))
+(let ((?x1223 (select ?x1222 (_ bv27 32))))
+(let ((?x1244 (concat (select ?x1222 (_ bv30 32)) (concat (select ?x1222 (_ bv29 32)) (select ?x1222 (_ bv28 32))))))
+(let ((?x1251 (select ?x1222 (_ bv26 32))))
+(let ((?x1253 (concat ?x1223 (concat ?x1251 (concat (select ?x1222 (_ bv25 32)) (select ?x1222 (_ bv24 32)))))))
+(let ((?x1256 (ite (fp.lt ((_ to_fp 8 24) ?x1253) ((_ to_fp 8 24) (concat (select ?x1222 (_ bv31 32)) ?x1244))) (_ bv6 32) (_ bv7 32))))
+(let ((?x1263 (concat (select ?x1222 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1256))))) (select ?x1222 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1256)))))))
+(let ((?x1266 (concat (select ?x1222 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1256))))) ?x1263)))
+(let ((?x1269 (concat (select ?x1222 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1256))))) ?x1266)))
+(let ((?x1272 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1222 (_ bv31 32)) ?x1244)) ((_ to_fp 8 24) ?x1269)) (_ bv7 32) ?x1256)))
+(let ((?x1279 (concat (select ?x1222 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1272))))) (select ?x1222 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1272)))))))
+(let ((?x1282 (concat (select ?x1222 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1272))))) ?x1279)))
+(let ((?x1285 (concat (select ?x1222 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1272))))) ?x1282)))
+(let ((?x1236 (concat (select ?x1222 (_ bv34 32)) (concat (select ?x1222 (_ bv33 32)) (select ?x1222 (_ bv32 32))))))
+(let ((?x1288 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1222 (_ bv35 32)) ?x1236)) ((_ to_fp 8 24) ?x1285)) (_ bv8 32) ?x1272)))
+(let ((?x1295 (concat (select ?x1222 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1288))))) (select ?x1222 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1288)))))))
+(let ((?x1298 (concat (select ?x1222 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1288))))) ?x1295)))
+(let ((?x1301 (concat (select ?x1222 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1288))))) ?x1298)))
+(let ((?x1228 (concat (select ?x1222 (_ bv38 32)) (concat (select ?x1222 (_ bv37 32)) (select ?x1222 (_ bv36 32))))))
+(let ((?x1304 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1222 (_ bv39 32)) ?x1228)) ((_ to_fp 8 24) ?x1301)) (_ bv9 32) ?x1288)))
+(let ((?x1307 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1304)))))
+(let ((?x1308 (bvadd (_ bv3 32) ?x1307)))
+(let ((?x1309 (bvadd (_ bv2 32) ?x1307)))
+(let ((?x1249 (select ?x1222 (_ bv25 32))))
+(let ((?x1310 (bvadd (_ bv1 32) ?x1307)))
+(let ((?x1248 (select ?x1222 (_ bv24 32))))
+(let ((?x1317 (store (store (store ?x1222 (_ bv24 32) (select ?x1222 ?x1307)) (_ bv25 32) (select ?x1222 ?x1310)) (_ bv26 32) (select ?x1222 ?x1309))))
+(let ((?x1320 (store (store (store ?x1317 (_ bv27 32) (select ?x1222 ?x1308)) ?x1307 ?x1248) ?x1310 ?x1249)))
+(let ((?x1322 (store (store ?x1320 ?x1309 ?x1251) ?x1308 ?x1223)))
+(let ((?x1335 (concat (select ?x1322 (_ bv34 32)) (concat (select ?x1322 (_ bv33 32)) (select ?x1322 (_ bv32 32))))))
+(let ((?x1343 (concat (select ?x1322 (_ bv30 32)) (concat (select ?x1322 (_ bv29 32)) (select ?x1322 (_ bv28 32))))))
+(let (($x1347 (fp.lt ((_ to_fp 8 24) (concat (select ?x1322 (_ bv31 32)) ?x1343)) ((_ to_fp 8 24) (concat (select ?x1322 (_ bv35 32)) ?x1335)))))
+(let ((?x1348 (ite $x1347 (_ bv7 32) (_ bv8 32))))
+(let ((?x1355 (concat (select ?x1322 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1348))))) (select ?x1322 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1348)))))))
+(let ((?x1358 (concat (select ?x1322 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1348))))) ?x1355)))
+(let ((?x1361 (concat (select ?x1322 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1348))))) ?x1358)))
+(let ((?x1364 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1322 (_ bv35 32)) ?x1335)) ((_ to_fp 8 24) ?x1361)) (_ bv8 32) ?x1348)))
+(let ((?x1371 (concat (select ?x1322 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1364))))) (select ?x1322 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1364)))))))
+(let ((?x1374 (concat (select ?x1322 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1364))))) ?x1371)))
+(let ((?x1377 (concat (select ?x1322 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1364))))) ?x1374)))
+(let ((?x1327 (concat (select ?x1322 (_ bv38 32)) (concat (select ?x1322 (_ bv37 32)) (select ?x1322 (_ bv36 32))))))
+(let ((?x1380 (ite (fp.lt ((_ to_fp 8 24) (concat (select ?x1322 (_ bv39 32)) ?x1327)) ((_ to_fp 8 24) ?x1377)) (_ bv9 32) ?x1364)))
+(not (bvult (bvmul (_ bv4 64) ((_ sign_extend 32) ?x1380)) (_ bv37 64)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.60.smt2 b/UnitTests/unsat/QF_ABVFP/query.60.smt2
index 1bee83f2ecdddd6c0eb0e7b3c7b8fe01e3a80231..baf9b4fae8514e7e05e8dd9aabf8ce33eff51977 100644
--- a/UnitTests/unsat/QF_ABVFP/query.60.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.60.smt2
@@ -10,197 +10,701 @@ Target solver: Z3 or MathSAT5
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
+(declare-fun arr0 () (Array (_ BitVec 32) (_ BitVec 8)))
 (assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
+ (let ((?x14 (select arr0 (_ bv2 32))))
+ (let ((?x17 (select arr0 (_ bv3 32))))
+ (let ((?x18 (concat ?x17 (concat ?x14 (concat (select arr0 (_ bv1 32)) (select arr0 (_ bv0 32)))))))
+ (let ((?x20 (select arr0 (_ bv4 32))))
+ (let ((?x23 (select arr0 (_ bv5 32))))
+ (let ((?x26 (select arr0 (_ bv6 32))))
+ (let ((?x29 (select arr0 (_ bv7 32))))
+ (let (($x32 (fp.isNaN ((_ to_fp 11 53) (concat ?x29 (concat ?x26 (concat ?x23 (concat ?x20 ?x18))))))))
+ (not $x32))))))))))
 (assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.isNaN ?x33)))))
+ (let ((?x41 (concat (select arr0 (_ bv10 32)) (concat (select arr0 (_ bv9 32)) (select arr0 (_ bv8 32))))))
+ (let ((?x50 (concat (select arr0 (_ bv13 32)) (concat (select arr0 (_ bv12 32)) (concat (select arr0 (_ bv11 32)) ?x41)))))
+ (let ((?x57 ((_ to_fp 11 53) (concat (select arr0 (_ bv15 32)) (concat (select arr0 (_ bv14 32)) ?x50)))))
+ (not (fp.isNaN ?x57))))))
 (assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
+ (let ((?x67 (concat (select arr0 (_ bv18 32)) (concat (select arr0 (_ bv17 32)) (select arr0 (_ bv16 32))))))
+ (let ((?x76 (concat (select arr0 (_ bv21 32)) (concat (select arr0 (_ bv20 32)) (concat (select arr0 (_ bv19 32)) ?x67)))))
+ (let ((?x83 ((_ to_fp 11 53) (concat (select arr0 (_ bv23 32)) (concat (select arr0 (_ bv22 32)) ?x76)))))
+ (not (fp.isNaN ?x83))))))
 (assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.isNaN ?x49)))))
+ (let ((?x93 (concat (select arr0 (_ bv26 32)) (concat (select arr0 (_ bv25 32)) (select arr0 (_ bv24 32))))))
+ (let ((?x102 (concat (select arr0 (_ bv29 32)) (concat (select arr0 (_ bv28 32)) (concat (select arr0 (_ bv27 32)) ?x93)))))
+ (let ((?x109 ((_ to_fp 11 53) (concat (select arr0 (_ bv31 32)) (concat (select arr0 (_ bv30 32)) ?x102)))))
+ (not (fp.isNaN ?x109))))))
 (assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.lt ?x49 ?x33)))))))
+ (let ((?x119 (concat (select arr0 (_ bv34 32)) (concat (select arr0 (_ bv33 32)) (select arr0 (_ bv32 32))))))
+ (let ((?x128 (concat (select arr0 (_ bv37 32)) (concat (select arr0 (_ bv36 32)) (concat (select arr0 (_ bv35 32)) ?x119)))))
+ (let ((?x135 ((_ to_fp 11 53) (concat (select arr0 (_ bv39 32)) (concat (select arr0 (_ bv38 32)) ?x128)))))
+ (not (fp.isNaN ?x135))))))
 (assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.isNaN ?x65)))))
+ (let ((?x145 (concat (select arr0 (_ bv42 32)) (concat (select arr0 (_ bv41 32)) (select arr0 (_ bv40 32))))))
+ (let ((?x154 (concat (select arr0 (_ bv45 32)) (concat (select arr0 (_ bv44 32)) (concat (select arr0 (_ bv43 32)) ?x145)))))
+ (let ((?x161 ((_ to_fp 11 53) (concat (select arr0 (_ bv47 32)) (concat (select arr0 (_ bv46 32)) ?x154)))))
+ (not (fp.isNaN ?x161))))))
 (assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.lt ?x65 ?x49)))))))
+ (let ((?x171 (concat (select arr0 (_ bv50 32)) (concat (select arr0 (_ bv49 32)) (select arr0 (_ bv48 32))))))
+ (let ((?x180 (concat (select arr0 (_ bv53 32)) (concat (select arr0 (_ bv52 32)) (concat (select arr0 (_ bv51 32)) ?x171)))))
+ (let ((?x187 ((_ to_fp 11 53) (concat (select arr0 (_ bv55 32)) (concat (select arr0 (_ bv54 32)) ?x180)))))
+ (not (fp.isNaN ?x187))))))
 (assert
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.isNaN ?x81)))))
+ (let ((?x197 (concat (select arr0 (_ bv58 32)) (concat (select arr0 (_ bv57 32)) (select arr0 (_ bv56 32))))))
+ (let ((?x206 (concat (select arr0 (_ bv61 32)) (concat (select arr0 (_ bv60 32)) (concat (select arr0 (_ bv59 32)) ?x197)))))
+ (let ((?x213 ((_ to_fp 11 53) (concat (select arr0 (_ bv63 32)) (concat (select arr0 (_ bv62 32)) ?x206)))))
+ (not (fp.isNaN ?x213))))))
 (assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.lt ?x81 ?x65)))))))
+ (let ((?x223 (concat (select arr0 (_ bv66 32)) (concat (select arr0 (_ bv65 32)) (select arr0 (_ bv64 32))))))
+ (let ((?x232 (concat (select arr0 (_ bv69 32)) (concat (select arr0 (_ bv68 32)) (concat (select arr0 (_ bv67 32)) ?x223)))))
+ (let ((?x239 ((_ to_fp 11 53) (concat (select arr0 (_ bv71 32)) (concat (select arr0 (_ bv70 32)) ?x232)))))
+ (not (fp.isNaN ?x239))))))
 (assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.eq ?x33 ?x94)))))))
+ (let ((?x249 (concat (select arr0 (_ bv74 32)) (concat (select arr0 (_ bv73 32)) (select arr0 (_ bv72 32))))))
+ (let ((?x258 (concat (select arr0 (_ bv77 32)) (concat (select arr0 (_ bv76 32)) (concat (select arr0 (_ bv75 32)) ?x249)))))
+ (let ((?x265 ((_ to_fp 11 53) (concat (select arr0 (_ bv79 32)) (concat (select arr0 (_ bv78 32)) ?x258)))))
+ (not (fp.isNaN ?x265))))))
 (assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.eq ?x49 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.eq ?x65 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.eq ?x81 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
- (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
- (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
- (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
- (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
- (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
- (let ((?x146 (ite $x144 ?x127 ?x125)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x145 (ite $x144 ?x124 ?x127)))
- (not (= ?x145 ?x146))))))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
-(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
-(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
-(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
-(let (($x103 (fp.gt ?x49 ?x94)))
-(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
-(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
-(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
-(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
-(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
-(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
-(let ((?x125 (ite $x123 ?x107 ?x105)))
-(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
-(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
-(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
-(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
-(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
-(let ((?x146 (ite $x144 ?x127 ?x125)))
-(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
-(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
-(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
-(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
-(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
-(let ((?x167 (ite $x165 ?x150 ?x146)))
-(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
-(let ((?x124 (ite $x123 ?x104 ?x107)))
-(let ((?x145 (ite $x144 ?x124 ?x127)))
-(let ((?x166 (ite $x165 ?x145 ?x150)))
-(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
-(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
-(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
-(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
-(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
-(let ((?x186 (ite $x184 ?x169 ?x167)))
-(let ((?x188 (bvsdiv (bvadd (ite $x184 ?x166 ?x169) ?x186) (_ bv2 32))))
-(let ((?x195 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188)))))))
-(let ((?x198 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x195)))
-(let ((?x201 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x198)))
-(let (($x203 (fp.gt ((_ to_fp 8 24) ?x201) ?x94)))
-(let ((?x205 (ite $x203 ?x188 ?x186)))
-(let ((?x207 (bvsdiv (bvadd (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x205) (_ bv2 32))))
-(let ((?x214 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207)))))))
-(let ((?x217 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x214)))
-(let ((?x220 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x217)))
-(let (($x222 (fp.gt ((_ to_fp 8 24) ?x220) ?x94)))
-(let ((?x224 (ite $x222 ?x207 ?x205)))
-(let ((?x226 (bvsdiv (bvadd (ite $x222 (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x207) ?x224) (_ bv2 32))))
-(let ((?x233 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226)))))))
-(let ((?x236 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x233)))
-(let ((?x239 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x236)))
-(let (($x241 (fp.gt ((_ to_fp 8 24) ?x239) ?x94)))
-(let ((?x243 (ite $x241 ?x226 ?x224)))
-(let ((?x185 (ite $x184 ?x166 ?x169)))
-(let ((?x204 (ite $x203 ?x185 ?x188)))
-(let ((?x223 (ite $x222 ?x204 ?x207)))
-(let ((?x242 (ite $x241 ?x223 ?x226)))
-(let ((?x245 (bvsdiv (bvadd ?x242 ?x243) (_ bv2 32))))
-(let ((?x252 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245)))))))
-(let ((?x255 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x252)))
-(let ((?x258 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x255)))
-(let (($x260 (fp.gt ((_ to_fp 8 24) ?x258) ?x94)))
-(let ((?x262 (ite $x260 ?x245 ?x243)))
-(let ((?x264 (bvsdiv (bvadd (ite $x260 ?x242 ?x245) ?x262) (_ bv2 32))))
-(let ((?x271 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let (($x279 (fp.gt ((_ to_fp 8 24) ?x277) ?x94)))
-(let ((?x281 (ite $x279 ?x264 ?x262)))
-(let ((?x283 (bvsdiv (bvadd (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x281) (_ bv2 32))))
-(let ((?x290 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283)))))))
-(let ((?x293 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x290)))
-(let ((?x296 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x293)))
-(let (($x298 (fp.gt ((_ to_fp 8 24) ?x296) ?x94)))
-(let ((?x300 (ite $x298 ?x283 ?x281)))
-(let ((?x302 (bvsdiv (bvadd (ite $x298 (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x283) ?x300) (_ bv2 32))))
-(let ((?x309 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302)))))))
-(let ((?x312 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x309)))
-(let ((?x315 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x312)))
-(let (($x317 (fp.gt ((_ to_fp 8 24) ?x315) ?x94)))
-(let (($x320 (= (ite $x317 (ite $x298 (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x283) ?x302) (ite $x317 ?x302 ?x300))))
-(not (not $x320)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+ (let ((?x29 (select arr0 (_ bv7 32))))
+(let ((?x41 (concat (select arr0 (_ bv10 32)) (concat (select arr0 (_ bv9 32)) (select arr0 (_ bv8 32))))))
+(let ((?x50 (concat (select arr0 (_ bv13 32)) (concat (select arr0 (_ bv12 32)) (concat (select arr0 (_ bv11 32)) ?x41)))))
+(let ((?x57 ((_ to_fp 11 53) (concat (select arr0 (_ bv15 32)) (concat (select arr0 (_ bv14 32)) ?x50)))))
+(let ((?x14 (select arr0 (_ bv2 32))))
+(let ((?x17 (select arr0 (_ bv3 32))))
+(let ((?x18 (concat ?x17 (concat ?x14 (concat (select arr0 (_ bv1 32)) (select arr0 (_ bv0 32)))))))
+(let ((?x20 (select arr0 (_ bv4 32))))
+(let ((?x23 (select arr0 (_ bv5 32))))
+(let ((?x26 (select arr0 (_ bv6 32))))
+(let (($x268 (fp.lt ((_ to_fp 11 53) (concat ?x29 (concat ?x26 (concat ?x23 (concat ?x20 ?x18))))) ?x57)))
+(let ((?x269 (ite $x268 (_ bv0 32) (_ bv1 32))))
+(let ((?x277 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269)))))))
+(let ((?x280 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269))))) ?x277)))
+(let ((?x283 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269))))) ?x280)))
+(let ((?x286 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269))))) ?x283)))
+(let ((?x289 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269))))) ?x286)))
+(let ((?x292 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269))))) ?x289)))
+(let ((?x295 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x269))))) ?x292)))
+(let ((?x298 (ite (fp.lt ?x57 ((_ to_fp 11 53) ?x295)) (_ bv1 32) ?x269)))
+(let ((?x305 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298)))))))
+(let ((?x308 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298))))) ?x305)))
+(let ((?x311 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298))))) ?x308)))
+(let ((?x314 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298))))) ?x311)))
+(let ((?x317 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298))))) ?x314)))
+(let ((?x320 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298))))) ?x317)))
+(let ((?x323 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x298))))) ?x320)))
+(let ((?x67 (concat (select arr0 (_ bv18 32)) (concat (select arr0 (_ bv17 32)) (select arr0 (_ bv16 32))))))
+(let ((?x76 (concat (select arr0 (_ bv21 32)) (concat (select arr0 (_ bv20 32)) (concat (select arr0 (_ bv19 32)) ?x67)))))
+(let ((?x83 ((_ to_fp 11 53) (concat (select arr0 (_ bv23 32)) (concat (select arr0 (_ bv22 32)) ?x76)))))
+(let ((?x326 (ite (fp.lt ?x83 ((_ to_fp 11 53) ?x323)) (_ bv2 32) ?x298)))
+(let ((?x333 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326)))))))
+(let ((?x336 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326))))) ?x333)))
+(let ((?x339 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326))))) ?x336)))
+(let ((?x342 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326))))) ?x339)))
+(let ((?x345 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326))))) ?x342)))
+(let ((?x348 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326))))) ?x345)))
+(let ((?x351 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x326))))) ?x348)))
+(let ((?x93 (concat (select arr0 (_ bv26 32)) (concat (select arr0 (_ bv25 32)) (select arr0 (_ bv24 32))))))
+(let ((?x102 (concat (select arr0 (_ bv29 32)) (concat (select arr0 (_ bv28 32)) (concat (select arr0 (_ bv27 32)) ?x93)))))
+(let ((?x109 ((_ to_fp 11 53) (concat (select arr0 (_ bv31 32)) (concat (select arr0 (_ bv30 32)) ?x102)))))
+(let ((?x354 (ite (fp.lt ?x109 ((_ to_fp 11 53) ?x351)) (_ bv3 32) ?x326)))
+(let ((?x361 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354)))))))
+(let ((?x364 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354))))) ?x361)))
+(let ((?x367 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354))))) ?x364)))
+(let ((?x370 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354))))) ?x367)))
+(let ((?x373 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354))))) ?x370)))
+(let ((?x376 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354))))) ?x373)))
+(let ((?x379 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x354))))) ?x376)))
+(let ((?x119 (concat (select arr0 (_ bv34 32)) (concat (select arr0 (_ bv33 32)) (select arr0 (_ bv32 32))))))
+(let ((?x128 (concat (select arr0 (_ bv37 32)) (concat (select arr0 (_ bv36 32)) (concat (select arr0 (_ bv35 32)) ?x119)))))
+(let ((?x135 ((_ to_fp 11 53) (concat (select arr0 (_ bv39 32)) (concat (select arr0 (_ bv38 32)) ?x128)))))
+(let ((?x382 (ite (fp.lt ?x135 ((_ to_fp 11 53) ?x379)) (_ bv4 32) ?x354)))
+(let ((?x389 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382)))))))
+(let ((?x392 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382))))) ?x389)))
+(let ((?x395 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382))))) ?x392)))
+(let ((?x398 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382))))) ?x395)))
+(let ((?x401 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382))))) ?x398)))
+(let ((?x404 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382))))) ?x401)))
+(let ((?x407 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x382))))) ?x404)))
+(let ((?x145 (concat (select arr0 (_ bv42 32)) (concat (select arr0 (_ bv41 32)) (select arr0 (_ bv40 32))))))
+(let ((?x154 (concat (select arr0 (_ bv45 32)) (concat (select arr0 (_ bv44 32)) (concat (select arr0 (_ bv43 32)) ?x145)))))
+(let ((?x161 ((_ to_fp 11 53) (concat (select arr0 (_ bv47 32)) (concat (select arr0 (_ bv46 32)) ?x154)))))
+(let ((?x410 (ite (fp.lt ?x161 ((_ to_fp 11 53) ?x407)) (_ bv5 32) ?x382)))
+(let ((?x417 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410)))))))
+(let ((?x420 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410))))) ?x417)))
+(let ((?x423 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410))))) ?x420)))
+(let ((?x426 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410))))) ?x423)))
+(let ((?x429 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410))))) ?x426)))
+(let ((?x432 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410))))) ?x429)))
+(let ((?x435 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x410))))) ?x432)))
+(let ((?x171 (concat (select arr0 (_ bv50 32)) (concat (select arr0 (_ bv49 32)) (select arr0 (_ bv48 32))))))
+(let ((?x180 (concat (select arr0 (_ bv53 32)) (concat (select arr0 (_ bv52 32)) (concat (select arr0 (_ bv51 32)) ?x171)))))
+(let ((?x187 ((_ to_fp 11 53) (concat (select arr0 (_ bv55 32)) (concat (select arr0 (_ bv54 32)) ?x180)))))
+(let ((?x438 (ite (fp.lt ?x187 ((_ to_fp 11 53) ?x435)) (_ bv6 32) ?x410)))
+(let ((?x445 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438)))))))
+(let ((?x448 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438))))) ?x445)))
+(let ((?x451 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438))))) ?x448)))
+(let ((?x454 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438))))) ?x451)))
+(let ((?x457 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438))))) ?x454)))
+(let ((?x460 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438))))) ?x457)))
+(let ((?x463 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x438))))) ?x460)))
+(let ((?x197 (concat (select arr0 (_ bv58 32)) (concat (select arr0 (_ bv57 32)) (select arr0 (_ bv56 32))))))
+(let ((?x206 (concat (select arr0 (_ bv61 32)) (concat (select arr0 (_ bv60 32)) (concat (select arr0 (_ bv59 32)) ?x197)))))
+(let ((?x213 ((_ to_fp 11 53) (concat (select arr0 (_ bv63 32)) (concat (select arr0 (_ bv62 32)) ?x206)))))
+(let ((?x466 (ite (fp.lt ?x213 ((_ to_fp 11 53) ?x463)) (_ bv7 32) ?x438)))
+(let ((?x473 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466)))))))
+(let ((?x476 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466))))) ?x473)))
+(let ((?x479 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466))))) ?x476)))
+(let ((?x482 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466))))) ?x479)))
+(let ((?x485 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466))))) ?x482)))
+(let ((?x488 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466))))) ?x485)))
+(let ((?x491 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x466))))) ?x488)))
+(let ((?x223 (concat (select arr0 (_ bv66 32)) (concat (select arr0 (_ bv65 32)) (select arr0 (_ bv64 32))))))
+(let ((?x232 (concat (select arr0 (_ bv69 32)) (concat (select arr0 (_ bv68 32)) (concat (select arr0 (_ bv67 32)) ?x223)))))
+(let ((?x239 ((_ to_fp 11 53) (concat (select arr0 (_ bv71 32)) (concat (select arr0 (_ bv70 32)) ?x232)))))
+(let ((?x494 (ite (fp.lt ?x239 ((_ to_fp 11 53) ?x491)) (_ bv8 32) ?x466)))
+(let ((?x501 (concat (select arr0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494))))) (select arr0 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494)))))))
+(let ((?x504 (concat (select arr0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494))))) ?x501)))
+(let ((?x507 (concat (select arr0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494))))) ?x504)))
+(let ((?x510 (concat (select arr0 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494))))) ?x507)))
+(let ((?x513 (concat (select arr0 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494))))) ?x510)))
+(let ((?x516 (concat (select arr0 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494))))) ?x513)))
+(let ((?x519 (concat (select arr0 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x494))))) ?x516)))
+(let ((?x249 (concat (select arr0 (_ bv74 32)) (concat (select arr0 (_ bv73 32)) (select arr0 (_ bv72 32))))))
+(let ((?x258 (concat (select arr0 (_ bv77 32)) (concat (select arr0 (_ bv76 32)) (concat (select arr0 (_ bv75 32)) ?x249)))))
+(let ((?x265 ((_ to_fp 11 53) (concat (select arr0 (_ bv79 32)) (concat (select arr0 (_ bv78 32)) ?x258)))))
+(let ((?x525 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) (ite (fp.lt ?x265 ((_ to_fp 11 53) ?x519)) (_ bv9 32) ?x494))))))
+(let ((?x526 (bvadd (_ bv7 32) ?x525)))
+(let ((?x527 (bvadd (_ bv6 32) ?x525)))
+(let ((?x528 (bvadd (_ bv5 32) ?x525)))
+(let ((?x529 (bvadd (_ bv4 32) ?x525)))
+(let ((?x530 (bvadd (_ bv3 32) ?x525)))
+(let ((?x531 (bvadd (_ bv2 32) ?x525)))
+(let ((?x11 (select arr0 (_ bv1 32))))
+(let ((?x532 (bvadd (_ bv1 32) ?x525)))
+(let ((?x9 (select arr0 (_ bv0 32))))
+(let ((?x542 (store (store arr0 (_ bv0 32) (select arr0 ?x525)) (_ bv1 32) (select arr0 ?x532))))
+(let ((?x544 (store (store ?x542 (_ bv2 32) (select arr0 ?x531)) (_ bv3 32) (select arr0 ?x530))))
+(let ((?x546 (store (store ?x544 (_ bv4 32) (select arr0 ?x529)) (_ bv5 32) (select arr0 ?x528))))
+(let ((?x548 (store (store ?x546 (_ bv6 32) (select arr0 ?x527)) (_ bv7 32) (select arr0 ?x526))))
+(let ((?x552 (store (store (store (store ?x548 ?x525 ?x9) ?x532 ?x11) ?x531 ?x14) ?x530 ?x17)))
+(let ((?x556 (store (store (store (store ?x552 ?x529 ?x20) ?x528 ?x23) ?x527 ?x26) ?x526 ?x29)))
+(let ((?x557 (select ?x556 (_ bv15 32))))
+(let ((?x674 (concat (select ?x556 (_ bv18 32)) (concat (select ?x556 (_ bv17 32)) (select ?x556 (_ bv16 32))))))
+(let ((?x680 (concat (select ?x556 (_ bv21 32)) (concat (select ?x556 (_ bv20 32)) (concat (select ?x556 (_ bv19 32)) ?x674)))))
+(let ((?x689 (select ?x556 (_ bv10 32))))
+(let ((?x691 (select ?x556 (_ bv11 32))))
+(let ((?x692 (concat ?x691 (concat ?x689 (concat (select ?x556 (_ bv9 32)) (select ?x556 (_ bv8 32)))))))
+(let ((?x693 (select ?x556 (_ bv12 32))))
+(let ((?x695 (select ?x556 (_ bv13 32))))
+(let ((?x697 (select ?x556 (_ bv14 32))))
+(let (($x701 (fp.lt ((_ to_fp 11 53) (concat ?x557 (concat ?x697 (concat ?x695 (concat ?x693 ?x692))))) ((_ to_fp 11 53) (concat (select ?x556 (_ bv23 32)) (concat (select ?x556 (_ bv22 32)) ?x680))))))
+(let ((?x702 (ite $x701 (_ bv1 32) (_ bv2 32))))
+(let ((?x709 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702)))))))
+(let ((?x712 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702))))) ?x709)))
+(let ((?x715 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702))))) ?x712)))
+(let ((?x718 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702))))) ?x715)))
+(let ((?x721 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702))))) ?x718)))
+(let ((?x724 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702))))) ?x721)))
+(let ((?x727 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x702))))) ?x724)))
+(let (($x729 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv23 32)) (concat (select ?x556 (_ bv22 32)) ?x680))) ((_ to_fp 11 53) ?x727))))
+(let ((?x730 (ite $x729 (_ bv2 32) ?x702)))
+(let ((?x737 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730)))))))
+(let ((?x740 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730))))) ?x737)))
+(let ((?x743 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730))))) ?x740)))
+(let ((?x746 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730))))) ?x743)))
+(let ((?x749 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730))))) ?x746)))
+(let ((?x752 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730))))) ?x749)))
+(let ((?x755 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x730))))) ?x752)))
+(let ((?x658 (concat (select ?x556 (_ bv26 32)) (concat (select ?x556 (_ bv25 32)) (select ?x556 (_ bv24 32))))))
+(let ((?x664 (concat (select ?x556 (_ bv29 32)) (concat (select ?x556 (_ bv28 32)) (concat (select ?x556 (_ bv27 32)) ?x658)))))
+(let (($x757 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv31 32)) (concat (select ?x556 (_ bv30 32)) ?x664))) ((_ to_fp 11 53) ?x755))))
+(let ((?x758 (ite $x757 (_ bv3 32) ?x730)))
+(let ((?x765 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758)))))))
+(let ((?x768 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758))))) ?x765)))
+(let ((?x771 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758))))) ?x768)))
+(let ((?x774 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758))))) ?x771)))
+(let ((?x777 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758))))) ?x774)))
+(let ((?x780 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758))))) ?x777)))
+(let ((?x783 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x758))))) ?x780)))
+(let ((?x642 (concat (select ?x556 (_ bv34 32)) (concat (select ?x556 (_ bv33 32)) (select ?x556 (_ bv32 32))))))
+(let ((?x648 (concat (select ?x556 (_ bv37 32)) (concat (select ?x556 (_ bv36 32)) (concat (select ?x556 (_ bv35 32)) ?x642)))))
+(let (($x785 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv39 32)) (concat (select ?x556 (_ bv38 32)) ?x648))) ((_ to_fp 11 53) ?x783))))
+(let ((?x786 (ite $x785 (_ bv4 32) ?x758)))
+(let ((?x793 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786)))))))
+(let ((?x796 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786))))) ?x793)))
+(let ((?x799 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786))))) ?x796)))
+(let ((?x802 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786))))) ?x799)))
+(let ((?x805 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786))))) ?x802)))
+(let ((?x808 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786))))) ?x805)))
+(let ((?x811 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x786))))) ?x808)))
+(let ((?x626 (concat (select ?x556 (_ bv42 32)) (concat (select ?x556 (_ bv41 32)) (select ?x556 (_ bv40 32))))))
+(let ((?x632 (concat (select ?x556 (_ bv45 32)) (concat (select ?x556 (_ bv44 32)) (concat (select ?x556 (_ bv43 32)) ?x626)))))
+(let (($x813 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv47 32)) (concat (select ?x556 (_ bv46 32)) ?x632))) ((_ to_fp 11 53) ?x811))))
+(let ((?x814 (ite $x813 (_ bv5 32) ?x786)))
+(let ((?x821 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814)))))))
+(let ((?x824 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814))))) ?x821)))
+(let ((?x827 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814))))) ?x824)))
+(let ((?x830 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814))))) ?x827)))
+(let ((?x833 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814))))) ?x830)))
+(let ((?x836 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814))))) ?x833)))
+(let ((?x839 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x814))))) ?x836)))
+(let ((?x610 (concat (select ?x556 (_ bv50 32)) (concat (select ?x556 (_ bv49 32)) (select ?x556 (_ bv48 32))))))
+(let ((?x616 (concat (select ?x556 (_ bv53 32)) (concat (select ?x556 (_ bv52 32)) (concat (select ?x556 (_ bv51 32)) ?x610)))))
+(let (($x841 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv55 32)) (concat (select ?x556 (_ bv54 32)) ?x616))) ((_ to_fp 11 53) ?x839))))
+(let ((?x842 (ite $x841 (_ bv6 32) ?x814)))
+(let ((?x849 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842)))))))
+(let ((?x852 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842))))) ?x849)))
+(let ((?x855 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842))))) ?x852)))
+(let ((?x858 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842))))) ?x855)))
+(let ((?x861 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842))))) ?x858)))
+(let ((?x864 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842))))) ?x861)))
+(let ((?x867 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x842))))) ?x864)))
+(let ((?x594 (concat (select ?x556 (_ bv58 32)) (concat (select ?x556 (_ bv57 32)) (select ?x556 (_ bv56 32))))))
+(let ((?x600 (concat (select ?x556 (_ bv61 32)) (concat (select ?x556 (_ bv60 32)) (concat (select ?x556 (_ bv59 32)) ?x594)))))
+(let (($x869 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv63 32)) (concat (select ?x556 (_ bv62 32)) ?x600))) ((_ to_fp 11 53) ?x867))))
+(let ((?x870 (ite $x869 (_ bv7 32) ?x842)))
+(let ((?x877 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870)))))))
+(let ((?x880 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870))))) ?x877)))
+(let ((?x883 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870))))) ?x880)))
+(let ((?x886 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870))))) ?x883)))
+(let ((?x889 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870))))) ?x886)))
+(let ((?x892 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870))))) ?x889)))
+(let ((?x895 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x870))))) ?x892)))
+(let ((?x578 (concat (select ?x556 (_ bv66 32)) (concat (select ?x556 (_ bv65 32)) (select ?x556 (_ bv64 32))))))
+(let ((?x584 (concat (select ?x556 (_ bv69 32)) (concat (select ?x556 (_ bv68 32)) (concat (select ?x556 (_ bv67 32)) ?x578)))))
+(let (($x897 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv71 32)) (concat (select ?x556 (_ bv70 32)) ?x584))) ((_ to_fp 11 53) ?x895))))
+(let ((?x898 (ite $x897 (_ bv8 32) ?x870)))
+(let ((?x905 (concat (select ?x556 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898))))) (select ?x556 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898)))))))
+(let ((?x908 (concat (select ?x556 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898))))) ?x905)))
+(let ((?x911 (concat (select ?x556 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898))))) ?x908)))
+(let ((?x914 (concat (select ?x556 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898))))) ?x911)))
+(let ((?x917 (concat (select ?x556 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898))))) ?x914)))
+(let ((?x920 (concat (select ?x556 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898))))) ?x917)))
+(let ((?x923 (concat (select ?x556 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x898))))) ?x920)))
+(let ((?x562 (concat (select ?x556 (_ bv74 32)) (concat (select ?x556 (_ bv73 32)) (select ?x556 (_ bv72 32))))))
+(let ((?x568 (concat (select ?x556 (_ bv77 32)) (concat (select ?x556 (_ bv76 32)) (concat (select ?x556 (_ bv75 32)) ?x562)))))
+(let (($x925 (fp.lt ((_ to_fp 11 53) (concat (select ?x556 (_ bv79 32)) (concat (select ?x556 (_ bv78 32)) ?x568))) ((_ to_fp 11 53) ?x923))))
+(let ((?x929 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) (ite $x925 (_ bv9 32) ?x898))))))
+(let ((?x930 (bvadd (_ bv7 32) ?x929)))
+(let ((?x931 (bvadd (_ bv6 32) ?x929)))
+(let ((?x932 (bvadd (_ bv5 32) ?x929)))
+(let ((?x933 (bvadd (_ bv4 32) ?x929)))
+(let ((?x934 (bvadd (_ bv3 32) ?x929)))
+(let ((?x935 (bvadd (_ bv2 32) ?x929)))
+(let ((?x687 (select ?x556 (_ bv9 32))))
+(let ((?x936 (bvadd (_ bv1 32) ?x929)))
+(let ((?x686 (select ?x556 (_ bv8 32))))
+(let ((?x947 (store (store (store ?x556 (_ bv8 32) (select ?x556 ?x929)) (_ bv9 32) (select ?x556 ?x936)) (_ bv10 32) (select ?x556 ?x935))))
+(let ((?x950 (store (store (store ?x947 (_ bv11 32) (select ?x556 ?x934)) (_ bv12 32) (select ?x556 ?x933)) (_ bv13 32) (select ?x556 ?x932))))
+(let ((?x953 (store (store (store ?x950 (_ bv14 32) (select ?x556 ?x931)) (_ bv15 32) (select ?x556 ?x930)) ?x929 ?x686)))
+(let ((?x957 (store (store (store (store ?x953 ?x936 ?x687) ?x935 ?x689) ?x934 ?x691) ?x933 ?x693)))
+(let ((?x960 (store (store (store ?x957 ?x932 ?x695) ?x931 ?x697) ?x930 ?x557)))
+(let ((?x961 (select ?x960 (_ bv23 32))))
+(let ((?x1062 (concat (select ?x960 (_ bv26 32)) (concat (select ?x960 (_ bv25 32)) (select ?x960 (_ bv24 32))))))
+(let ((?x1068 (concat (select ?x960 (_ bv29 32)) (concat (select ?x960 (_ bv28 32)) (concat (select ?x960 (_ bv27 32)) ?x1062)))))
+(let ((?x1077 (select ?x960 (_ bv18 32))))
+(let ((?x1079 (select ?x960 (_ bv19 32))))
+(let ((?x1080 (concat ?x1079 (concat ?x1077 (concat (select ?x960 (_ bv17 32)) (select ?x960 (_ bv16 32)))))))
+(let ((?x1081 (select ?x960 (_ bv20 32))))
+(let ((?x1083 (select ?x960 (_ bv21 32))))
+(let ((?x1085 (select ?x960 (_ bv22 32))))
+(let (($x1089 (fp.lt ((_ to_fp 11 53) (concat ?x961 (concat ?x1085 (concat ?x1083 (concat ?x1081 ?x1080))))) ((_ to_fp 11 53) (concat (select ?x960 (_ bv31 32)) (concat (select ?x960 (_ bv30 32)) ?x1068))))))
+(let ((?x1090 (ite $x1089 (_ bv2 32) (_ bv3 32))))
+(let ((?x1097 (concat (select ?x960 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090))))) (select ?x960 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090)))))))
+(let ((?x1100 (concat (select ?x960 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090))))) ?x1097)))
+(let ((?x1103 (concat (select ?x960 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090))))) ?x1100)))
+(let ((?x1106 (concat (select ?x960 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090))))) ?x1103)))
+(let ((?x1109 (concat (select ?x960 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090))))) ?x1106)))
+(let ((?x1112 (concat (select ?x960 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090))))) ?x1109)))
+(let ((?x1115 (concat (select ?x960 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1090))))) ?x1112)))
+(let (($x1117 (fp.lt ((_ to_fp 11 53) (concat (select ?x960 (_ bv31 32)) (concat (select ?x960 (_ bv30 32)) ?x1068))) ((_ to_fp 11 53) ?x1115))))
+(let ((?x1118 (ite $x1117 (_ bv3 32) ?x1090)))
+(let ((?x1125 (concat (select ?x960 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118))))) (select ?x960 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118)))))))
+(let ((?x1128 (concat (select ?x960 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118))))) ?x1125)))
+(let ((?x1131 (concat (select ?x960 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118))))) ?x1128)))
+(let ((?x1134 (concat (select ?x960 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118))))) ?x1131)))
+(let ((?x1137 (concat (select ?x960 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118))))) ?x1134)))
+(let ((?x1140 (concat (select ?x960 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118))))) ?x1137)))
+(let ((?x1143 (concat (select ?x960 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1118))))) ?x1140)))
+(let ((?x1046 (concat (select ?x960 (_ bv34 32)) (concat (select ?x960 (_ bv33 32)) (select ?x960 (_ bv32 32))))))
+(let ((?x1052 (concat (select ?x960 (_ bv37 32)) (concat (select ?x960 (_ bv36 32)) (concat (select ?x960 (_ bv35 32)) ?x1046)))))
+(let (($x1145 (fp.lt ((_ to_fp 11 53) (concat (select ?x960 (_ bv39 32)) (concat (select ?x960 (_ bv38 32)) ?x1052))) ((_ to_fp 11 53) ?x1143))))
+(let ((?x1146 (ite $x1145 (_ bv4 32) ?x1118)))
+(let ((?x1153 (concat (select ?x960 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146))))) (select ?x960 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146)))))))
+(let ((?x1156 (concat (select ?x960 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146))))) ?x1153)))
+(let ((?x1159 (concat (select ?x960 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146))))) ?x1156)))
+(let ((?x1162 (concat (select ?x960 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146))))) ?x1159)))
+(let ((?x1165 (concat (select ?x960 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146))))) ?x1162)))
+(let ((?x1168 (concat (select ?x960 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146))))) ?x1165)))
+(let ((?x1171 (concat (select ?x960 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1146))))) ?x1168)))
+(let ((?x1030 (concat (select ?x960 (_ bv42 32)) (concat (select ?x960 (_ bv41 32)) (select ?x960 (_ bv40 32))))))
+(let ((?x1036 (concat (select ?x960 (_ bv45 32)) (concat (select ?x960 (_ bv44 32)) (concat (select ?x960 (_ bv43 32)) ?x1030)))))
+(let (($x1173 (fp.lt ((_ to_fp 11 53) (concat (select ?x960 (_ bv47 32)) (concat (select ?x960 (_ bv46 32)) ?x1036))) ((_ to_fp 11 53) ?x1171))))
+(let ((?x1174 (ite $x1173 (_ bv5 32) ?x1146)))
+(let ((?x1181 (concat (select ?x960 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174))))) (select ?x960 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174)))))))
+(let ((?x1184 (concat (select ?x960 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174))))) ?x1181)))
+(let ((?x1187 (concat (select ?x960 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174))))) ?x1184)))
+(let ((?x1190 (concat (select ?x960 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174))))) ?x1187)))
+(let ((?x1193 (concat (select ?x960 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174))))) ?x1190)))
+(let ((?x1196 (concat (select ?x960 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174))))) ?x1193)))
+(let ((?x1199 (concat (select ?x960 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1174))))) ?x1196)))
+(let ((?x1014 (concat (select ?x960 (_ bv50 32)) (concat (select ?x960 (_ bv49 32)) (select ?x960 (_ bv48 32))))))
+(let ((?x1020 (concat (select ?x960 (_ bv53 32)) (concat (select ?x960 (_ bv52 32)) (concat (select ?x960 (_ bv51 32)) ?x1014)))))
+(let (($x1201 (fp.lt ((_ to_fp 11 53) (concat (select ?x960 (_ bv55 32)) (concat (select ?x960 (_ bv54 32)) ?x1020))) ((_ to_fp 11 53) ?x1199))))
+(let ((?x1202 (ite $x1201 (_ bv6 32) ?x1174)))
+(let ((?x1209 (concat (select ?x960 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202))))) (select ?x960 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202)))))))
+(let ((?x1212 (concat (select ?x960 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202))))) ?x1209)))
+(let ((?x1215 (concat (select ?x960 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202))))) ?x1212)))
+(let ((?x1218 (concat (select ?x960 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202))))) ?x1215)))
+(let ((?x1221 (concat (select ?x960 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202))))) ?x1218)))
+(let ((?x1224 (concat (select ?x960 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202))))) ?x1221)))
+(let ((?x1227 (concat (select ?x960 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1202))))) ?x1224)))
+(let ((?x998 (concat (select ?x960 (_ bv58 32)) (concat (select ?x960 (_ bv57 32)) (select ?x960 (_ bv56 32))))))
+(let ((?x1004 (concat (select ?x960 (_ bv61 32)) (concat (select ?x960 (_ bv60 32)) (concat (select ?x960 (_ bv59 32)) ?x998)))))
+(let (($x1229 (fp.lt ((_ to_fp 11 53) (concat (select ?x960 (_ bv63 32)) (concat (select ?x960 (_ bv62 32)) ?x1004))) ((_ to_fp 11 53) ?x1227))))
+(let ((?x1230 (ite $x1229 (_ bv7 32) ?x1202)))
+(let ((?x1237 (concat (select ?x960 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230))))) (select ?x960 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230)))))))
+(let ((?x1240 (concat (select ?x960 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230))))) ?x1237)))
+(let ((?x1243 (concat (select ?x960 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230))))) ?x1240)))
+(let ((?x1246 (concat (select ?x960 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230))))) ?x1243)))
+(let ((?x1249 (concat (select ?x960 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230))))) ?x1246)))
+(let ((?x1252 (concat (select ?x960 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230))))) ?x1249)))
+(let ((?x1255 (concat (select ?x960 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1230))))) ?x1252)))
+(let ((?x982 (concat (select ?x960 (_ bv66 32)) (concat (select ?x960 (_ bv65 32)) (select ?x960 (_ bv64 32))))))
+(let ((?x988 (concat (select ?x960 (_ bv69 32)) (concat (select ?x960 (_ bv68 32)) (concat (select ?x960 (_ bv67 32)) ?x982)))))
+(let (($x1257 (fp.lt ((_ to_fp 11 53) (concat (select ?x960 (_ bv71 32)) (concat (select ?x960 (_ bv70 32)) ?x988))) ((_ to_fp 11 53) ?x1255))))
+(let ((?x1258 (ite $x1257 (_ bv8 32) ?x1230)))
+(let ((?x1265 (concat (select ?x960 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258))))) (select ?x960 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258)))))))
+(let ((?x1268 (concat (select ?x960 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258))))) ?x1265)))
+(let ((?x1271 (concat (select ?x960 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258))))) ?x1268)))
+(let ((?x1274 (concat (select ?x960 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258))))) ?x1271)))
+(let ((?x1277 (concat (select ?x960 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258))))) ?x1274)))
+(let ((?x1280 (concat (select ?x960 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258))))) ?x1277)))
+(let ((?x1283 (concat (select ?x960 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1258))))) ?x1280)))
+(let ((?x966 (concat (select ?x960 (_ bv74 32)) (concat (select ?x960 (_ bv73 32)) (select ?x960 (_ bv72 32))))))
+(let ((?x972 (concat (select ?x960 (_ bv77 32)) (concat (select ?x960 (_ bv76 32)) (concat (select ?x960 (_ bv75 32)) ?x966)))))
+(let (($x1285 (fp.lt ((_ to_fp 11 53) (concat (select ?x960 (_ bv79 32)) (concat (select ?x960 (_ bv78 32)) ?x972))) ((_ to_fp 11 53) ?x1283))))
+(let ((?x1289 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) (ite $x1285 (_ bv9 32) ?x1258))))))
+(let ((?x1290 (bvadd (_ bv7 32) ?x1289)))
+(let ((?x1291 (bvadd (_ bv6 32) ?x1289)))
+(let ((?x1292 (bvadd (_ bv5 32) ?x1289)))
+(let ((?x1293 (bvadd (_ bv4 32) ?x1289)))
+(let ((?x1294 (bvadd (_ bv3 32) ?x1289)))
+(let ((?x1295 (bvadd (_ bv2 32) ?x1289)))
+(let ((?x1075 (select ?x960 (_ bv17 32))))
+(let ((?x1296 (bvadd (_ bv1 32) ?x1289)))
+(let ((?x1074 (select ?x960 (_ bv16 32))))
+(let ((?x1307 (store (store (store ?x960 (_ bv16 32) (select ?x960 ?x1289)) (_ bv17 32) (select ?x960 ?x1296)) (_ bv18 32) (select ?x960 ?x1295))))
+(let ((?x1310 (store (store (store ?x1307 (_ bv19 32) (select ?x960 ?x1294)) (_ bv20 32) (select ?x960 ?x1293)) (_ bv21 32) (select ?x960 ?x1292))))
+(let ((?x1313 (store (store (store ?x1310 (_ bv22 32) (select ?x960 ?x1291)) (_ bv23 32) (select ?x960 ?x1290)) ?x1289 ?x1074)))
+(let ((?x1317 (store (store (store (store ?x1313 ?x1296 ?x1075) ?x1295 ?x1077) ?x1294 ?x1079) ?x1293 ?x1081)))
+(let ((?x1320 (store (store (store ?x1317 ?x1292 ?x1083) ?x1291 ?x1085) ?x1290 ?x961)))
+(let ((?x1321 (select ?x1320 (_ bv31 32))))
+(let ((?x1406 (concat (select ?x1320 (_ bv34 32)) (concat (select ?x1320 (_ bv33 32)) (select ?x1320 (_ bv32 32))))))
+(let ((?x1412 (concat (select ?x1320 (_ bv37 32)) (concat (select ?x1320 (_ bv36 32)) (concat (select ?x1320 (_ bv35 32)) ?x1406)))))
+(let ((?x1421 (select ?x1320 (_ bv26 32))))
+(let ((?x1423 (select ?x1320 (_ bv27 32))))
+(let ((?x1424 (concat ?x1423 (concat ?x1421 (concat (select ?x1320 (_ bv25 32)) (select ?x1320 (_ bv24 32)))))))
+(let ((?x1425 (select ?x1320 (_ bv28 32))))
+(let ((?x1427 (select ?x1320 (_ bv29 32))))
+(let ((?x1429 (select ?x1320 (_ bv30 32))))
+(let (($x1433 (fp.lt ((_ to_fp 11 53) (concat ?x1321 (concat ?x1429 (concat ?x1427 (concat ?x1425 ?x1424))))) ((_ to_fp 11 53) (concat (select ?x1320 (_ bv39 32)) (concat (select ?x1320 (_ bv38 32)) ?x1412))))))
+(let ((?x1434 (ite $x1433 (_ bv3 32) (_ bv4 32))))
+(let ((?x1441 (concat (select ?x1320 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434))))) (select ?x1320 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434)))))))
+(let ((?x1444 (concat (select ?x1320 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434))))) ?x1441)))
+(let ((?x1447 (concat (select ?x1320 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434))))) ?x1444)))
+(let ((?x1450 (concat (select ?x1320 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434))))) ?x1447)))
+(let ((?x1453 (concat (select ?x1320 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434))))) ?x1450)))
+(let ((?x1456 (concat (select ?x1320 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434))))) ?x1453)))
+(let ((?x1459 (concat (select ?x1320 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1434))))) ?x1456)))
+(let (($x1461 (fp.lt ((_ to_fp 11 53) (concat (select ?x1320 (_ bv39 32)) (concat (select ?x1320 (_ bv38 32)) ?x1412))) ((_ to_fp 11 53) ?x1459))))
+(let ((?x1462 (ite $x1461 (_ bv4 32) ?x1434)))
+(let ((?x1469 (concat (select ?x1320 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462))))) (select ?x1320 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462)))))))
+(let ((?x1472 (concat (select ?x1320 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462))))) ?x1469)))
+(let ((?x1475 (concat (select ?x1320 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462))))) ?x1472)))
+(let ((?x1478 (concat (select ?x1320 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462))))) ?x1475)))
+(let ((?x1481 (concat (select ?x1320 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462))))) ?x1478)))
+(let ((?x1484 (concat (select ?x1320 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462))))) ?x1481)))
+(let ((?x1487 (concat (select ?x1320 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1462))))) ?x1484)))
+(let ((?x1390 (concat (select ?x1320 (_ bv42 32)) (concat (select ?x1320 (_ bv41 32)) (select ?x1320 (_ bv40 32))))))
+(let ((?x1396 (concat (select ?x1320 (_ bv45 32)) (concat (select ?x1320 (_ bv44 32)) (concat (select ?x1320 (_ bv43 32)) ?x1390)))))
+(let (($x1489 (fp.lt ((_ to_fp 11 53) (concat (select ?x1320 (_ bv47 32)) (concat (select ?x1320 (_ bv46 32)) ?x1396))) ((_ to_fp 11 53) ?x1487))))
+(let ((?x1490 (ite $x1489 (_ bv5 32) ?x1462)))
+(let ((?x1497 (concat (select ?x1320 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490))))) (select ?x1320 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490)))))))
+(let ((?x1500 (concat (select ?x1320 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490))))) ?x1497)))
+(let ((?x1503 (concat (select ?x1320 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490))))) ?x1500)))
+(let ((?x1506 (concat (select ?x1320 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490))))) ?x1503)))
+(let ((?x1509 (concat (select ?x1320 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490))))) ?x1506)))
+(let ((?x1512 (concat (select ?x1320 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490))))) ?x1509)))
+(let ((?x1515 (concat (select ?x1320 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1490))))) ?x1512)))
+(let ((?x1374 (concat (select ?x1320 (_ bv50 32)) (concat (select ?x1320 (_ bv49 32)) (select ?x1320 (_ bv48 32))))))
+(let ((?x1380 (concat (select ?x1320 (_ bv53 32)) (concat (select ?x1320 (_ bv52 32)) (concat (select ?x1320 (_ bv51 32)) ?x1374)))))
+(let (($x1517 (fp.lt ((_ to_fp 11 53) (concat (select ?x1320 (_ bv55 32)) (concat (select ?x1320 (_ bv54 32)) ?x1380))) ((_ to_fp 11 53) ?x1515))))
+(let ((?x1518 (ite $x1517 (_ bv6 32) ?x1490)))
+(let ((?x1525 (concat (select ?x1320 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518))))) (select ?x1320 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518)))))))
+(let ((?x1528 (concat (select ?x1320 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518))))) ?x1525)))
+(let ((?x1531 (concat (select ?x1320 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518))))) ?x1528)))
+(let ((?x1534 (concat (select ?x1320 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518))))) ?x1531)))
+(let ((?x1537 (concat (select ?x1320 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518))))) ?x1534)))
+(let ((?x1540 (concat (select ?x1320 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518))))) ?x1537)))
+(let ((?x1543 (concat (select ?x1320 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1518))))) ?x1540)))
+(let ((?x1358 (concat (select ?x1320 (_ bv58 32)) (concat (select ?x1320 (_ bv57 32)) (select ?x1320 (_ bv56 32))))))
+(let ((?x1364 (concat (select ?x1320 (_ bv61 32)) (concat (select ?x1320 (_ bv60 32)) (concat (select ?x1320 (_ bv59 32)) ?x1358)))))
+(let (($x1545 (fp.lt ((_ to_fp 11 53) (concat (select ?x1320 (_ bv63 32)) (concat (select ?x1320 (_ bv62 32)) ?x1364))) ((_ to_fp 11 53) ?x1543))))
+(let ((?x1546 (ite $x1545 (_ bv7 32) ?x1518)))
+(let ((?x1553 (concat (select ?x1320 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546))))) (select ?x1320 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546)))))))
+(let ((?x1556 (concat (select ?x1320 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546))))) ?x1553)))
+(let ((?x1559 (concat (select ?x1320 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546))))) ?x1556)))
+(let ((?x1562 (concat (select ?x1320 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546))))) ?x1559)))
+(let ((?x1565 (concat (select ?x1320 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546))))) ?x1562)))
+(let ((?x1568 (concat (select ?x1320 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546))))) ?x1565)))
+(let ((?x1571 (concat (select ?x1320 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1546))))) ?x1568)))
+(let ((?x1342 (concat (select ?x1320 (_ bv66 32)) (concat (select ?x1320 (_ bv65 32)) (select ?x1320 (_ bv64 32))))))
+(let ((?x1348 (concat (select ?x1320 (_ bv69 32)) (concat (select ?x1320 (_ bv68 32)) (concat (select ?x1320 (_ bv67 32)) ?x1342)))))
+(let (($x1573 (fp.lt ((_ to_fp 11 53) (concat (select ?x1320 (_ bv71 32)) (concat (select ?x1320 (_ bv70 32)) ?x1348))) ((_ to_fp 11 53) ?x1571))))
+(let ((?x1574 (ite $x1573 (_ bv8 32) ?x1546)))
+(let ((?x1581 (concat (select ?x1320 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574))))) (select ?x1320 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574)))))))
+(let ((?x1584 (concat (select ?x1320 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574))))) ?x1581)))
+(let ((?x1587 (concat (select ?x1320 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574))))) ?x1584)))
+(let ((?x1590 (concat (select ?x1320 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574))))) ?x1587)))
+(let ((?x1593 (concat (select ?x1320 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574))))) ?x1590)))
+(let ((?x1596 (concat (select ?x1320 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574))))) ?x1593)))
+(let ((?x1599 (concat (select ?x1320 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1574))))) ?x1596)))
+(let ((?x1326 (concat (select ?x1320 (_ bv74 32)) (concat (select ?x1320 (_ bv73 32)) (select ?x1320 (_ bv72 32))))))
+(let ((?x1332 (concat (select ?x1320 (_ bv77 32)) (concat (select ?x1320 (_ bv76 32)) (concat (select ?x1320 (_ bv75 32)) ?x1326)))))
+(let (($x1601 (fp.lt ((_ to_fp 11 53) (concat (select ?x1320 (_ bv79 32)) (concat (select ?x1320 (_ bv78 32)) ?x1332))) ((_ to_fp 11 53) ?x1599))))
+(let ((?x1605 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) (ite $x1601 (_ bv9 32) ?x1574))))))
+(let ((?x1606 (bvadd (_ bv7 32) ?x1605)))
+(let ((?x1607 (bvadd (_ bv6 32) ?x1605)))
+(let ((?x1608 (bvadd (_ bv5 32) ?x1605)))
+(let ((?x1609 (bvadd (_ bv4 32) ?x1605)))
+(let ((?x1610 (bvadd (_ bv3 32) ?x1605)))
+(let ((?x1611 (bvadd (_ bv2 32) ?x1605)))
+(let ((?x1419 (select ?x1320 (_ bv25 32))))
+(let ((?x1612 (bvadd (_ bv1 32) ?x1605)))
+(let ((?x1418 (select ?x1320 (_ bv24 32))))
+(let ((?x1623 (store (store (store ?x1320 (_ bv24 32) (select ?x1320 ?x1605)) (_ bv25 32) (select ?x1320 ?x1612)) (_ bv26 32) (select ?x1320 ?x1611))))
+(let ((?x1626 (store (store (store ?x1623 (_ bv27 32) (select ?x1320 ?x1610)) (_ bv28 32) (select ?x1320 ?x1609)) (_ bv29 32) (select ?x1320 ?x1608))))
+(let ((?x1629 (store (store (store ?x1626 (_ bv30 32) (select ?x1320 ?x1607)) (_ bv31 32) (select ?x1320 ?x1606)) ?x1605 ?x1418)))
+(let ((?x1633 (store (store (store (store ?x1629 ?x1612 ?x1419) ?x1611 ?x1421) ?x1610 ?x1423) ?x1609 ?x1425)))
+(let ((?x1636 (store (store (store ?x1633 ?x1608 ?x1427) ?x1607 ?x1429) ?x1606 ?x1321)))
+(let ((?x1637 (select ?x1636 (_ bv39 32))))
+(let ((?x1706 (concat (select ?x1636 (_ bv42 32)) (concat (select ?x1636 (_ bv41 32)) (select ?x1636 (_ bv40 32))))))
+(let ((?x1712 (concat (select ?x1636 (_ bv45 32)) (concat (select ?x1636 (_ bv44 32)) (concat (select ?x1636 (_ bv43 32)) ?x1706)))))
+(let ((?x1721 (select ?x1636 (_ bv34 32))))
+(let ((?x1723 (select ?x1636 (_ bv35 32))))
+(let ((?x1724 (concat ?x1723 (concat ?x1721 (concat (select ?x1636 (_ bv33 32)) (select ?x1636 (_ bv32 32)))))))
+(let ((?x1725 (select ?x1636 (_ bv36 32))))
+(let ((?x1727 (select ?x1636 (_ bv37 32))))
+(let ((?x1729 (select ?x1636 (_ bv38 32))))
+(let (($x1733 (fp.lt ((_ to_fp 11 53) (concat ?x1637 (concat ?x1729 (concat ?x1727 (concat ?x1725 ?x1724))))) ((_ to_fp 11 53) (concat (select ?x1636 (_ bv47 32)) (concat (select ?x1636 (_ bv46 32)) ?x1712))))))
+(let ((?x1734 (ite $x1733 (_ bv4 32) (_ bv5 32))))
+(let ((?x1741 (concat (select ?x1636 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734))))) (select ?x1636 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734)))))))
+(let ((?x1744 (concat (select ?x1636 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734))))) ?x1741)))
+(let ((?x1747 (concat (select ?x1636 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734))))) ?x1744)))
+(let ((?x1750 (concat (select ?x1636 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734))))) ?x1747)))
+(let ((?x1753 (concat (select ?x1636 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734))))) ?x1750)))
+(let ((?x1756 (concat (select ?x1636 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734))))) ?x1753)))
+(let ((?x1759 (concat (select ?x1636 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1734))))) ?x1756)))
+(let (($x1761 (fp.lt ((_ to_fp 11 53) (concat (select ?x1636 (_ bv47 32)) (concat (select ?x1636 (_ bv46 32)) ?x1712))) ((_ to_fp 11 53) ?x1759))))
+(let ((?x1762 (ite $x1761 (_ bv5 32) ?x1734)))
+(let ((?x1769 (concat (select ?x1636 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762))))) (select ?x1636 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762)))))))
+(let ((?x1772 (concat (select ?x1636 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762))))) ?x1769)))
+(let ((?x1775 (concat (select ?x1636 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762))))) ?x1772)))
+(let ((?x1778 (concat (select ?x1636 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762))))) ?x1775)))
+(let ((?x1781 (concat (select ?x1636 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762))))) ?x1778)))
+(let ((?x1784 (concat (select ?x1636 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762))))) ?x1781)))
+(let ((?x1787 (concat (select ?x1636 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1762))))) ?x1784)))
+(let ((?x1690 (concat (select ?x1636 (_ bv50 32)) (concat (select ?x1636 (_ bv49 32)) (select ?x1636 (_ bv48 32))))))
+(let ((?x1696 (concat (select ?x1636 (_ bv53 32)) (concat (select ?x1636 (_ bv52 32)) (concat (select ?x1636 (_ bv51 32)) ?x1690)))))
+(let (($x1789 (fp.lt ((_ to_fp 11 53) (concat (select ?x1636 (_ bv55 32)) (concat (select ?x1636 (_ bv54 32)) ?x1696))) ((_ to_fp 11 53) ?x1787))))
+(let ((?x1790 (ite $x1789 (_ bv6 32) ?x1762)))
+(let ((?x1797 (concat (select ?x1636 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790))))) (select ?x1636 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790)))))))
+(let ((?x1800 (concat (select ?x1636 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790))))) ?x1797)))
+(let ((?x1803 (concat (select ?x1636 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790))))) ?x1800)))
+(let ((?x1806 (concat (select ?x1636 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790))))) ?x1803)))
+(let ((?x1809 (concat (select ?x1636 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790))))) ?x1806)))
+(let ((?x1812 (concat (select ?x1636 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790))))) ?x1809)))
+(let ((?x1815 (concat (select ?x1636 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1790))))) ?x1812)))
+(let ((?x1674 (concat (select ?x1636 (_ bv58 32)) (concat (select ?x1636 (_ bv57 32)) (select ?x1636 (_ bv56 32))))))
+(let ((?x1680 (concat (select ?x1636 (_ bv61 32)) (concat (select ?x1636 (_ bv60 32)) (concat (select ?x1636 (_ bv59 32)) ?x1674)))))
+(let (($x1817 (fp.lt ((_ to_fp 11 53) (concat (select ?x1636 (_ bv63 32)) (concat (select ?x1636 (_ bv62 32)) ?x1680))) ((_ to_fp 11 53) ?x1815))))
+(let ((?x1818 (ite $x1817 (_ bv7 32) ?x1790)))
+(let ((?x1825 (concat (select ?x1636 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818))))) (select ?x1636 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818)))))))
+(let ((?x1828 (concat (select ?x1636 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818))))) ?x1825)))
+(let ((?x1831 (concat (select ?x1636 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818))))) ?x1828)))
+(let ((?x1834 (concat (select ?x1636 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818))))) ?x1831)))
+(let ((?x1837 (concat (select ?x1636 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818))))) ?x1834)))
+(let ((?x1840 (concat (select ?x1636 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818))))) ?x1837)))
+(let ((?x1843 (concat (select ?x1636 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1818))))) ?x1840)))
+(let ((?x1658 (concat (select ?x1636 (_ bv66 32)) (concat (select ?x1636 (_ bv65 32)) (select ?x1636 (_ bv64 32))))))
+(let ((?x1664 (concat (select ?x1636 (_ bv69 32)) (concat (select ?x1636 (_ bv68 32)) (concat (select ?x1636 (_ bv67 32)) ?x1658)))))
+(let (($x1845 (fp.lt ((_ to_fp 11 53) (concat (select ?x1636 (_ bv71 32)) (concat (select ?x1636 (_ bv70 32)) ?x1664))) ((_ to_fp 11 53) ?x1843))))
+(let ((?x1846 (ite $x1845 (_ bv8 32) ?x1818)))
+(let ((?x1853 (concat (select ?x1636 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846))))) (select ?x1636 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846)))))))
+(let ((?x1856 (concat (select ?x1636 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846))))) ?x1853)))
+(let ((?x1859 (concat (select ?x1636 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846))))) ?x1856)))
+(let ((?x1862 (concat (select ?x1636 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846))))) ?x1859)))
+(let ((?x1865 (concat (select ?x1636 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846))))) ?x1862)))
+(let ((?x1868 (concat (select ?x1636 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846))))) ?x1865)))
+(let ((?x1871 (concat (select ?x1636 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1846))))) ?x1868)))
+(let ((?x1642 (concat (select ?x1636 (_ bv74 32)) (concat (select ?x1636 (_ bv73 32)) (select ?x1636 (_ bv72 32))))))
+(let ((?x1648 (concat (select ?x1636 (_ bv77 32)) (concat (select ?x1636 (_ bv76 32)) (concat (select ?x1636 (_ bv75 32)) ?x1642)))))
+(let (($x1873 (fp.lt ((_ to_fp 11 53) (concat (select ?x1636 (_ bv79 32)) (concat (select ?x1636 (_ bv78 32)) ?x1648))) ((_ to_fp 11 53) ?x1871))))
+(let ((?x1877 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) (ite $x1873 (_ bv9 32) ?x1846))))))
+(let ((?x1878 (bvadd (_ bv7 32) ?x1877)))
+(let ((?x1879 (bvadd (_ bv6 32) ?x1877)))
+(let ((?x1880 (bvadd (_ bv5 32) ?x1877)))
+(let ((?x1881 (bvadd (_ bv4 32) ?x1877)))
+(let ((?x1882 (bvadd (_ bv3 32) ?x1877)))
+(let ((?x1883 (bvadd (_ bv2 32) ?x1877)))
+(let ((?x1719 (select ?x1636 (_ bv33 32))))
+(let ((?x1884 (bvadd (_ bv1 32) ?x1877)))
+(let ((?x1718 (select ?x1636 (_ bv32 32))))
+(let ((?x1895 (store (store (store ?x1636 (_ bv32 32) (select ?x1636 ?x1877)) (_ bv33 32) (select ?x1636 ?x1884)) (_ bv34 32) (select ?x1636 ?x1883))))
+(let ((?x1898 (store (store (store ?x1895 (_ bv35 32) (select ?x1636 ?x1882)) (_ bv36 32) (select ?x1636 ?x1881)) (_ bv37 32) (select ?x1636 ?x1880))))
+(let ((?x1901 (store (store (store ?x1898 (_ bv38 32) (select ?x1636 ?x1879)) (_ bv39 32) (select ?x1636 ?x1878)) ?x1877 ?x1718)))
+(let ((?x1905 (store (store (store (store ?x1901 ?x1884 ?x1719) ?x1883 ?x1721) ?x1882 ?x1723) ?x1881 ?x1725)))
+(let ((?x1908 (store (store (store ?x1905 ?x1880 ?x1727) ?x1879 ?x1729) ?x1878 ?x1637)))
+(let ((?x1909 (select ?x1908 (_ bv47 32))))
+(let ((?x1962 (concat (select ?x1908 (_ bv50 32)) (concat (select ?x1908 (_ bv49 32)) (select ?x1908 (_ bv48 32))))))
+(let ((?x1968 (concat (select ?x1908 (_ bv53 32)) (concat (select ?x1908 (_ bv52 32)) (concat (select ?x1908 (_ bv51 32)) ?x1962)))))
+(let ((?x1977 (select ?x1908 (_ bv42 32))))
+(let ((?x1979 (select ?x1908 (_ bv43 32))))
+(let ((?x1980 (concat ?x1979 (concat ?x1977 (concat (select ?x1908 (_ bv41 32)) (select ?x1908 (_ bv40 32)))))))
+(let ((?x1981 (select ?x1908 (_ bv44 32))))
+(let ((?x1983 (select ?x1908 (_ bv45 32))))
+(let ((?x1985 (select ?x1908 (_ bv46 32))))
+(let (($x1989 (fp.lt ((_ to_fp 11 53) (concat ?x1909 (concat ?x1985 (concat ?x1983 (concat ?x1981 ?x1980))))) ((_ to_fp 11 53) (concat (select ?x1908 (_ bv55 32)) (concat (select ?x1908 (_ bv54 32)) ?x1968))))))
+(let ((?x1990 (ite $x1989 (_ bv5 32) (_ bv6 32))))
+(let ((?x1997 (concat (select ?x1908 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990))))) (select ?x1908 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990)))))))
+(let ((?x2000 (concat (select ?x1908 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990))))) ?x1997)))
+(let ((?x2003 (concat (select ?x1908 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990))))) ?x2000)))
+(let ((?x2006 (concat (select ?x1908 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990))))) ?x2003)))
+(let ((?x2009 (concat (select ?x1908 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990))))) ?x2006)))
+(let ((?x2012 (concat (select ?x1908 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990))))) ?x2009)))
+(let ((?x2015 (concat (select ?x1908 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x1990))))) ?x2012)))
+(let (($x2017 (fp.lt ((_ to_fp 11 53) (concat (select ?x1908 (_ bv55 32)) (concat (select ?x1908 (_ bv54 32)) ?x1968))) ((_ to_fp 11 53) ?x2015))))
+(let ((?x2018 (ite $x2017 (_ bv6 32) ?x1990)))
+(let ((?x2025 (concat (select ?x1908 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018))))) (select ?x1908 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018)))))))
+(let ((?x2028 (concat (select ?x1908 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018))))) ?x2025)))
+(let ((?x2031 (concat (select ?x1908 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018))))) ?x2028)))
+(let ((?x2034 (concat (select ?x1908 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018))))) ?x2031)))
+(let ((?x2037 (concat (select ?x1908 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018))))) ?x2034)))
+(let ((?x2040 (concat (select ?x1908 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018))))) ?x2037)))
+(let ((?x2043 (concat (select ?x1908 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2018))))) ?x2040)))
+(let ((?x1946 (concat (select ?x1908 (_ bv58 32)) (concat (select ?x1908 (_ bv57 32)) (select ?x1908 (_ bv56 32))))))
+(let ((?x1952 (concat (select ?x1908 (_ bv61 32)) (concat (select ?x1908 (_ bv60 32)) (concat (select ?x1908 (_ bv59 32)) ?x1946)))))
+(let (($x2045 (fp.lt ((_ to_fp 11 53) (concat (select ?x1908 (_ bv63 32)) (concat (select ?x1908 (_ bv62 32)) ?x1952))) ((_ to_fp 11 53) ?x2043))))
+(let ((?x2046 (ite $x2045 (_ bv7 32) ?x2018)))
+(let ((?x2053 (concat (select ?x1908 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046))))) (select ?x1908 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046)))))))
+(let ((?x2056 (concat (select ?x1908 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046))))) ?x2053)))
+(let ((?x2059 (concat (select ?x1908 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046))))) ?x2056)))
+(let ((?x2062 (concat (select ?x1908 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046))))) ?x2059)))
+(let ((?x2065 (concat (select ?x1908 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046))))) ?x2062)))
+(let ((?x2068 (concat (select ?x1908 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046))))) ?x2065)))
+(let ((?x2071 (concat (select ?x1908 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2046))))) ?x2068)))
+(let ((?x1930 (concat (select ?x1908 (_ bv66 32)) (concat (select ?x1908 (_ bv65 32)) (select ?x1908 (_ bv64 32))))))
+(let ((?x1936 (concat (select ?x1908 (_ bv69 32)) (concat (select ?x1908 (_ bv68 32)) (concat (select ?x1908 (_ bv67 32)) ?x1930)))))
+(let (($x2073 (fp.lt ((_ to_fp 11 53) (concat (select ?x1908 (_ bv71 32)) (concat (select ?x1908 (_ bv70 32)) ?x1936))) ((_ to_fp 11 53) ?x2071))))
+(let ((?x2074 (ite $x2073 (_ bv8 32) ?x2046)))
+(let ((?x2081 (concat (select ?x1908 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074))))) (select ?x1908 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074)))))))
+(let ((?x2084 (concat (select ?x1908 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074))))) ?x2081)))
+(let ((?x2087 (concat (select ?x1908 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074))))) ?x2084)))
+(let ((?x2090 (concat (select ?x1908 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074))))) ?x2087)))
+(let ((?x2093 (concat (select ?x1908 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074))))) ?x2090)))
+(let ((?x2096 (concat (select ?x1908 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074))))) ?x2093)))
+(let ((?x2099 (concat (select ?x1908 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2074))))) ?x2096)))
+(let ((?x1914 (concat (select ?x1908 (_ bv74 32)) (concat (select ?x1908 (_ bv73 32)) (select ?x1908 (_ bv72 32))))))
+(let ((?x1920 (concat (select ?x1908 (_ bv77 32)) (concat (select ?x1908 (_ bv76 32)) (concat (select ?x1908 (_ bv75 32)) ?x1914)))))
+(let (($x2101 (fp.lt ((_ to_fp 11 53) (concat (select ?x1908 (_ bv79 32)) (concat (select ?x1908 (_ bv78 32)) ?x1920))) ((_ to_fp 11 53) ?x2099))))
+(let ((?x2105 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) (ite $x2101 (_ bv9 32) ?x2074))))))
+(let ((?x2106 (bvadd (_ bv7 32) ?x2105)))
+(let ((?x2107 (bvadd (_ bv6 32) ?x2105)))
+(let ((?x2108 (bvadd (_ bv5 32) ?x2105)))
+(let ((?x2109 (bvadd (_ bv4 32) ?x2105)))
+(let ((?x2110 (bvadd (_ bv3 32) ?x2105)))
+(let ((?x2111 (bvadd (_ bv2 32) ?x2105)))
+(let ((?x1975 (select ?x1908 (_ bv41 32))))
+(let ((?x2112 (bvadd (_ bv1 32) ?x2105)))
+(let ((?x1974 (select ?x1908 (_ bv40 32))))
+(let ((?x2123 (store (store (store ?x1908 (_ bv40 32) (select ?x1908 ?x2105)) (_ bv41 32) (select ?x1908 ?x2112)) (_ bv42 32) (select ?x1908 ?x2111))))
+(let ((?x2126 (store (store (store ?x2123 (_ bv43 32) (select ?x1908 ?x2110)) (_ bv44 32) (select ?x1908 ?x2109)) (_ bv45 32) (select ?x1908 ?x2108))))
+(let ((?x2129 (store (store (store ?x2126 (_ bv46 32) (select ?x1908 ?x2107)) (_ bv47 32) (select ?x1908 ?x2106)) ?x2105 ?x1974)))
+(let ((?x2133 (store (store (store (store ?x2129 ?x2112 ?x1975) ?x2111 ?x1977) ?x2110 ?x1979) ?x2109 ?x1981)))
+(let ((?x2136 (store (store (store ?x2133 ?x2108 ?x1983) ?x2107 ?x1985) ?x2106 ?x1909)))
+(let ((?x2137 (select ?x2136 (_ bv55 32))))
+(let ((?x2174 (concat (select ?x2136 (_ bv58 32)) (concat (select ?x2136 (_ bv57 32)) (select ?x2136 (_ bv56 32))))))
+(let ((?x2180 (concat (select ?x2136 (_ bv61 32)) (concat (select ?x2136 (_ bv60 32)) (concat (select ?x2136 (_ bv59 32)) ?x2174)))))
+(let ((?x2189 (select ?x2136 (_ bv50 32))))
+(let ((?x2191 (select ?x2136 (_ bv51 32))))
+(let ((?x2192 (concat ?x2191 (concat ?x2189 (concat (select ?x2136 (_ bv49 32)) (select ?x2136 (_ bv48 32)))))))
+(let ((?x2193 (select ?x2136 (_ bv52 32))))
+(let ((?x2195 (select ?x2136 (_ bv53 32))))
+(let ((?x2197 (select ?x2136 (_ bv54 32))))
+(let (($x2201 (fp.lt ((_ to_fp 11 53) (concat ?x2137 (concat ?x2197 (concat ?x2195 (concat ?x2193 ?x2192))))) ((_ to_fp 11 53) (concat (select ?x2136 (_ bv63 32)) (concat (select ?x2136 (_ bv62 32)) ?x2180))))))
+(let ((?x2202 (ite $x2201 (_ bv6 32) (_ bv7 32))))
+(let ((?x2209 (concat (select ?x2136 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202))))) (select ?x2136 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202)))))))
+(let ((?x2212 (concat (select ?x2136 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202))))) ?x2209)))
+(let ((?x2215 (concat (select ?x2136 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202))))) ?x2212)))
+(let ((?x2218 (concat (select ?x2136 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202))))) ?x2215)))
+(let ((?x2221 (concat (select ?x2136 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202))))) ?x2218)))
+(let ((?x2224 (concat (select ?x2136 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202))))) ?x2221)))
+(let ((?x2227 (concat (select ?x2136 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2202))))) ?x2224)))
+(let (($x2229 (fp.lt ((_ to_fp 11 53) (concat (select ?x2136 (_ bv63 32)) (concat (select ?x2136 (_ bv62 32)) ?x2180))) ((_ to_fp 11 53) ?x2227))))
+(let ((?x2230 (ite $x2229 (_ bv7 32) ?x2202)))
+(let ((?x2237 (concat (select ?x2136 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230))))) (select ?x2136 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230)))))))
+(let ((?x2240 (concat (select ?x2136 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230))))) ?x2237)))
+(let ((?x2243 (concat (select ?x2136 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230))))) ?x2240)))
+(let ((?x2246 (concat (select ?x2136 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230))))) ?x2243)))
+(let ((?x2249 (concat (select ?x2136 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230))))) ?x2246)))
+(let ((?x2252 (concat (select ?x2136 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230))))) ?x2249)))
+(let ((?x2255 (concat (select ?x2136 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2230))))) ?x2252)))
+(let ((?x2158 (concat (select ?x2136 (_ bv66 32)) (concat (select ?x2136 (_ bv65 32)) (select ?x2136 (_ bv64 32))))))
+(let ((?x2164 (concat (select ?x2136 (_ bv69 32)) (concat (select ?x2136 (_ bv68 32)) (concat (select ?x2136 (_ bv67 32)) ?x2158)))))
+(let (($x2257 (fp.lt ((_ to_fp 11 53) (concat (select ?x2136 (_ bv71 32)) (concat (select ?x2136 (_ bv70 32)) ?x2164))) ((_ to_fp 11 53) ?x2255))))
+(let ((?x2258 (ite $x2257 (_ bv8 32) ?x2230)))
+(let ((?x2265 (concat (select ?x2136 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258))))) (select ?x2136 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258)))))))
+(let ((?x2268 (concat (select ?x2136 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258))))) ?x2265)))
+(let ((?x2271 (concat (select ?x2136 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258))))) ?x2268)))
+(let ((?x2274 (concat (select ?x2136 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258))))) ?x2271)))
+(let ((?x2277 (concat (select ?x2136 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258))))) ?x2274)))
+(let ((?x2280 (concat (select ?x2136 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258))))) ?x2277)))
+(let ((?x2283 (concat (select ?x2136 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2258))))) ?x2280)))
+(let ((?x2142 (concat (select ?x2136 (_ bv74 32)) (concat (select ?x2136 (_ bv73 32)) (select ?x2136 (_ bv72 32))))))
+(let ((?x2148 (concat (select ?x2136 (_ bv77 32)) (concat (select ?x2136 (_ bv76 32)) (concat (select ?x2136 (_ bv75 32)) ?x2142)))))
+(let (($x2285 (fp.lt ((_ to_fp 11 53) (concat (select ?x2136 (_ bv79 32)) (concat (select ?x2136 (_ bv78 32)) ?x2148))) ((_ to_fp 11 53) ?x2283))))
+(let ((?x2289 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) (ite $x2285 (_ bv9 32) ?x2258))))))
+(let ((?x2290 (bvadd (_ bv7 32) ?x2289)))
+(let ((?x2291 (bvadd (_ bv6 32) ?x2289)))
+(let ((?x2292 (bvadd (_ bv5 32) ?x2289)))
+(let ((?x2293 (bvadd (_ bv4 32) ?x2289)))
+(let ((?x2294 (bvadd (_ bv3 32) ?x2289)))
+(let ((?x2295 (bvadd (_ bv2 32) ?x2289)))
+(let ((?x2187 (select ?x2136 (_ bv49 32))))
+(let ((?x2296 (bvadd (_ bv1 32) ?x2289)))
+(let ((?x2186 (select ?x2136 (_ bv48 32))))
+(let ((?x2307 (store (store (store ?x2136 (_ bv48 32) (select ?x2136 ?x2289)) (_ bv49 32) (select ?x2136 ?x2296)) (_ bv50 32) (select ?x2136 ?x2295))))
+(let ((?x2310 (store (store (store ?x2307 (_ bv51 32) (select ?x2136 ?x2294)) (_ bv52 32) (select ?x2136 ?x2293)) (_ bv53 32) (select ?x2136 ?x2292))))
+(let ((?x2313 (store (store (store ?x2310 (_ bv54 32) (select ?x2136 ?x2291)) (_ bv55 32) (select ?x2136 ?x2290)) ?x2289 ?x2186)))
+(let ((?x2317 (store (store (store (store ?x2313 ?x2296 ?x2187) ?x2295 ?x2189) ?x2294 ?x2191) ?x2293 ?x2193)))
+(let ((?x2320 (store (store (store ?x2317 ?x2292 ?x2195) ?x2291 ?x2197) ?x2290 ?x2137)))
+(let ((?x2325 (concat (select ?x2320 (_ bv66 32)) (concat (select ?x2320 (_ bv65 32)) (select ?x2320 (_ bv64 32))))))
+(let ((?x2331 (concat (select ?x2320 (_ bv69 32)) (concat (select ?x2320 (_ bv68 32)) (concat (select ?x2320 (_ bv67 32)) ?x2325)))))
+(let ((?x2341 (concat (select ?x2320 (_ bv58 32)) (concat (select ?x2320 (_ bv57 32)) (select ?x2320 (_ bv56 32))))))
+(let ((?x2347 (concat (select ?x2320 (_ bv61 32)) (concat (select ?x2320 (_ bv60 32)) (concat (select ?x2320 (_ bv59 32)) ?x2341)))))
+(let (($x2353 (fp.lt ((_ to_fp 11 53) (concat (select ?x2320 (_ bv63 32)) (concat (select ?x2320 (_ bv62 32)) ?x2347))) ((_ to_fp 11 53) (concat (select ?x2320 (_ bv71 32)) (concat (select ?x2320 (_ bv70 32)) ?x2331))))))
+(let ((?x2354 (ite $x2353 (_ bv7 32) (_ bv8 32))))
+(let ((?x2361 (concat (select ?x2320 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354))))) (select ?x2320 ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354)))))))
+(let ((?x2364 (concat (select ?x2320 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354))))) ?x2361)))
+(let ((?x2367 (concat (select ?x2320 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354))))) ?x2364)))
+(let ((?x2370 (concat (select ?x2320 (bvadd (_ bv4 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354))))) ?x2367)))
+(let ((?x2373 (concat (select ?x2320 (bvadd (_ bv5 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354))))) ?x2370)))
+(let ((?x2376 (concat (select ?x2320 (bvadd (_ bv6 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354))))) ?x2373)))
+(let ((?x2379 (concat (select ?x2320 (bvadd (_ bv7 32) ((_ extract 31 0) (bvmul (_ bv8 64) ((_ sign_extend 32) ?x2354))))) ?x2376)))
+(let (($x2381 (fp.lt ((_ to_fp 11 53) (concat (select ?x2320 (_ bv71 32)) (concat (select ?x2320 (_ bv70 32)) ?x2331))) ((_ to_fp 11 53) ?x2379))))
+(not (bvult (bvmul (_ bv8 64) ((_ sign_extend 32) (ite $x2381 (_ bv8 32) ?x2354))) (_ bv73 64))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.64.smt2 b/UnitTests/unsat/QF_ABVFP/query.64.smt2
index 8fa093e1aed9d8921fea70db0b4552aa6c8b723a..0bc9747ce846017d6f020fb42c3f3be7b03d2781 100644
--- a/UnitTests/unsat/QF_ABVFP/query.64.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.64.smt2
@@ -6,211 +6,63 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
+Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/aachen_real_wxpro_tostr.x86_64/query.64.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
-(assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.isNaN ?x33)))))
-(assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
-(assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.isNaN ?x49)))))
-(assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.lt ?x49 ?x33)))))))
-(assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.isNaN ?x65)))))
-(assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.lt ?x65 ?x49)))))))
-(assert
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.isNaN ?x81)))))
-(assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.lt ?x81 ?x65)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.eq ?x33 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.eq ?x49 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.eq ?x65 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.eq ?x81 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
- (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
- (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
- (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
- (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
- (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
- (let ((?x146 (ite $x144 ?x127 ?x125)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x145 (ite $x144 ?x124 ?x127)))
- (not (= ?x145 ?x146))))))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
-(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
-(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
-(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
-(let (($x103 (fp.gt ?x49 ?x94)))
-(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
-(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
-(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
-(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
-(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
-(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
-(let ((?x125 (ite $x123 ?x107 ?x105)))
-(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
-(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
-(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
-(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
-(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
-(let ((?x146 (ite $x144 ?x127 ?x125)))
-(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
-(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
-(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
-(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
-(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
-(let ((?x167 (ite $x165 ?x150 ?x146)))
-(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
-(let ((?x124 (ite $x123 ?x104 ?x107)))
-(let ((?x145 (ite $x144 ?x124 ?x127)))
-(let ((?x166 (ite $x165 ?x145 ?x150)))
-(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
-(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
-(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
-(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
-(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
-(let ((?x186 (ite $x184 ?x169 ?x167)))
-(let ((?x188 (bvsdiv (bvadd (ite $x184 ?x166 ?x169) ?x186) (_ bv2 32))))
-(let ((?x195 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188)))))))
-(let ((?x198 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x195)))
-(let ((?x201 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x198)))
-(let (($x203 (fp.gt ((_ to_fp 8 24) ?x201) ?x94)))
-(let ((?x205 (ite $x203 ?x188 ?x186)))
-(let ((?x207 (bvsdiv (bvadd (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x205) (_ bv2 32))))
-(let ((?x214 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207)))))))
-(let ((?x217 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x214)))
-(let ((?x220 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x217)))
-(let (($x222 (fp.gt ((_ to_fp 8 24) ?x220) ?x94)))
-(let ((?x224 (ite $x222 ?x207 ?x205)))
-(let ((?x226 (bvsdiv (bvadd (ite $x222 (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x207) ?x224) (_ bv2 32))))
-(let ((?x233 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226)))))))
-(let ((?x236 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x233)))
-(let ((?x239 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x236)))
-(let (($x241 (fp.gt ((_ to_fp 8 24) ?x239) ?x94)))
-(let ((?x243 (ite $x241 ?x226 ?x224)))
-(let ((?x185 (ite $x184 ?x166 ?x169)))
-(let ((?x204 (ite $x203 ?x185 ?x188)))
-(let ((?x223 (ite $x222 ?x204 ?x207)))
-(let ((?x242 (ite $x241 ?x223 ?x226)))
-(let ((?x245 (bvsdiv (bvadd ?x242 ?x243) (_ bv2 32))))
-(let ((?x252 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245)))))))
-(let ((?x255 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x252)))
-(let ((?x258 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x255)))
-(let (($x260 (fp.gt ((_ to_fp 8 24) ?x258) ?x94)))
-(let ((?x262 (ite $x260 ?x245 ?x243)))
-(let ((?x264 (bvsdiv (bvadd (ite $x260 ?x242 ?x245) ?x262) (_ bv2 32))))
-(let ((?x271 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let (($x279 (fp.gt ((_ to_fp 8 24) ?x277) ?x94)))
-(let ((?x281 (ite $x279 ?x264 ?x262)))
-(let ((?x283 (bvsdiv (bvadd (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x281) (_ bv2 32))))
-(let ((?x290 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283)))))))
-(let ((?x293 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x290)))
-(let ((?x296 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x293)))
-(let (($x298 (fp.gt ((_ to_fp 8 24) ?x296) ?x94)))
-(let ((?x300 (ite $x298 ?x283 ?x281)))
-(let ((?x302 (bvsdiv (bvadd (ite $x298 (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x283) ?x300) (_ bv2 32))))
-(let ((?x309 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302)))))))
-(let ((?x312 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x309)))
-(let ((?x315 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x312)))
-(let (($x317 (fp.gt ((_ to_fp 8 24) ?x315) ?x94)))
-(let ((?x319 (ite $x317 ?x302 ?x300)))
-(let ((?x261 (ite $x260 ?x242 ?x245)))
-(let ((?x280 (ite $x279 ?x261 ?x264)))
-(let ((?x299 (ite $x298 ?x280 ?x283)))
-(let ((?x318 (ite $x317 ?x299 ?x302)))
-(let ((?x321 (bvsdiv (bvadd ?x318 ?x319) (_ bv2 32))))
-(let ((?x328 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321)))))))
-(let ((?x331 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) ?x328)))
-(let ((?x334 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) ?x331)))
-(let (($x336 (fp.gt ((_ to_fp 8 24) ?x334) ?x94)))
-(let ((?x341 ((_ sign_extend 32) (bvsdiv (bvadd (ite $x336 ?x318 ?x321) (ite $x336 ?x321 ?x319)) (_ bv2 32)))))
-(not (bvult (bvmul (_ bv4 64) ?x341) (_ bv17 64))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+(declare-fun meters0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (fp.geq ?x31 ((_ to_fp 11 53) (_ bv0 64)))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (fp.leq ?x31 ((_ to_fp 11 53) (_ bv4652007308841189376 64)))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x41 ((_ sign_extend 32) ?x40)))
+ (let ((?x47 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41)))))
+ (let ((?x44 (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32))))
+ (not (= (_ bv0 32) (bvor ?x44 ?x47))))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x41 ((_ sign_extend 32) ?x40)))
+ (let ((?x47 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41)))))
+ (let ((?x44 (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32))))
+ (let ((?x51 (bvudiv ?x44 (_ bv10 32))))
+ (not (= (_ bv0 32) (bvor ?x51 ?x47)))))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x41 ((_ sign_extend 32) ?x40)))
+ (let ((?x47 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41)))))
+ (let (($x57 (= (_ bv0 32) (bvor (bvudiv (bvudiv (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32)) (_ bv10 32)) (_ bv10 32)) ?x47))))
+ (not $x57))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+(let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+(let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+(let ((?x38 (fp.abs ?x31)))
+(let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+(let ((?x63 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
+(let ((?x69 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x63 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
+(let ((?x71 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x69 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
+(let (($x77 (= (_ bv48 8) ((_ extract 7 0) (bvadd (_ bv48 32) (bvurem ((_ extract 31 0) ((_ sign_extend 32) ?x71)) (_ bv10 32)))))))
+(not $x77)))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.65.smt2 b/UnitTests/unsat/QF_ABVFP/query.65.smt2
index 39764270e5a82cea2e8cf0f5553d91294cd36307..cf56e5b04d7af792834c85bdea163dd077cd8c9f 100644
--- a/UnitTests/unsat/QF_ABVFP/query.65.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.65.smt2
@@ -6,214 +6,63 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
+Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/aachen_real_wxpro_tostr.x86_64/query.65.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
-(assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.isNaN ?x33)))))
-(assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
-(assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.isNaN ?x49)))))
-(assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.lt ?x49 ?x33)))))))
-(assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.isNaN ?x65)))))
-(assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.lt ?x65 ?x49)))))))
-(assert
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.isNaN ?x81)))))
-(assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.lt ?x81 ?x65)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.eq ?x33 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.eq ?x49 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.eq ?x65 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.eq ?x81 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
- (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
- (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
- (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
- (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
- (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
- (let ((?x146 (ite $x144 ?x127 ?x125)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x145 (ite $x144 ?x124 ?x127)))
- (not (= ?x145 ?x146))))))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
-(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
-(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
-(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
-(let (($x103 (fp.gt ?x49 ?x94)))
-(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
-(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
-(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
-(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
-(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
-(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
-(let ((?x125 (ite $x123 ?x107 ?x105)))
-(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
-(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
-(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
-(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
-(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
-(let ((?x146 (ite $x144 ?x127 ?x125)))
-(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
-(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
-(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
-(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
-(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
-(let ((?x167 (ite $x165 ?x150 ?x146)))
-(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
-(let ((?x124 (ite $x123 ?x104 ?x107)))
-(let ((?x145 (ite $x144 ?x124 ?x127)))
-(let ((?x166 (ite $x165 ?x145 ?x150)))
-(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
-(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
-(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
-(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
-(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
-(let ((?x186 (ite $x184 ?x169 ?x167)))
-(let ((?x188 (bvsdiv (bvadd (ite $x184 ?x166 ?x169) ?x186) (_ bv2 32))))
-(let ((?x195 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188)))))))
-(let ((?x198 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x195)))
-(let ((?x201 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x198)))
-(let (($x203 (fp.gt ((_ to_fp 8 24) ?x201) ?x94)))
-(let ((?x205 (ite $x203 ?x188 ?x186)))
-(let ((?x207 (bvsdiv (bvadd (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x205) (_ bv2 32))))
-(let ((?x214 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207)))))))
-(let ((?x217 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x214)))
-(let ((?x220 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x217)))
-(let (($x222 (fp.gt ((_ to_fp 8 24) ?x220) ?x94)))
-(let ((?x224 (ite $x222 ?x207 ?x205)))
-(let ((?x226 (bvsdiv (bvadd (ite $x222 (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x207) ?x224) (_ bv2 32))))
-(let ((?x233 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226)))))))
-(let ((?x236 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x233)))
-(let ((?x239 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x236)))
-(let (($x241 (fp.gt ((_ to_fp 8 24) ?x239) ?x94)))
-(let ((?x243 (ite $x241 ?x226 ?x224)))
-(let ((?x185 (ite $x184 ?x166 ?x169)))
-(let ((?x204 (ite $x203 ?x185 ?x188)))
-(let ((?x223 (ite $x222 ?x204 ?x207)))
-(let ((?x242 (ite $x241 ?x223 ?x226)))
-(let ((?x245 (bvsdiv (bvadd ?x242 ?x243) (_ bv2 32))))
-(let ((?x252 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245)))))))
-(let ((?x255 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x252)))
-(let ((?x258 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x255)))
-(let (($x260 (fp.gt ((_ to_fp 8 24) ?x258) ?x94)))
-(let ((?x262 (ite $x260 ?x245 ?x243)))
-(let ((?x264 (bvsdiv (bvadd (ite $x260 ?x242 ?x245) ?x262) (_ bv2 32))))
-(let ((?x271 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let (($x279 (fp.gt ((_ to_fp 8 24) ?x277) ?x94)))
-(let ((?x281 (ite $x279 ?x264 ?x262)))
-(let ((?x283 (bvsdiv (bvadd (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x281) (_ bv2 32))))
-(let ((?x290 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283)))))))
-(let ((?x293 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x290)))
-(let ((?x296 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x293)))
-(let (($x298 (fp.gt ((_ to_fp 8 24) ?x296) ?x94)))
-(let ((?x300 (ite $x298 ?x283 ?x281)))
-(let ((?x302 (bvsdiv (bvadd (ite $x298 (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x283) ?x300) (_ bv2 32))))
-(let ((?x309 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302)))))))
-(let ((?x312 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x309)))
-(let ((?x315 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x312)))
-(let (($x317 (fp.gt ((_ to_fp 8 24) ?x315) ?x94)))
-(let ((?x319 (ite $x317 ?x302 ?x300)))
-(let ((?x261 (ite $x260 ?x242 ?x245)))
-(let ((?x280 (ite $x279 ?x261 ?x264)))
-(let ((?x299 (ite $x298 ?x280 ?x283)))
-(let ((?x318 (ite $x317 ?x299 ?x302)))
-(let ((?x321 (bvsdiv (bvadd ?x318 ?x319) (_ bv2 32))))
-(let ((?x328 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321)))))))
-(let ((?x331 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) ?x328)))
-(let ((?x334 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) ?x331)))
-(let (($x336 (fp.gt ((_ to_fp 8 24) ?x334) ?x94)))
-(let ((?x341 ((_ sign_extend 32) (bvsdiv (bvadd (ite $x336 ?x318 ?x321) (ite $x336 ?x321 ?x319)) (_ bv2 32)))))
-(let ((?x343 ((_ extract 31 0) (bvmul (_ bv4 64) ?x341))))
-(let ((?x350 (concat (select data0 (bvadd (_ bv2 32) ?x343)) (concat (select data0 (bvadd (_ bv1 32) ?x343)) (select data0 ?x343)))))
-(let (($x356 (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x343)) ?x350)) ?x94))))
-(not $x356)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+(declare-fun meters0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (fp.geq ?x31 ((_ to_fp 11 53) (_ bv0 64)))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (fp.leq ?x31 ((_ to_fp 11 53) (_ bv4652007308841189376 64)))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x41 ((_ sign_extend 32) ?x40)))
+ (let ((?x47 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41)))))
+ (let ((?x44 (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32))))
+ (not (= (_ bv0 32) (bvor ?x44 ?x47))))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x41 ((_ sign_extend 32) ?x40)))
+ (let ((?x47 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41)))))
+ (= (_ bv0 32) (bvor (bvudiv (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32)) (_ bv10 32)) ?x47))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x56 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
+ (let ((?x62 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x56 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
+ (let ((?x64 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x62 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
+ (let ((?x65 ((_ sign_extend 32) ?x64)))
+ (let ((?x71 (bvor (bvudiv ((_ extract 31 0) ?x65) (_ bv10 32)) ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x65))))))
+ (not (= (_ bv0 32) ?x71)))))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+(let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+(let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+(let ((?x38 (fp.abs ?x31)))
+(let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+(let ((?x56 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
+(let ((?x62 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x56 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
+(let ((?x64 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x62 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
+(let ((?x79 ((_ sign_extend 32) (bvadd ((_ fp.to_sbv 32) roundTowardZero ?x62) (bvmul (_ bv4294967196 32) ?x64)))))
+(not (not (bvult (_ bv9223372036854775807 64) ?x79)))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_ABVFP/query.69.smt2 b/UnitTests/unsat/QF_ABVFP/query.69.smt2
index f25d94f001eb523bb3f68771386e81f0df26567d..381bafe929ab9665cac49c7b594d637ecae4f0ba 100644
--- a/UnitTests/unsat/QF_ABVFP/query.69.smt2
+++ b/UnitTests/unsat/QF_ABVFP/query.69.smt2
@@ -6,223 +6,76 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
+Corresponding query: An equisatisfiable query (arrays replaced with bitvectors) is available at QF_BVFP/20170428-Liew-KLEE/aachen_real_wxpro_tostr.x86_64/query.69.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun data0 () (Array (_ BitVec 32) (_ BitVec 8)))
-(declare-fun elem1 () (Array (_ BitVec 32) (_ BitVec 8)))
-(assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (not (fp.isNaN ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))
-(assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.isNaN ?x33)))))
-(assert
- (let ((?x15 (concat (select data0 (_ bv2 32)) (concat (select data0 (_ bv1 32)) (select data0 (_ bv0 32))))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.lt ?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv3 32)) ?x15))))))))
-(assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.isNaN ?x49)))))
-(assert
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.lt ?x49 ?x33)))))))
-(assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.isNaN ?x65)))))
-(assert
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.lt ?x65 ?x49)))))))
-(assert
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.isNaN ?x81)))))
-(assert
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.lt ?x81 ?x65)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x29 (concat (select data0 (_ bv6 32)) (concat (select data0 (_ bv5 32)) (select data0 (_ bv4 32))))))
- (let ((?x33 ((_ to_fp 8 24) (concat (select data0 (_ bv7 32)) ?x29))))
- (not (fp.eq ?x33 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (not (fp.eq ?x49 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x61 (concat (select data0 (_ bv14 32)) (concat (select data0 (_ bv13 32)) (select data0 (_ bv12 32))))))
- (let ((?x65 ((_ to_fp 8 24) (concat (select data0 (_ bv15 32)) ?x61))))
- (not (fp.eq ?x65 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x77 (concat (select data0 (_ bv18 32)) (concat (select data0 (_ bv17 32)) (select data0 (_ bv16 32))))))
- (let ((?x81 ((_ to_fp 8 24) (concat (select data0 (_ bv19 32)) ?x77))))
- (not (fp.eq ?x81 ?x94)))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x127 (bvsdiv (bvadd ?x124 ?x125) (_ bv2 32))))
- (let ((?x130 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ?x130)) (concat (select data0 (bvadd (_ bv1 32) ?x130)) (select data0 ?x130)))))
- (not (fp.eq ((_ to_fp 8 24) (concat (select data0 (bvadd (_ bv3 32) ?x130)) ?x137)) ?x94))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
- (let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
- (let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
- (let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
- (let (($x103 (fp.gt ?x49 ?x94)))
- (let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
- (let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
- (let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
- (let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
- (let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
- (let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
- (let ((?x125 (ite $x123 ?x107 ?x105)))
- (let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
- (let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
- (let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
- (let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
- (let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
- (let ((?x146 (ite $x144 ?x127 ?x125)))
- (let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
- (let ((?x124 (ite $x123 ?x104 ?x107)))
- (let ((?x145 (ite $x144 ?x124 ?x127)))
- (not (= ?x145 ?x146))))))))))))))))))))))))
-(assert
- (let ((?x91 (concat (select elem1 (_ bv2 32)) (concat (select elem1 (_ bv1 32)) (select elem1 (_ bv0 32))))))
-(let ((?x94 ((_ to_fp 8 24) (concat (select elem1 (_ bv3 32)) ?x91))))
-(let ((?x45 (concat (select data0 (_ bv10 32)) (concat (select data0 (_ bv9 32)) (select data0 (_ bv8 32))))))
-(let ((?x49 ((_ to_fp 8 24) (concat (select data0 (_ bv11 32)) ?x45))))
-(let (($x103 (fp.gt ?x49 ?x94)))
-(let ((?x105 (ite $x103 (_ bv2 32) (_ bv5 32))))
-(let ((?x107 (bvsdiv (bvadd (ite $x103 (_ bv0 32) (_ bv2 32)) ?x105) (_ bv2 32))))
-(let ((?x115 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107)))))))
-(let ((?x118 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x115)))
-(let ((?x121 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x107))))) ?x118)))
-(let (($x123 (fp.gt ((_ to_fp 8 24) ?x121) ?x94)))
-(let ((?x125 (ite $x123 ?x107 ?x105)))
-(let ((?x127 (bvsdiv (bvadd (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x125) (_ bv2 32))))
-(let ((?x134 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127)))))))
-(let ((?x137 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x134)))
-(let ((?x140 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x127))))) ?x137)))
-(let (($x144 (fp.gt ((_ to_fp 8 24) ?x140) ?x94)))
-(let ((?x146 (ite $x144 ?x127 ?x125)))
-(let ((?x150 (bvsdiv (bvadd (ite $x144 (ite $x123 (ite $x103 (_ bv0 32) (_ bv2 32)) ?x107) ?x127) ?x146) (_ bv2 32))))
-(let ((?x157 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150)))))))
-(let ((?x160 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x157)))
-(let ((?x163 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x150))))) ?x160)))
-(let (($x165 (fp.gt ((_ to_fp 8 24) ?x163) ?x94)))
-(let ((?x167 (ite $x165 ?x150 ?x146)))
-(let ((?x104 (ite $x103 (_ bv0 32) (_ bv2 32))))
-(let ((?x124 (ite $x123 ?x104 ?x107)))
-(let ((?x145 (ite $x144 ?x124 ?x127)))
-(let ((?x166 (ite $x165 ?x145 ?x150)))
-(let ((?x169 (bvsdiv (bvadd ?x166 ?x167) (_ bv2 32))))
-(let ((?x176 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169)))))))
-(let ((?x179 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x176)))
-(let ((?x182 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x169))))) ?x179)))
-(let (($x184 (fp.gt ((_ to_fp 8 24) ?x182) ?x94)))
-(let ((?x186 (ite $x184 ?x169 ?x167)))
-(let ((?x188 (bvsdiv (bvadd (ite $x184 ?x166 ?x169) ?x186) (_ bv2 32))))
-(let ((?x195 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188)))))))
-(let ((?x198 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x195)))
-(let ((?x201 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x188))))) ?x198)))
-(let (($x203 (fp.gt ((_ to_fp 8 24) ?x201) ?x94)))
-(let ((?x205 (ite $x203 ?x188 ?x186)))
-(let ((?x207 (bvsdiv (bvadd (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x205) (_ bv2 32))))
-(let ((?x214 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207)))))))
-(let ((?x217 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x214)))
-(let ((?x220 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x207))))) ?x217)))
-(let (($x222 (fp.gt ((_ to_fp 8 24) ?x220) ?x94)))
-(let ((?x224 (ite $x222 ?x207 ?x205)))
-(let ((?x226 (bvsdiv (bvadd (ite $x222 (ite $x203 (ite $x184 ?x166 ?x169) ?x188) ?x207) ?x224) (_ bv2 32))))
-(let ((?x233 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226)))))))
-(let ((?x236 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x233)))
-(let ((?x239 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x226))))) ?x236)))
-(let (($x241 (fp.gt ((_ to_fp 8 24) ?x239) ?x94)))
-(let ((?x243 (ite $x241 ?x226 ?x224)))
-(let ((?x185 (ite $x184 ?x166 ?x169)))
-(let ((?x204 (ite $x203 ?x185 ?x188)))
-(let ((?x223 (ite $x222 ?x204 ?x207)))
-(let ((?x242 (ite $x241 ?x223 ?x226)))
-(let ((?x245 (bvsdiv (bvadd ?x242 ?x243) (_ bv2 32))))
-(let ((?x252 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245)))))))
-(let ((?x255 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x252)))
-(let ((?x258 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x245))))) ?x255)))
-(let (($x260 (fp.gt ((_ to_fp 8 24) ?x258) ?x94)))
-(let ((?x262 (ite $x260 ?x245 ?x243)))
-(let ((?x264 (bvsdiv (bvadd (ite $x260 ?x242 ?x245) ?x262) (_ bv2 32))))
-(let ((?x271 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264)))))))
-(let ((?x274 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x271)))
-(let ((?x277 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x264))))) ?x274)))
-(let (($x279 (fp.gt ((_ to_fp 8 24) ?x277) ?x94)))
-(let ((?x281 (ite $x279 ?x264 ?x262)))
-(let ((?x283 (bvsdiv (bvadd (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x281) (_ bv2 32))))
-(let ((?x290 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283)))))))
-(let ((?x293 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x290)))
-(let ((?x296 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x283))))) ?x293)))
-(let (($x298 (fp.gt ((_ to_fp 8 24) ?x296) ?x94)))
-(let ((?x300 (ite $x298 ?x283 ?x281)))
-(let ((?x302 (bvsdiv (bvadd (ite $x298 (ite $x279 (ite $x260 ?x242 ?x245) ?x264) ?x283) ?x300) (_ bv2 32))))
-(let ((?x309 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302)))))))
-(let ((?x312 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x309)))
-(let ((?x315 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x302))))) ?x312)))
-(let (($x317 (fp.gt ((_ to_fp 8 24) ?x315) ?x94)))
-(let ((?x319 (ite $x317 ?x302 ?x300)))
-(let ((?x261 (ite $x260 ?x242 ?x245)))
-(let ((?x280 (ite $x279 ?x261 ?x264)))
-(let ((?x299 (ite $x298 ?x280 ?x283)))
-(let ((?x318 (ite $x317 ?x299 ?x302)))
-(let ((?x321 (bvsdiv (bvadd ?x318 ?x319) (_ bv2 32))))
-(let ((?x328 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321)))))))
-(let ((?x331 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) ?x328)))
-(let ((?x334 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x321))))) ?x331)))
-(let (($x336 (fp.gt ((_ to_fp 8 24) ?x334) ?x94)))
-(let ((?x338 (ite $x336 ?x321 ?x319)))
-(let ((?x340 (bvsdiv (bvadd (ite $x336 ?x318 ?x321) ?x338) (_ bv2 32))))
-(let ((?x347 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x340))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x340)))))))
-(let ((?x350 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x340))))) ?x347)))
-(let ((?x353 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x340))))) ?x350)))
-(let (($x355 (fp.gt ((_ to_fp 8 24) ?x353) ?x94)))
-(let ((?x357 (ite $x355 ?x340 ?x338)))
-(let ((?x359 (bvsdiv (bvadd (ite $x355 (ite $x336 ?x318 ?x321) ?x340) ?x357) (_ bv2 32))))
-(let ((?x366 (concat (select data0 (bvadd (_ bv1 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x359))))) (select data0 ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x359)))))))
-(let ((?x369 (concat (select data0 (bvadd (_ bv2 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x359))))) ?x366)))
-(let ((?x372 (concat (select data0 (bvadd (_ bv3 32) ((_ extract 31 0) (bvmul (_ bv4 64) ((_ sign_extend 32) ?x359))))) ?x369)))
-(let (($x374 (fp.gt ((_ to_fp 8 24) ?x372) ?x94)))
-(let (($x377 (= (ite $x374 (ite $x355 (ite $x336 ?x318 ?x321) ?x340) ?x359) (ite $x374 ?x359 ?x357))))
-(not (not $x377)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
+(declare-fun meters0 () (Array (_ BitVec 32) (_ BitVec 8)))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (fp.geq ?x31 ((_ to_fp 11 53) (_ bv0 64)))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (fp.leq ?x31 ((_ to_fp 11 53) (_ bv4652007308841189376 64)))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x41 ((_ sign_extend 32) ?x40)))
+ (let ((?x47 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41)))))
+ (let ((?x44 (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32))))
+ (not (= (_ bv0 32) (bvor ?x44 ?x47))))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x41 ((_ sign_extend 32) ?x40)))
+ (let ((?x47 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x41)))))
+ (= (_ bv0 32) (bvor (bvudiv (bvudiv ((_ extract 31 0) ?x41) (_ bv10 32)) (_ bv10 32)) ?x47))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x56 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
+ (let ((?x62 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x56 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
+ (let ((?x64 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x62 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
+ (let ((?x65 ((_ sign_extend 32) ?x64)))
+ (let ((?x71 (bvor (bvudiv ((_ extract 31 0) ?x65) (_ bv10 32)) ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x65))))))
+ (not (= (_ bv0 32) ?x71)))))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+ (let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+ (let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+ (let ((?x38 (fp.abs ?x31)))
+ (let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+ (let ((?x56 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
+ (let ((?x62 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x56 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
+ (let ((?x64 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x62 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
+ (let ((?x78 ((_ sign_extend 32) (bvadd ((_ fp.to_sbv 32) roundTowardZero ?x62) (bvmul (_ bv4294967196 32) ?x64)))))
+ (let ((?x80 (bvudiv ((_ extract 31 0) ?x78) (_ bv10 32))))
+ (not (= (_ bv0 32) (bvor ?x80 ((_ extract 31 0) (concat (_ bv0 32) ((_ extract 63 32) ?x78)))))))))))))))))
+(assert
+ (let ((?x15 (concat (select meters0 (_ bv2 32)) (concat (select meters0 (_ bv1 32)) (select meters0 (_ bv0 32))))))
+(let ((?x24 (concat (select meters0 (_ bv5 32)) (concat (select meters0 (_ bv4 32)) (concat (select meters0 (_ bv3 32)) ?x15)))))
+(let ((?x31 ((_ to_fp 11 53) (concat (select meters0 (_ bv7 32)) (concat (select meters0 (_ bv6 32)) ?x24)))))
+(let ((?x38 (fp.abs ?x31)))
+(let ((?x40 ((_ fp.to_sbv 32) roundTowardZero ?x38)))
+(let ((?x56 (fp.sub roundNearestTiesToEven ?x38 ((_ to_fp 11 53) roundNearestTiesToEven ?x40))))
+(let ((?x62 (fp.mul roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x56 ((_ to_fp 11 53) (_ bv4636737291354636288 64))) ((_ to_fp 11 53) (_ bv4633641066610819072 64)))))
+(let ((?x64 ((_ fp.to_sbv 32) roundTowardZero (fp.div roundNearestTiesToEven ?x62 ((_ to_fp 11 53) (_ bv4636737291354636288 64))))))
+(let ((?x78 ((_ sign_extend 32) (bvadd ((_ fp.to_sbv 32) roundTowardZero ?x62) (bvmul (_ bv4294967196 32) ?x64)))))
+(let ((?x80 (bvudiv ((_ extract 31 0) ?x78) (_ bv10 32))))
+(not (bvult (bvurem ?x80 (_ bv10 32)) (_ bv10 32))))))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_BVFP/int-to-float2-main.smt2 b/UnitTests/unsat/QF_BVFP/int-to-float2-main.smt2
index 3d1a5f4ef8c7a64f5985a32fb56e1e3bb981acd6..34ba7ec8876df6385ba721537942eca21ee9295b 100644
--- a/UnitTests/unsat/QF_BVFP/int-to-float2-main.smt2
+++ b/UnitTests/unsat/QF_BVFP/int-to-float2-main.smt2
@@ -1,8 +1,10 @@
+(set-info :status unsat)
 (set-info :smt-lib-version 2.6)
 (set-logic QF_BVFP)
 (set-info :source |ESBMC floating-point test cases contributed by Mikhail Ramalho.|)
 (set-info :category "crafted")
 (set-info :status unsat)
+(set-option :produce-models true)
 
 (declare-fun |c::main::$tmp::return_value_nondet_float$1@1!0&0#1|
              ()
diff --git a/UnitTests/unsat/QF_BVFP/query.29.smt2 b/UnitTests/unsat/QF_BVFP/query.29.smt2
index 776a4fc7ed98221756daed84e999ef31545a492e..76bc30b20fd2c2e22616328be6582f36777f61ac 100644
--- a/UnitTests/unsat/QF_BVFP/query.29.smt2
+++ b/UnitTests/unsat/QF_BVFP/query.29.smt2
@@ -6,19 +6,18 @@ Generated on: 2017-4-28
 Generator: KLEE
 Application: Branch satisfiability check for symbolic execution of C programs
 Target solver: Z3 or MathSAT5
-Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/aachen_syn_inf_float.x86_64/query.29.smt2
+Corresponding query: An equisatisfiable query (bitvectors replaced with reads from arrays of bitvectors) is available at QF_ABVFP/20170428-Liew-KLEE/aachen_syn_inf_double.x86_64/query.29.smt2
 |)
 (set-info :license "https://creativecommons.org/licenses/by/4.0/")
 (set-info :category "industrial")
 (set-info :status unsat)
-(declare-fun f_1_ackermann!0 () (_ BitVec 32))
+(declare-fun f_1_ackermann!0 () (_ BitVec 64))
 (assert
- (not (fp.isNaN ((_ to_fp 8 24) f_1_ackermann!0))))
+ (not (fp.isNaN ((_ to_fp 11 53) f_1_ackermann!0))))
 (assert
- (let ((?x16 (fp.add roundNearestTiesToEven ((_ to_fp 11 53) roundNearestTiesToEven (fp.abs ((_ to_fp 8 24) f_1_ackermann!0))) ((_ to_fp 11 53) (_ bv4764036703148834816 64)))))
-(let ((?x17 ((_ to_fp 8 24) roundNearestTiesToEven ?x16)))
-(let ((?x18 (fp.mul roundNearestTiesToEven ?x17 ?x17)))
-(let ((?x22 (fp.add roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x18 ?x18) ((_ to_fp 8 24) (_ bv1065353216 32)))))
-(not (not (fp.isNaN (fp.add roundNearestTiesToEven ?x22 ((_ to_fp 8 24) (_ bv4286578687 32)))))))))))
+ (let ((?x15 (fp.add roundNearestTiesToEven (fp.abs ((_ to_fp 11 53) f_1_ackermann!0)) ((_ to_fp 11 53) (_ bv5781251510991923850 64)))))
+(let ((?x16 (fp.mul roundNearestTiesToEven ?x15 ?x15)))
+(let ((?x20 (fp.add roundNearestTiesToEven (fp.mul roundNearestTiesToEven ?x16 ?x16) ((_ to_fp 11 53) (_ bv4607182418800017408 64)))))
+(not (not (fp.isNaN (fp.add roundNearestTiesToEven ?x20 ((_ to_fp 11 53) (_ bv18442240474082181119 64))))))))))
 (check-sat)
 (exit)
diff --git a/UnitTests/unsat/QF_FP/test_v3_r8_vr10_c1_s18214.smt2 b/UnitTests/unsat/QF_FP/test_v3_r8_vr10_c1_s18214.smt2
deleted file mode 100644
index 77faba57bbfc74b8ac5a434f1a0ebfc05c71f7bf..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FP/test_v3_r8_vr10_c1_s18214.smt2
+++ /dev/null
@@ -1,128 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FP)
-(set-info :category "crafted")
-(set-info :source |Alberto Griggio <griggio@fbk.eu>. These benchmarks were used for the evaluation in the following paper: L. Haller, A. Griggio, M. Brain, D. Kroening: Deciding floating-point logic with systematic abstraction. FMCAD 2012. Real-numbered literals have been automatically translated by MathSAT|)
-(set-info :status unsat)
-;; MathSAT API call trace
-;; generated on 05/20/15 17:24:55
-
-(declare-fun x0 () (_ FloatingPoint 8 24))
-(declare-fun x1 () (_ FloatingPoint 8 24))
-(declare-fun x2 () (_ FloatingPoint 8 24))
-(define-fun _t_10 () (_ FloatingPoint 8 24) (fp #b0 #b10000010 #b01000000000000000000000))
-(define-fun _t_12 () (_ FloatingPoint 8 24) (fp #b1 #b10000010 #b01000000000000000000000))
-(define-fun _t_13 () (_ FloatingPoint 8 24) x0)
-(define-fun _t_14 () Bool (fp.leq _t_12 _t_13))
-(define-fun _t_15 () Bool (fp.leq _t_13 _t_10))
-(define-fun _t_16 () Bool (and _t_14 _t_15))
-(assert _t_16)
-(define-fun _t_17 () (_ FloatingPoint 8 24) x1)
-(define-fun _t_18 () Bool (fp.leq _t_12 _t_17))
-(define-fun _t_19 () Bool (fp.leq _t_17 _t_10))
-(define-fun _t_20 () Bool (and _t_18 _t_19))
-(assert _t_20)
-(define-fun _t_21 () (_ FloatingPoint 8 24) x2)
-(define-fun _t_22 () Bool (fp.leq _t_12 _t_21))
-(define-fun _t_23 () Bool (fp.leq _t_21 _t_10))
-(define-fun _t_24 () Bool (and _t_22 _t_23))
-(assert _t_24)
-(define-fun _t_3 () RoundingMode RNE)
-(define-fun _t_26 () (_ FloatingPoint 8 24) (fp #b0 #b00000000 #b00000000000000000000000))
-(define-fun _t_28 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b00101000111101011100001))
-(define-fun _t_30 () (_ FloatingPoint 8 24) (fp #b0 #b01111101 #b11010100111111011111001))
-(define-fun _t_31 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_30))
-(define-fun _t_32 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_31))
-(define-fun _t_34 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b11101011100001010001111))
-(define-fun _t_35 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_34))
-(define-fun _t_36 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_32 _t_35))
-(define-fun _t_38 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b01101000011100101011000))
-(define-fun _t_39 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_38))
-(define-fun _t_40 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_36 _t_39))
-(define-fun _t_41 () Bool (fp.leq _t_28 _t_40))
-(assert _t_41)
-(define-fun _t_43 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b01100110011001100110010))
-(define-fun _t_45 () (_ FloatingPoint 8 24) (fp #b0 #b01111110 #b00100000110001001001110))
-(define-fun _t_46 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_45))
-(define-fun _t_47 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_46))
-(define-fun _t_50 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b01100011010100111111100))
-(define-fun _t_51 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_50))
-(define-fun _t_52 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_47 _t_51))
-(define-fun _t_55 () (_ FloatingPoint 8 24) (fp #b1 #b01111101 #b10100110111010010111100))
-(define-fun _t_56 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_55))
-(define-fun _t_57 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_52 _t_56))
-(define-fun _t_58 () Bool (fp.leq _t_57 _t_43))
-(assert _t_58)
-(define-fun _t_60 () (_ FloatingPoint 8 24) (fp #b0 #b01111110 #b00011000100100110111001))
-(define-fun _t_63 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b01000110001001001101110))
-(define-fun _t_64 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_63))
-(define-fun _t_65 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_64))
-(define-fun _t_67 () (_ FloatingPoint 8 24) (fp #b0 #b01111101 #b10010001011010000111001))
-(define-fun _t_68 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_67))
-(define-fun _t_69 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_65 _t_68))
-(define-fun _t_72 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b11101111100111011011001))
-(define-fun _t_73 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_72))
-(define-fun _t_74 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_69 _t_73))
-(define-fun _t_75 () Bool (fp.leq _t_60 _t_74))
-(assert _t_75)
-(define-fun _t_78 () (_ FloatingPoint 8 24) (fp #b1 #b01111011 #b10010001011010000111000))
-(define-fun _t_80 () (_ FloatingPoint 8 24) (fp #b0 #b01111110 #b11000000100000110001001))
-(define-fun _t_81 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_80))
-(define-fun _t_82 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_81))
-(define-fun _t_84 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b11000010100011110101101))
-(define-fun _t_85 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_84))
-(define-fun _t_86 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_82 _t_85))
-(define-fun _t_89 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b11000010000011000100100))
-(define-fun _t_90 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_89))
-(define-fun _t_91 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_86 _t_90))
-(define-fun _t_92 () Bool (fp.leq _t_91 _t_78))
-(assert _t_92)
-(define-fun _t_95 () (_ FloatingPoint 8 24) (fp #b1 #b01111010 #b01000111101011100001001))
-(define-fun _t_97 () (_ FloatingPoint 8 24) (fp #b0 #b01111101 #b10010000011000100100110))
-(define-fun _t_98 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_97))
-(define-fun _t_99 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_98))
-(define-fun _t_101 () (_ FloatingPoint 8 24) (fp #b0 #b01111110 #b11100000010000011000100))
-(define-fun _t_102 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_101))
-(define-fun _t_103 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_99 _t_102))
-(define-fun _t_105 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b01101010011111101111100))
-(define-fun _t_106 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_105))
-(define-fun _t_107 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_103 _t_106))
-(define-fun _t_108 () Bool (fp.leq _t_95 _t_107))
-(assert _t_108)
-(define-fun _t_110 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b11100001010001111010110))
-(define-fun _t_112 () (_ FloatingPoint 8 24) (fp #b0 #b01111101 #b00001100010010011011100))
-(define-fun _t_113 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_112))
-(define-fun _t_114 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_113))
-(define-fun _t_116 () (_ FloatingPoint 8 24) (fp #b0 #b01111110 #b01011001100110011001100))
-(define-fun _t_117 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_116))
-(define-fun _t_118 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_114 _t_117))
-(define-fun _t_121 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b00111101111100111011011))
-(define-fun _t_122 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_121))
-(define-fun _t_123 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_118 _t_122))
-(define-fun _t_124 () Bool (fp.leq _t_110 _t_123))
-(assert _t_124)
-(define-fun _t_127 () (_ FloatingPoint 8 24) (fp #b1 #b01111001 #b01101000011100101010111))
-(define-fun _t_130 () (_ FloatingPoint 8 24) (fp #b1 #b01111101 #b10000001000001100010010))
-(define-fun _t_131 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_130))
-(define-fun _t_132 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_131))
-(define-fun _t_135 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b00001001001101110100110))
-(define-fun _t_136 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_135))
-(define-fun _t_137 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_132 _t_136))
-(define-fun _t_139 () (_ FloatingPoint 8 24) (fp #b0 #b01111100 #b00110001001001101110101))
-(define-fun _t_140 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_139))
-(define-fun _t_141 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_137 _t_140))
-(define-fun _t_142 () Bool (fp.leq _t_141 _t_127))
-(assert _t_142)
-(define-fun _t_145 () (_ FloatingPoint 8 24) (fp #b1 #b01111010 #b10010001011010000111000))
-(define-fun _t_148 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b01010110000001000001100))
-(define-fun _t_149 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_13 _t_148))
-(define-fun _t_150 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_26 _t_149))
-(define-fun _t_152 () (_ FloatingPoint 8 24) (fp #b0 #b01111101 #b00001110010101100000010))
-(define-fun _t_153 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_17 _t_152))
-(define-fun _t_154 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_150 _t_153))
-(define-fun _t_157 () (_ FloatingPoint 8 24) (fp #b1 #b01111110 #b00011010100111111011110))
-(define-fun _t_158 () (_ FloatingPoint 8 24) (fp.mul _t_3 _t_21 _t_157))
-(define-fun _t_159 () (_ FloatingPoint 8 24) (fp.add _t_3 _t_154 _t_158))
-(define-fun _t_160 () Bool (fp.leq _t_159 _t_145))
-(assert _t_160)
-(check-sat)
-(exit)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_10_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_10_unsat.smt2
deleted file mode 100644
index f7423503ac437f489330d47ffb64457577464a30..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_10_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* 3.0 x x) (* 4.0 y y) (* 4.0 x y)))
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_12_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_12_unsat.smt2
deleted file mode 100644
index dfb45a3aa14b16c4168fe595b5c76dd2568d4f0f..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_12_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(>= 0.0 (+ (* (- 1.0) x x) (* (- 1.0) y y) (* 2.0 x y)))
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_13_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_13_unsat.smt2
deleted file mode 100644
index 6682e098ebdb52578d58240388ca1fa73e10531a..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_13_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* 4.0 x x) (* 3.0 x) 1.0))
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_14_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_14_unsat.smt2
deleted file mode 100644
index 6682e098ebdb52578d58240388ca1fa73e10531a..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_14_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* 4.0 x x) (* 3.0 x) 1.0))
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_1_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_1_unsat.smt2
deleted file mode 100644
index 61e8ff9abcb05914ea773031e24503c9728a3d5b..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_1_unsat.smt2
+++ /dev/null
@@ -1,28 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(define-fun s2 () Real
-  (+ (+ (+ (- (* (* 1.9 x) x)
-	      (* y y))
-	   (* (* 2.0 x) y))
-	(* (* 1.1 x) x))
-     (* (* 4.0 y) y)))
-
-(assert (not
-        (=> (and (<= (- 2.0) x 2.0) (<= (- 2.0) y 2.0)) (<= 0.0 s2 32.0))
-))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_2_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_2_unsat.smt2
deleted file mode 100644
index 711b2ee00ede47add8c66742dc0942042f9216e5..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_2_unsat.smt2
+++ /dev/null
@@ -1,26 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(define-fun s2r () Real
-  (+ (* (+ x y) (+ x y))
-     (* 2.0 x x)
-     (* 2.0 y y)))
-
-(assert (not
-        (=> (and (<= (- 2.0) x 2.0) (<= (- 2.0) y 2.0)) (<= 0.0 s2r 32.0))
-))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_3_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_3_unsat.smt2
deleted file mode 100644
index 02c87c8fe555d2c80f59a482c39d197376494540..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_3_unsat.smt2
+++ /dev/null
@@ -1,33 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(define-fun s2 () Real
-  (+ (+ (+ (- (* (* 1.9 x) x)
-	      (* y y))
-	   (* (* 2.0 x) y))
-	(* (* 1.1 x) x))
-     (* (* 4.0 y) y)))
-
-(define-fun s2r () Real
-  (+ (* (+ x y) (+ x y))
-     (* 2.0 x x)
-     (* 2.0 y y)))
-
-(assert (not
-	(= s2 s2r)
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_3_unsat.smt2~ b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_3_unsat.smt2~
deleted file mode 100644
index 30718344006d5bfb637c9ebae1f82051f6698992..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_3_unsat.smt2~
+++ /dev/null
@@ -1,25 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(define-fun s2 () Real
-  (+ (+ (+ (- (* (* 1.9 x) x)
-	      (* y y))
-	   (* (* 2.0 x) y))
-	(* (* 1.1 x) x))
-     (* (* 4.0 y) y)))
-
-(define-fun s2r () Real
-  (+ (* (+ x y) (+ x y))
-     (* 2.0 x x)
-     (* 2.0 y y)))
-
-(assert (not
-	(= s2 s2r)
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_4_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_4_unsat.smt2
deleted file mode 100644
index fbb0baee4ef1925f47e2a7b60c060d42f6895225..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_4_unsat.smt2
+++ /dev/null
@@ -1,21 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(= (- (+ (* x x) (* y y)) (* 2.0 x y)) (* (- x y) (+ (- y) x)))
-))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_7_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_7_unsat.smt2
deleted file mode 100644
index 67679541f479d065faa0ae79df1240f3bedc1b5e..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_7_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(>= 0.0 (- (+ (* x x) (* y y) (* (- 2.0) x y))))
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_8_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_8_unsat.smt2
deleted file mode 100644
index abfaa4660469eb3c973d843194fb78ede0b7f620..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_8_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* x x) (* y y) (* (- 2.0) x y)))
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_9_unsat.smt2 b/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_9_unsat.smt2
deleted file mode 100644
index ccbdf5eb7e5a1b7deb4914b6213119240bb43862..0000000000000000000000000000000000000000
--- a/UnitTests/unsat/QF_FPNRA/sq_id_fp_nra_9_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(>= 0.0 (- (+ (* 3.0 x x) (* 4.0 y y) (* 4.0 x y))))
-	))
-(check-sat)
diff --git a/UnitTests/unsat/QF_LIA/bignum_lia1.smt2 b/UnitTests/unsat/QF_LIA/bignum_lia1.smt2
index 555b3e66b6e4469cba31e4024ceb6bf42d425113..b0beb50de77d04b01565be282a8377c8304bf4a8 100644
--- a/UnitTests/unsat/QF_LIA/bignum_lia1.smt2
+++ b/UnitTests/unsat/QF_LIA/bignum_lia1.smt2
@@ -10,6 +10,19 @@
 (declare-fun x4 () Int)
 (declare-fun x5 () Int)
 (declare-fun x6 () Int)
-(assert (and (or (>= x1 1000) (>= x1 1002)) (or (>= x2 (* 1230 x1)) (>= x2 (* 1003 x1))) (or (>= x3 (* 1310 x2)) (>= x3 (* 1999 x2))) (or (>= x4 (* 4000 x3)) (>= x4 (* 8000 x3))) (or (<= x5 (* (- 4000) x4)) (<= x5 (* (- 8000) x4))) (or (>= x6 (* (- 3) x5)) (>= x6 (* (- 2) x5))) (< x6 0)))
+(assert (and 
+	 (or (>= x1 1000)
+	     (>= x1 1002))
+	 (or (>= x2 (* 1230 x1))
+	     (>= x2 (* 1003 x1)))
+	 (or (>= x3 (* 1310 x2))
+	     (>= x3 (* 1999 x2)))
+	 (or (>= x4 (* 4000 x3))
+	     (>= x4 (* 8000 x3)))
+	 (or (<= x5 (* (- 4000) x4))
+	     (<= x5 (* (- 8000) x4)))
+	 (or (>= x6 (* (- 3) x5))
+	     (>= x6 (* (- 2) x5)))
+	 (< x6 0)))
 (check-sat)
 (exit)
diff --git a/tests/sat/square_id_fp_sat.smt2 b/tests/sat/square_id_fp_sat.smt2
new file mode 100644
index 0000000000000000000000000000000000000000..0c338851a823dfc53094ac9b4328337a1fb9ca3c
--- /dev/null
+++ b/tests/sat/square_id_fp_sat.smt2
@@ -0,0 +1,50 @@
+
+(set-info :smt-lib-version 2.6)
+(set-logic QF_FP)
+(set-info :category |Crafted from GATeL POs|)
+(set-info :status sat)
+
+(declare-fun dx () Float64)
+(declare-fun dy () Float64)
+
+(define-fun isFinite ((F Float64)) Bool
+  (and (not (fp.isInfinite F))
+       (not (fp.isNaN F))))
+
+(define-fun one () Float64
+  ((_ to_fp 11 53) (_ bv4607182418800017408 64)))
+
+(define-fun two () Float64
+  ((_ to_fp 11 53) (_ bv4611686018427387904 64)))
+
+(define-fun xpy2 () Float64
+  (fp.mul RNE (fp.add RNE dx dy) (fp.add RNE dx dy)))
+
+(define-fun id_xpy2 () Float64
+  (fp.add RNE (fp.add RNE (fp.mul RNE dx dx) (fp.mul RNE dy dy))
+	  (fp.mul RNE two (fp.mul RNE dx dy))))
+
+(define-fun isInsideAbsMax ((xx Float64) (max Float64)) Bool
+  (and
+   (isFinite xx)
+   (fp.leq (fp.neg max) xx max)))
+
+(define-fun diff () Float64
+  (fp.sub RNE xpy2 id_xpy2))
+
+(define-fun max_diff () Float64
+;; 2^-53
+  ((_ to_fp 11 53) (_ bv4368491638549381120 64)))
+ 
+(assert
+ (not
+  (=>
+   (and (isInsideAbsMax dx one)
+	(not (fp.isZero dx))
+	(isInsideAbsMax dy one)
+	(not (fp.isZero dy))
+	(isFinite diff))
+   (isInsideAbsMax diff max_diff))))
+
+(check-sat)
+
diff --git a/tests/sat/square_neg_id_fp_sat.smt2 b/tests/sat/square_neg_id_fp_sat.smt2
new file mode 100644
index 0000000000000000000000000000000000000000..311e5d200c8ee5e403eb00945081cc084fb508b2
--- /dev/null
+++ b/tests/sat/square_neg_id_fp_sat.smt2
@@ -0,0 +1,50 @@
+
+(set-info :smt-lib-version 2.6)
+(set-logic ALL)
+(set-info :category |Crafted from GATeL POs|)
+;(set-info :status sat)
+
+(declare-fun dx () Float64)
+(declare-fun dy () Float64)
+
+(define-fun isFinite ((F Float64)) Bool
+  (and (not (fp.isInfinite F))
+       (not (fp.isNaN F))))
+
+(define-fun one () Float64
+  ((_ to_fp 11 53) (_ bv4607182418800017408 64)))
+
+(define-fun two () Float64
+  (fp #b0 #b10000000000 #b0000000000000000000000000000000000000000000000000000))
+
+(define-fun xmy2 () Float64
+  (fp.mul RNE (fp.sub RNE dx dy) (fp.sub RNE dx dy)))
+
+(define-fun id_xmy2 () Float64
+  (fp.sub RNE (fp.add RNE (fp.mul RNE dx dx) (fp.mul RNE dy dy))
+	  (fp.mul RNE two (fp.mul RNE dx dy))))
+
+(define-fun isInsideAbsMax ((x Float64) (max Float64)) Bool
+  (and
+   (isFinite x)
+   (fp.leq (fp.neg max) x max)))
+
+(define-fun diff () Float64
+  (fp.sub RNE xmy2 id_xmy2))
+
+(define-fun max_diff () Float64
+;; 2^-53
+  ((_ to_fp 11 53) (_ bv4368491638549381120 64)))
+
+(assert
+ (not
+  (=>
+   (and (isInsideAbsMax dx one)
+	(not (fp.isZero dx))
+	(isInsideAbsMax dy one)
+	(not (fp.isZero dy))
+	(isFinite diff))
+   (isInsideAbsMax diff max_diff))))
+
+(check-sat)
+
diff --git a/tests/unsat/issue35.smt2 b/tests/unsat/issue35.smt2
deleted file mode 100644
index 4708a6d43a89c31247579597d4ff6f32c7f9f5c4..0000000000000000000000000000000000000000
--- a/tests/unsat/issue35.smt2
+++ /dev/null
@@ -1,18 +0,0 @@
-(set-info :status unsat)
-(set-logic ALL)
-(set-info :smt-lib-version 2.6)
-
-(declare-const a Int)
-(declare-const b Int)
-
-(define-fun mod1 ((x Int) (y Int)) Int
-  (ite (or (and (< 0 x) (< 0 y)) (and (< x 0) (< y 0)))
-       (colibri_crem x y)
-       (ite (= (colibri_crem x y) 0) 0 (+ (colibri_crem x y) y))))
-
-(define-fun same_sign ((x Int) (y Int)) Bool
-  (or (and (<= 0 x) (<= 0 y)) (and (<= x 0) (<= y 0))))
-
-(assert (not (= b 0)))
-(assert (not (same_sign (mod1 a b) b)))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_10_unsat.smt2 b/tests/unsat/sq_id_fp_nra_10_unsat.smt2
deleted file mode 100644
index f7423503ac437f489330d47ffb64457577464a30..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_10_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* 3.0 x x) (* 4.0 y y) (* 4.0 x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_12_unsat.smt2 b/tests/unsat/sq_id_fp_nra_12_unsat.smt2
deleted file mode 100644
index dfb45a3aa14b16c4168fe595b5c76dd2568d4f0f..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_12_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(>= 0.0 (+ (* (- 1.0) x x) (* (- 1.0) y y) (* 2.0 x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_13_unsat.smt2 b/tests/unsat/sq_id_fp_nra_13_unsat.smt2
deleted file mode 100644
index 6682e098ebdb52578d58240388ca1fa73e10531a..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_13_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* 4.0 x x) (* 3.0 x) 1.0))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_14_unsat.smt2 b/tests/unsat/sq_id_fp_nra_14_unsat.smt2
deleted file mode 100644
index 6682e098ebdb52578d58240388ca1fa73e10531a..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_14_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* 4.0 x x) (* 3.0 x) 1.0))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_1_unsat.smt2 b/tests/unsat/sq_id_fp_nra_1_unsat.smt2
deleted file mode 100644
index 61e8ff9abcb05914ea773031e24503c9728a3d5b..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_1_unsat.smt2
+++ /dev/null
@@ -1,28 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(define-fun s2 () Real
-  (+ (+ (+ (- (* (* 1.9 x) x)
-	      (* y y))
-	   (* (* 2.0 x) y))
-	(* (* 1.1 x) x))
-     (* (* 4.0 y) y)))
-
-(assert (not
-        (=> (and (<= (- 2.0) x 2.0) (<= (- 2.0) y 2.0)) (<= 0.0 s2 32.0))
-))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_2_unsat.smt2 b/tests/unsat/sq_id_fp_nra_2_unsat.smt2
deleted file mode 100644
index 711b2ee00ede47add8c66742dc0942042f9216e5..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_2_unsat.smt2
+++ /dev/null
@@ -1,26 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(define-fun s2r () Real
-  (+ (* (+ x y) (+ x y))
-     (* 2.0 x x)
-     (* 2.0 y y)))
-
-(assert (not
-        (=> (and (<= (- 2.0) x 2.0) (<= (- 2.0) y 2.0)) (<= 0.0 s2r 32.0))
-))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_3_unsat.smt2 b/tests/unsat/sq_id_fp_nra_3_unsat.smt2
deleted file mode 100644
index 02c87c8fe555d2c80f59a482c39d197376494540..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_3_unsat.smt2
+++ /dev/null
@@ -1,33 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(define-fun s2 () Real
-  (+ (+ (+ (- (* (* 1.9 x) x)
-	      (* y y))
-	   (* (* 2.0 x) y))
-	(* (* 1.1 x) x))
-     (* (* 4.0 y) y)))
-
-(define-fun s2r () Real
-  (+ (* (+ x y) (+ x y))
-     (* 2.0 x x)
-     (* 2.0 y y)))
-
-(assert (not
-	(= s2 s2r)
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_4_unsat.smt2 b/tests/unsat/sq_id_fp_nra_4_unsat.smt2
deleted file mode 100644
index fbb0baee4ef1925f47e2a7b60c060d42f6895225..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_4_unsat.smt2
+++ /dev/null
@@ -1,21 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(= (- (+ (* x x) (* y y)) (* 2.0 x y)) (* (- x y) (+ (- y) x)))
-))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_7_unsat.smt2 b/tests/unsat/sq_id_fp_nra_7_unsat.smt2
deleted file mode 100644
index 67679541f479d065faa0ae79df1240f3bedc1b5e..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_7_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(>= 0.0 (- (+ (* x x) (* y y) (* (- 2.0) x y))))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_8_unsat.smt2 b/tests/unsat/sq_id_fp_nra_8_unsat.smt2
deleted file mode 100644
index abfaa4660469eb3c973d843194fb78ede0b7f620..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_8_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(<= 0.0 (+ (* x x) (* y y) (* (- 2.0) x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_fp_nra_9_unsat.smt2 b/tests/unsat/sq_id_fp_nra_9_unsat.smt2
deleted file mode 100644
index ccbdf5eb7e5a1b7deb4914b6213119240bb43862..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_fp_nra_9_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_FPNRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun dx () Float64)
-(declare-fun dy () Float64)
-(define-fun x () Real
-  (fp.to_real dx))
-(define-fun y () Real
-  (fp.to_real dy))
-(define-fun isFinite ((F Float64)) Bool
-  (and (not (fp.isInfinite F))
-       (not (fp.isNaN F))))
-(assert (and (isFinite dx) (isFinite dy)))
-
-(assert (not
-	(>= 0.0 (- (+ (* 3.0 x x) (* 4.0 y y) (* 4.0 x y))))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_10_unsat.smt2 b/tests/unsat/sq_id_nra_10_unsat.smt2
deleted file mode 100644
index b93c0cb70a7ca6c8dedfa9707b82c7b7b084cf28..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_10_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(<= 0.0 (+ (* 3.0 x x) (* 4.0 y y) (* 4.0 x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_11_unsat.smt2 b/tests/unsat/sq_id_nra_11_unsat.smt2
deleted file mode 100644
index f4ca782ef0552b3420418f544b250c5cc64ef9ed..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_11_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(>= 0.0 (+ (* (- 1.0) x x) (* (- 1.0) y y) (* (- 2.0) x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_12_unsat.smat2 b/tests/unsat/sq_id_nra_12_unsat.smat2
deleted file mode 100644
index c059555626d26d921990a869b13661f0e76b1c9c..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_12_unsat.smat2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(>= 0.0 (+ (* (- 1.0) x x) (* (- 1.0) y y) (* 2.0 x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_13_unsat.smt2 b/tests/unsat/sq_id_nra_13_unsat.smt2
deleted file mode 100644
index beba7da3297d47bf1cf7588c1ee3b7b96ca1eb54..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_13_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(<= 0.0 (+ (* 4.0 x x) (* 3.0 x) 1.0))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_14_unsat.smt2 b/tests/unsat/sq_id_nra_14_unsat.smt2
deleted file mode 100644
index beba7da3297d47bf1cf7588c1ee3b7b96ca1eb54..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_14_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(<= 0.0 (+ (* 4.0 x x) (* 3.0 x) 1.0))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_15_unsat.smt2 b/tests/unsat/sq_id_nra_15_unsat.smt2
deleted file mode 100644
index 629138ad67c480a033e96fa2cbbbbd298698fe48..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_15_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(>= 0.0 (- (+ (* x x) (* (- 2.0) x) 1.0)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_16_unsat.smt2 b/tests/unsat/sq_id_nra_16_unsat.smt2
deleted file mode 100644
index 4eadc4967669188d1e7021e43e214206d2a33ed4..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_16_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(<= 0.0 (+ (* x x) x (/ 1.0 4.0)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_1_unsat.smt2 b/tests/unsat/sq_id_nra_1_unsat.smt2
deleted file mode 100644
index 87de4d64625d6eef7b41906fd61245f45c01c515..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_1_unsat.smt2
+++ /dev/null
@@ -1,20 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(define-fun s2 () Real
-  (+ (+ (+ (- (* (* 1.9 x) x)
-	      (* y y))
-	   (* (* 2.0 x) y))
-	(* (* 1.1 x) x))
-     (* (* 4.0 y) y)))
-
-(assert (not
-        (=> (and (<= (- 2.0) x 2.0) (<= (- 2.0) y 2.0)) (<= 0.0 s2 32.0))
-))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_2_unsat.smt2 b/tests/unsat/sq_id_nra_2_unsat.smt2
deleted file mode 100644
index 33e83e5890b1f234131afd247ee6d26977b4c996..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_2_unsat.smt2
+++ /dev/null
@@ -1,18 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(define-fun s2r () Real
-  (+ (* (+ x y) (+ x y))
-     (* 2.0 x x)
-     (* 2.0 y y)))
-
-(assert (not
-        (=> (and (<= (- 2.0) x 2.0) (<= (- 2.0) y 2.0)) (<= 0.0 s2r 32.0))
-))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_3_unsat.smt2 b/tests/unsat/sq_id_nra_3_unsat.smt2
deleted file mode 100644
index 30718344006d5bfb637c9ebae1f82051f6698992..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_3_unsat.smt2
+++ /dev/null
@@ -1,25 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(define-fun s2 () Real
-  (+ (+ (+ (- (* (* 1.9 x) x)
-	      (* y y))
-	   (* (* 2.0 x) y))
-	(* (* 1.1 x) x))
-     (* (* 4.0 y) y)))
-
-(define-fun s2r () Real
-  (+ (* (+ x y) (+ x y))
-     (* 2.0 x x)
-     (* 2.0 y y)))
-
-(assert (not
-	(= s2 s2r)
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_4_unsat.smt2 b/tests/unsat/sq_id_nra_4_unsat.smt2
deleted file mode 100644
index c1dee8727d348f32f8fadf2eddb28c2e7ced5f7d..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_4_unsat.smt2
+++ /dev/null
@@ -1,13 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(= (- (+ (* x x) (* y y)) (* 2.0 x y)) (* (- x y) (+ (- y) x)))
-))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_5_unsat.smt2 b/tests/unsat/sq_id_nra_5_unsat.smt2
deleted file mode 100644
index b06024beb9a3c9797588067180a33510eb38bfcf..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_5_unsat.smt2
+++ /dev/null
@@ -1,13 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(>= 0.0 (- (+ (* x x) (* y y) (* 2.0 x y))))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_6_unsat.smt2 b/tests/unsat/sq_id_nra_6_unsat.smt2
deleted file mode 100644
index 5d84c9c80d004e52013452b8b5e3f910f9296b5b..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_6_unsat.smt2
+++ /dev/null
@@ -1,13 +0,0 @@
-
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(<= 0.0 (+ (* x x) (* y y) (* 2.0 x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_7_unsat.smt2 b/tests/unsat/sq_id_nra_7_unsat.smt2
deleted file mode 100644
index a5b42331bb4b6feb96723b42ade12314ec8d8349..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_7_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(>= 0.0 (- (+ (* x x) (* y y) (* (- 2.0) x y))))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_8_unsat.smt2 b/tests/unsat/sq_id_nra_8_unsat.smt2
deleted file mode 100644
index d646ed5baf1d2d2aaee2aa8fa8fdf10cf3af9f2f..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_8_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(<= 0.0 (+ (* x x) (* y y) (* (- 2.0) x y)))
-	))
-(check-sat)
diff --git a/tests/unsat/sq_id_nra_9_unsat.smt2 b/tests/unsat/sq_id_nra_9_unsat.smt2
deleted file mode 100644
index c1b5fb1e2af6982444d2a888842e0cbe4fdbfab2..0000000000000000000000000000000000000000
--- a/tests/unsat/sq_id_nra_9_unsat.smt2
+++ /dev/null
@@ -1,12 +0,0 @@
-(set-info :smt-lib-version 2.6)
-(set-logic QF_NRA)
-(set-info :category |Crafted from GATeL POs|)
-(set-info :status unsat)
-
-(declare-fun x () Real)
-(declare-fun y () Real)
-
-(assert (not
-	(>= 0.0 (- (+ (* 3.0 x x) (* 4.0 y y) (* 4.0 x y))))
-	))
-(check-sat)