/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 1585 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) JBCTerminationSCC (7) SCCToIRSProof [SOUND, 569 ms] (8) IRSwT (9) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (10) IRSwT (11) IRSwTTerminationDigraphProof [EQUIVALENT, 102 ms] (12) IRSwT (13) IntTRSCompressionProof [EQUIVALENT, 0 ms] (14) IRSwT (15) TempFilterProof [SOUND, 51 ms] (16) IntTRS (17) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (18) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: public class Random { static String[] args; static int index = 0; public static int random() { if (index >= args.length) return 0; String string = args[index]; index++; return string.length(); } } public class Et5 { public static void main(String[] args) { Random.args = args; int a = Random.random(); int b = Random.random(); int c = Random.random(); loop(a,b,c); } public static void loop(int a, int b, int c){ if (c >= 0) { int ap = Random.random(); int bp = Random.random(); if ( 2*a -b > 2*ap-bp ) { a = ap; b = bp; c = c + 2*a -b; loop(a,b,c); } } } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: public class Random { static String[] args; static int index = 0; public static int random() { if (index >= args.length) return 0; String string = args[index]; index++; return string.length(); } } public class Et5 { public static void main(String[] args) { Random.args = args; int a = Random.random(); int b = Random.random(); int c = Random.random(); loop(a,b,c); } public static void loop(int a, int b, int c){ if (c >= 0) { int ap = Random.random(); int bp = Random.random(); if ( 2*a -b > 2*ap-bp ) { a = ap; b = bp; c = c + 2*a -b; loop(a,b,c); } } } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: Et5.main([Ljava/lang/String;)V: Graph of 401 nodes with 0 SCCs. Et5.loop(III)V: Graph of 356 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 1 SCCs. ---------------------------------------- (6) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Et5.loop(III)V SCC calls the following helper methods: Et5.loop(III)V Performed SCC analyses: *Used field analysis yielded the following read fields: *java.lang.String: [count] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (7) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 167 IRulesP rules: f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1591) -> f4350_0_loop_LT(EOS(STATIC_4350(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1591) :|: TRUE f4350_0_loop_LT(EOS(STATIC_4350(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1591) -> f4355_0_loop_InvokeMethod(EOS(STATIC_4355(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) :|: i1591 >= 0 f4355_0_loop_InvokeMethod(EOS(STATIC_4355(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) -> f4359_0_random_FieldAccess(EOS(STATIC_4359(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) :|: TRUE f4359_0_random_FieldAccess(EOS(STATIC_4359(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) -> f4388_0_random_FieldAccess(EOS(STATIC_4388(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583) :|: TRUE f4388_0_random_FieldAccess(EOS(STATIC_4388(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583) -> f4390_0_random_ArrayLength(EOS(STATIC_4390(java.lang.Object(o490sub), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, java.lang.Object(o490sub)) :|: TRUE f4390_0_random_ArrayLength(EOS(STATIC_4390(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, java.lang.Object(ARRAY(i1629))) -> f4391_0_random_ArrayLength(EOS(STATIC_4391(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, java.lang.Object(ARRAY(i1629))) :|: i1629 >= 0 f4391_0_random_ArrayLength(EOS(STATIC_4391(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, java.lang.Object(ARRAY(i1629))) -> f4393_0_random_LT(EOS(STATIC_4393(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, i1629) :|: i1629 >= 0 f4393_0_random_LT(EOS(STATIC_4393(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, i1629) -> f4400_0_random_LT(EOS(STATIC_4400(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, i1629) :|: i1583 < i1629 f4393_0_random_LT(EOS(STATIC_4393(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, i1629) -> f4401_0_random_LT(EOS(STATIC_4401(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, i1629) :|: i1583 >= i1629 f4400_0_random_LT(EOS(STATIC_4400(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, i1629) -> f4404_0_random_FieldAccess(EOS(STATIC_4404(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) :|: i1583 < i1629 f4404_0_random_FieldAccess(EOS(STATIC_4404(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) -> f4406_0_random_FieldAccess(EOS(STATIC_4406(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629))) :|: TRUE f4406_0_random_FieldAccess(EOS(STATIC_4406(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629))) -> f4409_0_random_ArrayAccess(EOS(STATIC_4409(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629)), i1583) :|: TRUE f4409_0_random_ArrayAccess(EOS(STATIC_4409(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629)), i1633) -> f4413_0_random_ArrayAccess(EOS(STATIC_4413(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629)), i1633) :|: TRUE f4413_0_random_ArrayAccess(EOS(STATIC_4413(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629)), i1633) -> f4417_0_random_ArrayAccess(EOS(STATIC_4417(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629)), i1633) :|: TRUE f4417_0_random_ArrayAccess(EOS(STATIC_4417(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(ARRAY(i1629)), i1633) -> f4420_0_random_Store(EOS(STATIC_4420(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501) :|: TRUE f4420_0_random_Store(EOS(STATIC_4420(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501) -> f4423_0_random_FieldAccess(EOS(STATIC_4423(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501) :|: TRUE f4423_0_random_FieldAccess(EOS(STATIC_4423(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501) -> f4431_0_random_ConstantStackPush(EOS(STATIC_4431(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501, i1633) :|: TRUE f4431_0_random_ConstantStackPush(EOS(STATIC_4431(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501, i1633) -> f4436_0_random_IntArithmetic(EOS(STATIC_4436(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501, i1633, 1) :|: TRUE f4436_0_random_IntArithmetic(EOS(STATIC_4436(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501, i1633, matching1) -> f4446_0_random_FieldAccess(EOS(STATIC_4446(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501, i1633 + 1) :|: i1633 >= 0 && matching1 = 1 f4446_0_random_FieldAccess(EOS(STATIC_4446(java.lang.Object(ARRAY(i1629)), i1633)), i1584, i1585, i1591, i1584, i1585, i1591, o501, i1636) -> f4449_0_random_Load(EOS(STATIC_4449(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, o501) :|: TRUE f4449_0_random_Load(EOS(STATIC_4449(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, o501) -> f4452_0_random_InvokeMethod(EOS(STATIC_4452(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, o501) :|: TRUE f4452_0_random_InvokeMethod(EOS(STATIC_4452(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o503sub)) -> f4456_0_random_InvokeMethod(EOS(STATIC_4456(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o503sub)) :|: TRUE f4456_0_random_InvokeMethod(EOS(STATIC_4456(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o504sub)) -> f4460_0_random_InvokeMethod(EOS(STATIC_4460(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o504sub)) :|: TRUE f4460_0_random_InvokeMethod(EOS(STATIC_4460(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o504sub)) -> f4464_0_length_Load(EOS(STATIC_4464(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o504sub)) :|: TRUE f4464_0_length_Load(EOS(STATIC_4464(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o504sub)) -> f4471_0_length_FieldAccess(EOS(STATIC_4471(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(o504sub)) :|: TRUE f4471_0_length_FieldAccess(EOS(STATIC_4471(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(java.lang.String(EOC, i1641))) -> f4475_0_length_FieldAccess(EOS(STATIC_4475(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(java.lang.String(EOC, i1641))) :|: i1641 >= 0 f4475_0_length_FieldAccess(EOS(STATIC_4475(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, java.lang.Object(java.lang.String(EOC, i1641))) -> f4479_0_length_Return(EOS(STATIC_4479(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) :|: TRUE f4479_0_length_Return(EOS(STATIC_4479(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) -> f4483_0_random_Return(EOS(STATIC_4483(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) :|: TRUE f4483_0_random_Return(EOS(STATIC_4483(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) -> f4488_0_loop_Store(EOS(STATIC_4488(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) :|: TRUE f4488_0_loop_Store(EOS(STATIC_4488(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) -> f4492_0_loop_InvokeMethod(EOS(STATIC_4492(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) :|: TRUE f4492_0_loop_InvokeMethod(EOS(STATIC_4492(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) -> f4497_0_random_FieldAccess(EOS(STATIC_4497(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) :|: TRUE f4497_0_random_FieldAccess(EOS(STATIC_4497(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) -> f4505_0_random_FieldAccess(EOS(STATIC_4505(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636) :|: TRUE f4505_0_random_FieldAccess(EOS(STATIC_4505(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636) -> f4511_0_random_ArrayLength(EOS(STATIC_4511(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, java.lang.Object(ARRAY(i1629))) :|: TRUE f4511_0_random_ArrayLength(EOS(STATIC_4511(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, java.lang.Object(ARRAY(i1629))) -> f4517_0_random_LT(EOS(STATIC_4517(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, i1629) :|: i1629 >= 0 f4517_0_random_LT(EOS(STATIC_4517(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, i1629) -> f4523_0_random_LT(EOS(STATIC_4523(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, i1629) :|: i1636 < i1629 f4517_0_random_LT(EOS(STATIC_4517(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, i1629) -> f4524_0_random_LT(EOS(STATIC_4524(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, i1629) :|: i1636 >= i1629 f4523_0_random_LT(EOS(STATIC_4523(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, i1629) -> f4529_0_random_FieldAccess(EOS(STATIC_4529(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) :|: i1636 < i1629 f4529_0_random_FieldAccess(EOS(STATIC_4529(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) -> f4539_0_random_FieldAccess(EOS(STATIC_4539(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(ARRAY(i1629))) :|: TRUE f4539_0_random_FieldAccess(EOS(STATIC_4539(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(ARRAY(i1629))) -> f4545_0_random_ArrayAccess(EOS(STATIC_4545(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(ARRAY(i1629)), i1636) :|: TRUE f4545_0_random_ArrayAccess(EOS(STATIC_4545(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(ARRAY(i1629)), i1636) -> f4551_0_random_ArrayAccess(EOS(STATIC_4551(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(ARRAY(i1629)), i1636) :|: TRUE f4551_0_random_ArrayAccess(EOS(STATIC_4551(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(ARRAY(i1629)), i1636) -> f4558_0_random_Store(EOS(STATIC_4558(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513) :|: TRUE f4558_0_random_Store(EOS(STATIC_4558(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513) -> f4564_0_random_FieldAccess(EOS(STATIC_4564(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513) :|: TRUE f4564_0_random_FieldAccess(EOS(STATIC_4564(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513) -> f4573_0_random_ConstantStackPush(EOS(STATIC_4573(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513, i1636) :|: TRUE f4573_0_random_ConstantStackPush(EOS(STATIC_4573(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513, i1636) -> f4578_0_random_IntArithmetic(EOS(STATIC_4578(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513, i1636, 1) :|: TRUE f4578_0_random_IntArithmetic(EOS(STATIC_4578(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513, i1636, matching1) -> f4587_0_random_FieldAccess(EOS(STATIC_4587(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513, i1636 + 1) :|: i1636 > 0 && matching1 = 1 f4587_0_random_FieldAccess(EOS(STATIC_4587(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513, i1825) -> f4591_0_random_Load(EOS(STATIC_4591(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513) :|: TRUE f4591_0_random_Load(EOS(STATIC_4591(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513) -> f4596_0_random_InvokeMethod(EOS(STATIC_4596(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, o513) :|: TRUE f4596_0_random_InvokeMethod(EOS(STATIC_4596(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o546sub)) -> f4600_0_random_InvokeMethod(EOS(STATIC_4600(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o546sub)) :|: TRUE f4600_0_random_InvokeMethod(EOS(STATIC_4600(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o551sub)) -> f4608_0_random_InvokeMethod(EOS(STATIC_4608(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o551sub)) :|: TRUE f4608_0_random_InvokeMethod(EOS(STATIC_4608(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o551sub)) -> f4613_0_length_Load(EOS(STATIC_4613(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o551sub)) :|: TRUE f4613_0_length_Load(EOS(STATIC_4613(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o551sub)) -> f4621_0_length_FieldAccess(EOS(STATIC_4621(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(o551sub)) :|: TRUE f4621_0_length_FieldAccess(EOS(STATIC_4621(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(java.lang.String(EOC, i1906))) -> f4626_0_length_FieldAccess(EOS(STATIC_4626(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(java.lang.String(EOC, i1906))) :|: i1906 >= 0 f4626_0_length_FieldAccess(EOS(STATIC_4626(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, java.lang.Object(java.lang.String(EOC, i1906))) -> f4630_0_length_Return(EOS(STATIC_4630(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) :|: TRUE f4630_0_length_Return(EOS(STATIC_4630(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) -> f4633_0_random_Return(EOS(STATIC_4633(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) :|: TRUE f4633_0_random_Return(EOS(STATIC_4633(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) -> f4651_0_loop_Store(EOS(STATIC_4651(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) :|: TRUE f4651_0_loop_Store(EOS(STATIC_4651(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) -> f4656_0_loop_ConstantStackPush(EOS(STATIC_4656(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) :|: TRUE f4656_0_loop_ConstantStackPush(EOS(STATIC_4656(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906) -> f4662_0_loop_Load(EOS(STATIC_4662(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906, 2) :|: TRUE f4662_0_loop_Load(EOS(STATIC_4662(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1906, matching1) -> f4666_0_loop_IntArithmetic(EOS(STATIC_4666(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1585, i1591, i1641, i1906, 2, i1584) :|: TRUE && matching1 = 2 f4666_0_loop_IntArithmetic(EOS(STATIC_4666(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1585, i1591, i1641, i1906, matching1, i1584) -> f4679_0_loop_Load(EOS(STATIC_4679(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1585, i1591, i1641, i1906, 2 * i1584) :|: TRUE && matching1 = 2 f4679_0_loop_Load(EOS(STATIC_4679(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1585, i1591, i1641, i1906, i2170) -> f4684_0_loop_IntArithmetic(EOS(STATIC_4684(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2170, i1585) :|: TRUE f4684_0_loop_IntArithmetic(EOS(STATIC_4684(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2170, i1585) -> f4688_0_loop_ConstantStackPush(EOS(STATIC_4688(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2170 - i1585) :|: i2170 >= 0 && i1585 >= 0 f4688_0_loop_ConstantStackPush(EOS(STATIC_4688(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176) -> f4692_0_loop_Load(EOS(STATIC_4692(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, 2) :|: TRUE f4692_0_loop_Load(EOS(STATIC_4692(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, matching1) -> f4696_0_loop_IntArithmetic(EOS(STATIC_4696(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, 2, i1641) :|: TRUE && matching1 = 2 f4696_0_loop_IntArithmetic(EOS(STATIC_4696(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, matching1, i1641) -> f4700_0_loop_Load(EOS(STATIC_4700(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, 2 * i1641) :|: TRUE && matching1 = 2 f4700_0_loop_Load(EOS(STATIC_4700(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, i2177) -> f4704_0_loop_IntArithmetic(EOS(STATIC_4704(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, i2177, i1906) :|: TRUE f4704_0_loop_IntArithmetic(EOS(STATIC_4704(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, i2177, i1906) -> f4708_0_loop_LE(EOS(STATIC_4708(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, i2177 - i1906) :|: i2177 >= 0 && i1906 >= 0 f4708_0_loop_LE(EOS(STATIC_4708(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, i2178) -> f4713_0_loop_LE(EOS(STATIC_4713(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, i2178) :|: i2176 > i2178 f4713_0_loop_LE(EOS(STATIC_4713(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906, i2176, i2178) -> f4718_0_loop_Load(EOS(STATIC_4718(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906) :|: i2176 > i2178 f4718_0_loop_Load(EOS(STATIC_4718(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1641, i1906) -> f4723_0_loop_Store(EOS(STATIC_4723(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1906, i1641) :|: TRUE f4723_0_loop_Store(EOS(STATIC_4723(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1591, i1906, i1641) -> f4725_0_loop_Load(EOS(STATIC_4725(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1591, i1906) :|: TRUE f4725_0_loop_Load(EOS(STATIC_4725(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1591, i1906) -> f4737_0_loop_Store(EOS(STATIC_4737(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1591, i1906) :|: TRUE f4737_0_loop_Store(EOS(STATIC_4737(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1591, i1906) -> f4740_0_loop_Load(EOS(STATIC_4740(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591) :|: TRUE f4740_0_loop_Load(EOS(STATIC_4740(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591) -> f4760_0_loop_ConstantStackPush(EOS(STATIC_4760(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591) :|: TRUE f4760_0_loop_ConstantStackPush(EOS(STATIC_4760(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591) -> f4765_0_loop_Load(EOS(STATIC_4765(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591, 2) :|: TRUE f4765_0_loop_Load(EOS(STATIC_4765(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591, matching1) -> f4781_0_loop_IntArithmetic(EOS(STATIC_4781(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591, 2, i1641) :|: TRUE && matching1 = 2 f4781_0_loop_IntArithmetic(EOS(STATIC_4781(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591, matching1, i1641) -> f4783_0_loop_IntArithmetic(EOS(STATIC_4783(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591, 2 * i1641) :|: TRUE && matching1 = 2 f4783_0_loop_IntArithmetic(EOS(STATIC_4783(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591, i2769) -> f4792_0_loop_Load(EOS(STATIC_4792(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i1591 + i2769) :|: i1591 >= 0 && i2769 >= 0 f4792_0_loop_Load(EOS(STATIC_4792(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2787) -> f4794_0_loop_IntArithmetic(EOS(STATIC_4794(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2787, i1906) :|: TRUE f4794_0_loop_IntArithmetic(EOS(STATIC_4794(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2787, i1906) -> f4802_0_loop_Store(EOS(STATIC_4802(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2787 - i1906) :|: i2787 >= 0 && i1906 >= 0 f4802_0_loop_Store(EOS(STATIC_4802(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2861) -> f4803_0_loop_Load(EOS(STATIC_4803(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2861) :|: TRUE f4803_0_loop_Load(EOS(STATIC_4803(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2861) -> f4804_0_loop_Load(EOS(STATIC_4804(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1906, i2861, i1641) :|: TRUE f4804_0_loop_Load(EOS(STATIC_4804(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1906, i2861, i1641) -> f4805_0_loop_Load(EOS(STATIC_4805(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i2861, i1641, i1906) :|: TRUE f4805_0_loop_Load(EOS(STATIC_4805(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i2861, i1641, i1906) -> f4806_0_loop_InvokeMethod(EOS(STATIC_4806(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2861) :|: TRUE f4806_0_loop_InvokeMethod(EOS(STATIC_4806(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2861) -> f4807_0_loop_Load(EOS(STATIC_4807(java.lang.Object(ARRAY(i1629)), i1825)), i1641, i1906, i2861, i1641, i1906, i2861) :|: i1825 > 1 && i1629 > 1 && i1825 <= i1629 f4806_0_loop_InvokeMethod(EOS(STATIC_4806(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2861) -> f4807_1_loop_Load(EOS(STATIC_4807(java.lang.Object(ARRAY(i1629)), i1825)), i1584, i1585, i1591, i1641, i1906, i2861) :|: i1825 > 1 && i1629 > 1 && i1825 <= i1629 f4807_0_loop_Load(EOS(STATIC_4807(java.lang.Object(ARRAY(i1629)), i1825)), i1641, i1906, i2861, i1641, i1906, i2861) -> f4808_0_loop_Load(EOS(STATIC_4808(java.lang.Object(ARRAY(i1629)), i1825)), i1641, i1906, i2861, i1641, i1906, i2861) :|: TRUE f4808_0_loop_Load(EOS(STATIC_4808(java.lang.Object(ARRAY(i1629)), i1825)), i1641, i1906, i2861, i1641, i1906, i2861) -> f4342_0_loop_Load(EOS(STATIC_4342(java.lang.Object(ARRAY(i1629)), i1825)), i1641, i1906, i2861, i1641, i1906, i2861) :|: TRUE f4342_0_loop_Load(EOS(STATIC_4342(java.lang.Object(o490sub), i1583)), i1584, i1585, i1586, i1584, i1585, i1586) -> f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(o490sub), i1583)), i1584, i1585, i1586, i1584, i1585, i1586, i1586) :|: TRUE f4524_0_random_LT(EOS(STATIC_4524(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, i1636, i1629) -> f4530_0_random_ConstantStackPush(EOS(STATIC_4530(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) :|: i1636 >= i1629 f4530_0_random_ConstantStackPush(EOS(STATIC_4530(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641) -> f4540_0_random_Return(EOS(STATIC_4540(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, 0) :|: TRUE f4540_0_random_Return(EOS(STATIC_4540(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, matching1) -> f4546_0_loop_Store(EOS(STATIC_4546(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, 0) :|: TRUE && matching1 = 0 f4546_0_loop_Store(EOS(STATIC_4546(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, matching1) -> f4553_0_loop_ConstantStackPush(EOS(STATIC_4553(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, 0) :|: TRUE && matching1 = 0 f4553_0_loop_ConstantStackPush(EOS(STATIC_4553(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, matching1) -> f4560_0_loop_Load(EOS(STATIC_4560(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, 0, 2) :|: TRUE && matching1 = 0 f4560_0_loop_Load(EOS(STATIC_4560(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1584, i1585, i1591, i1641, matching1, matching2) -> f4565_0_loop_IntArithmetic(EOS(STATIC_4565(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1585, i1591, i1641, 0, 2, i1584) :|: TRUE && matching1 = 0 && matching2 = 2 f4565_0_loop_IntArithmetic(EOS(STATIC_4565(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1585, i1591, i1641, matching1, matching2, i1584) -> f4575_0_loop_Load(EOS(STATIC_4575(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1585, i1591, i1641, 0, 2 * i1584) :|: TRUE && matching1 = 0 && matching2 = 2 f4575_0_loop_Load(EOS(STATIC_4575(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1585, i1591, i1641, matching1, i1759) -> f4580_0_loop_IntArithmetic(EOS(STATIC_4580(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1759, i1585) :|: TRUE && matching1 = 0 f4580_0_loop_IntArithmetic(EOS(STATIC_4580(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1759, i1585) -> f4588_0_loop_ConstantStackPush(EOS(STATIC_4588(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1759 - i1585) :|: i1759 >= 0 && i1585 >= 0 && matching1 = 0 f4588_0_loop_ConstantStackPush(EOS(STATIC_4588(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1826) -> f4593_0_loop_Load(EOS(STATIC_4593(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1826, 2) :|: TRUE && matching1 = 0 f4593_0_loop_Load(EOS(STATIC_4593(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1826, matching2) -> f4598_0_loop_IntArithmetic(EOS(STATIC_4598(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1826, 2, i1641) :|: TRUE && matching1 = 0 && matching2 = 2 f4598_0_loop_IntArithmetic(EOS(STATIC_4598(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1826, matching2, i1641) -> f4602_0_loop_Load(EOS(STATIC_4602(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1826, 2 * i1641) :|: TRUE && matching1 = 0 && matching2 = 2 f4602_0_loop_Load(EOS(STATIC_4602(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1826, i1871) -> f4611_0_loop_IntArithmetic(EOS(STATIC_4611(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1826, i1871, 0) :|: TRUE && matching1 = 0 f4611_0_loop_IntArithmetic(EOS(STATIC_4611(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1826, i1871, matching2) -> f4615_0_loop_LE(EOS(STATIC_4615(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1826, i1871 - 0) :|: i1871 >= 0 && matching1 = 0 && matching2 = 0 f4615_0_loop_LE(EOS(STATIC_4615(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1826, i1871) -> f4619_0_loop_LE(EOS(STATIC_4619(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0, i1826, i1871) :|: i1826 > i1871 && matching1 = 0 f4619_0_loop_LE(EOS(STATIC_4619(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1, i1826, i1871) -> f4625_0_loop_Load(EOS(STATIC_4625(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, 0) :|: i1826 > i1871 && matching1 = 0 f4625_0_loop_Load(EOS(STATIC_4625(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, i1641, matching1) -> f4629_0_loop_Store(EOS(STATIC_4629(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, 0, i1641) :|: TRUE && matching1 = 0 f4629_0_loop_Store(EOS(STATIC_4629(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1591, matching1, i1641) -> f4632_0_loop_Load(EOS(STATIC_4632(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, i1591, 0) :|: TRUE && matching1 = 0 f4632_0_loop_Load(EOS(STATIC_4632(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, i1591, matching1) -> f4640_0_loop_Store(EOS(STATIC_4640(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, i1591, 0) :|: TRUE && matching1 = 0 f4640_0_loop_Store(EOS(STATIC_4640(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, i1591, matching1) -> f4653_0_loop_Load(EOS(STATIC_4653(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i1591) :|: TRUE && matching1 = 0 f4653_0_loop_Load(EOS(STATIC_4653(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i1591) -> f4659_0_loop_ConstantStackPush(EOS(STATIC_4659(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i1591) :|: TRUE && matching1 = 0 f4659_0_loop_ConstantStackPush(EOS(STATIC_4659(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i1591) -> f4665_0_loop_Load(EOS(STATIC_4665(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i1591, 2) :|: TRUE && matching1 = 0 f4665_0_loop_Load(EOS(STATIC_4665(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i1591, matching2) -> f4668_0_loop_IntArithmetic(EOS(STATIC_4668(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i1591, 2, i1641) :|: TRUE && matching1 = 0 && matching2 = 2 f4668_0_loop_IntArithmetic(EOS(STATIC_4668(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i1591, matching2, i1641) -> f4682_0_loop_IntArithmetic(EOS(STATIC_4682(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i1591, 2 * i1641) :|: TRUE && matching1 = 0 && matching2 = 2 f4682_0_loop_IntArithmetic(EOS(STATIC_4682(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i1591, i2171) -> f4687_0_loop_Load(EOS(STATIC_4687(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i1591 + i2171) :|: i1591 >= 0 && i2171 >= 0 && matching1 = 0 f4687_0_loop_Load(EOS(STATIC_4687(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i2175) -> f4691_0_loop_IntArithmetic(EOS(STATIC_4691(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i2175, 0) :|: TRUE && matching1 = 0 f4691_0_loop_IntArithmetic(EOS(STATIC_4691(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i2175, matching2) -> f4695_0_loop_Store(EOS(STATIC_4695(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i2175 - 0) :|: i2175 >= 0 && matching1 = 0 && matching2 = 0 f4695_0_loop_Store(EOS(STATIC_4695(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i2175) -> f4699_0_loop_Load(EOS(STATIC_4699(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i2175) :|: TRUE && matching1 = 0 f4699_0_loop_Load(EOS(STATIC_4699(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i2175) -> f4703_0_loop_Load(EOS(STATIC_4703(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, 0, i2175, i1641) :|: TRUE && matching1 = 0 f4703_0_loop_Load(EOS(STATIC_4703(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, matching1, i2175, i1641) -> f4707_0_loop_Load(EOS(STATIC_4707(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i2175, i1641, 0) :|: TRUE && matching1 = 0 f4707_0_loop_Load(EOS(STATIC_4707(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i2175, i1641, matching1) -> f4711_0_loop_InvokeMethod(EOS(STATIC_4711(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i2175) :|: TRUE && matching1 = 0 f4711_0_loop_InvokeMethod(EOS(STATIC_4711(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i2175) -> f4716_0_loop_Load(EOS(STATIC_4716(java.lang.Object(ARRAY(i1629)), i1636)), i1641, 0, i2175, i1641, 0, i2175) :|: i1636 >= 1 && i1636 = i1629 && matching1 = 0 f4711_0_loop_InvokeMethod(EOS(STATIC_4711(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, matching1, i2175) -> f4716_1_loop_Load(EOS(STATIC_4716(java.lang.Object(ARRAY(i1629)), i1636)), i1584, i1585, i1591, i1641, 0, i2175) :|: i1636 >= 1 && i1636 = i1629 && matching1 = 0 f4716_0_loop_Load(EOS(STATIC_4716(java.lang.Object(ARRAY(i1629)), i1636)), i1641, matching1, i2175, i1641, matching2, i2175) -> f4721_0_loop_Load(EOS(STATIC_4721(java.lang.Object(ARRAY(i1629)), i1636)), i1641, 0, i2175, i1641, 0, i2175) :|: TRUE && matching1 = 0 && matching2 = 0 f4721_0_loop_Load(EOS(STATIC_4721(java.lang.Object(ARRAY(i1629)), i1636)), i1641, matching1, i2175, i1641, matching2, i2175) -> f4342_0_loop_Load(EOS(STATIC_4342(java.lang.Object(ARRAY(i1629)), i1636)), i1641, 0, i2175, i1641, 0, i2175) :|: TRUE && matching1 = 0 && matching2 = 0 f4401_0_random_LT(EOS(STATIC_4401(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, i1583, i1629) -> f4405_0_random_ConstantStackPush(EOS(STATIC_4405(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) :|: i1583 >= i1629 f4405_0_random_ConstantStackPush(EOS(STATIC_4405(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591) -> f4408_0_random_Return(EOS(STATIC_4408(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0) :|: TRUE f4408_0_random_Return(EOS(STATIC_4408(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1) -> f4410_0_loop_Store(EOS(STATIC_4410(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0) :|: TRUE && matching1 = 0 f4410_0_loop_Store(EOS(STATIC_4410(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1) -> f4415_0_loop_InvokeMethod(EOS(STATIC_4415(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0) :|: TRUE && matching1 = 0 f4415_0_loop_InvokeMethod(EOS(STATIC_4415(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1) -> f4419_0_random_FieldAccess(EOS(STATIC_4419(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0) :|: TRUE && matching1 = 0 f4419_0_random_FieldAccess(EOS(STATIC_4419(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1) -> f4427_0_random_FieldAccess(EOS(STATIC_4427(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, i1583) :|: TRUE && matching1 = 0 f4427_0_random_FieldAccess(EOS(STATIC_4427(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, i1583) -> f4435_0_random_ArrayLength(EOS(STATIC_4435(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, i1583, java.lang.Object(ARRAY(i1629))) :|: TRUE && matching1 = 0 f4435_0_random_ArrayLength(EOS(STATIC_4435(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, i1583, java.lang.Object(ARRAY(i1629))) -> f4442_0_random_LT(EOS(STATIC_4442(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, i1583, i1629) :|: i1629 >= 0 && matching1 = 0 f4442_0_random_LT(EOS(STATIC_4442(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, i1583, i1629) -> f4447_0_random_LT(EOS(STATIC_4447(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, i1583, i1629) :|: i1583 >= i1629 && matching1 = 0 f4447_0_random_LT(EOS(STATIC_4447(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, i1583, i1629) -> f4451_0_random_ConstantStackPush(EOS(STATIC_4451(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0) :|: i1583 >= i1629 && matching1 = 0 f4451_0_random_ConstantStackPush(EOS(STATIC_4451(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1) -> f4454_0_random_Return(EOS(STATIC_4454(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, 0) :|: TRUE && matching1 = 0 f4454_0_random_Return(EOS(STATIC_4454(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, matching2) -> f4458_0_loop_Store(EOS(STATIC_4458(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4458_0_loop_Store(EOS(STATIC_4458(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, matching2) -> f4463_0_loop_ConstantStackPush(EOS(STATIC_4463(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4463_0_loop_ConstantStackPush(EOS(STATIC_4463(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, matching2) -> f4466_0_loop_Load(EOS(STATIC_4466(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, 0, 0, 2) :|: TRUE && matching1 = 0 && matching2 = 0 f4466_0_loop_Load(EOS(STATIC_4466(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1584, i1585, i1591, matching1, matching2, matching3) -> f4469_0_loop_IntArithmetic(EOS(STATIC_4469(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1585, i1591, 0, 0, 2, i1584) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f4469_0_loop_IntArithmetic(EOS(STATIC_4469(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1585, i1591, matching1, matching2, matching3, i1584) -> f4474_0_loop_Load(EOS(STATIC_4474(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1585, i1591, 0, 0, 2 * i1584) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 2 f4474_0_loop_Load(EOS(STATIC_4474(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1585, i1591, matching1, matching2, i1637) -> f4477_0_loop_IntArithmetic(EOS(STATIC_4477(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1637, i1585) :|: TRUE && matching1 = 0 && matching2 = 0 f4477_0_loop_IntArithmetic(EOS(STATIC_4477(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1637, i1585) -> f4481_0_loop_ConstantStackPush(EOS(STATIC_4481(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1637 - i1585) :|: i1637 >= 0 && i1585 >= 0 && matching1 = 0 && matching2 = 0 f4481_0_loop_ConstantStackPush(EOS(STATIC_4481(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1643) -> f4486_0_loop_Load(EOS(STATIC_4486(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1643) :|: TRUE && matching1 = 0 && matching2 = 0 f4486_0_loop_Load(EOS(STATIC_4486(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1643) -> f4490_0_loop_IntArithmetic(EOS(STATIC_4490(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1643, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4490_0_loop_IntArithmetic(EOS(STATIC_4490(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1643, matching3) -> f4495_0_loop_Load(EOS(STATIC_4495(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1643, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 f4495_0_loop_Load(EOS(STATIC_4495(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1643, matching3) -> f4500_0_loop_IntArithmetic(EOS(STATIC_4500(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1643, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 f4500_0_loop_IntArithmetic(EOS(STATIC_4500(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1643, matching3, matching4) -> f4503_0_loop_LE(EOS(STATIC_4503(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1643, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 f4503_0_loop_LE(EOS(STATIC_4503(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1645, matching3) -> f4509_0_loop_LE(EOS(STATIC_4509(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0, i1645, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 f4509_0_loop_LE(EOS(STATIC_4509(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2, i1645, matching3) -> f4515_0_loop_Load(EOS(STATIC_4515(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0) :|: i1645 > 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 f4515_0_loop_Load(EOS(STATIC_4515(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2) -> f4521_0_loop_Store(EOS(STATIC_4521(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4521_0_loop_Store(EOS(STATIC_4521(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2) -> f4527_0_loop_Load(EOS(STATIC_4527(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, i1591, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4527_0_loop_Load(EOS(STATIC_4527(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, i1591, matching2) -> f4537_0_loop_Store(EOS(STATIC_4537(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, i1591, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4537_0_loop_Store(EOS(STATIC_4537(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, i1591, matching2) -> f4543_0_loop_Load(EOS(STATIC_4543(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591) :|: TRUE && matching1 = 0 && matching2 = 0 f4543_0_loop_Load(EOS(STATIC_4543(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4549_0_loop_ConstantStackPush(EOS(STATIC_4549(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591) :|: TRUE && matching1 = 0 && matching2 = 0 f4549_0_loop_ConstantStackPush(EOS(STATIC_4549(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4556_0_loop_Load(EOS(STATIC_4556(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591) :|: TRUE && matching1 = 0 && matching2 = 0 f4556_0_loop_Load(EOS(STATIC_4556(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4563_0_loop_IntArithmetic(EOS(STATIC_4563(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4563_0_loop_IntArithmetic(EOS(STATIC_4563(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591, matching3) -> f4568_0_loop_IntArithmetic(EOS(STATIC_4568(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591, 0) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 f4568_0_loop_IntArithmetic(EOS(STATIC_4568(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591, matching3) -> f4577_0_loop_Load(EOS(STATIC_4577(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591 + 0, 0, 0, i1591 + 0) :|: i1591 >= 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 f4577_0_loop_Load(EOS(STATIC_4577(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4586_0_loop_IntArithmetic(EOS(STATIC_4586(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4586_0_loop_IntArithmetic(EOS(STATIC_4586(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591, matching3) -> f4590_0_loop_Store(EOS(STATIC_4590(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591 - 0, 0, 0, i1591 - 0) :|: i1591 >= 0 && matching1 = 0 && matching2 = 0 && matching3 = 0 f4590_0_loop_Store(EOS(STATIC_4590(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4595_0_loop_Load(EOS(STATIC_4595(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591) :|: TRUE && matching1 = 0 && matching2 = 0 f4595_0_loop_Load(EOS(STATIC_4595(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4599_0_loop_Load(EOS(STATIC_4599(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, i1591, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4599_0_loop_Load(EOS(STATIC_4599(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, i1591, matching2) -> f4607_0_loop_Load(EOS(STATIC_4607(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, 0, 0) :|: TRUE && matching1 = 0 && matching2 = 0 f4607_0_loop_Load(EOS(STATIC_4607(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, i1591, matching1, matching2) -> f4612_0_loop_InvokeMethod(EOS(STATIC_4612(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591) :|: TRUE && matching1 = 0 && matching2 = 0 f4612_0_loop_InvokeMethod(EOS(STATIC_4612(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4616_0_loop_Load(EOS(STATIC_4616(java.lang.Object(ARRAY(i1629)), i1583)), 0, 0, i1591, 0, 0, i1591) :|: i1583 >= i1629 && matching1 = 0 && matching2 = 0 f4612_0_loop_InvokeMethod(EOS(STATIC_4612(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, matching1, matching2, i1591) -> f4616_1_loop_Load(EOS(STATIC_4616(java.lang.Object(ARRAY(i1629)), i1583)), i1584, i1585, i1591, 0, 0, i1591) :|: i1583 >= i1629 && matching1 = 0 && matching2 = 0 f4616_0_loop_Load(EOS(STATIC_4616(java.lang.Object(ARRAY(i1629)), i1583)), matching1, matching2, i1591, matching3, matching4, i1591) -> f4620_0_loop_Load(EOS(STATIC_4620(java.lang.Object(ARRAY(i1629)), i1583)), 0, 0, i1591, 0, 0, i1591) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 f4620_0_loop_Load(EOS(STATIC_4620(java.lang.Object(ARRAY(i1629)), i1583)), matching1, matching2, i1591, matching3, matching4, i1591) -> f4342_0_loop_Load(EOS(STATIC_4342(java.lang.Object(ARRAY(i1629)), i1583)), 0, 0, i1591, 0, 0, i1591) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 && matching4 = 0 Combined rules. Obtained 6 IRulesP rules: f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1629:0)), i1583:0)), i1584:0, i1585:0, arith, i1584:0, i1585:0, arith, arith) -> f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1629:0)), i1583:0)), 0, 0, arith, 0, 0, arith, arith) :|: arith > -1 && i1629:0 > -1 && i1629:0 <= i1583:0 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1584:0 - i1585:0 > 0 f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1629:0)), i1583:0)), i1584:0, i1585:0, i1591:0, i1584:0, i1585:0, i1591:0, i1591:0) -> f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1629:0)), i1583:0 + 2)), i1641:0, i1906:0, i1591:0 + 2 * i1641:0 - i1906:0, i1641:0, i1906:0, i1591:0 + 2 * i1641:0 - i1906:0, i1591:0 + 2 * i1641:0 - i1906:0) :|: i1629:0 > i1583:0 + 1 && i1629:0 > 1 && i1591:0 > -1 && i1583:0 > -1 && i1641:0 > -1 && i1906:0 > -1 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1641:0 >= 0 && 2 * i1641:0 - i1906:0 < 2 * i1584:0 - i1585:0 && i1591:0 + 2 * i1641:0 >= 0 && i1629:0 >= i1583:0 + 2 f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1583:0 + 1)), i1583:0)), i1584:0, i1585:0, i1591:0, i1584:0, i1585:0, i1591:0, i1591:0) -> f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1583:0 + 1)), i1583:0 + 1)), i1641:0, 0, i1591:0 + 2 * i1641:0, i1641:0, 0, i1591:0 + 2 * i1641:0, i1591:0 + 2 * i1641:0) :|: i1583:0 > -1 && i1591:0 > -1 && i1583:0 + 1 > i1583:0 && i1641:0 > -1 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1641:0 >= 0 && 2 * i1641:0 < 2 * i1584:0 - i1585:0 && i1591:0 + 2 * i1641:0 >= 0 Removed following non-SCC rules: f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1629:0)), i1583:0)), i1584:0, i1585:0, arith, i1584:0, i1585:0, arith, arith) -> f4616_1_loop_Load(EOS(STATIC_4616(java.lang.Object(ARRAY(i1629:0)), i1583:0)), i1584:0, i1585:0, arith, 0, 0, arith) :|: arith > -1 && i1629:0 > -1 && i1629:0 <= i1583:0 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1584:0 - i1585:0 > 0 f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1583:0 + 1)), i1583:0)), i1584:0, i1585:0, i1591:0, i1584:0, i1585:0, i1591:0, i1591:0) -> f4716_1_loop_Load(EOS(STATIC_4716(java.lang.Object(ARRAY(i1583:0 + 1)), i1583:0 + 1)), i1584:0, i1585:0, i1591:0, i1641:0, 0, i1591:0 + 2 * i1641:0) :|: i1583:0 > -1 && i1591:0 > -1 && i1583:0 + 1 > i1583:0 && i1641:0 > -1 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1641:0 >= 0 && 2 * i1641:0 < 2 * i1584:0 - i1585:0 && i1591:0 + 2 * i1641:0 >= 0 f4346_0_loop_LT(EOS(STATIC_4346(java.lang.Object(ARRAY(i1629:0)), i1583:0)), i1584:0, i1585:0, i1591:0, i1584:0, i1585:0, i1591:0, i1591:0) -> f4807_1_loop_Load(EOS(STATIC_4807(java.lang.Object(ARRAY(i1629:0)), i1583:0 + 2)), i1584:0, i1585:0, i1591:0, i1641:0, i1906:0, i1591:0 + 2 * i1641:0 - i1906:0) :|: i1629:0 > i1583:0 + 1 && i1629:0 > 1 && i1591:0 > -1 && i1583:0 > -1 && i1641:0 > -1 && i1906:0 > -1 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1641:0 >= 0 && 2 * i1641:0 - i1906:0 < 2 * i1584:0 - i1585:0 && i1591:0 + 2 * i1641:0 >= 0 && i1629:0 >= i1583:0 + 2 Filtered duplicate arguments: f4346_0_loop_LT(x1, x2, x3, x4, x5, x6, x7, x8) -> f4346_0_loop_LT(x1, x5, x6, x8) Finished conversion. Obtained 3 rules.P rules: f4346_0_loop_LT(i1584:0, i1585:0, arith, i1629:0, i1583:0) -> f4346_0_loop_LT(0, 0, arith, i1629:0, i1583:0) :|: i1629:0 > -1 && arith > -1 && i1629:0 <= i1583:0 && i1585:0 > -1 && 2 * i1584:0 - i1585:0 > 0 && 2 * i1584:0 >= 0 f4346_0_loop_LT(i1584:0, i1585:0, i1591:0, i1629:0, i1583:0) -> f4346_0_loop_LT(i1641:0, i1906:0, i1591:0 + 2 * i1641:0 - i1906:0, i1629:0, i1583:0 + 2) :|: i1629:0 > 1 && i1629:0 > i1583:0 + 1 && i1591:0 > -1 && i1583:0 > -1 && i1641:0 > -1 && i1906:0 > -1 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1641:0 >= 0 && 2 * i1641:0 - i1906:0 < 2 * i1584:0 - i1585:0 && i1629:0 >= i1583:0 + 2 && i1591:0 + 2 * i1641:0 >= 0 f4346_0_loop_LT(i1584:0, i1585:0, i1591:0, sum~i1583:0~cons_11, i1583:0) -> f4346_0_loop_LT(i1641:0, 0, i1591:0 + 2 * i1641:0, i1583:0 + 1, i1583:0 + 1) :|: i1591:0 > -1 && i1583:0 > -1 && i1583:0 + 1 > i1583:0 && i1641:0 > -1 && i1585:0 > -1 && 2 * i1584:0 >= 0 && 2 * i1641:0 >= 0 && i1591:0 + 2 * i1641:0 >= 0 && 2 * i1641:0 < 2 * i1584:0 - i1585:0 && sum~i1583:0~cons_1 = i1583:0 + 1 && sum~i1583:0~cons_11 = i1583:0 + 1 ---------------------------------------- (8) Obligation: Rules: f4346_0_loop_LT(i1584:0, i1585:0, arith, i1629:0, i1583:0) -> f4346_0_loop_LT(0, 0, arith, i1629:0, i1583:0) :|: i1629:0 > -1 && arith > -1 && i1629:0 <= i1583:0 && i1585:0 > -1 && 2 * i1584:0 - i1585:0 > 0 && 2 * i1584:0 >= 0 f4346_0_loop_LT(x, x1, x2, x3, x4) -> f4346_0_loop_LT(x5, x6, x2 + 2 * x5 - x6, x3, x4 + 2) :|: x3 > 1 && x3 > x4 + 1 && x2 > -1 && x4 > -1 && x5 > -1 && x6 > -1 && x1 > -1 && 2 * x >= 0 && 2 * x5 >= 0 && 2 * x5 - x6 < 2 * x - x1 && x3 >= x4 + 2 && x2 + 2 * x5 >= 0 f4346_0_loop_LT(x7, x8, x9, x10, x11) -> f4346_0_loop_LT(x12, 0, x9 + 2 * x12, x11 + 1, x11 + 1) :|: x9 > -1 && x11 > -1 && x11 + 1 > x11 && x12 > -1 && x8 > -1 && 2 * x7 >= 0 && 2 * x12 >= 0 && x9 + 2 * x12 >= 0 && 2 * x12 < 2 * x7 - x8 && x13 = x11 + 1 && x10 = x11 + 1 ---------------------------------------- (9) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (10) Obligation: Rules: f4346_0_loop_LT(i1584:0, i1585:0, arith, i1629:0, i1583:0) -> f4346_0_loop_LT(0, 0, arith, i1629:0, i1583:0) :|: i1629:0 > -1 && arith > -1 && i1629:0 <= i1583:0 && i1585:0 > -1 && 2 * i1584:0 - i1585:0 > 0 && 2 * i1584:0 >= 0 f4346_0_loop_LT(x14, x15, x16, x17, x18) -> f4346_0_loop_LT(x19, x20, x21, x17, x22) :|: x17 > 1 && x17 > x18 + 1 && x16 > -1 && x18 > -1 && x19 > -1 && x20 > -1 && x15 > -1 && 2 * x14 >= 0 && 2 * x19 >= 0 && 2 * x19 - x20 < 2 * x14 - x15 && x17 >= x18 + 2 && x16 + 2 * x19 >= 0 && x21 = x16 + 2 * x19 - x20 && x22 = x18 + 2 f4346_0_loop_LT(x23, x24, x25, x26, x27) -> f4346_0_loop_LT(x28, 0, x29, x30, x30) :|: x25 > -1 && x27 > -1 && x27 + 1 > x27 && x28 > -1 && x24 > -1 && 2 * x23 >= 0 && 2 * x28 >= 0 && x25 + 2 * x28 >= 0 && 2 * x28 < 2 * x23 - x24 && x31 = x27 + 1 && x26 = x27 + 1 && x29 = x25 + 2 * x28 && x30 = x27 + 1 && x30 = x27 + 1 ---------------------------------------- (11) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f4346_0_loop_LT(i1584:0, i1585:0, arith, i1629:0, i1583:0) -> f4346_0_loop_LT(0, 0, arith, i1629:0, i1583:0) :|: i1629:0 > -1 && arith > -1 && i1629:0 <= i1583:0 && i1585:0 > -1 && 2 * i1584:0 - i1585:0 > 0 && 2 * i1584:0 >= 0 (2) f4346_0_loop_LT(x14, x15, x16, x17, x18) -> f4346_0_loop_LT(x19, x20, x21, x17, x22) :|: x17 > 1 && x17 > x18 + 1 && x16 > -1 && x18 > -1 && x19 > -1 && x20 > -1 && x15 > -1 && 2 * x14 >= 0 && 2 * x19 >= 0 && 2 * x19 - x20 < 2 * x14 - x15 && x17 >= x18 + 2 && x16 + 2 * x19 >= 0 && x21 = x16 + 2 * x19 - x20 && x22 = x18 + 2 (3) f4346_0_loop_LT(x23, x24, x25, x26, x27) -> f4346_0_loop_LT(x28, 0, x29, x30, x30) :|: x25 > -1 && x27 > -1 && x27 + 1 > x27 && x28 > -1 && x24 > -1 && 2 * x23 >= 0 && 2 * x28 >= 0 && x25 + 2 * x28 >= 0 && 2 * x28 < 2 * x23 - x24 && x31 = x27 + 1 && x26 = x27 + 1 && x29 = x25 + 2 * x28 && x30 = x27 + 1 && x30 = x27 + 1 Arcs: (2) -> (1), (2), (3) (3) -> (1) This digraph is fully evaluated! ---------------------------------------- (12) Obligation: Termination digraph: Nodes: (1) f4346_0_loop_LT(x14, x15, x16, x17, x18) -> f4346_0_loop_LT(x19, x20, x21, x17, x22) :|: x17 > 1 && x17 > x18 + 1 && x16 > -1 && x18 > -1 && x19 > -1 && x20 > -1 && x15 > -1 && 2 * x14 >= 0 && 2 * x19 >= 0 && 2 * x19 - x20 < 2 * x14 - x15 && x17 >= x18 + 2 && x16 + 2 * x19 >= 0 && x21 = x16 + 2 * x19 - x20 && x22 = x18 + 2 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (13) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (14) Obligation: Rules: f4346_0_loop_LT(x14:0, x15:0, x16:0, x17:0, x18:0) -> f4346_0_loop_LT(x19:0, x20:0, x16:0 + 2 * x19:0 - x20:0, x17:0, x18:0 + 2) :|: x18:0 + 2 <= x17:0 && x16:0 + 2 * x19:0 >= 0 && 2 * x19:0 - x20:0 < 2 * x14:0 - x15:0 && 2 * x19:0 >= 0 && 2 * x14:0 >= 0 && x15:0 > -1 && x20:0 > -1 && x19:0 > -1 && x18:0 > -1 && x16:0 > -1 && x18:0 + 1 < x17:0 && x17:0 > 1 ---------------------------------------- (15) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4346_0_loop_LT(INTEGER, INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (16) Obligation: Rules: f4346_0_loop_LT(x14:0, x15:0, x16:0, x17:0, x18:0) -> f4346_0_loop_LT(x19:0, x20:0, c, x17:0, c1) :|: c1 = x18:0 + 2 && c = x16:0 + 2 * x19:0 - x20:0 && (x18:0 + 2 <= x17:0 && x16:0 + 2 * x19:0 >= 0 && 2 * x19:0 - x20:0 < 2 * x14:0 - x15:0 && 2 * x19:0 >= 0 && 2 * x14:0 >= 0 && x15:0 > -1 && x20:0 > -1 && x19:0 > -1 && x18:0 > -1 && x16:0 > -1 && x18:0 + 1 < x17:0 && x17:0 > 1) ---------------------------------------- (17) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4346_0_loop_LT(x, x1, x2, x3, x4)] = -1 + x3 - x4 The following rules are decreasing: f4346_0_loop_LT(x14:0, x15:0, x16:0, x17:0, x18:0) -> f4346_0_loop_LT(x19:0, x20:0, c, x17:0, c1) :|: c1 = x18:0 + 2 && c = x16:0 + 2 * x19:0 - x20:0 && (x18:0 + 2 <= x17:0 && x16:0 + 2 * x19:0 >= 0 && 2 * x19:0 - x20:0 < 2 * x14:0 - x15:0 && 2 * x19:0 >= 0 && 2 * x14:0 >= 0 && x15:0 > -1 && x20:0 > -1 && x19:0 > -1 && x18:0 > -1 && x16:0 > -1 && x18:0 + 1 < x17:0 && x17:0 > 1) The following rules are bounded: f4346_0_loop_LT(x14:0, x15:0, x16:0, x17:0, x18:0) -> f4346_0_loop_LT(x19:0, x20:0, c, x17:0, c1) :|: c1 = x18:0 + 2 && c = x16:0 + 2 * x19:0 - x20:0 && (x18:0 + 2 <= x17:0 && x16:0 + 2 * x19:0 >= 0 && 2 * x19:0 - x20:0 < 2 * x14:0 - x15:0 && 2 * x19:0 >= 0 && 2 * x14:0 >= 0 && x15:0 > -1 && x20:0 > -1 && x19:0 > -1 && x18:0 > -1 && x16:0 > -1 && x18:0 + 1 < x17:0 && x17:0 > 1) ---------------------------------------- (18) YES