/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: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 98 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 783 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 13 ms] (6) JBCTerminationSCC (7) SCCToIRSProof [SOUND, 301 ms] (8) IRSwT (9) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (10) IRSwT (11) IRSwTTerminationDigraphProof [EQUIVALENT, 40 ms] (12) IRSwT (13) IntTRSCompressionProof [EQUIVALENT, 0 ms] (14) IRSwT (15) TempFilterProof [SOUND, 61 ms] (16) IntTRS (17) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (18) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: public class Et6 { public static void main(String[] args) { Random.args = args; int a = Random.random(); int b = Random.random(); int c = Random.random(); while (c >= 0) { int ap = Random.random(); int bp = Random.random(); if ( 3*b - 2*a >= 3*bp - 2*ap) break; a = ap; b = bp; c = c - (3*b-2*a); } } } public class Random { static String[] args; static int index = 0; public static int random() { if (index >= args.length) return 0; String string = args[index]; index++; return string.length(); } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: public class Et6 { public static void main(String[] args) { Random.args = args; int a = Random.random(); int b = Random.random(); int c = Random.random(); while (c >= 0) { int ap = Random.random(); int bp = Random.random(); if ( 3*b - 2*a >= 3*bp - 2*ap) break; a = ap; b = bp; c = c - (3*b-2*a); } } } public class Random { static String[] args; static int index = 0; public static int random() { if (index >= args.length) return 0; String string = args[index]; index++; return string.length(); } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: Et6.main([Ljava/lang/String;)V: Graph of 612 nodes with 1 SCC. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 1 SCCs. ---------------------------------------- (6) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Et6.main([Ljava/lang/String;)V 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: ---------------------------------------- (7) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 130 IRulesP rules: f1323_0_random_LT(EOS(STATIC_1323(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i455, i454) -> f1327_0_random_FieldAccess(EOS(STATIC_1327(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457) :|: i455 < i454 f1327_0_random_FieldAccess(EOS(STATIC_1327(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457) -> f1331_0_random_FieldAccess(EOS(STATIC_1331(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(ARRAY(i454))) :|: TRUE f1331_0_random_FieldAccess(EOS(STATIC_1331(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(ARRAY(i454))) -> f1336_0_random_ArrayAccess(EOS(STATIC_1336(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(ARRAY(i454)), i455) :|: TRUE f1336_0_random_ArrayAccess(EOS(STATIC_1336(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(ARRAY(i454)), i455) -> f1340_0_random_ArrayAccess(EOS(STATIC_1340(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(ARRAY(i454)), i455) :|: TRUE f1340_0_random_ArrayAccess(EOS(STATIC_1340(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(ARRAY(i454)), i455) -> f1351_0_random_Store(EOS(STATIC_1351(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82) :|: TRUE f1351_0_random_Store(EOS(STATIC_1351(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82) -> f1356_0_random_FieldAccess(EOS(STATIC_1356(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82) :|: TRUE f1356_0_random_FieldAccess(EOS(STATIC_1356(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82) -> f1358_0_random_ConstantStackPush(EOS(STATIC_1358(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82, i455) :|: TRUE f1358_0_random_ConstantStackPush(EOS(STATIC_1358(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82, i455) -> f1362_0_random_IntArithmetic(EOS(STATIC_1362(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82, i455, 1) :|: TRUE f1362_0_random_IntArithmetic(EOS(STATIC_1362(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82, i455, matching1) -> f1375_0_random_FieldAccess(EOS(STATIC_1375(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82, i455 + 1) :|: i455 > 0 && matching1 = 1 f1375_0_random_FieldAccess(EOS(STATIC_1375(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82, i590) -> f1385_0_random_Load(EOS(STATIC_1385(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82) :|: TRUE f1385_0_random_Load(EOS(STATIC_1385(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82) -> f1398_0_random_InvokeMethod(EOS(STATIC_1398(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, o82) :|: TRUE f1398_0_random_InvokeMethod(EOS(STATIC_1398(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o102sub)) -> f1427_0_random_InvokeMethod(EOS(STATIC_1427(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o102sub)) :|: TRUE f1427_0_random_InvokeMethod(EOS(STATIC_1427(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o103sub)) -> f1430_0_random_InvokeMethod(EOS(STATIC_1430(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o103sub)) :|: TRUE f1430_0_random_InvokeMethod(EOS(STATIC_1430(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o103sub)) -> f1474_0_length_Load(EOS(STATIC_1474(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o103sub)) :|: TRUE f1474_0_length_Load(EOS(STATIC_1474(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o103sub)) -> f1492_0_length_FieldAccess(EOS(STATIC_1492(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(o103sub)) :|: TRUE f1492_0_length_FieldAccess(EOS(STATIC_1492(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(java.lang.String(EOC, i738))) -> f1498_0_length_FieldAccess(EOS(STATIC_1498(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(java.lang.String(EOC, i738))) :|: i738 >= 0 f1498_0_length_FieldAccess(EOS(STATIC_1498(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, java.lang.Object(java.lang.String(EOC, i738))) -> f1501_0_length_Return(EOS(STATIC_1501(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) :|: TRUE f1501_0_length_Return(EOS(STATIC_1501(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) -> f1509_0_random_Return(EOS(STATIC_1509(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) :|: TRUE f1509_0_random_Return(EOS(STATIC_1509(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) -> f1550_0_main_Store(EOS(STATIC_1550(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) :|: TRUE f1550_0_main_Store(EOS(STATIC_1550(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) -> f1554_0_main_InvokeMethod(EOS(STATIC_1554(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) :|: TRUE f1554_0_main_InvokeMethod(EOS(STATIC_1554(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) -> f1567_0_random_FieldAccess(EOS(STATIC_1567(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) :|: TRUE f1567_0_random_FieldAccess(EOS(STATIC_1567(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) -> f1627_0_random_FieldAccess(EOS(STATIC_1627(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590) :|: TRUE f1627_0_random_FieldAccess(EOS(STATIC_1627(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590) -> f1651_0_random_ArrayLength(EOS(STATIC_1651(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, java.lang.Object(ARRAY(i454))) :|: TRUE f1651_0_random_ArrayLength(EOS(STATIC_1651(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, java.lang.Object(ARRAY(i454))) -> f1684_0_random_LT(EOS(STATIC_1684(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, i454) :|: i454 >= 0 f1684_0_random_LT(EOS(STATIC_1684(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, i454) -> f1692_0_random_LT(EOS(STATIC_1692(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, i454) :|: i590 < i454 f1684_0_random_LT(EOS(STATIC_1684(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, i454) -> f1693_0_random_LT(EOS(STATIC_1693(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, i454) :|: i590 >= i454 f1692_0_random_LT(EOS(STATIC_1692(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, i454) -> f1703_0_random_FieldAccess(EOS(STATIC_1703(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) :|: i590 < i454 f1703_0_random_FieldAccess(EOS(STATIC_1703(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) -> f1709_0_random_FieldAccess(EOS(STATIC_1709(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(ARRAY(i454))) :|: TRUE f1709_0_random_FieldAccess(EOS(STATIC_1709(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(ARRAY(i454))) -> f1729_0_random_ArrayAccess(EOS(STATIC_1729(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(ARRAY(i454)), i590) :|: TRUE f1729_0_random_ArrayAccess(EOS(STATIC_1729(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(ARRAY(i454)), i590) -> f1737_0_random_ArrayAccess(EOS(STATIC_1737(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(ARRAY(i454)), i590) :|: TRUE f1737_0_random_ArrayAccess(EOS(STATIC_1737(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(ARRAY(i454)), i590) -> f1764_0_random_Store(EOS(STATIC_1764(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172) :|: TRUE f1764_0_random_Store(EOS(STATIC_1764(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172) -> f1781_0_random_FieldAccess(EOS(STATIC_1781(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172) :|: TRUE f1781_0_random_FieldAccess(EOS(STATIC_1781(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172) -> f1787_0_random_ConstantStackPush(EOS(STATIC_1787(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172, i590) :|: TRUE f1787_0_random_ConstantStackPush(EOS(STATIC_1787(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172, i590) -> f1792_0_random_IntArithmetic(EOS(STATIC_1792(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172, i590, 1) :|: TRUE f1792_0_random_IntArithmetic(EOS(STATIC_1792(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172, i590, matching1) -> f1797_0_random_FieldAccess(EOS(STATIC_1797(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172, i590 + 1) :|: i590 > 0 && matching1 = 1 f1797_0_random_FieldAccess(EOS(STATIC_1797(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172, i1068) -> f1801_0_random_Load(EOS(STATIC_1801(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172) :|: TRUE f1801_0_random_Load(EOS(STATIC_1801(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172) -> f1810_0_random_InvokeMethod(EOS(STATIC_1810(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, o172) :|: TRUE f1810_0_random_InvokeMethod(EOS(STATIC_1810(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o184sub)) -> f1818_0_random_InvokeMethod(EOS(STATIC_1818(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o184sub)) :|: TRUE f1818_0_random_InvokeMethod(EOS(STATIC_1818(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o185sub)) -> f1824_0_random_InvokeMethod(EOS(STATIC_1824(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o185sub)) :|: TRUE f1824_0_random_InvokeMethod(EOS(STATIC_1824(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o185sub)) -> f1834_0_length_Load(EOS(STATIC_1834(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o185sub)) :|: TRUE f1834_0_length_Load(EOS(STATIC_1834(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o185sub)) -> f1901_0_length_FieldAccess(EOS(STATIC_1901(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(o185sub)) :|: TRUE f1901_0_length_FieldAccess(EOS(STATIC_1901(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(java.lang.String(EOC, i1141))) -> f1908_0_length_FieldAccess(EOS(STATIC_1908(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(java.lang.String(EOC, i1141))) :|: i1141 >= 0 f1908_0_length_FieldAccess(EOS(STATIC_1908(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, java.lang.Object(java.lang.String(EOC, i1141))) -> f1916_0_length_Return(EOS(STATIC_1916(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) :|: TRUE f1916_0_length_Return(EOS(STATIC_1916(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) -> f2108_0_random_Return(EOS(STATIC_2108(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) :|: TRUE f2108_0_random_Return(EOS(STATIC_2108(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) -> f2185_0_main_Store(EOS(STATIC_2185(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) :|: TRUE f2185_0_main_Store(EOS(STATIC_2185(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) -> f2218_0_main_ConstantStackPush(EOS(STATIC_2218(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) :|: TRUE f2218_0_main_ConstantStackPush(EOS(STATIC_2218(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141) -> f2240_0_main_Load(EOS(STATIC_2240(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141, 3) :|: TRUE f2240_0_main_Load(EOS(STATIC_2240(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i1141, matching1) -> f2264_0_main_IntArithmetic(EOS(STATIC_2264(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i457, i738, i1141, 3, i456) :|: TRUE && matching1 = 3 f2264_0_main_IntArithmetic(EOS(STATIC_2264(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i457, i738, i1141, matching1, i456) -> f2273_0_main_ConstantStackPush(EOS(STATIC_2273(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i457, i738, i1141, 3 * i456) :|: TRUE && matching1 = 3 f2273_0_main_ConstantStackPush(EOS(STATIC_2273(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i457, i738, i1141, i1278) -> f2292_0_main_Load(EOS(STATIC_2292(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i457, i738, i1141, i1278, 2) :|: TRUE f2292_0_main_Load(EOS(STATIC_2292(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i21, i457, i738, i1141, i1278, matching1) -> f2344_0_main_IntArithmetic(EOS(STATIC_2344(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1278, 2, i21) :|: TRUE && matching1 = 2 f2344_0_main_IntArithmetic(EOS(STATIC_2344(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1278, matching1, i21) -> f2365_0_main_IntArithmetic(EOS(STATIC_2365(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1278, 2 * i21) :|: TRUE && matching1 = 2 f2365_0_main_IntArithmetic(EOS(STATIC_2365(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1278, i1373) -> f2380_0_main_ConstantStackPush(EOS(STATIC_2380(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1278 - i1373) :|: i1278 >= 0 && i1373 >= 0 f2380_0_main_ConstantStackPush(EOS(STATIC_2380(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399) -> f2398_0_main_Load(EOS(STATIC_2398(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, 3) :|: TRUE f2398_0_main_Load(EOS(STATIC_2398(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, matching1) -> f2418_0_main_IntArithmetic(EOS(STATIC_2418(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, 3, i1141) :|: TRUE && matching1 = 3 f2418_0_main_IntArithmetic(EOS(STATIC_2418(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, matching1, i1141) -> f2437_0_main_ConstantStackPush(EOS(STATIC_2437(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, 3 * i1141) :|: TRUE && matching1 = 3 f2437_0_main_ConstantStackPush(EOS(STATIC_2437(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446) -> f2448_0_main_Load(EOS(STATIC_2448(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446, 2) :|: TRUE f2448_0_main_Load(EOS(STATIC_2448(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446, matching1) -> f2462_0_main_IntArithmetic(EOS(STATIC_2462(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446, 2, i738) :|: TRUE && matching1 = 2 f2462_0_main_IntArithmetic(EOS(STATIC_2462(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446, matching1, i738) -> f2482_0_main_IntArithmetic(EOS(STATIC_2482(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446, 2 * i738) :|: TRUE && matching1 = 2 f2482_0_main_IntArithmetic(EOS(STATIC_2482(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446, i1484) -> f2508_0_main_LT(EOS(STATIC_2508(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1446 - i1484) :|: i1446 >= 0 && i1484 >= 0 f2508_0_main_LT(EOS(STATIC_2508(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1508) -> f2740_0_main_LT(EOS(STATIC_2740(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1508) :|: i1399 < i1508 f2740_0_main_LT(EOS(STATIC_2740(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141, i1399, i1508) -> f2781_0_main_Load(EOS(STATIC_2781(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141) :|: i1399 < i1508 f2781_0_main_Load(EOS(STATIC_2781(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i738, i1141) -> f2831_0_main_Store(EOS(STATIC_2831(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i1141, i738) :|: TRUE f2831_0_main_Store(EOS(STATIC_2831(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i457, i1141, i738) -> f2849_0_main_Load(EOS(STATIC_2849(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i457, i1141) :|: TRUE f2849_0_main_Load(EOS(STATIC_2849(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i457, i1141) -> f2885_0_main_Store(EOS(STATIC_2885(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i457, i1141) :|: TRUE f2885_0_main_Store(EOS(STATIC_2885(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i457, i1141) -> f2938_0_main_Load(EOS(STATIC_2938(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457) :|: TRUE f2938_0_main_Load(EOS(STATIC_2938(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457) -> f2996_0_main_ConstantStackPush(EOS(STATIC_2996(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457) :|: TRUE f2996_0_main_ConstantStackPush(EOS(STATIC_2996(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457) -> f3111_0_main_Load(EOS(STATIC_3111(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, 3) :|: TRUE f3111_0_main_Load(EOS(STATIC_3111(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, matching1) -> f3113_0_main_IntArithmetic(EOS(STATIC_3113(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, 3, i1141) :|: TRUE && matching1 = 3 f3113_0_main_IntArithmetic(EOS(STATIC_3113(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, matching1, i1141) -> f3115_0_main_ConstantStackPush(EOS(STATIC_3115(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, 3 * i1141) :|: TRUE && matching1 = 3 f3115_0_main_ConstantStackPush(EOS(STATIC_3115(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783) -> f3124_0_main_Load(EOS(STATIC_3124(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783, 2) :|: TRUE f3124_0_main_Load(EOS(STATIC_3124(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783, matching1) -> f3131_0_main_IntArithmetic(EOS(STATIC_3131(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783, 2, i738) :|: TRUE && matching1 = 2 f3131_0_main_IntArithmetic(EOS(STATIC_3131(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783, matching1, i738) -> f3133_0_main_IntArithmetic(EOS(STATIC_3133(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783, 2 * i738) :|: TRUE && matching1 = 2 f3133_0_main_IntArithmetic(EOS(STATIC_3133(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783, i1811) -> f3137_0_main_IntArithmetic(EOS(STATIC_3137(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1783 - i1811) :|: i1783 >= 0 && i1811 >= 0 f3137_0_main_IntArithmetic(EOS(STATIC_3137(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457, i1821) -> f3140_0_main_Store(EOS(STATIC_3140(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i457 - i1821) :|: i457 >= 0 f3140_0_main_Store(EOS(STATIC_3140(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i1831) -> f3142_0_main_JMP(EOS(STATIC_3142(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i1831) :|: TRUE f3142_0_main_JMP(EOS(STATIC_3142(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i1831) -> f3180_0_main_Load(EOS(STATIC_3180(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i1831) :|: TRUE f3180_0_main_Load(EOS(STATIC_3180(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i1831) -> f3181_0_main_Load(EOS(STATIC_3181(java.lang.Object(ARRAY(i454)), i1068)), java.lang.Object(ARRAY(i454)), i738, i1141, i1831) :|: TRUE f3181_0_main_Load(EOS(STATIC_3181(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1881) -> f3231_0_main_LT(EOS(STATIC_3231(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1881, i1881) :|: TRUE f3231_0_main_LT(EOS(STATIC_3231(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1936) -> f3258_0_main_LT(EOS(STATIC_3258(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1936) :|: TRUE f3258_0_main_LT(EOS(STATIC_3258(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1936) -> f3271_0_main_InvokeMethod(EOS(STATIC_3271(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936) :|: i1936 >= 0 f3271_0_main_InvokeMethod(EOS(STATIC_3271(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936) -> f3390_0_random_FieldAccess(EOS(STATIC_3390(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936) :|: TRUE f3390_0_random_FieldAccess(EOS(STATIC_3390(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936) -> f3404_0_random_FieldAccess(EOS(STATIC_3404(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1878) :|: TRUE f3404_0_random_FieldAccess(EOS(STATIC_3404(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1878) -> f3433_0_random_ArrayLength(EOS(STATIC_3433(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1878, java.lang.Object(ARRAY(i1877))) :|: TRUE f3433_0_random_ArrayLength(EOS(STATIC_3433(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1878, java.lang.Object(ARRAY(i1877))) -> f3518_0_random_LT(EOS(STATIC_3518(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1878, i1877) :|: i1877 >= 0 f3518_0_random_LT(EOS(STATIC_3518(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1878, i1877) -> f1303_0_random_LT(EOS(STATIC_1303(java.lang.Object(ARRAY(i1877)), i1878)), java.lang.Object(ARRAY(i1877)), i1879, i1880, i1936, i1878, i1877) :|: TRUE f1303_0_random_LT(EOS(STATIC_1303(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i455, i454) -> f1323_0_random_LT(EOS(STATIC_1323(java.lang.Object(ARRAY(i454)), i455)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i455, i454) :|: i455 < i454 f1693_0_random_LT(EOS(STATIC_1693(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, i590, i454) -> f1705_0_random_ConstantStackPush(EOS(STATIC_1705(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) :|: i590 >= i454 f1705_0_random_ConstantStackPush(EOS(STATIC_1705(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738) -> f1710_0_random_Return(EOS(STATIC_1710(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, 0) :|: TRUE f1710_0_random_Return(EOS(STATIC_1710(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, matching1) -> f1730_0_main_Store(EOS(STATIC_1730(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, 0) :|: TRUE && matching1 = 0 f1730_0_main_Store(EOS(STATIC_1730(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, matching1) -> f1739_0_main_ConstantStackPush(EOS(STATIC_1739(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, 0) :|: TRUE && matching1 = 0 f1739_0_main_ConstantStackPush(EOS(STATIC_1739(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, matching1) -> f1770_0_main_Load(EOS(STATIC_1770(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, 0, 3) :|: TRUE && matching1 = 0 f1770_0_main_Load(EOS(STATIC_1770(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i456, i457, i738, matching1, matching2) -> f1782_0_main_IntArithmetic(EOS(STATIC_1782(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i457, i738, 0, 3, i456) :|: TRUE && matching1 = 0 && matching2 = 3 f1782_0_main_IntArithmetic(EOS(STATIC_1782(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i457, i738, matching1, matching2, i456) -> f1789_0_main_ConstantStackPush(EOS(STATIC_1789(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i457, i738, 0, 3 * i456) :|: TRUE && matching1 = 0 && matching2 = 3 f1789_0_main_ConstantStackPush(EOS(STATIC_1789(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i457, i738, matching1, i1057) -> f1794_0_main_Load(EOS(STATIC_1794(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i457, i738, 0, i1057, 2) :|: TRUE && matching1 = 0 f1794_0_main_Load(EOS(STATIC_1794(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i21, i457, i738, matching1, i1057, matching2) -> f1798_0_main_IntArithmetic(EOS(STATIC_1798(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1057, 2, i21) :|: TRUE && matching1 = 0 && matching2 = 2 f1798_0_main_IntArithmetic(EOS(STATIC_1798(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1057, matching2, i21) -> f1803_0_main_IntArithmetic(EOS(STATIC_1803(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1057, 2 * i21) :|: TRUE && matching1 = 0 && matching2 = 2 f1803_0_main_IntArithmetic(EOS(STATIC_1803(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1057, i1076) -> f1812_0_main_ConstantStackPush(EOS(STATIC_1812(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1057 - i1076) :|: i1057 >= 0 && i1076 >= 0 && matching1 = 0 f1812_0_main_ConstantStackPush(EOS(STATIC_1812(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095) -> f1822_0_main_Load(EOS(STATIC_1822(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095) :|: TRUE && matching1 = 0 f1822_0_main_Load(EOS(STATIC_1822(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095) -> f1829_0_main_IntArithmetic(EOS(STATIC_1829(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095, 0) :|: TRUE && matching1 = 0 f1829_0_main_IntArithmetic(EOS(STATIC_1829(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095, matching2) -> f1838_0_main_ConstantStackPush(EOS(STATIC_1838(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f1838_0_main_ConstantStackPush(EOS(STATIC_1838(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095, matching2) -> f1881_0_main_Load(EOS(STATIC_1881(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 f1881_0_main_Load(EOS(STATIC_1881(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095, matching2, matching3) -> f1904_0_main_IntArithmetic(EOS(STATIC_1904(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095, 0, 2, i738) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f1904_0_main_IntArithmetic(EOS(STATIC_1904(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095, matching2, matching3, i738) -> f1914_0_main_IntArithmetic(EOS(STATIC_1914(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095, 0, 2 * i738) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f1914_0_main_IntArithmetic(EOS(STATIC_1914(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095, matching2, i1143) -> f1946_0_main_LT(EOS(STATIC_1946(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095, 0 - i1143) :|: i1143 >= 0 && matching1 = 0 && matching2 = 0 f1946_0_main_LT(EOS(STATIC_1946(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095, i1152) -> f2174_0_main_LT(EOS(STATIC_2174(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0, i1095, i1152) :|: i1095 < i1152 && matching1 = 0 f2174_0_main_LT(EOS(STATIC_2174(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1, i1095, i1152) -> f2193_0_main_Load(EOS(STATIC_2193(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, 0) :|: i1095 < i1152 && matching1 = 0 f2193_0_main_Load(EOS(STATIC_2193(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, i738, matching1) -> f2231_0_main_Store(EOS(STATIC_2231(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, 0, i738) :|: TRUE && matching1 = 0 f2231_0_main_Store(EOS(STATIC_2231(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i457, matching1, i738) -> f2261_0_main_Load(EOS(STATIC_2261(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, i457, 0) :|: TRUE && matching1 = 0 f2261_0_main_Load(EOS(STATIC_2261(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, i457, matching1) -> f2270_0_main_Store(EOS(STATIC_2270(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, i457, 0) :|: TRUE && matching1 = 0 f2270_0_main_Store(EOS(STATIC_2270(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, i457, matching1) -> f2282_0_main_Load(EOS(STATIC_2282(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457) :|: TRUE && matching1 = 0 f2282_0_main_Load(EOS(STATIC_2282(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457) -> f2310_0_main_ConstantStackPush(EOS(STATIC_2310(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457) :|: TRUE && matching1 = 0 f2310_0_main_ConstantStackPush(EOS(STATIC_2310(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457) -> f2357_0_main_Load(EOS(STATIC_2357(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457) :|: TRUE && matching1 = 0 f2357_0_main_Load(EOS(STATIC_2357(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457) -> f2370_0_main_IntArithmetic(EOS(STATIC_2370(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457, 0) :|: TRUE && matching1 = 0 f2370_0_main_IntArithmetic(EOS(STATIC_2370(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457, matching2) -> f2391_0_main_ConstantStackPush(EOS(STATIC_2391(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f2391_0_main_ConstantStackPush(EOS(STATIC_2391(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457, matching2) -> f2411_0_main_Load(EOS(STATIC_2411(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 f2411_0_main_Load(EOS(STATIC_2411(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457, matching2, matching3) -> f2434_0_main_IntArithmetic(EOS(STATIC_2434(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457, 0, 2, i738) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f2434_0_main_IntArithmetic(EOS(STATIC_2434(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457, matching2, matching3, i738) -> f2445_0_main_IntArithmetic(EOS(STATIC_2445(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457, 0, 2 * i738) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f2445_0_main_IntArithmetic(EOS(STATIC_2445(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457, matching2, i1453) -> f2458_0_main_IntArithmetic(EOS(STATIC_2458(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457, 0 - i1453) :|: i1453 >= 0 && matching1 = 0 && matching2 = 0 f2458_0_main_IntArithmetic(EOS(STATIC_2458(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i457, i1458) -> f2471_0_main_Store(EOS(STATIC_2471(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i457 - i1458) :|: i457 >= 0 && i1458 <= 0 && matching1 = 0 f2471_0_main_Store(EOS(STATIC_2471(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i1463) -> f2488_0_main_JMP(EOS(STATIC_2488(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i1463) :|: TRUE && matching1 = 0 f2488_0_main_JMP(EOS(STATIC_2488(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i1463) -> f2681_0_main_Load(EOS(STATIC_2681(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i1463) :|: TRUE && matching1 = 0 f2681_0_main_Load(EOS(STATIC_2681(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, matching1, i1463) -> f2682_0_main_Load(EOS(STATIC_2682(java.lang.Object(ARRAY(i454)), i590)), java.lang.Object(ARRAY(i454)), i738, 0, i1463) :|: TRUE && matching1 = 0 f2682_0_main_Load(EOS(STATIC_2682(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545) -> f2763_0_main_LT(EOS(STATIC_2763(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1545) :|: TRUE f2763_0_main_LT(EOS(STATIC_2763(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1545) -> f2821_0_main_InvokeMethod(EOS(STATIC_2821(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545) :|: i1545 >= 0 f2821_0_main_InvokeMethod(EOS(STATIC_2821(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545) -> f2833_0_random_FieldAccess(EOS(STATIC_2833(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545) :|: TRUE f2833_0_random_FieldAccess(EOS(STATIC_2833(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545) -> f2932_0_random_FieldAccess(EOS(STATIC_2932(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1542) :|: TRUE f2932_0_random_FieldAccess(EOS(STATIC_2932(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1542) -> f2992_0_random_ArrayLength(EOS(STATIC_2992(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1542, java.lang.Object(ARRAY(i1541))) :|: TRUE f2992_0_random_ArrayLength(EOS(STATIC_2992(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1542, java.lang.Object(ARRAY(i1541))) -> f3108_0_random_LT(EOS(STATIC_3108(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1542, i1541) :|: i1541 >= 0 f3108_0_random_LT(EOS(STATIC_3108(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1542, i1541) -> f1303_0_random_LT(EOS(STATIC_1303(java.lang.Object(ARRAY(i1541)), i1542)), java.lang.Object(ARRAY(i1541)), i1543, i1544, i1545, i1542, i1541) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1323_0_random_LT(EOS(STATIC_1323(java.lang.Object(ARRAY(i454:0)), i455:0)), java.lang.Object(ARRAY(i454:0)), i21:0, i456:0, i457:0, i455:0, i454:0) -> f1323_0_random_LT(EOS(STATIC_1323(java.lang.Object(ARRAY(i454:0)), i455:0 + 2)), java.lang.Object(ARRAY(i454:0)), i738:0, i1141:0, i457:0 - (3 * i1141:0 - 2 * i738:0), i455:0 + 2, i454:0) :|: i455:0 + 1 < i454:0 && i455:0 + 2 < i454:0 && i455:0 > 0 && i738:0 > -1 && i454:0 > -1 && i1141:0 > -1 && 2 * i21:0 >= 0 && 3 * i456:0 >= 0 && 2 * i738:0 >= 0 && 3 * i1141:0 >= 0 && 3 * i456:0 - 2 * i21:0 < 3 * i1141:0 - 2 * i738:0 && i457:0 > -1 && i457:0 - (3 * i1141:0 - 2 * i738:0) >= 0 Finished conversion. Obtained 1 rules.P rules: f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i21:0, i456:0, i457:0, i455:0, i454:0, i454:0, i455:0, i454:0) -> f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i738:0, i1141:0, i457:0 - (3 * i1141:0 - 2 * i738:0), i455:0 + 2, i454:0, i454:0, i455:0 + 2, i454:0) :|: i455:0 + 2 < i454:0 && i455:0 + 1 < i454:0 && i455:0 > 0 && i738:0 > -1 && i454:0 > -1 && i1141:0 > -1 && 2 * i21:0 >= 0 && 3 * i456:0 >= 0 && 2 * i738:0 >= 0 && 3 * i1141:0 >= 0 && 3 * i456:0 - 2 * i21:0 < 3 * i1141:0 - 2 * i738:0 && i457:0 - (3 * i1141:0 - 2 * i738:0) >= 0 && i457:0 > -1 ---------------------------------------- (8) Obligation: Rules: f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i21:0, i456:0, i457:0, i455:0, i454:0, i454:0, i455:0, i454:0) -> f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i738:0, i1141:0, i457:0 - (3 * i1141:0 - 2 * i738:0), i455:0 + 2, i454:0, i454:0, i455:0 + 2, i454:0) :|: i455:0 + 2 < i454:0 && i455:0 + 1 < i454:0 && i455:0 > 0 && i738:0 > -1 && i454:0 > -1 && i1141:0 > -1 && 2 * i21:0 >= 0 && 3 * i456:0 >= 0 && 2 * i738:0 >= 0 && 3 * i1141:0 >= 0 && 3 * i456:0 - 2 * i21:0 < 3 * i1141:0 - 2 * i738:0 && i457:0 - (3 * i1141:0 - 2 * i738:0) >= 0 && i457:0 > -1 ---------------------------------------- (9) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (10) Obligation: Rules: f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i21:0, i456:0, i457:0, i455:0, i454:0, i454:0, i455:0, i454:0) -> f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i738:0, i1141:0, arith, arith1, i454:0, i454:0, arith1, i454:0) :|: i455:0 + 2 < i454:0 && i455:0 + 1 < i454:0 && i455:0 > 0 && i738:0 > -1 && i454:0 > -1 && i1141:0 > -1 && 2 * i21:0 >= 0 && 3 * i456:0 >= 0 && 2 * i738:0 >= 0 && 3 * i1141:0 >= 0 && 3 * i456:0 - 2 * i21:0 < 3 * i1141:0 - 2 * i738:0 && i457:0 - (3 * i1141:0 - 2 * i738:0) >= 0 && i457:0 > -1 && arith = i457:0 - (3 * i1141:0 - 2 * i738:0) && arith1 = i455:0 + 2 && arith1 = i455:0 + 2 ---------------------------------------- (11) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i21:0, i456:0, i457:0, i455:0, i454:0, i454:0, i455:0, i454:0) -> f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i738:0, i1141:0, arith, arith1, i454:0, i454:0, arith1, i454:0) :|: i455:0 + 2 < i454:0 && i455:0 + 1 < i454:0 && i455:0 > 0 && i738:0 > -1 && i454:0 > -1 && i1141:0 > -1 && 2 * i21:0 >= 0 && 3 * i456:0 >= 0 && 2 * i738:0 >= 0 && 3 * i1141:0 >= 0 && 3 * i456:0 - 2 * i21:0 < 3 * i1141:0 - 2 * i738:0 && i457:0 - (3 * i1141:0 - 2 * i738:0) >= 0 && i457:0 > -1 && arith = i457:0 - (3 * i1141:0 - 2 * i738:0) && arith1 = i455:0 + 2 && arith1 = i455:0 + 2 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (12) Obligation: Termination digraph: Nodes: (1) f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i21:0, i456:0, i457:0, i455:0, i454:0, i454:0, i455:0, i454:0) -> f1323_0_random_LT(java.lang.Object(ARRAY(i454:0)), i738:0, i1141:0, arith, arith1, i454:0, i454:0, arith1, i454:0) :|: i455:0 + 2 < i454:0 && i455:0 + 1 < i454:0 && i455:0 > 0 && i738:0 > -1 && i454:0 > -1 && i1141:0 > -1 && 2 * i21:0 >= 0 && 3 * i456:0 >= 0 && 2 * i738:0 >= 0 && 3 * i1141:0 >= 0 && 3 * i456:0 - 2 * i21:0 < 3 * i1141:0 - 2 * i738:0 && i457:0 - (3 * i1141:0 - 2 * i738:0) >= 0 && i457:0 > -1 && arith = i457:0 - (3 * i1141:0 - 2 * i738:0) && arith1 = i455:0 + 2 && arith1 = i455:0 + 2 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (13) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (14) Obligation: Rules: f1323_0_random_LT(java.lang.Object(ARRAY(i454:0:0)), i21:0:0, i456:0:0, i457:0:0, i455:0:0, i454:0:0, i454:0:0, i455:0:0, i454:0:0) -> f1323_0_random_LT(java.lang.Object(ARRAY(i454:0:0)), i738:0:0, i1141:0:0, i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0), i455:0:0 + 2, i454:0:0, i454:0:0, i455:0:0 + 2, i454:0:0) :|: i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0) >= 0 && i457:0:0 > -1 && 3 * i456:0:0 - 2 * i21:0:0 < 3 * i1141:0:0 - 2 * i738:0:0 && 3 * i1141:0:0 >= 0 && 2 * i738:0:0 >= 0 && 3 * i456:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1141:0:0 > -1 && i454:0:0 > -1 && i738:0:0 > -1 && i455:0:0 > 0 && i455:0:0 + 1 < i454:0:0 && i455:0:0 + 2 < i454:0:0 ---------------------------------------- (15) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1323_0_random_LT(VARIABLE, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER) java.lang.Object(VARIABLE) ARRAY(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (16) Obligation: Rules: f1323_0_random_LT(c, i21:0:0, i456:0:0, i457:0:0, i455:0:0, i454:0:0, i454:0:0, i455:0:0, i454:0:0) -> f1323_0_random_LT(c1, i738:0:0, i1141:0:0, c2, c3, i454:0:0, i454:0:0, c4, i454:0:0) :|: c4 = i455:0:0 + 2 && (c3 = i455:0:0 + 2 && (c2 = i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0) && (c1 = 0 && c = 0))) && (i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0) >= 0 && i457:0:0 > -1 && 3 * i456:0:0 - 2 * i21:0:0 < 3 * i1141:0:0 - 2 * i738:0:0 && 3 * i1141:0:0 >= 0 && 2 * i738:0:0 >= 0 && 3 * i456:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1141:0:0 > -1 && i454:0:0 > -1 && i738:0:0 > -1 && i455:0:0 > 0 && i455:0:0 + 1 < i454:0:0 && i455:0:0 + 2 < i454:0:0) ---------------------------------------- (17) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1323_0_random_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = -3 + c*x + x5 - x7 The following rules are decreasing: f1323_0_random_LT(c, i21:0:0, i456:0:0, i457:0:0, i455:0:0, i454:0:0, i454:0:0, i455:0:0, i454:0:0) -> f1323_0_random_LT(c1, i738:0:0, i1141:0:0, c2, c3, i454:0:0, i454:0:0, c4, i454:0:0) :|: c4 = i455:0:0 + 2 && (c3 = i455:0:0 + 2 && (c2 = i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0) && (c1 = 0 && c = 0))) && (i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0) >= 0 && i457:0:0 > -1 && 3 * i456:0:0 - 2 * i21:0:0 < 3 * i1141:0:0 - 2 * i738:0:0 && 3 * i1141:0:0 >= 0 && 2 * i738:0:0 >= 0 && 3 * i456:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1141:0:0 > -1 && i454:0:0 > -1 && i738:0:0 > -1 && i455:0:0 > 0 && i455:0:0 + 1 < i454:0:0 && i455:0:0 + 2 < i454:0:0) The following rules are bounded: f1323_0_random_LT(c, i21:0:0, i456:0:0, i457:0:0, i455:0:0, i454:0:0, i454:0:0, i455:0:0, i454:0:0) -> f1323_0_random_LT(c1, i738:0:0, i1141:0:0, c2, c3, i454:0:0, i454:0:0, c4, i454:0:0) :|: c4 = i455:0:0 + 2 && (c3 = i455:0:0 + 2 && (c2 = i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0) && (c1 = 0 && c = 0))) && (i457:0:0 - (3 * i1141:0:0 - 2 * i738:0:0) >= 0 && i457:0:0 > -1 && 3 * i456:0:0 - 2 * i21:0:0 < 3 * i1141:0:0 - 2 * i738:0:0 && 3 * i1141:0:0 >= 0 && 2 * i738:0:0 >= 0 && 3 * i456:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1141:0:0 > -1 && i454:0:0 > -1 && i738:0:0 > -1 && i455:0:0 > 0 && i455:0:0 + 1 < i454:0:0 && i455:0:0 + 2 < i454:0:0) ---------------------------------------- (18) YES