10.18/3.60 YES 10.19/3.61 proof of /export/starexec/sandbox2/benchmark/theBenchmark.jar 10.19/3.61 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 10.19/3.61 10.19/3.61 10.19/3.61 termination of the given Bare JBC problem could be proven: 10.19/3.61 10.19/3.61 (0) Bare JBC problem 10.19/3.61 (1) BareJBCToJBCProof [EQUIVALENT, 94 ms] 10.19/3.61 (2) JBC problem 10.19/3.61 (3) JBCToGraph [EQUIVALENT, 804 ms] 10.19/3.61 (4) JBCTerminationGraph 10.19/3.61 (5) TerminationGraphToSCCProof [SOUND, 2 ms] 10.19/3.61 (6) AND 10.19/3.61 (7) JBCTerminationSCC 10.19/3.61 (8) SCCToIRSProof [SOUND, 293 ms] 10.19/3.61 (9) IRSwT 10.19/3.61 (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 10.19/3.61 (11) IRSwT 10.19/3.61 (12) IRSwTTerminationDigraphProof [EQUIVALENT, 127 ms] 10.19/3.61 (13) IRSwT 10.19/3.61 (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] 10.19/3.61 (15) IRSwT 10.19/3.61 (16) TempFilterProof [SOUND, 45 ms] 10.19/3.61 (17) IntTRS 10.19/3.61 (18) PolynomialOrderProcessor [EQUIVALENT, 17 ms] 10.19/3.61 (19) YES 10.19/3.61 (20) JBCTerminationSCC 10.19/3.61 (21) SCCToIRSProof [SOUND, 0 ms] 10.19/3.61 (22) IRSwT 10.19/3.61 (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 10.19/3.61 (24) IRSwT 10.19/3.61 (25) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 10.19/3.61 (26) TRUE 10.19/3.61 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (0) 10.19/3.61 Obligation: 10.19/3.61 need to prove termination of the following program: 10.19/3.61 public class Et5 { 10.19/3.61 public static void main(String[] args) { 10.19/3.61 Random.args = args; 10.19/3.61 int a = Random.random(); 10.19/3.61 int b = Random.random(); 10.19/3.61 int c = Random.random(); 10.19/3.61 while (c >= 0) { 10.19/3.61 int ap = Random.random(); 10.19/3.61 int bp = Random.random(); 10.19/3.61 if ( 2*a -b <= 2*ap-bp ) break; 10.19/3.61 a = ap; 10.19/3.61 b = bp; 10.19/3.61 c = c + 2*a -b; 10.19/3.61 } 10.19/3.61 } 10.19/3.61 } 10.19/3.61 10.19/3.61 /* 10.19/3.61 entry(A,B,X) :- 10.19/3.61 {2*A-B >= 1+2*C-D, X>=0,Y=X+2*C-D}, 10.19/3.61 entry(C,D,Y). 10.19/3.61 */ 10.19/3.61 10.19/3.61 10.19/3.61 public class Random { 10.19/3.61 static String[] args; 10.19/3.61 static int index = 0; 10.19/3.61 10.19/3.61 public static int random() { 10.19/3.61 if (index >= args.length) 10.19/3.61 return 0; 10.19/3.61 10.19/3.61 String string = args[index]; 10.19/3.61 index++; 10.19/3.61 return string.length(); 10.19/3.61 } 10.19/3.61 } 10.19/3.61 10.19/3.61 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (1) BareJBCToJBCProof (EQUIVALENT) 10.19/3.61 initialized classpath 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (2) 10.19/3.61 Obligation: 10.19/3.61 need to prove termination of the following program: 10.19/3.61 public class Et5 { 10.19/3.61 public static void main(String[] args) { 10.19/3.61 Random.args = args; 10.19/3.61 int a = Random.random(); 10.19/3.61 int b = Random.random(); 10.19/3.61 int c = Random.random(); 10.19/3.61 while (c >= 0) { 10.19/3.61 int ap = Random.random(); 10.19/3.61 int bp = Random.random(); 10.19/3.61 if ( 2*a -b <= 2*ap-bp ) break; 10.19/3.61 a = ap; 10.19/3.61 b = bp; 10.19/3.61 c = c + 2*a -b; 10.19/3.61 } 10.19/3.61 } 10.19/3.61 } 10.19/3.61 10.19/3.61 /* 10.19/3.61 entry(A,B,X) :- 10.19/3.61 {2*A-B >= 1+2*C-D, X>=0,Y=X+2*C-D}, 10.19/3.61 entry(C,D,Y). 10.19/3.61 */ 10.19/3.61 10.19/3.61 10.19/3.61 public class Random { 10.19/3.61 static String[] args; 10.19/3.61 static int index = 0; 10.19/3.61 10.19/3.61 public static int random() { 10.19/3.61 if (index >= args.length) 10.19/3.61 return 0; 10.19/3.61 10.19/3.61 String string = args[index]; 10.19/3.61 index++; 10.19/3.61 return string.length(); 10.19/3.61 } 10.19/3.61 } 10.19/3.61 10.19/3.61 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (3) JBCToGraph (EQUIVALENT) 10.19/3.61 Constructed TerminationGraph. 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (4) 10.19/3.61 Obligation: 10.19/3.61 Termination Graph based on JBC Program: 10.19/3.61 Et5.main([Ljava/lang/String;)V: Graph of 629 nodes with 2 SCCs. 10.19/3.61 10.19/3.61 10.19/3.61 10.19/3.61 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (5) TerminationGraphToSCCProof (SOUND) 10.19/3.61 Splitted TerminationGraph to 2 SCCss. 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (6) 10.19/3.61 Complex Obligation (AND) 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (7) 10.19/3.61 Obligation: 10.19/3.61 SCC of termination graph based on JBC Program. 10.19/3.61 SCC contains nodes from the following methods: Et5.main([Ljava/lang/String;)V 10.19/3.61 SCC calls the following helper methods: 10.19/3.61 Performed SCC analyses: 10.19/3.61 *Used field analysis yielded the following read fields: 10.19/3.61 *java.lang.String: [count] 10.19/3.61 *Marker field analysis yielded the following relations that could be markers: 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (8) SCCToIRSProof (SOUND) 10.19/3.61 Transformed FIGraph SCCs to intTRSs. Log: 10.19/3.61 Generated rules. Obtained 112 IRulesP rules: 10.19/3.61 f2633_0_main_Load(EOS(STATIC_2633(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1421) -> f2664_0_main_LT(EOS(STATIC_2664(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1421, i1421) :|: TRUE 10.19/3.61 f2664_0_main_LT(EOS(STATIC_2664(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1461) -> f2668_0_main_LT(EOS(STATIC_2668(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1461) :|: TRUE 10.19/3.61 f2668_0_main_LT(EOS(STATIC_2668(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1461) -> f2692_0_main_InvokeMethod(EOS(STATIC_2692(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461) :|: i1461 >= 0 10.19/3.61 f2692_0_main_InvokeMethod(EOS(STATIC_2692(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461) -> f2696_0_random_FieldAccess(EOS(STATIC_2696(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461) :|: TRUE 10.19/3.61 f2696_0_random_FieldAccess(EOS(STATIC_2696(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461) -> f2698_0_random_FieldAccess(EOS(STATIC_2698(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1418) :|: TRUE 10.19/3.61 f2698_0_random_FieldAccess(EOS(STATIC_2698(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1418) -> f2699_0_random_ArrayLength(EOS(STATIC_2699(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1418, java.lang.Object(ARRAY(i1417))) :|: TRUE 10.19/3.61 f2699_0_random_ArrayLength(EOS(STATIC_2699(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1418, java.lang.Object(ARRAY(i1417))) -> f2728_0_random_LT(EOS(STATIC_2728(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1418, i1417) :|: i1417 >= 0 10.19/3.61 f2728_0_random_LT(EOS(STATIC_2728(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1418, i1417) -> f1270_0_random_LT(EOS(STATIC_1270(java.lang.Object(ARRAY(i1417)), i1418)), java.lang.Object(ARRAY(i1417)), i1419, i1420, i1461, i1418, i1417) :|: TRUE 10.19/3.61 f1270_0_random_LT(EOS(STATIC_1270(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i371, i370) -> f1274_0_random_LT(EOS(STATIC_1274(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i371, i370) :|: i371 < i370 10.19/3.61 f1274_0_random_LT(EOS(STATIC_1274(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i371, i370) -> f1288_0_random_FieldAccess(EOS(STATIC_1288(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372) :|: i371 < i370 10.19/3.61 f1288_0_random_FieldAccess(EOS(STATIC_1288(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372) -> f1303_0_random_FieldAccess(EOS(STATIC_1303(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(ARRAY(i370))) :|: TRUE 10.19/3.61 f1303_0_random_FieldAccess(EOS(STATIC_1303(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(ARRAY(i370))) -> f1311_0_random_ArrayAccess(EOS(STATIC_1311(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(ARRAY(i370)), i371) :|: TRUE 10.19/3.61 f1311_0_random_ArrayAccess(EOS(STATIC_1311(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(ARRAY(i370)), i371) -> f1321_0_random_ArrayAccess(EOS(STATIC_1321(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(ARRAY(i370)), i371) :|: TRUE 10.19/3.61 f1321_0_random_ArrayAccess(EOS(STATIC_1321(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(ARRAY(i370)), i371) -> f1329_0_random_Store(EOS(STATIC_1329(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88) :|: TRUE 10.19/3.61 f1329_0_random_Store(EOS(STATIC_1329(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88) -> f1424_0_random_FieldAccess(EOS(STATIC_1424(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88) :|: TRUE 10.19/3.61 f1424_0_random_FieldAccess(EOS(STATIC_1424(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88) -> f1427_0_random_ConstantStackPush(EOS(STATIC_1427(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88, i371) :|: TRUE 10.19/3.61 f1427_0_random_ConstantStackPush(EOS(STATIC_1427(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88, i371) -> f1441_0_random_IntArithmetic(EOS(STATIC_1441(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88, i371, 1) :|: TRUE 10.19/3.61 f1441_0_random_IntArithmetic(EOS(STATIC_1441(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88, i371, matching1) -> f1458_0_random_FieldAccess(EOS(STATIC_1458(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88, i371 + 1) :|: i371 > 0 && matching1 = 1 10.19/3.61 f1458_0_random_FieldAccess(EOS(STATIC_1458(java.lang.Object(ARRAY(i370)), i371)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88, i451) -> f1481_0_random_Load(EOS(STATIC_1481(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88) :|: TRUE 10.19/3.61 f1481_0_random_Load(EOS(STATIC_1481(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88) -> f1504_0_random_InvokeMethod(EOS(STATIC_1504(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, o88) :|: TRUE 10.19/3.61 f1504_0_random_InvokeMethod(EOS(STATIC_1504(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o113sub)) -> f1509_0_random_InvokeMethod(EOS(STATIC_1509(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o113sub)) :|: TRUE 10.19/3.61 f1509_0_random_InvokeMethod(EOS(STATIC_1509(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o114sub)) -> f1521_0_random_InvokeMethod(EOS(STATIC_1521(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o114sub)) :|: TRUE 10.19/3.61 f1521_0_random_InvokeMethod(EOS(STATIC_1521(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o114sub)) -> f1531_0_length_Load(EOS(STATIC_1531(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o114sub)) :|: TRUE 10.19/3.61 f1531_0_length_Load(EOS(STATIC_1531(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o114sub)) -> f1542_0_length_FieldAccess(EOS(STATIC_1542(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(o114sub)) :|: TRUE 10.19/3.61 f1542_0_length_FieldAccess(EOS(STATIC_1542(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(java.lang.String(EOC, i562))) -> f1550_0_length_FieldAccess(EOS(STATIC_1550(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(java.lang.String(EOC, i562))) :|: i562 >= 0 10.19/3.61 f1550_0_length_FieldAccess(EOS(STATIC_1550(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, java.lang.Object(java.lang.String(EOC, i562))) -> f1556_0_length_Return(EOS(STATIC_1556(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) :|: TRUE 10.19/3.61 f1556_0_length_Return(EOS(STATIC_1556(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) -> f1566_0_random_Return(EOS(STATIC_1566(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) :|: TRUE 10.19/3.61 f1566_0_random_Return(EOS(STATIC_1566(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) -> f1576_0_main_Store(EOS(STATIC_1576(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) :|: TRUE 10.19/3.61 f1576_0_main_Store(EOS(STATIC_1576(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) -> f1586_0_main_InvokeMethod(EOS(STATIC_1586(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) :|: TRUE 10.19/3.61 f1586_0_main_InvokeMethod(EOS(STATIC_1586(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) -> f1599_0_random_FieldAccess(EOS(STATIC_1599(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) :|: TRUE 10.19/3.61 f1599_0_random_FieldAccess(EOS(STATIC_1599(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) -> f1623_0_random_FieldAccess(EOS(STATIC_1623(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451) :|: TRUE 10.19/3.61 f1623_0_random_FieldAccess(EOS(STATIC_1623(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451) -> f1647_0_random_ArrayLength(EOS(STATIC_1647(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, java.lang.Object(ARRAY(i370))) :|: TRUE 10.19/3.61 f1647_0_random_ArrayLength(EOS(STATIC_1647(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, java.lang.Object(ARRAY(i370))) -> f1710_0_random_LT(EOS(STATIC_1710(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, i370) :|: i370 >= 0 10.19/3.61 f1710_0_random_LT(EOS(STATIC_1710(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, i370) -> f1757_0_random_LT(EOS(STATIC_1757(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, i370) :|: i451 < i370 10.19/3.61 f1710_0_random_LT(EOS(STATIC_1710(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, i370) -> f1758_0_random_LT(EOS(STATIC_1758(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, i370) :|: i451 >= i370 10.19/3.61 f1757_0_random_LT(EOS(STATIC_1757(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, i370) -> f1772_0_random_FieldAccess(EOS(STATIC_1772(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) :|: i451 < i370 10.19/3.61 f1772_0_random_FieldAccess(EOS(STATIC_1772(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) -> f1789_0_random_FieldAccess(EOS(STATIC_1789(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(ARRAY(i370))) :|: TRUE 10.19/3.61 f1789_0_random_FieldAccess(EOS(STATIC_1789(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(ARRAY(i370))) -> f1805_0_random_ArrayAccess(EOS(STATIC_1805(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(ARRAY(i370)), i451) :|: TRUE 10.19/3.61 f1805_0_random_ArrayAccess(EOS(STATIC_1805(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(ARRAY(i370)), i451) -> f1824_0_random_ArrayAccess(EOS(STATIC_1824(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(ARRAY(i370)), i451) :|: TRUE 10.19/3.61 f1824_0_random_ArrayAccess(EOS(STATIC_1824(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(ARRAY(i370)), i451) -> f1850_0_random_Store(EOS(STATIC_1850(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162) :|: TRUE 10.19/3.61 f1850_0_random_Store(EOS(STATIC_1850(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162) -> f1872_0_random_FieldAccess(EOS(STATIC_1872(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162) :|: TRUE 10.19/3.61 f1872_0_random_FieldAccess(EOS(STATIC_1872(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162) -> f1885_0_random_ConstantStackPush(EOS(STATIC_1885(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162, i451) :|: TRUE 10.19/3.61 f1885_0_random_ConstantStackPush(EOS(STATIC_1885(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162, i451) -> f1896_0_random_IntArithmetic(EOS(STATIC_1896(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162, i451, 1) :|: TRUE 10.19/3.61 f1896_0_random_IntArithmetic(EOS(STATIC_1896(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162, i451, matching1) -> f1908_0_random_FieldAccess(EOS(STATIC_1908(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162, i451 + 1) :|: i451 > 0 && matching1 = 1 10.19/3.61 f1908_0_random_FieldAccess(EOS(STATIC_1908(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162, i772) -> f1912_0_random_Load(EOS(STATIC_1912(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162) :|: TRUE 10.19/3.61 f1912_0_random_Load(EOS(STATIC_1912(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162) -> f1925_0_random_InvokeMethod(EOS(STATIC_1925(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, o162) :|: TRUE 10.19/3.61 f1925_0_random_InvokeMethod(EOS(STATIC_1925(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o180sub)) -> f1931_0_random_InvokeMethod(EOS(STATIC_1931(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o180sub)) :|: TRUE 10.19/3.61 f1931_0_random_InvokeMethod(EOS(STATIC_1931(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o183sub)) -> f2015_0_random_InvokeMethod(EOS(STATIC_2015(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o183sub)) :|: TRUE 10.19/3.61 f2015_0_random_InvokeMethod(EOS(STATIC_2015(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o183sub)) -> f2026_0_length_Load(EOS(STATIC_2026(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o183sub)) :|: TRUE 10.19/3.61 f2026_0_length_Load(EOS(STATIC_2026(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o183sub)) -> f2061_0_length_FieldAccess(EOS(STATIC_2061(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(o183sub)) :|: TRUE 10.19/3.61 f2061_0_length_FieldAccess(EOS(STATIC_2061(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(java.lang.String(EOC, i892))) -> f2085_0_length_FieldAccess(EOS(STATIC_2085(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(java.lang.String(EOC, i892))) :|: i892 >= 0 10.19/3.61 f2085_0_length_FieldAccess(EOS(STATIC_2085(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, java.lang.Object(java.lang.String(EOC, i892))) -> f2100_0_length_Return(EOS(STATIC_2100(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) :|: TRUE 10.19/3.61 f2100_0_length_Return(EOS(STATIC_2100(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) -> f2113_0_random_Return(EOS(STATIC_2113(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) :|: TRUE 10.19/3.61 f2113_0_random_Return(EOS(STATIC_2113(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) -> f2131_0_main_Store(EOS(STATIC_2131(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) :|: TRUE 10.19/3.61 f2131_0_main_Store(EOS(STATIC_2131(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) -> f2135_0_main_ConstantStackPush(EOS(STATIC_2135(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) :|: TRUE 10.19/3.61 f2135_0_main_ConstantStackPush(EOS(STATIC_2135(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892) -> f2140_0_main_Load(EOS(STATIC_2140(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892, 2) :|: TRUE 10.19/3.61 f2140_0_main_Load(EOS(STATIC_2140(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i892, matching1) -> f2145_0_main_IntArithmetic(EOS(STATIC_2145(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i90, i372, i562, i892, 2, i21) :|: TRUE && matching1 = 2 10.19/3.61 f2145_0_main_IntArithmetic(EOS(STATIC_2145(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i90, i372, i562, i892, matching1, i21) -> f2154_0_main_Load(EOS(STATIC_2154(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i90, i372, i562, i892, 2 * i21) :|: TRUE && matching1 = 2 10.19/3.61 f2154_0_main_Load(EOS(STATIC_2154(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i90, i372, i562, i892, i1037) -> f2176_0_main_IntArithmetic(EOS(STATIC_2176(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1037, i90) :|: TRUE 10.19/3.61 f2176_0_main_IntArithmetic(EOS(STATIC_2176(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1037, i90) -> f2186_0_main_ConstantStackPush(EOS(STATIC_2186(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1037 - i90) :|: i1037 >= 0 && i90 >= 0 10.19/3.61 f2186_0_main_ConstantStackPush(EOS(STATIC_2186(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047) -> f2198_0_main_Load(EOS(STATIC_2198(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, 2) :|: TRUE 10.19/3.61 f2198_0_main_Load(EOS(STATIC_2198(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, matching1) -> f2213_0_main_IntArithmetic(EOS(STATIC_2213(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, 2, i562) :|: TRUE && matching1 = 2 10.19/3.61 f2213_0_main_IntArithmetic(EOS(STATIC_2213(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, matching1, i562) -> f2274_0_main_Load(EOS(STATIC_2274(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, 2 * i562) :|: TRUE && matching1 = 2 10.19/3.61 f2274_0_main_Load(EOS(STATIC_2274(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, i1100) -> f2312_0_main_IntArithmetic(EOS(STATIC_2312(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, i1100, i892) :|: TRUE 10.19/3.61 f2312_0_main_IntArithmetic(EOS(STATIC_2312(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, i1100, i892) -> f2375_0_main_GT(EOS(STATIC_2375(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, i1100 - i892) :|: i1100 >= 0 && i892 >= 0 10.19/3.61 f2375_0_main_GT(EOS(STATIC_2375(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, i1162) -> f2393_0_main_GT(EOS(STATIC_2393(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, i1162) :|: i1047 > i1162 10.19/3.61 f2393_0_main_GT(EOS(STATIC_2393(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892, i1047, i1162) -> f2420_0_main_Load(EOS(STATIC_2420(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892) :|: i1047 > i1162 10.19/3.61 f2420_0_main_Load(EOS(STATIC_2420(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i562, i892) -> f2432_0_main_Store(EOS(STATIC_2432(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i892, i562) :|: TRUE 10.19/3.61 f2432_0_main_Store(EOS(STATIC_2432(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i372, i892, i562) -> f2445_0_main_Load(EOS(STATIC_2445(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i372, i892) :|: TRUE 10.19/3.61 f2445_0_main_Load(EOS(STATIC_2445(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i372, i892) -> f2458_0_main_Store(EOS(STATIC_2458(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i372, i892) :|: TRUE 10.19/3.61 f2458_0_main_Store(EOS(STATIC_2458(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i372, i892) -> f2469_0_main_Load(EOS(STATIC_2469(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372) :|: TRUE 10.19/3.61 f2469_0_main_Load(EOS(STATIC_2469(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372) -> f2481_0_main_ConstantStackPush(EOS(STATIC_2481(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372) :|: TRUE 10.19/3.61 f2481_0_main_ConstantStackPush(EOS(STATIC_2481(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372) -> f2483_0_main_Load(EOS(STATIC_2483(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372, 2) :|: TRUE 10.19/3.61 f2483_0_main_Load(EOS(STATIC_2483(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372, matching1) -> f2487_0_main_IntArithmetic(EOS(STATIC_2487(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372, 2, i562) :|: TRUE && matching1 = 2 10.19/3.61 f2487_0_main_IntArithmetic(EOS(STATIC_2487(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372, matching1, i562) -> f2493_0_main_IntArithmetic(EOS(STATIC_2493(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372, 2 * i562) :|: TRUE && matching1 = 2 10.19/3.61 f2493_0_main_IntArithmetic(EOS(STATIC_2493(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372, i1322) -> f2503_0_main_Load(EOS(STATIC_2503(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i372 + i1322) :|: i372 >= 0 && i1322 >= 0 10.19/3.61 f2503_0_main_Load(EOS(STATIC_2503(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1336) -> f2508_0_main_IntArithmetic(EOS(STATIC_2508(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1336, i892) :|: TRUE 10.19/3.61 f2508_0_main_IntArithmetic(EOS(STATIC_2508(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1336, i892) -> f2510_0_main_Store(EOS(STATIC_2510(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1336 - i892) :|: i1336 >= 0 && i892 >= 0 10.19/3.61 f2510_0_main_Store(EOS(STATIC_2510(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1361) -> f2518_0_main_JMP(EOS(STATIC_2518(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1361) :|: TRUE 10.19/3.61 f2518_0_main_JMP(EOS(STATIC_2518(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1361) -> f2632_0_main_Load(EOS(STATIC_2632(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1361) :|: TRUE 10.19/3.61 f2632_0_main_Load(EOS(STATIC_2632(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1361) -> f2633_0_main_Load(EOS(STATIC_2633(java.lang.Object(ARRAY(i370)), i772)), java.lang.Object(ARRAY(i370)), i562, i892, i1361) :|: TRUE 10.19/3.61 f1758_0_random_LT(EOS(STATIC_1758(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, i451, i370) -> f1776_0_random_ConstantStackPush(EOS(STATIC_1776(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) :|: i451 >= i370 10.19/3.61 f1776_0_random_ConstantStackPush(EOS(STATIC_1776(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562) -> f1791_0_random_Return(EOS(STATIC_1791(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, 0) :|: TRUE 10.19/3.61 f1791_0_random_Return(EOS(STATIC_1791(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, matching1) -> f1808_0_main_Store(EOS(STATIC_1808(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, 0) :|: TRUE && matching1 = 0 10.19/3.61 f1808_0_main_Store(EOS(STATIC_1808(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, matching1) -> f1827_0_main_ConstantStackPush(EOS(STATIC_1827(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, 0) :|: TRUE && matching1 = 0 10.19/3.61 f1827_0_main_ConstantStackPush(EOS(STATIC_1827(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, matching1) -> f1855_0_main_Load(EOS(STATIC_1855(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, 0, 2) :|: TRUE && matching1 = 0 10.19/3.61 f1855_0_main_Load(EOS(STATIC_1855(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i21, i90, i372, i562, matching1, matching2) -> f1876_0_main_IntArithmetic(EOS(STATIC_1876(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i90, i372, i562, 0, 2, i21) :|: TRUE && matching1 = 0 && matching2 = 2 10.19/3.61 f1876_0_main_IntArithmetic(EOS(STATIC_1876(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i90, i372, i562, matching1, matching2, i21) -> f1887_0_main_Load(EOS(STATIC_1887(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i90, i372, i562, 0, 2 * i21) :|: TRUE && matching1 = 0 && matching2 = 2 10.19/3.61 f1887_0_main_Load(EOS(STATIC_1887(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i90, i372, i562, matching1, i767) -> f1898_0_main_IntArithmetic(EOS(STATIC_1898(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i767, i90) :|: TRUE && matching1 = 0 10.19/3.61 f1898_0_main_IntArithmetic(EOS(STATIC_1898(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i767, i90) -> f1909_0_main_ConstantStackPush(EOS(STATIC_1909(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i767 - i90) :|: i767 >= 0 && i90 >= 0 && matching1 = 0 10.19/3.61 f1909_0_main_ConstantStackPush(EOS(STATIC_1909(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i773) -> f1914_0_main_Load(EOS(STATIC_1914(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i773, 2) :|: TRUE && matching1 = 0 10.19/3.61 f1914_0_main_Load(EOS(STATIC_1914(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i773, matching2) -> f1927_0_main_IntArithmetic(EOS(STATIC_1927(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i773, 2, i562) :|: TRUE && matching1 = 0 && matching2 = 2 10.19/3.61 f1927_0_main_IntArithmetic(EOS(STATIC_1927(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i773, matching2, i562) -> f1934_0_main_Load(EOS(STATIC_1934(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i773, 2 * i562) :|: TRUE && matching1 = 0 && matching2 = 2 10.19/3.61 f1934_0_main_Load(EOS(STATIC_1934(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i773, i795) -> f2018_0_main_IntArithmetic(EOS(STATIC_2018(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i773, i795, 0) :|: TRUE && matching1 = 0 10.19/3.61 f2018_0_main_IntArithmetic(EOS(STATIC_2018(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i773, i795, matching2) -> f2035_0_main_GT(EOS(STATIC_2035(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i773, i795 - 0) :|: i795 >= 0 && matching1 = 0 && matching2 = 0 10.19/3.61 f2035_0_main_GT(EOS(STATIC_2035(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i773, i795) -> f2058_0_main_GT(EOS(STATIC_2058(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0, i773, i795) :|: i773 > i795 && matching1 = 0 10.19/3.61 f2058_0_main_GT(EOS(STATIC_2058(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1, i773, i795) -> f2068_0_main_Load(EOS(STATIC_2068(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, 0) :|: i773 > i795 && matching1 = 0 10.19/3.61 f2068_0_main_Load(EOS(STATIC_2068(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, i562, matching1) -> f2091_0_main_Store(EOS(STATIC_2091(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, 0, i562) :|: TRUE && matching1 = 0 10.19/3.61 f2091_0_main_Store(EOS(STATIC_2091(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i372, matching1, i562) -> f2102_0_main_Load(EOS(STATIC_2102(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, i372, 0) :|: TRUE && matching1 = 0 10.19/3.61 f2102_0_main_Load(EOS(STATIC_2102(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, i372, matching1) -> f2116_0_main_Store(EOS(STATIC_2116(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, i372, 0) :|: TRUE && matching1 = 0 10.19/3.61 f2116_0_main_Store(EOS(STATIC_2116(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, i372, matching1) -> f2133_0_main_Load(EOS(STATIC_2133(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i372) :|: TRUE && matching1 = 0 10.19/3.61 f2133_0_main_Load(EOS(STATIC_2133(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i372) -> f2138_0_main_ConstantStackPush(EOS(STATIC_2138(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i372) :|: TRUE && matching1 = 0 10.19/3.61 f2138_0_main_ConstantStackPush(EOS(STATIC_2138(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i372) -> f2143_0_main_Load(EOS(STATIC_2143(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i372, 2) :|: TRUE && matching1 = 0 10.19/3.61 f2143_0_main_Load(EOS(STATIC_2143(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i372, matching2) -> f2148_0_main_IntArithmetic(EOS(STATIC_2148(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i372, 2, i562) :|: TRUE && matching1 = 0 && matching2 = 2 10.19/3.61 f2148_0_main_IntArithmetic(EOS(STATIC_2148(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i372, matching2, i562) -> f2169_0_main_IntArithmetic(EOS(STATIC_2169(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i372, 2 * i562) :|: TRUE && matching1 = 0 && matching2 = 2 10.19/3.61 f2169_0_main_IntArithmetic(EOS(STATIC_2169(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i372, i1038) -> f2184_0_main_Load(EOS(STATIC_2184(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i372 + i1038) :|: i372 >= 0 && i1038 >= 0 && matching1 = 0 10.19/3.61 f2184_0_main_Load(EOS(STATIC_2184(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i1046) -> f2195_0_main_IntArithmetic(EOS(STATIC_2195(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i1046, 0) :|: TRUE && matching1 = 0 10.19/3.61 f2195_0_main_IntArithmetic(EOS(STATIC_2195(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i1046, matching2) -> f2201_0_main_Store(EOS(STATIC_2201(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i1046 - 0) :|: i1046 >= 0 && matching1 = 0 && matching2 = 0 10.19/3.61 f2201_0_main_Store(EOS(STATIC_2201(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i1046) -> f2272_0_main_JMP(EOS(STATIC_2272(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i1046) :|: TRUE && matching1 = 0 10.19/3.61 f2272_0_main_JMP(EOS(STATIC_2272(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i1046) -> f2304_0_main_Load(EOS(STATIC_2304(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i1046) :|: TRUE && matching1 = 0 10.19/3.61 f2304_0_main_Load(EOS(STATIC_2304(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, matching1, i1046) -> f973_0_main_Load(EOS(STATIC_973(java.lang.Object(ARRAY(i370)), i451)), java.lang.Object(ARRAY(i370)), i562, 0, i1046) :|: TRUE && matching1 = 0 10.19/3.61 f973_0_main_Load(EOS(STATIC_973(java.lang.Object(ARRAY(i4)), i191)), java.lang.Object(ARRAY(i4)), i21, i90, i259) -> f2633_0_main_Load(EOS(STATIC_2633(java.lang.Object(ARRAY(i4)), i191)), java.lang.Object(ARRAY(i4)), i21, i90, i259) :|: TRUE 10.19/3.61 Combined rules. Obtained 2 IRulesP rules: 10.19/3.61 f2633_0_main_Load(EOS(STATIC_2633(java.lang.Object(ARRAY(i1417:0)), i1418:0)), java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0) -> f2633_0_main_Load(EOS(STATIC_2633(java.lang.Object(ARRAY(i1417:0)), i1418:0 + 2)), java.lang.Object(ARRAY(i1417:0)), i562:0, i892:0, i1421:0 + 2 * i562:0 - i892:0) :|: i1418:0 + 1 < i1417:0 && i1418:0 > 0 && i1421:0 > -1 && i1417:0 > -1 && i562:0 > -1 && i892:0 > -1 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && 2 * i562:0 - i892:0 < 2 * i1419:0 - i1420:0 && i1421:0 + 2 * i562:0 >= 0 10.19/3.61 f2633_0_main_Load(EOS(STATIC_2633(java.lang.Object(ARRAY(i1417:0)), i1418:0)), java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0) -> f2633_0_main_Load(EOS(STATIC_2633(java.lang.Object(ARRAY(i1417:0)), i1418:0 + 1)), java.lang.Object(ARRAY(i1417:0)), i562:0, 0, i1421:0 + 2 * i562:0) :|: i1421:0 > -1 && i1417:0 > -1 && i1418:0 < i1417:0 && i1418:0 > 0 && i562:0 > -1 && i1418:0 + 1 >= i1417:0 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && 2 * i562:0 < 2 * i1419:0 - i1420:0 && i1421:0 + 2 * i562:0 >= 0 10.19/3.61 Finished conversion. Obtained 2 rules.P rules: 10.19/3.61 f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0, i1417:0, i1418:0, i1417:0) -> f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i562:0, i892:0, i1421:0 + 2 * i562:0 - i892:0, i1417:0, i1418:0 + 2, i1417:0) :|: i1418:0 > 0 && i1418:0 + 1 < i1417:0 && i1421:0 > -1 && i1417:0 > -1 && i562:0 > -1 && i892:0 > -1 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && i1421:0 + 2 * i562:0 >= 0 && 2 * i562:0 - i892:0 < 2 * i1419:0 - i1420:0 10.19/3.61 f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0, i1417:0, i1418:0, i1417:0) -> f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i562:0, 0, i1421:0 + 2 * i562:0, i1417:0, i1418:0 + 1, i1417:0) :|: i1417:0 > -1 && i1421:0 > -1 && i1418:0 < i1417:0 && i1418:0 > 0 && i562:0 > -1 && i1418:0 + 1 >= i1417:0 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && i1421:0 + 2 * i562:0 >= 0 && 2 * i562:0 < 2 * i1419:0 - i1420:0 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (9) 10.19/3.61 Obligation: 10.19/3.61 Rules: 10.19/3.61 f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0, i1417:0, i1418:0, i1417:0) -> f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i562:0, i892:0, i1421:0 + 2 * i562:0 - i892:0, i1417:0, i1418:0 + 2, i1417:0) :|: i1418:0 > 0 && i1418:0 + 1 < i1417:0 && i1421:0 > -1 && i1417:0 > -1 && i562:0 > -1 && i892:0 > -1 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && i1421:0 + 2 * i562:0 >= 0 && 2 * i562:0 - i892:0 < 2 * i1419:0 - i1420:0 10.19/3.61 f2633_0_main_Load(java.lang.Object(ARRAY(x)), x1, x2, x3, x, x4, x) -> f2633_0_main_Load(java.lang.Object(ARRAY(x)), x5, 0, x3 + 2 * x5, x, x4 + 1, x) :|: x > -1 && x3 > -1 && x4 < x && x4 > 0 && x5 > -1 && x4 + 1 >= x && x2 > -1 && 2 * x1 >= 0 && 2 * x5 >= 0 && x3 + 2 * x5 >= 0 && 2 * x5 < 2 * x1 - x2 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (10) IRSFormatTransformerProof (EQUIVALENT) 10.19/3.61 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (11) 10.19/3.61 Obligation: 10.19/3.61 Rules: 10.19/3.61 f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0, i1417:0, i1418:0, i1417:0) -> f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i562:0, i892:0, arith, i1417:0, arith1, i1417:0) :|: i1418:0 > 0 && i1418:0 + 1 < i1417:0 && i1421:0 > -1 && i1417:0 > -1 && i562:0 > -1 && i892:0 > -1 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && i1421:0 + 2 * i562:0 >= 0 && 2 * i562:0 - i892:0 < 2 * i1419:0 - i1420:0 && arith = i1421:0 + 2 * i562:0 - i892:0 && arith1 = i1418:0 + 2 10.19/3.61 f2633_0_main_Load(java.lang.Object(ARRAY(x6)), x7, x8, x9, x6, x10, x6) -> f2633_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 && x8 > -1 && 2 * x7 >= 0 && 2 * x11 >= 0 && x9 + 2 * x11 >= 0 && 2 * x11 < 2 * x7 - x8 && x12 = x9 + 2 * x11 && x13 = x10 + 1 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (12) IRSwTTerminationDigraphProof (EQUIVALENT) 10.19/3.61 Constructed termination digraph! 10.19/3.61 Nodes: 10.19/3.61 (1) f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0, i1417:0, i1418:0, i1417:0) -> f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i562:0, i892:0, arith, i1417:0, arith1, i1417:0) :|: i1418:0 > 0 && i1418:0 + 1 < i1417:0 && i1421:0 > -1 && i1417:0 > -1 && i562:0 > -1 && i892:0 > -1 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && i1421:0 + 2 * i562:0 >= 0 && 2 * i562:0 - i892:0 < 2 * i1419:0 - i1420:0 && arith = i1421:0 + 2 * i562:0 - i892:0 && arith1 = i1418:0 + 2 10.19/3.61 (2) f2633_0_main_Load(java.lang.Object(ARRAY(x6)), x7, x8, x9, x6, x10, x6) -> f2633_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 && x8 > -1 && 2 * x7 >= 0 && 2 * x11 >= 0 && x9 + 2 * x11 >= 0 && 2 * x11 < 2 * x7 - x8 && x12 = x9 + 2 * x11 && x13 = x10 + 1 10.19/3.61 10.19/3.61 Arcs: 10.19/3.61 (1) -> (1), (2) 10.19/3.61 10.19/3.61 This digraph is fully evaluated! 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (13) 10.19/3.61 Obligation: 10.19/3.61 10.19/3.61 Termination digraph: 10.19/3.61 Nodes: 10.19/3.61 (1) f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i1419:0, i1420:0, i1421:0, i1417:0, i1418:0, i1417:0) -> f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0)), i562:0, i892:0, arith, i1417:0, arith1, i1417:0) :|: i1418:0 > 0 && i1418:0 + 1 < i1417:0 && i1421:0 > -1 && i1417:0 > -1 && i562:0 > -1 && i892:0 > -1 && i1420:0 > -1 && 2 * i1419:0 >= 0 && 2 * i562:0 >= 0 && i1421:0 + 2 * i562:0 >= 0 && 2 * i562:0 - i892:0 < 2 * i1419:0 - i1420:0 && arith = i1421:0 + 2 * i562:0 - i892:0 && arith1 = i1418:0 + 2 10.19/3.61 10.19/3.61 Arcs: 10.19/3.61 (1) -> (1) 10.19/3.61 10.19/3.61 This digraph is fully evaluated! 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (14) IntTRSCompressionProof (EQUIVALENT) 10.19/3.61 Compressed rules. 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (15) 10.19/3.61 Obligation: 10.19/3.61 Rules: 10.19/3.61 f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0:0)), i1419:0:0, i1420:0:0, i1421:0:0, i1417:0:0, i1418:0:0, i1417:0:0) -> f2633_0_main_Load(java.lang.Object(ARRAY(i1417:0:0)), i562:0:0, i892:0:0, i1421:0:0 + 2 * i562:0:0 - i892:0:0, i1417:0:0, i1418:0:0 + 2, i1417:0:0) :|: i1421:0:0 + 2 * i562:0:0 >= 0 && 2 * i562:0:0 - i892:0:0 < 2 * i1419:0:0 - i1420:0:0 && 2 * i562:0:0 >= 0 && 2 * i1419:0:0 >= 0 && i1420:0:0 > -1 && i892:0:0 > -1 && i562:0:0 > -1 && i1417:0:0 > -1 && i1421:0:0 > -1 && i1418:0:0 + 1 < i1417:0:0 && i1418:0:0 > 0 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (16) TempFilterProof (SOUND) 10.19/3.61 Used the following sort dictionary for filtering: 10.19/3.61 f2633_0_main_Load(VARIABLE, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER, INTEGER) 10.19/3.61 java.lang.Object(VARIABLE) 10.19/3.61 ARRAY(INTEGER) 10.19/3.61 Replaced non-predefined constructor symbols by 0. 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (17) 10.19/3.61 Obligation: 10.19/3.61 Rules: 10.19/3.61 f2633_0_main_Load(c, i1419:0:0, i1420:0:0, i1421:0:0, i1417:0:0, i1418:0:0, i1417:0:0) -> f2633_0_main_Load(c1, i562:0:0, i892:0:0, c2, i1417:0:0, c3, i1417:0:0) :|: c3 = i1418:0:0 + 2 && (c2 = i1421:0:0 + 2 * i562:0:0 - i892:0:0 && (c1 = 0 && c = 0)) && (i1421:0:0 + 2 * i562:0:0 >= 0 && 2 * i562:0:0 - i892:0:0 < 2 * i1419:0:0 - i1420:0:0 && 2 * i562:0:0 >= 0 && 2 * i1419:0:0 >= 0 && i1420:0:0 > -1 && i892:0:0 > -1 && i562:0:0 > -1 && i1417:0:0 > -1 && i1421:0:0 > -1 && i1418:0:0 + 1 < i1417:0:0 && i1418:0:0 > 0) 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (18) PolynomialOrderProcessor (EQUIVALENT) 10.19/3.61 Found the following polynomial interpretation: 10.19/3.61 [f2633_0_main_Load(x, x1, x2, x3, x4, x5, x6)] = -2 + c*x - x5 + x6 10.19/3.61 10.19/3.61 The following rules are decreasing: 10.19/3.61 f2633_0_main_Load(c, i1419:0:0, i1420:0:0, i1421:0:0, i1417:0:0, i1418:0:0, i1417:0:0) -> f2633_0_main_Load(c1, i562:0:0, i892:0:0, c2, i1417:0:0, c3, i1417:0:0) :|: c3 = i1418:0:0 + 2 && (c2 = i1421:0:0 + 2 * i562:0:0 - i892:0:0 && (c1 = 0 && c = 0)) && (i1421:0:0 + 2 * i562:0:0 >= 0 && 2 * i562:0:0 - i892:0:0 < 2 * i1419:0:0 - i1420:0:0 && 2 * i562:0:0 >= 0 && 2 * i1419:0:0 >= 0 && i1420:0:0 > -1 && i892:0:0 > -1 && i562:0:0 > -1 && i1417:0:0 > -1 && i1421:0:0 > -1 && i1418:0:0 + 1 < i1417:0:0 && i1418:0:0 > 0) 10.19/3.61 The following rules are bounded: 10.19/3.61 f2633_0_main_Load(c, i1419:0:0, i1420:0:0, i1421:0:0, i1417:0:0, i1418:0:0, i1417:0:0) -> f2633_0_main_Load(c1, i562:0:0, i892:0:0, c2, i1417:0:0, c3, i1417:0:0) :|: c3 = i1418:0:0 + 2 && (c2 = i1421:0:0 + 2 * i562:0:0 - i892:0:0 && (c1 = 0 && c = 0)) && (i1421:0:0 + 2 * i562:0:0 >= 0 && 2 * i562:0:0 - i892:0:0 < 2 * i1419:0:0 - i1420:0:0 && 2 * i562:0:0 >= 0 && 2 * i1419:0:0 >= 0 && i1420:0:0 > -1 && i892:0:0 > -1 && i562:0:0 > -1 && i1417:0:0 > -1 && i1421:0:0 > -1 && i1418:0:0 + 1 < i1417:0:0 && i1418:0:0 > 0) 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (19) 10.19/3.61 YES 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (20) 10.19/3.61 Obligation: 10.19/3.61 SCC of termination graph based on JBC Program. 10.19/3.61 SCC contains nodes from the following methods: Et5.main([Ljava/lang/String;)V 10.19/3.61 SCC calls the following helper methods: 10.19/3.61 Performed SCC analyses: 10.19/3.61 *Used field analysis yielded the following read fields: 10.19/3.61 10.19/3.61 *Marker field analysis yielded the following relations that could be markers: 10.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (21) SCCToIRSProof (SOUND) 10.19/3.61 Transformed FIGraph SCCs to intTRSs. Log: 10.19/3.61 Generated rules. Obtained 46 IRulesP rules: 10.19/3.61 f459_0_main_LT(EOS(STATIC_459(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f469_0_main_InvokeMethod(EOS(STATIC_469(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0) :|: 0 >= 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f469_0_main_InvokeMethod(EOS(STATIC_469(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f473_0_random_FieldAccess(EOS(STATIC_473(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.19/3.61 f473_0_random_FieldAccess(EOS(STATIC_473(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f487_0_random_FieldAccess(EOS(STATIC_487(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, i12) :|: TRUE && matching1 = 0 && matching2 = 0 10.19/3.61 f487_0_random_FieldAccess(EOS(STATIC_487(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12) -> f495_0_random_ArrayLength(EOS(STATIC_495(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.19/3.61 f495_0_random_ArrayLength(EOS(STATIC_495(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12, java.lang.Object(ARRAY(i4))) -> f515_0_random_LT(EOS(STATIC_515(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, i12, i4) :|: i4 >= 0 && matching1 = 0 && matching2 = 0 10.19/3.61 f515_0_random_LT(EOS(STATIC_515(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12, i4) -> f536_0_random_LT(EOS(STATIC_536(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, i12, i4) :|: i12 >= i4 && matching1 = 0 && matching2 = 0 10.19/3.61 f536_0_random_LT(EOS(STATIC_536(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, i12, i4) -> f556_0_random_ConstantStackPush(EOS(STATIC_556(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0) :|: i12 >= i4 && matching1 = 0 && matching2 = 0 10.19/3.61 f556_0_random_ConstantStackPush(EOS(STATIC_556(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f568_0_random_Return(EOS(STATIC_568(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.19/3.61 f568_0_random_Return(EOS(STATIC_568(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f578_0_main_Store(EOS(STATIC_578(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f578_0_main_Store(EOS(STATIC_578(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f643_0_main_InvokeMethod(EOS(STATIC_643(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f643_0_main_InvokeMethod(EOS(STATIC_643(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f672_0_random_FieldAccess(EOS(STATIC_672(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f672_0_random_FieldAccess(EOS(STATIC_672(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f699_0_random_FieldAccess(EOS(STATIC_699(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, i12) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f699_0_random_FieldAccess(EOS(STATIC_699(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12) -> f723_0_random_ArrayLength(EOS(STATIC_723(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.19/3.61 f723_0_random_ArrayLength(EOS(STATIC_723(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12, java.lang.Object(ARRAY(i4))) -> f765_0_random_LT(EOS(STATIC_765(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.19/3.61 f765_0_random_LT(EOS(STATIC_765(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12, i4) -> f783_0_random_LT(EOS(STATIC_783(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.19/3.61 f783_0_random_LT(EOS(STATIC_783(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, i12, i4) -> f796_0_random_ConstantStackPush(EOS(STATIC_796(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: i12 >= i4 && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f796_0_random_ConstantStackPush(EOS(STATIC_796(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3) -> f810_0_random_Return(EOS(STATIC_810(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f810_0_random_Return(EOS(STATIC_810(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f814_0_main_Store(EOS(STATIC_814(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.19/3.61 f814_0_main_Store(EOS(STATIC_814(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f818_0_main_ConstantStackPush(EOS(STATIC_818(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.19/3.61 f818_0_main_ConstantStackPush(EOS(STATIC_818(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4) -> f826_0_main_Load(EOS(STATIC_826(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.19/3.61 f826_0_main_Load(EOS(STATIC_826(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2, matching3, matching4, matching5) -> f858_0_main_IntArithmetic(EOS(STATIC_858(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.19/3.61 f858_0_main_IntArithmetic(EOS(STATIC_858(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4, matching5, i21) -> f869_0_main_Load(EOS(STATIC_869(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.19/3.61 f869_0_main_Load(EOS(STATIC_869(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4, i239) -> f890_0_main_IntArithmetic(EOS(STATIC_890(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i239, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f890_0_main_IntArithmetic(EOS(STATIC_890(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i239, matching4) -> f904_0_main_ConstantStackPush(EOS(STATIC_904(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i239 - 0) :|: i239 >= 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f904_0_main_ConstantStackPush(EOS(STATIC_904(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i239) -> f913_0_main_Load(EOS(STATIC_913(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i239) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f913_0_main_Load(EOS(STATIC_913(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i239) -> f935_0_main_IntArithmetic(EOS(STATIC_935(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i239, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f935_0_main_IntArithmetic(EOS(STATIC_935(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i239, matching4) -> f939_0_main_Load(EOS(STATIC_939(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i239, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f939_0_main_Load(EOS(STATIC_939(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i239, matching4) -> f949_0_main_IntArithmetic(EOS(STATIC_949(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i239, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f949_0_main_IntArithmetic(EOS(STATIC_949(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i239, matching4, matching5) -> f965_0_main_GT(EOS(STATIC_965(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i239, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 && matching5 = 0 10.19/3.61 f965_0_main_GT(EOS(STATIC_965(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i266, matching4) -> f972_0_main_GT(EOS(STATIC_972(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, i266, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f972_0_main_GT(EOS(STATIC_972(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, i266, matching4) -> f1013_0_main_Load(EOS(STATIC_1013(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: i266 > 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f1013_0_main_Load(EOS(STATIC_1013(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1030_0_main_Store(EOS(STATIC_1030(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1030_0_main_Store(EOS(STATIC_1030(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1057_0_main_Load(EOS(STATIC_1057(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1057_0_main_Load(EOS(STATIC_1057(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1071_0_main_Store(EOS(STATIC_1071(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1071_0_main_Store(EOS(STATIC_1071(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1094_0_main_Load(EOS(STATIC_1094(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1094_0_main_Load(EOS(STATIC_1094(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1105_0_main_ConstantStackPush(EOS(STATIC_1105(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1105_0_main_ConstantStackPush(EOS(STATIC_1105(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1118_0_main_Load(EOS(STATIC_1118(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1118_0_main_Load(EOS(STATIC_1118(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1273_0_main_IntArithmetic(EOS(STATIC_1273(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1273_0_main_IntArithmetic(EOS(STATIC_1273(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4) -> f1281_0_main_IntArithmetic(EOS(STATIC_1281(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.19/3.61 f1281_0_main_IntArithmetic(EOS(STATIC_1281(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4) -> f1302_0_main_Load(EOS(STATIC_1302(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f1302_0_main_Load(EOS(STATIC_1302(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1308_0_main_IntArithmetic(EOS(STATIC_1308(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1308_0_main_IntArithmetic(EOS(STATIC_1308(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3, matching4) -> f1318_0_main_Store(EOS(STATIC_1318(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 10.19/3.61 f1318_0_main_Store(EOS(STATIC_1318(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1326_0_main_JMP(EOS(STATIC_1326(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1326_0_main_JMP(EOS(STATIC_1326(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f1420_0_main_Load(EOS(STATIC_1420(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f1420_0_main_Load(EOS(STATIC_1420(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), matching1, matching2, matching3) -> f441_0_main_Load(EOS(STATIC_441(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 10.19/3.61 f441_0_main_Load(EOS(STATIC_441(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, matching1, matching2) -> f459_0_main_LT(EOS(STATIC_459(java.lang.Object(ARRAY(i4)), i12)), java.lang.Object(ARRAY(i4)), i21, 0, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 10.19/3.61 Combined rules. Obtained 1 IRulesP rules: 10.19/3.61 f459_0_main_LT(EOS(STATIC_459(java.lang.Object(ARRAY(i4:0)), i12:0)), java.lang.Object(ARRAY(i4:0)), i21:0, 0, 0, 0) -> f459_0_main_LT(EOS(STATIC_459(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.19/3.61 Filtered constant ground arguments: 10.19/3.61 f459_0_main_LT(x1, x2, x3, x4, x5, x6) -> f459_0_main_LT(x1, x2, x3) 10.19/3.61 Finished conversion. Obtained 1 rules.P rules: 10.19/3.61 f459_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f459_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.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (22) 10.19/3.61 Obligation: 10.19/3.61 Rules: 10.19/3.61 f459_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f459_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.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (23) IRSFormatTransformerProof (EQUIVALENT) 10.19/3.61 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (24) 10.19/3.61 Obligation: 10.19/3.61 Rules: 10.19/3.61 f459_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f459_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.19/3.61 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (25) IRSwTTerminationDigraphProof (EQUIVALENT) 10.19/3.61 Constructed termination digraph! 10.19/3.61 Nodes: 10.19/3.61 (1) f459_0_main_LT(java.lang.Object(ARRAY(i4:0)), i21:0, i4:0, i12:0, i4:0) -> f459_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.19/3.61 10.19/3.61 No arcs! 10.19/3.61 10.19/3.61 This digraph is fully evaluated! 10.19/3.61 ---------------------------------------- 10.19/3.61 10.19/3.61 (26) 10.19/3.61 TRUE 10.19/3.65 EOF