aboutsummaryrefslogtreecommitdiff
path: root/src/relooper
diff options
context:
space:
mode:
Diffstat (limited to 'src/relooper')
-rw-r--r--src/relooper/Relooper.cpp10
-rw-r--r--src/relooper/test.txt108
-rw-r--r--src/relooper/test2.txt12
-rw-r--r--src/relooper/test3.txt34
-rw-r--r--src/relooper/test4.txt24
-rw-r--r--src/relooper/test5.txt46
-rw-r--r--src/relooper/test6.txt12
-rw-r--r--src/relooper/test_debug.txt12
-rw-r--r--src/relooper/test_fuzz1.txt40
-rw-r--r--src/relooper/test_fuzz2.txt10
-rw-r--r--src/relooper/test_fuzz3.txt2
-rw-r--r--src/relooper/test_fuzz4.txt16
-rw-r--r--src/relooper/test_fuzz5.txt82
-rw-r--r--src/relooper/test_fuzz6.txt186
-rw-r--r--src/relooper/test_inf.txt698
15 files changed, 647 insertions, 645 deletions
diff --git a/src/relooper/Relooper.cpp b/src/relooper/Relooper.cpp
index 7ceeb2f8..aa7e71a1 100644
--- a/src/relooper/Relooper.cpp
+++ b/src/relooper/Relooper.cpp
@@ -18,6 +18,8 @@ static void PrintDebug(const char *Format, ...);
#define DebugDump(x, ...)
#endif
+#define INDENTATION 1
+
struct Indenter {
static int CurrIndent;
@@ -34,8 +36,8 @@ static int OutputBufferSize = 0;
void PrintIndented(const char *Format, ...) {
assert(OutputBuffer);
- assert(OutputBuffer + Indenter::CurrIndent*2 - OutputBufferRoot < OutputBufferSize);
- for (int i = 0; i < Indenter::CurrIndent*2; i++, OutputBuffer++) *OutputBuffer = ' ';
+ assert(OutputBuffer + Indenter::CurrIndent*INDENTATION - OutputBufferRoot < OutputBufferSize);
+ for (int i = 0; i < Indenter::CurrIndent*INDENTATION; i++, OutputBuffer++) *OutputBuffer = ' ';
va_list Args;
va_start(Args, Format);
int left = OutputBufferSize - (OutputBuffer - OutputBufferRoot);
@@ -47,8 +49,8 @@ void PrintIndented(const char *Format, ...) {
void PutIndented(const char *String) {
assert(OutputBuffer);
- assert(OutputBuffer + Indenter::CurrIndent*2 - OutputBufferRoot < OutputBufferSize);
- for (int i = 0; i < Indenter::CurrIndent*2; i++, OutputBuffer++) *OutputBuffer = ' ';
+ assert(OutputBuffer + Indenter::CurrIndent*INDENTATION - OutputBufferRoot < OutputBufferSize);
+ for (int i = 0; i < Indenter::CurrIndent*INDENTATION; i++, OutputBuffer++) *OutputBuffer = ' ';
int left = OutputBufferSize - (OutputBuffer - OutputBufferRoot);
int needed = strlen(String)+1;
assert(needed < left);
diff --git a/src/relooper/test.txt b/src/relooper/test.txt
index b3535592..6c910846 100644
--- a/src/relooper/test.txt
+++ b/src/relooper/test.txt
@@ -6,11 +6,11 @@
// block A
if (check == 10) {
- atob();
- // block B
- btoc();
+ atob();
+ // block B
+ btoc();
} else {
- atoc();
+ atoc();
}
// block C
@@ -22,9 +22,9 @@ if (check == 10) {
// block A
if (check == 15) {
- // block B
+ // block B
} else {
- // block C
+ // block C
}
// block D
@@ -35,12 +35,12 @@ if (check == 15) {
while(1) {
- // block A
- var check = maybe();
- // block B
- if (!(check == 41)) {
- break;
- }
+ // block A
+ var check = maybe();
+ // block B
+ if (!(check == 41)) {
+ break;
+ }
}
// block C
@@ -51,25 +51,25 @@ while(1) {
// code 1
var $i_0 = 0;var $x_0 = 5;
while(1) {
- // code 2
- if (!($2)) {
- var $x_1 = $x_0;
- label = 18;
- break;
- }
- // code 3
- if ($6) {
- break;
- } else {
- var $i_0 = $7;var $x_0 = $5;
- }
+ // code 2
+ if (!($2)) {
+ var $x_1 = $x_0;
+ label = 18;
+ break;
+ }
+ // code 3
+ if ($6) {
+ break;
+ } else {
+ var $i_0 = $7;var $x_0 = $5;
+ }
}
if (label == 18) {
- // code 7
+ // code 7
}
// code 4
if ($10) {
- // code 5
+ // code 5
}
// code 6
var $x_1 = $13;
@@ -83,15 +83,15 @@ var $x_1 = $13;
// block A...................................................................................................
if (chak()) {
- atob();
- // block B...................................................................................................
- btod();
- // block D
+ atob();
+ // block B...................................................................................................
+ btod();
+ // block D
} else {
- atoc();
- // block C...................................................................................................
- ctod2();
- // block D
+ atoc();
+ // block C...................................................................................................
+ ctod2();
+ // block D
}
@@ -102,11 +102,11 @@ if (chak()) {
// block A
if (!(check == 10)) {
- return C;
+ return C;
}
while(1) {
- // block B
- // block D
+ // block B
+ // block D
}
@@ -117,23 +117,23 @@ while(1) {
// block A
do {
- if (expensive()) {
- label = 33;
- } else {
- // block B
- if (expensive2()) {
- label = 33;
- break;
- }
- // block D
+ if (expensive()) {
+ label = 33;
+ } else {
+ // block B
+ if (expensive2()) {
+ label = 33;
+ break;
}
+ // block D
+ }
} while(0);
if (label == 33) {
- // block C;
+ // block C;
}
while(1) {
- // block E
- // block F
+ // block E
+ // block F
}
@@ -144,12 +144,12 @@ while(1) {
// block A
if (shouldLoop()) {
- while(1) {
- // block B
- if (!(moarLoop())) {
- break;
- }
+ while(1) {
+ // block B
+ if (!(moarLoop())) {
+ break;
}
+ }
}
// block C
diff --git a/src/relooper/test2.txt b/src/relooper/test2.txt
index c77ce491..2f3e5ca1 100644
--- a/src/relooper/test2.txt
+++ b/src/relooper/test2.txt
@@ -1,12 +1,12 @@
ep
do {
- if (ep -> LBB1) {
- LBB1
- if (!(LBB1 -> LBB2)) {
- break;
- }
- LBB2
+ if (ep -> LBB1) {
+ LBB1
+ if (!(LBB1 -> LBB2)) {
+ break;
}
+ LBB2
+ }
} while(0);
LBB3
diff --git a/src/relooper/test3.txt b/src/relooper/test3.txt
index 6049ee48..51199f72 100644
--- a/src/relooper/test3.txt
+++ b/src/relooper/test3.txt
@@ -1,27 +1,27 @@
ep
do {
- if (ep -> LBB1) {
- LBB1
- if (!(LBB1 -> LBB2)) {
- break;
- }
- LBB2
+ if (ep -> LBB1) {
+ LBB1
+ if (!(LBB1 -> LBB2)) {
+ break;
}
+ LBB2
+ }
} while(0);
LBB3
do {
- if (LBB3 -> LBB4) {
- LBB4
- if (!(LBB4 -> LBB5)) {
- break;
- }
- while(1) {
- LBB5
- if (LBB5 -> LBB6) {
- break;
- }
- }
+ if (LBB3 -> LBB4) {
+ LBB4
+ if (!(LBB4 -> LBB5)) {
+ break;
}
+ while(1) {
+ LBB5
+ if (LBB5 -> LBB6) {
+ break;
+ }
+ }
+ }
} while(0);
LBB6
diff --git a/src/relooper/test4.txt b/src/relooper/test4.txt
index 3427ff18..ab7051c1 100644
--- a/src/relooper/test4.txt
+++ b/src/relooper/test4.txt
@@ -1,23 +1,23 @@
//19
do {
- if ( 1 ) {
- //20
- if (!( 1 )) {
- label = 4;
- break;
- }
- //21
- } else {
- label = 4;
+ if ( 1 ) {
+ //20
+ if (!( 1 )) {
+ label = 4;
+ break;
}
+ //21
+ } else {
+ label = 4;
+ }
} while(0);
if (label == 4) {
- //22
+ //22
}
//23
if ( 1 ) {
- //24
+ //24
} else {
- //28
+ //28
}
diff --git a/src/relooper/test5.txt b/src/relooper/test5.txt
index ad769ae7..83755289 100644
--- a/src/relooper/test5.txt
+++ b/src/relooper/test5.txt
@@ -1,32 +1,32 @@
//0
if (check(0)) {
- while(1) {
- //1
- if (!(check(1))) {
- break;
- }
+ while(1) {
+ //1
+ if (!(check(1))) {
+ break;
}
- while(1) {
- //2
- if (!(check(2))) {
- break;
- }
+ }
+ while(1) {
+ //2
+ if (!(check(2))) {
+ break;
}
- //3
+ }
+ //3
} else {
- goingFrom0to4();
- while(1) {
- //4
- if (!(check(4))) {
- break;
- }
+ goingFrom0to4();
+ while(1) {
+ //4
+ if (!(check(4))) {
+ break;
}
- while(1) {
- //5
- if (check(5)) {
- break;
- }
+ }
+ while(1) {
+ //5
+ if (check(5)) {
+ break;
}
- //3
+ }
+ //3
}
diff --git a/src/relooper/test6.txt b/src/relooper/test6.txt
index c5effd08..4f29f292 100644
--- a/src/relooper/test6.txt
+++ b/src/relooper/test6.txt
@@ -1,12 +1,12 @@
//0
do {
- if (check(0)) {
- //1
- if (!(check(1))) {
- break;
- }
- //2
+ if (check(0)) {
+ //1
+ if (!(check(1))) {
+ break;
}
+ //2
+ }
} while(0);
//3
diff --git a/src/relooper/test_debug.txt b/src/relooper/test_debug.txt
index d18ed875..4a42e642 100644
--- a/src/relooper/test_debug.txt
+++ b/src/relooper/test_debug.txt
@@ -116,13 +116,13 @@ int main() {
// Fusing Multiple to Simple
ep
do {
- if (ep -> LBB1) {
- LBB1
- if (!(LBB1 -> LBB2)) {
- break;
- }
- LBB2
+ if (ep -> LBB1) {
+ LBB1
+ if (!(LBB1 -> LBB2)) {
+ break;
}
+ LBB2
+ }
} while(0);
LBB3
diff --git a/src/relooper/test_fuzz1.txt b/src/relooper/test_fuzz1.txt
index b278e240..becbc0d2 100644
--- a/src/relooper/test_fuzz1.txt
+++ b/src/relooper/test_fuzz1.txt
@@ -4,29 +4,29 @@ print('entry'); var label; var state; var decisions = [4, 1, 7, 2, 6, 6, 8]; var
print(5); state = check();
print(6); state = check();
if (state == 7) {
- print(7); state = check();
- label = 3;
+ print(7); state = check();
+ label = 3;
}
L5: while(1) {
- if (label == 3) {
- label = 0;
- print(2); state = check();
+ if (label == 3) {
+ label = 0;
+ print(2); state = check();
+ }
+ print(1); state = check();
+ while(1) {
+ print(3); state = check();
+ if (!(state == 8)) {
+ continue L5;
}
- print(1); state = check();
- while(1) {
- print(3); state = check();
- if (!(state == 8)) {
- continue L5;
- }
- print(8); state = check();
- if (!(state == 4)) {
- label = 3;
- continue L5;
- }
- print(4); state = check();
- if (!(state == 3)) {
- continue L5;
- }
+ print(8); state = check();
+ if (!(state == 4)) {
+ label = 3;
+ continue L5;
}
+ print(4); state = check();
+ if (!(state == 3)) {
+ continue L5;
+ }
+ }
}
diff --git a/src/relooper/test_fuzz2.txt b/src/relooper/test_fuzz2.txt
index 572e819d..02b2c83b 100644
--- a/src/relooper/test_fuzz2.txt
+++ b/src/relooper/test_fuzz2.txt
@@ -2,12 +2,12 @@
print('entry'); var label; var state; var decisions = [4, 1, 4, 3, 4, 1, 2, 5, 1, 3, 5, 5, 1, 5, 2, 4, 4, 3]; var index = 0; function check() { if (index == decisions.length) throw 'HALT'; return decisions[index++] }
if (state == 1) {
- while(1) {
- print(1); state = check();
- }
+ while(1) {
+ print(1); state = check();
+ }
}
while(1) {
- print(3); state = check();
- print(2); state = check();
+ print(3); state = check();
+ print(2); state = check();
}
diff --git a/src/relooper/test_fuzz3.txt b/src/relooper/test_fuzz3.txt
index aeeccf87..b4b1831d 100644
--- a/src/relooper/test_fuzz3.txt
+++ b/src/relooper/test_fuzz3.txt
@@ -4,6 +4,6 @@ print('entry'); var label; var state; var decisions = [3, 3, 4, 1, 2, 1, 2, 4, 4
print(1); state = check();
print(3); state = check();
while(1) {
- print(4); state = check();
+ print(4); state = check();
}
diff --git a/src/relooper/test_fuzz4.txt b/src/relooper/test_fuzz4.txt
index 05a70582..766ebdb6 100644
--- a/src/relooper/test_fuzz4.txt
+++ b/src/relooper/test_fuzz4.txt
@@ -2,18 +2,18 @@
print('entry'); var label; var state; var decisions = [2, 2, 1, 3, 2, 2, 1, 3, 2, 3, 3, 1, 3, 2, 1]; var index = 0; function check() { if (index == decisions.length) throw 'HALT'; return decisions[index++] }
if (state == 2) {
- while(1) {
- print(2); state = check();
- }
+ while(1) {
+ print(2); state = check();
+ }
}
while(1) {
- print(4); state = check();
- if (!(state == 4)) {
- break;
- }
+ print(4); state = check();
+ if (!(state == 4)) {
+ break;
+ }
}
print(3); state = check();
while(1) {
- print(1); state = check();
+ print(1); state = check();
}
diff --git a/src/relooper/test_fuzz5.txt b/src/relooper/test_fuzz5.txt
index 29b2dba4..0f76d1ed 100644
--- a/src/relooper/test_fuzz5.txt
+++ b/src/relooper/test_fuzz5.txt
@@ -2,51 +2,51 @@
print('entry'); var label; var state; var decisions = [133, 98, 134, 143, 162, 187, 130, 87, 91, 49, 102, 47, 9, 132, 179, 176, 157, 25, 64, 161, 57, 107, 16, 167, 185, 45, 191, 180, 23, 131]; var index = 0; function check() { if (index == decisions.length) throw 'HALT'; return decisions[index++] }
L1: while(1) {
- print(7); state = check();
- if (state % 3 == 1) {
- label = 3;
- } else if (state % 3 == 0) {
- print(8); state = check();
- if (state % 2 == 0) {
- label = 5;
- } else {
- label = 7;
- }
+ print(7); state = check();
+ if (state % 3 == 1) {
+ label = 3;
+ } else if (state % 3 == 0) {
+ print(8); state = check();
+ if (state % 2 == 0) {
+ label = 5;
} else {
- break;
+ label = 7;
}
- while(1) {
- if (label == 3) {
- label = 0;
- print(2); state = check();
- print(1); state = check();
- if (state % 2 == 0) {
- label = 5;
- continue;
- } else {
- label = 7;
- continue;
- }
- }
- else if (label == 5) {
- label = 0;
- print(4); state = check();
- label = 3;
- continue;
- }
- else if (label == 7) {
- label = 0;
- print(6); state = check();
- if (state % 2 == 0) {
- continue L1;
- } else {
- label = 7;
- continue;
- }
- }
+ } else {
+ break;
+ }
+ while(1) {
+ if (label == 3) {
+ label = 0;
+ print(2); state = check();
+ print(1); state = check();
+ if (state % 2 == 0) {
+ label = 5;
+ continue;
+ } else {
+ label = 7;
+ continue;
+ }
}
+ else if (label == 5) {
+ label = 0;
+ print(4); state = check();
+ label = 3;
+ continue;
+ }
+ else if (label == 7) {
+ label = 0;
+ print(6); state = check();
+ if (state % 2 == 0) {
+ continue L1;
+ } else {
+ label = 7;
+ continue;
+ }
+ }
+ }
}
while(1) {
- print(3); state = check();
+ print(3); state = check();
}
diff --git a/src/relooper/test_fuzz6.txt b/src/relooper/test_fuzz6.txt
index d5a5ab7b..cd93958c 100644
--- a/src/relooper/test_fuzz6.txt
+++ b/src/relooper/test_fuzz6.txt
@@ -2,107 +2,107 @@
print('entry'); var label; var state; var decisions = [759, 1223, 618, 1805, 277, 512, 204, 1545, 606, 734, 585, 447, 1670, 1031, 665, 1728, 353, 634, 1033, 13, 658, 589, 474, 854, 405, 1111, 1640, 697, 1156, 1357, 317, 618, 990, 1401, 405, 564, 497, 829, 653, 1194, 25, 322, 1178, 198, 1565, 1419, 1608, 486, 368, 606, 813, 22, 148, 141, 261, 375, 472, 964, 1106, 694, 205, 771, 44, 675, 545, 1027, 1528, 240, 1289, 564, 792, 744, 366, 668, 823, 210, 428, 1009, 1662, 1317, 1183, 681, 14, 1334, 712, 506, 224, 695, 401, 1035, 384, 486, 1519, 122, 1186, 1487, 1819, 1702, 463, 1706, 660, 1642, 847, 991, 976, 940, 867, 46, 23, 1449, 56, 1711, 634, 404, 1558, 168, 710, 1581, 1302, 870, 997, 1295, 1739, 769, 1005, 291, 1638, 1771, 842, 659, 1695, 713, 935, 802, 1173, 1572, 850, 607, 996, 55, 1576, 321, 1815, 662, 1044, 1612, 1680, 1050, 844, 553, 278, 1447, 1662, 1094, 1797, 774, 1013, 1204, 907, 340, 1172, 1460, 869, 1264, 111, 1176, 484, 845, 258, 417, 1246, 1017, 745, 189, 333, 1658, 1395, 1764, 1786, 165, 404, 847, 1429, 1574, 403, 718, 1118, 1756, 94, 56, 1498, 1696, 1355, 840, 50, 82, 371, 1087, 875, 1337, 267, 958, 1209, 1167, 1025, 1684, 184, 962, 1496, 201, 127, 372, 1, 1005, 402, 1387, 213, 1143, 1271, 167, 10, 12, 1060, 1390, 1366, 893, 747, 1005, 481, 876, 227, 514, 589, 250, 273, 1188, 1052, 719, 219, 1006, 38, 120, 1454, 489, 672, 149, 534, 1081, 1721, 586, 330, 25, 356, 1743, 1607, 336, 981, 419, 1036, 1293, 1026, 1300, 1453, 792, 22, 45, 420, 409, 1027, 1437, 1421, 795, 136, 1276, 1610, 1593]; var index = 0; function check() { if (index == decisions.length) throw 'HALT'; return decisions[index++] }
while(1) {
- print(30); state = check();// .................................................................................................................................................................................................................
- if (state % 3 == 1) {
- label = 67;
- break;
- } else if (!(state % 3 == 0)) {
- break;
- }
- print(58); state = check();// ......................................................................................
+ print(30); state = check();// .................................................................................................................................................................................................................
+ if (state % 3 == 1) {
+ label = 67;
+ break;
+ } else if (!(state % 3 == 0)) {
+ break;
+ }
+ print(58); state = check();// ......................................................................................
}
if (label == 67) {
- print(66); state = check();// ...............................................................................................................
+ print(66); state = check();// ...............................................................................................................
}
print(6); state = check();// .........
while(1) {
- print(88); state = check();// ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
- print(70); state = check();// ..........................................................................................................................
- L10: while(1) {
- print(47); state = check();// ....................................................................................................................................
- print(28); state = check();// ..............................................................................................................
- while(1) {
- print(75); state = check();// .............................................
- print(7); state = check();// .............................................................................................................................................................................................
- if (!(state % 2 == 0)) {
- break;
- }
+ print(88); state = check();// ....................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
+ print(70); state = check();// ..........................................................................................................................
+ L10: while(1) {
+ print(47); state = check();// ....................................................................................................................................
+ print(28); state = check();// ..............................................................................................................
+ while(1) {
+ print(75); state = check();// .............................................
+ print(7); state = check();// .............................................................................................................................................................................................
+ if (!(state % 2 == 0)) {
+ break;
+ }
+ }
+ print(89); state = check();// ......................................................................................................................................................................................................................................................................................................................................................
+ print(68); state = check();// ......................................................................................................................................................................................................................................................................................................................
+ L18: while(1) {
+ print(51); state = check();// .............................................................................................
+ L20: while(1) {
+ print(36); state = check();// .........................
+ if (state % 2 == 0) {
+ break;
}
- print(89); state = check();// ......................................................................................................................................................................................................................................................................................................................................................
- print(68); state = check();// ......................................................................................................................................................................................................................................................................................................................
- L18: while(1) {
- print(51); state = check();// .............................................................................................
- L20: while(1) {
- print(36); state = check();// .........................
- if (state % 2 == 0) {
- break;
- }
- print(16); state = check();// ................................................................................................................................................................................................................................................................................................................................................................
- print(57); state = check();// ...........................................................................................................................................................................................................................................................................................................................
- print(39); state = check();// ................
- if (state % 3 == 1) {
- label = 74;
- } else if (!(state % 3 == 0)) {
- label = 32;
- break;
- }
- while(1) {
- if (label == 74) {
- label = 0;
- print(73); state = check();// .
- if (state % 3 == 1) {
- label = 32;
- break L20;
- } else if (state % 3 == 0) {
- break;
- }
- print(43); state = check();// .........
- print(32); state = check();// ......................................................................................................
- print(83); state = check();// ........................................................................................
- print(77); state = check();// ...........................................................................................................................................................................................................................................................................................
- print(76); state = check();// ..............................................................................................................................................................................................................................................................................................................................................................................................................................
- print(22); state = check();// .........................................................................................................
- }
- print(72); state = check();// ..........................................................................................................
- if (state % 2 == 0) {
- label = 92;
- break L20;
- }
- print(80); state = check();// ....................................
- if (state % 2 == 0) {
- continue L18;
- }
- print(50); state = check();// ........................................
- print(29); state = check();// ...............
- print(8); state = check();// ....................................................................................................................................................................................................................................................
- if (state % 2 == 0) {
- continue L10;
- }
- print(19); state = check();// ......................................................................................................................................................................................................................
- print(56); state = check();// ....................................................................................................................................................................................................................
- print(34); state = check();// ..........................................................................................................................................
- label = 74;
- }
- print(62); state = check();// .......................................................................................
- }
- if (label == 32) {
- label = 0;
- print(31); state = check();// ..........................................................................................................................................................................................................
- }
- else if (label == 92) {
- label = 0;
- print(91); state = check();// ..............................................
- print(33); state = check();// ....
- }
- print(60); state = check();// ......................................................................................................................................................................................................................................
- print(10); state = check();// ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
- print(52); state = check();// ..............................................................................
- if (state % 2 == 0) {
- break L10;
+ print(16); state = check();// ................................................................................................................................................................................................................................................................................................................................................................
+ print(57); state = check();// ...........................................................................................................................................................................................................................................................................................................................
+ print(39); state = check();// ................
+ if (state % 3 == 1) {
+ label = 74;
+ } else if (!(state % 3 == 0)) {
+ label = 32;
+ break;
+ }
+ while(1) {
+ if (label == 74) {
+ label = 0;
+ print(73); state = check();// .
+ if (state % 3 == 1) {
+ label = 32;
+ break L20;
+ } else if (state % 3 == 0) {
+ break;
}
- print(2); state = check();// .........
+ print(43); state = check();// .........
+ print(32); state = check();// ......................................................................................................
+ print(83); state = check();// ........................................................................................
+ print(77); state = check();// ...........................................................................................................................................................................................................................................................................................
+ print(76); state = check();// ..............................................................................................................................................................................................................................................................................................................................................................................................................................
+ print(22); state = check();// .........................................................................................................
+ }
+ print(72); state = check();// ..........................................................................................................
+ if (state % 2 == 0) {
+ label = 92;
+ break L20;
+ }
+ print(80); state = check();// ....................................
+ if (state % 2 == 0) {
+ continue L18;
+ }
+ print(50); state = check();// ........................................
+ print(29); state = check();// ...............
+ print(8); state = check();// ....................................................................................................................................................................................................................................................
+ if (state % 2 == 0) {
+ continue L10;
+ }
+ print(19); state = check();// ......................................................................................................................................................................................................................
+ print(56); state = check();// ....................................................................................................................................................................................................................
+ print(34); state = check();// ..........................................................................................................................................
+ label = 74;
}
+ print(62); state = check();// .......................................................................................
+ }
+ if (label == 32) {
+ label = 0;
+ print(31); state = check();// ..........................................................................................................................................................................................................
+ }
+ else if (label == 92) {
+ label = 0;
+ print(91); state = check();// ..............................................
+ print(33); state = check();// ....
+ }
+ print(60); state = check();// ......................................................................................................................................................................................................................................
+ print(10); state = check();// ...................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
+ print(52); state = check();// ..............................................................................
+ if (state % 2 == 0) {
+ break L10;
+ }
+ print(2); state = check();// .........
}
- print(61); state = check();// .........................................................................................................................................................
+ }
+ print(61); state = check();// .........................................................................................................................................................
}
diff --git a/src/relooper/test_inf.txt b/src/relooper/test_inf.txt
index 1dff59bb..bc2fad3e 100644
--- a/src/relooper/test_inf.txt
+++ b/src/relooper/test_inf.txt
@@ -1,385 +1,385 @@
code 0
if (uint(i4) >= uint(i5)) {
- code 2
+ code 2
} else {
- code 1
+ code 1
}
code 3
if (!(i2 == 0)) {
- code 4
- while(1) {
- code 5
- if (uint(i6) >= uint(i7)) {
- code 7
- } else {
- code 6
- }
- code 8
- if (uint(i6) >= uint(i7)) {
- code 10
- } else {
- code 9
- }
- code 11
- if (uint(i5) >= uint(i6)) {
- code 13
- } else {
- code 12
- }
- code 14
- if (!(i2 != 0)) {
- break;
- }
+ code 4
+ while(1) {
+ code 5
+ if (uint(i6) >= uint(i7)) {
+ code 7
+ } else {
+ code 6
+ }
+ code 8
+ if (uint(i6) >= uint(i7)) {
+ code 10
+ } else {
+ code 9
+ }
+ code 11
+ if (uint(i5) >= uint(i6)) {
+ code 13
+ } else {
+ code 12
}
+ code 14
+ if (!(i2 != 0)) {
+ break;
+ }
+ }
}
code 15
if (uint(i4) >= uint(i5)) {
- code 17
+ code 17
} else {
- code 16
+ code 16
}
code 18
if (!(i2 == 0)) {
- code 19
- while(1) {
- code 20
- if (uint(i5) >= uint(i6)) {
- code 22
- } else {
- code 21
- }
- code 23
- if (uint(i5) >= uint(i6)) {
- code 25
- } else {
- code 24
- }
- code 26
- if (uint(i5) >= uint(i6)) {
- code 28
- } else {
- code 27
- }
- code 29
- if (uint(i5) >= uint(i6)) {
- code 31
- } else {
- code 30
- }
- code 32
- if (uint(i5) >= uint(i6)) {
- code 34
- } else {
- code 33
- }
- code 35
- if (uint(i5) >= uint(i6)) {
- code 37
- } else {
- code 36
- }
- code 38
- if (uint(i5) >= uint(i6)) {
- code 40
- } else {
- code 39
- }
- code 41
- if (uint(i5) >= uint(i6)) {
- code 43
- } else {
- code 42
- }
- code 44
- if (uint(i5) >= uint(i6)) {
- code 46
- } else {
- code 45
- }
- code 47
- if (uint(i5) >= uint(i6)) {
- code 49
- } else {
- code 48
- }
- code 50
- if (uint(i5) >= uint(i6)) {
- code 52
- } else {
- code 51
- }
- code 53
- if (uint(i5) >= uint(i6)) {
- code 55
- } else {
- code 54
- }
- code 56
- if (uint(i5) >= uint(i6)) {
- code 58
- } else {
- code 57
- }
- code 59
- if (uint(i5) >= uint(i6)) {
- code 61
- } else {
- code 60
- }
- code 62
- if (uint(i5) >= uint(i6)) {
- code 64
- } else {
- code 63
- }
- code 65
- if (uint(i5) >= uint(i6)) {
- code 67
- } else {
- code 66
- }
- code 68
- if (uint(i5) >= uint(i6)) {
- code 70
- } else {
- code 69
- }
- code 71
- if (uint(i5) >= uint(i6)) {
- code 73
- } else {
- code 72
- }
- code 74
- if (uint(i5) >= uint(i6)) {
- code 76
- } else {
- code 75
- }
- code 77
- if (uint(i5) >= uint(i6)) {
- code 79
- } else {
- code 78
- }
- code 80
- if (uint(i5) >= uint(i6)) {
- code 82
- } else {
- code 81
- }
- code 83
- if (uint(i5) >= uint(i6)) {
- code 85
- } else {
- code 84
- }
- code 86
- if (uint(i5) >= uint(i6)) {
- code 88
- } else {
- code 87
- }
- code 89
- if (uint(i5) >= uint(i6)) {
- code 91
- } else {
- code 90
- }
- code 92
- if (uint(i5) >= uint(i6)) {
- code 94
- } else {
- code 93
- }
- code 95
- if (uint(i5) >= uint(i6)) {
- code 97
- } else {
- code 96
- }
- code 98
- if (uint(i5) >= uint(i6)) {
- code 100
- } else {
- code 99
- }
- code 101
- if (!(i2 != 0)) {
- break;
- }
+ code 19
+ while(1) {
+ code 20
+ if (uint(i5) >= uint(i6)) {
+ code 22
+ } else {
+ code 21
}
+ code 23
+ if (uint(i5) >= uint(i6)) {
+ code 25
+ } else {
+ code 24
+ }
+ code 26
+ if (uint(i5) >= uint(i6)) {
+ code 28
+ } else {
+ code 27
+ }
+ code 29
+ if (uint(i5) >= uint(i6)) {
+ code 31
+ } else {
+ code 30
+ }
+ code 32
+ if (uint(i5) >= uint(i6)) {
+ code 34
+ } else {
+ code 33
+ }
+ code 35
+ if (uint(i5) >= uint(i6)) {
+ code 37
+ } else {
+ code 36
+ }
+ code 38
+ if (uint(i5) >= uint(i6)) {
+ code 40
+ } else {
+ code 39
+ }
+ code 41
+ if (uint(i5) >= uint(i6)) {
+ code 43
+ } else {
+ code 42
+ }
+ code 44
+ if (uint(i5) >= uint(i6)) {
+ code 46
+ } else {
+ code 45
+ }
+ code 47
+ if (uint(i5) >= uint(i6)) {
+ code 49
+ } else {
+ code 48
+ }
+ code 50
+ if (uint(i5) >= uint(i6)) {
+ code 52
+ } else {
+ code 51
+ }
+ code 53
+ if (uint(i5) >= uint(i6)) {
+ code 55
+ } else {
+ code 54
+ }
+ code 56
+ if (uint(i5) >= uint(i6)) {
+ code 58
+ } else {
+ code 57
+ }
+ code 59
+ if (uint(i5) >= uint(i6)) {
+ code 61
+ } else {
+ code 60
+ }
+ code 62
+ if (uint(i5) >= uint(i6)) {
+ code 64
+ } else {
+ code 63
+ }
+ code 65
+ if (uint(i5) >= uint(i6)) {
+ code 67
+ } else {
+ code 66
+ }
+ code 68
+ if (uint(i5) >= uint(i6)) {
+ code 70
+ } else {
+ code 69
+ }
+ code 71
+ if (uint(i5) >= uint(i6)) {
+ code 73
+ } else {
+ code 72
+ }
+ code 74
+ if (uint(i5) >= uint(i6)) {
+ code 76
+ } else {
+ code 75
+ }
+ code 77
+ if (uint(i5) >= uint(i6)) {
+ code 79
+ } else {
+ code 78
+ }
+ code 80
+ if (uint(i5) >= uint(i6)) {
+ code 82
+ } else {
+ code 81
+ }
+ code 83
+ if (uint(i5) >= uint(i6)) {
+ code 85
+ } else {
+ code 84
+ }
+ code 86
+ if (uint(i5) >= uint(i6)) {
+ code 88
+ } else {
+ code 87
+ }
+ code 89
+ if (uint(i5) >= uint(i6)) {
+ code 91
+ } else {
+ code 90
+ }
+ code 92
+ if (uint(i5) >= uint(i6)) {
+ code 94
+ } else {
+ code 93
+ }
+ code 95
+ if (uint(i5) >= uint(i6)) {
+ code 97
+ } else {
+ code 96
+ }
+ code 98
+ if (uint(i5) >= uint(i6)) {
+ code 100
+ } else {
+ code 99
+ }
+ code 101
+ if (!(i2 != 0)) {
+ break;
+ }
+ }
}
code 102
if (uint(i4) >= uint(i5)) {
- code 104
+ code 104
} else {
- code 103
+ code 103
}
code 105
if (!(i2 == 0)) {
- code 106
- while(1) {
- code 107
- if (uint(i5) >= uint(i6)) {
- code 109
- } else {
- code 108
- }
- code 110
- if (uint(i5) >= uint(i6)) {
- code 112
- } else {
- code 111
- }
- code 113
- if (uint(i5) >= uint(i6)) {
- code 115
- } else {
- code 114
- }
- code 116
- if (uint(i5) >= uint(i6)) {
- code 118
- } else {
- code 117
- }
- code 119
- if (uint(i5) >= uint(i6)) {
- code 121
- } else {
- code 120
- }
- code 122
- if (uint(i5) >= uint(i6)) {
- code 124
- } else {
- code 123
- }
- code 125
- if (uint(i5) >= uint(i6)) {
- code 127
- } else {
- code 126
- }
- code 128
- if (uint(i5) >= uint(i6)) {
- code 130
- } else {
- code 129
- }
- code 131
- if (uint(i5) >= uint(i6)) {
- code 133
- } else {
- code 132
- }
- code 134
- if (uint(i5) >= uint(i6)) {
- code 136
- } else {
- code 135
- }
- code 137
- if (uint(i5) >= uint(i6)) {
- code 139
- } else {
- code 138
- }
- code 140
- if (uint(i5) >= uint(i6)) {
- code 142
- } else {
- code 141
- }
- code 143
- if (uint(i5) >= uint(i6)) {
- code 145
- } else {
- code 144
- }
- code 146
- if (uint(i5) >= uint(i6)) {
- code 148
- } else {
- code 147
- }
- code 149
- if (uint(i5) >= uint(i6)) {
- code 151
- } else {
- code 150
- }
- code 152
- if (uint(i5) >= uint(i6)) {
- code 154
- } else {
- code 153
- }
- code 155
- if (uint(i5) >= uint(i6)) {
- code 157
- } else {
- code 156
- }
- code 158
- if (uint(i5) >= uint(i6)) {
- code 160
- } else {
- code 159
- }
- code 161
- if (uint(i5) >= uint(i6)) {
- code 163
- } else {
- code 162
- }
- code 164
- if (uint(i5) >= uint(i6)) {
- code 166
- } else {
- code 165
- }
- code 167
- if (!(i2 != 0)) {
- break;
- }
+ code 106
+ while(1) {
+ code 107
+ if (uint(i5) >= uint(i6)) {
+ code 109
+ } else {
+ code 108
}
-}
-code 168
-if (uint(i4) >= uint(i5)) {
- code 170
-} else {
- code 169
-}
-code 171
-if (i2 == 0) {
- code 183
-}
-code 172
-while(1) {
- code 173
+ code 110
+ if (uint(i5) >= uint(i6)) {
+ code 112
+ } else {
+ code 111
+ }
+ code 113
+ if (uint(i5) >= uint(i6)) {
+ code 115
+ } else {
+ code 114
+ }
+ code 116
+ if (uint(i5) >= uint(i6)) {
+ code 118
+ } else {
+ code 117
+ }
+ code 119
+ if (uint(i5) >= uint(i6)) {
+ code 121
+ } else {
+ code 120
+ }
+ code 122
+ if (uint(i5) >= uint(i6)) {
+ code 124
+ } else {
+ code 123
+ }
+ code 125
+ if (uint(i5) >= uint(i6)) {
+ code 127
+ } else {
+ code 126
+ }
+ code 128
+ if (uint(i5) >= uint(i6)) {
+ code 130
+ } else {
+ code 129
+ }
+ code 131
+ if (uint(i5) >= uint(i6)) {
+ code 133
+ } else {
+ code 132
+ }
+ code 134
+ if (uint(i5) >= uint(i6)) {
+ code 136
+ } else {
+ code 135
+ }
+ code 137
+ if (uint(i5) >= uint(i6)) {
+ code 139
+ } else {
+ code 138
+ }
+ code 140
+ if (uint(i5) >= uint(i6)) {
+ code 142
+ } else {
+ code 141
+ }
+ code 143
+ if (uint(i5) >= uint(i6)) {
+ code 145
+ } else {
+ code 144
+ }
+ code 146
+ if (uint(i5) >= uint(i6)) {
+ code 148
+ } else {
+ code 147
+ }
+ code 149
if (uint(i5) >= uint(i6)) {
- code 175
+ code 151
} else {
- code 174
+ code 150
}
- code 176
+ code 152
if (uint(i5) >= uint(i6)) {
- code 178
+ code 154
} else {
- code 177
+ code 153
}
- code 179
- if (uint(i4) >= uint(i5)) {
- code 181
+ code 155
+ if (uint(i5) >= uint(i6)) {
+ code 157
+ } else {
+ code 156
+ }
+ code 158
+ if (uint(i5) >= uint(i6)) {
+ code 160
+ } else {
+ code 159
+ }
+ code 161
+ if (uint(i5) >= uint(i6)) {
+ code 163
+ } else {
+ code 162
+ }
+ code 164
+ if (uint(i5) >= uint(i6)) {
+ code 166
} else {
- code 180
+ code 165
}
- code 182
+ code 167
if (!(i2 != 0)) {
- break;
+ break;
}
+ }
+}
+code 168
+if (uint(i4) >= uint(i5)) {
+ code 170
+} else {
+ code 169
+}
+code 171
+if (i2 == 0) {
+ code 183
+}
+code 172
+while(1) {
+ code 173
+ if (uint(i5) >= uint(i6)) {
+ code 175
+ } else {
+ code 174
+ }
+ code 176
+ if (uint(i5) >= uint(i6)) {
+ code 178
+ } else {
+ code 177
+ }
+ code 179
+ if (uint(i4) >= uint(i5)) {
+ code 181
+ } else {
+ code 180
+ }
+ code 182
+ if (!(i2 != 0)) {
+ break;
+ }
}
code 183