10.67/3.82 YES 10.67/3.83 proof of /export/starexec/sandbox2/benchmark/theBenchmark.jar 10.67/3.83 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.67/3.83 10.67/3.83 10.67/3.83 termination of the given Bare JBC problem could be proven: 10.67/3.83 10.67/3.83 (0) Bare JBC problem 10.67/3.83 (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] 10.67/3.83 (2) JBC problem 10.67/3.83 (3) JBCToGraph [EQUIVALENT, 804 ms] 10.67/3.83 (4) JBCTerminationGraph 10.67/3.83 (5) TerminationGraphToSCCProof [SOUND, 9 ms] 10.67/3.83 (6) AND 10.67/3.83 (7) JBCTerminationSCC 10.67/3.83 (8) SCCToIRSProof [SOUND, 486 ms] 10.67/3.83 (9) IRSwT 10.67/3.83 (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 10.67/3.83 (11) IRSwT 10.67/3.83 (12) IRSwTTerminationDigraphProof [EQUIVALENT, 96 ms] 10.67/3.83 (13) IRSwT 10.67/3.83 (14) IntTRSCompressionProof [EQUIVALENT, 2 ms] 10.67/3.83 (15) IRSwT 10.67/3.83 (16) TempFilterProof [SOUND, 20 ms] 10.67/3.83 (17) IntTRS 10.67/3.83 (18) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 10.67/3.83 (19) YES 10.67/3.83 (20) JBCTerminationSCC 10.67/3.83 (21) SCCToIRSProof [SOUND, 287 ms] 10.67/3.83 (22) IRSwT 10.67/3.83 (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 10.67/3.83 (24) IRSwT 10.67/3.83 (25) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 10.67/3.83 (26) TRUE 10.67/3.83 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (0) 10.67/3.83 Obligation: 10.67/3.83 need to prove termination of the following program: 10.67/3.83 public class Et6 { 10.67/3.83 public static void main(String[] args) { 10.67/3.83 Random.args = args; 10.67/3.83 int a = Random.random(); 10.67/3.83 int b = Random.random(); 10.67/3.83 int c = Random.random(); 10.67/3.83 while (c >= 0) { 10.67/3.83 int ap = Random.random(); 10.67/3.83 int bp = Random.random(); 10.67/3.83 if ( 3*b - 2*a >= 3*bp - 2*ap) break; 10.67/3.83 a = ap; 10.67/3.83 b = bp; 10.67/3.83 c = c - (3*b-2*a); 10.67/3.83 } 10.67/3.83 } 10.67/3.83 } 10.67/3.83 10.67/3.83 10.67/3.83 10.67/3.83 public class Random { 10.67/3.83 static String[] args; 10.67/3.83 static int index = 0; 10.67/3.83 10.67/3.83 public static int random() { 10.67/3.83 if (index >= args.length) 10.67/3.83 return 0; 10.67/3.83 10.67/3.83 String string = args[index]; 10.67/3.83 index++; 10.67/3.83 return string.length(); 10.67/3.83 } 10.67/3.83 } 10.67/3.83 10.67/3.83 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (1) BareJBCToJBCProof (EQUIVALENT) 10.67/3.83 initialized classpath 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (2) 10.67/3.83 Obligation: 10.67/3.83 need to prove termination of the following program: 10.67/3.83 public class Et6 { 10.67/3.83 public static void main(String[] args) { 10.67/3.83 Random.args = args; 10.67/3.83 int a = Random.random(); 10.67/3.83 int b = Random.random(); 10.67/3.83 int c = Random.random(); 10.67/3.83 while (c >= 0) { 10.67/3.83 int ap = Random.random(); 10.67/3.83 int bp = Random.random(); 10.67/3.83 if ( 3*b - 2*a >= 3*bp - 2*ap) break; 10.67/3.83 a = ap; 10.67/3.83 b = bp; 10.67/3.83 c = c - (3*b-2*a); 10.67/3.83 } 10.67/3.83 } 10.67/3.83 } 10.67/3.83 10.67/3.83 10.67/3.83 10.67/3.83 public class Random { 10.67/3.83 static String[] args; 10.67/3.83 static int index = 0; 10.67/3.83 10.67/3.83 public static int random() { 10.67/3.83 if (index >= args.length) 10.67/3.83 return 0; 10.67/3.83 10.67/3.83 String string = args[index]; 10.67/3.83 index++; 10.67/3.83 return string.length(); 10.67/3.83 } 10.67/3.83 } 10.67/3.83 10.67/3.83 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (3) JBCToGraph (EQUIVALENT) 10.67/3.83 Constructed TerminationGraph. 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (4) 10.67/3.83 Obligation: 10.67/3.83 Termination Graph based on JBC Program: 10.67/3.83 Et6.main([Ljava/lang/String;)V: Graph of 657 nodes with 2 SCCs. 10.67/3.83 10.67/3.83 10.67/3.83 10.67/3.83 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (5) TerminationGraphToSCCProof (SOUND) 10.67/3.83 Splitted TerminationGraph to 2 SCCss. 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (6) 10.67/3.83 Complex Obligation (AND) 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (7) 10.67/3.83 Obligation: 10.67/3.83 SCC of termination graph based on JBC Program. 10.67/3.83 SCC contains nodes from the following methods: Et6.main([Ljava/lang/String;)V 10.67/3.83 SCC calls the following helper methods: 10.67/3.83 Performed SCC analyses: 10.67/3.83 *Used field analysis yielded the following read fields: 10.67/3.83 *java.lang.String: [count] 10.67/3.83 *Marker field analysis yielded the following relations that could be markers: 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (8) SCCToIRSProof (SOUND) 10.67/3.83 Transformed FIGraph SCCs to intTRSs. Log: 10.67/3.83 Generated rules. Obtained 124 IRulesP rules: 10.67/3.83 f2792_0_main_Load(EOS(STATIC_2792(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1463) -> f2807_0_main_LT(EOS(STATIC_2807(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1463, i1463) :|: TRUE 10.67/3.83 f2807_0_main_LT(EOS(STATIC_2807(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1527) -> f2812_0_main_LT(EOS(STATIC_2812(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1527) :|: TRUE 10.67/3.83 f2812_0_main_LT(EOS(STATIC_2812(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1527) -> f2850_0_main_InvokeMethod(EOS(STATIC_2850(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527) :|: i1527 >= 0 10.67/3.83 f2850_0_main_InvokeMethod(EOS(STATIC_2850(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527) -> f2911_0_random_FieldAccess(EOS(STATIC_2911(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527) :|: TRUE 10.67/3.83 f2911_0_random_FieldAccess(EOS(STATIC_2911(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527) -> f2928_0_random_FieldAccess(EOS(STATIC_2928(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1460) :|: TRUE 10.67/3.83 f2928_0_random_FieldAccess(EOS(STATIC_2928(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1460) -> f2935_0_random_ArrayLength(EOS(STATIC_2935(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1460, java.lang.Object(ARRAY(i1459))) :|: TRUE 10.67/3.83 f2935_0_random_ArrayLength(EOS(STATIC_2935(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1460, java.lang.Object(ARRAY(i1459))) -> f3008_0_random_LT(EOS(STATIC_3008(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1460, i1459) :|: i1459 >= 0 10.67/3.83 f3008_0_random_LT(EOS(STATIC_3008(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1460, i1459) -> f1276_0_random_LT(EOS(STATIC_1276(java.lang.Object(ARRAY(i1459)), i1460)), java.lang.Object(ARRAY(i1459)), i1461, i1462, i1527, i1460, i1459) :|: TRUE 10.67/3.83 f1276_0_random_LT(EOS(STATIC_1276(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i378, i377) -> f1316_0_random_LT(EOS(STATIC_1316(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i378, i377) :|: i378 < i377 10.67/3.83 f1316_0_random_LT(EOS(STATIC_1316(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i378, i377) -> f1334_0_random_FieldAccess(EOS(STATIC_1334(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379) :|: i378 < i377 10.67/3.83 f1334_0_random_FieldAccess(EOS(STATIC_1334(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379) -> f1355_0_random_FieldAccess(EOS(STATIC_1355(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(ARRAY(i377))) :|: TRUE 10.67/3.83 f1355_0_random_FieldAccess(EOS(STATIC_1355(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(ARRAY(i377))) -> f1367_0_random_ArrayAccess(EOS(STATIC_1367(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(ARRAY(i377)), i378) :|: TRUE 10.67/3.83 f1367_0_random_ArrayAccess(EOS(STATIC_1367(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(ARRAY(i377)), i378) -> f1375_0_random_ArrayAccess(EOS(STATIC_1375(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(ARRAY(i377)), i378) :|: TRUE 10.67/3.83 f1375_0_random_ArrayAccess(EOS(STATIC_1375(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(ARRAY(i377)), i378) -> f1383_0_random_Store(EOS(STATIC_1383(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88) :|: TRUE 10.67/3.83 f1383_0_random_Store(EOS(STATIC_1383(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88) -> f1388_0_random_FieldAccess(EOS(STATIC_1388(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88) :|: TRUE 10.67/3.83 f1388_0_random_FieldAccess(EOS(STATIC_1388(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88) -> f1431_0_random_ConstantStackPush(EOS(STATIC_1431(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88, i378) :|: TRUE 10.67/3.83 f1431_0_random_ConstantStackPush(EOS(STATIC_1431(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88, i378) -> f1442_0_random_IntArithmetic(EOS(STATIC_1442(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88, i378, 1) :|: TRUE 10.67/3.83 f1442_0_random_IntArithmetic(EOS(STATIC_1442(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88, i378, matching1) -> f1456_0_random_FieldAccess(EOS(STATIC_1456(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88, i378 + 1) :|: i378 > 0 && matching1 = 1 10.67/3.83 f1456_0_random_FieldAccess(EOS(STATIC_1456(java.lang.Object(ARRAY(i377)), i378)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88, i455) -> f1498_0_random_Load(EOS(STATIC_1498(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88) :|: TRUE 10.67/3.83 f1498_0_random_Load(EOS(STATIC_1498(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88) -> f1509_0_random_InvokeMethod(EOS(STATIC_1509(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, o88) :|: TRUE 10.67/3.83 f1509_0_random_InvokeMethod(EOS(STATIC_1509(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o113sub)) -> f1587_0_random_InvokeMethod(EOS(STATIC_1587(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o113sub)) :|: TRUE 10.67/3.83 f1587_0_random_InvokeMethod(EOS(STATIC_1587(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o114sub)) -> f1600_0_random_InvokeMethod(EOS(STATIC_1600(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o114sub)) :|: TRUE 10.67/3.83 f1600_0_random_InvokeMethod(EOS(STATIC_1600(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o114sub)) -> f1617_0_length_Load(EOS(STATIC_1617(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o114sub)) :|: TRUE 10.67/3.83 f1617_0_length_Load(EOS(STATIC_1617(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o114sub)) -> f1626_0_length_FieldAccess(EOS(STATIC_1626(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(o114sub)) :|: TRUE 10.67/3.83 f1626_0_length_FieldAccess(EOS(STATIC_1626(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(java.lang.String(EOC, i580))) -> f1632_0_length_FieldAccess(EOS(STATIC_1632(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(java.lang.String(EOC, i580))) :|: i580 >= 0 10.67/3.83 f1632_0_length_FieldAccess(EOS(STATIC_1632(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, java.lang.Object(java.lang.String(EOC, i580))) -> f1635_0_length_Return(EOS(STATIC_1635(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) :|: TRUE 10.67/3.83 f1635_0_length_Return(EOS(STATIC_1635(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) -> f1638_0_random_Return(EOS(STATIC_1638(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) :|: TRUE 10.67/3.83 f1638_0_random_Return(EOS(STATIC_1638(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) -> f1642_0_main_Store(EOS(STATIC_1642(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) :|: TRUE 10.67/3.83 f1642_0_main_Store(EOS(STATIC_1642(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) -> f1645_0_main_InvokeMethod(EOS(STATIC_1645(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) :|: TRUE 10.67/3.83 f1645_0_main_InvokeMethod(EOS(STATIC_1645(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) -> f1649_0_random_FieldAccess(EOS(STATIC_1649(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) :|: TRUE 10.67/3.83 f1649_0_random_FieldAccess(EOS(STATIC_1649(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) -> f1655_0_random_FieldAccess(EOS(STATIC_1655(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455) :|: TRUE 10.67/3.83 f1655_0_random_FieldAccess(EOS(STATIC_1655(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455) -> f1659_0_random_ArrayLength(EOS(STATIC_1659(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, java.lang.Object(ARRAY(i377))) :|: TRUE 10.67/3.83 f1659_0_random_ArrayLength(EOS(STATIC_1659(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, java.lang.Object(ARRAY(i377))) -> f1785_0_random_LT(EOS(STATIC_1785(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, i377) :|: i377 >= 0 10.67/3.83 f1785_0_random_LT(EOS(STATIC_1785(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, i377) -> f1816_0_random_LT(EOS(STATIC_1816(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, i377) :|: i455 < i377 10.67/3.83 f1785_0_random_LT(EOS(STATIC_1785(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, i377) -> f1817_0_random_LT(EOS(STATIC_1817(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, i377) :|: i455 >= i377 10.67/3.83 f1816_0_random_LT(EOS(STATIC_1816(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, i377) -> f1841_0_random_FieldAccess(EOS(STATIC_1841(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) :|: i455 < i377 10.67/3.83 f1841_0_random_FieldAccess(EOS(STATIC_1841(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) -> f1871_0_random_FieldAccess(EOS(STATIC_1871(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(ARRAY(i377))) :|: TRUE 10.67/3.83 f1871_0_random_FieldAccess(EOS(STATIC_1871(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(ARRAY(i377))) -> f1894_0_random_ArrayAccess(EOS(STATIC_1894(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(ARRAY(i377)), i455) :|: TRUE 10.67/3.83 f1894_0_random_ArrayAccess(EOS(STATIC_1894(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(ARRAY(i377)), i455) -> f1923_0_random_ArrayAccess(EOS(STATIC_1923(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(ARRAY(i377)), i455) :|: TRUE 10.67/3.83 f1923_0_random_ArrayAccess(EOS(STATIC_1923(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(ARRAY(i377)), i455) -> f1941_0_random_Store(EOS(STATIC_1941(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162) :|: TRUE 10.67/3.83 f1941_0_random_Store(EOS(STATIC_1941(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162) -> f1959_0_random_FieldAccess(EOS(STATIC_1959(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162) :|: TRUE 10.67/3.83 f1959_0_random_FieldAccess(EOS(STATIC_1959(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162) -> f1977_0_random_ConstantStackPush(EOS(STATIC_1977(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162, i455) :|: TRUE 10.67/3.83 f1977_0_random_ConstantStackPush(EOS(STATIC_1977(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162, i455) -> f1995_0_random_IntArithmetic(EOS(STATIC_1995(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162, i455, 1) :|: TRUE 10.67/3.83 f1995_0_random_IntArithmetic(EOS(STATIC_1995(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162, i455, matching1) -> f2008_0_random_FieldAccess(EOS(STATIC_2008(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162, i455 + 1) :|: i455 > 0 && matching1 = 1 10.67/3.83 f2008_0_random_FieldAccess(EOS(STATIC_2008(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162, i799) -> f2018_0_random_Load(EOS(STATIC_2018(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162) :|: TRUE 10.67/3.83 f2018_0_random_Load(EOS(STATIC_2018(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162) -> f2027_0_random_InvokeMethod(EOS(STATIC_2027(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, o162) :|: TRUE 10.67/3.83 f2027_0_random_InvokeMethod(EOS(STATIC_2027(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o182sub)) -> f2033_0_random_InvokeMethod(EOS(STATIC_2033(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o182sub)) :|: TRUE 10.67/3.83 f2033_0_random_InvokeMethod(EOS(STATIC_2033(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o183sub)) -> f2040_0_random_InvokeMethod(EOS(STATIC_2040(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o183sub)) :|: TRUE 10.67/3.83 f2040_0_random_InvokeMethod(EOS(STATIC_2040(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o183sub)) -> f2047_0_length_Load(EOS(STATIC_2047(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o183sub)) :|: TRUE 10.67/3.83 f2047_0_length_Load(EOS(STATIC_2047(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o183sub)) -> f2073_0_length_FieldAccess(EOS(STATIC_2073(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(o183sub)) :|: TRUE 10.67/3.83 f2073_0_length_FieldAccess(EOS(STATIC_2073(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(java.lang.String(EOC, i845))) -> f2089_0_length_FieldAccess(EOS(STATIC_2089(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(java.lang.String(EOC, i845))) :|: i845 >= 0 10.67/3.83 f2089_0_length_FieldAccess(EOS(STATIC_2089(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, java.lang.Object(java.lang.String(EOC, i845))) -> f2100_0_length_Return(EOS(STATIC_2100(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) :|: TRUE 10.67/3.83 f2100_0_length_Return(EOS(STATIC_2100(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) -> f2184_0_random_Return(EOS(STATIC_2184(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) :|: TRUE 10.67/3.83 f2184_0_random_Return(EOS(STATIC_2184(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) -> f2211_0_main_Store(EOS(STATIC_2211(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) :|: TRUE 10.67/3.83 f2211_0_main_Store(EOS(STATIC_2211(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) -> f2233_0_main_ConstantStackPush(EOS(STATIC_2233(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) :|: TRUE 10.67/3.83 f2233_0_main_ConstantStackPush(EOS(STATIC_2233(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845) -> f2245_0_main_Load(EOS(STATIC_2245(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845, 3) :|: TRUE 10.67/3.83 f2245_0_main_Load(EOS(STATIC_2245(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i845, matching1) -> f2261_0_main_IntArithmetic(EOS(STATIC_2261(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i379, i580, i845, 3, i98) :|: TRUE && matching1 = 3 10.67/3.83 f2261_0_main_IntArithmetic(EOS(STATIC_2261(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i379, i580, i845, matching1, i98) -> f2278_0_main_ConstantStackPush(EOS(STATIC_2278(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i379, i580, i845, 3 * i98) :|: TRUE && matching1 = 3 10.67/3.83 f2278_0_main_ConstantStackPush(EOS(STATIC_2278(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i379, i580, i845, i958) -> f2306_0_main_Load(EOS(STATIC_2306(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i379, i580, i845, i958, 2) :|: TRUE 10.67/3.83 f2306_0_main_Load(EOS(STATIC_2306(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i21, i379, i580, i845, i958, matching1) -> f2342_0_main_IntArithmetic(EOS(STATIC_2342(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i958, 2, i21) :|: TRUE && matching1 = 2 10.67/3.83 f2342_0_main_IntArithmetic(EOS(STATIC_2342(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i958, matching1, i21) -> f2374_0_main_IntArithmetic(EOS(STATIC_2374(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i958, 2 * i21) :|: TRUE && matching1 = 2 10.67/3.83 f2374_0_main_IntArithmetic(EOS(STATIC_2374(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i958, i1037) -> f2397_0_main_ConstantStackPush(EOS(STATIC_2397(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i958 - i1037) :|: i958 >= 0 && i1037 >= 0 10.67/3.83 f2397_0_main_ConstantStackPush(EOS(STATIC_2397(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060) -> f2416_0_main_Load(EOS(STATIC_2416(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, 3) :|: TRUE 10.67/3.83 f2416_0_main_Load(EOS(STATIC_2416(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, matching1) -> f2431_0_main_IntArithmetic(EOS(STATIC_2431(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, 3, i845) :|: TRUE && matching1 = 3 10.67/3.83 f2431_0_main_IntArithmetic(EOS(STATIC_2431(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, matching1, i845) -> f2441_0_main_ConstantStackPush(EOS(STATIC_2441(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, 3 * i845) :|: TRUE && matching1 = 3 10.67/3.83 f2441_0_main_ConstantStackPush(EOS(STATIC_2441(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097) -> f2454_0_main_Load(EOS(STATIC_2454(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097, 2) :|: TRUE 10.67/3.83 f2454_0_main_Load(EOS(STATIC_2454(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097, matching1) -> f2471_0_main_IntArithmetic(EOS(STATIC_2471(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097, 2, i580) :|: TRUE && matching1 = 2 10.67/3.83 f2471_0_main_IntArithmetic(EOS(STATIC_2471(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097, matching1, i580) -> f2487_0_main_IntArithmetic(EOS(STATIC_2487(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097, 2 * i580) :|: TRUE && matching1 = 2 10.67/3.83 f2487_0_main_IntArithmetic(EOS(STATIC_2487(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097, i1125) -> f2543_0_main_LT(EOS(STATIC_2543(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1097 - i1125) :|: i1097 >= 0 && i1125 >= 0 10.67/3.83 f2543_0_main_LT(EOS(STATIC_2543(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1150) -> f2582_0_main_LT(EOS(STATIC_2582(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1150) :|: i1060 < i1150 10.67/3.83 f2582_0_main_LT(EOS(STATIC_2582(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845, i1060, i1150) -> f2595_0_main_Load(EOS(STATIC_2595(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845) :|: i1060 < i1150 10.67/3.83 f2595_0_main_Load(EOS(STATIC_2595(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i580, i845) -> f2608_0_main_Store(EOS(STATIC_2608(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i845, i580) :|: TRUE 10.67/3.83 f2608_0_main_Store(EOS(STATIC_2608(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i379, i845, i580) -> f2628_0_main_Load(EOS(STATIC_2628(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i379, i845) :|: TRUE 10.67/3.83 f2628_0_main_Load(EOS(STATIC_2628(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i379, i845) -> f2639_0_main_Store(EOS(STATIC_2639(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i379, i845) :|: TRUE 10.67/3.83 f2639_0_main_Store(EOS(STATIC_2639(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i379, i845) -> f2649_0_main_Load(EOS(STATIC_2649(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379) :|: TRUE 10.67/3.83 f2649_0_main_Load(EOS(STATIC_2649(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379) -> f2657_0_main_ConstantStackPush(EOS(STATIC_2657(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379) :|: TRUE 10.67/3.83 f2657_0_main_ConstantStackPush(EOS(STATIC_2657(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379) -> f2662_0_main_Load(EOS(STATIC_2662(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, 3) :|: TRUE 10.67/3.83 f2662_0_main_Load(EOS(STATIC_2662(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, matching1) -> f2666_0_main_IntArithmetic(EOS(STATIC_2666(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, 3, i845) :|: TRUE && matching1 = 3 10.67/3.83 f2666_0_main_IntArithmetic(EOS(STATIC_2666(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, matching1, i845) -> f2668_0_main_ConstantStackPush(EOS(STATIC_2668(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, 3 * i845) :|: TRUE && matching1 = 3 10.67/3.83 f2668_0_main_ConstantStackPush(EOS(STATIC_2668(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342) -> f2670_0_main_Load(EOS(STATIC_2670(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342, 2) :|: TRUE 10.67/3.83 f2670_0_main_Load(EOS(STATIC_2670(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342, matching1) -> f2676_0_main_IntArithmetic(EOS(STATIC_2676(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342, 2, i580) :|: TRUE && matching1 = 2 10.67/3.83 f2676_0_main_IntArithmetic(EOS(STATIC_2676(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342, matching1, i580) -> f2680_0_main_IntArithmetic(EOS(STATIC_2680(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342, 2 * i580) :|: TRUE && matching1 = 2 10.67/3.83 f2680_0_main_IntArithmetic(EOS(STATIC_2680(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342, i1379) -> f2683_0_main_IntArithmetic(EOS(STATIC_2683(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1342 - i1379) :|: i1342 >= 0 && i1379 >= 0 10.67/3.83 f2683_0_main_IntArithmetic(EOS(STATIC_2683(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379, i1392) -> f2689_0_main_Store(EOS(STATIC_2689(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i379 - i1392) :|: i379 >= 0 10.67/3.83 f2689_0_main_Store(EOS(STATIC_2689(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i1405) -> f2691_0_main_JMP(EOS(STATIC_2691(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i1405) :|: TRUE 10.67/3.83 f2691_0_main_JMP(EOS(STATIC_2691(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i1405) -> f2791_0_main_Load(EOS(STATIC_2791(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i1405) :|: TRUE 10.67/3.83 f2791_0_main_Load(EOS(STATIC_2791(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i1405) -> f2792_0_main_Load(EOS(STATIC_2792(java.lang.Object(ARRAY(i377)), i799)), java.lang.Object(ARRAY(i377)), i580, i845, i1405) :|: TRUE 10.67/3.83 f1817_0_random_LT(EOS(STATIC_1817(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, i455, i377) -> f1850_0_random_ConstantStackPush(EOS(STATIC_1850(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) :|: i455 >= i377 10.67/3.83 f1850_0_random_ConstantStackPush(EOS(STATIC_1850(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580) -> f1873_0_random_Return(EOS(STATIC_1873(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, 0) :|: TRUE 10.67/3.83 f1873_0_random_Return(EOS(STATIC_1873(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, matching1) -> f1895_0_main_Store(EOS(STATIC_1895(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, 0) :|: TRUE && matching1 = 0 10.67/3.83 f1895_0_main_Store(EOS(STATIC_1895(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, matching1) -> f1928_0_main_ConstantStackPush(EOS(STATIC_1928(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, 0) :|: TRUE && matching1 = 0 10.67/3.83 f1928_0_main_ConstantStackPush(EOS(STATIC_1928(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, matching1) -> f1944_0_main_Load(EOS(STATIC_1944(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, 0, 3) :|: TRUE && matching1 = 0 10.67/3.83 f1944_0_main_Load(EOS(STATIC_1944(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i98, i379, i580, matching1, matching2) -> f1962_0_main_IntArithmetic(EOS(STATIC_1962(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i379, i580, 0, 3, i98) :|: TRUE && matching1 = 0 && matching2 = 3 10.67/3.83 f1962_0_main_IntArithmetic(EOS(STATIC_1962(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i379, i580, matching1, matching2, i98) -> f1984_0_main_ConstantStackPush(EOS(STATIC_1984(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i379, i580, 0, 3 * i98) :|: TRUE && matching1 = 0 && matching2 = 3 10.67/3.83 f1984_0_main_ConstantStackPush(EOS(STATIC_1984(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i379, i580, matching1, i789) -> f1999_0_main_Load(EOS(STATIC_1999(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i379, i580, 0, i789, 2) :|: TRUE && matching1 = 0 10.67/3.83 f1999_0_main_Load(EOS(STATIC_1999(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i21, i379, i580, matching1, i789, matching2) -> f2012_0_main_IntArithmetic(EOS(STATIC_2012(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i789, 2, i21) :|: TRUE && matching1 = 0 && matching2 = 2 10.67/3.83 f2012_0_main_IntArithmetic(EOS(STATIC_2012(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i789, matching2, i21) -> f2020_0_main_IntArithmetic(EOS(STATIC_2020(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i789, 2 * i21) :|: TRUE && matching1 = 0 && matching2 = 2 10.67/3.83 f2020_0_main_IntArithmetic(EOS(STATIC_2020(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i789, i802) -> f2029_0_main_ConstantStackPush(EOS(STATIC_2029(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i789 - i802) :|: i789 >= 0 && i802 >= 0 && matching1 = 0 10.67/3.83 f2029_0_main_ConstantStackPush(EOS(STATIC_2029(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819) -> f2036_0_main_Load(EOS(STATIC_2036(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819) :|: TRUE && matching1 = 0 10.67/3.83 f2036_0_main_Load(EOS(STATIC_2036(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819) -> f2045_0_main_IntArithmetic(EOS(STATIC_2045(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819, 0) :|: TRUE && matching1 = 0 10.67/3.83 f2045_0_main_IntArithmetic(EOS(STATIC_2045(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819, matching2) -> f2051_0_main_ConstantStackPush(EOS(STATIC_2051(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f2051_0_main_ConstantStackPush(EOS(STATIC_2051(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819, matching2) -> f2063_0_main_Load(EOS(STATIC_2063(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f2063_0_main_Load(EOS(STATIC_2063(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819, matching2, matching3) -> f2085_0_main_IntArithmetic(EOS(STATIC_2085(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819, 0, 2, i580) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 10.67/3.83 f2085_0_main_IntArithmetic(EOS(STATIC_2085(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819, matching2, matching3, i580) -> f2095_0_main_IntArithmetic(EOS(STATIC_2095(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819, 0, 2 * i580) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 10.67/3.83 f2095_0_main_IntArithmetic(EOS(STATIC_2095(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819, matching2, i847) -> f2111_0_main_LT(EOS(STATIC_2111(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819, 0 - i847) :|: i847 >= 0 && matching1 = 0 && matching2 = 0 10.67/3.83 f2111_0_main_LT(EOS(STATIC_2111(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819, i848) -> f2198_0_main_LT(EOS(STATIC_2198(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0, i819, i848) :|: i819 < i848 && matching1 = 0 10.67/3.83 f2198_0_main_LT(EOS(STATIC_2198(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1, i819, i848) -> f2226_0_main_Load(EOS(STATIC_2226(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, 0) :|: i819 < i848 && matching1 = 0 10.67/3.83 f2226_0_main_Load(EOS(STATIC_2226(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, i580, matching1) -> f2241_0_main_Store(EOS(STATIC_2241(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, 0, i580) :|: TRUE && matching1 = 0 10.67/3.83 f2241_0_main_Store(EOS(STATIC_2241(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i379, matching1, i580) -> f2255_0_main_Load(EOS(STATIC_2255(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, i379, 0) :|: TRUE && matching1 = 0 10.67/3.83 f2255_0_main_Load(EOS(STATIC_2255(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, i379, matching1) -> f2264_0_main_Store(EOS(STATIC_2264(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, i379, 0) :|: TRUE && matching1 = 0 10.67/3.83 f2264_0_main_Store(EOS(STATIC_2264(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, i379, matching1) -> f2293_0_main_Load(EOS(STATIC_2293(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379) :|: TRUE && matching1 = 0 10.67/3.83 f2293_0_main_Load(EOS(STATIC_2293(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379) -> f2313_0_main_ConstantStackPush(EOS(STATIC_2313(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379) :|: TRUE && matching1 = 0 10.67/3.83 f2313_0_main_ConstantStackPush(EOS(STATIC_2313(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379) -> f2354_0_main_Load(EOS(STATIC_2354(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379) :|: TRUE && matching1 = 0 10.67/3.83 f2354_0_main_Load(EOS(STATIC_2354(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379) -> f2385_0_main_IntArithmetic(EOS(STATIC_2385(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379, 0) :|: TRUE && matching1 = 0 10.67/3.83 f2385_0_main_IntArithmetic(EOS(STATIC_2385(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379, matching2) -> f2407_0_main_ConstantStackPush(EOS(STATIC_2407(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f2407_0_main_ConstantStackPush(EOS(STATIC_2407(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379, matching2) -> f2426_0_main_Load(EOS(STATIC_2426(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f2426_0_main_Load(EOS(STATIC_2426(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379, matching2, matching3) -> f2434_0_main_IntArithmetic(EOS(STATIC_2434(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379, 0, 2, i580) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 10.67/3.83 f2434_0_main_IntArithmetic(EOS(STATIC_2434(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379, matching2, matching3, i580) -> f2450_0_main_IntArithmetic(EOS(STATIC_2450(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379, 0, 2 * i580) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 10.67/3.83 f2450_0_main_IntArithmetic(EOS(STATIC_2450(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379, matching2, i1098) -> f2467_0_main_IntArithmetic(EOS(STATIC_2467(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379, 0 - i1098) :|: i1098 >= 0 && matching1 = 0 && matching2 = 0 10.67/3.83 f2467_0_main_IntArithmetic(EOS(STATIC_2467(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i379, i1099) -> f2482_0_main_Store(EOS(STATIC_2482(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i379 - i1099) :|: i379 >= 0 && i1099 <= 0 && matching1 = 0 10.67/3.83 f2482_0_main_Store(EOS(STATIC_2482(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i1101) -> f2491_0_main_JMP(EOS(STATIC_2491(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i1101) :|: TRUE && matching1 = 0 10.67/3.83 f2491_0_main_JMP(EOS(STATIC_2491(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i1101) -> f2570_0_main_Load(EOS(STATIC_2570(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i1101) :|: TRUE && matching1 = 0 10.67/3.83 f2570_0_main_Load(EOS(STATIC_2570(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, matching1, i1101) -> f1007_0_main_Load(EOS(STATIC_1007(java.lang.Object(ARRAY(i377)), i455)), java.lang.Object(ARRAY(i377)), i580, 0, i1101) :|: TRUE && matching1 = 0 10.67/3.83 f1007_0_main_Load(EOS(STATIC_1007(java.lang.Object(ARRAY(i4)), i194)), java.lang.Object(ARRAY(i4)), i21, i98, i264) -> f2792_0_main_Load(EOS(STATIC_2792(java.lang.Object(ARRAY(i4)), i194)), java.lang.Object(ARRAY(i4)), i21, i98, i264) :|: TRUE 10.67/3.83 Combined rules. Obtained 2 IRulesP rules: 10.67/3.83 f2792_0_main_Load(EOS(STATIC_2792(java.lang.Object(ARRAY(i1459:0)), i1460:0)), java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0) -> f2792_0_main_Load(EOS(STATIC_2792(java.lang.Object(ARRAY(i1459:0)), i1460:0 + 2)), java.lang.Object(ARRAY(i1459:0)), i580:0, i845:0, i1463:0 - (3 * i845:0 - 2 * i580:0)) :|: i1460:0 + 1 < i1459:0 && i1460:0 > 0 && i1463:0 > -1 && i1459:0 > -1 && i580:0 > -1 && i845:0 > -1 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 2 * i580:0 >= 0 && 3 * i845:0 >= 0 && 3 * i845:0 - 2 * i580:0 > 3 * i1462:0 - 2 * i1461:0 10.67/3.83 f2792_0_main_Load(EOS(STATIC_2792(java.lang.Object(ARRAY(i1459:0)), i1460:0)), java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0) -> f2792_0_main_Load(EOS(STATIC_2792(java.lang.Object(ARRAY(i1459:0)), i1460:0 + 1)), java.lang.Object(ARRAY(i1459:0)), i580:0, 0, i1463:0 - (0 - 2 * i580:0)) :|: i1463:0 > -1 && i1459:0 > -1 && i1460:0 < i1459:0 && i1460:0 > 0 && i580:0 > -1 && i1460:0 + 1 >= i1459:0 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 2 * i580:0 >= 0 && 3 * i1462:0 - 2 * i1461:0 < 0 - 2 * i580:0 10.67/3.83 Finished conversion. Obtained 2 rules.P rules: 10.67/3.83 f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0, i1459:0, i1460:0, i1459:0) -> f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i580:0, i845:0, i1463:0 - (3 * i845:0 - 2 * i580:0), i1459:0, i1460:0 + 2, i1459:0) :|: i1460:0 > 0 && i1460:0 + 1 < i1459:0 && i1463:0 > -1 && i1459:0 > -1 && i580:0 > -1 && i845:0 > -1 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 2 * i580:0 >= 0 && 3 * i845:0 - 2 * i580:0 > 3 * i1462:0 - 2 * i1461:0 && 3 * i845:0 >= 0 10.67/3.83 f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0, i1459:0, i1460:0, i1459:0) -> f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i580:0, 0, i1463:0 - (0 - 2 * i580:0), i1459:0, i1460:0 + 1, i1459:0) :|: i1459:0 > -1 && i1463:0 > -1 && i1460:0 < i1459:0 && i1460:0 > 0 && i580:0 > -1 && i1460:0 + 1 >= i1459:0 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 3 * i1462:0 - 2 * i1461:0 < 0 - 2 * i580:0 && 2 * i580:0 >= 0 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (9) 10.67/3.83 Obligation: 10.67/3.83 Rules: 10.67/3.83 f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0, i1459:0, i1460:0, i1459:0) -> f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i580:0, i845:0, i1463:0 - (3 * i845:0 - 2 * i580:0), i1459:0, i1460:0 + 2, i1459:0) :|: i1460:0 > 0 && i1460:0 + 1 < i1459:0 && i1463:0 > -1 && i1459:0 > -1 && i580:0 > -1 && i845:0 > -1 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 2 * i580:0 >= 0 && 3 * i845:0 - 2 * i580:0 > 3 * i1462:0 - 2 * i1461:0 && 3 * i845:0 >= 0 10.67/3.83 f2792_0_main_Load(java.lang.Object(ARRAY(x)), x1, x2, x3, x, x4, x) -> f2792_0_main_Load(java.lang.Object(ARRAY(x)), x5, 0, x3 - (0 - 2 * x5), x, x4 + 1, x) :|: x > -1 && x3 > -1 && x4 < x && x4 > 0 && x5 > -1 && x4 + 1 >= x && 2 * x1 >= 0 && 3 * x2 >= 0 && 3 * x2 - 2 * x1 < 0 - 2 * x5 && 2 * x5 >= 0 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (10) IRSFormatTransformerProof (EQUIVALENT) 10.67/3.83 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (11) 10.67/3.83 Obligation: 10.67/3.83 Rules: 10.67/3.83 f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0, i1459:0, i1460:0, i1459:0) -> f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i580:0, i845:0, arith, i1459:0, arith1, i1459:0) :|: i1460:0 > 0 && i1460:0 + 1 < i1459:0 && i1463:0 > -1 && i1459:0 > -1 && i580:0 > -1 && i845:0 > -1 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 2 * i580:0 >= 0 && 3 * i845:0 - 2 * i580:0 > 3 * i1462:0 - 2 * i1461:0 && 3 * i845:0 >= 0 && arith = i1463:0 - (3 * i845:0 - 2 * i580:0) && arith1 = i1460:0 + 2 10.67/3.83 f2792_0_main_Load(java.lang.Object(ARRAY(x6)), x7, x8, x9, x6, x10, x6) -> f2792_0_main_Load(java.lang.Object(ARRAY(x6)), x11, 0, x12, x6, x13, x6) :|: x6 > -1 && x9 > -1 && x10 < x6 && x10 > 0 && x11 > -1 && x10 + 1 >= x6 && 2 * x7 >= 0 && 3 * x8 >= 0 && 3 * x8 - 2 * x7 < 0 - 2 * x11 && 2 * x11 >= 0 && x12 = x9 - (0 - 2 * x11) && x13 = x10 + 1 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (12) IRSwTTerminationDigraphProof (EQUIVALENT) 10.67/3.83 Constructed termination digraph! 10.67/3.83 Nodes: 10.67/3.83 (1) f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0, i1459:0, i1460:0, i1459:0) -> f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i580:0, i845:0, arith, i1459:0, arith1, i1459:0) :|: i1460:0 > 0 && i1460:0 + 1 < i1459:0 && i1463:0 > -1 && i1459:0 > -1 && i580:0 > -1 && i845:0 > -1 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 2 * i580:0 >= 0 && 3 * i845:0 - 2 * i580:0 > 3 * i1462:0 - 2 * i1461:0 && 3 * i845:0 >= 0 && arith = i1463:0 - (3 * i845:0 - 2 * i580:0) && arith1 = i1460:0 + 2 10.67/3.83 (2) f2792_0_main_Load(java.lang.Object(ARRAY(x6)), x7, x8, x9, x6, x10, x6) -> f2792_0_main_Load(java.lang.Object(ARRAY(x6)), x11, 0, x12, x6, x13, x6) :|: x6 > -1 && x9 > -1 && x10 < x6 && x10 > 0 && x11 > -1 && x10 + 1 >= x6 && 2 * x7 >= 0 && 3 * x8 >= 0 && 3 * x8 - 2 * x7 < 0 - 2 * x11 && 2 * x11 >= 0 && x12 = x9 - (0 - 2 * x11) && x13 = x10 + 1 10.67/3.83 10.67/3.83 Arcs: 10.67/3.83 (1) -> (1), (2) 10.67/3.83 10.67/3.83 This digraph is fully evaluated! 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (13) 10.67/3.83 Obligation: 10.67/3.83 10.67/3.83 Termination digraph: 10.67/3.83 Nodes: 10.67/3.83 (1) f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i1461:0, i1462:0, i1463:0, i1459:0, i1460:0, i1459:0) -> f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0)), i580:0, i845:0, arith, i1459:0, arith1, i1459:0) :|: i1460:0 > 0 && i1460:0 + 1 < i1459:0 && i1463:0 > -1 && i1459:0 > -1 && i580:0 > -1 && i845:0 > -1 && 2 * i1461:0 >= 0 && 3 * i1462:0 >= 0 && 2 * i580:0 >= 0 && 3 * i845:0 - 2 * i580:0 > 3 * i1462:0 - 2 * i1461:0 && 3 * i845:0 >= 0 && arith = i1463:0 - (3 * i845:0 - 2 * i580:0) && arith1 = i1460:0 + 2 10.67/3.83 10.67/3.83 Arcs: 10.67/3.83 (1) -> (1) 10.67/3.83 10.67/3.83 This digraph is fully evaluated! 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (14) IntTRSCompressionProof (EQUIVALENT) 10.67/3.83 Compressed rules. 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (15) 10.67/3.83 Obligation: 10.67/3.83 Rules: 10.67/3.83 f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0:0)), i1461:0:0, i1462:0:0, i1463:0:0, i1459:0:0, i1460:0:0, i1459:0:0) -> f2792_0_main_Load(java.lang.Object(ARRAY(i1459:0:0)), i580:0:0, i845:0:0, i1463:0:0 - (3 * i845:0:0 - 2 * i580:0:0), i1459:0:0, i1460:0:0 + 2, i1459:0:0) :|: 3 * i845:0:0 - 2 * i580:0:0 > 3 * i1462:0:0 - 2 * i1461:0:0 && 3 * i845:0:0 >= 0 && 2 * i580:0:0 >= 0 && 3 * i1462:0:0 >= 0 && 2 * i1461:0:0 >= 0 && i845:0:0 > -1 && i580:0:0 > -1 && i1459:0:0 > -1 && i1463:0:0 > -1 && i1460:0:0 + 1 < i1459:0:0 && i1460:0:0 > 0 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (16) TempFilterProof (SOUND) 10.67/3.83 Used the following sort dictionary for filtering: 10.67/3.83 f2792_0_main_Load(VARIABLE, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER) 10.67/3.83 java.lang.Object(VARIABLE) 10.67/3.83 ARRAY(INTEGER) 10.67/3.83 Replaced non-predefined constructor symbols by 0. 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (17) 10.67/3.83 Obligation: 10.67/3.83 Rules: 10.67/3.83 f2792_0_main_Load(c, i1461:0:0, i1462:0:0, i1463:0:0, i1459:0:0, i1460:0:0, i1459:0:0) -> f2792_0_main_Load(c1, i580:0:0, i845:0:0, c2, i1459:0:0, c3, i1459:0:0) :|: c3 = i1460:0:0 + 2 && (c2 = i1463:0:0 - (3 * i845:0:0 - 2 * i580:0:0) && (c1 = 0 && c = 0)) && (3 * i845:0:0 - 2 * i580:0:0 > 3 * i1462:0:0 - 2 * i1461:0:0 && 3 * i845:0:0 >= 0 && 2 * i580:0:0 >= 0 && 3 * i1462:0:0 >= 0 && 2 * i1461:0:0 >= 0 && i845:0:0 > -1 && i580:0:0 > -1 && i1459:0:0 > -1 && i1463:0:0 > -1 && i1460:0:0 + 1 < i1459:0:0 && i1460:0:0 > 0) 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (18) PolynomialOrderProcessor (EQUIVALENT) 10.67/3.83 Found the following polynomial interpretation: 10.67/3.83 [f2792_0_main_Load(x, x1, x2, x3, x4, x5, x6)] = -2 + c*x - x5 + x6 10.67/3.83 10.67/3.83 The following rules are decreasing: 10.67/3.83 f2792_0_main_Load(c, i1461:0:0, i1462:0:0, i1463:0:0, i1459:0:0, i1460:0:0, i1459:0:0) -> f2792_0_main_Load(c1, i580:0:0, i845:0:0, c2, i1459:0:0, c3, i1459:0:0) :|: c3 = i1460:0:0 + 2 && (c2 = i1463:0:0 - (3 * i845:0:0 - 2 * i580:0:0) && (c1 = 0 && c = 0)) && (3 * i845:0:0 - 2 * i580:0:0 > 3 * i1462:0:0 - 2 * i1461:0:0 && 3 * i845:0:0 >= 0 && 2 * i580:0:0 >= 0 && 3 * i1462:0:0 >= 0 && 2 * i1461:0:0 >= 0 && i845:0:0 > -1 && i580:0:0 > -1 && i1459:0:0 > -1 && i1463:0:0 > -1 && i1460:0:0 + 1 < i1459:0:0 && i1460:0:0 > 0) 10.67/3.83 The following rules are bounded: 10.67/3.83 f2792_0_main_Load(c, i1461:0:0, i1462:0:0, i1463:0:0, i1459:0:0, i1460:0:0, i1459:0:0) -> f2792_0_main_Load(c1, i580:0:0, i845:0:0, c2, i1459:0:0, c3, i1459:0:0) :|: c3 = i1460:0:0 + 2 && (c2 = i1463:0:0 - (3 * i845:0:0 - 2 * i580:0:0) && (c1 = 0 && c = 0)) && (3 * i845:0:0 - 2 * i580:0:0 > 3 * i1462:0:0 - 2 * i1461:0:0 && 3 * i845:0:0 >= 0 && 2 * i580:0:0 >= 0 && 3 * i1462:0:0 >= 0 && 2 * i1461:0:0 >= 0 && i845:0:0 > -1 && i580:0:0 > -1 && i1459:0:0 > -1 && i1463:0:0 > -1 && i1460:0:0 + 1 < i1459:0:0 && i1460:0:0 > 0) 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (19) 10.67/3.83 YES 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (20) 10.67/3.83 Obligation: 10.67/3.83 SCC of termination graph based on JBC Program. 10.67/3.83 SCC contains nodes from the following methods: Et6.main([Ljava/lang/String;)V 10.67/3.83 SCC calls the following helper methods: 10.67/3.83 Performed SCC analyses: 10.67/3.83 *Used field analysis yielded the following read fields: 10.67/3.83 10.67/3.83 *Marker field analysis yielded the following relations that could be markers: 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (21) SCCToIRSProof (SOUND) 10.67/3.83 Transformed FIGraph SCCs to intTRSs. Log: 10.67/3.83 Generated rules. Obtained 52 IRulesP rules: 10.67/3.83 f497_0_main_LT(EOS(STATIC_497(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f518_0_main_InvokeMethod(EOS(STATIC_518(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0) :|: 0 >= 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f518_0_main_InvokeMethod(EOS(STATIC_518(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f532_0_random_FieldAccess(EOS(STATIC_532(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f532_0_random_FieldAccess(EOS(STATIC_532(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f553_0_random_FieldAccess(EOS(STATIC_553(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, i12) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f553_0_random_FieldAccess(EOS(STATIC_553(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12) -> f560_0_random_ArrayLength(EOS(STATIC_560(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, i12, java.lang.Object(ARRAY(i4))) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f560_0_random_ArrayLength(EOS(STATIC_560(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12, java.lang.Object(ARRAY(i4))) -> f587_0_random_LT(EOS(STATIC_587(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, i12, i4) :|: i4 >= 0 && matching1 = 0 && matching2 = 0 10.67/3.83 f587_0_random_LT(EOS(STATIC_587(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12, i4) -> f601_0_random_LT(EOS(STATIC_601(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, i12, i4) :|: i12 >= i4 && matching1 = 0 && matching2 = 0 10.67/3.83 f601_0_random_LT(EOS(STATIC_601(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12, i4) -> f606_0_random_ConstantStackPush(EOS(STATIC_606(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0) :|: i12 >= i4 && matching1 = 0 && matching2 = 0 10.67/3.83 f606_0_random_ConstantStackPush(EOS(STATIC_606(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f616_0_random_Return(EOS(STATIC_616(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 f616_0_random_Return(EOS(STATIC_616(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f636_0_main_Store(EOS(STATIC_636(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f636_0_main_Store(EOS(STATIC_636(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f692_0_main_InvokeMethod(EOS(STATIC_692(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f692_0_main_InvokeMethod(EOS(STATIC_692(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f706_0_random_FieldAccess(EOS(STATIC_706(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f706_0_random_FieldAccess(EOS(STATIC_706(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f750_0_random_FieldAccess(EOS(STATIC_750(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, i12) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f750_0_random_FieldAccess(EOS(STATIC_750(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12) -> f771_0_random_ArrayLength(EOS(STATIC_771(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, i12, java.lang.Object(ARRAY(i4))) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f771_0_random_ArrayLength(EOS(STATIC_771(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12, java.lang.Object(ARRAY(i4))) -> f806_0_random_LT(EOS(STATIC_806(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, i12, i4) :|: i4 >= 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f806_0_random_LT(EOS(STATIC_806(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12, i4) -> f820_0_random_LT(EOS(STATIC_820(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, i12, i4) :|: i12 >= i4 && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f820_0_random_LT(EOS(STATIC_820(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12, i4) -> f826_0_random_ConstantStackPush(EOS(STATIC_826(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: i12 >= i4 && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f826_0_random_ConstantStackPush(EOS(STATIC_826(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f839_0_random_Return(EOS(STATIC_839(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f839_0_random_Return(EOS(STATIC_839(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f844_0_main_Store(EOS(STATIC_844(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f844_0_main_Store(EOS(STATIC_844(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f849_0_main_ConstantStackPush(EOS(STATIC_849(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f849_0_main_ConstantStackPush(EOS(STATIC_849(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f860_0_main_Load(EOS(STATIC_860(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f860_0_main_Load(EOS(STATIC_860(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f891_0_main_IntArithmetic(EOS(STATIC_891(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f891_0_main_IntArithmetic(EOS(STATIC_891(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f911_0_main_ConstantStackPush(EOS(STATIC_911(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f911_0_main_ConstantStackPush(EOS(STATIC_911(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f921_0_main_Load(EOS(STATIC_921(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f921_0_main_Load(EOS(STATIC_921(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4, matching5) -> f929_0_main_IntArithmetic(EOS(STATIC_929(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0, 2, i21) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 && matching5 = 2 10.67/3.83 f929_0_main_IntArithmetic(EOS(STATIC_929(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4, matching5, i21) -> f935_0_main_IntArithmetic(EOS(STATIC_935(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0, 2 * i21) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 && matching5 = 2 10.67/3.83 f935_0_main_IntArithmetic(EOS(STATIC_935(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4, i245) -> f958_0_main_ConstantStackPush(EOS(STATIC_958(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0 - i245) :|: i245 >= 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f958_0_main_ConstantStackPush(EOS(STATIC_958(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i260) -> f968_0_main_Load(EOS(STATIC_968(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i260) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f968_0_main_Load(EOS(STATIC_968(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i260) -> f981_0_main_IntArithmetic(EOS(STATIC_981(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i260, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f981_0_main_IntArithmetic(EOS(STATIC_981(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i260, matching4) -> f996_0_main_ConstantStackPush(EOS(STATIC_996(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i260, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f996_0_main_ConstantStackPush(EOS(STATIC_996(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i260, matching4) -> f1006_0_main_Load(EOS(STATIC_1006(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i260, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1006_0_main_Load(EOS(STATIC_1006(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i260, matching4) -> f1021_0_main_IntArithmetic(EOS(STATIC_1021(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i260, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1021_0_main_IntArithmetic(EOS(STATIC_1021(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i260, matching4, matching5) -> f1035_0_main_IntArithmetic(EOS(STATIC_1035(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i260, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 && matching5 = 0 10.67/3.83 f1035_0_main_IntArithmetic(EOS(STATIC_1035(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i260, matching4, matching5) -> f1061_0_main_LT(EOS(STATIC_1061(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i260, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 && matching5 = 0 10.67/3.83 f1061_0_main_LT(EOS(STATIC_1061(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i317, matching4) -> f1076_0_main_LT(EOS(STATIC_1076(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i317, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1076_0_main_LT(EOS(STATIC_1076(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i317, matching4) -> f1088_0_main_Load(EOS(STATIC_1088(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: i317 < 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1088_0_main_Load(EOS(STATIC_1088(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1115_0_main_Store(EOS(STATIC_1115(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1115_0_main_Store(EOS(STATIC_1115(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1138_0_main_Load(EOS(STATIC_1138(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1138_0_main_Load(EOS(STATIC_1138(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1297_0_main_Store(EOS(STATIC_1297(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1297_0_main_Store(EOS(STATIC_1297(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1329_0_main_Load(EOS(STATIC_1329(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1329_0_main_Load(EOS(STATIC_1329(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1354_0_main_ConstantStackPush(EOS(STATIC_1354(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1354_0_main_ConstantStackPush(EOS(STATIC_1354(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1363_0_main_Load(EOS(STATIC_1363(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1363_0_main_Load(EOS(STATIC_1363(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1373_0_main_IntArithmetic(EOS(STATIC_1373(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1373_0_main_IntArithmetic(EOS(STATIC_1373(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4) -> f1382_0_main_ConstantStackPush(EOS(STATIC_1382(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1382_0_main_ConstantStackPush(EOS(STATIC_1382(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4) -> f1387_0_main_Load(EOS(STATIC_1387(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1387_0_main_Load(EOS(STATIC_1387(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4) -> f1390_0_main_IntArithmetic(EOS(STATIC_1390(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1390_0_main_IntArithmetic(EOS(STATIC_1390(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4, matching5) -> f1441_0_main_IntArithmetic(EOS(STATIC_1441(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 && matching5 = 0 10.67/3.83 f1441_0_main_IntArithmetic(EOS(STATIC_1441(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4, matching5) -> f1452_0_main_IntArithmetic(EOS(STATIC_1452(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 && matching5 = 0 10.67/3.83 f1452_0_main_IntArithmetic(EOS(STATIC_1452(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4) -> f1493_0_main_Store(EOS(STATIC_1493(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.67/3.83 f1493_0_main_Store(EOS(STATIC_1493(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1505_0_main_JMP(EOS(STATIC_1505(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1505_0_main_JMP(EOS(STATIC_1505(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1584_0_main_Load(EOS(STATIC_1584(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f1584_0_main_Load(EOS(STATIC_1584(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f490_0_main_Load(EOS(STATIC_490(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.67/3.83 f490_0_main_Load(EOS(STATIC_490(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f497_0_main_LT(EOS(STATIC_497(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.67/3.83 Combined rules. Obtained 1 IRulesP rules: 10.67/3.83 f497_0_main_LT(EOS(STATIC_497(java.lang.Object(ARRAY(i4:0)), i12:0)), java.lang.Object(ARRAY(i4:0)), i21:0, 0, 0, 0) -> f497_0_main_LT(EOS(STATIC_497(java.lang.Object(ARRAY(i4:0)), i12:0)), java.lang.Object(ARRAY(i4:0)), 0, 0, 0, 0) :|: 2 * i21:0 > 0 && i4:0 > -1 && i4:0 <= i12:0 10.67/3.83 Filtered constant ground arguments: 10.67/3.83 f497_0_main_LT(x1, x2, x3, x4, x5, x6) -> f497_0_main_LT(x1, x2, x3) 10.67/3.83 Finished conversion. Obtained 1 rules.P rules: 10.67/3.83 f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), 0, i4:0, i12:0, i4:0) :|: i4:0 > -1 && i4:0 <= i12:0 && 2 * i21:0 > 0 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (22) 10.67/3.83 Obligation: 10.67/3.83 Rules: 10.67/3.83 f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), 0, i4:0, i12:0, i4:0) :|: i4:0 > -1 && i4:0 <= i12:0 && 2 * i21:0 > 0 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (23) IRSFormatTransformerProof (EQUIVALENT) 10.67/3.83 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (24) 10.67/3.83 Obligation: 10.67/3.83 Rules: 10.67/3.83 f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), 0, i4:0, i12:0, i4:0) :|: i4:0 > -1 && i4:0 <= i12:0 && 2 * i21:0 > 0 10.67/3.83 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (25) IRSwTTerminationDigraphProof (EQUIVALENT) 10.67/3.83 Constructed termination digraph! 10.67/3.83 Nodes: 10.67/3.83 (1) f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f497_0_main_LT(java.lang.Object(ARRAY(i4:0)), 0, i4:0, i12:0, i4:0) :|: i4:0 > -1 && i4:0 <= i12:0 && 2 * i21:0 > 0 10.67/3.83 10.67/3.83 No arcs! 10.67/3.83 10.67/3.83 This digraph is fully evaluated! 10.67/3.83 ---------------------------------------- 10.67/3.83 10.67/3.83 (26) 10.67/3.83 TRUE 10.67/3.87 EOF