/export/starexec/sandbox2/solver/bin/starexec_run_standard /export/starexec/sandbox2/benchmark/theBenchmark.jar /export/starexec/sandbox2/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox2/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 1534 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 474 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 941 ms] (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 154 ms] (17) IntTRS (18) RankingReductionPairProof [EQUIVALENT, 61 ms] (19) YES (20) JBCTerminationSCC (21) SCCToIRSProof [SOUND, 100 ms] (22) IRSwT (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (24) IRSwT (25) IRSwTTerminationDigraphProof [EQUIVALENT, 43 ms] (26) IRSwT (27) IntTRSCompressionProof [EQUIVALENT, 0 ms] (28) IRSwT (29) TempFilterProof [SOUND, 17 ms] (30) IntTRS (31) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (32) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: 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(); } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: 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(); } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: BinarySearch.BinarySearch.main([Ljava/lang/String;)V: Graph of 167 nodes with 0 SCCs. BinarySearch.BinarySearch.createArray()[I: Graph of 232 nodes with 1 SCC. BinarySearch.BinarySearch.binarySearch([IIII)Z: Graph of 263 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 2 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: BinarySearch.BinarySearch.binarySearch([IIII)Z SCC calls the following helper methods: BinarySearch.BinarySearch.binarySearch([IIII)Z Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 127 IRulesP rules: f5661_0_binarySearch_Load(EOS(STATIC_5661), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934) -> f5662_0_binarySearch_LE(EOS(STATIC_5662), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935) :|: TRUE f5662_0_binarySearch_LE(EOS(STATIC_5662), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935) -> f5663_0_binarySearch_LE(EOS(STATIC_5663), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935) :|: i934 <= i935 f5663_0_binarySearch_LE(EOS(STATIC_5663), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935) -> f5665_0_binarySearch_Load(EOS(STATIC_5665), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935) :|: i934 <= i935 f5665_0_binarySearch_Load(EOS(STATIC_5665), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935) -> f5667_0_binarySearch_Load(EOS(STATIC_5667), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934) :|: TRUE f5667_0_binarySearch_Load(EOS(STATIC_5667), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934) -> f5669_0_binarySearch_Load(EOS(STATIC_5669), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935) :|: TRUE f5669_0_binarySearch_Load(EOS(STATIC_5669), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935) -> f5671_0_binarySearch_IntArithmetic(EOS(STATIC_5671), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935, i934) :|: TRUE f5671_0_binarySearch_IntArithmetic(EOS(STATIC_5671), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935, i934) -> f5672_0_binarySearch_ConstantStackPush(EOS(STATIC_5672), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i935 - i934) :|: i935 >= 0 && i934 >= 0 f5672_0_binarySearch_ConstantStackPush(EOS(STATIC_5672), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i946) -> f5674_0_binarySearch_IntArithmetic(EOS(STATIC_5674), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i946, 2) :|: TRUE f5674_0_binarySearch_IntArithmetic(EOS(STATIC_5674), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i946, matching1) -> f5676_0_binarySearch_IntArithmetic(EOS(STATIC_5676), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i948) :|: i948 = i946 / 2 && i948 <= i946 && matching1 = 2 f5676_0_binarySearch_IntArithmetic(EOS(STATIC_5676), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934, i948) -> f5678_0_binarySearch_Store(EOS(STATIC_5678), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934 + i948) :|: i934 >= 0 && i948 >= 0 f5678_0_binarySearch_Store(EOS(STATIC_5678), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950) -> f5680_0_binarySearch_Load(EOS(STATIC_5680), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950) :|: TRUE f5680_0_binarySearch_Load(EOS(STATIC_5680), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950) -> f5681_0_binarySearch_Load(EOS(STATIC_5681), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604))) :|: TRUE f5681_0_binarySearch_Load(EOS(STATIC_5681), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604))) -> f5682_0_binarySearch_ArrayAccess(EOS(STATIC_5682), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) :|: TRUE f5682_0_binarySearch_ArrayAccess(EOS(STATIC_5682), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) -> f5683_0_binarySearch_ArrayAccess(EOS(STATIC_5683), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) :|: TRUE f5682_0_binarySearch_ArrayAccess(EOS(STATIC_5682), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) -> f5684_0_binarySearch_ArrayAccess(EOS(STATIC_5684), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) :|: TRUE f5683_0_binarySearch_ArrayAccess(EOS(STATIC_5683), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) -> f5685_0_binarySearch_ArrayAccess(EOS(STATIC_5685), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) :|: TRUE f5685_0_binarySearch_ArrayAccess(EOS(STATIC_5685), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) -> f5689_0_binarySearch_Load(EOS(STATIC_5689), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i952) :|: i950 < i604 f5689_0_binarySearch_Load(EOS(STATIC_5689), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i952) -> f5693_0_binarySearch_NE(EOS(STATIC_5693), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i952, i933) :|: TRUE f5693_0_binarySearch_NE(EOS(STATIC_5693), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i952, i933) -> f5695_0_binarySearch_NE(EOS(STATIC_5695), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i952, i933) :|: !(i952 = i933) f5695_0_binarySearch_NE(EOS(STATIC_5695), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i952, i933) -> f5701_0_binarySearch_Load(EOS(STATIC_5701), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950) :|: !(i952 = i933) f5701_0_binarySearch_Load(EOS(STATIC_5701), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950) -> f5707_0_binarySearch_Load(EOS(STATIC_5707), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604))) :|: TRUE f5707_0_binarySearch_Load(EOS(STATIC_5707), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604))) -> f5711_0_binarySearch_Load(EOS(STATIC_5711), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i933) :|: TRUE f5711_0_binarySearch_Load(EOS(STATIC_5711), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i933) -> f5717_0_binarySearch_Load(EOS(STATIC_5717), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934) :|: TRUE f5717_0_binarySearch_Load(EOS(STATIC_5717), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934) -> f5721_0_binarySearch_ConstantStackPush(EOS(STATIC_5721), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950) :|: TRUE f5721_0_binarySearch_ConstantStackPush(EOS(STATIC_5721), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950) -> f5725_0_binarySearch_IntArithmetic(EOS(STATIC_5725), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950, 1) :|: TRUE f5725_0_binarySearch_IntArithmetic(EOS(STATIC_5725), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950, matching1) -> f5729_0_binarySearch_InvokeMethod(EOS(STATIC_5729), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950 - 1) :|: i950 >= 0 && matching1 = 1 f5729_0_binarySearch_InvokeMethod(EOS(STATIC_5729), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i979) -> f5733_0_binarySearch_Load(EOS(STATIC_5733), java.lang.Object(ARRAY(i604)), i933, i934, i979, java.lang.Object(ARRAY(i604)), i933, i934, i979) :|: i934 <= i935 && i979 < i950 f5729_0_binarySearch_InvokeMethod(EOS(STATIC_5729), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i979) -> f5733_1_binarySearch_Load(EOS(STATIC_5733), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i979) :|: i934 <= i935 && i979 < i950 f5733_0_binarySearch_Load(EOS(STATIC_5733), java.lang.Object(ARRAY(i604)), i933, i934, i979, java.lang.Object(ARRAY(i604)), i933, i934, i979) -> f5735_0_binarySearch_Load(EOS(STATIC_5735), java.lang.Object(ARRAY(i604)), i933, i934, i979, java.lang.Object(ARRAY(i604)), i933, i934, i979) :|: TRUE f5735_0_binarySearch_Load(EOS(STATIC_5735), java.lang.Object(ARRAY(i604)), i933, i934, i979, java.lang.Object(ARRAY(i604)), i933, i934, i979) -> f5660_0_binarySearch_Load(EOS(STATIC_5660), i933, i934, i979, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i979) :|: TRUE f5660_0_binarySearch_Load(EOS(STATIC_5660), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935) -> f5661_0_binarySearch_Load(EOS(STATIC_5661), i933, i934, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i933, i934, i935, i934) :|: TRUE f5747_0_binarySearch_Return(EOS(STATIC_5747), i990, i992, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i990, i935, i950, matching1) -> f5755_0_binarySearch_EQ(EOS(STATIC_5755), i990, i992, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i990, i935, i950, 0) :|: TRUE && matching1 = 0 f5755_0_binarySearch_EQ(EOS(STATIC_5755), i990, i992, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i990, i935, i950, matching1) -> f5903_0_binarySearch_EQ(EOS(STATIC_5903), i990, i992, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i990, i935, i950, 0) :|: TRUE && matching1 = 0 f5903_0_binarySearch_EQ(EOS(STATIC_5903), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i935, i950, matching1) -> f5914_0_binarySearch_EQ(EOS(STATIC_5914), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i935, i950, 0) :|: TRUE && matching1 = 0 f5914_0_binarySearch_EQ(EOS(STATIC_5914), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i935, i950, matching1) -> f5921_0_binarySearch_Load(EOS(STATIC_5921), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i935, i950) :|: TRUE && matching1 = 0 f5921_0_binarySearch_Load(EOS(STATIC_5921), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i935, i950) -> f5926_0_binarySearch_Load(EOS(STATIC_5926), i2309, i2310, i935, java.lang.Object(o1527put), i2309, i935, i950, java.lang.Object(ARRAY(i604))) :|: TRUE f5926_0_binarySearch_Load(EOS(STATIC_5926), i2309, i2310, i935, java.lang.Object(o1527put), i2309, i935, i950, java.lang.Object(ARRAY(i604))) -> f5936_0_binarySearch_Load(EOS(STATIC_5936), i2309, i2310, i935, java.lang.Object(o1527put), i935, i950, java.lang.Object(ARRAY(i604)), i2309) :|: TRUE f5936_0_binarySearch_Load(EOS(STATIC_5936), i2309, i2310, i935, java.lang.Object(o1527put), i935, i950, java.lang.Object(ARRAY(i604)), i2309) -> f5939_0_binarySearch_ConstantStackPush(EOS(STATIC_5939), i2309, i2310, i935, java.lang.Object(o1527put), i935, java.lang.Object(ARRAY(i604)), i2309, i950) :|: TRUE f5939_0_binarySearch_ConstantStackPush(EOS(STATIC_5939), i2309, i2310, i935, java.lang.Object(o1527put), i935, java.lang.Object(ARRAY(i604)), i2309, i950) -> f5944_0_binarySearch_IntArithmetic(EOS(STATIC_5944), i2309, i2310, i935, java.lang.Object(o1527put), i935, java.lang.Object(ARRAY(i604)), i2309, i950, 1) :|: TRUE f5944_0_binarySearch_IntArithmetic(EOS(STATIC_5944), i2309, i2310, i935, java.lang.Object(o1527put), i935, java.lang.Object(ARRAY(i604)), i2309, i950, matching1) -> f5949_0_binarySearch_Load(EOS(STATIC_5949), i2309, i2310, i935, java.lang.Object(o1527put), i935, java.lang.Object(ARRAY(i604)), i2309, i950 + 1) :|: i950 >= 0 && matching1 = 1 f5949_0_binarySearch_Load(EOS(STATIC_5949), i2309, i2310, i935, java.lang.Object(o1527put), i935, java.lang.Object(ARRAY(i604)), i2309, i2650) -> f5951_0_binarySearch_InvokeMethod(EOS(STATIC_5951), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i2650, i935) :|: TRUE f5951_0_binarySearch_InvokeMethod(EOS(STATIC_5951), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i2650, i935) -> f5953_0_binarySearch_Load(EOS(STATIC_5953), i2309, i2650, i935, java.lang.Object(ARRAY(i604)), i2309, i2650, i935) :|: i2650 >= 1 && i935 >= i2310 f5951_0_binarySearch_InvokeMethod(EOS(STATIC_5951), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i2650, i935) -> f5953_1_binarySearch_Load(EOS(STATIC_5953), i2309, i2310, i935, java.lang.Object(o1527put), java.lang.Object(ARRAY(i604)), i2309, i2650, i935) :|: i2650 >= 1 && i935 >= i2310 f5953_0_binarySearch_Load(EOS(STATIC_5953), i2309, i2650, i935, java.lang.Object(ARRAY(i604)), i2309, i2650, i935) -> f5955_0_binarySearch_Load(EOS(STATIC_5955), i2309, i2650, i935, java.lang.Object(ARRAY(i604)), i2309, i2650, i935) :|: TRUE f5955_0_binarySearch_Load(EOS(STATIC_5955), i2309, i2650, i935, java.lang.Object(ARRAY(i604)), i2309, i2650, i935) -> f5957_0_binarySearch_Load(EOS(STATIC_5957), i2309, i2650, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2309, i2650, i935) :|: TRUE f5957_0_binarySearch_Load(EOS(STATIC_5957), i2309, i2650, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2309, i2650, i935) -> f5660_0_binarySearch_Load(EOS(STATIC_5660), i2309, i2650, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2309, i2650, i935) :|: TRUE f5748_0_binarySearch_Return(EOS(STATIC_5748), i1002, i1004, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1002, i935, i950, matching1) -> f5756_0_binarySearch_EQ(EOS(STATIC_5756), i1002, i1004, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1002, i935, i950, 1) :|: TRUE && matching1 = 1 f5756_0_binarySearch_EQ(EOS(STATIC_5756), i1002, i1004, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1002, i935, i950, matching1) -> f5903_0_binarySearch_EQ(EOS(STATIC_5903), i1002, i1004, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1002, i935, i950, 1) :|: TRUE && matching1 = 1 f5749_0_binarySearch_Return(EOS(STATIC_5749), i1017, i1019, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i1013)), i1017, i935, i950, matching1) -> f5748_0_binarySearch_Return(EOS(STATIC_5748), i1017, i1019, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i1013)), i1017, i935, i950, 1) :|: TRUE && matching1 = 1 f5942_0_binarySearch_Return(EOS(STATIC_5942), i2570, i2572, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i2570, i935, i950, matching1) -> f5785_0_binarySearch_Return(EOS(STATIC_5785), i2570, i2572, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i2570, i935, i950, 1) :|: TRUE && matching1 = 1 f5785_0_binarySearch_Return(EOS(STATIC_5785), i1126, i1128, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1126, i935, i950, matching1) -> f5794_0_binarySearch_EQ(EOS(STATIC_5794), i1126, i1128, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1126, i935, i950, 1) :|: TRUE && matching1 = 1 f5794_0_binarySearch_EQ(EOS(STATIC_5794), i1126, i1128, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1126, i935, i950, matching1) -> f5756_0_binarySearch_EQ(EOS(STATIC_5756), i1126, i1128, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1126, i935, i950, 1) :|: TRUE && matching1 = 1 f5946_0_binarySearch_Return(EOS(STATIC_5946), i2608, i2610, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i2604)), i2608, i935, i950, matching1) -> f5785_0_binarySearch_Return(EOS(STATIC_5785), i2608, i2610, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i2604)), i2608, i935, i950, 1) :|: TRUE && matching1 = 1 f5998_0_binarySearch_Return(EOS(STATIC_5998), i3152, i3154, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3152, i935, i950, matching1) -> f5866_0_binarySearch_Return(EOS(STATIC_5866), i3152, i3154, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3152, i935, i950, 0) :|: TRUE && matching1 = 0 f5866_0_binarySearch_Return(EOS(STATIC_5866), i2118, i2119, i935, java.lang.Object(o1393put), java.lang.Object(ARRAY(i604)), i2118, i935, i950, i2117) -> f5902_0_binarySearch_EQ(EOS(STATIC_5902), i2118, i2119, i935, java.lang.Object(o1393put), java.lang.Object(ARRAY(i604)), i2118, i935, i950, i2117) :|: TRUE f5902_0_binarySearch_EQ(EOS(STATIC_5902), i2118, i2119, i935, java.lang.Object(o1393put), java.lang.Object(ARRAY(i604)), i2118, i935, i950, i2117) -> f5903_0_binarySearch_EQ(EOS(STATIC_5903), i2118, i2119, i935, java.lang.Object(o1393put), java.lang.Object(ARRAY(i604)), i2118, i935, i950, i2117) :|: TRUE f6003_0_binarySearch_Return(EOS(STATIC_6003), i3210, i3212, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3210, i935, i950, matching1) -> f5866_0_binarySearch_Return(EOS(STATIC_5866), i3210, i3212, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3210, i935, i950, 1) :|: TRUE && matching1 = 1 f6015_0_binarySearch_Return(EOS(STATIC_6015), i3330, i3332, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3326)), i3330, i935, i950, matching1) -> f5866_0_binarySearch_Return(EOS(STATIC_5866), i3330, i3332, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3326)), i3330, i935, i950, 0) :|: TRUE && matching1 = 0 f6020_0_binarySearch_Return(EOS(STATIC_6020), i3399, i3401, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3395)), i3399, i935, i950, matching1) -> f5866_0_binarySearch_Return(EOS(STATIC_5866), i3399, i3401, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3395)), i3399, i935, i950, 1) :|: TRUE && matching1 = 1 f6037_0_binarySearch_Return(EOS(STATIC_6037), i3698, i3700, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3698, i935, i950, i3693) -> f5866_0_binarySearch_Return(EOS(STATIC_5866), i3698, i3700, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3698, i935, i950, i3693) :|: TRUE f6042_0_binarySearch_Return(EOS(STATIC_6042), i3765, i3767, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3761)), i3765, i935, i950, i3757) -> f5866_0_binarySearch_Return(EOS(STATIC_5866), i3765, i3767, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3761)), i3765, i935, i950, i3757) :|: TRUE f5684_0_binarySearch_ArrayAccess(EOS(STATIC_5684), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) -> f5687_0_binarySearch_ArrayAccess(EOS(STATIC_5687), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) :|: TRUE f5687_0_binarySearch_ArrayAccess(EOS(STATIC_5687), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i950) -> f5691_0_binarySearch_Load(EOS(STATIC_5691), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i953) :|: i950 < i604 f5691_0_binarySearch_Load(EOS(STATIC_5691), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i953) -> f5694_0_binarySearch_NE(EOS(STATIC_5694), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i953, i933) :|: TRUE f5694_0_binarySearch_NE(EOS(STATIC_5694), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i953, i933) -> f5698_0_binarySearch_NE(EOS(STATIC_5698), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i953, i933) :|: !(i953 = i933) f5698_0_binarySearch_NE(EOS(STATIC_5698), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, i953, i933) -> f5704_0_binarySearch_Load(EOS(STATIC_5704), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950) :|: !(i953 = i933) f5704_0_binarySearch_Load(EOS(STATIC_5704), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950) -> f5709_0_binarySearch_Load(EOS(STATIC_5709), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604))) :|: TRUE f5709_0_binarySearch_Load(EOS(STATIC_5709), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604))) -> f5714_0_binarySearch_Load(EOS(STATIC_5714), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i933) :|: TRUE f5714_0_binarySearch_Load(EOS(STATIC_5714), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i935, i950, java.lang.Object(ARRAY(i604)), i933) -> f5719_0_binarySearch_Load(EOS(STATIC_5719), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934) :|: TRUE f5719_0_binarySearch_Load(EOS(STATIC_5719), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934) -> f5723_0_binarySearch_ConstantStackPush(EOS(STATIC_5723), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950) :|: TRUE f5723_0_binarySearch_ConstantStackPush(EOS(STATIC_5723), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950) -> f5727_0_binarySearch_IntArithmetic(EOS(STATIC_5727), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950, 1) :|: TRUE f5727_0_binarySearch_IntArithmetic(EOS(STATIC_5727), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950, matching1) -> f5731_0_binarySearch_InvokeMethod(EOS(STATIC_5731), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i950 - 1) :|: i950 >= 0 && matching1 = 1 f5731_0_binarySearch_InvokeMethod(EOS(STATIC_5731), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i980) -> f5734_0_binarySearch_Load(EOS(STATIC_5734), java.lang.Object(ARRAY(i604)), i933, i934, i980, java.lang.Object(ARRAY(i604)), i933, i934, i980) :|: i935 >= i934 && i980 < i950 f5731_0_binarySearch_InvokeMethod(EOS(STATIC_5731), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i980) -> f5734_1_binarySearch_Load(EOS(STATIC_5734), i933, i934, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i935, i950, java.lang.Object(ARRAY(i604)), i933, i934, i980) :|: i935 >= i934 && i980 < i950 f5734_0_binarySearch_Load(EOS(STATIC_5734), java.lang.Object(ARRAY(i604)), i933, i934, i980, java.lang.Object(ARRAY(i604)), i933, i934, i980) -> f5737_0_binarySearch_Load(EOS(STATIC_5737), java.lang.Object(ARRAY(i604)), i933, i934, i980, java.lang.Object(ARRAY(i604)), i933, i934, i980) :|: TRUE f5737_0_binarySearch_Load(EOS(STATIC_5737), java.lang.Object(ARRAY(i604)), i933, i934, i980, java.lang.Object(ARRAY(i604)), i933, i934, i980) -> f5660_0_binarySearch_Load(EOS(STATIC_5660), i933, i934, i980, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i933, i934, i980) :|: TRUE f5751_0_binarySearch_Return(EOS(STATIC_5751), i1031, i1033, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1031, i935, i950, matching1) -> f5758_0_binarySearch_EQ(EOS(STATIC_5758), i1031, i1033, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1031, i935, i950, 0) :|: TRUE && matching1 = 0 f5758_0_binarySearch_EQ(EOS(STATIC_5758), i1031, i1033, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1031, i935, i950, matching1) -> f5905_0_binarySearch_EQ(EOS(STATIC_5905), i1031, i1033, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1031, i935, i950, 0) :|: TRUE && matching1 = 0 f5905_0_binarySearch_EQ(EOS(STATIC_5905), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i935, i950, matching1) -> f5916_0_binarySearch_EQ(EOS(STATIC_5916), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i935, i950, 0) :|: TRUE && matching1 = 0 f5916_0_binarySearch_EQ(EOS(STATIC_5916), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i935, i950, matching1) -> f5923_0_binarySearch_Load(EOS(STATIC_5923), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i935, i950) :|: TRUE && matching1 = 0 f5923_0_binarySearch_Load(EOS(STATIC_5923), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i935, i950) -> f5928_0_binarySearch_Load(EOS(STATIC_5928), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i2352, i935, i950, java.lang.Object(ARRAY(i604))) :|: TRUE f5928_0_binarySearch_Load(EOS(STATIC_5928), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i2352, i935, i950, java.lang.Object(ARRAY(i604))) -> f5938_0_binarySearch_Load(EOS(STATIC_5938), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, i950, java.lang.Object(ARRAY(i604)), i2352) :|: TRUE f5938_0_binarySearch_Load(EOS(STATIC_5938), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, i950, java.lang.Object(ARRAY(i604)), i2352) -> f5940_0_binarySearch_ConstantStackPush(EOS(STATIC_5940), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, java.lang.Object(ARRAY(i604)), i2352, i950) :|: TRUE f5940_0_binarySearch_ConstantStackPush(EOS(STATIC_5940), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, java.lang.Object(ARRAY(i604)), i2352, i950) -> f5948_0_binarySearch_IntArithmetic(EOS(STATIC_5948), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, java.lang.Object(ARRAY(i604)), i2352, i950, 1) :|: TRUE f5948_0_binarySearch_IntArithmetic(EOS(STATIC_5948), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, java.lang.Object(ARRAY(i604)), i2352, i950, matching1) -> f5950_0_binarySearch_Load(EOS(STATIC_5950), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, java.lang.Object(ARRAY(i604)), i2352, i950 + 1) :|: i950 >= 0 && matching1 = 1 f5950_0_binarySearch_Load(EOS(STATIC_5950), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), i935, java.lang.Object(ARRAY(i604)), i2352, i2651) -> f5952_0_binarySearch_InvokeMethod(EOS(STATIC_5952), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i2651, i935) :|: TRUE f5952_0_binarySearch_InvokeMethod(EOS(STATIC_5952), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i2651, i935) -> f5954_0_binarySearch_Load(EOS(STATIC_5954), java.lang.Object(ARRAY(i604)), i2352, i2651, i935, java.lang.Object(ARRAY(i604)), i2352, i2651, i935) :|: i2651 >= 1 && i935 >= i2353 f5952_0_binarySearch_InvokeMethod(EOS(STATIC_5952), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i2651, i935) -> f5954_1_binarySearch_Load(EOS(STATIC_5954), i2352, i2353, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i2651, i935) :|: i2651 >= 1 && i935 >= i2353 f5954_0_binarySearch_Load(EOS(STATIC_5954), java.lang.Object(ARRAY(i604)), i2352, i2651, i935, java.lang.Object(ARRAY(i604)), i2352, i2651, i935) -> f5956_0_binarySearch_Load(EOS(STATIC_5956), java.lang.Object(ARRAY(i604)), i2352, i2651, i935, java.lang.Object(ARRAY(i604)), i2352, i2651, i935) :|: TRUE f5956_0_binarySearch_Load(EOS(STATIC_5956), java.lang.Object(ARRAY(i604)), i2352, i2651, i935, java.lang.Object(ARRAY(i604)), i2352, i2651, i935) -> f5660_0_binarySearch_Load(EOS(STATIC_5660), i2352, i2651, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2352, i2651, i935) :|: TRUE f5752_0_binarySearch_Return(EOS(STATIC_5752), i1043, i1045, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1043, i935, i950, matching1) -> f5759_0_binarySearch_EQ(EOS(STATIC_5759), i1043, i1045, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1043, i935, i950, 1) :|: TRUE && matching1 = 1 f5759_0_binarySearch_EQ(EOS(STATIC_5759), i1043, i1045, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1043, i935, i950, matching1) -> f5905_0_binarySearch_EQ(EOS(STATIC_5905), i1043, i1045, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1043, i935, i950, 1) :|: TRUE && matching1 = 1 f5753_0_binarySearch_Return(EOS(STATIC_5753), i1058, i1060, i935, java.lang.Object(ARRAY(i1054)), java.lang.Object(ARRAY(i1054)), i1058, i935, i950, matching1) -> f5752_0_binarySearch_Return(EOS(STATIC_5752), i1058, i1060, i935, java.lang.Object(ARRAY(i1054)), java.lang.Object(ARRAY(i1054)), i1058, i935, i950, 1) :|: TRUE && matching1 = 1 f5943_0_binarySearch_Return(EOS(STATIC_5943), i2582, i2584, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2582, i935, i950, matching1) -> f5786_0_binarySearch_Return(EOS(STATIC_5786), i2582, i2584, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2582, i935, i950, 1) :|: TRUE && matching1 = 1 f5786_0_binarySearch_Return(EOS(STATIC_5786), i1138, i1140, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1138, i935, i950, matching1) -> f5795_0_binarySearch_EQ(EOS(STATIC_5795), i1138, i1140, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1138, i935, i950, 1) :|: TRUE && matching1 = 1 f5795_0_binarySearch_EQ(EOS(STATIC_5795), i1138, i1140, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1138, i935, i950, matching1) -> f5759_0_binarySearch_EQ(EOS(STATIC_5759), i1138, i1140, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1138, i935, i950, 1) :|: TRUE && matching1 = 1 f5947_0_binarySearch_Return(EOS(STATIC_5947), i2623, i2625, i935, java.lang.Object(ARRAY(i2619)), java.lang.Object(ARRAY(i2619)), i2623, i935, i950, matching1) -> f5786_0_binarySearch_Return(EOS(STATIC_5786), i2623, i2625, i935, java.lang.Object(ARRAY(i2619)), java.lang.Object(ARRAY(i2619)), i2623, i935, i950, 1) :|: TRUE && matching1 = 1 f5999_0_binarySearch_Return(EOS(STATIC_5999), i3164, i3166, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3164, i935, i950, matching1) -> f5868_0_binarySearch_Return(EOS(STATIC_5868), i3164, i3166, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3164, i935, i950, 0) :|: TRUE && matching1 = 0 f5868_0_binarySearch_Return(EOS(STATIC_5868), i2128, i2129, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2128, i935, i950, i2127) -> f5904_0_binarySearch_EQ(EOS(STATIC_5904), i2128, i2129, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2128, i935, i950, i2127) :|: TRUE f5904_0_binarySearch_EQ(EOS(STATIC_5904), i2128, i2129, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2128, i935, i950, i2127) -> f5905_0_binarySearch_EQ(EOS(STATIC_5905), i2128, i2129, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2128, i935, i950, i2127) :|: TRUE f6004_0_binarySearch_Return(EOS(STATIC_6004), i3222, i3224, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3222, i935, i950, matching1) -> f5868_0_binarySearch_Return(EOS(STATIC_5868), i3222, i3224, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3222, i935, i950, 1) :|: TRUE && matching1 = 1 f6016_0_binarySearch_Return(EOS(STATIC_6016), i3345, i3347, i935, java.lang.Object(ARRAY(i3341)), java.lang.Object(ARRAY(i3341)), i3345, i935, i950, matching1) -> f5868_0_binarySearch_Return(EOS(STATIC_5868), i3345, i3347, i935, java.lang.Object(ARRAY(i3341)), java.lang.Object(ARRAY(i3341)), i3345, i935, i950, 0) :|: TRUE && matching1 = 0 f6021_0_binarySearch_Return(EOS(STATIC_6021), i3414, i3416, i935, java.lang.Object(ARRAY(i3410)), java.lang.Object(ARRAY(i3410)), i3414, i935, i950, matching1) -> f5868_0_binarySearch_Return(EOS(STATIC_5868), i3414, i3416, i935, java.lang.Object(ARRAY(i3410)), java.lang.Object(ARRAY(i3410)), i3414, i935, i950, 1) :|: TRUE && matching1 = 1 f6038_0_binarySearch_Return(EOS(STATIC_6038), i3711, i3713, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3711, i935, i950, i3706) -> f5868_0_binarySearch_Return(EOS(STATIC_5868), i3711, i3713, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3711, i935, i950, i3706) :|: TRUE f6043_0_binarySearch_Return(EOS(STATIC_6043), i3781, i3783, i935, java.lang.Object(ARRAY(i3777)), java.lang.Object(ARRAY(i3777)), i3781, i935, i950, i3773) -> f5868_0_binarySearch_Return(EOS(STATIC_5868), i3781, i3783, i935, java.lang.Object(ARRAY(i3777)), java.lang.Object(ARRAY(i3777)), i3781, i935, i950, i3773) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i990, i992, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i990, i935, i950, java.lang.Object(ARRAY(i604)), i990, i992, i979) -> f5747_0_binarySearch_Return(EOS(STATIC_5747), i990, i992, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i990, i935, i950, 0) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i1002, i1004, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1002, i935, i950, java.lang.Object(ARRAY(i604)), i1002, i1004, i979) -> f5748_0_binarySearch_Return(EOS(STATIC_5748), i1002, i1004, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i1002, i935, i950, 1) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i1017, i1019, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i1013)), i1017, i935, i950, java.lang.Object(ARRAY(i1013)), i1017, i1019, i979) -> f5749_0_binarySearch_Return(EOS(STATIC_5749), i1017, i1019, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i1013)), i1017, i935, i950, 1) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i2570, i2572, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i2570, i935, i950, java.lang.Object(ARRAY(i604)), i2570, i2572, i979) -> f5942_0_binarySearch_Return(EOS(STATIC_5942), i2570, i2572, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i2570, i935, i950, 1) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i2608, i2610, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i2604)), i2608, i935, i950, java.lang.Object(ARRAY(i2604)), i2608, i2610, i979) -> f5946_0_binarySearch_Return(EOS(STATIC_5946), i2608, i2610, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i2604)), i2608, i935, i950, 1) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i3152, i3154, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3152, i935, i950, java.lang.Object(ARRAY(i604)), i3152, i3154, i979) -> f5998_0_binarySearch_Return(EOS(STATIC_5998), i3152, i3154, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3152, i935, i950, 0) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i3210, i3212, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3210, i935, i950, java.lang.Object(ARRAY(i604)), i3210, i3212, i979) -> f6003_0_binarySearch_Return(EOS(STATIC_6003), i3210, i3212, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3210, i935, i950, 1) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i3330, i3332, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3326)), i3330, i935, i950, java.lang.Object(ARRAY(i3326)), i3330, i3332, i979) -> f6015_0_binarySearch_Return(EOS(STATIC_6015), i3330, i3332, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3326)), i3330, i935, i950, 0) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i3399, i3401, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3395)), i3399, i935, i950, java.lang.Object(ARRAY(i3395)), i3399, i3401, i979) -> f6020_0_binarySearch_Return(EOS(STATIC_6020), i3399, i3401, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3395)), i3399, i935, i950, 1) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i3698, i3700, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3698, i935, i950, java.lang.Object(ARRAY(i604)), i3698, i3700, i979) -> f6037_0_binarySearch_Return(EOS(STATIC_6037), i3698, i3700, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i604)), i3698, i935, i950, i3693) :|: TRUE f5733_1_binarySearch_Load(EOS(STATIC_5733), i3765, i3767, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3761)), i3765, i935, i950, java.lang.Object(ARRAY(i3761)), i3765, i3767, i979) -> f6042_0_binarySearch_Return(EOS(STATIC_6042), i3765, i3767, i935, java.lang.Object(o744put), java.lang.Object(ARRAY(i3761)), i3765, i935, i950, i3757) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i1031, i1033, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1031, i935, i950, java.lang.Object(ARRAY(i604)), i1031, i1033, i980) -> f5751_0_binarySearch_Return(EOS(STATIC_5751), i1031, i1033, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1031, i935, i950, 0) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i1043, i1045, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1043, i935, i950, java.lang.Object(ARRAY(i604)), i1043, i1045, i980) -> f5752_0_binarySearch_Return(EOS(STATIC_5752), i1043, i1045, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i1043, i935, i950, 1) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i1058, i1060, i935, java.lang.Object(ARRAY(i1054)), java.lang.Object(ARRAY(i1054)), i1058, i935, i950, java.lang.Object(ARRAY(i1054)), i1058, i1060, i980) -> f5753_0_binarySearch_Return(EOS(STATIC_5753), i1058, i1060, i935, java.lang.Object(ARRAY(i1054)), java.lang.Object(ARRAY(i1054)), i1058, i935, i950, 1) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i2582, i2584, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2582, i935, i950, java.lang.Object(ARRAY(i604)), i2582, i2584, i980) -> f5943_0_binarySearch_Return(EOS(STATIC_5943), i2582, i2584, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i2582, i935, i950, 1) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i2623, i2625, i935, java.lang.Object(ARRAY(i2619)), java.lang.Object(ARRAY(i2619)), i2623, i935, i950, java.lang.Object(ARRAY(i2619)), i2623, i2625, i980) -> f5947_0_binarySearch_Return(EOS(STATIC_5947), i2623, i2625, i935, java.lang.Object(ARRAY(i2619)), java.lang.Object(ARRAY(i2619)), i2623, i935, i950, 1) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i3164, i3166, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3164, i935, i950, java.lang.Object(ARRAY(i604)), i3164, i3166, i980) -> f5999_0_binarySearch_Return(EOS(STATIC_5999), i3164, i3166, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3164, i935, i950, 0) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i3222, i3224, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3222, i935, i950, java.lang.Object(ARRAY(i604)), i3222, i3224, i980) -> f6004_0_binarySearch_Return(EOS(STATIC_6004), i3222, i3224, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3222, i935, i950, 1) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i3345, i3347, i935, java.lang.Object(ARRAY(i3341)), java.lang.Object(ARRAY(i3341)), i3345, i935, i950, java.lang.Object(ARRAY(i3341)), i3345, i3347, i980) -> f6016_0_binarySearch_Return(EOS(STATIC_6016), i3345, i3347, i935, java.lang.Object(ARRAY(i3341)), java.lang.Object(ARRAY(i3341)), i3345, i935, i950, 0) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i3414, i3416, i935, java.lang.Object(ARRAY(i3410)), java.lang.Object(ARRAY(i3410)), i3414, i935, i950, java.lang.Object(ARRAY(i3410)), i3414, i3416, i980) -> f6021_0_binarySearch_Return(EOS(STATIC_6021), i3414, i3416, i935, java.lang.Object(ARRAY(i3410)), java.lang.Object(ARRAY(i3410)), i3414, i935, i950, 1) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i3711, i3713, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3711, i935, i950, java.lang.Object(ARRAY(i604)), i3711, i3713, i980) -> f6038_0_binarySearch_Return(EOS(STATIC_6038), i3711, i3713, i935, java.lang.Object(ARRAY(i604)), java.lang.Object(ARRAY(i604)), i3711, i935, i950, i3706) :|: TRUE f5734_1_binarySearch_Load(EOS(STATIC_5734), i3781, i3783, i935, java.lang.Object(ARRAY(i3777)), java.lang.Object(ARRAY(i3777)), i3781, i935, i950, java.lang.Object(ARRAY(i3777)), i3781, i3783, i980) -> f6043_0_binarySearch_Return(EOS(STATIC_6043), i3781, i3783, i935, java.lang.Object(ARRAY(i3777)), java.lang.Object(ARRAY(i3777)), i3781, i935, i950, i3773) :|: TRUE Combined rules. Obtained 16 IRulesP rules: f5952_0_binarySearch_InvokeMethod(EOS(STATIC_5952), i2352:0, i2353:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0) -> f5661_0_binarySearch_Load(EOS(STATIC_5661), i2352:0, i2651:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0, i2651:0) :|: i2651:0 > 0 && i935:0 >= i2353:0 f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5952_0_binarySearch_InvokeMethod(EOS(STATIC_5952), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5952_0_binarySearch_InvokeMethod(EOS(STATIC_5952), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5951_0_binarySearch_InvokeMethod(EOS(STATIC_5951), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5951_0_binarySearch_InvokeMethod(EOS(STATIC_5951), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i934:0 + div - 1, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i934:0 + div - 1, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i934:0 + div - 1, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i934:0 + div - 1, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i934:0 + div - 1, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i934:0 + div - 1, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5661_0_binarySearch_Load'(EOS(STATIC_5661), i933:0, i934:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i935:0, i934:0) -> f5661_0_binarySearch_Load(EOS(STATIC_5661), i933:0, i934:0, i934:0 + div - 1, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0, i934:0 + div - 1, i934:0) :|: i935:0 >= i934:0 && i934:0 > -1 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div < 2 && i935:0 - i934:0 - 2 * div > -2 f5951_0_binarySearch_InvokeMethod(EOS(STATIC_5951), i2309:0, i2310:0, i935:0, java.lang.Object(o1527put:0), java.lang.Object(ARRAY(i604:0)), i2309:0, i2650:0, i935:0) -> f5661_0_binarySearch_Load(EOS(STATIC_5661), i2309:0, i2650:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2309:0, i2650:0, i935:0, i2650:0) :|: i2650:0 > 0 && i935:0 >= i2310:0 Removed following non-SCC rules: f5952_0_binarySearch_InvokeMethod(EOS(STATIC_5952), i2352:0, i2353:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0) -> f5954_1_binarySearch_Load(EOS(STATIC_5954), i2352:0, i2353:0, i935:0, java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0) :|: i2651:0 > 0 && i935:0 >= i2353:0 f5951_0_binarySearch_InvokeMethod(EOS(STATIC_5951), i2309:0, i2310:0, i935:0, java.lang.Object(o1527put:0), java.lang.Object(ARRAY(i604:0)), i2309:0, i2650:0, i935:0) -> f5953_1_binarySearch_Load(EOS(STATIC_5953), i2309:0, i2310:0, i935:0, java.lang.Object(o1527put:0), java.lang.Object(ARRAY(i604:0)), i2309:0, i2650:0, i935:0) :|: i2650:0 > 0 && i935:0 >= i2310:0 Filtered constant ground arguments: f5952_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f5952_0_binarySearch_InvokeMethod(x2, x3, x4, x5, x6, x7, x8, x9) f5661_0_binarySearch_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f5661_0_binarySearch_Load(x2, x3, x4, x5, x6, x7, x8, x9, x10) f5661_0_binarySearch_Load'(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f5661_0_binarySearch_Load'(x2, x3, x4, x5, x6, x7, x8, x9, x10) f5951_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f5951_0_binarySearch_InvokeMethod(x2, x3, x4, x5, x6, x7, x8, x9) Filtered duplicate arguments: f5952_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) -> f5952_0_binarySearch_InvokeMethod(x2, x5, x6, x7, x8) f5661_0_binarySearch_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f5661_0_binarySearch_Load(x4, x5, x6, x8, x9) f5661_0_binarySearch_Load'(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f5661_0_binarySearch_Load'(x4, x5, x6, x8, x9) f5951_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) -> f5951_0_binarySearch_InvokeMethod(x2, x4, x5, x6, x7, x8) Filtered unneeded arguments: f5951_0_binarySearch_InvokeMethod(x1, x2, x3, x4, x5, x6) -> f5951_0_binarySearch_InvokeMethod(x1, x3, x4, x5, x6) Finished conversion. Obtained 14 rules.P rules: f5952_0_binarySearch_InvokeMethod(i2353:0, java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i935:0, i2651:0, i604:0) :|: i2651:0 > 0 && i935:0 >= i2353:0 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 < i933:0 && i934:0 + div - 1 < i934:0 + div && i934:0 + div >= 0 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 > i933:0 && i934:0 + div - 1 < i934:0 + div && i934:0 + div >= 0 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5952_0_binarySearch_InvokeMethod(i934:0, java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5952_0_binarySearch_InvokeMethod(i934:0, java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5661_0_binarySearch_Load(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load'(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 < i933:0 && i934:0 + div - 1 < i934:0 + div && i934:0 + div >= 0 f5661_0_binarySearch_Load(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load'(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 > i933:0 && i934:0 + div - 1 < i934:0 + div && i934:0 + div >= 0 f5661_0_binarySearch_Load'(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5951_0_binarySearch_InvokeMethod(i934:0, java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5661_0_binarySearch_Load'(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5951_0_binarySearch_InvokeMethod(i934:0, java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div + 1, i935:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5661_0_binarySearch_Load'(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div - 1, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5661_0_binarySearch_Load'(java.lang.Object(o744put:0), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div - 1, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i952:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div - 1, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 < i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i935:0, i934:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i933:0, i934:0 + div - 1, i934:0, i604:0) :|: i934:0 > -1 && i935:0 >= i934:0 && i935:0 > -1 && i935:0 - i934:0 >= div && div > -1 && i934:0 + div < i604:0 && i953:0 > i933:0 && i934:0 + div >= 0 && i934:0 + div - 1 < i934:0 + div && i935:0 - i934:0 - 2 * div > -2 && i935:0 - i934:0 - 2 * div < 2 f5951_0_binarySearch_InvokeMethod(i2310:0, java.lang.Object(ARRAY(i604:0)), i2309:0, i2650:0, i935:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2309:0, i935:0, i2650:0, i604:0) :|: i2650:0 > 0 && i935:0 >= i2310:0 ---------------------------------------- (9) Obligation: Rules: f5952_0_binarySearch_InvokeMethod(i2353:0, java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i935:0, i2651:0, i604:0) :|: i2651:0 > 0 && i935:0 >= i2353:0 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) :|: x3 > -1 && x2 >= x3 && x2 > -1 && x2 - x3 >= x4 && x4 > -1 && x3 + x4 < x && x5 < x1 && x3 + x4 - 1 < x3 + x4 && x3 + x4 >= 0 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) :|: x9 > -1 && x8 >= x9 && x8 > -1 && x8 - x9 >= x10 && x10 > -1 && x9 + x10 < x6 && x11 > x7 && x9 + x10 - 1 < x9 + x10 && x9 + x10 >= 0 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x12)), java.lang.Object(ARRAY(x12)), x13, x14, x15, x12) -> f5952_0_binarySearch_InvokeMethod(x15, java.lang.Object(ARRAY(x12)), x13, x15 + x16 + 1, x14, x12) :|: x15 > -1 && x14 >= x15 && x14 > -1 && x14 - x15 >= x16 && x16 > -1 && x15 + x16 < x12 && x17 < x13 && x15 + x16 >= 0 && x15 + x16 - 1 < x15 + x16 && x14 - x15 - 2 * x16 > -2 && x14 - x15 - 2 * x16 < 2 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x18)), java.lang.Object(ARRAY(x18)), x19, x20, x21, x18) -> f5952_0_binarySearch_InvokeMethod(x21, java.lang.Object(ARRAY(x18)), x19, x21 + x22 + 1, x20, x18) :|: x21 > -1 && x20 >= x21 && x20 > -1 && x20 - x21 >= x22 && x22 > -1 && x21 + x22 < x18 && x23 > x19 && x21 + x22 >= 0 && x21 + x22 - 1 < x21 + x22 && x20 - x21 - 2 * x22 > -2 && x20 - x21 - 2 * x22 < 2 f5661_0_binarySearch_Load(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) -> f5661_0_binarySearch_Load'(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) :|: x28 > -1 && x27 >= x28 && x27 > -1 && x27 - x28 >= x29 && x29 > -1 && x28 + x29 < x25 && x30 < x26 && x28 + x29 - 1 < x28 + x29 && x28 + x29 >= 0 f5661_0_binarySearch_Load(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) -> f5661_0_binarySearch_Load'(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) :|: x35 > -1 && x34 >= x35 && x34 > -1 && x34 - x35 >= x36 && x36 > -1 && x35 + x36 < x32 && x37 > x33 && x35 + x36 - 1 < x35 + x36 && x35 + x36 >= 0 f5661_0_binarySearch_Load'(java.lang.Object(x38), java.lang.Object(ARRAY(x39)), x40, x41, x42, x39) -> f5951_0_binarySearch_InvokeMethod(x42, java.lang.Object(ARRAY(x39)), x40, x42 + x43 + 1, x41, x39) :|: x42 > -1 && x41 >= x42 && x41 > -1 && x41 - x42 >= x43 && x43 > -1 && x42 + x43 < x39 && x44 < x40 && x42 + x43 >= 0 && x42 + x43 - 1 < x42 + x43 && x41 - x42 - 2 * x43 > -2 && x41 - x42 - 2 * x43 < 2 f5661_0_binarySearch_Load'(java.lang.Object(x45), java.lang.Object(ARRAY(x46)), x47, x48, x49, x46) -> f5951_0_binarySearch_InvokeMethod(x49, java.lang.Object(ARRAY(x46)), x47, x49 + x50 + 1, x48, x46) :|: x49 > -1 && x48 >= x49 && x48 > -1 && x48 - x49 >= x50 && x50 > -1 && x49 + x50 < x46 && x51 > x47 && x49 + x50 >= 0 && x49 + x50 - 1 < x49 + x50 && x48 - x49 - 2 * x50 > -2 && x48 - x49 - 2 * x50 < 2 f5661_0_binarySearch_Load'(java.lang.Object(x52), java.lang.Object(ARRAY(x53)), x54, x55, x56, x53) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x53)), java.lang.Object(ARRAY(x53)), x54, x56 + x57 - 1, x56, x53) :|: x56 > -1 && x55 >= x56 && x55 > -1 && x55 - x56 >= x57 && x57 > -1 && x56 + x57 < x53 && x58 < x54 && x56 + x57 >= 0 && x56 + x57 - 1 < x56 + x57 && x55 - x56 - 2 * x57 > -2 && x55 - x56 - 2 * x57 < 2 f5661_0_binarySearch_Load'(java.lang.Object(x59), java.lang.Object(ARRAY(x60)), x61, x62, x63, x60) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x60)), java.lang.Object(ARRAY(x60)), x61, x63 + x64 - 1, x63, x60) :|: x63 > -1 && x62 >= x63 && x62 > -1 && x62 - x63 >= x64 && x64 > -1 && x63 + x64 < x60 && x65 > x61 && x63 + x64 >= 0 && x63 + x64 - 1 < x63 + x64 && x62 - x63 - 2 * x64 > -2 && x62 - x63 - 2 * x64 < 2 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x66)), java.lang.Object(ARRAY(x66)), x67, x68, x69, x66) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x66)), java.lang.Object(ARRAY(x66)), x67, x69 + x70 - 1, x69, x66) :|: x69 > -1 && x68 >= x69 && x68 > -1 && x68 - x69 >= x70 && x70 > -1 && x69 + x70 < x66 && x71 < x67 && x69 + x70 >= 0 && x69 + x70 - 1 < x69 + x70 && x68 - x69 - 2 * x70 > -2 && x68 - x69 - 2 * x70 < 2 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x72)), java.lang.Object(ARRAY(x72)), x73, x74, x75, x72) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x72)), java.lang.Object(ARRAY(x72)), x73, x75 + x76 - 1, x75, x72) :|: x75 > -1 && x74 >= x75 && x74 > -1 && x74 - x75 >= x76 && x76 > -1 && x75 + x76 < x72 && x77 > x73 && x75 + x76 >= 0 && x75 + x76 - 1 < x75 + x76 && x74 - x75 - 2 * x76 > -2 && x74 - x75 - 2 * x76 < 2 f5951_0_binarySearch_InvokeMethod(x78, java.lang.Object(ARRAY(x79)), x80, x81, x82, x79) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x79)), java.lang.Object(ARRAY(x79)), x80, x82, x81, x79) :|: x81 > 0 && x82 >= x78 ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f5952_0_binarySearch_InvokeMethod(i2353:0, java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i935:0, i2651:0, i604:0) :|: i2651:0 > 0 && i935:0 >= i2353:0 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) :|: x3 > -1 && x2 >= x3 && x2 > -1 && x2 - x3 >= x4 && x4 > -1 && x3 + x4 < x && x5 < x1 && x3 + x4 - 1 < x3 + x4 && x3 + x4 >= 0 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) :|: x9 > -1 && x8 >= x9 && x8 > -1 && x8 - x9 >= x10 && x10 > -1 && x9 + x10 < x6 && x11 > x7 && x9 + x10 - 1 < x9 + x10 && x9 + x10 >= 0 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x12)), java.lang.Object(ARRAY(x12)), x13, x14, x15, x12) -> f5952_0_binarySearch_InvokeMethod(x15, java.lang.Object(ARRAY(x12)), x13, arith, x14, x12) :|: x15 > -1 && x14 >= x15 && x14 > -1 && x14 - x15 >= x16 && x16 > -1 && x15 + x16 < x12 && x17 < x13 && x15 + x16 >= 0 && x15 + x16 - 1 < x15 + x16 && x14 - x15 - 2 * x16 > -2 && x14 - x15 - 2 * x16 < 2 && arith = x15 + x16 + 1 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x83)), java.lang.Object(ARRAY(x83)), x84, x85, x86, x83) -> f5952_0_binarySearch_InvokeMethod(x86, java.lang.Object(ARRAY(x83)), x84, x87, x85, x83) :|: x86 > -1 && x85 >= x86 && x85 > -1 && x85 - x86 >= x88 && x88 > -1 && x86 + x88 < x83 && x89 > x84 && x86 + x88 >= 0 && x86 + x88 - 1 < x86 + x88 && x85 - x86 - 2 * x88 > -2 && x85 - x86 - 2 * x88 < 2 && x87 = x86 + x88 + 1 f5661_0_binarySearch_Load(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) -> f5661_0_binarySearch_Load'(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) :|: x28 > -1 && x27 >= x28 && x27 > -1 && x27 - x28 >= x29 && x29 > -1 && x28 + x29 < x25 && x30 < x26 && x28 + x29 - 1 < x28 + x29 && x28 + x29 >= 0 f5661_0_binarySearch_Load(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) -> f5661_0_binarySearch_Load'(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) :|: x35 > -1 && x34 >= x35 && x34 > -1 && x34 - x35 >= x36 && x36 > -1 && x35 + x36 < x32 && x37 > x33 && x35 + x36 - 1 < x35 + x36 && x35 + x36 >= 0 f5661_0_binarySearch_Load'(java.lang.Object(x90), java.lang.Object(ARRAY(x91)), x92, x93, x94, x91) -> f5951_0_binarySearch_InvokeMethod(x94, java.lang.Object(ARRAY(x91)), x92, x95, x93, x91) :|: x94 > -1 && x93 >= x94 && x93 > -1 && x93 - x94 >= x96 && x96 > -1 && x94 + x96 < x91 && x97 < x92 && x94 + x96 >= 0 && x94 + x96 - 1 < x94 + x96 && x93 - x94 - 2 * x96 > -2 && x93 - x94 - 2 * x96 < 2 && x95 = x94 + x96 + 1 f5661_0_binarySearch_Load'(java.lang.Object(x98), java.lang.Object(ARRAY(x99)), x100, x101, x102, x99) -> f5951_0_binarySearch_InvokeMethod(x102, java.lang.Object(ARRAY(x99)), x100, x103, x101, x99) :|: x102 > -1 && x101 >= x102 && x101 > -1 && x101 - x102 >= x104 && x104 > -1 && x102 + x104 < x99 && x105 > x100 && x102 + x104 >= 0 && x102 + x104 - 1 < x102 + x104 && x101 - x102 - 2 * x104 > -2 && x101 - x102 - 2 * x104 < 2 && x103 = x102 + x104 + 1 f5661_0_binarySearch_Load'(java.lang.Object(x106), java.lang.Object(ARRAY(x107)), x108, x109, x110, x107) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x107)), java.lang.Object(ARRAY(x107)), x108, x111, x110, x107) :|: x110 > -1 && x109 >= x110 && x109 > -1 && x109 - x110 >= x112 && x112 > -1 && x110 + x112 < x107 && x113 < x108 && x110 + x112 >= 0 && x110 + x112 - 1 < x110 + x112 && x109 - x110 - 2 * x112 > -2 && x109 - x110 - 2 * x112 < 2 && x111 = x110 + x112 - 1 f5661_0_binarySearch_Load'(java.lang.Object(x114), java.lang.Object(ARRAY(x115)), x116, x117, x118, x115) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x115)), java.lang.Object(ARRAY(x115)), x116, x119, x118, x115) :|: x118 > -1 && x117 >= x118 && x117 > -1 && x117 - x118 >= x120 && x120 > -1 && x118 + x120 < x115 && x121 > x116 && x118 + x120 >= 0 && x118 + x120 - 1 < x118 + x120 && x117 - x118 - 2 * x120 > -2 && x117 - x118 - 2 * x120 < 2 && x119 = x118 + x120 - 1 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x122)), java.lang.Object(ARRAY(x122)), x123, x124, x125, x122) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x122)), java.lang.Object(ARRAY(x122)), x123, x126, x125, x122) :|: x125 > -1 && x124 >= x125 && x124 > -1 && x124 - x125 >= x127 && x127 > -1 && x125 + x127 < x122 && x128 < x123 && x125 + x127 >= 0 && x125 + x127 - 1 < x125 + x127 && x124 - x125 - 2 * x127 > -2 && x124 - x125 - 2 * x127 < 2 && x126 = x125 + x127 - 1 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x129)), java.lang.Object(ARRAY(x129)), x130, x131, x132, x129) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x129)), java.lang.Object(ARRAY(x129)), x130, x133, x132, x129) :|: x132 > -1 && x131 >= x132 && x131 > -1 && x131 - x132 >= x134 && x134 > -1 && x132 + x134 < x129 && x135 > x130 && x132 + x134 >= 0 && x132 + x134 - 1 < x132 + x134 && x131 - x132 - 2 * x134 > -2 && x131 - x132 - 2 * x134 < 2 && x133 = x132 + x134 - 1 f5951_0_binarySearch_InvokeMethod(x78, java.lang.Object(ARRAY(x79)), x80, x81, x82, x79) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x79)), java.lang.Object(ARRAY(x79)), x80, x82, x81, x79) :|: x81 > 0 && x82 >= x78 ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f5952_0_binarySearch_InvokeMethod(i2353:0, java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i935:0, i2651:0, i604:0) :|: i2651:0 > 0 && i935:0 >= i2353:0 (2) f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) :|: x3 > -1 && x2 >= x3 && x2 > -1 && x2 - x3 >= x4 && x4 > -1 && x3 + x4 < x && x5 < x1 && x3 + x4 - 1 < x3 + x4 && x3 + x4 >= 0 (3) f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) :|: x9 > -1 && x8 >= x9 && x8 > -1 && x8 - x9 >= x10 && x10 > -1 && x9 + x10 < x6 && x11 > x7 && x9 + x10 - 1 < x9 + x10 && x9 + x10 >= 0 (4) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x12)), java.lang.Object(ARRAY(x12)), x13, x14, x15, x12) -> f5952_0_binarySearch_InvokeMethod(x15, java.lang.Object(ARRAY(x12)), x13, arith, x14, x12) :|: x15 > -1 && x14 >= x15 && x14 > -1 && x14 - x15 >= x16 && x16 > -1 && x15 + x16 < x12 && x17 < x13 && x15 + x16 >= 0 && x15 + x16 - 1 < x15 + x16 && x14 - x15 - 2 * x16 > -2 && x14 - x15 - 2 * x16 < 2 && arith = x15 + x16 + 1 (5) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x83)), java.lang.Object(ARRAY(x83)), x84, x85, x86, x83) -> f5952_0_binarySearch_InvokeMethod(x86, java.lang.Object(ARRAY(x83)), x84, x87, x85, x83) :|: x86 > -1 && x85 >= x86 && x85 > -1 && x85 - x86 >= x88 && x88 > -1 && x86 + x88 < x83 && x89 > x84 && x86 + x88 >= 0 && x86 + x88 - 1 < x86 + x88 && x85 - x86 - 2 * x88 > -2 && x85 - x86 - 2 * x88 < 2 && x87 = x86 + x88 + 1 (6) f5661_0_binarySearch_Load(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) -> f5661_0_binarySearch_Load'(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) :|: x28 > -1 && x27 >= x28 && x27 > -1 && x27 - x28 >= x29 && x29 > -1 && x28 + x29 < x25 && x30 < x26 && x28 + x29 - 1 < x28 + x29 && x28 + x29 >= 0 (7) f5661_0_binarySearch_Load(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) -> f5661_0_binarySearch_Load'(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) :|: x35 > -1 && x34 >= x35 && x34 > -1 && x34 - x35 >= x36 && x36 > -1 && x35 + x36 < x32 && x37 > x33 && x35 + x36 - 1 < x35 + x36 && x35 + x36 >= 0 (8) f5661_0_binarySearch_Load'(java.lang.Object(x90), java.lang.Object(ARRAY(x91)), x92, x93, x94, x91) -> f5951_0_binarySearch_InvokeMethod(x94, java.lang.Object(ARRAY(x91)), x92, x95, x93, x91) :|: x94 > -1 && x93 >= x94 && x93 > -1 && x93 - x94 >= x96 && x96 > -1 && x94 + x96 < x91 && x97 < x92 && x94 + x96 >= 0 && x94 + x96 - 1 < x94 + x96 && x93 - x94 - 2 * x96 > -2 && x93 - x94 - 2 * x96 < 2 && x95 = x94 + x96 + 1 (9) f5661_0_binarySearch_Load'(java.lang.Object(x98), java.lang.Object(ARRAY(x99)), x100, x101, x102, x99) -> f5951_0_binarySearch_InvokeMethod(x102, java.lang.Object(ARRAY(x99)), x100, x103, x101, x99) :|: x102 > -1 && x101 >= x102 && x101 > -1 && x101 - x102 >= x104 && x104 > -1 && x102 + x104 < x99 && x105 > x100 && x102 + x104 >= 0 && x102 + x104 - 1 < x102 + x104 && x101 - x102 - 2 * x104 > -2 && x101 - x102 - 2 * x104 < 2 && x103 = x102 + x104 + 1 (10) f5661_0_binarySearch_Load'(java.lang.Object(x106), java.lang.Object(ARRAY(x107)), x108, x109, x110, x107) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x107)), java.lang.Object(ARRAY(x107)), x108, x111, x110, x107) :|: x110 > -1 && x109 >= x110 && x109 > -1 && x109 - x110 >= x112 && x112 > -1 && x110 + x112 < x107 && x113 < x108 && x110 + x112 >= 0 && x110 + x112 - 1 < x110 + x112 && x109 - x110 - 2 * x112 > -2 && x109 - x110 - 2 * x112 < 2 && x111 = x110 + x112 - 1 (11) f5661_0_binarySearch_Load'(java.lang.Object(x114), java.lang.Object(ARRAY(x115)), x116, x117, x118, x115) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x115)), java.lang.Object(ARRAY(x115)), x116, x119, x118, x115) :|: x118 > -1 && x117 >= x118 && x117 > -1 && x117 - x118 >= x120 && x120 > -1 && x118 + x120 < x115 && x121 > x116 && x118 + x120 >= 0 && x118 + x120 - 1 < x118 + x120 && x117 - x118 - 2 * x120 > -2 && x117 - x118 - 2 * x120 < 2 && x119 = x118 + x120 - 1 (12) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x122)), java.lang.Object(ARRAY(x122)), x123, x124, x125, x122) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x122)), java.lang.Object(ARRAY(x122)), x123, x126, x125, x122) :|: x125 > -1 && x124 >= x125 && x124 > -1 && x124 - x125 >= x127 && x127 > -1 && x125 + x127 < x122 && x128 < x123 && x125 + x127 >= 0 && x125 + x127 - 1 < x125 + x127 && x124 - x125 - 2 * x127 > -2 && x124 - x125 - 2 * x127 < 2 && x126 = x125 + x127 - 1 (13) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x129)), java.lang.Object(ARRAY(x129)), x130, x131, x132, x129) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x129)), java.lang.Object(ARRAY(x129)), x130, x133, x132, x129) :|: x132 > -1 && x131 >= x132 && x131 > -1 && x131 - x132 >= x134 && x134 > -1 && x132 + x134 < x129 && x135 > x130 && x132 + x134 >= 0 && x132 + x134 - 1 < x132 + x134 && x131 - x132 - 2 * x134 > -2 && x131 - x132 - 2 * x134 < 2 && x133 = x132 + x134 - 1 (14) f5951_0_binarySearch_InvokeMethod(x78, java.lang.Object(ARRAY(x79)), x80, x81, x82, x79) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x79)), java.lang.Object(ARRAY(x79)), x80, x82, x81, x79) :|: x81 > 0 && x82 >= x78 Arcs: (1) -> (2), (3), (6), (7) (2) -> (4), (5), (8), (9), (10), (11), (12), (13) (3) -> (4), (5), (8), (9), (10), (11), (12), (13) (4) -> (1) (5) -> (1) (6) -> (4), (5), (8), (9), (10), (11), (12), (13) (7) -> (4), (5), (8), (9), (10), (11), (12), (13) (8) -> (14) (9) -> (14) (10) -> (2), (3), (6), (7) (11) -> (2), (3), (6), (7) (12) -> (2), (3), (6), (7) (13) -> (2), (3), (6), (7) (14) -> (2), (3), (6), (7) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f5952_0_binarySearch_InvokeMethod(i2353:0, java.lang.Object(ARRAY(i604:0)), i2352:0, i2651:0, i935:0, i604:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(i604:0)), java.lang.Object(ARRAY(i604:0)), i2352:0, i935:0, i2651:0, i604:0) :|: i2651:0 > 0 && i935:0 >= i2353:0 (2) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x83)), java.lang.Object(ARRAY(x83)), x84, x85, x86, x83) -> f5952_0_binarySearch_InvokeMethod(x86, java.lang.Object(ARRAY(x83)), x84, x87, x85, x83) :|: x86 > -1 && x85 >= x86 && x85 > -1 && x85 - x86 >= x88 && x88 > -1 && x86 + x88 < x83 && x89 > x84 && x86 + x88 >= 0 && x86 + x88 - 1 < x86 + x88 && x85 - x86 - 2 * x88 > -2 && x85 - x86 - 2 * x88 < 2 && x87 = x86 + x88 + 1 (3) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x12)), java.lang.Object(ARRAY(x12)), x13, x14, x15, x12) -> f5952_0_binarySearch_InvokeMethod(x15, java.lang.Object(ARRAY(x12)), x13, arith, x14, x12) :|: x15 > -1 && x14 >= x15 && x14 > -1 && x14 - x15 >= x16 && x16 > -1 && x15 + x16 < x12 && x17 < x13 && x15 + x16 >= 0 && x15 + x16 - 1 < x15 + x16 && x14 - x15 - 2 * x16 > -2 && x14 - x15 - 2 * x16 < 2 && arith = x15 + x16 + 1 (4) f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x)), java.lang.Object(ARRAY(x)), x1, x2, x3, x) :|: x3 > -1 && x2 >= x3 && x2 > -1 && x2 - x3 >= x4 && x4 > -1 && x3 + x4 < x && x5 < x1 && x3 + x4 - 1 < x3 + x4 && x3 + x4 >= 0 (5) f5661_0_binarySearch_Load'(java.lang.Object(x106), java.lang.Object(ARRAY(x107)), x108, x109, x110, x107) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x107)), java.lang.Object(ARRAY(x107)), x108, x111, x110, x107) :|: x110 > -1 && x109 >= x110 && x109 > -1 && x109 - x110 >= x112 && x112 > -1 && x110 + x112 < x107 && x113 < x108 && x110 + x112 >= 0 && x110 + x112 - 1 < x110 + x112 && x109 - x110 - 2 * x112 > -2 && x109 - x110 - 2 * x112 < 2 && x111 = x110 + x112 - 1 (6) f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x6)), java.lang.Object(ARRAY(x6)), x7, x8, x9, x6) :|: x9 > -1 && x8 >= x9 && x8 > -1 && x8 - x9 >= x10 && x10 > -1 && x9 + x10 < x6 && x11 > x7 && x9 + x10 - 1 < x9 + x10 && x9 + x10 >= 0 (7) f5661_0_binarySearch_Load'(java.lang.Object(x114), java.lang.Object(ARRAY(x115)), x116, x117, x118, x115) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x115)), java.lang.Object(ARRAY(x115)), x116, x119, x118, x115) :|: x118 > -1 && x117 >= x118 && x117 > -1 && x117 - x118 >= x120 && x120 > -1 && x118 + x120 < x115 && x121 > x116 && x118 + x120 >= 0 && x118 + x120 - 1 < x118 + x120 && x117 - x118 - 2 * x120 > -2 && x117 - x118 - 2 * x120 < 2 && x119 = x118 + x120 - 1 (8) f5661_0_binarySearch_Load(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) -> f5661_0_binarySearch_Load'(java.lang.Object(x24), java.lang.Object(ARRAY(x25)), x26, x27, x28, x25) :|: x28 > -1 && x27 >= x28 && x27 > -1 && x27 - x28 >= x29 && x29 > -1 && x28 + x29 < x25 && x30 < x26 && x28 + x29 - 1 < x28 + x29 && x28 + x29 >= 0 (9) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x122)), java.lang.Object(ARRAY(x122)), x123, x124, x125, x122) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x122)), java.lang.Object(ARRAY(x122)), x123, x126, x125, x122) :|: x125 > -1 && x124 >= x125 && x124 > -1 && x124 - x125 >= x127 && x127 > -1 && x125 + x127 < x122 && x128 < x123 && x125 + x127 >= 0 && x125 + x127 - 1 < x125 + x127 && x124 - x125 - 2 * x127 > -2 && x124 - x125 - 2 * x127 < 2 && x126 = x125 + x127 - 1 (10) f5661_0_binarySearch_Load(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) -> f5661_0_binarySearch_Load'(java.lang.Object(x31), java.lang.Object(ARRAY(x32)), x33, x34, x35, x32) :|: x35 > -1 && x34 >= x35 && x34 > -1 && x34 - x35 >= x36 && x36 > -1 && x35 + x36 < x32 && x37 > x33 && x35 + x36 - 1 < x35 + x36 && x35 + x36 >= 0 (11) f5951_0_binarySearch_InvokeMethod(x78, java.lang.Object(ARRAY(x79)), x80, x81, x82, x79) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x79)), java.lang.Object(ARRAY(x79)), x80, x82, x81, x79) :|: x81 > 0 && x82 >= x78 (12) f5661_0_binarySearch_Load'(java.lang.Object(x98), java.lang.Object(ARRAY(x99)), x100, x101, x102, x99) -> f5951_0_binarySearch_InvokeMethod(x102, java.lang.Object(ARRAY(x99)), x100, x103, x101, x99) :|: x102 > -1 && x101 >= x102 && x101 > -1 && x101 - x102 >= x104 && x104 > -1 && x102 + x104 < x99 && x105 > x100 && x102 + x104 >= 0 && x102 + x104 - 1 < x102 + x104 && x101 - x102 - 2 * x104 > -2 && x101 - x102 - 2 * x104 < 2 && x103 = x102 + x104 + 1 (13) f5661_0_binarySearch_Load'(java.lang.Object(x90), java.lang.Object(ARRAY(x91)), x92, x93, x94, x91) -> f5951_0_binarySearch_InvokeMethod(x94, java.lang.Object(ARRAY(x91)), x92, x95, x93, x91) :|: x94 > -1 && x93 >= x94 && x93 > -1 && x93 - x94 >= x96 && x96 > -1 && x94 + x96 < x91 && x97 < x92 && x94 + x96 >= 0 && x94 + x96 - 1 < x94 + x96 && x93 - x94 - 2 * x96 > -2 && x93 - x94 - 2 * x96 < 2 && x95 = x94 + x96 + 1 (14) f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x129)), java.lang.Object(ARRAY(x129)), x130, x131, x132, x129) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x129)), java.lang.Object(ARRAY(x129)), x130, x133, x132, x129) :|: x132 > -1 && x131 >= x132 && x131 > -1 && x131 - x132 >= x134 && x134 > -1 && x132 + x134 < x129 && x135 > x130 && x132 + x134 >= 0 && x132 + x134 - 1 < x132 + x134 && x131 - x132 - 2 * x134 > -2 && x131 - x132 - 2 * x134 < 2 && x133 = x132 + x134 - 1 Arcs: (1) -> (4), (6), (8), (10) (2) -> (1) (3) -> (1) (4) -> (2), (3), (5), (7), (9), (12), (13), (14) (5) -> (4), (6), (8), (10) (6) -> (2), (3), (5), (7), (9), (12), (13), (14) (7) -> (4), (6), (8), (10) (8) -> (2), (3), (5), (7), (9), (12), (13), (14) (9) -> (4), (6), (8), (10) (10) -> (2), (3), (5), (7), (9), (12), (13), (14) (11) -> (4), (6), (8), (10) (12) -> (11) (13) -> (11) (14) -> (4), (6), (8), (10) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: f5661_0_binarySearch_Load'(java.lang.Object(x106:0), java.lang.Object(ARRAY(x107:0)), x108:0, x109:0, x110:0, x107:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x107:0)), java.lang.Object(ARRAY(x107:0)), x108:0, x110:0 + x112:0 - 1, x110:0, x107:0) :|: x109:0 - x110:0 - 2 * x112:0 > -2 && x109:0 - x110:0 - 2 * x112:0 < 2 && x110:0 + x112:0 - 1 < x110:0 + x112:0 && x110:0 + x112:0 >= 0 && x113:0 < x108:0 && x110:0 + x112:0 < x107:0 && x112:0 > -1 && x112:0 <= x109:0 - x110:0 && x109:0 > -1 && x110:0 <= x109:0 && x110:0 > -1 f5661_0_binarySearch_Load'(java.lang.Object(x98:0), java.lang.Object(ARRAY(x99:0)), x100:0, x101:0, x102:0, x99:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x99:0)), java.lang.Object(ARRAY(x99:0)), x100:0, x101:0, x102:0 + x104:0 + 1, x99:0) :|: x101:0 - x102:0 - 2 * x104:0 < 2 && x101:0 - x102:0 - 2 * x104:0 > -2 && x102:0 + x104:0 - 1 < x102:0 + x104:0 && x105:0 > x100:0 && x99:0 > x102:0 + x104:0 && x104:0 > -1 && x104:0 <= x101:0 - x102:0 && x101:0 > -1 && x102:0 > -1 && x102:0 + x104:0 >= 0 && x102:0 <= x101:0 f5661_0_binarySearch_Load'(java.lang.Object(x114:0), java.lang.Object(ARRAY(x115:0)), x116:0, x117:0, x118:0, x115:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x115:0)), java.lang.Object(ARRAY(x115:0)), x116:0, x118:0 + x120:0 - 1, x118:0, x115:0) :|: x117:0 - x118:0 - 2 * x120:0 > -2 && x117:0 - x118:0 - 2 * x120:0 < 2 && x118:0 + x120:0 - 1 < x118:0 + x120:0 && x118:0 + x120:0 >= 0 && x121:0 > x116:0 && x118:0 + x120:0 < x115:0 && x120:0 > -1 && x120:0 <= x117:0 - x118:0 && x117:0 > -1 && x118:0 <= x117:0 && x118:0 > -1 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x83:0)), java.lang.Object(ARRAY(x83:0)), x84:0, x85:0, x86:0, x83:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x83:0)), java.lang.Object(ARRAY(x83:0)), x84:0, x85:0, x86:0 + x88:0 + 1, x83:0) :|: x85:0 - x86:0 - 2 * x88:0 < 2 && x85:0 - x86:0 - 2 * x88:0 > -2 && x86:0 + x88:0 - 1 < x86:0 + x88:0 && x89:0 > x84:0 && x86:0 + x88:0 < x83:0 && x88:0 > -1 && x88:0 <= x85:0 - x86:0 && x85:0 > -1 && x86:0 > -1 && x86:0 + x88:0 >= 0 && x86:0 <= x85:0 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x:0)), java.lang.Object(ARRAY(x:0)), x1:0, x2:0, x3:0, x:0) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x:0)), java.lang.Object(ARRAY(x:0)), x1:0, x2:0, x3:0, x:0) :|: x3:0 + x4:0 - 1 < x3:0 + x4:0 && x3:0 + x4:0 >= 0 && x5:0 < x1:0 && x:0 > x3:0 + x4:0 && x4:0 > -1 && x4:0 <= x2:0 - x3:0 && x2:0 > -1 && x3:0 <= x2:0 && x3:0 > -1 f5661_0_binarySearch_Load'(java.lang.Object(x90:0), java.lang.Object(ARRAY(x91:0)), x92:0, x93:0, x94:0, x91:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x91:0)), java.lang.Object(ARRAY(x91:0)), x92:0, x93:0, x94:0 + x96:0 + 1, x91:0) :|: x93:0 - x94:0 - 2 * x96:0 < 2 && x93:0 - x94:0 - 2 * x96:0 > -2 && x94:0 + x96:0 - 1 < x94:0 + x96:0 && x97:0 < x92:0 && x94:0 + x96:0 < x91:0 && x96:0 > -1 && x96:0 <= x93:0 - x94:0 && x93:0 > -1 && x94:0 > -1 && x94:0 + x96:0 >= 0 && x94:0 <= x93:0 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x129:0)), java.lang.Object(ARRAY(x129:0)), x130:0, x131:0, x132:0, x129:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x129:0)), java.lang.Object(ARRAY(x129:0)), x130:0, x132:0 + x134:0 - 1, x132:0, x129:0) :|: x131:0 - x132:0 - 2 * x134:0 > -2 && x131:0 - x132:0 - 2 * x134:0 < 2 && x132:0 + x134:0 - 1 < x132:0 + x134:0 && x132:0 + x134:0 >= 0 && x135:0 > x130:0 && x132:0 + x134:0 < x129:0 && x134:0 > -1 && x134:0 <= x131:0 - x132:0 && x131:0 > -1 && x132:0 <= x131:0 && x132:0 > -1 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x122:0)), java.lang.Object(ARRAY(x122:0)), x123:0, x124:0, x125:0, x122:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x122:0)), java.lang.Object(ARRAY(x122:0)), x123:0, x125:0 + x127:0 - 1, x125:0, x122:0) :|: x124:0 - x125:0 - 2 * x127:0 > -2 && x124:0 - x125:0 - 2 * x127:0 < 2 && x125:0 + x127:0 - 1 < x125:0 + x127:0 && x125:0 + x127:0 >= 0 && x128:0 < x123:0 && x125:0 + x127:0 < x122:0 && x127:0 > -1 && x127:0 <= x124:0 - x125:0 && x124:0 > -1 && x125:0 <= x124:0 && x125:0 > -1 f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x6:0)), java.lang.Object(ARRAY(x6:0)), x7:0, x8:0, x9:0, x6:0) -> f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x6:0)), java.lang.Object(ARRAY(x6:0)), x7:0, x8:0, x9:0, x6:0) :|: x9:0 + x10:0 - 1 < x9:0 + x10:0 && x9:0 + x10:0 >= 0 && x7:0 < x11:0 && x9:0 + x10:0 < x6:0 && x10:0 > -1 && x8:0 - x9:0 >= x10:0 && x8:0 > -1 && x9:0 <= x8:0 && x9:0 > -1 f5661_0_binarySearch_Load(java.lang.Object(x31:0), java.lang.Object(ARRAY(x32:0)), x33:0, x34:0, x35:0, x32:0) -> f5661_0_binarySearch_Load'(java.lang.Object(x31:0), java.lang.Object(ARRAY(x32:0)), x33:0, x34:0, x35:0, x32:0) :|: x35:0 + x36:0 - 1 < x35:0 + x36:0 && x35:0 + x36:0 >= 0 && x37:0 > x33:0 && x35:0 + x36:0 < x32:0 && x36:0 > -1 && x36:0 <= x34:0 - x35:0 && x34:0 > -1 && x35:0 <= x34:0 && x35:0 > -1 f5661_0_binarySearch_Load'(java.lang.Object(ARRAY(x12:0)), java.lang.Object(ARRAY(x12:0)), x13:0, x14:0, x15:0, x12:0) -> f5661_0_binarySearch_Load(java.lang.Object(ARRAY(x12:0)), java.lang.Object(ARRAY(x12:0)), x13:0, x14:0, x15:0 + x16:0 + 1, x12:0) :|: x14:0 - x15:0 - 2 * x16:0 < 2 && x14:0 - x15:0 - 2 * x16:0 > -2 && x15:0 + x16:0 - 1 < x15:0 + x16:0 && x17:0 < x13:0 && x15:0 + x16:0 < x12:0 && x16:0 > -1 && x16:0 <= x14:0 - x15:0 && x14:0 > -1 && x15:0 > -1 && x15:0 + x16:0 >= 0 && x15:0 <= x14:0 f5661_0_binarySearch_Load(java.lang.Object(x24:0), java.lang.Object(ARRAY(x25:0)), x26:0, x27:0, x28:0, x25:0) -> f5661_0_binarySearch_Load'(java.lang.Object(x24:0), java.lang.Object(ARRAY(x25:0)), x26:0, x27:0, x28:0, x25:0) :|: x28:0 + x29:0 - 1 < x28:0 + x29:0 && x28:0 + x29:0 >= 0 && x30:0 < x26:0 && x28:0 + x29:0 < x25:0 && x29:0 > -1 && x29:0 <= x27:0 - x28:0 && x27:0 > -1 && x28:0 <= x27:0 && x28:0 > -1 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f5661_0_binarySearch_Load'(VARIABLE, VARIABLE, INTEGER, INTEGER, INTEGER, INTEGER) java.lang.Object(VARIABLE) ARRAY(INTEGER) f5661_0_binarySearch_Load(VARIABLE, VARIABLE, INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (17) Obligation: Rules: f5661_0_binarySearch_Load'(c, c1, x108:0, x109:0, x110:0, x107:0) -> f5661_0_binarySearch_Load(c2, c3, x108:0, c4, x110:0, x107:0) :|: c4 = x110:0 + x112:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x109:0 - x110:0 - 2 * x112:0 > -2 && x109:0 - x110:0 - 2 * x112:0 < 2 && x110:0 + x112:0 - 1 < x110:0 + x112:0 && x110:0 + x112:0 >= 0 && x113:0 < x108:0 && x110:0 + x112:0 < x107:0 && x112:0 > -1 && x112:0 <= x109:0 - x110:0 && x109:0 > -1 && x110:0 <= x109:0 && x110:0 > -1) f5661_0_binarySearch_Load'(c5, c6, x100:0, x101:0, x102:0, x99:0) -> f5661_0_binarySearch_Load(c7, c8, x100:0, x101:0, c9, x99:0) :|: c9 = x102:0 + x104:0 + 1 && (c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0))) && (x101:0 - x102:0 - 2 * x104:0 < 2 && x101:0 - x102:0 - 2 * x104:0 > -2 && x102:0 + x104:0 - 1 < x102:0 + x104:0 && x105:0 > x100:0 && x99:0 > x102:0 + x104:0 && x104:0 > -1 && x104:0 <= x101:0 - x102:0 && x101:0 > -1 && x102:0 > -1 && x102:0 + x104:0 >= 0 && x102:0 <= x101:0) f5661_0_binarySearch_Load'(c10, c11, x116:0, x117:0, x118:0, x115:0) -> f5661_0_binarySearch_Load(c12, c13, x116:0, c14, x118:0, x115:0) :|: c14 = x118:0 + x120:0 - 1 && (c13 = 0 && (c12 = 0 && (c11 = 0 && c10 = 0))) && (x117:0 - x118:0 - 2 * x120:0 > -2 && x117:0 - x118:0 - 2 * x120:0 < 2 && x118:0 + x120:0 - 1 < x118:0 + x120:0 && x118:0 + x120:0 >= 0 && x121:0 > x116:0 && x118:0 + x120:0 < x115:0 && x120:0 > -1 && x120:0 <= x117:0 - x118:0 && x117:0 > -1 && x118:0 <= x117:0 && x118:0 > -1) f5661_0_binarySearch_Load'(c15, c16, x84:0, x85:0, x86:0, x83:0) -> f5661_0_binarySearch_Load(c17, c18, x84:0, x85:0, c19, x83:0) :|: c19 = x86:0 + x88:0 + 1 && (c18 = 0 && (c17 = 0 && (c16 = 0 && c15 = 0))) && (x85:0 - x86:0 - 2 * x88:0 < 2 && x85:0 - x86:0 - 2 * x88:0 > -2 && x86:0 + x88:0 - 1 < x86:0 + x88:0 && x89:0 > x84:0 && x86:0 + x88:0 < x83:0 && x88:0 > -1 && x88:0 <= x85:0 - x86:0 && x85:0 > -1 && x86:0 > -1 && x86:0 + x88:0 >= 0 && x86:0 <= x85:0) f5661_0_binarySearch_Load(c20, c21, x1:0, x2:0, x3:0, x:0) -> f5661_0_binarySearch_Load'(c22, c23, x1:0, x2:0, x3:0, x:0) :|: c23 = 0 && (c22 = 0 && (c21 = 0 && c20 = 0)) && (x3:0 + x4:0 - 1 < x3:0 + x4:0 && x3:0 + x4:0 >= 0 && x5:0 < x1:0 && x:0 > x3:0 + x4:0 && x4:0 > -1 && x4:0 <= x2:0 - x3:0 && x2:0 > -1 && x3:0 <= x2:0 && x3:0 > -1) f5661_0_binarySearch_Load'(c24, c25, x92:0, x93:0, x94:0, x91:0) -> f5661_0_binarySearch_Load(c26, c27, x92:0, x93:0, c28, x91:0) :|: c28 = x94:0 + x96:0 + 1 && (c27 = 0 && (c26 = 0 && (c25 = 0 && c24 = 0))) && (x93:0 - x94:0 - 2 * x96:0 < 2 && x93:0 - x94:0 - 2 * x96:0 > -2 && x94:0 + x96:0 - 1 < x94:0 + x96:0 && x97:0 < x92:0 && x94:0 + x96:0 < x91:0 && x96:0 > -1 && x96:0 <= x93:0 - x94:0 && x93:0 > -1 && x94:0 > -1 && x94:0 + x96:0 >= 0 && x94:0 <= x93:0) f5661_0_binarySearch_Load(c39, c40, x7:0, x8:0, x9:0, x6:0) -> f5661_0_binarySearch_Load'(c41, c42, x7:0, x8:0, x9:0, x6:0) :|: c42 = 0 && (c41 = 0 && (c40 = 0 && c39 = 0)) && (x9:0 + x10:0 - 1 < x9:0 + x10:0 && x9:0 + x10:0 >= 0 && x7:0 < x11:0 && x9:0 + x10:0 < x6:0 && x10:0 > -1 && x8:0 - x9:0 >= x10:0 && x8:0 > -1 && x9:0 <= x8:0 && x9:0 > -1) f5661_0_binarySearch_Load(c43, c44, x33:0, x34:0, x35:0, x32:0) -> f5661_0_binarySearch_Load'(c45, c46, x33:0, x34:0, x35:0, x32:0) :|: c46 = 0 && (c45 = 0 && (c44 = 0 && c43 = 0)) && (x35:0 + x36:0 - 1 < x35:0 + x36:0 && x35:0 + x36:0 >= 0 && x37:0 > x33:0 && x35:0 + x36:0 < x32:0 && x36:0 > -1 && x36:0 <= x34:0 - x35:0 && x34:0 > -1 && x35:0 <= x34:0 && x35:0 > -1) f5661_0_binarySearch_Load(c52, c53, x26:0, x27:0, x28:0, x25:0) -> f5661_0_binarySearch_Load'(c54, c55, x26:0, x27:0, x28:0, x25:0) :|: c55 = 0 && (c54 = 0 && (c53 = 0 && c52 = 0)) && (x28:0 + x29:0 - 1 < x28:0 + x29:0 && x28:0 + x29:0 >= 0 && x30:0 < x26:0 && x28:0 + x29:0 < x25:0 && x29:0 > -1 && x29:0 <= x27:0 - x28:0 && x27:0 > -1 && x28:0 <= x27:0 && x28:0 > -1) ---------------------------------------- (18) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f5661_0_binarySearch_Load' ] = 2*f5661_0_binarySearch_Load'_4 + -2*f5661_0_binarySearch_Load'_5 + -1 [ f5661_0_binarySearch_Load ] = -2*f5661_0_binarySearch_Load_5 + 2*f5661_0_binarySearch_Load_4 The following rules are decreasing: f5661_0_binarySearch_Load'(c, c1, x108:0, x109:0, x110:0, x107:0) -> f5661_0_binarySearch_Load(c2, c3, x108:0, c4, x110:0, x107:0) :|: c4 = x110:0 + x112:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x109:0 - x110:0 - 2 * x112:0 > -2 && x109:0 - x110:0 - 2 * x112:0 < 2 && x110:0 + x112:0 - 1 < x110:0 + x112:0 && x110:0 + x112:0 >= 0 && x113:0 < x108:0 && x110:0 + x112:0 < x107:0 && x112:0 > -1 && x112:0 <= x109:0 - x110:0 && x109:0 > -1 && x110:0 <= x109:0 && x110:0 > -1) f5661_0_binarySearch_Load'(c5, c6, x100:0, x101:0, x102:0, x99:0) -> f5661_0_binarySearch_Load(c7, c8, x100:0, x101:0, c9, x99:0) :|: c9 = x102:0 + x104:0 + 1 && (c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0))) && (x101:0 - x102:0 - 2 * x104:0 < 2 && x101:0 - x102:0 - 2 * x104:0 > -2 && x102:0 + x104:0 - 1 < x102:0 + x104:0 && x105:0 > x100:0 && x99:0 > x102:0 + x104:0 && x104:0 > -1 && x104:0 <= x101:0 - x102:0 && x101:0 > -1 && x102:0 > -1 && x102:0 + x104:0 >= 0 && x102:0 <= x101:0) f5661_0_binarySearch_Load'(c10, c11, x116:0, x117:0, x118:0, x115:0) -> f5661_0_binarySearch_Load(c12, c13, x116:0, c14, x118:0, x115:0) :|: c14 = x118:0 + x120:0 - 1 && (c13 = 0 && (c12 = 0 && (c11 = 0 && c10 = 0))) && (x117:0 - x118:0 - 2 * x120:0 > -2 && x117:0 - x118:0 - 2 * x120:0 < 2 && x118:0 + x120:0 - 1 < x118:0 + x120:0 && x118:0 + x120:0 >= 0 && x121:0 > x116:0 && x118:0 + x120:0 < x115:0 && x120:0 > -1 && x120:0 <= x117:0 - x118:0 && x117:0 > -1 && x118:0 <= x117:0 && x118:0 > -1) f5661_0_binarySearch_Load'(c15, c16, x84:0, x85:0, x86:0, x83:0) -> f5661_0_binarySearch_Load(c17, c18, x84:0, x85:0, c19, x83:0) :|: c19 = x86:0 + x88:0 + 1 && (c18 = 0 && (c17 = 0 && (c16 = 0 && c15 = 0))) && (x85:0 - x86:0 - 2 * x88:0 < 2 && x85:0 - x86:0 - 2 * x88:0 > -2 && x86:0 + x88:0 - 1 < x86:0 + x88:0 && x89:0 > x84:0 && x86:0 + x88:0 < x83:0 && x88:0 > -1 && x88:0 <= x85:0 - x86:0 && x85:0 > -1 && x86:0 > -1 && x86:0 + x88:0 >= 0 && x86:0 <= x85:0) f5661_0_binarySearch_Load(c20, c21, x1:0, x2:0, x3:0, x:0) -> f5661_0_binarySearch_Load'(c22, c23, x1:0, x2:0, x3:0, x:0) :|: c23 = 0 && (c22 = 0 && (c21 = 0 && c20 = 0)) && (x3:0 + x4:0 - 1 < x3:0 + x4:0 && x3:0 + x4:0 >= 0 && x5:0 < x1:0 && x:0 > x3:0 + x4:0 && x4:0 > -1 && x4:0 <= x2:0 - x3:0 && x2:0 > -1 && x3:0 <= x2:0 && x3:0 > -1) f5661_0_binarySearch_Load'(c24, c25, x92:0, x93:0, x94:0, x91:0) -> f5661_0_binarySearch_Load(c26, c27, x92:0, x93:0, c28, x91:0) :|: c28 = x94:0 + x96:0 + 1 && (c27 = 0 && (c26 = 0 && (c25 = 0 && c24 = 0))) && (x93:0 - x94:0 - 2 * x96:0 < 2 && x93:0 - x94:0 - 2 * x96:0 > -2 && x94:0 + x96:0 - 1 < x94:0 + x96:0 && x97:0 < x92:0 && x94:0 + x96:0 < x91:0 && x96:0 > -1 && x96:0 <= x93:0 - x94:0 && x93:0 > -1 && x94:0 > -1 && x94:0 + x96:0 >= 0 && x94:0 <= x93:0) f5661_0_binarySearch_Load(c39, c40, x7:0, x8:0, x9:0, x6:0) -> f5661_0_binarySearch_Load'(c41, c42, x7:0, x8:0, x9:0, x6:0) :|: c42 = 0 && (c41 = 0 && (c40 = 0 && c39 = 0)) && (x9:0 + x10:0 - 1 < x9:0 + x10:0 && x9:0 + x10:0 >= 0 && x7:0 < x11:0 && x9:0 + x10:0 < x6:0 && x10:0 > -1 && x8:0 - x9:0 >= x10:0 && x8:0 > -1 && x9:0 <= x8:0 && x9:0 > -1) f5661_0_binarySearch_Load(c43, c44, x33:0, x34:0, x35:0, x32:0) -> f5661_0_binarySearch_Load'(c45, c46, x33:0, x34:0, x35:0, x32:0) :|: c46 = 0 && (c45 = 0 && (c44 = 0 && c43 = 0)) && (x35:0 + x36:0 - 1 < x35:0 + x36:0 && x35:0 + x36:0 >= 0 && x37:0 > x33:0 && x35:0 + x36:0 < x32:0 && x36:0 > -1 && x36:0 <= x34:0 - x35:0 && x34:0 > -1 && x35:0 <= x34:0 && x35:0 > -1) f5661_0_binarySearch_Load(c52, c53, x26:0, x27:0, x28:0, x25:0) -> f5661_0_binarySearch_Load'(c54, c55, x26:0, x27:0, x28:0, x25:0) :|: c55 = 0 && (c54 = 0 && (c53 = 0 && c52 = 0)) && (x28:0 + x29:0 - 1 < x28:0 + x29:0 && x28:0 + x29:0 >= 0 && x30:0 < x26:0 && x28:0 + x29:0 < x25:0 && x29:0 > -1 && x29:0 <= x27:0 - x28:0 && x27:0 > -1 && x28:0 <= x27:0 && x28:0 > -1) The following rules are bounded: f5661_0_binarySearch_Load'(c, c1, x108:0, x109:0, x110:0, x107:0) -> f5661_0_binarySearch_Load(c2, c3, x108:0, c4, x110:0, x107:0) :|: c4 = x110:0 + x112:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x109:0 - x110:0 - 2 * x112:0 > -2 && x109:0 - x110:0 - 2 * x112:0 < 2 && x110:0 + x112:0 - 1 < x110:0 + x112:0 && x110:0 + x112:0 >= 0 && x113:0 < x108:0 && x110:0 + x112:0 < x107:0 && x112:0 > -1 && x112:0 <= x109:0 - x110:0 && x109:0 > -1 && x110:0 <= x109:0 && x110:0 > -1) f5661_0_binarySearch_Load'(c5, c6, x100:0, x101:0, x102:0, x99:0) -> f5661_0_binarySearch_Load(c7, c8, x100:0, x101:0, c9, x99:0) :|: c9 = x102:0 + x104:0 + 1 && (c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0))) && (x101:0 - x102:0 - 2 * x104:0 < 2 && x101:0 - x102:0 - 2 * x104:0 > -2 && x102:0 + x104:0 - 1 < x102:0 + x104:0 && x105:0 > x100:0 && x99:0 > x102:0 + x104:0 && x104:0 > -1 && x104:0 <= x101:0 - x102:0 && x101:0 > -1 && x102:0 > -1 && x102:0 + x104:0 >= 0 && x102:0 <= x101:0) f5661_0_binarySearch_Load'(c10, c11, x116:0, x117:0, x118:0, x115:0) -> f5661_0_binarySearch_Load(c12, c13, x116:0, c14, x118:0, x115:0) :|: c14 = x118:0 + x120:0 - 1 && (c13 = 0 && (c12 = 0 && (c11 = 0 && c10 = 0))) && (x117:0 - x118:0 - 2 * x120:0 > -2 && x117:0 - x118:0 - 2 * x120:0 < 2 && x118:0 + x120:0 - 1 < x118:0 + x120:0 && x118:0 + x120:0 >= 0 && x121:0 > x116:0 && x118:0 + x120:0 < x115:0 && x120:0 > -1 && x120:0 <= x117:0 - x118:0 && x117:0 > -1 && x118:0 <= x117:0 && x118:0 > -1) f5661_0_binarySearch_Load'(c15, c16, x84:0, x85:0, x86:0, x83:0) -> f5661_0_binarySearch_Load(c17, c18, x84:0, x85:0, c19, x83:0) :|: c19 = x86:0 + x88:0 + 1 && (c18 = 0 && (c17 = 0 && (c16 = 0 && c15 = 0))) && (x85:0 - x86:0 - 2 * x88:0 < 2 && x85:0 - x86:0 - 2 * x88:0 > -2 && x86:0 + x88:0 - 1 < x86:0 + x88:0 && x89:0 > x84:0 && x86:0 + x88:0 < x83:0 && x88:0 > -1 && x88:0 <= x85:0 - x86:0 && x85:0 > -1 && x86:0 > -1 && x86:0 + x88:0 >= 0 && x86:0 <= x85:0) f5661_0_binarySearch_Load(c20, c21, x1:0, x2:0, x3:0, x:0) -> f5661_0_binarySearch_Load'(c22, c23, x1:0, x2:0, x3:0, x:0) :|: c23 = 0 && (c22 = 0 && (c21 = 0 && c20 = 0)) && (x3:0 + x4:0 - 1 < x3:0 + x4:0 && x3:0 + x4:0 >= 0 && x5:0 < x1:0 && x:0 > x3:0 + x4:0 && x4:0 > -1 && x4:0 <= x2:0 - x3:0 && x2:0 > -1 && x3:0 <= x2:0 && x3:0 > -1) f5661_0_binarySearch_Load'(c24, c25, x92:0, x93:0, x94:0, x91:0) -> f5661_0_binarySearch_Load(c26, c27, x92:0, x93:0, c28, x91:0) :|: c28 = x94:0 + x96:0 + 1 && (c27 = 0 && (c26 = 0 && (c25 = 0 && c24 = 0))) && (x93:0 - x94:0 - 2 * x96:0 < 2 && x93:0 - x94:0 - 2 * x96:0 > -2 && x94:0 + x96:0 - 1 < x94:0 + x96:0 && x97:0 < x92:0 && x94:0 + x96:0 < x91:0 && x96:0 > -1 && x96:0 <= x93:0 - x94:0 && x93:0 > -1 && x94:0 > -1 && x94:0 + x96:0 >= 0 && x94:0 <= x93:0) f5661_0_binarySearch_Load(c39, c40, x7:0, x8:0, x9:0, x6:0) -> f5661_0_binarySearch_Load'(c41, c42, x7:0, x8:0, x9:0, x6:0) :|: c42 = 0 && (c41 = 0 && (c40 = 0 && c39 = 0)) && (x9:0 + x10:0 - 1 < x9:0 + x10:0 && x9:0 + x10:0 >= 0 && x7:0 < x11:0 && x9:0 + x10:0 < x6:0 && x10:0 > -1 && x8:0 - x9:0 >= x10:0 && x8:0 > -1 && x9:0 <= x8:0 && x9:0 > -1) f5661_0_binarySearch_Load(c43, c44, x33:0, x34:0, x35:0, x32:0) -> f5661_0_binarySearch_Load'(c45, c46, x33:0, x34:0, x35:0, x32:0) :|: c46 = 0 && (c45 = 0 && (c44 = 0 && c43 = 0)) && (x35:0 + x36:0 - 1 < x35:0 + x36:0 && x35:0 + x36:0 >= 0 && x37:0 > x33:0 && x35:0 + x36:0 < x32:0 && x36:0 > -1 && x36:0 <= x34:0 - x35:0 && x34:0 > -1 && x35:0 <= x34:0 && x35:0 > -1) f5661_0_binarySearch_Load(c52, c53, x26:0, x27:0, x28:0, x25:0) -> f5661_0_binarySearch_Load'(c54, c55, x26:0, x27:0, x28:0, x25:0) :|: c55 = 0 && (c54 = 0 && (c53 = 0 && c52 = 0)) && (x28:0 + x29:0 - 1 < x28:0 + x29:0 && x28:0 + x29:0 >= 0 && x30:0 < x26:0 && x28:0 + x29:0 < x25:0 && x29:0 > -1 && x29:0 <= x27:0 - x28:0 && x27:0 > -1 && x28:0 <= x27:0 && x28:0 > -1) ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: BinarySearch.BinarySearch.createArray()[I SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *java.lang.String: [count] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (21) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 32 IRulesP rules: f1414_0_createArray_Load(EOS(STATIC_1414(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222) -> f1436_0_createArray_ArrayLength(EOS(STATIC_1436(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222, java.lang.Object(ARRAY(i221))) :|: TRUE f1436_0_createArray_ArrayLength(EOS(STATIC_1436(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222, java.lang.Object(ARRAY(i221))) -> f1441_0_createArray_GE(EOS(STATIC_1441(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222, i221) :|: i221 >= 0 f1441_0_createArray_GE(EOS(STATIC_1441(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222, i221) -> f1463_0_createArray_GE(EOS(STATIC_1463(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222, i221) :|: i222 < i221 f1463_0_createArray_GE(EOS(STATIC_1463(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222, i221) -> f1480_0_createArray_Load(EOS(STATIC_1480(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222) :|: i222 < i221 f1480_0_createArray_Load(EOS(STATIC_1480(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222) -> f1488_0_createArray_Load(EOS(STATIC_1488(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221))) :|: TRUE f1488_0_createArray_Load(EOS(STATIC_1488(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221))) -> f1502_0_createArray_InvokeMethod(EOS(STATIC_1502(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222) :|: TRUE f1502_0_createArray_InvokeMethod(EOS(STATIC_1502(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222) -> f1518_0_random_FieldAccess(EOS(STATIC_1518(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222) :|: TRUE f1518_0_random_FieldAccess(EOS(STATIC_1518(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222) -> f1573_0_random_FieldAccess(EOS(STATIC_1573(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6))) :|: TRUE f1573_0_random_FieldAccess(EOS(STATIC_1573(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6))) -> f1581_0_random_ArrayAccess(EOS(STATIC_1581(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6)), i220) :|: TRUE f1581_0_random_ArrayAccess(EOS(STATIC_1581(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6)), i269) -> f1585_0_random_ArrayAccess(EOS(STATIC_1585(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6)), i269) :|: TRUE f1585_0_random_ArrayAccess(EOS(STATIC_1585(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6)), i269) -> f1595_0_random_ArrayAccess(EOS(STATIC_1595(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6)), i269) :|: TRUE f1595_0_random_ArrayAccess(EOS(STATIC_1595(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i6)), i269) -> f1613_0_random_Store(EOS(STATIC_1613(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198) :|: i269 < i6 f1613_0_random_Store(EOS(STATIC_1613(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198) -> f1627_0_random_FieldAccess(EOS(STATIC_1627(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198) :|: TRUE f1627_0_random_FieldAccess(EOS(STATIC_1627(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198) -> f1639_0_random_ConstantStackPush(EOS(STATIC_1639(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198, i269) :|: TRUE f1639_0_random_ConstantStackPush(EOS(STATIC_1639(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198, i269) -> f1653_0_random_IntArithmetic(EOS(STATIC_1653(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198, i269, 1) :|: TRUE f1653_0_random_IntArithmetic(EOS(STATIC_1653(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198, i269, matching1) -> f1672_0_random_FieldAccess(EOS(STATIC_1672(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198, i269 + 1) :|: i269 >= 0 && matching1 = 1 f1672_0_random_FieldAccess(EOS(STATIC_1672(java.lang.Object(ARRAY(i6)), i269)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198, i280) -> f1689_0_random_Load(EOS(STATIC_1689(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198) :|: TRUE f1689_0_random_Load(EOS(STATIC_1689(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198) -> f1702_0_random_InvokeMethod(EOS(STATIC_1702(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, o198) :|: TRUE f1702_0_random_InvokeMethod(EOS(STATIC_1702(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o222sub)) -> f1724_0_random_InvokeMethod(EOS(STATIC_1724(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o222sub)) :|: TRUE f1724_0_random_InvokeMethod(EOS(STATIC_1724(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o223sub)) -> f1738_0_random_InvokeMethod(EOS(STATIC_1738(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o223sub)) :|: TRUE f1738_0_random_InvokeMethod(EOS(STATIC_1738(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o223sub)) -> f1752_0_length_Load(EOS(STATIC_1752(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o223sub)) :|: TRUE f1752_0_length_Load(EOS(STATIC_1752(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o223sub)) -> f1798_0_length_FieldAccess(EOS(STATIC_1798(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(o223sub)) :|: TRUE f1798_0_length_FieldAccess(EOS(STATIC_1798(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(java.lang.String(EOC, i312))) -> f1821_0_length_FieldAccess(EOS(STATIC_1821(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(java.lang.String(EOC, i312))) :|: i312 >= 0 f1821_0_length_FieldAccess(EOS(STATIC_1821(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, java.lang.Object(java.lang.String(EOC, i312))) -> f1840_0_length_Return(EOS(STATIC_1840(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) :|: TRUE f1840_0_length_Return(EOS(STATIC_1840(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) -> f1876_0_random_Return(EOS(STATIC_1876(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) :|: TRUE f1876_0_random_Return(EOS(STATIC_1876(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) -> f1931_0_createArray_ArrayAccess(EOS(STATIC_1931(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) :|: TRUE f1931_0_createArray_ArrayAccess(EOS(STATIC_1931(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) -> f1976_0_createArray_ArrayAccess(EOS(STATIC_1976(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) :|: TRUE f1976_0_createArray_ArrayAccess(EOS(STATIC_1976(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222, java.lang.Object(ARRAY(i221)), i222, i312) -> f2011_0_createArray_Inc(EOS(STATIC_2011(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222) :|: i222 < i221 f2011_0_createArray_Inc(EOS(STATIC_2011(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222) -> f2069_0_createArray_JMP(EOS(STATIC_2069(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i222 + 1) :|: TRUE f2069_0_createArray_JMP(EOS(STATIC_2069(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i354) -> f2097_0_createArray_Load(EOS(STATIC_2097(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i354) :|: TRUE f2097_0_createArray_Load(EOS(STATIC_2097(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i354) -> f1403_0_createArray_Load(EOS(STATIC_1403(java.lang.Object(ARRAY(i6)), i280)), java.lang.Object(ARRAY(i221)), i354) :|: TRUE f1403_0_createArray_Load(EOS(STATIC_1403(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222) -> f1414_0_createArray_Load(EOS(STATIC_1414(java.lang.Object(ARRAY(i6)), i220)), java.lang.Object(ARRAY(i221)), i222, i222) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1414_0_createArray_Load(EOS(STATIC_1414(java.lang.Object(ARRAY(i6:0)), i220:0)), java.lang.Object(ARRAY(i221:0)), i222:0, i222:0) -> f1414_0_createArray_Load(EOS(STATIC_1414(java.lang.Object(ARRAY(i6:0)), i220:0 + 1)), java.lang.Object(ARRAY(i221:0)), i222:0 + 1, i222:0 + 1) :|: i221:0 > -1 && i222:0 < i221:0 && i6:0 > i220:0 && i220:0 > -1 && i312:0 > -1 Filtered duplicate arguments: f1414_0_createArray_Load(x1, x2, x3, x4) -> f1414_0_createArray_Load(x1, x2, x4) Finished conversion. Obtained 1 rules.P rules: f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), i222:0, i6:0, i220:0, i221:0) -> f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), i222:0 + 1, i6:0, i220:0 + 1, i221:0) :|: i222:0 < i221:0 && i221:0 > -1 && i6:0 > i220:0 && i312:0 > -1 && i220:0 > -1 ---------------------------------------- (22) Obligation: Rules: f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), i222:0, i6:0, i220:0, i221:0) -> f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), i222:0 + 1, i6:0, i220:0 + 1, i221:0) :|: i222:0 < i221:0 && i221:0 > -1 && i6:0 > i220:0 && i312:0 > -1 && i220:0 > -1 ---------------------------------------- (23) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (24) Obligation: Rules: f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), i222:0, i6:0, i220:0, i221:0) -> f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), arith, i6:0, arith1, i221:0) :|: i222:0 < i221:0 && i221:0 > -1 && i6:0 > i220:0 && i312:0 > -1 && i220:0 > -1 && arith = i222:0 + 1 && arith1 = i220:0 + 1 ---------------------------------------- (25) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), i222:0, i6:0, i220:0, i221:0) -> f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), arith, i6:0, arith1, i221:0) :|: i222:0 < i221:0 && i221:0 > -1 && i6:0 > i220:0 && i312:0 > -1 && i220:0 > -1 && arith = i222:0 + 1 && arith1 = i220:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (26) Obligation: Termination digraph: Nodes: (1) f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), i222:0, i6:0, i220:0, i221:0) -> f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0)), arith, i6:0, arith1, i221:0) :|: i222:0 < i221:0 && i221:0 > -1 && i6:0 > i220:0 && i312:0 > -1 && i220:0 > -1 && arith = i222:0 + 1 && arith1 = i220:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (27) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (28) Obligation: Rules: f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0:0)), i222:0:0, i6:0:0, i220:0:0, i221:0:0) -> f1414_0_createArray_Load(java.lang.Object(ARRAY(i221:0:0)), i222:0:0 + 1, i6:0:0, i220:0:0 + 1, i221:0:0) :|: i312:0:0 > -1 && i220:0:0 > -1 && i6:0:0 > i220:0:0 && i221:0:0 > -1 && i222:0:0 < i221:0:0 ---------------------------------------- (29) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1414_0_createArray_Load(VARIABLE, INTEGER, INTEGER, INTEGER, INTEGER) java.lang.Object(VARIABLE) ARRAY(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (30) Obligation: Rules: f1414_0_createArray_Load(c, i222:0:0, i6:0:0, i220:0:0, i221:0:0) -> f1414_0_createArray_Load(c1, c2, i6:0:0, c3, i221:0:0) :|: c3 = i220:0:0 + 1 && (c2 = i222:0:0 + 1 && (c1 = 0 && c = 0)) && (i312:0:0 > -1 && i220:0:0 > -1 && i6:0:0 > i220:0:0 && i221:0:0 > -1 && i222:0:0 < i221:0:0) ---------------------------------------- (31) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1414_0_createArray_Load(x, x1, x2, x3, x4)] = c*x + x2 - x3 The following rules are decreasing: f1414_0_createArray_Load(c, i222:0:0, i6:0:0, i220:0:0, i221:0:0) -> f1414_0_createArray_Load(c1, c2, i6:0:0, c3, i221:0:0) :|: c3 = i220:0:0 + 1 && (c2 = i222:0:0 + 1 && (c1 = 0 && c = 0)) && (i312:0:0 > -1 && i220:0:0 > -1 && i6:0:0 > i220:0:0 && i221:0:0 > -1 && i222:0:0 < i221:0:0) The following rules are bounded: f1414_0_createArray_Load(c, i222:0:0, i6:0:0, i220:0:0, i221:0:0) -> f1414_0_createArray_Load(c1, c2, i6:0:0, c3, i221:0:0) :|: c3 = i220:0:0 + 1 && (c2 = i222:0:0 + 1 && (c1 = 0 && c = 0)) && (i312:0:0 > -1 && i220:0:0 > -1 && i6:0:0 > i220:0:0 && i221:0:0 > -1 && i222:0:0 < i221:0:0) ---------------------------------------- (32) YES