From 311051e8dc3c30503dcc6cfdf1a94e297695fe8a Mon Sep 17 00:00:00 2001 From: Anna Bolotina Date: Fri, 24 Nov 2023 15:36:22 +0100 Subject: [PATCH] fix btor2 models --- lion/benchmarks/insertion-sort-il9.btor2 | 166 +++--- lion/benchmarks/microbenchmark-il0.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il1.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il2.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il3.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il4.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il5.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il6.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il7.btor2 | 140 ++--- lion/benchmarks/microbenchmark-il8.btor2 | 140 ++--- ...rvoir-sampling-constant-workload-il0.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il1.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il2.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il3.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il4.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il5.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il6.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il7.btor2 | 146 ++--- ...rvoir-sampling-constant-workload-il8.btor2 | 146 ++--- lion/benchmarks/reservoir-sampling-il0.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il1.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il2.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il3.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il4.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il5.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il6.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il7.btor2 | 140 ++--- lion/benchmarks/reservoir-sampling-il8.btor2 | 140 ++--- .../benchmarks/tiny-program-bad-performance.c | 1 + .../benchmarks/tiny-program-bad-performance.m | Bin 8256 -> 8256 bytes .../tiny-program-good-performance-il2.btor2 | 513 ++++++++++-------- .../tiny-program-good-performance.c | 1 + .../tiny-program-good-performance.m | Bin 8256 -> 8256 bytes src/unicorn/mod.rs | 6 +- src/unicorn/optimize.rs | 4 +- 35 files changed, 2285 insertions(+), 2240 deletions(-) diff --git a/lion/benchmarks/insertion-sort-il9.btor2 b/lion/benchmarks/insertion-sort-il9.btor2 index 685eef0..818a1ea 100644 --- a/lion/benchmarks/insertion-sort-il9.btor2 +++ b/lion/benchmarks/insertion-sort-il9.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -730,14 +730,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -853,7 +853,7 @@ 36598001 uext 2 36598000 63 36598002 ite 2 16598000 36598001 36597204 36598400 eq 1 210 200 -36598401 not 1 1 36598400 +36598401 not 1 36598400 36598800 ite 2 16598800 200 36598002 36599200 constd 2 18446744073709551592 36599201 add 2 204 36599200 @@ -901,7 +901,7 @@ 36604801 uext 2 36604800 63 36604802 ite 2 16604800 36604801 36604001 36605200 eq 1 210 200 -36605201 not 1 1 36605200 +36605201 not 1 36605200 36605600 constd 2 18446744073709551568 36605601 add 2 216 36605600 36605602 ite 2 16605600 36605601 36603202 @@ -974,7 +974,7 @@ 36613601 uext 2 36613600 63 36613602 ite 2 16613600 36613601 36612804 36614000 eq 1 210 200 -36614001 not 1 1 36614000 +36614001 not 1 36614000 36614400 constd 2 18446744073709551608 36614401 add 2 216 36614400 36614402 ite 2 16614400 36614401 36613202 @@ -1015,7 +1015,7 @@ 36618003 read 2 20000021 36618001 36618004 ite 2 16618000 36618003 36617204 36618400 eq 1 210 200 -36618401 not 1 1 36618400 +36618401 not 1 36618400 36618800 constd 2 18446744073709551608 36618801 add 2 216 36618800 36618802 ite 2 16618800 36618801 36618002 @@ -1092,7 +1092,7 @@ 36628401 uext 2 36628400 63 36628402 ite 2 16628400 36628401 36627604 36628800 eq 1 210 200 -36628801 not 1 1 36628800 +36628801 not 1 36628800 36629200 constd 2 18446744073709551608 36629201 add 2 216 36629200 36629202 ite 2 16629200 36629201 36627602 @@ -1129,7 +1129,7 @@ 36633601 uext 2 36633600 63 36633602 ite 2 16633600 36633601 36632802 36634000 eq 1 210 200 -36634001 not 1 1 36634000 +36634001 not 1 36634000 36634400 constd 2 1 36634401 ite 2 16634400 36634400 36633602 36634800 constd 2 18446744073709551584 @@ -1201,19 +1201,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 2 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36602400 @@ -1222,7 +1222,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1265,14 +1265,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36639604 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1282,24 +1282,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1314,7 +1314,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1325,7 +1325,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1335,7 +1335,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16642400 56561600 +56561601 and 1 16642400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1346,7 +1346,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16601600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1360,7 +1360,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1374,7 +1374,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1389,7 +1389,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 ite 1 16593600 21 16590800 56575201 next 1 16575200 56575200 @@ -1406,25 +1406,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1437,7 +1437,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1455,7 +1455,7 @@ 56590400 next 1 16590400 16590000 56590800 next 1 16590800 16590400 56591200 eq 1 202 36590800 -56591201 and 1 1 16582000 56591200 +56591201 and 1 16582000 56591200 56591202 next 1 16591200 56591201 56591600 next 1 16591600 16591200 56592000 next 1 16592000 16591600 @@ -1464,7 +1464,7 @@ 56593200 next 1 16593200 16592800 56593600 next 1 16593600 16593200 56594000 eq 1 202 36593600 -56594001 and 1 1 16582000 56594000 +56594001 and 1 16582000 56594000 56594002 next 1 16594000 56594001 56594400 next 1 16594400 16594000 56594800 next 1 16594800 16594400 @@ -1478,7 +1478,7 @@ 56597600 next 1 16597600 16597200 56598000 next 1 16598000 16597600 56598400 next 1 16598400 16598000 -56598800 and 1 1 16598400 36598401 +56598800 and 1 16598400 36598401 56598801 next 1 16598800 56598800 56599200 next 1 16599200 16598800 56599600 next 1 16599600 16599200 @@ -1488,7 +1488,7 @@ 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 eq 1 202 36601600 -56602001 and 1 1 16567200 56602000 +56602001 and 1 16567200 56602000 56602002 next 1 16602000 56602001 56602400 next 1 16602400 16602000 56602800 next 1 16602800 16602400 @@ -1498,11 +1498,11 @@ 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 56605200 next 1 16605200 16604800 -56605600 and 1 1 16605200 36605201 +56605600 and 1 16605200 36605201 56605601 next 1 16605600 56605600 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 -56606800 and 1 1 16605200 36605200 +56606800 and 1 16605200 36605200 56606801 next 1 16606800 56606800 56607200 next 1 16607200 16606800 56607600 next 1 16607600 16607200 @@ -1517,7 +1517,7 @@ 56610800 next 1 16610800 16610400 56611200 next 1 16611200 16610800 56611600 next 1 16611600 16611200 -56612000 and 1 1 16598400 36598400 +56612000 and 1 16598400 36598400 56612001 next 1 16612000 56612000 56612400 next 1 16612400 16612000 56612800 ite 1 16640000 21 16612400 @@ -1525,7 +1525,7 @@ 56613200 next 1 16613200 16612800 56613600 next 1 16613600 16613200 56614000 next 1 16614000 16613600 -56614400 and 1 1 16614000 36614001 +56614400 and 1 16614000 36614001 56614401 next 1 16614400 56614400 56614800 next 1 16614800 16614400 56615200 next 1 16615200 16614800 @@ -1538,7 +1538,7 @@ 56618000 ite 1 16635200 21 16617600 56618001 next 1 16618000 56618000 56618400 next 1 16618400 16618000 -56618800 and 1 1 16618400 36618401 +56618800 and 1 16618400 36618401 56618801 next 1 16618800 56618800 56619200 next 1 16619200 16618800 56619600 next 1 16619600 16619200 @@ -1565,7 +1565,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 next 1 16628800 16628400 -56629200 and 1 1 16628800 36628801 +56629200 and 1 16628800 36628801 56629201 next 1 16629200 56629200 56629600 next 1 16629600 16629200 56630000 next 1 16630000 16629600 @@ -1579,15 +1579,15 @@ 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 -56634400 and 1 1 16634000 36634001 +56634400 and 1 16634000 36634001 56634401 next 1 16634400 56634400 56634800 next 1 16634800 16634400 -56635200 and 1 1 16628800 36628800 -56635201 and 1 1 16634000 36634000 +56635200 and 1 16628800 36628800 +56635201 and 1 16634000 36634000 56635202 ite 1 56635201 21 56635200 56635203 ite 1 16634800 21 56635202 56635204 next 1 16635200 56635203 -56635600 and 1 1 16618400 36618400 +56635600 and 1 16618400 36618400 56635601 next 1 16635600 56635600 56636000 next 1 16636000 16635600 56636400 next 1 16636400 16636000 @@ -1600,7 +1600,7 @@ 56639200 next 1 16639200 16638800 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 -56640400 and 1 1 16614000 36614000 +56640400 and 1 16614000 36614000 56640401 next 1 16640400 56640400 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 @@ -1649,28 +1649,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1691,24 +1691,24 @@ 80000027 ult 1 36641600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36641600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36641600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36641600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36641600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36641600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36641600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36641600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36641600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36641600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il0.btor2 b/lion/benchmarks/microbenchmark-il0.btor2 index 08704cb..9513fb8 100644 --- a/lion/benchmarks/microbenchmark-il0.btor2 +++ b/lion/benchmarks/microbenchmark-il0.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 0 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il1.btor2 b/lion/benchmarks/microbenchmark-il1.btor2 index c356ad8..0a0cb4b 100644 --- a/lion/benchmarks/microbenchmark-il1.btor2 +++ b/lion/benchmarks/microbenchmark-il1.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 1 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il2.btor2 b/lion/benchmarks/microbenchmark-il2.btor2 index b5816e8..a70a55a 100644 --- a/lion/benchmarks/microbenchmark-il2.btor2 +++ b/lion/benchmarks/microbenchmark-il2.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 2 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il3.btor2 b/lion/benchmarks/microbenchmark-il3.btor2 index 6b86a46..9e219c3 100644 --- a/lion/benchmarks/microbenchmark-il3.btor2 +++ b/lion/benchmarks/microbenchmark-il3.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 3 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il4.btor2 b/lion/benchmarks/microbenchmark-il4.btor2 index 2767d2a..04520eb 100644 --- a/lion/benchmarks/microbenchmark-il4.btor2 +++ b/lion/benchmarks/microbenchmark-il4.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 4 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il5.btor2 b/lion/benchmarks/microbenchmark-il5.btor2 index 8f97d29..e6f9d03 100644 --- a/lion/benchmarks/microbenchmark-il5.btor2 +++ b/lion/benchmarks/microbenchmark-il5.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 5 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il6.btor2 b/lion/benchmarks/microbenchmark-il6.btor2 index 1d1cb01..3235fd6 100644 --- a/lion/benchmarks/microbenchmark-il6.btor2 +++ b/lion/benchmarks/microbenchmark-il6.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 6 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il7.btor2 b/lion/benchmarks/microbenchmark-il7.btor2 index 1be3c0b..82222b9 100644 --- a/lion/benchmarks/microbenchmark-il7.btor2 +++ b/lion/benchmarks/microbenchmark-il7.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 7 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/microbenchmark-il8.btor2 b/lion/benchmarks/microbenchmark-il8.btor2 index b642a65..893b726 100644 --- a/lion/benchmarks/microbenchmark-il8.btor2 +++ b/lion/benchmarks/microbenchmark-il8.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -570,14 +570,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -714,7 +714,7 @@ 36600001 uext 2 36600000 63 36600002 ite 2 16600000 36600001 36599204 36600400 eq 1 210 200 -36600401 not 1 1 36600400 +36600401 not 1 36600400 36600800 constd 2 18446744073709551600 36600801 add 2 216 36600800 36600802 ite 2 16600800 36600801 36599202 @@ -744,7 +744,7 @@ 36604401 uext 2 36604400 63 36604402 ite 2 16604400 36604401 36603601 36604800 eq 1 210 200 -36604801 not 1 1 36604800 +36604801 not 1 36604800 36605200 ite 2 16605200 200 36604402 36605600 constd 2 18446744073709551608 36605601 add 2 204 36605600 @@ -783,19 +783,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 8 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36607600 @@ -804,7 +804,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -847,14 +847,14 @@ 42000059 add 2 222 220 42000060 write 3 20000021 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36606002 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -864,24 +864,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -896,7 +896,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -907,7 +907,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -917,7 +917,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16610400 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 ite 1 16606400 21 16562000 @@ -929,7 +929,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16595600 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -943,7 +943,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -957,7 +957,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -972,7 +972,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16590000 56575600 next 1 16575600 16575200 @@ -988,25 +988,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1019,7 +1019,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1035,7 +1035,7 @@ 56589600 next 1 16589600 16589200 56590000 next 1 16590000 16589600 56590400 eq 1 202 36590000 -56590401 and 1 1 16582000 56590400 +56590401 and 1 16582000 56590400 56590402 next 1 16590400 56590401 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 @@ -1051,7 +1051,7 @@ 56595200 next 1 16595200 16594800 56595600 next 1 16595600 16595200 56596000 eq 1 202 36595600 -56596001 and 1 1 16567200 56596000 +56596001 and 1 16567200 56596000 56596002 next 1 16596000 56596001 56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 @@ -1065,27 +1065,27 @@ 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 and 1 1 16600400 36600401 +56600800 and 1 16600400 36600401 56600801 next 1 16600800 56600800 56601200 next 1 16601200 16600800 56601600 next 1 16601600 16601200 56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 -56602800 and 1 1 16600400 36600400 +56602800 and 1 16600400 36600400 56602801 next 1 16602800 56602800 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 56604800 next 1 16604800 16604400 -56605200 and 1 1 16604800 36604801 +56605200 and 1 16604800 36604801 56605201 next 1 16605200 56605200 56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 eq 1 202 36606400 56606801 next 1 16606800 20 -56607200 and 1 1 16604800 36604800 +56607200 and 1 16604800 36604800 56607201 ite 1 16606800 21 56607200 56607202 next 1 16607200 56607201 56607600 next 1 16607600 16607200 @@ -1138,28 +1138,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1180,24 +1180,24 @@ 80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36609600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36609600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36609600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36609600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36609600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36609600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36609600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36609600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il0.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il0.btor2 index 82dfb0d..9a28d22 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il0.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il0.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 0 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il1.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il1.btor2 index 5dd1b50..360062b 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il1.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il1.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 1 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il2.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il2.btor2 index b6b2038..0ce5392 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il2.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il2.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 2 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il3.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il3.btor2 index 6ac5ae0..e446a8d 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il3.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il3.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 3 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il4.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il4.btor2 index d4525a3..63c97e9 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il4.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il4.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 4 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il5.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il5.btor2 index 8901bd5..073c6df 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il5.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il5.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 5 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il6.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il6.btor2 index 0d9cc56..2c70832 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il6.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il6.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 6 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il7.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il7.btor2 index 31eaf81..fa54fa7 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il7.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il7.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 7 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-constant-workload-il8.btor2 b/lion/benchmarks/reservoir-sampling-constant-workload-il8.btor2 index 665de31..d6a240b 100644 --- a/lion/benchmarks/reservoir-sampling-constant-workload-il8.btor2 +++ b/lion/benchmarks/reservoir-sampling-constant-workload-il8.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -765,14 +765,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -1024,7 +1024,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 ite 2 16619600 200 36618802 36620000 constd 2 18446744073709551584 36620001 add 2 216 36620000 @@ -1051,7 +1051,7 @@ 36622001 uext 2 36622000 63 36622002 ite 2 16622000 36622001 36621204 36622400 eq 1 210 200 -36622401 not 1 1 36622400 +36622401 not 1 36622400 36622800 constd 2 18446744073709551568 36622801 add 2 216 36622800 36622802 ite 2 16622800 36622801 36621602 @@ -1212,7 +1212,7 @@ 36641201 uext 2 36641200 63 36641202 ite 2 16641200 36641201 36640404 36641600 eq 1 210 200 -36641601 not 1 1 36641600 +36641601 not 1 36641600 36642000 ite 2 16642000 200 36641202 36642400 ite 2 16642400 210 36639600 36643200 constd 2 18446744073709551576 @@ -1257,19 +1257,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 8 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36645600 @@ -1278,7 +1278,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1321,14 +1321,14 @@ 42000059 add 2 222 220 42000060 write 3 20000028 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36644404 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1338,24 +1338,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1370,7 +1370,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1381,7 +1381,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1391,7 +1391,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16648400 56561600 +56561601 and 1 16648400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1402,7 +1402,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16638800 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1416,7 +1416,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1430,7 +1430,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1445,7 +1445,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1461,25 +1461,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1492,7 +1492,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1512,7 +1512,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1583,7 +1583,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1593,7 +1593,7 @@ 56621600 next 1 16621600 16621200 56622000 next 1 16622000 16621600 56622400 next 1 16622400 16622000 -56622800 and 1 1 16622400 36622401 +56622800 and 1 16622400 36622401 56622801 next 1 16622800 56622800 56623200 next 1 16623200 16622800 56623600 next 1 16623600 16623200 @@ -1608,7 +1608,7 @@ 56627200 next 1 16627200 16626800 56627600 next 1 16627600 16627200 56628000 next 1 16628000 16627600 -56628400 and 1 1 16622400 36622400 +56628400 and 1 16622400 36622400 56628401 next 1 16628400 56628400 56628800 next 1 16628800 16628400 56629200 next 1 16629200 16628800 @@ -1637,7 +1637,7 @@ 56638400 next 1 16638400 16638000 56638800 next 1 16638800 16638400 56639200 eq 1 202 36638800 -56639201 and 1 1 16567200 56639200 +56639201 and 1 16567200 56639200 56639202 next 1 16639200 56639201 56639600 next 1 16639600 16639200 56640000 next 1 16640000 16639600 @@ -1645,17 +1645,17 @@ 56640800 next 1 16640800 16640400 56641200 next 1 16641200 16640800 56641600 next 1 16641600 16641200 -56642000 and 1 1 16641600 36641601 +56642000 and 1 16641600 36641601 56642001 next 1 16642000 56642000 56642400 next 1 16642400 16642000 56642800 next 1 16642800 16642400 -56643200 and 1 1 16641600 36641600 +56643200 and 1 16641600 36641600 56643201 next 1 16643200 56643200 56643600 next 1 16643600 16643200 56644000 next 1 16644000 16643600 56644400 next 1 16644400 16644000 56644800 next 1 16644800 16644400 -56645200 and 1 1 16619200 36619200 +56645200 and 1 16619200 36619200 56645201 next 1 16645200 56645200 56645600 next 1 16645600 16645200 56646000 next 1 16646000 16645600 @@ -1707,28 +1707,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1749,24 +1749,24 @@ 80000027 ult 1 36647600 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36647600 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36647600 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36647600 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36647600 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36647600 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36647600 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36647600 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36647600 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36647600 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il0.btor2 b/lion/benchmarks/reservoir-sampling-il0.btor2 index 8958312..3dbae7c 100644 --- a/lion/benchmarks/reservoir-sampling-il0.btor2 +++ b/lion/benchmarks/reservoir-sampling-il0.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 0 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il1.btor2 b/lion/benchmarks/reservoir-sampling-il1.btor2 index 94b25cd..b5b979a 100644 --- a/lion/benchmarks/reservoir-sampling-il1.btor2 +++ b/lion/benchmarks/reservoir-sampling-il1.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 1 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il2.btor2 b/lion/benchmarks/reservoir-sampling-il2.btor2 index 46ca806..c62554e 100644 --- a/lion/benchmarks/reservoir-sampling-il2.btor2 +++ b/lion/benchmarks/reservoir-sampling-il2.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 2 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il3.btor2 b/lion/benchmarks/reservoir-sampling-il3.btor2 index 466b17b..a764f38 100644 --- a/lion/benchmarks/reservoir-sampling-il3.btor2 +++ b/lion/benchmarks/reservoir-sampling-il3.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 3 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il4.btor2 b/lion/benchmarks/reservoir-sampling-il4.btor2 index 2271cfc..20367be 100644 --- a/lion/benchmarks/reservoir-sampling-il4.btor2 +++ b/lion/benchmarks/reservoir-sampling-il4.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 4 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il5.btor2 b/lion/benchmarks/reservoir-sampling-il5.btor2 index 453b512..ac7257a 100644 --- a/lion/benchmarks/reservoir-sampling-il5.btor2 +++ b/lion/benchmarks/reservoir-sampling-il5.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 5 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il6.btor2 b/lion/benchmarks/reservoir-sampling-il6.btor2 index 09e51a7..25b4256 100644 --- a/lion/benchmarks/reservoir-sampling-il6.btor2 +++ b/lion/benchmarks/reservoir-sampling-il6.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 6 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il7.btor2 b/lion/benchmarks/reservoir-sampling-il7.btor2 index 7dc6fdd..bdc10e5 100644 --- a/lion/benchmarks/reservoir-sampling-il7.btor2 +++ b/lion/benchmarks/reservoir-sampling-il7.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 7 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/reservoir-sampling-il8.btor2 b/lion/benchmarks/reservoir-sampling-il8.btor2 index c27a4d0..5439fd8 100644 --- a/lion/benchmarks/reservoir-sampling-il8.btor2 +++ b/lion/benchmarks/reservoir-sampling-il8.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -707,14 +707,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -966,7 +966,7 @@ 36618801 uext 2 36618800 63 36618802 ite 2 16618800 36618801 36618004 36619200 eq 1 210 200 -36619201 not 1 1 36619200 +36619201 not 1 36619200 36619600 constd 2 18446744073709551576 36619601 add 2 216 36619600 36619602 ite 2 16619600 36619601 36618002 @@ -1064,7 +1064,7 @@ 36630801 uext 2 36630800 63 36630802 ite 2 16630800 36630801 36630004 36631200 eq 1 210 200 -36631201 not 1 1 36631200 +36631201 not 1 36631200 36631600 ite 2 16631600 200 36630802 36632000 ite 2 16632000 210 36629200 36632800 constd 2 18446744073709551576 @@ -1109,19 +1109,19 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 8 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 42000013 ite 2 42000006 42000012 36635200 @@ -1130,7 +1130,7 @@ 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -1173,14 +1173,14 @@ 42000059 add 2 222 220 42000060 write 3 20000022 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 +42000066 and 1 42000064 42000065 42000067 ite 3 42000066 42000060 36634004 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -1190,24 +1190,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -1222,7 +1222,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -1233,7 +1233,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -1243,7 +1243,7 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16638000 56561600 +56561601 and 1 16638000 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 56562400 next 1 16562400 16562000 @@ -1254,7 +1254,7 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 +56564004 and 1 56564000 64 56564005 ite 1 16628400 21 56564004 56564006 next 1 16564000 56564005 56564400 next 1 16564400 16564000 @@ -1268,7 +1268,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -1282,7 +1282,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -1297,7 +1297,7 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 56575200 next 1 16575200 16591600 56575600 next 1 16575600 16575200 @@ -1313,25 +1313,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -1344,7 +1344,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1364,7 +1364,7 @@ 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 eq 1 202 36591600 -56592001 and 1 1 16582000 56592000 +56592001 and 1 16582000 56592000 56592002 next 1 16592000 56592001 56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 @@ -1435,7 +1435,7 @@ 56618400 next 1 16618400 16618000 56618800 next 1 16618800 16618400 56619200 next 1 16619200 16618800 -56619600 and 1 1 16619200 36619201 +56619600 and 1 16619200 36619201 56619601 next 1 16619600 56619600 56620000 next 1 16620000 16619600 56620400 next 1 16620400 16620000 @@ -1460,7 +1460,7 @@ 56628000 next 1 16628000 16627600 56628400 next 1 16628400 16628000 56628800 eq 1 202 36628400 -56628801 and 1 1 16567200 56628800 +56628801 and 1 16567200 56628800 56628802 next 1 16628800 56628801 56629200 next 1 16629200 16628800 56629600 next 1 16629600 16629200 @@ -1468,17 +1468,17 @@ 56630400 next 1 16630400 16630000 56630800 next 1 16630800 16630400 56631200 next 1 16631200 16630800 -56631600 and 1 1 16631200 36631201 +56631600 and 1 16631200 36631201 56631601 next 1 16631600 56631600 56632000 next 1 16632000 16631600 56632400 next 1 16632400 16632000 -56632800 and 1 1 16631200 36631200 +56632800 and 1 16631200 36631200 56632801 next 1 16632800 56632800 56633200 next 1 16633200 16632800 56633600 next 1 16633600 16633200 56634000 next 1 16634000 16633600 56634400 next 1 16634400 16634000 -56634800 and 1 1 16619200 36619200 +56634800 and 1 16619200 36619200 56634801 next 1 16634800 56634800 56635200 next 1 16635200 16634800 56635600 next 1 16635600 16635200 @@ -1530,28 +1530,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1572,24 +1572,24 @@ 80000027 ult 1 36637200 80000021 80000028 bad 80000027 memory-access-below-data 80000029 ult 1 36637200 80000022 -80000030 not 1 1 80000029 +80000030 not 1 80000029 80000031 ult 1 36637200 80000023 -80000032 and 1 1 80000030 80000031 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap 80000034 ult 1 36637200 80000024 -80000035 not 1 1 80000034 +80000035 not 1 80000034 80000036 ult 1 36637200 45000002 -80000037 and 1 1 80000035 80000036 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap 80000039 ult 1 36637200 45000002 -80000040 not 1 1 80000039 +80000040 not 1 80000039 80000041 ult 1 36637200 204 -80000042 and 1 1 80000040 80000041 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack 80000044 ult 1 36637200 204 -80000045 not 1 1 80000044 +80000045 not 1 80000044 80000046 ult 1 36637200 80000025 -80000047 and 1 1 80000045 80000046 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack 80000049 ult 1 80000026 36637200 80000050 bad 80000049 memory-access-above-stack diff --git a/lion/benchmarks/tiny-program-bad-performance.c b/lion/benchmarks/tiny-program-bad-performance.c index ce3f84e..a5c420a 100644 --- a/lion/benchmarks/tiny-program-bad-performance.c +++ b/lion/benchmarks/tiny-program-bad-performance.c @@ -7,6 +7,7 @@ uint64_t main() { uint64_t b; uint64_t* buffer; + buffer = malloc(8); *buffer = 0; read(0, buffer, 1); diff --git a/lion/benchmarks/tiny-program-bad-performance.m b/lion/benchmarks/tiny-program-bad-performance.m index cad9579f232604ccc9792d9d9d37d36fe94d5561..f56c7d5e36911a2cd02414b47cfdba63eace868f 100755 GIT binary patch delta 138 zcmX@$aKK?g0;dBL0~k1L%zQ5(J(;P2L71`ezp_Cf!}|~M-zPJ%G6=IWFesaZOb!>+ zX1f1oa*LoDQ~Zm`dj!?&?>_^{H5;}3Yu?1fpllKHZ!*v{g#P=FLGr?kEDX#hj39A_ UW&;SF-T)NexbYnCWNrmh0F2@&!~g&Q delta 67 zcmX@$aKK?g0;d8K0~jc5%zQ5}xkONlY5u#(3k1!$K}crf=GVNFxfM(SsYn$8 diff --git a/lion/benchmarks/tiny-program-good-performance-il2.btor2 b/lion/benchmarks/tiny-program-good-performance-il2.btor2 index 83003a0..391433d 100644 --- a/lion/benchmarks/tiny-program-good-performance-il2.btor2 +++ b/lion/benchmarks/tiny-program-good-performance-il2.btor2 @@ -27,7 +27,7 @@ 61 init 1 60 20 62 state 1 terminate-mode 63 init 1 62 20 -64 not 1 1 60 +64 not 1 60 ; 32 64-bit general-purpose registers @@ -370,6 +370,22 @@ 16607201 init 1 16607200 20 16607600 state 1 pc=0x1021c 16607601 init 1 16607600 20 +16608000 state 1 pc=0x10220 +16608001 init 1 16608000 20 +16608400 state 1 pc=0x10224 +16608401 init 1 16608400 20 +16608800 state 1 pc=0x10228 +16608801 init 1 16608800 20 +16609200 state 1 pc=0x1022c +16609201 init 1 16609200 20 +16609600 state 1 pc=0x10230 +16609601 init 1 16609600 20 +16610000 state 1 pc=0x10234 +16610001 init 1 16610000 20 +16610400 state 1 pc=0x10238 +16610401 init 1 16610400 20 +16610800 state 1 pc=0x1023c +16610801 init 1 16610800 20 ; 64-bit virtual memory @@ -558,14 +574,14 @@ 36578401 ite 2 16578400 36578400 36574001 36578800 ite 1 16578800 21 36574400 36579200 eq 1 220 212 -36579201 not 1 1 36579200 +36579201 not 1 36579200 36579600 eq 1 200 200 -36579601 not 1 1 36579600 +36579601 not 1 36579600 36580000 eq 1 200 210 -36580001 not 1 1 36580000 +36580001 not 1 36580000 36580400 ite 2 16580400 200 36578001 36580800 eq 1 200 200 -36580801 not 1 1 36580800 +36580801 not 1 36580800 36581200 constd 2 18446744073709551608 36581201 add 2 206 36581200 36581202 ite 2 16581200 36581201 36577602 @@ -604,143 +620,160 @@ 36587600 constd 2 18446744073709551592 36587601 add 2 204 36587600 36587602 ite 2 16587600 36587601 36586402 -36588000 constd 2 18446744073709551592 -36588001 add 2 216 36588000 -36588002 ite 2 16588000 36588001 36586800 -36588003 read 2 20000025 36588001 -36588004 ite 2 16588000 36588003 36577201 -36588400 ite 2 16588400 200 36577604 -36588800 ite 2 16588800 210 36588002 -36588801 write 3 20000025 210 212 +36588000 constd 2 8 +36588001 ite 2 16588000 36588000 36577201 +36588400 constd 2 18446744073709551608 +36588401 add 2 204 36588400 +36588402 ite 2 16588400 36588401 36587602 +36588800 ite 2 16588800 204 36586800 +36588801 write 3 20000025 204 210 36588802 ite 3 16588800 36588801 36586802 -36589200 ite 2 16589200 200 36588004 -36589600 constd 2 18446744073709551592 -36589601 add 2 204 36589600 -36589602 ite 2 16589600 36589601 36587602 -36590000 ite 2 16590000 204 36588800 -36590001 write 3 20000025 204 210 -36590002 ite 3 16590000 36590001 36588802 +36589200 constd 2 65896 +36589201 ite 2 16589200 36589200 36561201 +36589600 ite 2 16589600 220 36588001 +36590000 ite 2 16590000 200 36584800 36590400 constd 2 18446744073709551592 36590401 add 2 216 36590400 -36590402 ite 2 16590400 36590401 36590000 -36590403 read 2 20000025 36590401 -36590404 ite 2 16590400 36590403 36589200 -36590800 constd 2 8 -36590801 add 2 204 36590800 +36590402 ite 2 16590400 36590401 36588800 +36590403 write 3 20000025 36590401 210 +36590404 ite 3 16590400 36590403 36588802 +36590800 constd 2 18446744073709551592 +36590801 add 2 216 36590800 36590802 ite 2 16590800 36590801 36590402 -36590803 write 3 20000025 36590801 210 -36590804 ite 3 16590800 36590803 36590002 -36591200 constd 2 1 -36591201 ite 2 16591200 36591200 36590404 -36591600 constd 2 16 -36591601 add 2 204 36591600 -36591602 ite 2 16591600 36591601 36590802 -36591603 write 3 20000025 36591601 210 -36591604 ite 3 16591600 36591603 36590804 -36592000 constd 2 65924 -36592001 ite 2 16592000 36592000 36561201 -36592400 ite 2 16592400 200 36584800 -36592800 constd 2 18446744073709551592 -36592801 add 2 216 36592800 -36592802 ite 2 16592800 36592801 36591602 -36592803 read 2 20000025 36592801 -36592804 ite 2 16592800 36592803 36591201 -36593200 ite 2 16593200 210 36592802 -36593201 read 2 20000025 210 -36593202 ite 2 16593200 36593201 36592804 -36593600 constd 2 18446744073709551608 -36593601 add 2 216 36593600 -36593602 ite 2 16593600 36593601 36593200 +36590803 read 2 20000025 36590801 +36590804 ite 2 16590800 36590803 36589600 +36591200 ite 2 16591200 200 36577604 +36591600 ite 2 16591600 210 36590802 +36591601 write 3 20000025 210 212 +36591602 ite 3 16591600 36591601 36590404 +36592000 ite 2 16592000 200 36590804 +36592400 constd 2 18446744073709551592 +36592401 add 2 204 36592400 +36592402 ite 2 16592400 36592401 36588402 +36592800 ite 2 16592800 204 36591600 +36592801 write 3 20000025 204 210 +36592802 ite 3 16592800 36592801 36591602 +36593200 constd 2 18446744073709551592 +36593201 add 2 216 36593200 +36593202 ite 2 16593200 36593201 36592800 +36593203 read 2 20000025 36593201 +36593204 ite 2 16593200 36593203 36592000 +36593600 constd 2 8 +36593601 add 2 204 36593600 +36593602 ite 2 16593600 36593601 36593202 36593603 write 3 20000025 36593601 210 -36593604 ite 3 16593600 36593603 36591604 -36594000 constd 2 18446744073709551608 -36594001 add 2 216 36594000 -36594002 ite 2 16594000 36594001 36593602 -36594003 read 2 20000025 36594001 -36594004 ite 2 16594000 36594003 36593202 -36594400 ite 2 16594400 200 36588400 -36594800 sub 2 212 210 -36594801 ite 2 16594800 36594800 36594004 -36595200 constd 2 1 -36595201 ite 2 16595200 36595200 36594400 -36595600 ult 1 210 212 -36595601 uext 2 36595600 63 -36595602 ite 2 16595600 36595601 36594801 -36596000 eq 1 210 200 -36596001 not 1 1 36596000 -36596400 ite 2 16596400 200 36595602 +36593604 ite 3 16593600 36593603 36592802 +36594000 constd 2 1 +36594001 ite 2 16594000 36594000 36593204 +36594400 constd 2 16 +36594401 add 2 204 36594400 +36594402 ite 2 16594400 36594401 36593602 +36594403 write 3 20000025 36594401 210 +36594404 ite 3 16594400 36594403 36593604 +36594800 constd 2 65952 +36594801 ite 2 16594800 36594800 36589201 +36595200 ite 2 16595200 200 36590000 +36595600 constd 2 18446744073709551592 +36595601 add 2 216 36595600 +36595602 ite 2 16595600 36595601 36594402 +36595603 read 2 20000025 36595601 +36595604 ite 2 16595600 36595603 36594001 +36596000 ite 2 16596000 210 36595602 +36596001 read 2 20000025 210 +36596002 ite 2 16596000 36596001 36595604 +36596400 constd 2 18446744073709551608 +36596401 add 2 216 36596400 +36596402 ite 2 16596400 36596401 36596000 +36596403 write 3 20000025 36596401 210 +36596404 ite 3 16596400 36596403 36594404 36596800 constd 2 18446744073709551608 -36596801 add 2 204 36596800 -36596802 ite 2 16596800 36596801 36589602 -36597200 ite 2 16597200 204 36594002 -36597201 write 3 20000025 204 210 -36597202 ite 3 16597200 36597201 36593604 -36597600 constd 2 65980 -36597601 ite 2 16597600 36597600 36592001 -36598000 ite 2 16598000 200 36592400 -36598800 ite 2 16598800 200 36596400 -36599200 constd 2 18446744073709551592 -36599201 add 2 204 36599200 -36599202 ite 2 16599200 36599201 36596802 -36599600 ite 2 16599600 204 36597200 -36599601 write 3 20000025 204 210 -36599602 ite 3 16599600 36599601 36597202 -36600000 constd 2 18446744073709551592 -36600001 add 2 216 36600000 -36600002 ite 2 16600000 36600001 36599600 -36600003 read 2 20000025 36600001 -36600004 ite 2 16600000 36600003 36598800 -36600400 constd 2 8 -36600401 add 2 204 36600400 -36600402 ite 2 16600400 36600401 36600002 -36600403 write 3 20000025 36600401 210 -36600404 ite 3 16600400 36600403 36599602 -36600800 constd 2 1 -36600801 ite 2 16600800 36600800 36600004 -36601200 constd 2 16 -36601201 add 2 204 36601200 -36601202 ite 2 16601200 36601201 36600402 -36601203 write 3 20000025 36601201 210 -36601204 ite 3 16601200 36601203 36600404 -36601600 constd 2 66020 -36601601 ite 2 16601600 36601600 36597601 -36602000 ite 2 16602000 200 36598000 -36602400 constd 2 18446744073709551592 -36602401 add 2 216 36602400 -36602402 ite 2 16602400 36602401 36601202 -36602403 read 2 20000025 36602401 -36602404 ite 2 16602400 36602403 36600801 -36602800 ite 2 16602800 210 36602402 -36602801 read 2 20000025 210 -36602802 ite 2 16602800 36602801 36602404 -36603200 constd 2 18446744073709551600 -36603201 add 2 216 36603200 -36603202 ite 2 16603200 36603201 36602800 +36596801 add 2 216 36596800 +36596802 ite 2 16596800 36596801 36596402 +36596803 read 2 20000025 36596801 +36596804 ite 2 16596800 36596803 36596002 +36597200 ite 2 16597200 200 36591200 +36597600 sub 2 212 210 +36597601 ite 2 16597600 36597600 36596804 +36598000 constd 2 1 +36598001 ite 2 16598000 36598000 36597200 +36598400 ult 1 210 212 +36598401 uext 2 36598400 63 +36598402 ite 2 16598400 36598401 36597601 +36598800 eq 1 210 200 +36598801 not 1 36598800 +36599200 ite 2 16599200 200 36598402 +36599600 constd 2 18446744073709551608 +36599601 add 2 204 36599600 +36599602 ite 2 16599600 36599601 36592402 +36600000 ite 2 16600000 204 36596802 +36600001 write 3 20000025 204 210 +36600002 ite 3 16600000 36600001 36596404 +36600400 constd 2 66008 +36600401 ite 2 16600400 36600400 36594801 +36600800 ite 2 16600800 200 36595200 +36601600 ite 2 16601600 200 36599200 +36602000 constd 2 18446744073709551592 +36602001 add 2 204 36602000 +36602002 ite 2 16602000 36602001 36599602 +36602400 ite 2 16602400 204 36600000 +36602401 write 3 20000025 204 210 +36602402 ite 3 16602400 36602401 36600002 +36602800 constd 2 18446744073709551592 +36602801 add 2 216 36602800 +36602802 ite 2 16602800 36602801 36602400 +36602803 read 2 20000025 36602801 +36602804 ite 2 16602800 36602803 36601600 +36603200 constd 2 8 +36603201 add 2 204 36603200 +36603202 ite 2 16603200 36603201 36602802 36603203 write 3 20000025 36603201 210 -36603204 ite 3 16603200 36603203 36601204 -36603600 ite 2 16603600 200 36602802 -36604000 constd 2 18446744073709551608 +36603204 ite 3 16603200 36603203 36602402 +36603600 constd 2 1 +36603601 ite 2 16603600 36603600 36602804 +36604000 constd 2 16 36604001 add 2 204 36604000 -36604002 ite 2 16604000 36604001 36599202 -36604400 ite 2 16604400 204 36603202 -36604401 write 3 20000025 204 210 -36604402 ite 3 16604400 36604401 36603204 -36604800 constd 2 66052 -36604801 ite 2 16604800 36604800 36601601 -36605200 ite 2 16605200 200 36602000 -36605600 ite 2 16605600 216 36604002 -36606000 ite 2 16606000 204 36604400 -36606001 read 2 20000025 204 -36606002 ite 2 16606000 36606001 36587200 -36606400 constd 2 8 -36606401 add 2 204 36606400 -36606402 ite 2 16606400 36606401 36605600 -36606800 ite 2 16606800 204 36606000 -36606801 read 2 20000025 204 -36606802 ite 2 16606800 36606801 36604801 -36607200 constd 2 8 -36607201 add 2 204 36607200 -36607202 ite 2 16607200 36607201 36606402 +36604002 ite 2 16604000 36604001 36603202 +36604003 write 3 20000025 36604001 210 +36604004 ite 3 16604000 36604003 36603204 +36604400 constd 2 66048 +36604401 ite 2 16604400 36604400 36600401 +36604800 ite 2 16604800 200 36600800 +36605200 constd 2 18446744073709551592 +36605201 add 2 216 36605200 +36605202 ite 2 16605200 36605201 36604002 +36605203 read 2 20000025 36605201 +36605204 ite 2 16605200 36605203 36603601 +36605600 ite 2 16605600 210 36605202 +36605601 read 2 20000025 210 +36605602 ite 2 16605600 36605601 36605204 +36606000 constd 2 18446744073709551600 +36606001 add 2 216 36606000 +36606002 ite 2 16606000 36606001 36605600 +36606003 write 3 20000025 36606001 210 +36606004 ite 3 16606000 36606003 36604004 +36606400 ite 2 16606400 200 36605602 +36606800 constd 2 18446744073709551608 +36606801 add 2 204 36606800 +36606802 ite 2 16606800 36606801 36602002 +36607200 ite 2 16607200 204 36606002 +36607201 write 3 20000025 204 210 +36607202 ite 3 16607200 36607201 36606004 +36607600 constd 2 66080 +36607601 ite 2 16607600 36607600 36604401 +36608000 ite 2 16608000 200 36604800 +36608400 ite 2 16608400 216 36606802 +36608800 ite 2 16608800 204 36607200 +36608801 read 2 20000025 204 +36608802 ite 2 16608800 36608801 36587200 +36609200 constd 2 8 +36609201 add 2 204 36609200 +36609202 ite 2 16609200 36609201 36608400 +36609600 ite 2 16609600 204 36608800 +36609601 read 2 20000025 204 +36609602 ite 2 16609600 36609601 36607601 +36610000 constd 2 8 +36610001 add 2 204 36610000 +36610002 ite 2 16610000 36610001 36609202 ; syscalls @@ -754,28 +787,28 @@ 40000007 eq 1 234 40000006 40000008 constd 2 214 40000009 eq 1 234 40000008 -41000000 and 1 1 36584400 40000007 +41000000 and 1 36584400 40000007 41000001 ite 1 60 40000007 41000000 42000000 constd 2 2 42000001 state 2 read-counter 42000002 init 2 42000001 42000000 42000003 constd 2 0 42000004 eq 1 42000003 30 -42000005 not 1 1 42000004 -42000006 and 1 1 36584400 40000003 +42000005 not 1 42000004 +42000006 and 1 36584400 40000003 42000007 ite 1 42000006 21 41000001 42000008 ult 1 30 42000001 -42000009 not 1 1 42000008 -42000010 and 1 1 42000009 42000005 +42000009 not 1 42000008 +42000010 and 1 42000009 42000005 42000011 constd 2 18446744073709551615 42000012 ite 2 42000010 42000011 30 -42000013 ite 2 42000006 42000012 36605200 +42000013 ite 2 42000006 42000012 36608000 42000014 ite 2 42000010 42000003 36583202 42000015 ite 2 42000006 42000014 36583202 42000016 sub 2 224 220 42000017 constd 2 8 42000018 ult 1 42000016 42000017 -42000019 not 1 1 42000018 +42000019 not 1 42000018 42000020 ite 2 42000019 42000017 42000016 42000021 ult 1 42000001 42000020 42000022 ite 2 42000021 42000001 42000020 @@ -818,14 +851,14 @@ 42000059 add 2 222 220 42000060 write 3 20000025 42000059 42000058 42000061 ult 1 220 224 -42000062 and 1 1 42000061 42000008 -42000063 and 1 1 40000003 42000062 -42000064 and 1 1 60 42000063 +42000062 and 1 42000061 42000008 +42000063 and 1 40000003 42000062 +42000064 and 1 60 42000063 42000065 ult 1 30 42000022 -42000066 and 1 1 42000064 42000065 -42000067 ite 3 42000066 42000060 36604402 +42000066 and 1 42000064 42000065 +42000067 ite 3 42000066 42000060 36607202 42000068 add 2 220 42000022 -42000069 and 1 1 42000005 42000021 +42000069 and 1 42000005 42000021 42000070 constd 2 18446744073709551615 42000071 ite 2 42000069 42000070 42000068 42000072 ite 2 42000064 42000071 42000013 @@ -835,24 +868,24 @@ 42000076 sub 2 42000001 42000022 42000077 ite 2 42000066 42000076 42000001 42000078 next 2 42000001 42000077 -45000000 and 1 1 36584400 40000009 +45000000 and 1 36584400 40000009 45000001 constd 2 73728 45000002 state 2 bump-pointer 45000003 init 2 45000002 45000001 45000004 ult 1 220 45000002 -45000005 not 1 1 45000004 +45000005 not 1 45000004 45000006 ult 1 220 204 -45000007 and 1 1 45000005 45000006 +45000007 and 1 45000005 45000006 45000008 eq 1 30 30 -45000009 and 1 1 45000007 45000008 -45000010 and 1 1 45000000 45000009 +45000009 and 1 45000007 45000008 +45000010 and 1 45000000 45000009 45000011 ite 2 45000010 220 45000002 45000012 next 2 45000002 45000011 -45000013 not 1 1 45000009 -45000014 and 1 1 45000000 45000013 +45000013 not 1 45000009 +45000014 and 1 45000000 45000013 45000015 ite 2 45000014 45000002 42000072 46000000 next 1 60 42000075 -46000001 or 1 1 41000000 62 +46000001 or 1 41000000 62 46000002 next 1 62 46000001 ; control flow @@ -867,7 +900,7 @@ 56556001 init 1 56556000 20 56556002 ite 1 56556000 60 16555600 56556003 next 1 56556000 56556002 -56556004 and 1 1 56556000 64 +56556004 and 1 56556000 64 56556005 next 1 16556000 56556004 56556400 next 1 16556400 16556000 56556800 next 1 16556800 16556400 @@ -878,7 +911,7 @@ 56558401 init 1 56558400 20 56558402 ite 1 56558400 60 16558000 56558403 next 1 56558400 56558402 -56558404 and 1 1 56558400 64 +56558404 and 1 56558400 64 56558405 next 1 16558400 56558404 56558800 next 1 16558800 16558400 56559200 next 1 16559200 16558800 @@ -888,11 +921,11 @@ 56560800 next 1 16560800 16560400 56561200 next 1 16561200 16560800 56561600 eq 1 202 36561200 -56561601 and 1 1 16607600 56561600 +56561601 and 1 16610400 56561600 56561602 next 1 16561600 56561601 56562000 next 1 16562000 16561600 -56562400 ite 1 16597600 21 16562000 -56562401 ite 1 16604800 21 56562400 +56562400 ite 1 16600400 21 16562000 +56562401 ite 1 16607600 21 56562400 56562402 next 1 16562400 56562401 56562800 next 1 16562800 16562400 56563200 next 1 16563200 16562800 @@ -901,9 +934,9 @@ 56564001 init 1 56564000 20 56564002 ite 1 56564000 60 16563600 56564003 next 1 56564000 56564002 -56564004 and 1 1 56564000 64 -56564005 ite 1 16592000 21 56564004 -56564006 ite 1 16601600 21 56564005 +56564004 and 1 56564000 64 +56564005 ite 1 16594800 21 56564004 +56564006 ite 1 16604400 21 56564005 56564007 next 1 16564000 56564006 56564400 next 1 16564400 16564000 56564800 next 1 16564800 16564400 @@ -916,7 +949,7 @@ 56567201 init 1 56567200 20 56567202 ite 1 56567200 60 16566800 56567203 next 1 56567200 56567202 -56567204 and 1 1 56567200 64 +56567204 and 1 56567200 64 56567205 next 1 16567200 56567204 56567600 next 1 16567600 20 56568000 next 1 16568000 16567600 @@ -930,7 +963,7 @@ 56570801 init 1 56570800 20 56570802 ite 1 56570800 60 16570400 56570803 next 1 56570800 56570802 -56570804 and 1 1 56570800 64 +56570804 and 1 56570800 64 56570805 next 1 16570800 56570804 56571200 next 1 16571200 20 56571600 next 1 16571600 16571200 @@ -945,9 +978,9 @@ 56574801 init 1 56574800 20 56574802 ite 1 56574800 60 16574400 56574803 next 1 56574800 56574802 -56574804 and 1 1 56574800 64 +56574804 and 1 56574800 64 56574805 next 1 16574800 56574804 -56575200 next 1 16575200 20 +56575200 next 1 16575200 16589200 56575600 next 1 16575600 16575200 56576000 next 1 16576000 16575600 56576400 next 1 16576400 16576000 @@ -961,25 +994,25 @@ 56579201 init 1 56579200 20 56579202 ite 1 56579200 60 16578800 56579203 next 1 56579200 56579202 -56579204 and 1 1 56579200 64 +56579204 and 1 56579200 64 56579205 next 1 16579200 56579204 -56579600 and 1 1 16579200 36579201 +56579600 and 1 16579200 36579201 56579601 next 1 16579600 56579600 -56580000 and 1 1 16579200 36579200 -56580001 and 1 1 16579600 36579601 +56580000 and 1 16579200 36579200 +56580001 and 1 16579600 36579601 56580002 ite 1 56580001 21 56580000 56580003 next 1 16580000 56580002 -56580400 and 1 1 16580000 36580001 +56580400 and 1 16580000 36580001 56580401 next 1 16580400 56580400 56580800 next 1 16580800 16580400 -56581200 and 1 1 16579600 36579600 -56581201 and 1 1 16580000 36580000 +56581200 and 1 16579600 36579600 +56581201 and 1 16580000 36580000 56581202 ite 1 56581201 21 56581200 -56581203 and 1 1 16580800 36580801 +56581203 and 1 16580800 36580801 56581204 ite 1 56581203 21 56581202 56581205 next 1 16581200 56581204 56581600 next 1 16581600 16581200 -56582000 and 1 1 16580800 36580800 +56582000 and 1 16580800 36580800 56582001 ite 1 16581600 21 56582000 56582002 next 1 16582000 56582001 56582400 next 1 16582400 20 @@ -992,7 +1025,7 @@ 56584801 init 1 56584800 20 56584802 ite 1 56584800 60 16584400 56584803 next 1 56584800 56584802 -56584804 and 1 1 56584800 64 +56584804 and 1 56584800 64 56584805 next 1 16584800 56584804 56585200 next 1 16585200 16584800 56585600 next 1 16585600 16561200 @@ -1005,72 +1038,82 @@ 56588400 next 1 16588400 16588000 56588800 next 1 16588800 16588400 56589200 next 1 16589200 16588800 -56589600 next 1 16589600 16589200 +56589600 eq 1 202 36589200 +56589601 and 1 16582000 56589600 +56589602 next 1 16589600 56589601 56590000 next 1 16590000 16589600 56590400 next 1 16590400 16590000 56590800 next 1 16590800 16590400 56591200 next 1 16591200 16590800 56591600 next 1 16591600 16591200 56592000 next 1 16592000 16591600 -56592400 eq 1 202 36592000 -56592401 and 1 1 16567200 56592400 -56592402 next 1 16592400 56592401 +56592400 next 1 16592400 16592000 56592800 next 1 16592800 16592400 56593200 next 1 16593200 16592800 56593600 next 1 16593600 16593200 56594000 next 1 16594000 16593600 56594400 next 1 16594400 16594000 56594800 next 1 16594800 16594400 -56595200 next 1 16595200 16594800 +56595200 eq 1 202 36594800 +56595201 and 1 16567200 56595200 +56595202 next 1 16595200 56595201 56595600 next 1 16595600 16595200 56596000 next 1 16596000 16595600 -56596400 and 1 1 16596000 36596001 -56596401 next 1 16596400 56596400 +56596400 next 1 16596400 16596000 56596800 next 1 16596800 16596400 56597200 next 1 16597200 16596800 56597600 next 1 16597600 16597200 -56598000 eq 1 202 36597600 -56598001 next 1 16598000 20 +56598000 next 1 16598000 16597600 56598400 next 1 16598400 16598000 -56598800 and 1 1 16596000 36596000 -56598801 next 1 16598800 56598800 -56599200 next 1 16599200 16598800 +56598800 next 1 16598800 16598400 +56599200 and 1 16598800 36598801 +56599201 next 1 16599200 56599200 56599600 next 1 16599600 16599200 56600000 next 1 16600000 16599600 56600400 next 1 16600400 16600000 -56600800 next 1 16600800 16600400 +56600800 eq 1 202 36600400 +56600801 next 1 16600800 20 56601200 next 1 16601200 16600800 -56601600 next 1 16601600 16601200 -56602000 eq 1 202 36601600 -56602001 and 1 1 16567200 56602000 -56602002 next 1 16602000 56602001 +56601600 and 1 16598800 36598800 +56601601 next 1 16601600 56601600 +56602000 next 1 16602000 16601600 56602400 next 1 16602400 16602000 56602800 next 1 16602800 16602400 56603200 next 1 16603200 16602800 56603600 next 1 16603600 16603200 56604000 next 1 16604000 16603600 56604400 next 1 16604400 16604000 -56604800 next 1 16604800 16604400 -56605200 eq 1 202 36604800 -56605201 next 1 16605200 20 -56605600 ite 1 16605200 21 16598400 -56605601 next 1 16605600 56605600 +56604800 eq 1 202 36604400 +56604801 and 1 16567200 56604800 +56604802 next 1 16604800 56604801 +56605200 next 1 16605200 16604800 +56605600 next 1 16605600 16605200 56606000 next 1 16606000 16605600 56606400 next 1 16606400 16606000 56606800 next 1 16606800 16606400 56607200 next 1 16607200 16606800 56607600 next 1 16607600 16607200 +56608000 eq 1 202 36607600 +56608001 next 1 16608000 20 +56608400 ite 1 16608000 21 16601200 +56608401 next 1 16608400 56608400 +56608800 next 1 16608800 16608400 +56609200 next 1 16609200 16608800 +56609600 next 1 16609600 16609200 +56610000 next 1 16610000 16609600 +56610400 next 1 16610400 16610000 +56610800 next 1 16610800 20 ; updating registers -60000001 next 2 202 36606802 -60000002 next 2 204 36607202 +60000001 next 2 202 36609602 +60000002 next 2 204 36610002 60000003 next 2 206 36554400 60000004 next 2 208 208 -60000005 next 2 210 36603600 -60000006 next 2 212 36595201 +60000005 next 2 210 36606400 +60000006 next 2 212 36598001 60000007 next 2 214 214 -60000008 next 2 216 36606002 +60000008 next 2 216 36608802 60000009 next 2 218 218 60000010 next 2 220 45000015 60000011 next 2 222 42000074 @@ -1101,28 +1144,28 @@ ; checking syscall id -80000000 not 1 1 40000001 -80000001 not 1 1 40000003 -80000002 not 1 1 40000005 -80000003 not 1 1 40000007 -80000004 not 1 1 40000009 -80000005 and 1 1 80000000 80000001 -80000006 and 1 1 80000005 80000002 -80000007 and 1 1 80000006 80000003 -80000008 and 1 1 80000007 80000004 -80000009 and 1 1 36584400 80000008 +80000000 not 1 40000001 +80000001 not 1 40000003 +80000002 not 1 40000005 +80000003 not 1 40000007 +80000004 not 1 40000009 +80000005 and 1 80000000 80000001 +80000006 and 1 80000005 80000002 +80000007 and 1 80000006 80000003 +80000008 and 1 80000007 80000004 +80000009 and 1 36584400 80000008 80000010 bad 80000009 invalid-syscall-id ; checking exit code 80000011 eq 1 220 30 -80000012 not 1 1 80000011 -80000013 and 1 1 41000000 80000012 +80000012 not 1 80000011 +80000013 and 1 41000000 80000012 80000014 bad 80000013 non-zero-exit-code ; checking good exit state -80000015 and 1 1 62 40000007 +80000015 and 1 62 40000007 80000016 bad 80000015 exit-state ; checking division and remainder by zero @@ -1140,29 +1183,29 @@ 80000024 constd 2 73792 80000025 constd 2 1048320 80000026 constd 2 1048575 -80000027 ult 1 36606800 80000021 +80000027 ult 1 36609600 80000021 80000028 bad 80000027 memory-access-below-data -80000029 ult 1 36606800 80000022 -80000030 not 1 1 80000029 -80000031 ult 1 36606800 80000023 -80000032 and 1 1 80000030 80000031 +80000029 ult 1 36609600 80000022 +80000030 not 1 80000029 +80000031 ult 1 36609600 80000023 +80000032 and 1 80000030 80000031 80000033 bad 80000032 memory-access-between-data-and-heap -80000034 ult 1 36606800 80000024 -80000035 not 1 1 80000034 -80000036 ult 1 36606800 45000002 -80000037 and 1 1 80000035 80000036 +80000034 ult 1 36609600 80000024 +80000035 not 1 80000034 +80000036 ult 1 36609600 45000002 +80000037 and 1 80000035 80000036 80000038 bad 80000037 memory-access-between-max-and-dyn-heap -80000039 ult 1 36606800 45000002 -80000040 not 1 1 80000039 -80000041 ult 1 36606800 204 -80000042 and 1 1 80000040 80000041 +80000039 ult 1 36609600 45000002 +80000040 not 1 80000039 +80000041 ult 1 36609600 204 +80000042 and 1 80000040 80000041 80000043 bad 80000042 memory-access-between-heap-and-stack -80000044 ult 1 36606800 204 -80000045 not 1 1 80000044 -80000046 ult 1 36606800 80000025 -80000047 and 1 1 80000045 80000046 +80000044 ult 1 36609600 204 +80000045 not 1 80000044 +80000046 ult 1 36609600 80000025 +80000047 and 1 80000045 80000046 80000048 bad 80000047 memory-access-between-dyn-and-max-stack -80000049 ult 1 80000026 36606800 +80000049 ult 1 80000026 36609600 80000050 bad 80000049 memory-access-above-stack ; end of BTOR2 file diff --git a/lion/benchmarks/tiny-program-good-performance.c b/lion/benchmarks/tiny-program-good-performance.c index fa1942d..44c0c51 100644 --- a/lion/benchmarks/tiny-program-good-performance.c +++ b/lion/benchmarks/tiny-program-good-performance.c @@ -7,6 +7,7 @@ uint64_t main() { uint64_t b; uint64_t* buffer; + buffer = malloc(8); *buffer = 0; read(0, buffer, 1); diff --git a/lion/benchmarks/tiny-program-good-performance.m b/lion/benchmarks/tiny-program-good-performance.m index 8614a55f1709e622c13da7cdefd7fb5f7fa6c767..215ef47d4e60ef88a32e8ffc44876ee7ca6a63b6 100755 GIT binary patch delta 88 zcmX@$aKK?g0%rmf0~jQ1%zQ5(J(;P2L71`ezp_Cf!}|~M-zPJ%G6=IWFesaZOb!>+ rX1f1oa*LoI)BTr|w+Q+%-G4lpMM#Nh{=>-{LNXgSujZZ1tzZfO-ya>3 delta 85 zcmX@$aKK?g0;dNP0~mO0%zQ5}xkONlY5u#(3k3C;=D(hNLC}wB{?o|{LQ3-SkA+zo g7=#&F7?@2MfpjB7vjK!oZvcvK+<1(4GPi;$07!oqYybcN diff --git a/src/unicorn/mod.rs b/src/unicorn/mod.rs index 1e747b9..e195da4 100644 --- a/src/unicorn/mod.rs +++ b/src/unicorn/mod.rs @@ -247,11 +247,11 @@ where Node::Eq { nid, left, right } => writeln!(out, "{} eq 1 {} {}", nid, get_nid(left), get_nid(right))?, Node::And { nid, sort, left, right } => - writeln!(out, "{} and 1 {} {} {}", nid, get_sort(sort), get_nid(left), get_nid(right))?, + writeln!(out, "{} and {} {} {}", nid, get_sort(sort), get_nid(left), get_nid(right))?, Node::Or { nid, sort, left, right } => - writeln!(out, "{} or 1 {} {} {}", nid, get_sort(sort), get_nid(left), get_nid(right))?, + writeln!(out, "{} or {} {} {}", nid, get_sort(sort), get_nid(left), get_nid(right))?, Node::Not { nid, sort, value } => - writeln!(out, "{} not 1 {} {}", nid, get_sort(sort), get_nid(value))?, + writeln!(out, "{} not {} {}", nid, get_sort(sort), get_nid(value))?, Node::State { nid, sort, init, name } => { writeln!(out, "{} state {} {}", nid, get_sort(sort), name.as_deref().unwrap_or("?"))?; if let Some(value) = init { diff --git a/src/unicorn/optimize.rs b/src/unicorn/optimize.rs index 7c3c665..f92a7c1 100644 --- a/src/unicorn/optimize.rs +++ b/src/unicorn/optimize.rs @@ -734,10 +734,10 @@ impl<'a, S: SMTSolver + 'a> ConstantFolder<'a, S> { if use_smt { match self.smt_solver.solve(cond) { SMTSolution::Sat => { - /*warn!( + warn!( "Bad state '{}' is satisfiable!", name.as_deref().unwrap_or("?") - );*/ + ); if terminate_on_bad { // TODO: Change this to use return Result<> instead of panic! panic!("Bad state satisfiable");