0 JBC
↳1 JBCToGraph (⇒, 750 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIDPv1Proof (⇒, 1810 ms)
↳7 IDP
↳8 IDPNonInfProof (⇒, 690 ms)
↳9 AND
↳10 IDP
↳11 IDependencyGraphProof (⇔, 0 ms)
↳12 IDP
↳13 UsableRulesProof (⇔, 0 ms)
↳14 IDP
↳15 IDPNonInfProof (⇒, 2240 ms)
↳16 IDP
↳17 IDependencyGraphProof (⇔, 0 ms)
↳18 TRUE
↳19 IDP
↳20 IDependencyGraphProof (⇔, 0 ms)
↳21 IDP
↳22 UsableRulesProof (⇔, 0 ms)
↳23 IDP
↳24 IDPNonInfProof (⇒, 2420 ms)
↳25 IDP
↳26 IDependencyGraphProof (⇔, 0 ms)
↳27 TRUE
↳28 JBCTerminationSCC
↳29 SCCToIDPv1Proof (⇒, 290 ms)
↳30 IDP
↳31 IDPNonInfProof (⇒, 250 ms)
↳32 AND
↳33 IDP
↳34 IDependencyGraphProof (⇔, 0 ms)
↳35 TRUE
↳36 IDP
↳37 IDependencyGraphProof (⇔, 0 ms)
↳38 TRUE
package BinarySearch;
public class BinarySearch {
public static void main(String[] argv) {
Random.args = argv;
int[] data = createArray();
binarySearch(data, Random.random());
}
public static boolean binarySearch(int[] data, int val) {
return binarySearch(data, val, 0, data.length);
}
private static boolean binarySearch(int[] data, int val, int l, int u) {
if (l > u) {
return false;
}
int mid = l + (u - l)/2;
if (data[mid] == val) {
return true;
} else {
if (binarySearch(data, val, l, mid - 1)) {
return true;
}
return binarySearch(data, val, mid + 1, u);
}
}
public static int[] createArray() {
int[] data = new int[Random.random()];
for (int i = 0; i < data.length; i++) {
data[i] = Random.random();
}
return data;
}
}
package BinarySearch;
public class Random {
static String[] args;
static int index = 0;
public static int random() {
final String string = args[index];
index++;
return string.length();
}
}
Generated 58 rules for P and 105 rules for R.
P rules:
1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542) → 1906_0_binarySearch_LE(EOS(STATIC_1906), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543)
1906_0_binarySearch_LE(EOS(STATIC_1906), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543) → 1907_0_binarySearch_LE(EOS(STATIC_1907), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543)
1907_0_binarySearch_LE(EOS(STATIC_1907), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543) → 1909_0_binarySearch_Load(EOS(STATIC_1909), java.lang.Object(ARRAY(i540)), i541, i542, i543) | <=(i542, i543)
1909_0_binarySearch_Load(EOS(STATIC_1909), java.lang.Object(ARRAY(i540)), i541, i542, i543) → 1911_0_binarySearch_Load(EOS(STATIC_1911), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542)
1911_0_binarySearch_Load(EOS(STATIC_1911), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542) → 1914_0_binarySearch_Load(EOS(STATIC_1914), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543)
1914_0_binarySearch_Load(EOS(STATIC_1914), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543) → 1917_0_binarySearch_IntArithmetic(EOS(STATIC_1917), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543, i542)
1917_0_binarySearch_IntArithmetic(EOS(STATIC_1917), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543, i542) → 1923_0_binarySearch_ConstantStackPush(EOS(STATIC_1923), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, -(i543, i542))
1923_0_binarySearch_ConstantStackPush(EOS(STATIC_1923), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i555) → 1925_0_binarySearch_IntArithmetic(EOS(STATIC_1925), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i555, 2)
1925_0_binarySearch_IntArithmetic(EOS(STATIC_1925), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i555, matching1) → 1929_0_binarySearch_IntArithmetic(EOS(STATIC_1929), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, /(i555, 2)) | =(matching1, 2)
1929_0_binarySearch_IntArithmetic(EOS(STATIC_1929), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i558) → 1932_0_binarySearch_Store(EOS(STATIC_1932), java.lang.Object(ARRAY(i540)), i541, i542, i543, +(i542, i558))
1932_0_binarySearch_Store(EOS(STATIC_1932), java.lang.Object(ARRAY(i540)), i541, i542, i543, i561) → 1937_0_binarySearch_Load(EOS(STATIC_1937), java.lang.Object(ARRAY(i540)), i541, i542, i543, i561)
1937_0_binarySearch_Load(EOS(STATIC_1937), java.lang.Object(ARRAY(i540)), i541, i542, i543, i561) → 1940_0_binarySearch_Load(EOS(STATIC_1940), java.lang.Object(ARRAY(i540)), i541, i542, i543, i561, java.lang.Object(ARRAY(i540)))
1940_0_binarySearch_Load(EOS(STATIC_1940), java.lang.Object(ARRAY(i540)), i541, i542, i543, i561, java.lang.Object(ARRAY(i540))) → 1942_0_binarySearch_ArrayAccess(EOS(STATIC_1942), java.lang.Object(ARRAY(i540)), i541, i542, i543, i561, java.lang.Object(ARRAY(i540)), i561)
1942_0_binarySearch_ArrayAccess(EOS(STATIC_1942), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1945_0_binarySearch_ArrayAccess(EOS(STATIC_1945), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1945_0_binarySearch_ArrayAccess(EOS(STATIC_1945), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1947_0_binarySearch_ArrayAccess(EOS(STATIC_1947), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1947_0_binarySearch_ArrayAccess(EOS(STATIC_1947), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1950_0_binarySearch_Load(EOS(STATIC_1950), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i569) | <(i568, i540)
1950_0_binarySearch_Load(EOS(STATIC_1950), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i569) → 1955_0_binarySearch_NE(EOS(STATIC_1955), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i569, i541)
1955_0_binarySearch_NE(EOS(STATIC_1955), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i569, i541) → 1958_0_binarySearch_NE(EOS(STATIC_1958), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i569, i541)
1958_0_binarySearch_NE(EOS(STATIC_1958), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i569, i541) → 1964_0_binarySearch_Load(EOS(STATIC_1964), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568) | !(=(i569, i541))
1964_0_binarySearch_Load(EOS(STATIC_1964), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568) → 1970_0_binarySearch_Load(EOS(STATIC_1970), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)))
1970_0_binarySearch_Load(EOS(STATIC_1970), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540))) → 1975_0_binarySearch_Load(EOS(STATIC_1975), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i541)
1975_0_binarySearch_Load(EOS(STATIC_1975), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i541) → 1981_0_binarySearch_Load(EOS(STATIC_1981), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542)
1981_0_binarySearch_Load(EOS(STATIC_1981), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542) → 1990_0_binarySearch_ConstantStackPush(EOS(STATIC_1990), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542, i568)
1990_0_binarySearch_ConstantStackPush(EOS(STATIC_1990), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542, i568) → 1996_0_binarySearch_IntArithmetic(EOS(STATIC_1996), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542, i568, 1)
1996_0_binarySearch_IntArithmetic(EOS(STATIC_1996), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542, i568, matching1) → 1999_0_binarySearch_InvokeMethod(EOS(STATIC_1999), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542, -(i568, 1)) | &&(>=(i568, 0), =(matching1, 1))
1999_0_binarySearch_InvokeMethod(EOS(STATIC_1999), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542, i580) → 2002_1_binarySearch_InvokeMethod(2002_0_binarySearch_Load(EOS(STATIC_2002), java.lang.Object(ARRAY(i540)), i541, i542, i580), java.lang.Object(ARRAY(i540)), i541, i543, i568, java.lang.Object(ARRAY(i540)), i541, i542, i580)
2002_0_binarySearch_Load(EOS(STATIC_2002), java.lang.Object(ARRAY(i540)), i541, i542, i580) → 2006_0_binarySearch_Load(EOS(STATIC_2006), java.lang.Object(ARRAY(i540)), i541, i542, i580)
2002_1_binarySearch_InvokeMethod(1912_0_binarySearch_Return(EOS(STATIC_1912), java.lang.Object(ARRAY(i588)), i589, i590, i591, matching1), java.lang.Object(ARRAY(i588)), i589, i543, i568, java.lang.Object(ARRAY(i588)), i589, i590, i591) → 2022_0_binarySearch_Return(EOS(STATIC_2022), java.lang.Object(ARRAY(i588)), i589, i543, i568, java.lang.Object(ARRAY(i588)), i589, i590, i591, java.lang.Object(ARRAY(i588)), i589, i590, i591, 0) | =(matching1, 0)
2002_1_binarySearch_InvokeMethod(1972_0_binarySearch_Return(EOS(STATIC_1972), java.lang.Object(ARRAY(i601)), i602, i603, i604, i597, matching1), java.lang.Object(ARRAY(i601)), i602, i543, i568, java.lang.Object(ARRAY(i601)), i602, i603, i604) → 2023_0_binarySearch_Return(EOS(STATIC_2023), java.lang.Object(ARRAY(i601)), i602, i543, i568, java.lang.Object(ARRAY(i601)), i602, i603, i604, java.lang.Object(ARRAY(i601)), i602, i603, i604, i597, 1) | =(matching1, 1)
2002_1_binarySearch_InvokeMethod(2312_0_binarySearch_Return(EOS(STATIC_2312), java.lang.Object(ARRAY(i1099)), i1100, i1102, i1098, matching1), java.lang.Object(ARRAY(i1099)), i1100, i543, i568, java.lang.Object(ARRAY(i1099)), i1100, i1101, i1102) → 2341_0_binarySearch_Return(EOS(STATIC_2341), java.lang.Object(ARRAY(i1099)), i1100, i543, i568, java.lang.Object(ARRAY(i1099)), i1100, i1101, i1102, java.lang.Object(ARRAY(i1099)), i1100, i1102, i1098, 1) | =(matching1, 1)
2002_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return(EOS(STATIC_2394), matching1), java.lang.Object(ARRAY(i1294)), i1295, i543, i568, java.lang.Object(ARRAY(i1294)), i1295, i1296, i1297) → 2449_0_binarySearch_Return(EOS(STATIC_2449), java.lang.Object(ARRAY(i1294)), i1295, i543, i568, java.lang.Object(ARRAY(i1294)), i1295, i1296, i1297, 0) | =(matching1, 0)
2002_1_binarySearch_InvokeMethod(2405_0_binarySearch_Return(EOS(STATIC_2405), matching1), java.lang.Object(ARRAY(i1330)), i1331, i543, i568, java.lang.Object(ARRAY(i1330)), i1331, i1332, i1333) → 2457_0_binarySearch_Return(EOS(STATIC_2457), java.lang.Object(ARRAY(i1330)), i1331, i543, i568, java.lang.Object(ARRAY(i1330)), i1331, i1332, i1333, 1) | =(matching1, 1)
2002_1_binarySearch_InvokeMethod(2481_0_binarySearch_Return(EOS(STATIC_2481), i1373), java.lang.Object(ARRAY(i1522)), i1523, i543, i568, java.lang.Object(ARRAY(i1522)), i1523, i1524, i1525) → 2555_0_binarySearch_Return(EOS(STATIC_2555), java.lang.Object(ARRAY(i1522)), i1523, i543, i568, java.lang.Object(ARRAY(i1522)), i1523, i1524, i1525, i1373)
2006_0_binarySearch_Load(EOS(STATIC_2006), java.lang.Object(ARRAY(i540)), i541, i542, i580) → 1900_0_binarySearch_Load(EOS(STATIC_1900), java.lang.Object(ARRAY(i540)), i541, i542, i580)
1900_0_binarySearch_Load(EOS(STATIC_1900), java.lang.Object(ARRAY(i540)), i541, i542, i543) → 1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542)
2022_0_binarySearch_Return(EOS(STATIC_2022), java.lang.Object(ARRAY(i588)), i589, i543, i568, java.lang.Object(ARRAY(i588)), i589, i590, i591, java.lang.Object(ARRAY(i588)), i589, i590, i591, matching1) → 2028_0_binarySearch_EQ(EOS(STATIC_2028), java.lang.Object(ARRAY(i588)), i589, i543, i568, 0) | =(matching1, 0)
2028_0_binarySearch_EQ(EOS(STATIC_2028), java.lang.Object(ARRAY(i588)), i589, i543, i568, matching1) → 2282_0_binarySearch_EQ(EOS(STATIC_2282), java.lang.Object(ARRAY(i588)), i589, i543, i568, 0) | =(matching1, 0)
2282_0_binarySearch_EQ(EOS(STATIC_2282), java.lang.Object(ARRAY(i1019)), i1020, i543, i568, matching1) → 2297_0_binarySearch_EQ(EOS(STATIC_2297), java.lang.Object(ARRAY(i1019)), i1020, i543, i568, 0) | =(matching1, 0)
2297_0_binarySearch_EQ(EOS(STATIC_2297), java.lang.Object(ARRAY(i1019)), i1020, i543, i568, matching1) → 2303_0_binarySearch_Load(EOS(STATIC_2303), java.lang.Object(ARRAY(i1019)), i1020, i543, i568) | =(matching1, 0)
2303_0_binarySearch_Load(EOS(STATIC_2303), java.lang.Object(ARRAY(i1019)), i1020, i543, i568) → 2313_0_binarySearch_Load(EOS(STATIC_2313), i1020, i543, i568, java.lang.Object(ARRAY(i1019)))
2313_0_binarySearch_Load(EOS(STATIC_2313), i1020, i543, i568, java.lang.Object(ARRAY(i1019))) → 2317_0_binarySearch_Load(EOS(STATIC_2317), i543, i568, java.lang.Object(ARRAY(i1019)), i1020)
2317_0_binarySearch_Load(EOS(STATIC_2317), i543, i568, java.lang.Object(ARRAY(i1019)), i1020) → 2332_0_binarySearch_ConstantStackPush(EOS(STATIC_2332), i543, java.lang.Object(ARRAY(i1019)), i1020, i568)
2332_0_binarySearch_ConstantStackPush(EOS(STATIC_2332), i543, java.lang.Object(ARRAY(i1019)), i1020, i568) → 2342_0_binarySearch_IntArithmetic(EOS(STATIC_2342), i543, java.lang.Object(ARRAY(i1019)), i1020, i568, 1)
2342_0_binarySearch_IntArithmetic(EOS(STATIC_2342), i543, java.lang.Object(ARRAY(i1019)), i1020, i568, matching1) → 2343_0_binarySearch_Load(EOS(STATIC_2343), i543, java.lang.Object(ARRAY(i1019)), i1020, +(i568, 1)) | &&(>=(i568, 0), =(matching1, 1))
2343_0_binarySearch_Load(EOS(STATIC_2343), i543, java.lang.Object(ARRAY(i1019)), i1020, i1130) → 2344_0_binarySearch_InvokeMethod(EOS(STATIC_2344), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543)
2344_0_binarySearch_InvokeMethod(EOS(STATIC_2344), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543) → 2346_1_binarySearch_InvokeMethod(2346_0_binarySearch_Load(EOS(STATIC_2346), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543)
2346_0_binarySearch_Load(EOS(STATIC_2346), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543) → 2347_0_binarySearch_Load(EOS(STATIC_2347), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543)
2347_0_binarySearch_Load(EOS(STATIC_2347), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543) → 1900_0_binarySearch_Load(EOS(STATIC_1900), java.lang.Object(ARRAY(i1019)), i1020, i1130, i543)
2023_0_binarySearch_Return(EOS(STATIC_2023), java.lang.Object(ARRAY(i601)), i602, i543, i568, java.lang.Object(ARRAY(i601)), i602, i603, i604, java.lang.Object(ARRAY(i601)), i602, i603, i604, i597, matching1) → 2030_0_binarySearch_EQ(EOS(STATIC_2030), java.lang.Object(ARRAY(i601)), i602, i543, i568, 1) | =(matching1, 1)
2030_0_binarySearch_EQ(EOS(STATIC_2030), java.lang.Object(ARRAY(i601)), i602, i543, i568, matching1) → 2083_0_binarySearch_EQ(EOS(STATIC_2083), java.lang.Object(ARRAY(i601)), i602, i543, i568, 1) | =(matching1, 1)
2083_0_binarySearch_EQ(EOS(STATIC_2083), java.lang.Object(ARRAY(i619)), i620, i543, i568, matching1) → 2282_0_binarySearch_EQ(EOS(STATIC_2282), java.lang.Object(ARRAY(i619)), i620, i543, i568, 1) | =(matching1, 1)
2341_0_binarySearch_Return(EOS(STATIC_2341), java.lang.Object(ARRAY(i1099)), i1100, i543, i568, java.lang.Object(ARRAY(i1099)), i1100, i1101, i1102, java.lang.Object(ARRAY(i1099)), i1100, i1102, i1098, matching1) → 2074_0_binarySearch_Return(EOS(STATIC_2074), java.lang.Object(ARRAY(i1099)), i1100, i543, i568, java.lang.Object(ARRAY(i1099)), i1100, i1101, i1102, java.lang.Object(ARRAY(i1099)), i1100, i1102, i1098, 1) | =(matching1, 1)
2074_0_binarySearch_Return(EOS(STATIC_2074), java.lang.Object(ARRAY(i619)), i620, i543, i568, java.lang.Object(ARRAY(i619)), i620, i621, i622, java.lang.Object(ARRAY(i619)), i620, i622, i618, matching1) → 2083_0_binarySearch_EQ(EOS(STATIC_2083), java.lang.Object(ARRAY(i619)), i620, i543, i568, 1) | =(matching1, 1)
2449_0_binarySearch_Return(EOS(STATIC_2449), java.lang.Object(ARRAY(i1294)), i1295, i543, i568, java.lang.Object(ARRAY(i1294)), i1295, i1296, i1297, matching1) → 2255_0_binarySearch_Return(EOS(STATIC_2255), java.lang.Object(ARRAY(i1294)), i1295, i543, i568, java.lang.Object(ARRAY(i1294)), i1295, i1296, i1297, 0) | =(matching1, 0)
2255_0_binarySearch_Return(EOS(STATIC_2255), java.lang.Object(ARRAY(i911)), i912, i543, i568, java.lang.Object(ARRAY(i911)), i912, i913, i917, i916) → 2281_0_binarySearch_EQ(EOS(STATIC_2281), java.lang.Object(ARRAY(i911)), i912, i543, i568, i916)
2281_0_binarySearch_EQ(EOS(STATIC_2281), java.lang.Object(ARRAY(i911)), i912, i543, i568, i916) → 2282_0_binarySearch_EQ(EOS(STATIC_2282), java.lang.Object(ARRAY(i911)), i912, i543, i568, i916)
2457_0_binarySearch_Return(EOS(STATIC_2457), java.lang.Object(ARRAY(i1330)), i1331, i543, i568, java.lang.Object(ARRAY(i1330)), i1331, i1332, i1333, matching1) → 2255_0_binarySearch_Return(EOS(STATIC_2255), java.lang.Object(ARRAY(i1330)), i1331, i543, i568, java.lang.Object(ARRAY(i1330)), i1331, i1332, i1333, 1) | =(matching1, 1)
2555_0_binarySearch_Return(EOS(STATIC_2555), java.lang.Object(ARRAY(i1522)), i1523, i543, i568, java.lang.Object(ARRAY(i1522)), i1523, i1524, i1525, i1373) → 2255_0_binarySearch_Return(EOS(STATIC_2255), java.lang.Object(ARRAY(i1522)), i1523, i543, i568, java.lang.Object(ARRAY(i1522)), i1523, i1524, i1525, i1373)
R rules:
1906_0_binarySearch_LE(EOS(STATIC_1906), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543) → 1908_0_binarySearch_LE(EOS(STATIC_1908), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543)
1908_0_binarySearch_LE(EOS(STATIC_1908), java.lang.Object(ARRAY(i540)), i541, i542, i543, i542, i543) → 1910_0_binarySearch_ConstantStackPush(EOS(STATIC_1910), java.lang.Object(ARRAY(i540)), i541, i542, i543) | >(i542, i543)
1910_0_binarySearch_ConstantStackPush(EOS(STATIC_1910), java.lang.Object(ARRAY(i540)), i541, i542, i543) → 1912_0_binarySearch_Return(EOS(STATIC_1912), java.lang.Object(ARRAY(i540)), i541, i542, i543, 0)
1942_0_binarySearch_ArrayAccess(EOS(STATIC_1942), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1944_0_binarySearch_ArrayAccess(EOS(STATIC_1944), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1944_0_binarySearch_ArrayAccess(EOS(STATIC_1944), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1946_0_<init>_Load(EOS(STATIC_1946), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) | <=(i567, -1)
1945_0_binarySearch_ArrayAccess(EOS(STATIC_1945), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1948_0_binarySearch_ArrayAccess(EOS(STATIC_1948), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1946_0_<init>_Load(EOS(STATIC_1946), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1953_0_<init>_InvokeMethod(EOS(STATIC_1953), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1948_0_binarySearch_ArrayAccess(EOS(STATIC_1948), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1952_0_<init>_Load(EOS(STATIC_1952), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) | >=(i568, i540)
1952_0_<init>_Load(EOS(STATIC_1952), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1962_0_<init>_InvokeMethod(EOS(STATIC_1962), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1953_0_<init>_InvokeMethod(EOS(STATIC_1953), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1957_0_<init>_Load(EOS(STATIC_1957), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1955_0_binarySearch_NE(EOS(STATIC_1955), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i541, i541) → 1960_0_binarySearch_NE(EOS(STATIC_1960), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i541, i541)
1957_0_<init>_Load(EOS(STATIC_1957), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1969_0_<init>_InvokeMethod(EOS(STATIC_1969), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1960_0_binarySearch_NE(EOS(STATIC_1960), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, i541, i541) → 1966_0_binarySearch_ConstantStackPush(EOS(STATIC_1966), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568)
1962_0_<init>_InvokeMethod(EOS(STATIC_1962), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1967_0_<init>_Load(EOS(STATIC_1967), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1966_0_binarySearch_ConstantStackPush(EOS(STATIC_1966), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568) → 1972_0_binarySearch_Return(EOS(STATIC_1972), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, 1)
1967_0_<init>_Load(EOS(STATIC_1967), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1979_0_<init>_InvokeMethod(EOS(STATIC_1979), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1969_0_<init>_InvokeMethod(EOS(STATIC_1969), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1974_0_<init>_Load(EOS(STATIC_1974), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1974_0_<init>_Load(EOS(STATIC_1974), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1989_0_<init>_InvokeMethod(EOS(STATIC_1989), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1979_0_<init>_InvokeMethod(EOS(STATIC_1979), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1987_0_<init>_Load(EOS(STATIC_1987), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1987_0_<init>_Load(EOS(STATIC_1987), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 1998_0_<init>_InvokeMethod(EOS(STATIC_1998), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
1989_0_<init>_InvokeMethod(EOS(STATIC_1989), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 1994_0_<init>_Load(EOS(STATIC_1994), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1994_0_<init>_Load(EOS(STATIC_1994), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2001_0_<init>_InvokeMethod(EOS(STATIC_2001), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
1998_0_<init>_InvokeMethod(EOS(STATIC_1998), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2000_0_<init>_Load(EOS(STATIC_2000), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2000_0_<init>_Load(EOS(STATIC_2000), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2008_0_<init>_InvokeMethod(EOS(STATIC_2008), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2001_0_<init>_InvokeMethod(EOS(STATIC_2001), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2004_0_<init>_Load(EOS(STATIC_2004), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2002_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(EOS(STATIC_2107), java.lang.Object(ARRAY(i713)), i714, i715, i716, i567, java.lang.Object(ARRAY(i713)), i567), java.lang.Object(ARRAY(i713)), i714, i543, i568, java.lang.Object(ARRAY(i713)), i714, i715, i716) → 2159_0_binarySearch_ArrayAccess(EOS(STATIC_2159), java.lang.Object(ARRAY(i713)), i714, i543, i568, java.lang.Object(ARRAY(i713)), i714, i715, i716, java.lang.Object(ARRAY(i713)), i714, i715, i716, i567, java.lang.Object(ARRAY(i713)), i567)
2002_1_binarySearch_InvokeMethod(2141_0_binarySearch_ArrayAccess(EOS(STATIC_2141), java.lang.Object(ARRAY(i751)), i752, i753, i754, i747, java.lang.Object(ARRAY(i751)), i747), java.lang.Object(ARRAY(i751)), i752, i543, i568, java.lang.Object(ARRAY(i751)), i752, i753, i754) → 2203_0_binarySearch_ArrayAccess(EOS(STATIC_2203), java.lang.Object(ARRAY(i751)), i752, i543, i568, java.lang.Object(ARRAY(i751)), i752, i753, i754, java.lang.Object(ARRAY(i751)), i752, i753, i754, i747, java.lang.Object(ARRAY(i751)), i747)
2002_1_binarySearch_InvokeMethod(2239_0_binarySearch_InvokeMethod(EOS(STATIC_2239), java.lang.Object(ARRAY(i1049)), i1050, i1052, i1048, java.lang.Object(ARRAY(i1049)), i1050, i1051, i786), java.lang.Object(ARRAY(i1049)), i1050, i543, i568, java.lang.Object(ARRAY(i1049)), i1050, i1051, i1052) → 2299_0_binarySearch_InvokeMethod(EOS(STATIC_2299), java.lang.Object(ARRAY(i1049)), i1050, i543, i568, java.lang.Object(ARRAY(i1049)), i1050, i1051, i1052, java.lang.Object(ARRAY(i1049)), i1050, i1052, i1048, java.lang.Object(ARRAY(i1049)), i1050, i1051, i786)
2002_1_binarySearch_InvokeMethod(2309_0_binarySearch_InvokeMethod(EOS(STATIC_2309), java.lang.Object(ARRAY(i1086)), i1087, i1089, i1085, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1052), java.lang.Object(ARRAY(i1086)), i1087, i543, i568, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1089) → 2337_0_binarySearch_InvokeMethod(EOS(STATIC_2337), java.lang.Object(ARRAY(i1086)), i1087, i543, i568, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1089, java.lang.Object(ARRAY(i1086)), i1087, i1089, i1085, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1052)
2002_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(EOS(STATIC_2402), java.lang.Object(ARRAY(i1312)), i1313, i1168, i1315), java.lang.Object(ARRAY(i1312)), i1313, i543, i568, java.lang.Object(ARRAY(i1312)), i1313, i1314, i1315) → 2452_0_binarySearch_InvokeMethod(EOS(STATIC_2452), java.lang.Object(ARRAY(i1312)), i1313, i543, i568, java.lang.Object(ARRAY(i1312)), i1313, i1314, i1315, java.lang.Object(ARRAY(i1312)), i1313, i1168, i1315)
2002_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(i1485)), i1486, i1488, i1484, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1315), java.lang.Object(ARRAY(i1485)), i1486, i543, i568, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1488) → 2537_0_binarySearch_InvokeMethod(EOS(STATIC_2537), java.lang.Object(ARRAY(i1485)), i1486, i543, i568, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1488, java.lang.Object(ARRAY(i1485)), i1486, i1488, i1484, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1315)
2002_1_binarySearch_InvokeMethod(2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(i1504)), i1505, i1321, i1507), java.lang.Object(ARRAY(i1504)), i1505, i543, i568, java.lang.Object(ARRAY(i1504)), i1505, i1506, i1507) → 2548_0_binarySearch_InvokeMethod(EOS(STATIC_2548), java.lang.Object(ARRAY(i1504)), i1505, i543, i568, java.lang.Object(ARRAY(i1504)), i1505, i1506, i1507, java.lang.Object(ARRAY(i1504)), i1505, i1321, i1507)
2004_0_<init>_Load(EOS(STATIC_2004), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2011_0_<init>_InvokeMethod(EOS(STATIC_2011), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2008_0_<init>_InvokeMethod(EOS(STATIC_2008), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2010_0_<init>_Load(EOS(STATIC_2010), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2010_0_<init>_Load(EOS(STATIC_2010), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2025_0_<init>_InvokeMethod(EOS(STATIC_2025), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2011_0_<init>_InvokeMethod(EOS(STATIC_2011), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2021_0_<init>_Load(EOS(STATIC_2021), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2021_0_<init>_Load(EOS(STATIC_2021), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2026_0_<init>_Load(EOS(STATIC_2026), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2025_0_<init>_InvokeMethod(EOS(STATIC_2025), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2031_0_<init>_Load(EOS(STATIC_2031), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2026_0_<init>_Load(EOS(STATIC_2026), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2033_0_<init>_FieldAccess(EOS(STATIC_2033), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2031_0_<init>_Load(EOS(STATIC_2031), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2039_0_<init>_Load(EOS(STATIC_2039), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2033_0_<init>_FieldAccess(EOS(STATIC_2033), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2042_0_<init>_Load(EOS(STATIC_2042), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2039_0_<init>_Load(EOS(STATIC_2039), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2047_0_<init>_FieldAccess(EOS(STATIC_2047), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2042_0_<init>_Load(EOS(STATIC_2042), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2049_0_<init>_InvokeMethod(EOS(STATIC_2049), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2047_0_<init>_FieldAccess(EOS(STATIC_2047), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2056_0_<init>_Load(EOS(STATIC_2056), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2049_0_<init>_InvokeMethod(EOS(STATIC_2049), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2058_0_<init>_StackPop(EOS(STATIC_2058), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2056_0_<init>_Load(EOS(STATIC_2056), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2067_0_<init>_InvokeMethod(EOS(STATIC_2067), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2058_0_<init>_StackPop(EOS(STATIC_2058), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2069_0_<init>_Return(EOS(STATIC_2069), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2067_0_<init>_InvokeMethod(EOS(STATIC_2067), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2077_0_<init>_StackPop(EOS(STATIC_2077), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2069_0_<init>_Return(EOS(STATIC_2069), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2079_0_<init>_Return(EOS(STATIC_2079), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2077_0_<init>_StackPop(EOS(STATIC_2077), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2086_0_<init>_Return(EOS(STATIC_2086), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2079_0_<init>_Return(EOS(STATIC_2079), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2087_0_<init>_Return(EOS(STATIC_2087), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2086_0_<init>_Return(EOS(STATIC_2086), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2092_0_<init>_Return(EOS(STATIC_2092), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2087_0_<init>_Return(EOS(STATIC_2087), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2094_0_<init>_Return(EOS(STATIC_2094), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2092_0_<init>_Return(EOS(STATIC_2092), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2099_0_<init>_Return(EOS(STATIC_2099), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2094_0_<init>_Return(EOS(STATIC_2094), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2100_0_<init>_Return(EOS(STATIC_2100), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2099_0_<init>_Return(EOS(STATIC_2099), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2106_0_<init>_Return(EOS(STATIC_2106), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2100_0_<init>_Return(EOS(STATIC_2100), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567) → 2107_0_binarySearch_ArrayAccess(EOS(STATIC_2107), java.lang.Object(ARRAY(i540)), i541, i542, i543, i567, java.lang.Object(ARRAY(i540)), i567)
2106_0_<init>_Return(EOS(STATIC_2106), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2117_0_<init>_Return(EOS(STATIC_2117), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2117_0_<init>_Return(EOS(STATIC_2117), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568) → 2141_0_binarySearch_ArrayAccess(EOS(STATIC_2141), java.lang.Object(ARRAY(i540)), i541, i542, i543, i568, java.lang.Object(ARRAY(i540)), i568)
2159_0_binarySearch_ArrayAccess(EOS(STATIC_2159), java.lang.Object(ARRAY(i713)), i714, i543, i568, java.lang.Object(ARRAY(i713)), i714, i715, i716, java.lang.Object(ARRAY(i713)), i714, i715, i716, i567, java.lang.Object(ARRAY(i713)), i567) → 2204_0_binarySearch_ArrayAccess(EOS(STATIC_2204), java.lang.Object(ARRAY(i713)), i714, i543, i568, java.lang.Object(ARRAY(i713)), i714, i715, i716, java.lang.Object(ARRAY(i713)), i714, i715, i716, i567, java.lang.Object(ARRAY(i713)), i567)
2203_0_binarySearch_ArrayAccess(EOS(STATIC_2203), java.lang.Object(ARRAY(i751)), i752, i543, i568, java.lang.Object(ARRAY(i751)), i752, i753, i754, java.lang.Object(ARRAY(i751)), i752, i753, i754, i747, java.lang.Object(ARRAY(i751)), i747) → 2204_0_binarySearch_ArrayAccess(EOS(STATIC_2204), java.lang.Object(ARRAY(i751)), i752, i543, i568, java.lang.Object(ARRAY(i751)), i752, i753, i754, java.lang.Object(ARRAY(i751)), i752, i753, i754, i747, java.lang.Object(ARRAY(i751)), i747)
2204_0_binarySearch_ArrayAccess(EOS(STATIC_2204), java.lang.Object(ARRAY(i781)), i782, i543, i568, java.lang.Object(ARRAY(i781)), i782, i783, i786, java.lang.Object(ARRAY(i781)), i782, i783, i786, i787, java.lang.Object(ARRAY(i781)), i787) → 2239_0_binarySearch_InvokeMethod(EOS(STATIC_2239), java.lang.Object(ARRAY(i781)), i782, i543, i568, java.lang.Object(ARRAY(i781)), i782, i783, i786)
2239_0_binarySearch_InvokeMethod(EOS(STATIC_2239), java.lang.Object(ARRAY(i781)), i782, i543, i568, java.lang.Object(ARRAY(i781)), i782, i783, i786) → 2309_0_binarySearch_InvokeMethod(EOS(STATIC_2309), java.lang.Object(ARRAY(i781)), i782, i543, i568, java.lang.Object(ARRAY(i781)), i782, i783, i786)
2282_0_binarySearch_EQ(EOS(STATIC_2282), java.lang.Object(ARRAY(i1019)), i1020, i543, i568, matching1) → 2296_0_binarySearch_EQ(EOS(STATIC_2296), java.lang.Object(ARRAY(i1019)), i1020, i543, i568, 1) | =(matching1, 1)
2296_0_binarySearch_EQ(EOS(STATIC_2296), java.lang.Object(ARRAY(i1019)), i1020, i543, i568, matching1) → 2302_0_binarySearch_ConstantStackPush(EOS(STATIC_2302), java.lang.Object(ARRAY(i1019)), i1020, i543, i568) | &&(>(1, 0), =(matching1, 1))
2299_0_binarySearch_InvokeMethod(EOS(STATIC_2299), java.lang.Object(ARRAY(i1049)), i1050, i543, i568, java.lang.Object(ARRAY(i1049)), i1050, i1051, i1052, java.lang.Object(ARRAY(i1049)), i1050, i1052, i1048, java.lang.Object(ARRAY(i1049)), i1050, i1051, i786) → 2309_0_binarySearch_InvokeMethod(EOS(STATIC_2309), java.lang.Object(ARRAY(i1049)), i1050, i543, i568, java.lang.Object(ARRAY(i1049)), i1050, i1051, i1052)
2302_0_binarySearch_ConstantStackPush(EOS(STATIC_2302), java.lang.Object(ARRAY(i1019)), i1020, i543, i568) → 2312_0_binarySearch_Return(EOS(STATIC_2312), java.lang.Object(ARRAY(i1019)), i1020, i543, i568, 1)
2309_0_binarySearch_InvokeMethod(EOS(STATIC_2309), java.lang.Object(ARRAY(i1049)), i1050, i543, i568, java.lang.Object(ARRAY(i1049)), i1050, i1051, i1052) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(i1049)), i1050, i543, i568, java.lang.Object(ARRAY(i1049)), i1050, i1051, i1052)
2337_0_binarySearch_InvokeMethod(EOS(STATIC_2337), java.lang.Object(ARRAY(i1086)), i1087, i543, i568, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1089, java.lang.Object(ARRAY(i1086)), i1087, i1089, i1085, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1052) → 2299_0_binarySearch_InvokeMethod(EOS(STATIC_2299), java.lang.Object(ARRAY(i1086)), i1087, i543, i568, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1089, java.lang.Object(ARRAY(i1086)), i1087, i1089, i1085, java.lang.Object(ARRAY(i1086)), i1087, i1088, i1052)
2346_1_binarySearch_InvokeMethod(1912_0_binarySearch_Return(EOS(STATIC_1912), java.lang.Object(ARRAY(i1137)), i1138, i1139, i1140, matching1), java.lang.Object(ARRAY(i1137)), i1138, i1139, i1140) → 2378_0_binarySearch_Return(EOS(STATIC_2378), java.lang.Object(ARRAY(i1137)), i1138, i1139, i1140, java.lang.Object(ARRAY(i1137)), i1138, i1139, i1140, 0) | =(matching1, 0)
2346_1_binarySearch_InvokeMethod(1972_0_binarySearch_Return(EOS(STATIC_1972), java.lang.Object(ARRAY(i1144)), i1145, i1146, i1148, i568, matching1), java.lang.Object(ARRAY(i1144)), i1145, i1146, i1148) → 2379_0_binarySearch_Return(EOS(STATIC_2379), java.lang.Object(ARRAY(i1144)), i1145, i1146, i1148, java.lang.Object(ARRAY(i1144)), i1145, i1146, i1148, i568, 1) | =(matching1, 1)
2346_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(EOS(STATIC_2107), java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155, i567, java.lang.Object(ARRAY(i1152)), i567), java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155) → 2380_0_binarySearch_ArrayAccess(EOS(STATIC_2380), java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155, java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155, i567, java.lang.Object(ARRAY(i1152)), i567)
2346_1_binarySearch_InvokeMethod(2141_0_binarySearch_ArrayAccess(EOS(STATIC_2141), java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162, i568, java.lang.Object(ARRAY(i1159)), i568), java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162) → 2387_0_binarySearch_ArrayAccess(EOS(STATIC_2387), java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162, java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162, i568, java.lang.Object(ARRAY(i1159)), i568)
2346_1_binarySearch_InvokeMethod(2239_0_binarySearch_InvokeMethod(EOS(STATIC_2239), java.lang.Object(ARRAY(i1166)), i1167, i1169, i568, java.lang.Object(ARRAY(i1166)), i1167, i1168, i786), java.lang.Object(ARRAY(i1166)), i1167, i1168, i1169) → 2389_0_binarySearch_InvokeMethod(EOS(STATIC_2389), java.lang.Object(ARRAY(i1166)), i1167, i1168, i1169, java.lang.Object(ARRAY(i1166)), i1167, i1169, i568, java.lang.Object(ARRAY(i1166)), i1167, i1168, i786)
2346_1_binarySearch_InvokeMethod(2309_0_binarySearch_InvokeMethod(EOS(STATIC_2309), java.lang.Object(ARRAY(i1173)), i1174, i1176, i568, java.lang.Object(ARRAY(i1173)), i1174, i1175, i1052), java.lang.Object(ARRAY(i1173)), i1174, i1175, i1176) → 2392_0_binarySearch_InvokeMethod(EOS(STATIC_2392), java.lang.Object(ARRAY(i1173)), i1174, i1175, i1176, java.lang.Object(ARRAY(i1173)), i1174, i1176, i568, java.lang.Object(ARRAY(i1173)), i1174, i1175, i1052)
2346_1_binarySearch_InvokeMethod(2312_0_binarySearch_Return(EOS(STATIC_2312), java.lang.Object(ARRAY(i1185)), i1186, i1188, i568, matching1), java.lang.Object(ARRAY(i1185)), i1186, i1187, i1188) → 2393_0_binarySearch_Return(EOS(STATIC_2393), java.lang.Object(ARRAY(i1185)), i1186, i1187, i1188, java.lang.Object(ARRAY(i1185)), i1186, i1188, i568, 1) | =(matching1, 1)
2346_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return(EOS(STATIC_2394), matching1), java.lang.Object(ARRAY(i1301)), i1302, i1303, i1304) → 2450_0_binarySearch_Return(EOS(STATIC_2450), java.lang.Object(ARRAY(i1301)), i1302, i1303, i1304, 0) | =(matching1, 0)
2346_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(EOS(STATIC_2402), java.lang.Object(ARRAY(i1319)), i1320, i1168, i1322), java.lang.Object(ARRAY(i1319)), i1320, i1321, i1322) → 2453_0_binarySearch_InvokeMethod(EOS(STATIC_2453), java.lang.Object(ARRAY(i1319)), i1320, i1321, i1322, java.lang.Object(ARRAY(i1319)), i1320, i1168, i1322)
2346_1_binarySearch_InvokeMethod(2405_0_binarySearch_Return(EOS(STATIC_2405), matching1), java.lang.Object(ARRAY(i1337)), i1338, i1339, i1340) → 2462_0_binarySearch_Return(EOS(STATIC_2462), java.lang.Object(ARRAY(i1337)), i1338, i1339, i1340, 1) | =(matching1, 1)
2346_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(i1492)), i1493, i1495, i568, java.lang.Object(ARRAY(i1492)), i1493, i1494, i1315), java.lang.Object(ARRAY(i1492)), i1493, i1494, i1495) → 2541_0_binarySearch_InvokeMethod(EOS(STATIC_2541), java.lang.Object(ARRAY(i1492)), i1493, i1494, i1495, java.lang.Object(ARRAY(i1492)), i1493, i1495, i568, java.lang.Object(ARRAY(i1492)), i1493, i1494, i1315)
2346_1_binarySearch_InvokeMethod(2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(i1511)), i1512, i1321, i1514), java.lang.Object(ARRAY(i1511)), i1512, i1513, i1514) → 2550_0_binarySearch_InvokeMethod(EOS(STATIC_2550), java.lang.Object(ARRAY(i1511)), i1512, i1513, i1514, java.lang.Object(ARRAY(i1511)), i1512, i1321, i1514)
2346_1_binarySearch_InvokeMethod(2481_0_binarySearch_Return(EOS(STATIC_2481), i1373), java.lang.Object(ARRAY(i1529)), i1530, i1531, i1532) → 2556_0_binarySearch_Return(EOS(STATIC_2556), java.lang.Object(ARRAY(i1529)), i1530, i1531, i1532, i1373)
2378_0_binarySearch_Return(EOS(STATIC_2378), java.lang.Object(ARRAY(i1137)), i1138, i1139, i1140, java.lang.Object(ARRAY(i1137)), i1138, i1139, i1140, matching1) → 2394_0_binarySearch_Return(EOS(STATIC_2394), 0) | =(matching1, 0)
2379_0_binarySearch_Return(EOS(STATIC_2379), java.lang.Object(ARRAY(i1144)), i1145, i1146, i1148, java.lang.Object(ARRAY(i1144)), i1145, i1146, i1148, i568, matching1) → 2396_0_binarySearch_Return(EOS(STATIC_2396), 1) | =(matching1, 1)
2380_0_binarySearch_ArrayAccess(EOS(STATIC_2380), java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155, java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155, i567, java.lang.Object(ARRAY(i1152)), i567) → 2388_0_binarySearch_ArrayAccess(EOS(STATIC_2388), java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155, java.lang.Object(ARRAY(i1152)), i1153, i1154, i1155, i567, java.lang.Object(ARRAY(i1152)), i567)
2387_0_binarySearch_ArrayAccess(EOS(STATIC_2387), java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162, java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162, i568, java.lang.Object(ARRAY(i1159)), i568) → 2388_0_binarySearch_ArrayAccess(EOS(STATIC_2388), java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162, java.lang.Object(ARRAY(i1159)), i1160, i1161, i1162, i568, java.lang.Object(ARRAY(i1159)), i568)
2388_0_binarySearch_ArrayAccess(EOS(STATIC_2388), java.lang.Object(ARRAY(i1191)), i1192, i1196, i1193, java.lang.Object(ARRAY(i1191)), i1192, i1196, i1193, i1197, java.lang.Object(ARRAY(i1191)), i1197) → 2399_0_binarySearch_InvokeMethod(EOS(STATIC_2399), java.lang.Object(ARRAY(i1191)), i1192, i1196, i1193)
2389_0_binarySearch_InvokeMethod(EOS(STATIC_2389), java.lang.Object(ARRAY(i1166)), i1167, i1168, i1169, java.lang.Object(ARRAY(i1166)), i1167, i1169, i568, java.lang.Object(ARRAY(i1166)), i1167, i1168, i786) → 2402_0_binarySearch_InvokeMethod(EOS(STATIC_2402), java.lang.Object(ARRAY(i1166)), i1167, i1168, i1169)
2392_0_binarySearch_InvokeMethod(EOS(STATIC_2392), java.lang.Object(ARRAY(i1173)), i1174, i1175, i1176, java.lang.Object(ARRAY(i1173)), i1174, i1176, i568, java.lang.Object(ARRAY(i1173)), i1174, i1175, i1052) → 2389_0_binarySearch_InvokeMethod(EOS(STATIC_2389), java.lang.Object(ARRAY(i1173)), i1174, i1175, i1176, java.lang.Object(ARRAY(i1173)), i1174, i1176, i568, java.lang.Object(ARRAY(i1173)), i1174, i1175, i1052)
2393_0_binarySearch_Return(EOS(STATIC_2393), java.lang.Object(ARRAY(i1185)), i1186, i1187, i1188, java.lang.Object(ARRAY(i1185)), i1186, i1188, i568, matching1) → 2405_0_binarySearch_Return(EOS(STATIC_2405), 1) | =(matching1, 1)
2394_0_binarySearch_Return(EOS(STATIC_2394), matching1) → 2481_0_binarySearch_Return(EOS(STATIC_2481), 0) | =(matching1, 0)
2396_0_binarySearch_Return(EOS(STATIC_2396), matching1) → 2405_0_binarySearch_Return(EOS(STATIC_2405), 1) | =(matching1, 1)
2399_0_binarySearch_InvokeMethod(EOS(STATIC_2399), java.lang.Object(ARRAY(i1191)), i1192, i1196, i1193) → 2402_0_binarySearch_InvokeMethod(EOS(STATIC_2402), java.lang.Object(ARRAY(i1191)), i1192, i1196, i1193)
2402_0_binarySearch_InvokeMethod(EOS(STATIC_2402), java.lang.Object(ARRAY(i1166)), i1167, i1168, i1169) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(i1166)), i1167, i1168, i1169)
2405_0_binarySearch_Return(EOS(STATIC_2405), matching1) → 2481_0_binarySearch_Return(EOS(STATIC_2481), 1) | =(matching1, 1)
2450_0_binarySearch_Return(EOS(STATIC_2450), java.lang.Object(ARRAY(i1301)), i1302, i1303, i1304, matching1) → 2463_0_binarySearch_Return(EOS(STATIC_2463), java.lang.Object(ARRAY(i1301)), i1302, i1303, i1304, 0) | =(matching1, 0)
2452_0_binarySearch_InvokeMethod(EOS(STATIC_2452), java.lang.Object(ARRAY(i1312)), i1313, i543, i568, java.lang.Object(ARRAY(i1312)), i1313, i1314, i1315, java.lang.Object(ARRAY(i1312)), i1313, i1168, i1315) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(i1312)), i1313, i543, i568, java.lang.Object(ARRAY(i1312)), i1313, i1314, i1315)
2453_0_binarySearch_InvokeMethod(EOS(STATIC_2453), java.lang.Object(ARRAY(i1319)), i1320, i1321, i1322, java.lang.Object(ARRAY(i1319)), i1320, i1168, i1322) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(i1319)), i1320, i1321, i1322)
2462_0_binarySearch_Return(EOS(STATIC_2462), java.lang.Object(ARRAY(i1337)), i1338, i1339, i1340, matching1) → 2463_0_binarySearch_Return(EOS(STATIC_2463), java.lang.Object(ARRAY(i1337)), i1338, i1339, i1340, 1) | =(matching1, 1)
2463_0_binarySearch_Return(EOS(STATIC_2463), java.lang.Object(ARRAY(i1368)), i1369, i1374, i1370, i1373) → 2481_0_binarySearch_Return(EOS(STATIC_2481), i1373)
2537_0_binarySearch_InvokeMethod(EOS(STATIC_2537), java.lang.Object(ARRAY(i1485)), i1486, i543, i568, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1488, java.lang.Object(ARRAY(i1485)), i1486, i1488, i1484, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1315) → 2299_0_binarySearch_InvokeMethod(EOS(STATIC_2299), java.lang.Object(ARRAY(i1485)), i1486, i543, i568, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1488, java.lang.Object(ARRAY(i1485)), i1486, i1488, i1484, java.lang.Object(ARRAY(i1485)), i1486, i1487, i1315)
2541_0_binarySearch_InvokeMethod(EOS(STATIC_2541), java.lang.Object(ARRAY(i1492)), i1493, i1494, i1495, java.lang.Object(ARRAY(i1492)), i1493, i1495, i568, java.lang.Object(ARRAY(i1492)), i1493, i1494, i1315) → 2389_0_binarySearch_InvokeMethod(EOS(STATIC_2389), java.lang.Object(ARRAY(i1492)), i1493, i1494, i1495, java.lang.Object(ARRAY(i1492)), i1493, i1495, i568, java.lang.Object(ARRAY(i1492)), i1493, i1494, i1315)
2548_0_binarySearch_InvokeMethod(EOS(STATIC_2548), java.lang.Object(ARRAY(i1504)), i1505, i543, i568, java.lang.Object(ARRAY(i1504)), i1505, i1506, i1507, java.lang.Object(ARRAY(i1504)), i1505, i1321, i1507) → 2452_0_binarySearch_InvokeMethod(EOS(STATIC_2452), java.lang.Object(ARRAY(i1504)), i1505, i543, i568, java.lang.Object(ARRAY(i1504)), i1505, i1506, i1507, java.lang.Object(ARRAY(i1504)), i1505, i1321, i1507)
2550_0_binarySearch_InvokeMethod(EOS(STATIC_2550), java.lang.Object(ARRAY(i1511)), i1512, i1513, i1514, java.lang.Object(ARRAY(i1511)), i1512, i1321, i1514) → 2453_0_binarySearch_InvokeMethod(EOS(STATIC_2453), java.lang.Object(ARRAY(i1511)), i1512, i1513, i1514, java.lang.Object(ARRAY(i1511)), i1512, i1321, i1514)
2556_0_binarySearch_Return(EOS(STATIC_2556), java.lang.Object(ARRAY(i1529)), i1530, i1531, i1532, i1373) → 2463_0_binarySearch_Return(EOS(STATIC_2463), java.lang.Object(ARRAY(i1529)), i1530, i1531, i1532, i1373)
Combined rules. Obtained 7 conditional rules for P and 20 conditional rules for R.
P rules:
1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x0)), x1, x2, x3, x2) → 2002_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x0)), x1, x2, -(+(x2, /(-(x3, x2), 2)), 1), x2), java.lang.Object(ARRAY(x0)), x1, x3, +(x2, /(-(x3, x2), 2)), java.lang.Object(ARRAY(x0)), x1, x2, -(+(x2, /(-(x3, x2), 2)), 1)) | &&(&&(>=(x3, x2), >(x0, +(x2, /(-(x3, x2), 2)))), <=(0, +(x2, /(-(x3, x2), 2))))
2002_1_binarySearch_InvokeMethod(1912_0_binarySearch_Return(EOS(STATIC_1912), java.lang.Object(ARRAY(x0)), x1, x2, x3, 0), java.lang.Object(ARRAY(x0)), x1, x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x0)), x1, +(x6, 1), x5, +(x6, 1)), java.lang.Object(ARRAY(x0)), x1, +(x6, 1), x5) | >(+(x6, 1), 0)
2002_1_binarySearch_InvokeMethod(1972_0_binarySearch_Return(EOS(STATIC_1972), java.lang.Object(ARRAY(x0)), x1, x2, x3, x4, x5), java.lang.Object(ARRAY(x0)), x1, x6, x7, java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x0)), x1, arith[3], x6, arith[3]), java.lang.Object(ARRAY(x0)), x1, arith[3], x6) | FALSE
2002_1_binarySearch_InvokeMethod(2312_0_binarySearch_Return(EOS(STATIC_2312), java.lang.Object(ARRAY(x0)), x1, x2, x3, x4), java.lang.Object(ARRAY(x0)), x1, x5, x6, java.lang.Object(ARRAY(x0)), x1, x7, x2) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x0)), x1, arith[3], x5, arith[3]), java.lang.Object(ARRAY(x0)), x1, arith[3], x5) | FALSE
2002_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return(EOS(STATIC_2394), 0), java.lang.Object(ARRAY(x1)), x2, x3, x4, java.lang.Object(ARRAY(x1)), x2, x5, x6) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x1)), x2, +(x4, 1), x3, +(x4, 1)), java.lang.Object(ARRAY(x1)), x2, +(x4, 1), x3) | >(+(x4, 1), 0)
2002_1_binarySearch_InvokeMethod(2405_0_binarySearch_Return(EOS(STATIC_2405), x0), java.lang.Object(ARRAY(x1)), x2, x3, x4, java.lang.Object(ARRAY(x1)), x2, x5, x6) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x1)), x2, arith[3], x3, arith[3]), java.lang.Object(ARRAY(x1)), x2, arith[3], x3) | FALSE
2002_1_binarySearch_InvokeMethod(2481_0_binarySearch_Return(EOS(STATIC_2481), 0), java.lang.Object(ARRAY(x1)), x2, x3, x4, java.lang.Object(ARRAY(x1)), x2, x5, x6) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(EOS(STATIC_1905), java.lang.Object(ARRAY(x1)), x2, +(x4, 1), x3, +(x4, 1)), java.lang.Object(ARRAY(x1)), x2, +(x4, 1), x3) | >(+(x4, 1), 0)
R rules:
2002_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(EOS(STATIC_2402), java.lang.Object(ARRAY(x0)), x1, x2, x3), java.lang.Object(ARRAY(x0)), x1, x4, x5, java.lang.Object(ARRAY(x0)), x1, x6, x3) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x4, x5, java.lang.Object(ARRAY(x0)), x1, x6, x3)
2002_1_binarySearch_InvokeMethod(2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x2, x3), java.lang.Object(ARRAY(x0)), x1, x4, x5, java.lang.Object(ARRAY(x0)), x1, x6, x3) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x4, x5, java.lang.Object(ARRAY(x0)), x1, x6, x3)
2002_1_binarySearch_InvokeMethod(2239_0_binarySearch_InvokeMethod(EOS(STATIC_2239), java.lang.Object(ARRAY(x0)), x1, x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), java.lang.Object(ARRAY(x0)), x1, x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2)
2002_1_binarySearch_InvokeMethod(2309_0_binarySearch_InvokeMethod(EOS(STATIC_2309), java.lang.Object(ARRAY(x0)), x1, x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), java.lang.Object(ARRAY(x0)), x1, x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2)
2002_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), java.lang.Object(ARRAY(x0)), x1, x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2)
2002_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(EOS(STATIC_2107), java.lang.Object(ARRAY(x0)), x1, x2, x3, x4, java.lang.Object(ARRAY(x0)), x4), java.lang.Object(ARRAY(x0)), x1, x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3)
2002_1_binarySearch_InvokeMethod(2141_0_binarySearch_ArrayAccess(EOS(STATIC_2141), java.lang.Object(ARRAY(x0)), x1, x2, x3, x4, java.lang.Object(ARRAY(x0)), x4), java.lang.Object(ARRAY(x0)), x1, x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(EOS(STATIC_2402), java.lang.Object(ARRAY(x0)), x1, x2, x3), java.lang.Object(ARRAY(x0)), x1, x4, x3) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x4, x3)
2346_1_binarySearch_InvokeMethod(2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x2, x3), java.lang.Object(ARRAY(x0)), x1, x4, x3) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x4, x3)
2346_1_binarySearch_InvokeMethod(1912_0_binarySearch_Return(EOS(STATIC_1912), java.lang.Object(ARRAY(x0)), x1, x2, x3, 0), java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2481_0_binarySearch_Return(EOS(STATIC_2481), 0)
2346_1_binarySearch_InvokeMethod(2239_0_binarySearch_InvokeMethod(EOS(STATIC_2239), java.lang.Object(ARRAY(x0)), x1, x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), java.lang.Object(ARRAY(x0)), x1, x4, x2) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x4, x2)
2346_1_binarySearch_InvokeMethod(2309_0_binarySearch_InvokeMethod(EOS(STATIC_2309), java.lang.Object(ARRAY(x0)), x1, x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), java.lang.Object(ARRAY(x0)), x1, x4, x2) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x4, x2)
2346_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(EOS(STATIC_2474), java.lang.Object(ARRAY(x0)), x1, x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), java.lang.Object(ARRAY(x0)), x1, x4, x2) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x4, x2)
2346_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(EOS(STATIC_2107), java.lang.Object(ARRAY(x0)), x1, x2, x3, x4, java.lang.Object(ARRAY(x0)), x4), java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2141_0_binarySearch_ArrayAccess(EOS(STATIC_2141), java.lang.Object(ARRAY(x0)), x1, x2, x3, x4, java.lang.Object(ARRAY(x0)), x4), java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2478_0_binarySearch_InvokeMethod(EOS(STATIC_2478), java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2312_0_binarySearch_Return(EOS(STATIC_2312), java.lang.Object(ARRAY(x0)), x1, x2, x3, 1), java.lang.Object(ARRAY(x0)), x1, x5, x2) → 2481_0_binarySearch_Return(EOS(STATIC_2481), 1)
2346_1_binarySearch_InvokeMethod(1972_0_binarySearch_Return(EOS(STATIC_1972), java.lang.Object(ARRAY(x0)), x1, x2, x3, x4, 1), java.lang.Object(ARRAY(x0)), x1, x2, x3) → 2481_0_binarySearch_Return(EOS(STATIC_2481), 1)
2346_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return(EOS(STATIC_2394), 0), java.lang.Object(ARRAY(x1)), x2, x3, x4) → 2481_0_binarySearch_Return(EOS(STATIC_2481), 0)
2346_1_binarySearch_InvokeMethod(2405_0_binarySearch_Return(EOS(STATIC_2405), 1), java.lang.Object(ARRAY(x1)), x2, x3, x4) → 2481_0_binarySearch_Return(EOS(STATIC_2481), 1)
2346_1_binarySearch_InvokeMethod(2481_0_binarySearch_Return(EOS(STATIC_2481), x0), java.lang.Object(ARRAY(x1)), x2, x3, x4) → 2481_0_binarySearch_Return(EOS(STATIC_2481), x0)
Filtered ground terms:
1905_0_binarySearch_Load(x1, x2, x3, x4, x5, x6) → 1905_0_binarySearch_Load(x2, x3, x4, x5, x6)
Cond_2002_1_binarySearch_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_2002_1_binarySearch_InvokeMethod2(x1, x3, x4, x5, x6, x7, x8, x9, x10)
2481_0_binarySearch_Return(x1, x2) → 2481_0_binarySearch_Return(x2)
Cond_2002_1_binarySearch_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_2002_1_binarySearch_InvokeMethod1(x1, x3, x4, x5, x6, x7, x8, x9, x10)
2394_0_binarySearch_Return(x1, x2) → 2394_0_binarySearch_Return
1912_0_binarySearch_Return(x1, x2, x3, x4, x5, x6) → 1912_0_binarySearch_Return(x2, x3, x4, x5)
Cond_1905_0_binarySearch_Load(x1, x2, x3, x4, x5, x6, x7) → Cond_1905_0_binarySearch_Load(x1, x3, x4, x5, x6, x7)
2405_0_binarySearch_Return(x1, x2) → 2405_0_binarySearch_Return
1972_0_binarySearch_Return(x1, x2, x3, x4, x5, x6, x7) → 1972_0_binarySearch_Return(x2, x3, x4, x5, x6)
2312_0_binarySearch_Return(x1, x2, x3, x4, x5, x6) → 2312_0_binarySearch_Return(x2, x3, x4, x5)
2478_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5) → 2478_0_binarySearch_InvokeMethod(x2, x3, x4, x5)
2141_0_binarySearch_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 2141_0_binarySearch_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
2107_0_binarySearch_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 2107_0_binarySearch_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
2474_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 2474_0_binarySearch_InvokeMethod(x2, x3, x4, x5, x6, x7, x8, x9)
2309_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 2309_0_binarySearch_InvokeMethod(x2, x3, x4, x5, x6, x7, x8, x9)
2239_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 2239_0_binarySearch_InvokeMethod(x2, x3, x4, x5, x6, x7, x8, x9)
2402_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5) → 2402_0_binarySearch_InvokeMethod(x2, x3, x4, x5)
Filtered duplicate args:
1905_0_binarySearch_Load(x1, x2, x3, x4, x5) → 1905_0_binarySearch_Load(x1, x2, x4, x5)
Cond_1905_0_binarySearch_Load(x1, x2, x3, x4, x5, x6) → Cond_1905_0_binarySearch_Load(x1, x2, x3, x5, x6)
2002_1_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 2002_1_binarySearch_InvokeMethod(x1, x4, x5, x6, x7, x8, x9)
Cond_2002_1_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_2002_1_binarySearch_InvokeMethod(x1, x2, x5, x6)
Cond_2002_1_binarySearch_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_2002_1_binarySearch_InvokeMethod1(x1, x4, x5, x6, x7, x8, x9)
Cond_2002_1_binarySearch_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_2002_1_binarySearch_InvokeMethod2(x1, x4, x5, x6, x7, x8, x9)
2474_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 2474_0_binarySearch_InvokeMethod(x3, x4, x5, x6, x7, x8)
2239_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 2239_0_binarySearch_InvokeMethod(x3, x4, x5, x6, x7, x8)
2309_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 2309_0_binarySearch_InvokeMethod(x3, x4, x5, x6, x7, x8)
2107_0_binarySearch_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 2107_0_binarySearch_ArrayAccess(x2, x3, x4, x6, x7)
2141_0_binarySearch_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 2141_0_binarySearch_ArrayAccess(x2, x3, x4, x6, x7)
Filtered unneeded arguments:
Cond_1905_0_binarySearch_Load(x1, x2, x3, x4, x5) → Cond_1905_0_binarySearch_Load(x1, x2, x4, x5)
2002_1_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 2002_1_binarySearch_InvokeMethod(x1, x2, x3, x4)
2346_1_binarySearch_InvokeMethod(x1, x2, x3, x4, x5) → 2346_1_binarySearch_InvokeMethod(x1)
Cond_2002_1_binarySearch_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_2002_1_binarySearch_InvokeMethod1(x1, x2, x3, x4)
Cond_2002_1_binarySearch_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7) → Cond_2002_1_binarySearch_InvokeMethod2(x1, x2, x3, x4)
1905_0_binarySearch_Load(x1, x2, x3, x4) → 1905_0_binarySearch_Load(x1, x3, x4)
1912_0_binarySearch_Return(x1, x2, x3, x4) → 1912_0_binarySearch_Return(x1)
Combined rules. Obtained 4 conditional rules for P and 20 conditional rules for R.
P rules:
1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0)), x3, x2) → 2002_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0)), -(+(x2, /(-(x3, x2), 2)), 1), x2), x3, +(x2, /(-(x3, x2), 2)), java.lang.Object(ARRAY(x0))) | &&(&&(>=(x3, x2), >(x0, +(x2, /(-(x3, x2), 2)))), <=(0, +(x2, /(-(x3, x2), 2))))
2002_1_binarySearch_InvokeMethod(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0))), x5, x6, java.lang.Object(ARRAY(x0))) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0)), x5, +(x6, 1))) | >(x6, -1)
2002_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return, x3, x4, java.lang.Object(ARRAY(x1))) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x1)), x3, +(x4, 1))) | >(x4, -1)
2002_1_binarySearch_InvokeMethod(2481_0_binarySearch_Return(0), x3, x4, java.lang.Object(ARRAY(x1))) → 2346_1_binarySearch_InvokeMethod(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x1)), x3, +(x4, 1))) | >(x4, -1)
R rules:
2002_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3), x4, x5, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x4, x5, java.lang.Object(ARRAY(x0)), x1, x6, x3)
2002_1_binarySearch_InvokeMethod(2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3), x4, x5, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x4, x5, java.lang.Object(ARRAY(x0)), x1, x6, x3)
2002_1_binarySearch_InvokeMethod(2239_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), x6, x7, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2)
2002_1_binarySearch_InvokeMethod(2309_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), x6, x7, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2)
2002_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), x6, x7, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2)
2002_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(x1, x2, x3, java.lang.Object(ARRAY(x0)), x4), x5, x6, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3)
2002_1_binarySearch_InvokeMethod(2141_0_binarySearch_ArrayAccess(x1, x2, x3, java.lang.Object(ARRAY(x0)), x4), x5, x6, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3)) → 2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x4, x3)
2346_1_binarySearch_InvokeMethod(2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3)) → 2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x4, x3)
2346_1_binarySearch_InvokeMethod(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0)))) → 2481_0_binarySearch_Return(0)
2346_1_binarySearch_InvokeMethod(2239_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5)) → 2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x4, x2)
2346_1_binarySearch_InvokeMethod(2309_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5)) → 2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x4, x2)
2346_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5)) → 2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x4, x2)
2346_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(x1, x2, x3, java.lang.Object(ARRAY(x0)), x4)) → 2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2141_0_binarySearch_ArrayAccess(x1, x2, x3, java.lang.Object(ARRAY(x0)), x4)) → 2478_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2312_0_binarySearch_Return(java.lang.Object(ARRAY(x0)), x1, x2, x3)) → 2481_0_binarySearch_Return(1)
2346_1_binarySearch_InvokeMethod(1972_0_binarySearch_Return(java.lang.Object(ARRAY(x0)), x1, x2, x3, x4)) → 2481_0_binarySearch_Return(1)
2346_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return) → 2481_0_binarySearch_Return(0)
2346_1_binarySearch_InvokeMethod(2405_0_binarySearch_Return) → 2481_0_binarySearch_Return(1)
2346_1_binarySearch_InvokeMethod(2481_0_binarySearch_Return(x0)) → 2481_0_binarySearch_Return(x0)
Performed bisimulation on rules. Used the following equivalence classes: {[2402_0_binarySearch_InvokeMethod_4, 2478_0_binarySearch_InvokeMethod_4, 2312_0_binarySearch_Return_4]=2402_0_binarySearch_InvokeMethod_4, [2474_0_binarySearch_InvokeMethod_6, 2239_0_binarySearch_InvokeMethod_6, 2309_0_binarySearch_InvokeMethod_6]=2474_0_binarySearch_InvokeMethod_6, [2107_0_binarySearch_ArrayAccess_5, 2141_0_binarySearch_ArrayAccess_5]=2107_0_binarySearch_ArrayAccess_5, [2394_0_binarySearch_Return, 2405_0_binarySearch_Return]=2394_0_binarySearch_Return}
Finished conversion. Obtained 9 rules for P and 12 rules for R. System has predefined symbols.
P rules:
1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0)), x3, x2) → COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3, x2), >(x0, +(x2, /(-(x3, x2), 2)))), <=(0, +(x2, /(-(x3, x2), 2)))), java.lang.Object(ARRAY(x0)), x3, x2)
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0)), x3, x2) → 2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0)), -(+(x2, /(-(x3, x2), 2)), 1), x2), x3, +(x2, /(-(x3, x2), 2)), java.lang.Object(ARRAY(x0)))
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0)), x3, x2) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0)), -(+(x2, /(-(x3, x2), 2)), 1), x2)
2002_1_BINARYSEARCH_INVOKEMETHOD(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0))), x5, x6, java.lang.Object(ARRAY(x0))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6, -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0))), x5, x6, java.lang.Object(ARRAY(x0)))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD(TRUE, 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0))), x5, x6, java.lang.Object(ARRAY(x0))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0)), x5, +(x6, 1))
2002_1_BINARYSEARCH_INVOKEMETHOD(2394_0_binarySearch_Return, x3, x4, java.lang.Object(ARRAY(x1))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4, -1), 2394_0_binarySearch_Return, x3, x4, java.lang.Object(ARRAY(x1)))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(TRUE, 2394_0_binarySearch_Return, x3, x4, java.lang.Object(ARRAY(x1))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1)), x3, +(x4, 1))
2002_1_BINARYSEARCH_INVOKEMETHOD(2481_0_binarySearch_Return(0), x3, x4, java.lang.Object(ARRAY(x1))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4, -1), 2481_0_binarySearch_Return(0), x3, x4, java.lang.Object(ARRAY(x1)))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(TRUE, 2481_0_binarySearch_Return(0), x3, x4, java.lang.Object(ARRAY(x1))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1)), x3, +(x4, 1))
R rules:
2002_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3), x4, x5, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x4, x5, java.lang.Object(ARRAY(x0)), x1, x6, x3)
2002_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5), x6, x7, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x6, x7, java.lang.Object(ARRAY(x0)), x1, x4, x2)
2002_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(x1, x2, x3, java.lang.Object(ARRAY(x0)), x4), x5, x6, java.lang.Object(ARRAY(x0))) → 2474_0_binarySearch_InvokeMethod(x5, x6, java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3)) → 2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x4, x3)
2346_1_binarySearch_InvokeMethod(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0)))) → 2481_0_binarySearch_Return(0)
2346_1_binarySearch_InvokeMethod(2474_0_binarySearch_InvokeMethod(x2, x3, java.lang.Object(ARRAY(x0)), x1, x4, x5)) → 2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x4, x2)
2346_1_binarySearch_InvokeMethod(2107_0_binarySearch_ArrayAccess(x1, x2, x3, java.lang.Object(ARRAY(x0)), x4)) → 2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3)
2346_1_binarySearch_InvokeMethod(2402_0_binarySearch_InvokeMethod(java.lang.Object(ARRAY(x0)), x1, x2, x3)) → 2481_0_binarySearch_Return(1)
2346_1_binarySearch_InvokeMethod(1972_0_binarySearch_Return(java.lang.Object(ARRAY(x0)), x1, x2, x3, x4)) → 2481_0_binarySearch_Return(1)
2346_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return) → 2481_0_binarySearch_Return(0)
2346_1_binarySearch_InvokeMethod(2394_0_binarySearch_Return) → 2481_0_binarySearch_Return(1)
2346_1_binarySearch_InvokeMethod(2481_0_binarySearch_Return(x0)) → 2481_0_binarySearch_Return(x0)
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[1]))∧x3[0] →* x3[1]∧x2[0] →* x2[1])
(0) -> (2), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[2]))∧x3[0] →* x3[2]∧x2[0] →* x2[2])
(1) -> (3), if (1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), x2[1] + x3[1] - x2[1] / 2 - 1, x2[1]) →* 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3])))∧x3[1] →* x5[3]∧x2[1] + x3[1] - x2[1] / 2 →* x6[3]∧java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[3])))
(1) -> (5), if (1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), x2[1] + x3[1] - x2[1] / 2 - 1, x2[1]) →* 2394_0_binarySearch_Return∧x3[1] →* x3[5]∧x2[1] + x3[1] - x2[1] / 2 →* x4[5]∧java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x1[5])))
(1) -> (7), if (1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), x2[1] + x3[1] - x2[1] / 2 - 1, x2[1]) →* 2481_0_binarySearch_Return(0)∧x3[1] →* x3[7]∧x2[1] + x3[1] - x2[1] / 2 →* x4[7]∧java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x1[7])))
(2) -> (0), if (java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[0]))∧x2[2] + x3[2] - x2[2] / 2 - 1 →* x3[0]∧x2[2] →* x2[0])
(3) -> (4), if (x6[3] > -1 ∧1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))) →* 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4])))∧x5[3] →* x5[4]∧x6[3] →* x6[4]∧java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4])))
(4) -> (0), if (java.lang.Object(ARRAY(x0[4])) →* java.lang.Object(ARRAY(x0[0]))∧x5[4] →* x3[0]∧x6[4] + 1 →* x2[0])
(5) -> (6), if (x4[5] > -1 ∧x3[5] →* x3[6]∧x4[5] →* x4[6]∧java.lang.Object(ARRAY(x1[5])) →* java.lang.Object(ARRAY(x1[6])))
(6) -> (0), if (java.lang.Object(ARRAY(x1[6])) →* java.lang.Object(ARRAY(x0[0]))∧x3[6] →* x3[0]∧x4[6] + 1 →* x2[0])
(7) -> (8), if (x4[7] > -1 ∧x3[7] →* x3[8]∧x4[7] →* x4[8]∧java.lang.Object(ARRAY(x1[7])) →* java.lang.Object(ARRAY(x1[8])))
(8) -> (0), if (java.lang.Object(ARRAY(x1[8])) →* java.lang.Object(ARRAY(x0[0]))∧x3[8] →* x3[0]∧x4[8] + 1 →* x2[0])
(1) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[1]))∧x3[0]=x3[1]∧x2[0]=x2[1] ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(2) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(3) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77 + (-1)Bound*bni_77] + [(-1)bni_77]x2[0] + [bni_77]x3[0] ≥ 0∧[(-1)bso_78] ≥ 0)
(4) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77 + (-1)Bound*bni_77] + [(-1)bni_77]x2[0] + [bni_77]x3[0] ≥ 0∧[(-1)bso_78] ≥ 0)
(5) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77 + (-1)Bound*bni_77] + [(-1)bni_77]x2[0] + [bni_77]x3[0] ≥ 0∧[(-1)bso_78] ≥ 0)
(6) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77] ≥ 0∧[bni_77] ≥ 0∧0 ≥ 0∧[(-1)bni_77 + (-1)Bound*bni_77] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_78] ≥ 0)
(7) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[2]))∧x3[0]=x3[2]∧x2[0]=x2[2] ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(8) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(9) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77 + (-1)Bound*bni_77] + [(-1)bni_77]x2[0] + [bni_77]x3[0] ≥ 0∧[(-1)bso_78] ≥ 0)
(10) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77 + (-1)Bound*bni_77] + [(-1)bni_77]x2[0] + [bni_77]x3[0] ≥ 0∧[(-1)bso_78] ≥ 0)
(11) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77 + (-1)Bound*bni_77] + [(-1)bni_77]x2[0] + [bni_77]x3[0] ≥ 0∧[(-1)bso_78] ≥ 0)
(12) (0 ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(-1)bni_77] ≥ 0∧[bni_77] ≥ 0∧0 ≥ 0∧[(-1)bni_77 + (-1)Bound*bni_77] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_78] ≥ 0)
(13) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[1]))∧x3[0]=x3[1]∧x2[0]=x2[1] ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x3[1], x2[1])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x3[1], x2[1])≥2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))∧(UIncreasing(2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))), ≥))
(14) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[0])), -(+(x2[0], /(-(x3[0], x2[0]), 2)), 1), x2[0]), x3[0], +(x2[0], /(-(x3[0], x2[0]), 2)), java.lang.Object(ARRAY(x0[0])))∧(UIncreasing(2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))), ≥))
(15) (0 ≥ 0 ⇒ (UIncreasing(2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [(-1)bni_79]x2[0] + [bni_79]x3[0] ≥ 0∧[2 + (-1)bso_80] + x2[0] ≥ 0)
(16) (0 ≥ 0 ⇒ (UIncreasing(2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [(-1)bni_79]x2[0] + [bni_79]x3[0] ≥ 0∧[2 + (-1)bso_80] + x2[0] ≥ 0)
(17) (0 ≥ 0 ⇒ (UIncreasing(2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))), ≥)∧[(-1)bni_79 + (-1)Bound*bni_79] + [(-1)bni_79]x2[0] + [bni_79]x3[0] ≥ 0∧[2 + (-1)bso_80] + x2[0] ≥ 0)
(18) (0 ≥ 0 ⇒ (UIncreasing(2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))), ≥)∧[(-1)bni_79] ≥ 0∧[bni_79] ≥ 0∧0 ≥ 0∧[(-1)bni_79 + (-1)Bound*bni_79] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[2 + (-1)bso_80] ≥ 0)
(19) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[2]))∧x3[0]=x3[2]∧x2[0]=x2[2] ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2])≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥))
(20) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), -(+(x2[0], /(-(x3[0], x2[0]), 2)), 1), x2[0])∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥))
(21) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)bni_81 + (-1)Bound*bni_81] + [(-1)bni_81]x2[0] + [bni_81]x3[0] ≥ 0∧[(-1)bso_82] + x3[0] ≥ 0)
(22) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)bni_81 + (-1)Bound*bni_81] + [(-1)bni_81]x2[0] + [bni_81]x3[0] ≥ 0∧[(-1)bso_82] + x3[0] ≥ 0)
(23) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)bni_81 + (-1)Bound*bni_81] + [(-1)bni_81]x2[0] + [bni_81]x3[0] ≥ 0∧[(-1)bso_82] + x3[0] ≥ 0)
(24) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)bni_81] ≥ 0∧[bni_81] ≥ 0∧0 ≥ 0∧[(-1)bni_81 + (-1)Bound*bni_81] ≥ 0∧0 ≥ 0∧[1] ≥ 0∧0 ≥ 0∧[(-1)bso_82] ≥ 0)
(25) (>(x6[3], -1)=TRUE∧1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3])))=1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4])))∧x5[3]=x5[4]∧x6[3]=x6[4]∧java.lang.Object(ARRAY(x0[3]))=java.lang.Object(ARRAY(x0[4])) ⇒ 2002_1_BINARYSEARCH_INVOKEMETHOD(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))≥NonInfC∧2002_1_BINARYSEARCH_INVOKEMETHOD(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))≥COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))∧(UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))), ≥))
(26) (>(x6[3], -1)=TRUE ⇒ 2002_1_BINARYSEARCH_INVOKEMETHOD(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))≥NonInfC∧2002_1_BINARYSEARCH_INVOKEMETHOD(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))≥COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))∧(UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))), ≥))
(27) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))), ≥)∧[(-1)bni_83 + (-1)Bound*bni_83] + [(2)bni_83]x6[3] + [bni_83]x5[3] ≥ 0∧[(-1)bso_84] ≥ 0)
(28) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))), ≥)∧[(-1)bni_83 + (-1)Bound*bni_83] + [(2)bni_83]x6[3] + [bni_83]x5[3] ≥ 0∧[(-1)bso_84] ≥ 0)
(29) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))), ≥)∧[(-1)bni_83 + (-1)Bound*bni_83] + [(2)bni_83]x6[3] + [bni_83]x5[3] ≥ 0∧[(-1)bso_84] ≥ 0)
(30) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))), ≥)∧0 ≥ 0∧[(2)bni_83] ≥ 0∧[bni_83] ≥ 0∧[(-1)bni_83 + (-1)Bound*bni_83] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_84] ≥ 0)
(31) (>(x6[3], -1)=TRUE∧1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3])))=1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4])))∧x5[3]=x5[4]∧x6[3]=x6[4]∧java.lang.Object(ARRAY(x0[3]))=java.lang.Object(ARRAY(x0[4]))∧java.lang.Object(ARRAY(x0[4]))=java.lang.Object(ARRAY(x0[0]))∧x5[4]=x3[0]∧+(x6[4], 1)=x2[0] ⇒ COND_2002_1_BINARYSEARCH_INVOKEMETHOD(TRUE, 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4]))), x5[4], x6[4], java.lang.Object(ARRAY(x0[4])))≥NonInfC∧COND_2002_1_BINARYSEARCH_INVOKEMETHOD(TRUE, 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4]))), x5[4], x6[4], java.lang.Object(ARRAY(x0[4])))≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))), ≥))
(32) (>(x6[3], -1)=TRUE ⇒ COND_2002_1_BINARYSEARCH_INVOKEMETHOD(TRUE, 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))≥NonInfC∧COND_2002_1_BINARYSEARCH_INVOKEMETHOD(TRUE, 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[3])), x5[3], +(x6[3], 1))∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))), ≥))
(33) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x6[3] + [bni_85]x5[3] ≥ 0∧[(-1)bso_86] + [2]x6[3] ≥ 0)
(34) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x6[3] + [bni_85]x5[3] ≥ 0∧[(-1)bso_86] + [2]x6[3] ≥ 0)
(35) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x6[3] + [bni_85]x5[3] ≥ 0∧[(-1)bso_86] + [2]x6[3] ≥ 0)
(36) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))), ≥)∧0 ≥ 0∧[(2)bni_85] ≥ 0∧[bni_85] ≥ 0∧[(-1)bni_85 + (-1)Bound*bni_85] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_86] ≥ 0∧[1] ≥ 0)
(37) (>(x4[5], -1)=TRUE∧x3[5]=x3[6]∧x4[5]=x4[6]∧java.lang.Object(ARRAY(x1[5]))=java.lang.Object(ARRAY(x1[6])) ⇒ 2002_1_BINARYSEARCH_INVOKEMETHOD(2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))≥NonInfC∧2002_1_BINARYSEARCH_INVOKEMETHOD(2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))≥COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))∧(UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))), ≥))
(38) (>(x4[5], -1)=TRUE ⇒ 2002_1_BINARYSEARCH_INVOKEMETHOD(2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))≥NonInfC∧2002_1_BINARYSEARCH_INVOKEMETHOD(2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))≥COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))∧(UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))), ≥))
(39) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))), ≥)∧[(-1)bni_87 + (-1)Bound*bni_87] + [(2)bni_87]x4[5] + [bni_87]x3[5] ≥ 0∧[(-1)bso_88] ≥ 0)
(40) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))), ≥)∧[(-1)bni_87 + (-1)Bound*bni_87] + [(2)bni_87]x4[5] + [bni_87]x3[5] ≥ 0∧[(-1)bso_88] ≥ 0)
(41) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))), ≥)∧[(-1)bni_87 + (-1)Bound*bni_87] + [(2)bni_87]x4[5] + [bni_87]x3[5] ≥ 0∧[(-1)bso_88] ≥ 0)
(42) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))), ≥)∧0 ≥ 0∧[(2)bni_87] ≥ 0∧[bni_87] ≥ 0∧[(-1)bni_87 + (-1)Bound*bni_87] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_88] ≥ 0)
(43) (>(x4[5], -1)=TRUE∧x3[5]=x3[6]∧x4[5]=x4[6]∧java.lang.Object(ARRAY(x1[5]))=java.lang.Object(ARRAY(x1[6]))∧java.lang.Object(ARRAY(x1[6]))=java.lang.Object(ARRAY(x0[0]))∧x3[6]=x3[0]∧+(x4[6], 1)=x2[0] ⇒ COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(TRUE, 2394_0_binarySearch_Return, x3[6], x4[6], java.lang.Object(ARRAY(x1[6])))≥NonInfC∧COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(TRUE, 2394_0_binarySearch_Return, x3[6], x4[6], java.lang.Object(ARRAY(x1[6])))≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))), ≥))
(44) (>(x4[5], -1)=TRUE ⇒ COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(TRUE, 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))≥NonInfC∧COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(TRUE, 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[5])), x3[5], +(x4[5], 1))∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))), ≥))
(45) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [(2)bni_89]x4[5] + [bni_89]x3[5] ≥ 0∧[(-1)bso_90] + [2]x4[5] ≥ 0)
(46) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [(2)bni_89]x4[5] + [bni_89]x3[5] ≥ 0∧[(-1)bso_90] + [2]x4[5] ≥ 0)
(47) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))), ≥)∧[(-1)bni_89 + (-1)Bound*bni_89] + [(2)bni_89]x4[5] + [bni_89]x3[5] ≥ 0∧[(-1)bso_90] + [2]x4[5] ≥ 0)
(48) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))), ≥)∧0 ≥ 0∧[(2)bni_89] ≥ 0∧[bni_89] ≥ 0∧[(-1)bni_89 + (-1)Bound*bni_89] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_90] ≥ 0∧[1] ≥ 0)
(49) (>(x4[7], -1)=TRUE∧x3[7]=x3[8]∧x4[7]=x4[8]∧java.lang.Object(ARRAY(x1[7]))=java.lang.Object(ARRAY(x1[8])) ⇒ 2002_1_BINARYSEARCH_INVOKEMETHOD(2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))≥NonInfC∧2002_1_BINARYSEARCH_INVOKEMETHOD(2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))≥COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))∧(UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))), ≥))
(50) (>(x4[7], -1)=TRUE ⇒ 2002_1_BINARYSEARCH_INVOKEMETHOD(2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))≥NonInfC∧2002_1_BINARYSEARCH_INVOKEMETHOD(2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))≥COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))∧(UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))), ≥))
(51) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))), ≥)∧[(-1)bni_91 + (-1)Bound*bni_91] + [(2)bni_91]x4[7] + [bni_91]x3[7] ≥ 0∧[(-1)bso_92] ≥ 0)
(52) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))), ≥)∧[(-1)bni_91 + (-1)Bound*bni_91] + [(2)bni_91]x4[7] + [bni_91]x3[7] ≥ 0∧[(-1)bso_92] ≥ 0)
(53) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))), ≥)∧[(-1)bni_91 + (-1)Bound*bni_91] + [(2)bni_91]x4[7] + [bni_91]x3[7] ≥ 0∧[(-1)bso_92] ≥ 0)
(54) (0 ≥ 0 ⇒ (UIncreasing(COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))), ≥)∧0 ≥ 0∧[(2)bni_91] ≥ 0∧[bni_91] ≥ 0∧[(-1)bni_91 + (-1)Bound*bni_91] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_92] ≥ 0)
(55) (>(x4[7], -1)=TRUE∧x3[7]=x3[8]∧x4[7]=x4[8]∧java.lang.Object(ARRAY(x1[7]))=java.lang.Object(ARRAY(x1[8]))∧java.lang.Object(ARRAY(x1[8]))=java.lang.Object(ARRAY(x0[0]))∧x3[8]=x3[0]∧+(x4[8], 1)=x2[0] ⇒ COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(TRUE, 2481_0_binarySearch_Return(0), x3[8], x4[8], java.lang.Object(ARRAY(x1[8])))≥NonInfC∧COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(TRUE, 2481_0_binarySearch_Return(0), x3[8], x4[8], java.lang.Object(ARRAY(x1[8])))≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))), ≥))
(56) (>(x4[7], -1)=TRUE ⇒ COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(TRUE, 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))≥NonInfC∧COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(TRUE, 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[7])), x3[7], +(x4[7], 1))∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))), ≥))
(57) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))), ≥)∧[(-1)bni_93 + (-1)Bound*bni_93] + [(2)bni_93]x4[7] + [bni_93]x3[7] ≥ 0∧[(-1)bso_94] + [2]x4[7] ≥ 0)
(58) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))), ≥)∧[(-1)bni_93 + (-1)Bound*bni_93] + [(2)bni_93]x4[7] + [bni_93]x3[7] ≥ 0∧[(-1)bso_94] + [2]x4[7] ≥ 0)
(59) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))), ≥)∧[(-1)bni_93 + (-1)Bound*bni_93] + [(2)bni_93]x4[7] + [bni_93]x3[7] ≥ 0∧[(-1)bso_94] + [2]x4[7] ≥ 0)
(60) (0 ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))), ≥)∧0 ≥ 0∧[(2)bni_93] ≥ 0∧[bni_93] ≥ 0∧[(-1)bni_93 + (-1)Bound*bni_93] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_94] ≥ 0∧[1] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(2002_1_binarySearch_InvokeMethod(x1, x2, x3, x4)) = 0
POL(2402_0_binarySearch_InvokeMethod(x1, x2, x3, x4)) = 0
POL(java.lang.Object(x1)) = 0
POL(ARRAY(x1)) = 0
POL(2474_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6)) = 0
POL(2107_0_binarySearch_ArrayAccess(x1, x2, x3, x4, x5)) = 0
POL(2346_1_binarySearch_InvokeMethod(x1)) = 0
POL(1912_0_binarySearch_Return(x1)) = 0
POL(2481_0_binarySearch_Return(x1)) = 0
POL(0) = 0
POL(1) = 0
POL(1972_0_binarySearch_Return(x1, x2, x3, x4, x5)) = 0
POL(2394_0_binarySearch_Return) = 0
POL(1905_0_BINARYSEARCH_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + x2 + [-1]x1
POL(COND_1905_0_BINARYSEARCH_LOAD(x1, x2, x3, x4)) = [-1] + [-1]x4 + x3 + [-1]x2 + [2]x1
POL(&&(x1, x2)) = 0
POL(>=(x1, x2)) = 0
POL(>(x1, x2)) = 0
POL(+(x1, x2)) = 0
POL(-(x1, x2)) = 0
POL(2) = 0
POL(<=(x1, x2)) = 0
POL(2002_1_BINARYSEARCH_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3 + x2 + [-1]x1
POL(1905_0_binarySearch_Load(x1, x2, x3)) = [2] + [2]x3 + x2
POL(COND_2002_1_BINARYSEARCH_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [2]x4 + x3 + [-1]x2
POL(-1) = 0
POL(COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [2]x4 + x3 + [-1]x2
POL(COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + [2]x4 + x3 + [-1]x2
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x3[1], x2[1]) → 2002_1_BINARYSEARCH_INVOKEMETHOD(1905_0_binarySearch_Load(java.lang.Object(ARRAY(x0[1])), -(+(x2[1], /(-(x3[1], x2[1]), 2)), 1), x2[1]), x3[1], +(x2[1], /(-(x3[1], x2[1]), 2)), java.lang.Object(ARRAY(x0[1])))
2002_1_BINARYSEARCH_INVOKEMETHOD(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3]))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD(TRUE, 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4]))), x5[4], x6[4], java.lang.Object(ARRAY(x0[4]))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))
2002_1_BINARYSEARCH_INVOKEMETHOD(2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5]))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(TRUE, 2394_0_binarySearch_Return, x3[6], x4[6], java.lang.Object(ARRAY(x1[6]))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))
2002_1_BINARYSEARCH_INVOKEMETHOD(2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7]))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(TRUE, 2481_0_binarySearch_Return(0), x3[8], x4[8], java.lang.Object(ARRAY(x1[8]))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))
1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0]) → COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2]) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])
2002_1_BINARYSEARCH_INVOKEMETHOD(1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3]))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD(>(x6[3], -1), 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))), x5[3], x6[3], java.lang.Object(ARRAY(x0[3])))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD(TRUE, 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4]))), x5[4], x6[4], java.lang.Object(ARRAY(x0[4]))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[4])), x5[4], +(x6[4], 1))
2002_1_BINARYSEARCH_INVOKEMETHOD(2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5]))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(>(x4[5], -1), 2394_0_binarySearch_Return, x3[5], x4[5], java.lang.Object(ARRAY(x1[5])))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD1(TRUE, 2394_0_binarySearch_Return, x3[6], x4[6], java.lang.Object(ARRAY(x1[6]))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[6])), x3[6], +(x4[6], 1))
2002_1_BINARYSEARCH_INVOKEMETHOD(2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7]))) → COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(>(x4[7], -1), 2481_0_binarySearch_Return(0), x3[7], x4[7], java.lang.Object(ARRAY(x1[7])))
COND_2002_1_BINARYSEARCH_INVOKEMETHOD2(TRUE, 2481_0_binarySearch_Return(0), x3[8], x4[8], java.lang.Object(ARRAY(x1[8]))) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x1[8])), x3[8], +(x4[8], 1))
&&(TRUE, TRUE)1 → TRUE1
&&(TRUE, FALSE)1 → FALSE1
&&(FALSE, TRUE)1 → FALSE1
&&(FALSE, FALSE)1 → FALSE1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(2) -> (0), if (java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[0]))∧x2[2] + x3[2] - x2[2] / 2 - 1 →* x3[0]∧x2[2] →* x2[0])
(4) -> (0), if (java.lang.Object(ARRAY(x0[4])) →* java.lang.Object(ARRAY(x0[0]))∧x5[4] →* x3[0]∧x6[4] + 1 →* x2[0])
(6) -> (0), if (java.lang.Object(ARRAY(x1[6])) →* java.lang.Object(ARRAY(x0[0]))∧x3[6] →* x3[0]∧x4[6] + 1 →* x2[0])
(8) -> (0), if (java.lang.Object(ARRAY(x1[8])) →* java.lang.Object(ARRAY(x0[0]))∧x3[8] →* x3[0]∧x4[8] + 1 →* x2[0])
(0) -> (2), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[2]))∧x3[0] →* x3[2]∧x2[0] →* x2[2])
(3) -> (4), if (x6[3] > -1 ∧1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[3]))) →* 1912_0_binarySearch_Return(java.lang.Object(ARRAY(x0[4])))∧x5[3] →* x5[4]∧x6[3] →* x6[4]∧java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4])))
(5) -> (6), if (x4[5] > -1 ∧x3[5] →* x3[6]∧x4[5] →* x4[6]∧java.lang.Object(ARRAY(x1[5])) →* java.lang.Object(ARRAY(x1[6])))
(7) -> (8), if (x4[7] > -1 ∧x3[7] →* x3[8]∧x4[7] →* x4[8]∧java.lang.Object(ARRAY(x1[7])) →* java.lang.Object(ARRAY(x1[8])))
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(2) -> (0), if (java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[0]))∧x2[2] + x3[2] - x2[2] / 2 - 1 →* x3[0]∧x2[2] →* x2[0])
(0) -> (2), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[2]))∧x3[0] →* x3[2]∧x2[0] →* x2[2])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(2) -> (0), if (java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[0]))∧x2[2] + x3[2] - x2[2] / 2 - 1 →* x3[0]∧x2[2] →* x2[0])
(0) -> (2), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[2]))∧x3[0] →* x3[2]∧x2[0] →* x2[2])
(1) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[2]))∧x3[0]=x3[2]∧x2[0]=x2[2] ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2])≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥))
(2) (<=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE∧>=(x3[0], x2[0])=TRUE∧>(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), -(+(x2[0], /(-(x3[0], x2[0]), 2)), 1), x2[0])∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥))
(3) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23] + [(-1)bni_23]x2[0] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] + [-1]x2[0] + x3[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0)
(4) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23] + [(-1)bni_23]x2[0] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] + [-1]x2[0] + x3[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0)
(5) (x3[0] + [-1]x2[0] ≥ 0∧[2]x3[0] + [-2]x2[0] ≥ 0∧[-1] + x3[0] ≥ 0∧x0[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23] + [(-1)bni_23]x2[0] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(6) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x2[0] + [-1] + x3[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(7) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(8) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(9) (x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0∧x3[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(10) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[2]))∧x3[0]=x3[2]∧x2[0]=x2[2] ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(11) (<=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE∧>=(x3[0], x2[0])=TRUE∧>(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(12) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(2)bni_28 + (-1)Bound*bni_28] + [(-1)bni_28]x2[0] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(13) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(2)bni_28 + (-1)Bound*bni_28] + [(-1)bni_28]x2[0] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(14) (x3[0] + [-1]x2[0] ≥ 0∧[2]x3[0] + [-2]x2[0] ≥ 0∧[-1] + x3[0] ≥ 0∧x0[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(2)bni_28 + (-1)Bound*bni_28] + [(-1)bni_28]x2[0] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(15) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x2[0] + [-1] + x3[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(2)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(16) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(2)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(17) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(2)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(18) (x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0∧x3[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(2)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_1905_0_BINARYSEARCH_LOAD(x1, x2, x3, x4)) = [2] + [-1]x4 + x3 + x2 + x1
POL(java.lang.Object(x1)) = [-1] + x1
POL(ARRAY(x1)) = [-1]
POL(1905_0_BINARYSEARCH_LOAD(x1, x2, x3)) = [-1]x3 + x2 + [-1]x1
POL(-(x1, x2)) = x1 + [-1]x2
POL(+(x1, x2)) = x1 + x2
POL(2) = [2]
POL(1) = [1]
POL(&&(x1, x2)) = 0
POL(>=(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(<=(x1, x2)) = [-1]
POL(0) = 0
Polynomial Interpretations with Context Sensitive Arithemetic Replacement
POL(TermCSAR-Mode @ Context)
POL(/(x1, 2)1 @ {+_2/1}) = max{x1, [-1]x1} + [-1]
POL(/(x1, 2)-1 @ {+_2/1}) = max{x1, [-1]x1} + [-1]
POL(/(x1, 2)1 @ {1905_0_BINARYSEARCH_LOAD_3/1, -_2/0, +_2/1}) = max{x1, [-1]x1} + [-1]
1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0]) → COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2]) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])
1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0]) → COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2]) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])
/1 →
&&(TRUE, TRUE)1 → TRUE1
&&(TRUE, FALSE)1 → FALSE1
&&(FALSE, TRUE)1 ↔ FALSE1
&&(FALSE, FALSE)1 → FALSE1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(2) -> (0), if (java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[0]))∧x2[2] + x3[2] - x2[2] / 2 - 1 →* x3[0]∧x2[2] →* x2[0])
(0) -> (1), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[1]))∧x3[0] →* x3[1]∧x2[0] →* x2[1])
(0) -> (2), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[2]))∧x3[0] →* x3[2]∧x2[0] →* x2[2])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(2) -> (0), if (java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[0]))∧x2[2] + x3[2] - x2[2] / 2 - 1 →* x3[0]∧x2[2] →* x2[0])
(0) -> (2), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[2]))∧x3[0] →* x3[2]∧x2[0] →* x2[2])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer, Boolean
(2) -> (0), if (java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[0]))∧x2[2] + x3[2] - x2[2] / 2 - 1 →* x3[0]∧x2[2] →* x2[0])
(0) -> (2), if (x3[0] >= x2[0] && x0[0] > x2[0] + x3[0] - x2[0] / 2 && 0 <= x2[0] + x3[0] - x2[0] / 2 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[2]))∧x3[0] →* x3[2]∧x2[0] →* x2[2])
(1) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[2]))∧x3[0]=x3[2]∧x2[0]=x2[2] ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2])≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥))
(2) (<=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE∧>=(x3[0], x2[0])=TRUE∧>(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE ⇒ COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), -(+(x2[0], /(-(x3[0], x2[0]), 2)), 1), x2[0])∧(UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥))
(3) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(-1)bni_23]x2[0] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] + [-1]x2[0] + x3[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0)
(4) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(-1)bni_23]x2[0] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] + [-1]x2[0] + x3[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0)
(5) (x3[0] + [-1]x2[0] ≥ 0∧[2]x3[0] + [-2]x2[0] ≥ 0∧[-1] + x3[0] ≥ 0∧x0[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[bni_23 + (-1)Bound*bni_23] + [(-1)bni_23]x2[0] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(6) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x2[0] + [-1] + x3[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[bni_23 + (-1)Bound*bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(7) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[bni_23 + (-1)Bound*bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(8) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23 + bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(9) (x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0∧x3[0] ≥ 0 ⇒ (UIncreasing(1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])), ≥)∧[(-1)Bound*bni_23 + bni_23] + [bni_23]x3[0] ≥ 0∧[(-1)bso_27] ≥ 0)
(10) (&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2))))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[2]))∧x3[0]=x3[2]∧x2[0]=x2[2] ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(11) (<=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE∧>=(x3[0], x2[0])=TRUE∧>(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))=TRUE ⇒ 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥NonInfC∧1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])≥COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])∧(UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥))
(12) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(3)bni_28 + (-1)Bound*bni_28] + [(-1)bni_28]x2[0] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(13) (x2[0] + [-1] + max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0∧x3[0] + [-1]x2[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]max{x3[0] + [-1]x2[0], [-1]x3[0] + x2[0]} ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(3)bni_28 + (-1)Bound*bni_28] + [(-1)bni_28]x2[0] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(14) (x3[0] + [-1]x2[0] ≥ 0∧[2]x3[0] + [-2]x2[0] ≥ 0∧[-1] + x3[0] ≥ 0∧x0[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(3)bni_28 + (-1)Bound*bni_28] + [(-1)bni_28]x2[0] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(15) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x2[0] + [-1] + x3[0] ≥ 0∧x0[0] + [-1]x2[0] + [-1]x3[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(3)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(16) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(3)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(17) (x3[0] ≥ 0∧[2]x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(3)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
(18) (x3[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0∧x3[0] ≥ 0 ⇒ (UIncreasing(COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])), ≥)∧[(3)bni_28 + (-1)Bound*bni_28] + [bni_28]x3[0] ≥ 0∧[2 + (-1)bso_29] ≥ 0)
POL(TRUE) = [3]
POL(FALSE) = [3]
POL(COND_1905_0_BINARYSEARCH_LOAD(x1, x2, x3, x4)) = [-1]x4 + x3 + [-1]x2
POL(java.lang.Object(x1)) = [-1]
POL(ARRAY(x1)) = [-1] + [-1]x1
POL(1905_0_BINARYSEARCH_LOAD(x1, x2, x3)) = [2] + [-1]x3 + x2 + [-1]x1
POL(-(x1, x2)) = x1 + [-1]x2
POL(+(x1, x2)) = x1 + x2
POL(2) = [2]
POL(1) = [1]
POL(&&(x1, x2)) = [1]
POL(>=(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(<=(x1, x2)) = [-1]
POL(0) = 0
Polynomial Interpretations with Context Sensitive Arithemetic Replacement
POL(TermCSAR-Mode @ Context)
POL(/(x1, 2)1 @ {+_2/1}) = max{x1, [-1]x1} + [-1]
POL(/(x1, 2)-1 @ {+_2/1}) = max{x1, [-1]x1} + [-1]
POL(/(x1, 2)1 @ {1905_0_BINARYSEARCH_LOAD_3/1, -_2/0, +_2/1}) = max{x1, [-1]x1} + [-1]
1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0]) → COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2]) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])
1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[0])), x3[0], x2[0]) → COND_1905_0_BINARYSEARCH_LOAD(&&(&&(>=(x3[0], x2[0]), >(x0[0], +(x2[0], /(-(x3[0], x2[0]), 2)))), <=(0, +(x2[0], /(-(x3[0], x2[0]), 2)))), java.lang.Object(ARRAY(x0[0])), x3[0], x2[0])
COND_1905_0_BINARYSEARCH_LOAD(TRUE, java.lang.Object(ARRAY(x0[2])), x3[2], x2[2]) → 1905_0_BINARYSEARCH_LOAD(java.lang.Object(ARRAY(x0[2])), -(+(x2[2], /(-(x3[2], x2[2]), 2)), 1), x2[2])
/1 →
TRUE1 → &&(TRUE, TRUE)1
FALSE1 → &&(TRUE, FALSE)1
FALSE1 → &&(FALSE, TRUE)1
FALSE1 → &&(FALSE, FALSE)1
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer
Generated 30 rules for P and 0 rules for R.
P rules:
1247_0_createArray_Load(EOS(STATIC_1247), java.lang.Object(ARRAY(i79)), i316, i316) → 1254_0_createArray_ArrayLength(EOS(STATIC_1254), java.lang.Object(ARRAY(i79)), i316, i316, java.lang.Object(ARRAY(i79)))
1254_0_createArray_ArrayLength(EOS(STATIC_1254), java.lang.Object(ARRAY(i79)), i316, i316, java.lang.Object(ARRAY(i79))) → 1257_0_createArray_GE(EOS(STATIC_1257), java.lang.Object(ARRAY(i79)), i316, i316, i79) | >=(i79, 0)
1257_0_createArray_GE(EOS(STATIC_1257), java.lang.Object(ARRAY(i79)), i316, i316, i79) → 1265_0_createArray_GE(EOS(STATIC_1265), java.lang.Object(ARRAY(i79)), i316, i316, i79)
1265_0_createArray_GE(EOS(STATIC_1265), java.lang.Object(ARRAY(i79)), i316, i316, i79) → 1275_0_createArray_Load(EOS(STATIC_1275), java.lang.Object(ARRAY(i79)), i316) | <(i316, i79)
1275_0_createArray_Load(EOS(STATIC_1275), java.lang.Object(ARRAY(i79)), i316) → 1282_0_createArray_Load(EOS(STATIC_1282), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)))
1282_0_createArray_Load(EOS(STATIC_1282), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79))) → 1290_0_createArray_InvokeMethod(EOS(STATIC_1290), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316)
1290_0_createArray_InvokeMethod(EOS(STATIC_1290), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316) → 1299_0_random_FieldAccess(EOS(STATIC_1299), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316)
1299_0_random_FieldAccess(EOS(STATIC_1299), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316) → 1315_0_random_FieldAccess(EOS(STATIC_1315), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i77)))
1315_0_random_FieldAccess(EOS(STATIC_1315), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i77))) → 1323_0_random_ArrayAccess(EOS(STATIC_1323), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i77)), i315)
1323_0_random_ArrayAccess(EOS(STATIC_1323), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i77)), i315) → 1330_0_random_ArrayAccess(EOS(STATIC_1330), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i77)), i315)
1330_0_random_ArrayAccess(EOS(STATIC_1330), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i77)), i315) → 1340_0_random_Store(EOS(STATIC_1340), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383) | <(i315, i77)
1340_0_random_Store(EOS(STATIC_1340), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383) → 1348_0_random_FieldAccess(EOS(STATIC_1348), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383)
1348_0_random_FieldAccess(EOS(STATIC_1348), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383) → 1355_0_random_ConstantStackPush(EOS(STATIC_1355), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383, i315)
1355_0_random_ConstantStackPush(EOS(STATIC_1355), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383, i315) → 1362_0_random_IntArithmetic(EOS(STATIC_1362), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383, i315, 1)
1362_0_random_IntArithmetic(EOS(STATIC_1362), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383, i315, matching1) → 1368_0_random_FieldAccess(EOS(STATIC_1368), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383, +(i315, 1)) | &&(>(i315, 0), =(matching1, 1))
1368_0_random_FieldAccess(EOS(STATIC_1368), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383, i329) → 1374_0_random_Load(EOS(STATIC_1374), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383)
1374_0_random_Load(EOS(STATIC_1374), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383) → 1384_0_random_InvokeMethod(EOS(STATIC_1384), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, o383)
1384_0_random_InvokeMethod(EOS(STATIC_1384), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(o411sub)) → 1391_0_random_InvokeMethod(EOS(STATIC_1391), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(o411sub))
1391_0_random_InvokeMethod(EOS(STATIC_1391), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(o411sub)) → 1396_0_length_Load(EOS(STATIC_1396), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(o411sub), java.lang.Object(o411sub))
1396_0_length_Load(EOS(STATIC_1396), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(o411sub), java.lang.Object(o411sub)) → 1411_0_length_FieldAccess(EOS(STATIC_1411), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(o411sub), java.lang.Object(o411sub))
1411_0_length_FieldAccess(EOS(STATIC_1411), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(java.lang.String(o420sub, i361)), java.lang.Object(java.lang.String(o420sub, i361))) → 1414_0_length_FieldAccess(EOS(STATIC_1414), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(java.lang.String(o420sub, i361)), java.lang.Object(java.lang.String(o420sub, i361))) | &&(>=(i361, 0), >=(i362, 0))
1414_0_length_FieldAccess(EOS(STATIC_1414), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(java.lang.String(o420sub, i361)), java.lang.Object(java.lang.String(o420sub, i361))) → 1424_0_length_Return(EOS(STATIC_1424), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(java.lang.String(o420sub, i361)))
1424_0_length_Return(EOS(STATIC_1424), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316, java.lang.Object(java.lang.String(o420sub, i361))) → 1431_0_random_Return(EOS(STATIC_1431), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316)
1431_0_random_Return(EOS(STATIC_1431), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316) → 1437_0_createArray_ArrayAccess(EOS(STATIC_1437), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316)
1437_0_createArray_ArrayAccess(EOS(STATIC_1437), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316) → 1447_0_createArray_ArrayAccess(EOS(STATIC_1447), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316)
1447_0_createArray_ArrayAccess(EOS(STATIC_1447), java.lang.Object(ARRAY(i79)), i316, java.lang.Object(ARRAY(i79)), i316) → 1459_0_createArray_Inc(EOS(STATIC_1459), java.lang.Object(ARRAY(i79)), i316) | <(i316, i79)
1459_0_createArray_Inc(EOS(STATIC_1459), java.lang.Object(ARRAY(i79)), i316) → 1471_0_createArray_JMP(EOS(STATIC_1471), java.lang.Object(ARRAY(i79)), +(i316, 1)) | >=(i316, 0)
1471_0_createArray_JMP(EOS(STATIC_1471), java.lang.Object(ARRAY(i79)), i376) → 1483_0_createArray_Load(EOS(STATIC_1483), java.lang.Object(ARRAY(i79)), i376)
1483_0_createArray_Load(EOS(STATIC_1483), java.lang.Object(ARRAY(i79)), i376) → 1239_0_createArray_Load(EOS(STATIC_1239), java.lang.Object(ARRAY(i79)), i376)
1239_0_createArray_Load(EOS(STATIC_1239), java.lang.Object(ARRAY(i79)), i316) → 1247_0_createArray_Load(EOS(STATIC_1247), java.lang.Object(ARRAY(i79)), i316, i316)
R rules:
Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.
P rules:
1247_0_createArray_Load(EOS(STATIC_1247), java.lang.Object(ARRAY(x0)), x1, x1) → 1247_0_createArray_Load(EOS(STATIC_1247), java.lang.Object(ARRAY(x0)), +(x1, 1), +(x1, 1)) | &&(&&(>(+(x1, 1), 0), <(x1, x0)), >(+(x0, 1), 0))
R rules:
Filtered ground terms:
1247_0_createArray_Load(x1, x2, x3, x4) → 1247_0_createArray_Load(x2, x3, x4)
EOS(x1) → EOS
Cond_1247_0_createArray_Load(x1, x2, x3, x4, x5) → Cond_1247_0_createArray_Load(x1, x3, x4, x5)
Filtered duplicate args:
1247_0_createArray_Load(x1, x2, x3) → 1247_0_createArray_Load(x1, x3)
Cond_1247_0_createArray_Load(x1, x2, x3, x4) → Cond_1247_0_createArray_Load(x1, x2, x4)
Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.
P rules:
1247_0_createArray_Load(java.lang.Object(ARRAY(x0)), x1) → 1247_0_createArray_Load(java.lang.Object(ARRAY(x0)), +(x1, 1)) | &&(&&(>(x1, -1), <(x1, x0)), >(x0, -1))
R rules:
Finished conversion. Obtained 2 rules for P and 0 rules for R. System has predefined symbols.
P rules:
1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1, -1), <(x1, x0)), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1247_0_CREATEARRAY_LOAD(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0)), +(x1, 1))
R rules:
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
(0) -> (1), if (x1[0] > -1 && x1[0] < x0[0] && x0[0] > -1 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[1]))∧x1[0] →* x1[1])
(1) -> (0), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[0]))∧x1[1] + 1 →* x1[0])
(1) (&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[1]))∧x1[0]=x1[1] ⇒ 1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥NonInfC∧1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])∧(UIncreasing(COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥))
(2) (>(x0[0], -1)=TRUE∧>(x1[0], -1)=TRUE∧<(x1[0], x0[0])=TRUE ⇒ 1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥NonInfC∧1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])∧(UIncreasing(COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥))
(3) (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_10 + (-1)Bound*bni_10] + [(-1)bni_10]x1[0] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)
(4) (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_10 + (-1)Bound*bni_10] + [(-1)bni_10]x1[0] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)
(5) (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)bni_10 + (-1)Bound*bni_10] + [(-1)bni_10]x1[0] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)
(6) ([1] + x1[0] + x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)Bound*bni_10] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)
(7) (COND_1247_0_CREATEARRAY_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1])≥NonInfC∧COND_1247_0_CREATEARRAY_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1])≥1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[1])), +(x1[1], 1))∧(UIncreasing(1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[1])), +(x1[1], 1))), ≥))
(8) ((UIncreasing(1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[1])), +(x1[1], 1))), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(9) ((UIncreasing(1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[1])), +(x1[1], 1))), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(10) ((UIncreasing(1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[1])), +(x1[1], 1))), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)
(11) ((UIncreasing(1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[1])), +(x1[1], 1))), ≥)∧[bni_12] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_13] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1247_0_CREATEARRAY_LOAD(x1, x2)) = [-1] + [-1]x2 + x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1)) = x1
POL(COND_1247_0_CREATEARRAY_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + x2
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
COND_1247_0_CREATEARRAY_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1]) → 1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[1])), +(x1[1], 1))
1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0]) → COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])
1247_0_CREATEARRAY_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0]) → COND_1247_0_CREATEARRAY_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Boolean, Integer
!= | ~ | Neq: (Integer, Integer) -> Boolean |
* | ~ | Mul: (Integer, Integer) -> Integer |
>= | ~ | Ge: (Integer, Integer) -> Boolean |
-1 | ~ | UnaryMinus: (Integer) -> Integer |
| | ~ | Bwor: (Integer, Integer) -> Integer |
/ | ~ | Div: (Integer, Integer) -> Integer |
= | ~ | Eq: (Integer, Integer) -> Boolean |
~ | Bwxor: (Integer, Integer) -> Integer | |
|| | ~ | Lor: (Boolean, Boolean) -> Boolean |
! | ~ | Lnot: (Boolean) -> Boolean |
< | ~ | Lt: (Integer, Integer) -> Boolean |
- | ~ | Sub: (Integer, Integer) -> Integer |
<= | ~ | Le: (Integer, Integer) -> Boolean |
> | ~ | Gt: (Integer, Integer) -> Boolean |
~ | ~ | Bwnot: (Integer) -> Integer |
% | ~ | Mod: (Integer, Integer) -> Integer |
& | ~ | Bwand: (Integer, Integer) -> Integer |
+ | ~ | Add: (Integer, Integer) -> Integer |
&& | ~ | Land: (Boolean, Boolean) -> Boolean |
Integer