9.48/3.40 YES 9.82/3.42 proof of /export/starexec/sandbox/benchmark/theBenchmark.jar 9.82/3.42 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 9.82/3.42 9.82/3.42 9.82/3.42 termination of the given Bare JBC problem could be proven: 9.82/3.42 9.82/3.42 (0) Bare JBC problem 9.82/3.42 (1) BareJBCToJBCProof [EQUIVALENT, 95 ms] 9.82/3.42 (2) JBC problem 9.82/3.42 (3) JBCToGraph [EQUIVALENT, 675 ms] 9.82/3.42 (4) JBCTerminationGraph 9.82/3.42 (5) TerminationGraphToSCCProof [SOUND, 0 ms] 9.82/3.42 (6) AND 9.82/3.42 (7) JBCTerminationSCC 9.82/3.42 (8) SCCToQDPProof [SOUND, 127 ms] 9.82/3.42 (9) QDP 9.82/3.42 (10) QDPSizeChangeProof [EQUIVALENT, 0 ms] 9.82/3.42 (11) YES 9.82/3.42 (12) JBCTerminationSCC 9.82/3.42 (13) SCCToIRSProof [SOUND, 33 ms] 9.82/3.42 (14) IRSwT 9.82/3.42 (15) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 9.82/3.42 (16) IRSwT 9.82/3.42 (17) IRSwTTerminationDigraphProof [EQUIVALENT, 0 ms] 9.82/3.42 (18) IRSwT 9.82/3.42 (19) IntTRSCompressionProof [EQUIVALENT, 0 ms] 9.82/3.42 (20) IRSwT 9.82/3.42 (21) TempFilterProof [SOUND, 14 ms] 9.82/3.42 (22) IntTRS 9.82/3.42 (23) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 9.82/3.42 (24) YES 9.82/3.42 (25) JBCTerminationSCC 9.82/3.42 (26) SCCToQDPProof [SOUND, 264 ms] 9.82/3.42 (27) QDP 9.82/3.42 (28) DependencyGraphProof [EQUIVALENT, 0 ms] 9.82/3.42 (29) TRUE 9.82/3.42 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (0) 9.82/3.42 Obligation: 9.82/3.42 need to prove termination of the following program: 9.82/3.42 public class Random { 9.82/3.42 static String[] args; 9.82/3.42 static int index = 0; 9.82/3.42 9.82/3.42 public static int random() { 9.82/3.42 String string = args[index]; 9.82/3.42 index++; 9.82/3.42 return string.length(); 9.82/3.42 } 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 public class Shuffle{ 9.82/3.42 9.82/3.42 // adapted from [Walther, 94] 9.82/3.42 public static void main(String[] args) { 9.82/3.42 Random.args = args; 9.82/3.42 IntList l = IntList.createIntList(); 9.82/3.42 IntList res = null; 9.82/3.42 9.82/3.42 while (l != null) { 9.82/3.42 9.82/3.42 res = new IntList(l.value, res); 9.82/3.42 l = l.next; 9.82/3.42 if (l != null) l = l.reverse(); 9.82/3.42 9.82/3.42 } 9.82/3.42 9.82/3.42 } 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 class IntList { 9.82/3.42 int value; 9.82/3.42 IntList next; 9.82/3.42 9.82/3.42 public IntList(int value, IntList next) { 9.82/3.42 this.value = value; 9.82/3.42 this.next = next; 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 public static IntList createIntList() { 9.82/3.42 9.82/3.42 int i = Random.random(); 9.82/3.42 int j; 9.82/3.42 9.82/3.42 IntList l = null; 9.82/3.42 9.82/3.42 while (i > 0) { 9.82/3.42 j = Random.random(); 9.82/3.42 l = new IntList(j, l); 9.82/3.42 i--; 9.82/3.42 } 9.82/3.42 9.82/3.42 return l; 9.82/3.42 } 9.82/3.42 9.82/3.42 public IntList reverse() { 9.82/3.42 9.82/3.42 IntList res = null; 9.82/3.42 IntList l = this; 9.82/3.42 9.82/3.42 while (l != null) { 9.82/3.42 res = new IntList(l.value, res); 9.82/3.42 l = l.next; 9.82/3.42 9.82/3.42 } 9.82/3.42 9.82/3.42 return res; 9.82/3.42 } 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (1) BareJBCToJBCProof (EQUIVALENT) 9.82/3.42 initialized classpath 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (2) 9.82/3.42 Obligation: 9.82/3.42 need to prove termination of the following program: 9.82/3.42 public class Random { 9.82/3.42 static String[] args; 9.82/3.42 static int index = 0; 9.82/3.42 9.82/3.42 public static int random() { 9.82/3.42 String string = args[index]; 9.82/3.42 index++; 9.82/3.42 return string.length(); 9.82/3.42 } 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 public class Shuffle{ 9.82/3.42 9.82/3.42 // adapted from [Walther, 94] 9.82/3.42 public static void main(String[] args) { 9.82/3.42 Random.args = args; 9.82/3.42 IntList l = IntList.createIntList(); 9.82/3.42 IntList res = null; 9.82/3.42 9.82/3.42 while (l != null) { 9.82/3.42 9.82/3.42 res = new IntList(l.value, res); 9.82/3.42 l = l.next; 9.82/3.42 if (l != null) l = l.reverse(); 9.82/3.42 9.82/3.42 } 9.82/3.42 9.82/3.42 } 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 class IntList { 9.82/3.42 int value; 9.82/3.42 IntList next; 9.82/3.42 9.82/3.42 public IntList(int value, IntList next) { 9.82/3.42 this.value = value; 9.82/3.42 this.next = next; 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 public static IntList createIntList() { 9.82/3.42 9.82/3.42 int i = Random.random(); 9.82/3.42 int j; 9.82/3.42 9.82/3.42 IntList l = null; 9.82/3.42 9.82/3.42 while (i > 0) { 9.82/3.42 j = Random.random(); 9.82/3.42 l = new IntList(j, l); 9.82/3.42 i--; 9.82/3.42 } 9.82/3.42 9.82/3.42 return l; 9.82/3.42 } 9.82/3.42 9.82/3.42 public IntList reverse() { 9.82/3.42 9.82/3.42 IntList res = null; 9.82/3.42 IntList l = this; 9.82/3.42 9.82/3.42 while (l != null) { 9.82/3.42 res = new IntList(l.value, res); 9.82/3.42 l = l.next; 9.82/3.42 9.82/3.42 } 9.82/3.42 9.82/3.42 return res; 9.82/3.42 } 9.82/3.42 } 9.82/3.42 9.82/3.42 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (3) JBCToGraph (EQUIVALENT) 9.82/3.42 Constructed TerminationGraph. 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (4) 9.82/3.42 Obligation: 9.82/3.42 Termination Graph based on JBC Program: 9.82/3.42 Shuffle.main([Ljava/lang/String;)V: Graph of 108 nodes with 1 SCC. 9.82/3.42 9.82/3.42 9.82/3.42 9.82/3.42 IntList.createIntList()LIntList;: Graph of 189 nodes with 1 SCC. 9.82/3.42 9.82/3.42 9.82/3.42 9.82/3.42 IntList.reverse()LIntList;: Graph of 58 nodes with 1 SCC. 9.82/3.42 9.82/3.42 9.82/3.42 9.82/3.42 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (5) TerminationGraphToSCCProof (SOUND) 9.82/3.42 Splitted TerminationGraph to 3 SCCss. 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (6) 9.82/3.42 Complex Obligation (AND) 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (7) 9.82/3.42 Obligation: 9.82/3.42 SCC of termination graph based on JBC Program. 9.82/3.42 SCC contains nodes from the following methods: IntList.reverse()LIntList; 9.82/3.42 SCC calls the following helper methods: 9.82/3.42 Performed SCC analyses: 9.82/3.42 *Used field analysis yielded the following read fields: 9.82/3.42 *IntList: [value, next] 9.82/3.42 *Marker field analysis yielded the following relations that could be markers: 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (8) SCCToQDPProof (SOUND) 9.82/3.42 Transformed TerminationGraph SCC to QDP. Log: 9.82/3.42 Generated 25 rules for P and 0 rules for R.P rules: 9.82/3.42 f3402_0_reverse_NULL(EOS(STATIC_3402), java.lang.Object(o675sub), java.lang.Object(o675sub)) -> f3407_0_reverse_NULL(EOS(STATIC_3407), java.lang.Object(o675sub), java.lang.Object(o675sub)) :|: TRUE 9.82/3.42 f3407_0_reverse_NULL(EOS(STATIC_3407), java.lang.Object(o675sub), java.lang.Object(o675sub)) -> f3415_0_reverse_New(EOS(STATIC_3415), java.lang.Object(o675sub)) :|: TRUE 9.82/3.42 f3415_0_reverse_New(EOS(STATIC_3415), java.lang.Object(o675sub)) -> f3422_0_reverse_Duplicate(EOS(STATIC_3422), java.lang.Object(o675sub)) :|: TRUE 9.82/3.42 f3422_0_reverse_Duplicate(EOS(STATIC_3422), java.lang.Object(o675sub)) -> f3432_0_reverse_Load(EOS(STATIC_3432), java.lang.Object(o675sub)) :|: TRUE 9.82/3.42 f3432_0_reverse_Load(EOS(STATIC_3432), java.lang.Object(o675sub)) -> f3446_0_reverse_FieldAccess(EOS(STATIC_3446), java.lang.Object(o675sub), java.lang.Object(o675sub)) :|: TRUE 9.82/3.42 f3446_0_reverse_FieldAccess(EOS(STATIC_3446), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, o718))) -> f3458_0_reverse_FieldAccess(EOS(STATIC_3458), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3458_0_reverse_FieldAccess(EOS(STATIC_3458), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, o718))) -> f3487_0_reverse_Load(EOS(STATIC_3487), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3487_0_reverse_Load(EOS(STATIC_3487), java.lang.Object(IntList(EOC, i427, o718))) -> f3492_0_reverse_InvokeMethod(EOS(STATIC_3492), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3492_0_reverse_InvokeMethod(EOS(STATIC_3492), java.lang.Object(IntList(EOC, i427, o718))) -> f3494_0__init__Load(EOS(STATIC_3494), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3494_0__init__Load(EOS(STATIC_3494), java.lang.Object(IntList(EOC, i427, o718))) -> f3508_0__init__InvokeMethod(EOS(STATIC_3508), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3508_0__init__InvokeMethod(EOS(STATIC_3508), java.lang.Object(IntList(EOC, i427, o718))) -> f3522_0__init__Load(EOS(STATIC_3522), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3522_0__init__Load(EOS(STATIC_3522), java.lang.Object(IntList(EOC, i427, o718))) -> f3524_0__init__Load(EOS(STATIC_3524), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3524_0__init__Load(EOS(STATIC_3524), java.lang.Object(IntList(EOC, i427, o718))) -> f3530_0__init__FieldAccess(EOS(STATIC_3530), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3530_0__init__FieldAccess(EOS(STATIC_3530), java.lang.Object(IntList(EOC, i427, o718))) -> f3538_0__init__Load(EOS(STATIC_3538), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3538_0__init__Load(EOS(STATIC_3538), java.lang.Object(IntList(EOC, i427, o718))) -> f3545_0__init__Load(EOS(STATIC_3545), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3545_0__init__Load(EOS(STATIC_3545), java.lang.Object(IntList(EOC, i427, o718))) -> f3553_0__init__FieldAccess(EOS(STATIC_3553), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3553_0__init__FieldAccess(EOS(STATIC_3553), java.lang.Object(IntList(EOC, i427, o718))) -> f3563_0__init__Return(EOS(STATIC_3563), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3563_0__init__Return(EOS(STATIC_3563), java.lang.Object(IntList(EOC, i427, o718))) -> f3569_0_reverse_Store(EOS(STATIC_3569), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3569_0_reverse_Store(EOS(STATIC_3569), java.lang.Object(IntList(EOC, i427, o718))) -> f3576_0_reverse_Load(EOS(STATIC_3576), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3576_0_reverse_Load(EOS(STATIC_3576), java.lang.Object(IntList(EOC, i427, o718))) -> f3584_0_reverse_FieldAccess(EOS(STATIC_3584), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3584_0_reverse_FieldAccess(EOS(STATIC_3584), java.lang.Object(IntList(EOC, i427, o718))) -> f3591_0_reverse_Store(EOS(STATIC_3591), o718) :|: TRUE 9.82/3.42 f3591_0_reverse_Store(EOS(STATIC_3591), o718) -> f3597_0_reverse_JMP(EOS(STATIC_3597), o718) :|: TRUE 9.82/3.42 f3597_0_reverse_JMP(EOS(STATIC_3597), o718) -> f3619_0_reverse_Load(EOS(STATIC_3619), o718) :|: TRUE 9.82/3.42 f3619_0_reverse_Load(EOS(STATIC_3619), o718) -> f3388_0_reverse_Load(EOS(STATIC_3388), o718) :|: TRUE 9.82/3.42 f3388_0_reverse_Load(EOS(STATIC_3388), o649) -> f3402_0_reverse_NULL(EOS(STATIC_3402), o649, o649) :|: TRUE 9.82/3.42 R rules: 9.82/3.42 Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: 9.82/3.42 f3402_0_reverse_NULL(EOS(STATIC_3402), java.lang.Object(IntList(EOC, i427:0, o718:0)), java.lang.Object(IntList(EOC, i427:0, o718:0))) -> f3402_0_reverse_NULL(EOS(STATIC_3402), o718:0, o718:0) :|: TRUE 9.82/3.42 R rules: 9.82/3.42 Filtered ground terms: 9.82/3.42 f3402_0_reverse_NULL(x1, x2, x3) -> f3402_0_reverse_NULL(x2, x3) 9.82/3.42 EOS(x1) -> EOS 9.82/3.42 IntList(x1, x2, x3) -> IntList(x2, x3) 9.82/3.42 Filtered unneeded arguments: 9.82/3.42 IntList(x1, x2) -> IntList(x2) 9.82/3.42 Filtered duplicate args: 9.82/3.42 f3402_0_reverse_NULL(x1, x2) -> f3402_0_reverse_NULL(x2) 9.82/3.42 Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: 9.82/3.42 F3402_0_REVERSE_NULL(java.lang.Object(IntList(o718:0:0))) -> F3402_0_REVERSE_NULL(o718:0:0) :|: TRUE 9.82/3.42 R rules: 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (9) 9.82/3.42 Obligation: 9.82/3.42 Q DP problem: 9.82/3.42 The TRS P consists of the following rules: 9.82/3.42 9.82/3.42 F3402_0_REVERSE_NULL(java.lang.Object(IntList(o718:0:0))) -> F3402_0_REVERSE_NULL(o718:0:0) 9.82/3.42 9.82/3.42 R is empty. 9.82/3.42 Q is empty. 9.82/3.42 We have to consider all minimal (P,Q,R)-chains. 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (10) QDPSizeChangeProof (EQUIVALENT) 9.82/3.42 By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. 9.82/3.42 9.82/3.42 From the DPs we obtained the following set of size-change graphs: 9.82/3.42 *F3402_0_REVERSE_NULL(java.lang.Object(IntList(o718:0:0))) -> F3402_0_REVERSE_NULL(o718:0:0) 9.82/3.42 The graph contains the following edges 1 > 1 9.82/3.42 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (11) 9.82/3.42 YES 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (12) 9.82/3.42 Obligation: 9.82/3.42 SCC of termination graph based on JBC Program. 9.82/3.42 SCC contains nodes from the following methods: IntList.createIntList()LIntList; 9.82/3.42 SCC calls the following helper methods: 9.82/3.42 Performed SCC analyses: 9.82/3.42 *Used field analysis yielded the following read fields: 9.82/3.42 *java.lang.String: [count] 9.82/3.42 *Marker field analysis yielded the following relations that could be markers: 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (13) SCCToIRSProof (SOUND) 9.82/3.42 Transformed FIGraph SCCs to intTRSs. Log: 9.82/3.42 Generated rules. Obtained 41 IRulesP rules: 9.82/3.42 f2157_0_createIntList_LE(EOS(STATIC_2157(java.lang.Object(ARRAY(i6)))), i238, i238) -> f2160_0_createIntList_LE(EOS(STATIC_2160(java.lang.Object(ARRAY(i6)))), i238, i238) :|: TRUE 9.82/3.42 f2160_0_createIntList_LE(EOS(STATIC_2160(java.lang.Object(ARRAY(i6)))), i238, i238) -> f2162_0_createIntList_InvokeMethod(EOS(STATIC_2162(java.lang.Object(ARRAY(i6)))), i238) :|: i238 > 0 9.82/3.42 f2162_0_createIntList_InvokeMethod(EOS(STATIC_2162(java.lang.Object(ARRAY(i6)))), i238) -> f2166_0_random_FieldAccess(EOS(STATIC_2166(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2166_0_random_FieldAccess(EOS(STATIC_2166(java.lang.Object(ARRAY(i6)))), i238) -> f2185_0_random_FieldAccess(EOS(STATIC_2185(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(ARRAY(i6))) :|: TRUE 9.82/3.42 f2185_0_random_FieldAccess(EOS(STATIC_2185(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(ARRAY(i6))) -> f2216_0_random_ArrayAccess(EOS(STATIC_2216(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(ARRAY(i6))) :|: TRUE 9.82/3.42 f2216_0_random_ArrayAccess(EOS(STATIC_2216(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(ARRAY(i6))) -> f2221_0_random_ArrayAccess(EOS(STATIC_2221(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(ARRAY(i6))) :|: TRUE 9.82/3.42 f2221_0_random_ArrayAccess(EOS(STATIC_2221(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(ARRAY(i6))) -> f2229_0_random_Store(EOS(STATIC_2229(java.lang.Object(ARRAY(i6)))), i238, o257) :|: TRUE 9.82/3.42 f2229_0_random_Store(EOS(STATIC_2229(java.lang.Object(ARRAY(i6)))), i238, o257) -> f2237_0_random_FieldAccess(EOS(STATIC_2237(java.lang.Object(ARRAY(i6)))), i238, o257) :|: TRUE 9.82/3.42 f2237_0_random_FieldAccess(EOS(STATIC_2237(java.lang.Object(ARRAY(i6)))), i238, o257) -> f2242_0_random_ConstantStackPush(EOS(STATIC_2242(java.lang.Object(ARRAY(i6)))), i238, o257) :|: TRUE 9.82/3.42 f2242_0_random_ConstantStackPush(EOS(STATIC_2242(java.lang.Object(ARRAY(i6)))), i238, o257) -> f2252_0_random_IntArithmetic(EOS(STATIC_2252(java.lang.Object(ARRAY(i6)))), i238, o257) :|: TRUE 9.82/3.42 f2252_0_random_IntArithmetic(EOS(STATIC_2252(java.lang.Object(ARRAY(i6)))), i238, o257) -> f2259_0_random_FieldAccess(EOS(STATIC_2259(java.lang.Object(ARRAY(i6)))), i238, o257) :|: TRUE 9.82/3.42 f2259_0_random_FieldAccess(EOS(STATIC_2259(java.lang.Object(ARRAY(i6)))), i238, o257) -> f2265_0_random_Load(EOS(STATIC_2265(java.lang.Object(ARRAY(i6)))), i238, o257) :|: TRUE 9.82/3.42 f2265_0_random_Load(EOS(STATIC_2265(java.lang.Object(ARRAY(i6)))), i238, o257) -> f2276_0_random_InvokeMethod(EOS(STATIC_2276(java.lang.Object(ARRAY(i6)))), i238, o257) :|: TRUE 9.82/3.42 f2276_0_random_InvokeMethod(EOS(STATIC_2276(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o267sub)) -> f2283_0_random_InvokeMethod(EOS(STATIC_2283(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o267sub)) :|: TRUE 9.82/3.42 f2283_0_random_InvokeMethod(EOS(STATIC_2283(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o268sub)) -> f2289_0_random_InvokeMethod(EOS(STATIC_2289(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o268sub)) :|: TRUE 9.82/3.42 f2289_0_random_InvokeMethod(EOS(STATIC_2289(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o268sub)) -> f2300_0_length_Load(EOS(STATIC_2300(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o268sub)) :|: TRUE 9.82/3.42 f2300_0_length_Load(EOS(STATIC_2300(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o268sub)) -> f2316_0_length_FieldAccess(EOS(STATIC_2316(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(o268sub)) :|: TRUE 9.82/3.42 f2316_0_length_FieldAccess(EOS(STATIC_2316(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(java.lang.String(EOC, i270))) -> f2328_0_length_FieldAccess(EOS(STATIC_2328(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(java.lang.String(EOC, i270))) :|: TRUE 9.82/3.42 f2328_0_length_FieldAccess(EOS(STATIC_2328(java.lang.Object(ARRAY(i6)))), i238, java.lang.Object(java.lang.String(EOC, i270))) -> f2333_0_length_Return(EOS(STATIC_2333(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2333_0_length_Return(EOS(STATIC_2333(java.lang.Object(ARRAY(i6)))), i238) -> f2338_0_random_Return(EOS(STATIC_2338(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2338_0_random_Return(EOS(STATIC_2338(java.lang.Object(ARRAY(i6)))), i238) -> f2348_0_createIntList_Store(EOS(STATIC_2348(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2348_0_createIntList_Store(EOS(STATIC_2348(java.lang.Object(ARRAY(i6)))), i238) -> f2355_0_createIntList_New(EOS(STATIC_2355(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2355_0_createIntList_New(EOS(STATIC_2355(java.lang.Object(ARRAY(i6)))), i238) -> f2368_0_createIntList_Duplicate(EOS(STATIC_2368(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2368_0_createIntList_Duplicate(EOS(STATIC_2368(java.lang.Object(ARRAY(i6)))), i238) -> f2375_0_createIntList_Load(EOS(STATIC_2375(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2375_0_createIntList_Load(EOS(STATIC_2375(java.lang.Object(ARRAY(i6)))), i238) -> f2499_0_createIntList_Load(EOS(STATIC_2499(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2499_0_createIntList_Load(EOS(STATIC_2499(java.lang.Object(ARRAY(i6)))), i238) -> f2511_0_createIntList_InvokeMethod(EOS(STATIC_2511(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2511_0_createIntList_InvokeMethod(EOS(STATIC_2511(java.lang.Object(ARRAY(i6)))), i238) -> f2526_0__init__Load(EOS(STATIC_2526(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2526_0__init__Load(EOS(STATIC_2526(java.lang.Object(ARRAY(i6)))), i238) -> f2537_0__init__InvokeMethod(EOS(STATIC_2537(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2537_0__init__InvokeMethod(EOS(STATIC_2537(java.lang.Object(ARRAY(i6)))), i238) -> f2554_0__init__Load(EOS(STATIC_2554(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2554_0__init__Load(EOS(STATIC_2554(java.lang.Object(ARRAY(i6)))), i238) -> f2569_0__init__Load(EOS(STATIC_2569(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2569_0__init__Load(EOS(STATIC_2569(java.lang.Object(ARRAY(i6)))), i238) -> f2577_0__init__FieldAccess(EOS(STATIC_2577(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2577_0__init__FieldAccess(EOS(STATIC_2577(java.lang.Object(ARRAY(i6)))), i238) -> f2586_0__init__Load(EOS(STATIC_2586(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2586_0__init__Load(EOS(STATIC_2586(java.lang.Object(ARRAY(i6)))), i238) -> f2691_0__init__Load(EOS(STATIC_2691(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2691_0__init__Load(EOS(STATIC_2691(java.lang.Object(ARRAY(i6)))), i238) -> f2702_0__init__FieldAccess(EOS(STATIC_2702(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2702_0__init__FieldAccess(EOS(STATIC_2702(java.lang.Object(ARRAY(i6)))), i238) -> f2745_0__init__Return(EOS(STATIC_2745(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2745_0__init__Return(EOS(STATIC_2745(java.lang.Object(ARRAY(i6)))), i238) -> f2830_0_createIntList_Store(EOS(STATIC_2830(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2830_0_createIntList_Store(EOS(STATIC_2830(java.lang.Object(ARRAY(i6)))), i238) -> f2900_0_createIntList_Inc(EOS(STATIC_2900(java.lang.Object(ARRAY(i6)))), i238) :|: TRUE 9.82/3.42 f2900_0_createIntList_Inc(EOS(STATIC_2900(java.lang.Object(ARRAY(i6)))), i238) -> f2913_0_createIntList_JMP(EOS(STATIC_2913(java.lang.Object(ARRAY(i6)))), i238 + -1) :|: TRUE 9.82/3.42 f2913_0_createIntList_JMP(EOS(STATIC_2913(java.lang.Object(ARRAY(i6)))), i311) -> f2940_0_createIntList_Load(EOS(STATIC_2940(java.lang.Object(ARRAY(i6)))), i311) :|: TRUE 9.82/3.42 f2940_0_createIntList_Load(EOS(STATIC_2940(java.lang.Object(ARRAY(i6)))), i311) -> f2134_0_createIntList_Load(EOS(STATIC_2134(java.lang.Object(ARRAY(i6)))), i311) :|: TRUE 9.82/3.42 f2134_0_createIntList_Load(EOS(STATIC_2134(java.lang.Object(ARRAY(i6)))), i225) -> f2157_0_createIntList_LE(EOS(STATIC_2157(java.lang.Object(ARRAY(i6)))), i225, i225) :|: TRUE 9.82/3.42 Combined rules. Obtained 1 IRulesP rules: 9.82/3.42 f2157_0_createIntList_LE(EOS(STATIC_2157(java.lang.Object(ARRAY(i6:0)))), i238:0, i238:0) -> f2157_0_createIntList_LE(EOS(STATIC_2157(java.lang.Object(ARRAY(i6:0)))), i238:0 - 1, i238:0 - 1) :|: i238:0 > 0 9.82/3.42 Filtered duplicate arguments: 9.82/3.42 f2157_0_createIntList_LE(x1, x2, x3) -> f2157_0_createIntList_LE(x1, x3) 9.82/3.42 Filtered unneeded arguments: 9.82/3.42 f2157_0_createIntList_LE(x1, x2) -> f2157_0_createIntList_LE(x2) 9.82/3.42 Finished conversion. Obtained 1 rules.P rules: 9.82/3.42 f2157_0_createIntList_LE(i238:0) -> f2157_0_createIntList_LE(i238:0 - 1) :|: i238:0 > 0 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (14) 9.82/3.42 Obligation: 9.82/3.42 Rules: 9.82/3.42 f2157_0_createIntList_LE(i238:0) -> f2157_0_createIntList_LE(i238:0 - 1) :|: i238:0 > 0 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (15) IRSFormatTransformerProof (EQUIVALENT) 9.82/3.42 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (16) 9.82/3.42 Obligation: 9.82/3.42 Rules: 9.82/3.42 f2157_0_createIntList_LE(i238:0) -> f2157_0_createIntList_LE(arith) :|: i238:0 > 0 && arith = i238:0 - 1 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (17) IRSwTTerminationDigraphProof (EQUIVALENT) 9.82/3.42 Constructed termination digraph! 9.82/3.42 Nodes: 9.82/3.42 (1) f2157_0_createIntList_LE(i238:0) -> f2157_0_createIntList_LE(arith) :|: i238:0 > 0 && arith = i238:0 - 1 9.82/3.42 9.82/3.42 Arcs: 9.82/3.42 (1) -> (1) 9.82/3.42 9.82/3.42 This digraph is fully evaluated! 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (18) 9.82/3.42 Obligation: 9.82/3.42 9.82/3.42 Termination digraph: 9.82/3.42 Nodes: 9.82/3.42 (1) f2157_0_createIntList_LE(i238:0) -> f2157_0_createIntList_LE(arith) :|: i238:0 > 0 && arith = i238:0 - 1 9.82/3.42 9.82/3.42 Arcs: 9.82/3.42 (1) -> (1) 9.82/3.42 9.82/3.42 This digraph is fully evaluated! 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (19) IntTRSCompressionProof (EQUIVALENT) 9.82/3.42 Compressed rules. 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (20) 9.82/3.42 Obligation: 9.82/3.42 Rules: 9.82/3.42 f2157_0_createIntList_LE(i238:0:0) -> f2157_0_createIntList_LE(i238:0:0 - 1) :|: i238:0:0 > 0 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (21) TempFilterProof (SOUND) 9.82/3.42 Used the following sort dictionary for filtering: 9.82/3.42 f2157_0_createIntList_LE(INTEGER) 9.82/3.42 Replaced non-predefined constructor symbols by 0. 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (22) 9.82/3.42 Obligation: 9.82/3.42 Rules: 9.82/3.42 f2157_0_createIntList_LE(i238:0:0) -> f2157_0_createIntList_LE(c) :|: c = i238:0:0 - 1 && i238:0:0 > 0 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (23) PolynomialOrderProcessor (EQUIVALENT) 9.82/3.42 Found the following polynomial interpretation: 9.82/3.42 [f2157_0_createIntList_LE(x)] = x 9.82/3.42 9.82/3.42 The following rules are decreasing: 9.82/3.42 f2157_0_createIntList_LE(i238:0:0) -> f2157_0_createIntList_LE(c) :|: c = i238:0:0 - 1 && i238:0:0 > 0 9.82/3.42 The following rules are bounded: 9.82/3.42 f2157_0_createIntList_LE(i238:0:0) -> f2157_0_createIntList_LE(c) :|: c = i238:0:0 - 1 && i238:0:0 > 0 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (24) 9.82/3.42 YES 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (25) 9.82/3.42 Obligation: 9.82/3.42 SCC of termination graph based on JBC Program. 9.82/3.42 SCC contains nodes from the following methods: Shuffle.main([Ljava/lang/String;)V 9.82/3.42 SCC calls the following helper methods: IntList.reverse()LIntList; 9.82/3.42 Performed SCC analyses: 9.82/3.42 *Used field analysis yielded the following read fields: 9.82/3.42 *IntList: [value, next] 9.82/3.42 *Marker field analysis yielded the following relations that could be markers: 9.82/3.42 9.82/3.42 ---------------------------------------- 9.82/3.42 9.82/3.42 (26) SCCToQDPProof (SOUND) 9.82/3.42 Transformed TerminationGraph SCC to QDP. Log: 9.82/3.42 Generated 32 rules for P and 62 rules for R.P rules: 9.82/3.42 f5082_0_main_NULL(EOS(STATIC_5082), java.lang.Object(o1303sub), java.lang.Object(o1303sub)) -> f5086_0_main_Load(EOS(STATIC_5086), java.lang.Object(o1303sub)) :|: TRUE 9.82/3.42 f5086_0_main_Load(EOS(STATIC_5086), java.lang.Object(o1303sub)) -> f5161_0_main_InvokeMethod(EOS(STATIC_5161), java.lang.Object(o1303sub)) :|: TRUE 9.82/3.42 f5161_0_main_InvokeMethod(EOS(STATIC_5161), java.lang.Object(o1303sub)) -> f5167_1_main_InvokeMethod(f5167_0_reverse_ConstantStackPush(EOS(STATIC_5167), java.lang.Object(o1303sub))) :|: TRUE 9.82/3.42 f5167_0_reverse_ConstantStackPush(EOS(STATIC_5167), java.lang.Object(o1303sub)) -> f6068_0_reverse_ConstantStackPush(EOS(STATIC_6068), java.lang.Object(o1303sub)) :|: TRUE 9.82/3.42 f5730_0_reverse_Return(EOS(STATIC_5730), java.lang.Object(IntList(EOC, i717, o1338))) -> f5733_0_main_Store(EOS(STATIC_5733), java.lang.Object(IntList(EOC, i717, o1338))) :|: TRUE 9.82/3.42 f5733_0_main_Store(EOS(STATIC_5733), java.lang.Object(IntList(EOC, i717, o1338))) -> f5736_0_main_JMP(EOS(STATIC_5736), java.lang.Object(IntList(EOC, i717, o1338))) :|: TRUE 9.82/3.42 f5736_0_main_JMP(EOS(STATIC_5736), java.lang.Object(IntList(EOC, i717, o1338))) -> f5748_0_main_Load(EOS(STATIC_5748), java.lang.Object(IntList(EOC, i717, o1338))) :|: TRUE 9.82/3.42 f5748_0_main_Load(EOS(STATIC_5748), java.lang.Object(IntList(EOC, i717, o1338))) -> f4994_0_main_Load(EOS(STATIC_4994), java.lang.Object(IntList(EOC, i717, o1338))) :|: TRUE 9.82/3.42 f4994_0_main_Load(EOS(STATIC_4994), java.lang.Object(IntList(EOC, i657, o1229))) -> f5004_0_main_NULL(EOS(STATIC_5004), java.lang.Object(IntList(EOC, i657, o1229)), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5004_0_main_NULL(EOS(STATIC_5004), java.lang.Object(IntList(EOC, i657, o1229)), java.lang.Object(IntList(EOC, i657, o1229))) -> f5007_0_main_New(EOS(STATIC_5007), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5007_0_main_New(EOS(STATIC_5007), java.lang.Object(IntList(EOC, i657, o1229))) -> f5011_0_main_Duplicate(EOS(STATIC_5011), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5011_0_main_Duplicate(EOS(STATIC_5011), java.lang.Object(IntList(EOC, i657, o1229))) -> f5014_0_main_Load(EOS(STATIC_5014), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5014_0_main_Load(EOS(STATIC_5014), java.lang.Object(IntList(EOC, i657, o1229))) -> f5017_0_main_FieldAccess(EOS(STATIC_5017), java.lang.Object(IntList(EOC, i657, o1229)), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5017_0_main_FieldAccess(EOS(STATIC_5017), java.lang.Object(IntList(EOC, i657, o1229)), java.lang.Object(IntList(EOC, i657, o1229))) -> f5021_0_main_Load(EOS(STATIC_5021), java.lang.Object(IntList(EOC, i657, o1229)), i657) :|: TRUE 9.82/3.42 f5021_0_main_Load(EOS(STATIC_5021), java.lang.Object(IntList(EOC, i657, o1229)), i657) -> f5024_0_main_InvokeMethod(EOS(STATIC_5024), java.lang.Object(IntList(EOC, i657, o1229)), i657) :|: TRUE 9.82/3.42 f5024_0_main_InvokeMethod(EOS(STATIC_5024), java.lang.Object(IntList(EOC, i657, o1229)), i657) -> f5026_0__init__Load(EOS(STATIC_5026), java.lang.Object(IntList(EOC, i657, o1229)), i657) :|: TRUE 9.82/3.42 f5026_0__init__Load(EOS(STATIC_5026), java.lang.Object(IntList(EOC, i657, o1229)), i657) -> f5031_0__init__InvokeMethod(EOS(STATIC_5031), java.lang.Object(IntList(EOC, i657, o1229)), i657) :|: TRUE 9.82/3.42 f5031_0__init__InvokeMethod(EOS(STATIC_5031), java.lang.Object(IntList(EOC, i657, o1229)), i657) -> f5034_0__init__Load(EOS(STATIC_5034), java.lang.Object(IntList(EOC, i657, o1229)), i657) :|: TRUE 9.82/3.42 f5034_0__init__Load(EOS(STATIC_5034), java.lang.Object(IntList(EOC, i657, o1229)), i657) -> f5038_0__init__Load(EOS(STATIC_5038), java.lang.Object(IntList(EOC, i657, o1229)), i657) :|: TRUE 9.82/3.42 f5038_0__init__Load(EOS(STATIC_5038), java.lang.Object(IntList(EOC, i657, o1229)), i657) -> f5040_0__init__FieldAccess(EOS(STATIC_5040), java.lang.Object(IntList(EOC, i657, o1229)), i657) :|: TRUE 9.82/3.42 f5040_0__init__FieldAccess(EOS(STATIC_5040), java.lang.Object(IntList(EOC, i657, o1229)), i657) -> f5045_0__init__Load(EOS(STATIC_5045), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5045_0__init__Load(EOS(STATIC_5045), java.lang.Object(IntList(EOC, i657, o1229))) -> f5047_0__init__Load(EOS(STATIC_5047), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5047_0__init__Load(EOS(STATIC_5047), java.lang.Object(IntList(EOC, i657, o1229))) -> f5050_0__init__FieldAccess(EOS(STATIC_5050), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5050_0__init__FieldAccess(EOS(STATIC_5050), java.lang.Object(IntList(EOC, i657, o1229))) -> f5057_0__init__Return(EOS(STATIC_5057), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5057_0__init__Return(EOS(STATIC_5057), java.lang.Object(IntList(EOC, i657, o1229))) -> f5061_0_main_Store(EOS(STATIC_5061), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5061_0_main_Store(EOS(STATIC_5061), java.lang.Object(IntList(EOC, i657, o1229))) -> f5065_0_main_Load(EOS(STATIC_5065), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5065_0_main_Load(EOS(STATIC_5065), java.lang.Object(IntList(EOC, i657, o1229))) -> f5068_0_main_FieldAccess(EOS(STATIC_5068), java.lang.Object(IntList(EOC, i657, o1229))) :|: TRUE 9.82/3.42 f5068_0_main_FieldAccess(EOS(STATIC_5068), java.lang.Object(IntList(EOC, i657, o1229))) -> f5072_0_main_Store(EOS(STATIC_5072), o1229) :|: TRUE 9.82/3.42 f5072_0_main_Store(EOS(STATIC_5072), o1229) -> f5075_0_main_Load(EOS(STATIC_5075), o1229) :|: TRUE 9.82/3.42 f5075_0_main_Load(EOS(STATIC_5075), o1229) -> f5081_0_main_NULL(EOS(STATIC_5081), o1229, o1229) :|: TRUE 9.82/3.42 f5081_0_main_NULL(EOS(STATIC_5081), java.lang.Object(o1303sub), java.lang.Object(o1303sub)) -> f5082_0_main_NULL(EOS(STATIC_5082), java.lang.Object(o1303sub), java.lang.Object(o1303sub)) :|: TRUE 9.82/3.42 f5167_1_main_InvokeMethod(f3424_0_reverse_Return(EOS(STATIC_3424), java.lang.Object(IntList(EOC, i717, o1338)))) -> f5730_0_reverse_Return(EOS(STATIC_5730), java.lang.Object(IntList(EOC, i717, o1338))) :|: TRUE 9.82/3.42 R rules: 9.82/3.42 f5167_0_reverse_ConstantStackPush(EOS(STATIC_5167), java.lang.Object(o1303sub)) -> f5177_0_reverse_ConstantStackPush(EOS(STATIC_5177), java.lang.Object(o1303sub)) :|: TRUE 9.82/3.42 f5177_0_reverse_ConstantStackPush(EOS(STATIC_5177), java.lang.Object(o1303sub)) -> f5182_0_reverse_ConstantStackPush(EOS(STATIC_5182), java.lang.Object(o1303sub)) :|: TRUE 9.82/3.42 f5182_0_reverse_ConstantStackPush(EOS(STATIC_5182), java.lang.Object(o1326sub)) -> f5185_0_reverse_ConstantStackPush(EOS(STATIC_5185), java.lang.Object(o1326sub)) :|: TRUE 9.82/3.42 f5185_0_reverse_ConstantStackPush(EOS(STATIC_5185), java.lang.Object(o1326sub)) -> f5207_0_reverse_ConstantStackPush(EOS(STATIC_5207), java.lang.Object(o1326sub)) :|: TRUE 9.82/3.42 f5207_0_reverse_ConstantStackPush(EOS(STATIC_5207), java.lang.Object(o1326sub)) -> f2950_0_reverse_ConstantStackPush(EOS(STATIC_2950), java.lang.Object(o1326sub)) :|: TRUE 9.82/3.42 f2950_0_reverse_ConstantStackPush(EOS(STATIC_2950), java.lang.Object(o327sub)) -> f2953_0_reverse_Store(EOS(STATIC_2953), java.lang.Object(o327sub), NULL) :|: TRUE 9.82/3.42 f2953_0_reverse_Store(EOS(STATIC_2953), java.lang.Object(o327sub), NULL) -> f2955_0_reverse_Load(EOS(STATIC_2955), java.lang.Object(o327sub), NULL) :|: TRUE 9.82/3.42 f2955_0_reverse_Load(EOS(STATIC_2955), java.lang.Object(o327sub), NULL) -> f2958_0_reverse_Store(EOS(STATIC_2958), NULL, java.lang.Object(o327sub)) :|: TRUE 9.82/3.42 f2958_0_reverse_Store(EOS(STATIC_2958), NULL, java.lang.Object(o327sub)) -> f2960_0_reverse_Load(EOS(STATIC_2960), NULL, java.lang.Object(o327sub)) :|: TRUE 9.82/3.42 f2960_0_reverse_Load(EOS(STATIC_2960), NULL, java.lang.Object(o327sub)) -> f2962_0_reverse_NULL(EOS(STATIC_2962), NULL, java.lang.Object(o327sub), java.lang.Object(o327sub)) :|: TRUE 9.82/3.42 f2962_0_reverse_NULL(EOS(STATIC_2962), NULL, java.lang.Object(o327sub), java.lang.Object(o327sub)) -> f2964_0_reverse_New(EOS(STATIC_2964), NULL, java.lang.Object(o327sub)) :|: TRUE 9.82/3.42 f2964_0_reverse_New(EOS(STATIC_2964), NULL, java.lang.Object(o327sub)) -> f2967_0_reverse_Duplicate(EOS(STATIC_2967), NULL, java.lang.Object(o327sub), java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE 9.82/3.42 f2967_0_reverse_Duplicate(EOS(STATIC_2967), NULL, java.lang.Object(o327sub), java.lang.Object(IntList(EOC, matching1, NULL))) -> f2969_0_reverse_Load(EOS(STATIC_2969), NULL, java.lang.Object(o327sub), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE && matching1 = 0 9.82/3.42 f2969_0_reverse_Load(EOS(STATIC_2969), NULL, java.lang.Object(o327sub), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL))) -> f2972_0_reverse_FieldAccess(EOS(STATIC_2972), NULL, java.lang.Object(o327sub), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(o327sub)) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f2972_0_reverse_FieldAccess(EOS(STATIC_2972), NULL, java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), java.lang.Object(IntList(EOC, i320, o338))) -> f2975_0_reverse_FieldAccess(EOS(STATIC_2975), NULL, java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, i320, o338))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f2975_0_reverse_FieldAccess(EOS(STATIC_2975), NULL, java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), java.lang.Object(IntList(EOC, i320, o338))) -> f2978_0_reverse_Load(EOS(STATIC_2978), NULL, java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i320) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f2978_0_reverse_Load(EOS(STATIC_2978), NULL, java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i320) -> f2979_0_reverse_InvokeMethod(EOS(STATIC_2979), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i320, NULL) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f2979_0_reverse_InvokeMethod(EOS(STATIC_2979), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i320, NULL) -> f2981_0__init__Load(EOS(STATIC_2981), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i320, NULL) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f2981_0__init__Load(EOS(STATIC_2981), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i320, NULL) -> f2982_0__init__InvokeMethod(EOS(STATIC_2982), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i320, NULL, java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f2982_0__init__InvokeMethod(EOS(STATIC_2982), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i320, NULL, java.lang.Object(IntList(EOC, matching3, NULL))) -> f2983_0__init__Load(EOS(STATIC_2983), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i320, NULL) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 9.82/3.42 f2983_0__init__Load(EOS(STATIC_2983), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i320, NULL) -> f2984_0__init__Load(EOS(STATIC_2984), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i320, NULL, java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f2984_0__init__Load(EOS(STATIC_2984), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i320, NULL, java.lang.Object(IntList(EOC, matching3, NULL))) -> f2986_0__init__FieldAccess(EOS(STATIC_2986), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), NULL, java.lang.Object(IntList(EOC, 0, NULL)), i320) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 9.82/3.42 f2986_0__init__FieldAccess(EOS(STATIC_2986), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), NULL, java.lang.Object(IntList(EOC, matching3, NULL)), i320) -> f2989_0__init__Load(EOS(STATIC_2989), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, NULL)), NULL) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 9.82/3.42 f2989_0__init__Load(EOS(STATIC_2989), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, NULL)), NULL) -> f2990_0__init__Load(EOS(STATIC_2990), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL)), NULL, java.lang.Object(IntList(EOC, i320, NULL))) :|: TRUE 9.82/3.42 f2990_0__init__Load(EOS(STATIC_2990), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL)), NULL, java.lang.Object(IntList(EOC, i320, NULL))) -> f2991_0__init__FieldAccess(EOS(STATIC_2991), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, NULL)), NULL) :|: TRUE 9.82/3.42 f2991_0__init__FieldAccess(EOS(STATIC_2991), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, NULL)), NULL) -> f2992_0__init__Return(EOS(STATIC_2992), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL))) :|: TRUE 9.82/3.42 f2992_0__init__Return(EOS(STATIC_2992), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL))) -> f2993_0_reverse_Store(EOS(STATIC_2993), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL))) :|: TRUE 9.82/3.42 f2993_0_reverse_Store(EOS(STATIC_2993), java.lang.Object(IntList(EOC, i320, o338)), java.lang.Object(IntList(EOC, i320, NULL))) -> f2995_0_reverse_Load(EOS(STATIC_2995), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, o338))) :|: TRUE 9.82/3.42 f2995_0_reverse_Load(EOS(STATIC_2995), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, o338))) -> f2997_0_reverse_FieldAccess(EOS(STATIC_2997), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, o338))) :|: TRUE 9.82/3.42 f2997_0_reverse_FieldAccess(EOS(STATIC_2997), java.lang.Object(IntList(EOC, i320, NULL)), java.lang.Object(IntList(EOC, i320, o338))) -> f2999_0_reverse_Store(EOS(STATIC_2999), java.lang.Object(IntList(EOC, i320, NULL)), o338) :|: TRUE 9.82/3.42 f2999_0_reverse_Store(EOS(STATIC_2999), java.lang.Object(IntList(EOC, i320, NULL)), o338) -> f3001_0_reverse_JMP(EOS(STATIC_3001), java.lang.Object(IntList(EOC, i320, NULL)), o338) :|: TRUE 9.82/3.42 f3001_0_reverse_JMP(EOS(STATIC_3001), java.lang.Object(IntList(EOC, i320, NULL)), o338) -> f3006_0_reverse_Load(EOS(STATIC_3006), java.lang.Object(IntList(EOC, i320, NULL)), o338) :|: TRUE 9.82/3.42 f3006_0_reverse_Load(EOS(STATIC_3006), java.lang.Object(IntList(EOC, i320, NULL)), o338) -> f3158_0_reverse_Load(EOS(STATIC_3158), java.lang.Object(IntList(EOC, i320, NULL)), o338) :|: TRUE 9.82/3.42 f3158_0_reverse_Load(EOS(STATIC_3158), java.lang.Object(IntList(EOC, i355, o473)), o474) -> f3388_0_reverse_Load(EOS(STATIC_3388), java.lang.Object(IntList(EOC, i355, o473)), o474) :|: TRUE 9.82/3.42 f3388_0_reverse_Load(EOS(STATIC_3388), java.lang.Object(IntList(EOC, i409, o648)), o649) -> f3402_0_reverse_NULL(EOS(STATIC_3402), java.lang.Object(IntList(EOC, i409, o648)), o649, o649) :|: TRUE 9.82/3.42 f3402_0_reverse_NULL(EOS(STATIC_3402), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(o675sub)) -> f3407_0_reverse_NULL(EOS(STATIC_3407), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(o675sub)) :|: TRUE 9.82/3.42 f3402_0_reverse_NULL(EOS(STATIC_3402), java.lang.Object(IntList(EOC, i409, o648)), NULL, NULL) -> f3408_0_reverse_NULL(EOS(STATIC_3408), java.lang.Object(IntList(EOC, i409, o648)), NULL, NULL) :|: TRUE 9.82/3.42 f3407_0_reverse_NULL(EOS(STATIC_3407), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(o675sub)) -> f3415_0_reverse_New(EOS(STATIC_3415), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub)) :|: TRUE 9.82/3.42 f3408_0_reverse_NULL(EOS(STATIC_3408), java.lang.Object(IntList(EOC, i409, o648)), NULL, NULL) -> f3416_0_reverse_Load(EOS(STATIC_3416), java.lang.Object(IntList(EOC, i409, o648))) :|: TRUE 9.82/3.42 f3415_0_reverse_New(EOS(STATIC_3415), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub)) -> f3422_0_reverse_Duplicate(EOS(STATIC_3422), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE 9.82/3.42 f3416_0_reverse_Load(EOS(STATIC_3416), java.lang.Object(IntList(EOC, i409, o648))) -> f3424_0_reverse_Return(EOS(STATIC_3424), java.lang.Object(IntList(EOC, i409, o648))) :|: TRUE 9.82/3.42 f3422_0_reverse_Duplicate(EOS(STATIC_3422), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(IntList(EOC, matching1, NULL))) -> f3432_0_reverse_Load(EOS(STATIC_3432), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE && matching1 = 0 9.82/3.42 f3432_0_reverse_Load(EOS(STATIC_3432), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL))) -> f3446_0_reverse_FieldAccess(EOS(STATIC_3446), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(o675sub), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(o675sub)) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f3446_0_reverse_FieldAccess(EOS(STATIC_3446), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), java.lang.Object(IntList(EOC, i427, o718))) -> f3458_0_reverse_FieldAccess(EOS(STATIC_3458), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f3458_0_reverse_FieldAccess(EOS(STATIC_3458), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), java.lang.Object(IntList(EOC, i427, o718))) -> f3487_0_reverse_Load(EOS(STATIC_3487), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i427) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f3487_0_reverse_Load(EOS(STATIC_3487), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i427) -> f3492_0_reverse_InvokeMethod(EOS(STATIC_3492), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f3492_0_reverse_InvokeMethod(EOS(STATIC_3492), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648))) -> f3494_0__init__Load(EOS(STATIC_3494), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f3494_0__init__Load(EOS(STATIC_3494), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648))) -> f3508_0__init__InvokeMethod(EOS(STATIC_3508), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f3508_0__init__InvokeMethod(EOS(STATIC_3508), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, matching3, NULL))) -> f3522_0__init__Load(EOS(STATIC_3522), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648))) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 9.82/3.42 f3522_0__init__Load(EOS(STATIC_3522), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648))) -> f3524_0__init__Load(EOS(STATIC_3524), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, 0, NULL))) :|: TRUE && matching1 = 0 && matching2 = 0 9.82/3.42 f3524_0__init__Load(EOS(STATIC_3524), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), i427, java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, matching3, NULL))) -> f3530_0__init__FieldAccess(EOS(STATIC_3530), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, 0, NULL)), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, 0, NULL)), i427) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 9.82/3.42 f3530_0__init__FieldAccess(EOS(STATIC_3530), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, matching1, NULL)), java.lang.Object(IntList(EOC, matching2, NULL)), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, matching3, NULL)), i427) -> f3538_0__init__Load(EOS(STATIC_3538), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i409, o648))) :|: TRUE && matching1 = 0 && matching2 = 0 && matching3 = 0 9.82/3.42 f3538_0__init__Load(EOS(STATIC_3538), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i409, o648))) -> f3545_0__init__Load(EOS(STATIC_3545), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, i427, NULL))) :|: TRUE 9.82/3.42 f3545_0__init__Load(EOS(STATIC_3545), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i409, o648)), java.lang.Object(IntList(EOC, i427, NULL))) -> f3553_0__init__FieldAccess(EOS(STATIC_3553), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i409, o648))) :|: TRUE 9.82/3.42 f3553_0__init__FieldAccess(EOS(STATIC_3553), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i427, NULL)), java.lang.Object(IntList(EOC, i409, o648))) -> f3563_0__init__Return(EOS(STATIC_3563), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648))))) :|: TRUE 9.82/3.42 f3563_0__init__Return(EOS(STATIC_3563), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648))))) -> f3569_0_reverse_Store(EOS(STATIC_3569), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648))))) :|: TRUE 9.82/3.42 f3569_0_reverse_Store(EOS(STATIC_3569), java.lang.Object(IntList(EOC, i427, o718)), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648))))) -> f3576_0_reverse_Load(EOS(STATIC_3576), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3576_0_reverse_Load(EOS(STATIC_3576), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), java.lang.Object(IntList(EOC, i427, o718))) -> f3584_0_reverse_FieldAccess(EOS(STATIC_3584), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), java.lang.Object(IntList(EOC, i427, o718))) :|: TRUE 9.82/3.42 f3584_0_reverse_FieldAccess(EOS(STATIC_3584), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), java.lang.Object(IntList(EOC, i427, o718))) -> f3591_0_reverse_Store(EOS(STATIC_3591), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), o718) :|: TRUE 9.82/3.42 f3591_0_reverse_Store(EOS(STATIC_3591), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), o718) -> f3597_0_reverse_JMP(EOS(STATIC_3597), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), o718) :|: TRUE 9.82/3.43 f3597_0_reverse_JMP(EOS(STATIC_3597), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), o718) -> f3619_0_reverse_Load(EOS(STATIC_3619), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), o718) :|: TRUE 9.82/3.43 f3619_0_reverse_Load(EOS(STATIC_3619), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), o718) -> f3388_0_reverse_Load(EOS(STATIC_3388), java.lang.Object(IntList(EOC, i427, java.lang.Object(IntList(EOC, i409, o648)))), o718) :|: TRUE 9.82/3.43 Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: 9.82/3.43 f5167_1_main_InvokeMethod(f3424_0_reverse_Return(EOS(STATIC_3424), java.lang.Object(IntList(EOC, i717:0, java.lang.Object(o1303sub:0))))) -> f5167_1_main_InvokeMethod(f6068_0_reverse_ConstantStackPush(EOS(STATIC_6068), java.lang.Object(o1303sub:0))) :|: TRUE 9.82/3.43 R rules: 9.82/3.43 Filtered ground terms: 9.82/3.43 f3424_0_reverse_Return(x1, x2) -> f3424_0_reverse_Return(x2) 9.82/3.43 f6068_0_reverse_ConstantStackPush(x1, x2) -> f6068_0_reverse_ConstantStackPush(x2) 9.82/3.43 IntList(x1, x2, x3) -> IntList(x2, x3) 9.82/3.43 Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: 9.82/3.43 F5167_1_MAIN_INVOKEMETHOD(f3424_0_reverse_Return(java.lang.Object(IntList(i717:0:0, java.lang.Object(o1303sub:0:0))))) -> F5167_1_MAIN_INVOKEMETHOD(f6068_0_reverse_ConstantStackPush(java.lang.Object(o1303sub:0:0))) :|: TRUE 9.82/3.43 R rules: 9.82/3.43 9.82/3.43 ---------------------------------------- 9.82/3.43 9.82/3.43 (27) 9.82/3.43 Obligation: 9.82/3.43 Q DP problem: 9.82/3.43 The TRS P consists of the following rules: 9.82/3.43 9.82/3.43 F5167_1_MAIN_INVOKEMETHOD(f3424_0_reverse_Return(java.lang.Object(IntList(i717:0:0, java.lang.Object(o1303sub:0:0))))) -> F5167_1_MAIN_INVOKEMETHOD(f6068_0_reverse_ConstantStackPush(java.lang.Object(o1303sub:0:0))) 9.82/3.43 9.82/3.43 R is empty. 9.82/3.43 Q is empty. 9.82/3.43 We have to consider all minimal (P,Q,R)-chains. 9.82/3.43 ---------------------------------------- 9.82/3.43 9.82/3.43 (28) DependencyGraphProof (EQUIVALENT) 9.82/3.43 The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node. 9.82/3.43 ---------------------------------------- 9.82/3.43 9.82/3.43 (29) 9.82/3.43 TRUE 9.82/3.47 EOF