/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/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, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 810 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 9 ms] (6) JBCTerminationSCC (7) SCCToIRSProof [SOUND, 390 ms] (8) IRSwT (9) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (10) IRSwT (11) IRSwTTerminationDigraphProof [EQUIVALENT, 67 ms] (12) IRSwT (13) IntTRSCompressionProof [EQUIVALENT, 0 ms] (14) IRSwT (15) TempFilterProof [SOUND, 26 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: f1494_0_random_LT(EOS(STATIC_1494(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i466, i465) -> f1503_0_random_FieldAccess(EOS(STATIC_1503(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468) :|: i466 < i465 f1503_0_random_FieldAccess(EOS(STATIC_1503(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468) -> f1542_0_random_FieldAccess(EOS(STATIC_1542(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(ARRAY(i465))) :|: TRUE f1542_0_random_FieldAccess(EOS(STATIC_1542(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(ARRAY(i465))) -> f1552_0_random_ArrayAccess(EOS(STATIC_1552(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(ARRAY(i465)), i466) :|: TRUE f1552_0_random_ArrayAccess(EOS(STATIC_1552(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(ARRAY(i465)), i466) -> f1556_0_random_ArrayAccess(EOS(STATIC_1556(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(ARRAY(i465)), i466) :|: TRUE f1556_0_random_ArrayAccess(EOS(STATIC_1556(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(ARRAY(i465)), i466) -> f1579_0_random_Store(EOS(STATIC_1579(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95) :|: TRUE f1579_0_random_Store(EOS(STATIC_1579(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95) -> f1590_0_random_FieldAccess(EOS(STATIC_1590(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95) :|: TRUE f1590_0_random_FieldAccess(EOS(STATIC_1590(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95) -> f1592_0_random_ConstantStackPush(EOS(STATIC_1592(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95, i466) :|: TRUE f1592_0_random_ConstantStackPush(EOS(STATIC_1592(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95, i466) -> f1614_0_random_IntArithmetic(EOS(STATIC_1614(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95, i466, 1) :|: TRUE f1614_0_random_IntArithmetic(EOS(STATIC_1614(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95, i466, matching1) -> f1628_0_random_FieldAccess(EOS(STATIC_1628(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95, i466 + 1) :|: i466 > 0 && matching1 = 1 f1628_0_random_FieldAccess(EOS(STATIC_1628(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95, i625) -> f1640_0_random_Load(EOS(STATIC_1640(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95) :|: TRUE f1640_0_random_Load(EOS(STATIC_1640(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95) -> f1659_0_random_InvokeMethod(EOS(STATIC_1659(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, o95) :|: TRUE f1659_0_random_InvokeMethod(EOS(STATIC_1659(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o120sub)) -> f1668_0_random_InvokeMethod(EOS(STATIC_1668(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o120sub)) :|: TRUE f1668_0_random_InvokeMethod(EOS(STATIC_1668(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o121sub)) -> f1671_0_random_InvokeMethod(EOS(STATIC_1671(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o121sub)) :|: TRUE f1671_0_random_InvokeMethod(EOS(STATIC_1671(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o121sub)) -> f1675_0_length_Load(EOS(STATIC_1675(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o121sub)) :|: TRUE f1675_0_length_Load(EOS(STATIC_1675(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o121sub)) -> f1683_0_length_FieldAccess(EOS(STATIC_1683(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(o121sub)) :|: TRUE f1683_0_length_FieldAccess(EOS(STATIC_1683(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(java.lang.String(EOC, i764))) -> f1701_0_length_FieldAccess(EOS(STATIC_1701(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(java.lang.String(EOC, i764))) :|: i764 >= 0 f1701_0_length_FieldAccess(EOS(STATIC_1701(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, java.lang.Object(java.lang.String(EOC, i764))) -> f1718_0_length_Return(EOS(STATIC_1718(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) :|: TRUE f1718_0_length_Return(EOS(STATIC_1718(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) -> f1727_0_random_Return(EOS(STATIC_1727(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) :|: TRUE f1727_0_random_Return(EOS(STATIC_1727(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) -> f1737_0_main_Store(EOS(STATIC_1737(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) :|: TRUE f1737_0_main_Store(EOS(STATIC_1737(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) -> f1740_0_main_InvokeMethod(EOS(STATIC_1740(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) :|: TRUE f1740_0_main_InvokeMethod(EOS(STATIC_1740(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) -> f1782_0_random_FieldAccess(EOS(STATIC_1782(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) :|: TRUE f1782_0_random_FieldAccess(EOS(STATIC_1782(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) -> f1809_0_random_FieldAccess(EOS(STATIC_1809(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625) :|: TRUE f1809_0_random_FieldAccess(EOS(STATIC_1809(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625) -> f1821_0_random_ArrayLength(EOS(STATIC_1821(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, java.lang.Object(ARRAY(i465))) :|: TRUE f1821_0_random_ArrayLength(EOS(STATIC_1821(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, java.lang.Object(ARRAY(i465))) -> f1858_0_random_LT(EOS(STATIC_1858(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, i465) :|: i465 >= 0 f1858_0_random_LT(EOS(STATIC_1858(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, i465) -> f1930_0_random_LT(EOS(STATIC_1930(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, i465) :|: i625 < i465 f1858_0_random_LT(EOS(STATIC_1858(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, i465) -> f1931_0_random_LT(EOS(STATIC_1931(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, i465) :|: i625 >= i465 f1930_0_random_LT(EOS(STATIC_1930(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, i465) -> f1935_0_random_FieldAccess(EOS(STATIC_1935(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) :|: i625 < i465 f1935_0_random_FieldAccess(EOS(STATIC_1935(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) -> f1944_0_random_FieldAccess(EOS(STATIC_1944(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(ARRAY(i465))) :|: TRUE f1944_0_random_FieldAccess(EOS(STATIC_1944(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(ARRAY(i465))) -> f1970_0_random_ArrayAccess(EOS(STATIC_1970(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(ARRAY(i465)), i625) :|: TRUE f1970_0_random_ArrayAccess(EOS(STATIC_1970(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(ARRAY(i465)), i625) -> f2000_0_random_ArrayAccess(EOS(STATIC_2000(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(ARRAY(i465)), i625) :|: TRUE f2000_0_random_ArrayAccess(EOS(STATIC_2000(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(ARRAY(i465)), i625) -> f2016_0_random_Store(EOS(STATIC_2016(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199) :|: TRUE f2016_0_random_Store(EOS(STATIC_2016(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199) -> f2036_0_random_FieldAccess(EOS(STATIC_2036(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199) :|: TRUE f2036_0_random_FieldAccess(EOS(STATIC_2036(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199) -> f2058_0_random_ConstantStackPush(EOS(STATIC_2058(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199, i625) :|: TRUE f2058_0_random_ConstantStackPush(EOS(STATIC_2058(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199, i625) -> f2077_0_random_IntArithmetic(EOS(STATIC_2077(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199, i625, 1) :|: TRUE f2077_0_random_IntArithmetic(EOS(STATIC_2077(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199, i625, matching1) -> f2082_0_random_FieldAccess(EOS(STATIC_2082(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199, i625 + 1) :|: i625 > 0 && matching1 = 1 f2082_0_random_FieldAccess(EOS(STATIC_2082(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199, i1110) -> f2090_0_random_Load(EOS(STATIC_2090(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199) :|: TRUE f2090_0_random_Load(EOS(STATIC_2090(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199) -> f2098_0_random_InvokeMethod(EOS(STATIC_2098(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, o199) :|: TRUE f2098_0_random_InvokeMethod(EOS(STATIC_2098(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o227sub)) -> f2105_0_random_InvokeMethod(EOS(STATIC_2105(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o227sub)) :|: TRUE f2105_0_random_InvokeMethod(EOS(STATIC_2105(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o228sub)) -> f2110_0_random_InvokeMethod(EOS(STATIC_2110(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o228sub)) :|: TRUE f2110_0_random_InvokeMethod(EOS(STATIC_2110(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o228sub)) -> f2119_0_length_Load(EOS(STATIC_2119(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o228sub)) :|: TRUE f2119_0_length_Load(EOS(STATIC_2119(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o228sub)) -> f2142_0_length_FieldAccess(EOS(STATIC_2142(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(o228sub)) :|: TRUE f2142_0_length_FieldAccess(EOS(STATIC_2142(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(java.lang.String(EOC, i1175))) -> f2158_0_length_FieldAccess(EOS(STATIC_2158(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(java.lang.String(EOC, i1175))) :|: i1175 >= 0 f2158_0_length_FieldAccess(EOS(STATIC_2158(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, java.lang.Object(java.lang.String(EOC, i1175))) -> f2172_0_length_Return(EOS(STATIC_2172(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) :|: TRUE f2172_0_length_Return(EOS(STATIC_2172(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) -> f2321_0_random_Return(EOS(STATIC_2321(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) :|: TRUE f2321_0_random_Return(EOS(STATIC_2321(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) -> f2340_0_main_Store(EOS(STATIC_2340(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) :|: TRUE f2340_0_main_Store(EOS(STATIC_2340(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) -> f2438_0_main_ConstantStackPush(EOS(STATIC_2438(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) :|: TRUE f2438_0_main_ConstantStackPush(EOS(STATIC_2438(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175) -> f2448_0_main_Load(EOS(STATIC_2448(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175, 3) :|: TRUE f2448_0_main_Load(EOS(STATIC_2448(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i1175, matching1) -> f2453_0_main_IntArithmetic(EOS(STATIC_2453(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i468, i764, i1175, 3, i467) :|: TRUE && matching1 = 3 f2453_0_main_IntArithmetic(EOS(STATIC_2453(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i468, i764, i1175, matching1, i467) -> f2467_0_main_ConstantStackPush(EOS(STATIC_2467(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i468, i764, i1175, 3 * i467) :|: TRUE && matching1 = 3 f2467_0_main_ConstantStackPush(EOS(STATIC_2467(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i468, i764, i1175, i1313) -> f2495_0_main_Load(EOS(STATIC_2495(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i468, i764, i1175, i1313, 2) :|: TRUE f2495_0_main_Load(EOS(STATIC_2495(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i21, i468, i764, i1175, i1313, matching1) -> f2523_0_main_IntArithmetic(EOS(STATIC_2523(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1313, 2, i21) :|: TRUE && matching1 = 2 f2523_0_main_IntArithmetic(EOS(STATIC_2523(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1313, matching1, i21) -> f2579_0_main_IntArithmetic(EOS(STATIC_2579(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1313, 2 * i21) :|: TRUE && matching1 = 2 f2579_0_main_IntArithmetic(EOS(STATIC_2579(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1313, i1408) -> f2601_0_main_ConstantStackPush(EOS(STATIC_2601(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1313 - i1408) :|: i1313 >= 0 && i1408 >= 0 f2601_0_main_ConstantStackPush(EOS(STATIC_2601(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434) -> f2627_0_main_Load(EOS(STATIC_2627(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, 3) :|: TRUE f2627_0_main_Load(EOS(STATIC_2627(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, matching1) -> f2644_0_main_IntArithmetic(EOS(STATIC_2644(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, 3, i1175) :|: TRUE && matching1 = 3 f2644_0_main_IntArithmetic(EOS(STATIC_2644(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, matching1, i1175) -> f2675_0_main_ConstantStackPush(EOS(STATIC_2675(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, 3 * i1175) :|: TRUE && matching1 = 3 f2675_0_main_ConstantStackPush(EOS(STATIC_2675(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484) -> f2692_0_main_Load(EOS(STATIC_2692(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484, 2) :|: TRUE f2692_0_main_Load(EOS(STATIC_2692(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484, matching1) -> f2697_0_main_IntArithmetic(EOS(STATIC_2697(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484, 2, i764) :|: TRUE && matching1 = 2 f2697_0_main_IntArithmetic(EOS(STATIC_2697(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484, matching1, i764) -> f2715_0_main_IntArithmetic(EOS(STATIC_2715(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484, 2 * i764) :|: TRUE && matching1 = 2 f2715_0_main_IntArithmetic(EOS(STATIC_2715(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484, i1521) -> f2724_0_main_LT(EOS(STATIC_2724(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1484 - i1521) :|: i1484 >= 0 && i1521 >= 0 f2724_0_main_LT(EOS(STATIC_2724(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1545) -> f2829_0_main_LT(EOS(STATIC_2829(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1545) :|: i1434 < i1545 f2829_0_main_LT(EOS(STATIC_2829(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175, i1434, i1545) -> f2864_0_main_Load(EOS(STATIC_2864(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175) :|: i1434 < i1545 f2864_0_main_Load(EOS(STATIC_2864(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i764, i1175) -> f2873_0_main_Store(EOS(STATIC_2873(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i1175, i764) :|: TRUE f2873_0_main_Store(EOS(STATIC_2873(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i468, i1175, i764) -> f2877_0_main_Load(EOS(STATIC_2877(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i468, i1175) :|: TRUE f2877_0_main_Load(EOS(STATIC_2877(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i468, i1175) -> f2880_0_main_Store(EOS(STATIC_2880(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i468, i1175) :|: TRUE f2880_0_main_Store(EOS(STATIC_2880(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i468, i1175) -> f2888_0_main_Load(EOS(STATIC_2888(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468) :|: TRUE f2888_0_main_Load(EOS(STATIC_2888(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468) -> f2929_0_main_ConstantStackPush(EOS(STATIC_2929(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468) :|: TRUE f2929_0_main_ConstantStackPush(EOS(STATIC_2929(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468) -> f2979_0_main_Load(EOS(STATIC_2979(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, 3) :|: TRUE f2979_0_main_Load(EOS(STATIC_2979(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, matching1) -> f2981_0_main_IntArithmetic(EOS(STATIC_2981(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, 3, i1175) :|: TRUE && matching1 = 3 f2981_0_main_IntArithmetic(EOS(STATIC_2981(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, matching1, i1175) -> f2983_0_main_ConstantStackPush(EOS(STATIC_2983(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, 3 * i1175) :|: TRUE && matching1 = 3 f2983_0_main_ConstantStackPush(EOS(STATIC_2983(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771) -> f2988_0_main_Load(EOS(STATIC_2988(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771, 2) :|: TRUE f2988_0_main_Load(EOS(STATIC_2988(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771, matching1) -> f2991_0_main_IntArithmetic(EOS(STATIC_2991(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771, 2, i764) :|: TRUE && matching1 = 2 f2991_0_main_IntArithmetic(EOS(STATIC_2991(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771, matching1, i764) -> f2998_0_main_IntArithmetic(EOS(STATIC_2998(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771, 2 * i764) :|: TRUE && matching1 = 2 f2998_0_main_IntArithmetic(EOS(STATIC_2998(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771, i1799) -> f3000_0_main_IntArithmetic(EOS(STATIC_3000(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1771 - i1799) :|: i1771 >= 0 && i1799 >= 0 f3000_0_main_IntArithmetic(EOS(STATIC_3000(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468, i1809) -> f3026_0_main_Store(EOS(STATIC_3026(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i468 - i1809) :|: i468 >= 0 f3026_0_main_Store(EOS(STATIC_3026(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i1821) -> f3035_0_main_JMP(EOS(STATIC_3035(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i1821) :|: TRUE f3035_0_main_JMP(EOS(STATIC_3035(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i1821) -> f3078_0_main_Load(EOS(STATIC_3078(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i1821) :|: TRUE f3078_0_main_Load(EOS(STATIC_3078(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i1821) -> f3079_0_main_Load(EOS(STATIC_3079(java.lang.Object(ARRAY(i465)), i1110)), java.lang.Object(ARRAY(i465)), i764, i1175, i1821) :|: TRUE f3079_0_main_Load(EOS(STATIC_3079(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1868) -> f3151_0_main_LT(EOS(STATIC_3151(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1868, i1868) :|: TRUE f3151_0_main_LT(EOS(STATIC_3151(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1930) -> f3161_0_main_LT(EOS(STATIC_3161(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1930) :|: TRUE f3161_0_main_LT(EOS(STATIC_3161(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1930) -> f3185_0_main_InvokeMethod(EOS(STATIC_3185(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930) :|: i1930 >= 0 f3185_0_main_InvokeMethod(EOS(STATIC_3185(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930) -> f3263_0_random_FieldAccess(EOS(STATIC_3263(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930) :|: TRUE f3263_0_random_FieldAccess(EOS(STATIC_3263(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930) -> f3272_0_random_FieldAccess(EOS(STATIC_3272(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1865) :|: TRUE f3272_0_random_FieldAccess(EOS(STATIC_3272(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1865) -> f3274_0_random_ArrayLength(EOS(STATIC_3274(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1865, java.lang.Object(ARRAY(i1864))) :|: TRUE f3274_0_random_ArrayLength(EOS(STATIC_3274(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1865, java.lang.Object(ARRAY(i1864))) -> f3335_0_random_LT(EOS(STATIC_3335(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1865, i1864) :|: i1864 >= 0 f3335_0_random_LT(EOS(STATIC_3335(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1865, i1864) -> f1478_0_random_LT(EOS(STATIC_1478(java.lang.Object(ARRAY(i1864)), i1865)), java.lang.Object(ARRAY(i1864)), i1866, i1867, i1930, i1865, i1864) :|: TRUE f1478_0_random_LT(EOS(STATIC_1478(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i466, i465) -> f1494_0_random_LT(EOS(STATIC_1494(java.lang.Object(ARRAY(i465)), i466)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i466, i465) :|: i466 < i465 f1931_0_random_LT(EOS(STATIC_1931(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, i625, i465) -> f1936_0_random_ConstantStackPush(EOS(STATIC_1936(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) :|: i625 >= i465 f1936_0_random_ConstantStackPush(EOS(STATIC_1936(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764) -> f1945_0_random_Return(EOS(STATIC_1945(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, 0) :|: TRUE f1945_0_random_Return(EOS(STATIC_1945(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, matching1) -> f1974_0_main_Store(EOS(STATIC_1974(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, 0) :|: TRUE && matching1 = 0 f1974_0_main_Store(EOS(STATIC_1974(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, matching1) -> f2002_0_main_ConstantStackPush(EOS(STATIC_2002(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, 0) :|: TRUE && matching1 = 0 f2002_0_main_ConstantStackPush(EOS(STATIC_2002(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, matching1) -> f2019_0_main_Load(EOS(STATIC_2019(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, 0, 3) :|: TRUE && matching1 = 0 f2019_0_main_Load(EOS(STATIC_2019(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i467, i468, i764, matching1, matching2) -> f2040_0_main_IntArithmetic(EOS(STATIC_2040(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i468, i764, 0, 3, i467) :|: TRUE && matching1 = 0 && matching2 = 3 f2040_0_main_IntArithmetic(EOS(STATIC_2040(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i468, i764, matching1, matching2, i467) -> f2068_0_main_ConstantStackPush(EOS(STATIC_2068(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i468, i764, 0, 3 * i467) :|: TRUE && matching1 = 0 && matching2 = 3 f2068_0_main_ConstantStackPush(EOS(STATIC_2068(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i468, i764, matching1, i1098) -> f2079_0_main_Load(EOS(STATIC_2079(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i468, i764, 0, i1098, 2) :|: TRUE && matching1 = 0 f2079_0_main_Load(EOS(STATIC_2079(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i21, i468, i764, matching1, i1098, matching2) -> f2083_0_main_IntArithmetic(EOS(STATIC_2083(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1098, 2, i21) :|: TRUE && matching1 = 0 && matching2 = 2 f2083_0_main_IntArithmetic(EOS(STATIC_2083(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1098, matching2, i21) -> f2092_0_main_IntArithmetic(EOS(STATIC_2092(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1098, 2 * i21) :|: TRUE && matching1 = 0 && matching2 = 2 f2092_0_main_IntArithmetic(EOS(STATIC_2092(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1098, i1118) -> f2100_0_main_ConstantStackPush(EOS(STATIC_2100(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1098 - i1118) :|: i1098 >= 0 && i1118 >= 0 && matching1 = 0 f2100_0_main_ConstantStackPush(EOS(STATIC_2100(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137) -> f2107_0_main_Load(EOS(STATIC_2107(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137) :|: TRUE && matching1 = 0 f2107_0_main_Load(EOS(STATIC_2107(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137) -> f2113_0_main_IntArithmetic(EOS(STATIC_2113(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137, 0) :|: TRUE && matching1 = 0 f2113_0_main_IntArithmetic(EOS(STATIC_2113(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137, matching2) -> f2125_0_main_ConstantStackPush(EOS(STATIC_2125(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f2125_0_main_ConstantStackPush(EOS(STATIC_2125(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137, matching2) -> f2139_0_main_Load(EOS(STATIC_2139(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 f2139_0_main_Load(EOS(STATIC_2139(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137, matching2, matching3) -> f2151_0_main_IntArithmetic(EOS(STATIC_2151(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137, 0, 2, i764) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f2151_0_main_IntArithmetic(EOS(STATIC_2151(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137, matching2, matching3, i764) -> f2165_0_main_IntArithmetic(EOS(STATIC_2165(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137, 0, 2 * i764) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f2165_0_main_IntArithmetic(EOS(STATIC_2165(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137, matching2, i1177) -> f2189_0_main_LT(EOS(STATIC_2189(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137, 0 - i1177) :|: i1177 >= 0 && matching1 = 0 && matching2 = 0 f2189_0_main_LT(EOS(STATIC_2189(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137, i1187) -> f2333_0_main_LT(EOS(STATIC_2333(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0, i1137, i1187) :|: i1137 < i1187 && matching1 = 0 f2333_0_main_LT(EOS(STATIC_2333(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1, i1137, i1187) -> f2425_0_main_Load(EOS(STATIC_2425(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, 0) :|: i1137 < i1187 && matching1 = 0 f2425_0_main_Load(EOS(STATIC_2425(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, i764, matching1) -> f2445_0_main_Store(EOS(STATIC_2445(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, 0, i764) :|: TRUE && matching1 = 0 f2445_0_main_Store(EOS(STATIC_2445(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i468, matching1, i764) -> f2451_0_main_Load(EOS(STATIC_2451(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, i468, 0) :|: TRUE && matching1 = 0 f2451_0_main_Load(EOS(STATIC_2451(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, i468, matching1) -> f2461_0_main_Store(EOS(STATIC_2461(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, i468, 0) :|: TRUE && matching1 = 0 f2461_0_main_Store(EOS(STATIC_2461(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, i468, matching1) -> f2484_0_main_Load(EOS(STATIC_2484(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468) :|: TRUE && matching1 = 0 f2484_0_main_Load(EOS(STATIC_2484(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468) -> f2509_0_main_ConstantStackPush(EOS(STATIC_2509(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468) :|: TRUE && matching1 = 0 f2509_0_main_ConstantStackPush(EOS(STATIC_2509(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468) -> f2564_0_main_Load(EOS(STATIC_2564(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468) :|: TRUE && matching1 = 0 f2564_0_main_Load(EOS(STATIC_2564(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468) -> f2584_0_main_IntArithmetic(EOS(STATIC_2584(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468, 0) :|: TRUE && matching1 = 0 f2584_0_main_IntArithmetic(EOS(STATIC_2584(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468, matching2) -> f2614_0_main_ConstantStackPush(EOS(STATIC_2614(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f2614_0_main_ConstantStackPush(EOS(STATIC_2614(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468, matching2) -> f2642_0_main_Load(EOS(STATIC_2642(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 f2642_0_main_Load(EOS(STATIC_2642(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468, matching2, matching3) -> f2671_0_main_IntArithmetic(EOS(STATIC_2671(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468, 0, 2, i764) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f2671_0_main_IntArithmetic(EOS(STATIC_2671(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468, matching2, matching3, i764) -> f2686_0_main_IntArithmetic(EOS(STATIC_2686(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468, 0, 2 * i764) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f2686_0_main_IntArithmetic(EOS(STATIC_2686(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468, matching2, i1492) -> f2696_0_main_IntArithmetic(EOS(STATIC_2696(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468, 0 - i1492) :|: i1492 >= 0 && matching1 = 0 && matching2 = 0 f2696_0_main_IntArithmetic(EOS(STATIC_2696(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i468, i1496) -> f2704_0_main_Store(EOS(STATIC_2704(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i468 - i1496) :|: i468 >= 0 && i1496 <= 0 && matching1 = 0 f2704_0_main_Store(EOS(STATIC_2704(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i1500) -> f2722_0_main_JMP(EOS(STATIC_2722(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i1500) :|: TRUE && matching1 = 0 f2722_0_main_JMP(EOS(STATIC_2722(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i1500) -> f2802_0_main_Load(EOS(STATIC_2802(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i1500) :|: TRUE && matching1 = 0 f2802_0_main_Load(EOS(STATIC_2802(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, matching1, i1500) -> f2803_0_main_Load(EOS(STATIC_2803(java.lang.Object(ARRAY(i465)), i625)), java.lang.Object(ARRAY(i465)), i764, 0, i1500) :|: TRUE && matching1 = 0 f2803_0_main_Load(EOS(STATIC_2803(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569) -> f2843_0_main_LT(EOS(STATIC_2843(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1569) :|: TRUE f2843_0_main_LT(EOS(STATIC_2843(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1569) -> f2871_0_main_InvokeMethod(EOS(STATIC_2871(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569) :|: i1569 >= 0 f2871_0_main_InvokeMethod(EOS(STATIC_2871(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569) -> f2875_0_random_FieldAccess(EOS(STATIC_2875(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569) :|: TRUE f2875_0_random_FieldAccess(EOS(STATIC_2875(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569) -> f2882_0_random_FieldAccess(EOS(STATIC_2882(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1566) :|: TRUE f2882_0_random_FieldAccess(EOS(STATIC_2882(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1566) -> f2922_0_random_ArrayLength(EOS(STATIC_2922(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1566, java.lang.Object(ARRAY(i1565))) :|: TRUE f2922_0_random_ArrayLength(EOS(STATIC_2922(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1566, java.lang.Object(ARRAY(i1565))) -> f2977_0_random_LT(EOS(STATIC_2977(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1566, i1565) :|: i1565 >= 0 f2977_0_random_LT(EOS(STATIC_2977(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1566, i1565) -> f1478_0_random_LT(EOS(STATIC_1478(java.lang.Object(ARRAY(i1565)), i1566)), java.lang.Object(ARRAY(i1565)), i1567, i1568, i1569, i1566, i1565) :|: TRUE Combined rules. Obtained 1 IRulesP rules: f1494_0_random_LT(EOS(STATIC_1494(java.lang.Object(ARRAY(i465:0)), i466:0)), java.lang.Object(ARRAY(i465:0)), i21:0, i467:0, i468:0, i466:0, i465:0) -> f1494_0_random_LT(EOS(STATIC_1494(java.lang.Object(ARRAY(i465:0)), i466:0 + 2)), java.lang.Object(ARRAY(i465:0)), i764:0, i1175:0, i468:0 - (3 * i1175:0 - 2 * i764:0), i466:0 + 2, i465:0) :|: i466:0 + 1 < i465:0 && i466:0 + 2 < i465:0 && i466:0 > 0 && i764:0 > -1 && i465:0 > -1 && i1175:0 > -1 && 2 * i21:0 >= 0 && 3 * i467:0 >= 0 && 2 * i764:0 >= 0 && 3 * i1175:0 >= 0 && 3 * i467:0 - 2 * i21:0 < 3 * i1175:0 - 2 * i764:0 && i468:0 > -1 && i468:0 - (3 * i1175:0 - 2 * i764:0) >= 0 Finished conversion. Obtained 1 rules.P rules: f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i21:0, i467:0, i468:0, i466:0, i465:0, i465:0, i466:0, i465:0) -> f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i764:0, i1175:0, i468:0 - (3 * i1175:0 - 2 * i764:0), i466:0 + 2, i465:0, i465:0, i466:0 + 2, i465:0) :|: i466:0 + 2 < i465:0 && i466:0 + 1 < i465:0 && i466:0 > 0 && i764:0 > -1 && i465:0 > -1 && i1175:0 > -1 && 2 * i21:0 >= 0 && 3 * i467:0 >= 0 && 2 * i764:0 >= 0 && 3 * i1175:0 >= 0 && 3 * i467:0 - 2 * i21:0 < 3 * i1175:0 - 2 * i764:0 && i468:0 - (3 * i1175:0 - 2 * i764:0) >= 0 && i468:0 > -1 ---------------------------------------- (8) Obligation: Rules: f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i21:0, i467:0, i468:0, i466:0, i465:0, i465:0, i466:0, i465:0) -> f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i764:0, i1175:0, i468:0 - (3 * i1175:0 - 2 * i764:0), i466:0 + 2, i465:0, i465:0, i466:0 + 2, i465:0) :|: i466:0 + 2 < i465:0 && i466:0 + 1 < i465:0 && i466:0 > 0 && i764:0 > -1 && i465:0 > -1 && i1175:0 > -1 && 2 * i21:0 >= 0 && 3 * i467:0 >= 0 && 2 * i764:0 >= 0 && 3 * i1175:0 >= 0 && 3 * i467:0 - 2 * i21:0 < 3 * i1175:0 - 2 * i764:0 && i468:0 - (3 * i1175:0 - 2 * i764:0) >= 0 && i468:0 > -1 ---------------------------------------- (9) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (10) Obligation: Rules: f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i21:0, i467:0, i468:0, i466:0, i465:0, i465:0, i466:0, i465:0) -> f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i764:0, i1175:0, arith, arith1, i465:0, i465:0, arith1, i465:0) :|: i466:0 + 2 < i465:0 && i466:0 + 1 < i465:0 && i466:0 > 0 && i764:0 > -1 && i465:0 > -1 && i1175:0 > -1 && 2 * i21:0 >= 0 && 3 * i467:0 >= 0 && 2 * i764:0 >= 0 && 3 * i1175:0 >= 0 && 3 * i467:0 - 2 * i21:0 < 3 * i1175:0 - 2 * i764:0 && i468:0 - (3 * i1175:0 - 2 * i764:0) >= 0 && i468:0 > -1 && arith = i468:0 - (3 * i1175:0 - 2 * i764:0) && arith1 = i466:0 + 2 && arith1 = i466:0 + 2 ---------------------------------------- (11) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i21:0, i467:0, i468:0, i466:0, i465:0, i465:0, i466:0, i465:0) -> f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i764:0, i1175:0, arith, arith1, i465:0, i465:0, arith1, i465:0) :|: i466:0 + 2 < i465:0 && i466:0 + 1 < i465:0 && i466:0 > 0 && i764:0 > -1 && i465:0 > -1 && i1175:0 > -1 && 2 * i21:0 >= 0 && 3 * i467:0 >= 0 && 2 * i764:0 >= 0 && 3 * i1175:0 >= 0 && 3 * i467:0 - 2 * i21:0 < 3 * i1175:0 - 2 * i764:0 && i468:0 - (3 * i1175:0 - 2 * i764:0) >= 0 && i468:0 > -1 && arith = i468:0 - (3 * i1175:0 - 2 * i764:0) && arith1 = i466:0 + 2 && arith1 = i466:0 + 2 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (12) Obligation: Termination digraph: Nodes: (1) f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i21:0, i467:0, i468:0, i466:0, i465:0, i465:0, i466:0, i465:0) -> f1494_0_random_LT(java.lang.Object(ARRAY(i465:0)), i764:0, i1175:0, arith, arith1, i465:0, i465:0, arith1, i465:0) :|: i466:0 + 2 < i465:0 && i466:0 + 1 < i465:0 && i466:0 > 0 && i764:0 > -1 && i465:0 > -1 && i1175:0 > -1 && 2 * i21:0 >= 0 && 3 * i467:0 >= 0 && 2 * i764:0 >= 0 && 3 * i1175:0 >= 0 && 3 * i467:0 - 2 * i21:0 < 3 * i1175:0 - 2 * i764:0 && i468:0 - (3 * i1175:0 - 2 * i764:0) >= 0 && i468:0 > -1 && arith = i468:0 - (3 * i1175:0 - 2 * i764:0) && arith1 = i466:0 + 2 && arith1 = i466:0 + 2 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (13) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (14) Obligation: Rules: f1494_0_random_LT(java.lang.Object(ARRAY(i465:0:0)), i21:0:0, i467:0:0, i468:0:0, i466:0:0, i465:0:0, i465:0:0, i466:0:0, i465:0:0) -> f1494_0_random_LT(java.lang.Object(ARRAY(i465:0:0)), i764:0:0, i1175:0:0, i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0), i466:0:0 + 2, i465:0:0, i465:0:0, i466:0:0 + 2, i465:0:0) :|: i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0) >= 0 && i468:0:0 > -1 && 3 * i467:0:0 - 2 * i21:0:0 < 3 * i1175:0:0 - 2 * i764:0:0 && 3 * i1175:0:0 >= 0 && 2 * i764:0:0 >= 0 && 3 * i467:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1175:0:0 > -1 && i465:0:0 > -1 && i764:0:0 > -1 && i466:0:0 > 0 && i466:0:0 + 1 < i465:0:0 && i466:0:0 + 2 < i465:0:0 ---------------------------------------- (15) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f1494_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: f1494_0_random_LT(c, i21:0:0, i467:0:0, i468:0:0, i466:0:0, i465:0:0, i465:0:0, i466:0:0, i465:0:0) -> f1494_0_random_LT(c1, i764:0:0, i1175:0:0, c2, c3, i465:0:0, i465:0:0, c4, i465:0:0) :|: c4 = i466:0:0 + 2 && (c3 = i466:0:0 + 2 && (c2 = i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0) && (c1 = 0 && c = 0))) && (i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0) >= 0 && i468:0:0 > -1 && 3 * i467:0:0 - 2 * i21:0:0 < 3 * i1175:0:0 - 2 * i764:0:0 && 3 * i1175:0:0 >= 0 && 2 * i764:0:0 >= 0 && 3 * i467:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1175:0:0 > -1 && i465:0:0 > -1 && i764:0:0 > -1 && i466:0:0 > 0 && i466:0:0 + 1 < i465:0:0 && i466:0:0 + 2 < i465:0:0) ---------------------------------------- (17) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f1494_0_random_LT(x, x1, x2, x3, x4, x5, x6, x7, x8)] = -3 + c*x + x5 - x7 The following rules are decreasing: f1494_0_random_LT(c, i21:0:0, i467:0:0, i468:0:0, i466:0:0, i465:0:0, i465:0:0, i466:0:0, i465:0:0) -> f1494_0_random_LT(c1, i764:0:0, i1175:0:0, c2, c3, i465:0:0, i465:0:0, c4, i465:0:0) :|: c4 = i466:0:0 + 2 && (c3 = i466:0:0 + 2 && (c2 = i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0) && (c1 = 0 && c = 0))) && (i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0) >= 0 && i468:0:0 > -1 && 3 * i467:0:0 - 2 * i21:0:0 < 3 * i1175:0:0 - 2 * i764:0:0 && 3 * i1175:0:0 >= 0 && 2 * i764:0:0 >= 0 && 3 * i467:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1175:0:0 > -1 && i465:0:0 > -1 && i764:0:0 > -1 && i466:0:0 > 0 && i466:0:0 + 1 < i465:0:0 && i466:0:0 + 2 < i465:0:0) The following rules are bounded: f1494_0_random_LT(c, i21:0:0, i467:0:0, i468:0:0, i466:0:0, i465:0:0, i465:0:0, i466:0:0, i465:0:0) -> f1494_0_random_LT(c1, i764:0:0, i1175:0:0, c2, c3, i465:0:0, i465:0:0, c4, i465:0:0) :|: c4 = i466:0:0 + 2 && (c3 = i466:0:0 + 2 && (c2 = i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0) && (c1 = 0 && c = 0))) && (i468:0:0 - (3 * i1175:0:0 - 2 * i764:0:0) >= 0 && i468:0:0 > -1 && 3 * i467:0:0 - 2 * i21:0:0 < 3 * i1175:0:0 - 2 * i764:0:0 && 3 * i1175:0:0 >= 0 && 2 * i764:0:0 >= 0 && 3 * i467:0:0 >= 0 && 2 * i21:0:0 >= 0 && i1175:0:0 > -1 && i465:0:0 > -1 && i764:0:0 > -1 && i466:0:0 > 0 && i466:0:0 + 1 < i465:0:0 && i466:0:0 + 2 < i465:0:0) ---------------------------------------- (18) YES