15.44/5.20 YES 15.81/5.21 proof of /export/starexec/sandbox2/benchmark/theBenchmark.jar 15.81/5.21 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 15.81/5.21 15.81/5.21 15.81/5.21 termination of the given Bare JBC problem could be proven: 15.81/5.21 15.81/5.21 (0) Bare JBC problem 15.81/5.21 (1) BareJBCToJBCProof [EQUIVALENT, 94 ms] 15.81/5.21 (2) JBC problem 15.81/5.21 (3) JBCToGraph [EQUIVALENT, 1328 ms] 15.81/5.21 (4) JBCTerminationGraph 15.81/5.21 (5) TerminationGraphToSCCProof [SOUND, 0 ms] 15.81/5.21 (6) AND 15.81/5.21 (7) JBCTerminationSCC 15.81/5.21 (8) SCCToIRSProof [SOUND, 263 ms] 15.81/5.21 (9) IRSwT 15.81/5.21 (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 15.81/5.21 (11) IRSwT 15.81/5.21 (12) IRSwTTerminationDigraphProof [EQUIVALENT, 144 ms] 15.81/5.21 (13) IRSwT 15.81/5.21 (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] 15.81/5.21 (15) IRSwT 15.81/5.21 (16) TempFilterProof [SOUND, 6 ms] 15.81/5.21 (17) IntTRS 15.81/5.21 (18) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 15.81/5.21 (19) YES 15.81/5.21 (20) JBCTerminationSCC 15.81/5.21 (21) SCCToQDPProof [SOUND, 273 ms] 15.81/5.21 (22) QDP 15.81/5.21 (23) UsableRulesReductionPairsProof [EQUIVALENT, 56 ms] 15.81/5.21 (24) QDP 15.81/5.21 (25) PisEmptyProof [EQUIVALENT, 0 ms] 15.81/5.21 (26) YES 15.81/5.21 (27) JBCTerminationSCC 15.81/5.21 (28) SCCToIRSProof [SOUND, 129 ms] 15.81/5.21 (29) IRSwT 15.81/5.21 (30) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 15.81/5.21 (31) IRSwT 15.81/5.21 (32) IRSwTTerminationDigraphProof [EQUIVALENT, 9 ms] 15.81/5.21 (33) IRSwT 15.81/5.21 (34) IntTRSCompressionProof [EQUIVALENT, 0 ms] 15.81/5.21 (35) IRSwT 15.81/5.21 (36) TempFilterProof [SOUND, 35 ms] 15.81/5.21 (37) IntTRS 15.81/5.21 (38) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 15.81/5.21 (39) YES 15.81/5.21 15.81/5.21 15.81/5.21 ---------------------------------------- 15.81/5.21 15.81/5.21 (0) 15.81/5.21 Obligation: 15.81/5.21 need to prove termination of the following program: 15.81/5.21 public class Flatten { 15.81/5.21 public static void main(String[] args) { 15.81/5.21 Random.args = args; 15.81/5.21 int listLength = Random.random(); 15.81/5.21 TreeList list = null; 15.81/5.21 for (int i = listLength; i > 0; i--) { 15.81/5.21 Tree tree = Tree.createTree(); 15.81/5.21 list = new TreeList(tree, list); 15.81/5.21 } 15.81/5.21 15.81/5.21 flatten(list); 15.81/5.21 } 15.81/5.21 15.81/5.21 public static ObjectList flatten(TreeList start) { 15.81/5.21 ObjectList result = null; 15.81/5.21 while (start != null) { 15.81/5.21 Tree tree = start.value; 15.81/5.21 if (tree != null) { 15.81/5.21 result = new ObjectList(tree.value, result); 15.81/5.21 start = start.next; 15.81/5.21 start = new TreeList(tree.left, start); 15.81/5.21 start = new TreeList(tree.right, start); 15.81/5.21 } else { 15.81/5.21 start = start.next; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class ObjectList { 15.81/5.21 Object value; 15.81/5.21 ObjectList next; 15.81/5.21 15.81/5.21 public ObjectList(Object value, ObjectList next) { 15.81/5.21 this.value = value; 15.81/5.21 this.next = next; 15.81/5.21 } 15.81/5.21 15.81/5.21 public static ObjectList createList() { 15.81/5.21 ObjectList result = null; 15.81/5.21 int length = Random.random(); 15.81/5.21 while (length > 0) { 15.81/5.21 result = new ObjectList(new Object(), result); 15.81/5.21 length--; 15.81/5.21 } 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class Random { 15.81/5.21 static String[] args; 15.81/5.21 static int index = 0; 15.81/5.21 15.81/5.21 public static int random() { 15.81/5.21 String string = args[index]; 15.81/5.21 index++; 15.81/5.21 return string.length(); 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class Tree { 15.81/5.21 Tree left; 15.81/5.21 Tree right; 15.81/5.21 Object value; 15.81/5.21 15.81/5.21 public Tree(Tree l, Tree r) { 15.81/5.21 this.left = l; 15.81/5.21 this.right = r; 15.81/5.21 } 15.81/5.21 15.81/5.21 public Tree() { 15.81/5.21 } 15.81/5.21 15.81/5.21 public static Tree createNode() { 15.81/5.21 Tree result = new Tree(); 15.81/5.21 result.value = new Object(); 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 15.81/5.21 public static Tree createTree() { 15.81/5.21 int counter = Random.random(); 15.81/5.21 if (counter == 0) { 15.81/5.21 return null; 15.81/5.21 } 15.81/5.21 Tree result = createNode(); 15.81/5.21 Tree t = result; 15.81/5.21 15.81/5.21 while (counter > 0) { 15.81/5.21 int branch = Random.random(); 15.81/5.21 if (branch > 0) { 15.81/5.21 if (t.left == null) { 15.81/5.21 t.left = createNode(); 15.81/5.21 t = result; 15.81/5.21 } else { 15.81/5.21 t = t.left; 15.81/5.21 } 15.81/5.21 } else { 15.81/5.21 if (t.right == null) { 15.81/5.21 t.right = createNode(); 15.81/5.21 t = result; 15.81/5.21 } else { 15.81/5.21 t = t.right; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 counter--; 15.81/5.21 } 15.81/5.21 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 public static void main(String[] args) { 15.81/5.21 Random.args = args; 15.81/5.21 createTree(); 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class TreeList { 15.81/5.21 Tree value; 15.81/5.21 TreeList next; 15.81/5.21 15.81/5.21 public TreeList(Tree value, TreeList next) { 15.81/5.21 this.value = value; 15.81/5.21 this.next = next; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 15.81/5.21 ---------------------------------------- 15.81/5.21 15.81/5.21 (1) BareJBCToJBCProof (EQUIVALENT) 15.81/5.21 initialized classpath 15.81/5.21 ---------------------------------------- 15.81/5.21 15.81/5.21 (2) 15.81/5.21 Obligation: 15.81/5.21 need to prove termination of the following program: 15.81/5.21 public class Flatten { 15.81/5.21 public static void main(String[] args) { 15.81/5.21 Random.args = args; 15.81/5.21 int listLength = Random.random(); 15.81/5.21 TreeList list = null; 15.81/5.21 for (int i = listLength; i > 0; i--) { 15.81/5.21 Tree tree = Tree.createTree(); 15.81/5.21 list = new TreeList(tree, list); 15.81/5.21 } 15.81/5.21 15.81/5.21 flatten(list); 15.81/5.21 } 15.81/5.21 15.81/5.21 public static ObjectList flatten(TreeList start) { 15.81/5.21 ObjectList result = null; 15.81/5.21 while (start != null) { 15.81/5.21 Tree tree = start.value; 15.81/5.21 if (tree != null) { 15.81/5.21 result = new ObjectList(tree.value, result); 15.81/5.21 start = start.next; 15.81/5.21 start = new TreeList(tree.left, start); 15.81/5.21 start = new TreeList(tree.right, start); 15.81/5.21 } else { 15.81/5.21 start = start.next; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class ObjectList { 15.81/5.21 Object value; 15.81/5.21 ObjectList next; 15.81/5.21 15.81/5.21 public ObjectList(Object value, ObjectList next) { 15.81/5.21 this.value = value; 15.81/5.21 this.next = next; 15.81/5.21 } 15.81/5.21 15.81/5.21 public static ObjectList createList() { 15.81/5.21 ObjectList result = null; 15.81/5.21 int length = Random.random(); 15.81/5.21 while (length > 0) { 15.81/5.21 result = new ObjectList(new Object(), result); 15.81/5.21 length--; 15.81/5.21 } 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class Random { 15.81/5.21 static String[] args; 15.81/5.21 static int index = 0; 15.81/5.21 15.81/5.21 public static int random() { 15.81/5.21 String string = args[index]; 15.81/5.21 index++; 15.81/5.21 return string.length(); 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class Tree { 15.81/5.21 Tree left; 15.81/5.21 Tree right; 15.81/5.21 Object value; 15.81/5.21 15.81/5.21 public Tree(Tree l, Tree r) { 15.81/5.21 this.left = l; 15.81/5.21 this.right = r; 15.81/5.21 } 15.81/5.21 15.81/5.21 public Tree() { 15.81/5.21 } 15.81/5.21 15.81/5.21 public static Tree createNode() { 15.81/5.21 Tree result = new Tree(); 15.81/5.21 result.value = new Object(); 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 15.81/5.21 public static Tree createTree() { 15.81/5.21 int counter = Random.random(); 15.81/5.21 if (counter == 0) { 15.81/5.21 return null; 15.81/5.21 } 15.81/5.21 Tree result = createNode(); 15.81/5.21 Tree t = result; 15.81/5.21 15.81/5.21 while (counter > 0) { 15.81/5.21 int branch = Random.random(); 15.81/5.21 if (branch > 0) { 15.81/5.21 if (t.left == null) { 15.81/5.21 t.left = createNode(); 15.81/5.21 t = result; 15.81/5.21 } else { 15.81/5.21 t = t.left; 15.81/5.21 } 15.81/5.21 } else { 15.81/5.21 if (t.right == null) { 15.81/5.21 t.right = createNode(); 15.81/5.21 t = result; 15.81/5.21 } else { 15.81/5.21 t = t.right; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 counter--; 15.81/5.21 } 15.81/5.21 15.81/5.21 return result; 15.81/5.21 } 15.81/5.21 public static void main(String[] args) { 15.81/5.21 Random.args = args; 15.81/5.21 createTree(); 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 public class TreeList { 15.81/5.21 Tree value; 15.81/5.21 TreeList next; 15.81/5.21 15.81/5.21 public TreeList(Tree value, TreeList next) { 15.81/5.21 this.value = value; 15.81/5.21 this.next = next; 15.81/5.21 } 15.81/5.21 } 15.81/5.21 15.81/5.21 15.81/5.21 15.81/5.21 ---------------------------------------- 15.81/5.21 15.81/5.21 (3) JBCToGraph (EQUIVALENT) 15.81/5.21 Constructed TerminationGraph. 15.81/5.21 ---------------------------------------- 15.81/5.21 15.81/5.21 (4) 15.81/5.21 Obligation: 15.81/5.21 Termination Graph based on JBC Program: 15.81/5.21 Flatten.main([Ljava/lang/String;)V: Graph of 248 nodes with 2 SCCs. 15.81/5.21 15.81/5.21 15.81/5.21 15.81/5.21 Tree.createTree()LTree;: Graph of 310 nodes with 1 SCC. 15.81/5.21 15.81/5.21 15.81/5.21 15.81/5.21 15.81/5.21 15.81/5.21 ---------------------------------------- 15.81/5.21 15.81/5.21 (5) TerminationGraphToSCCProof (SOUND) 15.81/5.22 Splitted TerminationGraph to 3 SCCss. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (6) 15.81/5.22 Complex Obligation (AND) 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (7) 15.81/5.22 Obligation: 15.81/5.22 SCC of termination graph based on JBC Program. 15.81/5.22 SCC contains nodes from the following methods: Tree.createTree()LTree; 15.81/5.22 SCC calls the following helper methods: 15.81/5.22 Performed SCC analyses: 15.81/5.22 *Used field analysis yielded the following read fields: 15.81/5.22 *java.lang.String: [count] 15.81/5.22 *Tree: [right, left] 15.81/5.22 *Marker field analysis yielded the following relations that could be markers: 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (8) SCCToIRSProof (SOUND) 15.81/5.22 Transformed FIGraph SCCs to intTRSs. Log: 15.81/5.22 Generated rules. Obtained 114 IRulesP rules: 15.81/5.22 f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2745) -> f8023_0_createTree_LE(EOS(STATIC_8023(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2745) :|: TRUE 15.81/5.22 f8023_0_createTree_LE(EOS(STATIC_8023(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2745) -> f8025_0_createTree_InvokeMethod(EOS(STATIC_8025(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) :|: i2745 > 0 15.81/5.22 f8025_0_createTree_InvokeMethod(EOS(STATIC_8025(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) -> f8027_0_random_FieldAccess(EOS(STATIC_8027(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) :|: TRUE 15.81/5.22 f8027_0_random_FieldAccess(EOS(STATIC_8027(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) -> f8029_0_random_FieldAccess(EOS(STATIC_8029(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) :|: TRUE 15.81/5.22 f8029_0_random_FieldAccess(EOS(STATIC_8029(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) -> f8032_0_random_ArrayAccess(EOS(STATIC_8032(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) :|: TRUE 15.81/5.22 f8032_0_random_ArrayAccess(EOS(STATIC_8032(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) -> f8035_0_random_ArrayAccess(EOS(STATIC_8035(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) :|: TRUE 15.81/5.22 f8035_0_random_ArrayAccess(EOS(STATIC_8035(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) -> f8038_0_random_ArrayAccess(EOS(STATIC_8038(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) :|: TRUE 15.81/5.22 f8038_0_random_ArrayAccess(EOS(STATIC_8038(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(ARRAY(i1498))) -> f8041_0_random_Store(EOS(STATIC_8041(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) :|: TRUE 15.81/5.22 f8041_0_random_Store(EOS(STATIC_8041(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) -> f8045_0_random_FieldAccess(EOS(STATIC_8045(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) :|: TRUE 15.81/5.22 f8045_0_random_FieldAccess(EOS(STATIC_8045(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) -> f8048_0_random_ConstantStackPush(EOS(STATIC_8048(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) :|: TRUE 15.81/5.22 f8048_0_random_ConstantStackPush(EOS(STATIC_8048(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) -> f8051_0_random_IntArithmetic(EOS(STATIC_8051(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) :|: TRUE 15.81/5.22 f8051_0_random_IntArithmetic(EOS(STATIC_8051(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) -> f8055_0_random_FieldAccess(EOS(STATIC_8055(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) :|: TRUE 15.81/5.22 f8055_0_random_FieldAccess(EOS(STATIC_8055(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) -> f8057_0_random_Load(EOS(STATIC_8057(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) :|: TRUE 15.81/5.22 f8057_0_random_Load(EOS(STATIC_8057(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) -> f8060_0_random_InvokeMethod(EOS(STATIC_8060(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), o3545) :|: TRUE 15.81/5.22 f8060_0_random_InvokeMethod(EOS(STATIC_8060(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3572sub)) -> f8064_0_random_InvokeMethod(EOS(STATIC_8064(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3572sub)) :|: TRUE 15.81/5.22 f8064_0_random_InvokeMethod(EOS(STATIC_8064(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3575sub)) -> f8068_0_random_InvokeMethod(EOS(STATIC_8068(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3575sub)) :|: TRUE 15.81/5.22 f8068_0_random_InvokeMethod(EOS(STATIC_8068(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3575sub)) -> f8072_0_length_Load(EOS(STATIC_8072(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3575sub)) :|: TRUE 15.81/5.22 f8072_0_length_Load(EOS(STATIC_8072(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3575sub)) -> f8079_0_length_FieldAccess(EOS(STATIC_8079(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3575sub)) :|: TRUE 15.81/5.22 f8079_0_length_FieldAccess(EOS(STATIC_8079(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(java.lang.String(EOC, i2851))) -> f8083_0_length_FieldAccess(EOS(STATIC_8083(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(java.lang.String(EOC, i2851))) :|: i2851 >= 0 15.81/5.22 f8083_0_length_FieldAccess(EOS(STATIC_8083(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(java.lang.String(EOC, i2851))) -> f8087_0_length_Return(EOS(STATIC_8087(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) :|: TRUE 15.81/5.22 f8087_0_length_Return(EOS(STATIC_8087(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) -> f8091_0_random_Return(EOS(STATIC_8091(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) :|: TRUE 15.81/5.22 f8091_0_random_Return(EOS(STATIC_8091(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) -> f8096_0_createTree_Store(EOS(STATIC_8096(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) :|: TRUE 15.81/5.22 f8096_0_createTree_Store(EOS(STATIC_8096(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) -> f8100_0_createTree_Load(EOS(STATIC_8100(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) :|: TRUE 15.81/5.22 f8100_0_createTree_Load(EOS(STATIC_8100(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) -> f8105_0_createTree_LE(EOS(STATIC_8105(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2851) :|: TRUE 15.81/5.22 f8105_0_createTree_LE(EOS(STATIC_8105(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), matching1) -> f8109_0_createTree_LE(EOS(STATIC_8109(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), 0) :|: TRUE && matching1 = 0 15.81/5.22 f8105_0_createTree_LE(EOS(STATIC_8105(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2889) -> f8110_0_createTree_LE(EOS(STATIC_8110(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2889) :|: TRUE 15.81/5.22 f8109_0_createTree_LE(EOS(STATIC_8109(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), matching1) -> f8113_0_createTree_Load(EOS(STATIC_8113(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) :|: 0 <= 0 && matching1 = 0 15.81/5.22 f8113_0_createTree_Load(EOS(STATIC_8113(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) -> f8118_0_createTree_FieldAccess(EOS(STATIC_8118(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3497sub)) :|: TRUE 15.81/5.22 f8118_0_createTree_FieldAccess(EOS(STATIC_8118(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3634, o3633)), java.lang.Object(Tree(EOC, o3634, o3633))) -> f8123_0_createTree_FieldAccess(EOS(STATIC_8123(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3634, o3633)), java.lang.Object(Tree(EOC, o3634, o3633))) :|: TRUE 15.81/5.22 f8123_0_createTree_FieldAccess(EOS(STATIC_8123(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3634, o3633)), java.lang.Object(Tree(EOC, o3634, o3633))) -> f8128_0_createTree_NONNULL(EOS(STATIC_8128(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3634, o3633)), o3634) :|: TRUE 15.81/5.22 f8128_0_createTree_NONNULL(EOS(STATIC_8128(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub), o3633)), java.lang.Object(o3646sub)) -> f8133_0_createTree_NONNULL(EOS(STATIC_8133(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub), o3633)), java.lang.Object(o3646sub)) :|: TRUE 15.81/5.22 f8128_0_createTree_NONNULL(EOS(STATIC_8128(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), NULL) -> f8134_0_createTree_NONNULL(EOS(STATIC_8134(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), NULL) :|: TRUE 15.81/5.22 f8133_0_createTree_NONNULL(EOS(STATIC_8133(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub), o3633)), java.lang.Object(o3646sub)) -> f8140_0_createTree_Load(EOS(STATIC_8140(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub), o3633))) :|: TRUE 15.81/5.22 f8140_0_createTree_Load(EOS(STATIC_8140(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub), o3633))) -> f8147_0_createTree_FieldAccess(EOS(STATIC_8147(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub), o3633))) :|: TRUE 15.81/5.22 f8147_0_createTree_FieldAccess(EOS(STATIC_8147(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub), o3633))) -> f8154_0_createTree_Store(EOS(STATIC_8154(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) :|: TRUE 15.81/5.22 f8154_0_createTree_Store(EOS(STATIC_8154(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) -> f8161_0_createTree_Inc(EOS(STATIC_8161(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) :|: TRUE 15.81/5.22 f8161_0_createTree_Inc(EOS(STATIC_8161(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) -> f8165_0_createTree_JMP(EOS(STATIC_8165(java.lang.Object(ARRAY(i1498)))), i2745 + -1, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) :|: TRUE 15.81/5.22 f8165_0_createTree_JMP(EOS(STATIC_8165(java.lang.Object(ARRAY(i1498)))), i2926, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) -> f8173_0_createTree_Load(EOS(STATIC_8173(java.lang.Object(ARRAY(i1498)))), i2926, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) :|: TRUE 15.81/5.22 f8173_0_createTree_Load(EOS(STATIC_8173(java.lang.Object(ARRAY(i1498)))), i2926, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) -> f8020_0_createTree_Load(EOS(STATIC_8020(java.lang.Object(ARRAY(i1498)))), i2926, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3646sub)) :|: TRUE 15.81/5.22 f8020_0_createTree_Load(EOS(STATIC_8020(java.lang.Object(ARRAY(i1498)))), i2740, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) -> f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498)))), i2740, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2740) :|: TRUE 15.81/5.22 f8134_0_createTree_NONNULL(EOS(STATIC_8134(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), NULL) -> f8141_0_createTree_Load(EOS(STATIC_8141(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633))) :|: TRUE 15.81/5.22 f8141_0_createTree_Load(EOS(STATIC_8141(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633))) -> f8148_0_createTree_InvokeMethod(EOS(STATIC_8148(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633))) :|: TRUE 15.81/5.22 f8148_0_createTree_InvokeMethod(EOS(STATIC_8148(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633))) -> f8155_0_createNode_New(EOS(STATIC_8155(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633))) :|: TRUE 15.81/5.22 f8155_0_createNode_New(EOS(STATIC_8155(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633))) -> f8166_0_createNode_Duplicate(EOS(STATIC_8166(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8166_0_createNode_Duplicate(EOS(STATIC_8166(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8174_0_createNode_InvokeMethod(EOS(STATIC_8174(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8174_0_createNode_InvokeMethod(EOS(STATIC_8174(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8178_0__init__Load(EOS(STATIC_8178(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8178_0__init__Load(EOS(STATIC_8178(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8183_0__init__InvokeMethod(EOS(STATIC_8183(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8183_0__init__InvokeMethod(EOS(STATIC_8183(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8186_0__init__Return(EOS(STATIC_8186(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8186_0__init__Return(EOS(STATIC_8186(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8188_0_createNode_Store(EOS(STATIC_8188(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8188_0_createNode_Store(EOS(STATIC_8188(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8191_0_createNode_Load(EOS(STATIC_8191(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8191_0_createNode_Load(EOS(STATIC_8191(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8193_0_createNode_New(EOS(STATIC_8193(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8193_0_createNode_New(EOS(STATIC_8193(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8195_0_createNode_Duplicate(EOS(STATIC_8195(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) :|: TRUE 15.81/5.22 f8195_0_createNode_Duplicate(EOS(STATIC_8195(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) -> f8197_0_createNode_InvokeMethod(EOS(STATIC_8197(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC), java.lang.Object(EOC)) :|: TRUE 15.81/5.22 f8197_0_createNode_InvokeMethod(EOS(STATIC_8197(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC), java.lang.Object(EOC)) -> f8199_0_createNode_FieldAccess(EOS(STATIC_8199(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) :|: TRUE 15.81/5.22 f8199_0_createNode_FieldAccess(EOS(STATIC_8199(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) -> f8201_0_createNode_Load(EOS(STATIC_8201(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8201_0_createNode_Load(EOS(STATIC_8201(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8203_0_createNode_Return(EOS(STATIC_8203(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8203_0_createNode_Return(EOS(STATIC_8203(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8205_0_createTree_FieldAccess(EOS(STATIC_8205(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8205_0_createTree_FieldAccess(EOS(STATIC_8205(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8207_0_createTree_FieldAccess(EOS(STATIC_8207(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8205_0_createTree_FieldAccess(EOS(STATIC_8205(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, NULL, o3800)), java.lang.Object(Tree(EOC, NULL, o3800)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8208_0_createTree_FieldAccess(EOS(STATIC_8208(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, NULL, o3800)), java.lang.Object(Tree(EOC, NULL, o3800)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8207_0_createTree_FieldAccess(EOS(STATIC_8207(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, NULL, o3633)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8211_0_createTree_Load(EOS(STATIC_8211(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495put, o3494put))) :|: TRUE 15.81/5.22 f8211_0_createTree_Load(EOS(STATIC_8211(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494))) -> f8215_0_createTree_Store(EOS(STATIC_8215(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8215_0_createTree_Store(EOS(STATIC_8215(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8219_0_createTree_JMP(EOS(STATIC_8219(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8219_0_createTree_JMP(EOS(STATIC_8219(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8223_0_createTree_Inc(EOS(STATIC_8223(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8223_0_createTree_Inc(EOS(STATIC_8223(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8227_0_createTree_JMP(EOS(STATIC_8227(java.lang.Object(ARRAY(i1498)))), i2745 + -1, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8227_0_createTree_JMP(EOS(STATIC_8227(java.lang.Object(ARRAY(i1498)))), i2986, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8229_0_createTree_Load(EOS(STATIC_8229(java.lang.Object(ARRAY(i1498)))), i2986, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8229_0_createTree_Load(EOS(STATIC_8229(java.lang.Object(ARRAY(i1498)))), i2986, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8020_0_createTree_Load(EOS(STATIC_8020(java.lang.Object(ARRAY(i1498)))), i2986, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8208_0_createTree_FieldAccess(EOS(STATIC_8208(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, NULL, o3800)), java.lang.Object(Tree(EOC, NULL, o3800)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8212_0_createTree_Load(EOS(STATIC_8212(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) :|: TRUE 15.81/5.22 f8212_0_createTree_Load(EOS(STATIC_8212(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) -> f8216_0_createTree_Store(EOS(STATIC_8216(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) :|: TRUE 15.81/5.22 f8216_0_createTree_Store(EOS(STATIC_8216(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) -> f8220_0_createTree_JMP(EOS(STATIC_8220(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) :|: TRUE 15.81/5.22 f8220_0_createTree_JMP(EOS(STATIC_8220(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) -> f8224_0_createTree_Inc(EOS(STATIC_8224(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) :|: TRUE 15.81/5.22 f8224_0_createTree_Inc(EOS(STATIC_8224(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) -> f8225_0_createTree_Inc(EOS(STATIC_8225(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3800))) :|: TRUE 15.81/5.22 f8225_0_createTree_Inc(EOS(STATIC_8225(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8223_0_createTree_Inc(EOS(STATIC_8223(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8110_0_createTree_LE(EOS(STATIC_8110(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), i2889) -> f8114_0_createTree_Load(EOS(STATIC_8114(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) :|: i2889 > 0 15.81/5.22 f8114_0_createTree_Load(EOS(STATIC_8114(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub)) -> f8119_0_createTree_FieldAccess(EOS(STATIC_8119(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3497sub), java.lang.Object(o3497sub)) :|: TRUE 15.81/5.22 f8119_0_createTree_FieldAccess(EOS(STATIC_8119(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, o3637)), java.lang.Object(Tree(EOC, o3638, o3637))) -> f8124_0_createTree_FieldAccess(EOS(STATIC_8124(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, o3637)), java.lang.Object(Tree(EOC, o3638, o3637))) :|: TRUE 15.81/5.22 f8124_0_createTree_FieldAccess(EOS(STATIC_8124(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, o3637)), java.lang.Object(Tree(EOC, o3638, o3637))) -> f8129_0_createTree_NONNULL(EOS(STATIC_8129(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, o3637)), o3637) :|: TRUE 15.81/5.22 f8129_0_createTree_NONNULL(EOS(STATIC_8129(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, java.lang.Object(o3647sub))), java.lang.Object(o3647sub)) -> f8135_0_createTree_NONNULL(EOS(STATIC_8135(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, java.lang.Object(o3647sub))), java.lang.Object(o3647sub)) :|: TRUE 15.81/5.22 f8129_0_createTree_NONNULL(EOS(STATIC_8129(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), NULL) -> f8136_0_createTree_NONNULL(EOS(STATIC_8136(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), NULL) :|: TRUE 15.81/5.22 f8135_0_createTree_NONNULL(EOS(STATIC_8135(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, java.lang.Object(o3647sub))), java.lang.Object(o3647sub)) -> f8142_0_createTree_Load(EOS(STATIC_8142(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, java.lang.Object(o3647sub)))) :|: TRUE 15.81/5.22 f8142_0_createTree_Load(EOS(STATIC_8142(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, java.lang.Object(o3647sub)))) -> f8149_0_createTree_FieldAccess(EOS(STATIC_8149(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, java.lang.Object(o3647sub)))) :|: TRUE 15.81/5.22 f8149_0_createTree_FieldAccess(EOS(STATIC_8149(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, java.lang.Object(o3647sub)))) -> f8156_0_createTree_Store(EOS(STATIC_8156(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3647sub)) :|: TRUE 15.81/5.22 f8156_0_createTree_Store(EOS(STATIC_8156(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3647sub)) -> f8162_0_createTree_JMP(EOS(STATIC_8162(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3647sub)) :|: TRUE 15.81/5.22 f8162_0_createTree_JMP(EOS(STATIC_8162(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3647sub)) -> f8167_0_createTree_Inc(EOS(STATIC_8167(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3647sub)) :|: TRUE 15.81/5.22 f8167_0_createTree_Inc(EOS(STATIC_8167(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3647sub)) -> f8161_0_createTree_Inc(EOS(STATIC_8161(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(o3647sub)) :|: TRUE 15.81/5.22 f8136_0_createTree_NONNULL(EOS(STATIC_8136(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), NULL) -> f8143_0_createTree_Load(EOS(STATIC_8143(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL))) :|: TRUE 15.81/5.22 f8143_0_createTree_Load(EOS(STATIC_8143(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL))) -> f8150_0_createTree_InvokeMethod(EOS(STATIC_8150(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL))) :|: TRUE 15.81/5.22 f8150_0_createTree_InvokeMethod(EOS(STATIC_8150(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL))) -> f8157_0_createNode_New(EOS(STATIC_8157(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL))) :|: TRUE 15.81/5.22 f8157_0_createNode_New(EOS(STATIC_8157(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL))) -> f8168_0_createNode_Duplicate(EOS(STATIC_8168(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8168_0_createNode_Duplicate(EOS(STATIC_8168(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8175_0_createNode_InvokeMethod(EOS(STATIC_8175(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8175_0_createNode_InvokeMethod(EOS(STATIC_8175(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8179_0__init__Load(EOS(STATIC_8179(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8179_0__init__Load(EOS(STATIC_8179(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8184_0__init__InvokeMethod(EOS(STATIC_8184(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8184_0__init__InvokeMethod(EOS(STATIC_8184(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8187_0__init__Return(EOS(STATIC_8187(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8187_0__init__Return(EOS(STATIC_8187(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8189_0_createNode_Store(EOS(STATIC_8189(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8189_0_createNode_Store(EOS(STATIC_8189(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8192_0_createNode_Load(EOS(STATIC_8192(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8192_0_createNode_Load(EOS(STATIC_8192(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8194_0_createNode_New(EOS(STATIC_8194(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8194_0_createNode_New(EOS(STATIC_8194(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8196_0_createNode_Duplicate(EOS(STATIC_8196(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) :|: TRUE 15.81/5.22 f8196_0_createNode_Duplicate(EOS(STATIC_8196(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) -> f8198_0_createNode_InvokeMethod(EOS(STATIC_8198(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC), java.lang.Object(EOC)) :|: TRUE 15.81/5.22 f8198_0_createNode_InvokeMethod(EOS(STATIC_8198(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC), java.lang.Object(EOC)) -> f8200_0_createNode_FieldAccess(EOS(STATIC_8200(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) :|: TRUE 15.81/5.22 f8200_0_createNode_FieldAccess(EOS(STATIC_8200(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, NULL, NULL)), java.lang.Object(EOC)) -> f8202_0_createNode_Load(EOS(STATIC_8202(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8202_0_createNode_Load(EOS(STATIC_8202(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8204_0_createNode_Return(EOS(STATIC_8204(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8204_0_createNode_Return(EOS(STATIC_8204(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8206_0_createTree_FieldAccess(EOS(STATIC_8206(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8206_0_createTree_FieldAccess(EOS(STATIC_8206(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8209_0_createTree_FieldAccess(EOS(STATIC_8209(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8206_0_createTree_FieldAccess(EOS(STATIC_8206(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, NULL)), java.lang.Object(Tree(EOC, o3809, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8210_0_createTree_FieldAccess(EOS(STATIC_8210(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, NULL)), java.lang.Object(Tree(EOC, o3809, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f8209_0_createTree_FieldAccess(EOS(STATIC_8209(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3638, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8213_0_createTree_Load(EOS(STATIC_8213(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495put, o3494put))) :|: TRUE 15.81/5.22 f8213_0_createTree_Load(EOS(STATIC_8213(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494))) -> f8217_0_createTree_Store(EOS(STATIC_8217(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8217_0_createTree_Store(EOS(STATIC_8217(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8221_0_createTree_JMP(EOS(STATIC_8221(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8221_0_createTree_JMP(EOS(STATIC_8221(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) -> f8225_0_createTree_Inc(EOS(STATIC_8225(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3495, o3494)), java.lang.Object(Tree(EOC, o3495, o3494))) :|: TRUE 15.81/5.22 f8210_0_createTree_FieldAccess(EOS(STATIC_8210(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, NULL)), java.lang.Object(Tree(EOC, o3809, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f8214_0_createTree_Load(EOS(STATIC_8214(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE 15.81/5.22 f8214_0_createTree_Load(EOS(STATIC_8214(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f8218_0_createTree_Store(EOS(STATIC_8218(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE 15.81/5.22 f8218_0_createTree_Store(EOS(STATIC_8218(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f8222_0_createTree_JMP(EOS(STATIC_8222(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE 15.81/5.22 f8222_0_createTree_JMP(EOS(STATIC_8222(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f8226_0_createTree_Inc(EOS(STATIC_8226(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE 15.81/5.22 f8226_0_createTree_Inc(EOS(STATIC_8226(java.lang.Object(ARRAY(i1498)))), i2745, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f8228_0_createTree_JMP(EOS(STATIC_8228(java.lang.Object(ARRAY(i1498)))), i2745 + -1, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE 15.81/5.22 f8228_0_createTree_JMP(EOS(STATIC_8228(java.lang.Object(ARRAY(i1498)))), i2988, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f8230_0_createTree_Load(EOS(STATIC_8230(java.lang.Object(ARRAY(i1498)))), i2988, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE 15.81/5.22 f8230_0_createTree_Load(EOS(STATIC_8230(java.lang.Object(ARRAY(i1498)))), i2988, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f8020_0_createTree_Load(EOS(STATIC_8020(java.lang.Object(ARRAY(i1498)))), i2988, java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3809, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE 15.81/5.22 Combined rules. Obtained 6 IRulesP rules: 15.81/5.22 f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0, java.lang.Object(Tree(EOC, o3495:0, o3494:0)), java.lang.Object(Tree(EOC, NULL, o3633:0)), i2745:0) -> f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0 - 1, java.lang.Object(Tree(EOC, o3495put:0, o3494put:0)), java.lang.Object(Tree(EOC, o3495put:0, o3494put:0)), i2745:0 - 1) :|: i2745:0 > 0 15.81/5.22 f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0, java.lang.Object(Tree(EOC, NULL, o3494:0)), java.lang.Object(Tree(EOC, NULL, o3494:0)), i2745:0) -> f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0 - 1, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3494:0)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3494:0)), i2745:0 - 1) :|: i2745:0 > 0 15.81/5.22 f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0, java.lang.Object(Tree(EOC, o3495:0, o3494:0)), java.lang.Object(Tree(EOC, o3638:0, java.lang.Object(o3647sub:0))), i2745:0) -> f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0 - 1, java.lang.Object(Tree(EOC, o3495:0, o3494:0)), java.lang.Object(o3647sub:0), i2745:0 - 1) :|: i2745:0 > 0 && i2851:0 > 0 15.81/5.22 f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0, java.lang.Object(Tree(EOC, o3495:0, o3494:0)), java.lang.Object(Tree(EOC, o3638:0, NULL)), i2745:0) -> f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0 - 1, java.lang.Object(Tree(EOC, o3495put:0, o3494put:0)), java.lang.Object(Tree(EOC, o3495put:0, o3494put:0)), i2745:0 - 1) :|: i2745:0 > 0 && i2851:0 > 0 15.81/5.22 f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0, java.lang.Object(Tree(EOC, o3495:0, o3494:0)), java.lang.Object(Tree(EOC, java.lang.Object(o3646sub:0), o3633:0)), i2745:0) -> f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0 - 1, java.lang.Object(Tree(EOC, o3495:0, o3494:0)), java.lang.Object(o3646sub:0), i2745:0 - 1) :|: i2745:0 > 0 15.81/5.22 f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0, java.lang.Object(Tree(EOC, o3495:0, NULL)), java.lang.Object(Tree(EOC, o3495:0, NULL)), i2745:0) -> f8021_0_createTree_LE(EOS(STATIC_8021(java.lang.Object(ARRAY(i1498:0)))), i2745:0 - 1, java.lang.Object(Tree(EOC, o3495:0, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3495:0, java.lang.Object(Tree(EOC, NULL, NULL)))), i2745:0 - 1) :|: i2745:0 > 0 && i2851:0 > 0 15.81/5.22 Filtered constant ground arguments: 15.81/5.22 Tree(x1, x2, x3) -> Tree(x2, x3) 15.81/5.22 Filtered duplicate arguments: 15.81/5.22 f8021_0_createTree_LE(x1, x2, x3, x4, x5) -> f8021_0_createTree_LE(x1, x3, x4, x5) 15.81/5.22 Filtered unneeded arguments: 15.81/5.22 f8021_0_createTree_LE(x1, x2, x3, x4) -> f8021_0_createTree_LE(x2, x3, x4) 15.81/5.22 Finished conversion. Obtained 6 rules.P rules: 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(NULL, o3633:0)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495put:0, o3494put:0)), java.lang.Object(Tree(o3495put:0, o3494put:0)), i2745:0 - 1) :|: i2745:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(NULL, o3494:0)), java.lang.Object(Tree(NULL, o3494:0)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o3494:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o3494:0)), i2745:0 - 1) :|: i2745:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(o3638:0, java.lang.Object(o3647sub:0))), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(o3647sub:0), i2745:0 - 1) :|: i2745:0 > 0 && i2851:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(o3638:0, NULL)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495put:0, o3494put:0)), java.lang.Object(Tree(o3495put:0, o3494put:0)), i2745:0 - 1) :|: i2745:0 > 0 && i2851:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(java.lang.Object(o3646sub:0), o3633:0)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(o3646sub:0), i2745:0 - 1) :|: i2745:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, NULL)), java.lang.Object(Tree(o3495:0, NULL)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o3495:0, java.lang.Object(Tree(NULL, NULL)))), i2745:0 - 1) :|: i2745:0 > 0 && i2851:0 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (9) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(NULL, o3633:0)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495put:0, o3494put:0)), java.lang.Object(Tree(o3495put:0, o3494put:0)), i2745:0 - 1) :|: i2745:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(NULL, x)), java.lang.Object(Tree(NULL, x)), x1) -> f8021_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x)), x1 - 1) :|: x1 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x2, x3)), java.lang.Object(Tree(x4, java.lang.Object(x5))), x6) -> f8021_0_createTree_LE(java.lang.Object(Tree(x2, x3)), java.lang.Object(x5), x6 - 1) :|: x6 > 0 && x7 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x8, x9)), java.lang.Object(Tree(x10, NULL)), x11) -> f8021_0_createTree_LE(java.lang.Object(Tree(x12, x13)), java.lang.Object(Tree(x12, x13)), x11 - 1) :|: x11 > 0 && x14 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x15, x16)), java.lang.Object(Tree(java.lang.Object(x17), x18)), x19) -> f8021_0_createTree_LE(java.lang.Object(Tree(x15, x16)), java.lang.Object(x17), x19 - 1) :|: x19 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x20, NULL)), java.lang.Object(Tree(x20, NULL)), x21) -> f8021_0_createTree_LE(java.lang.Object(Tree(x20, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x20, java.lang.Object(Tree(NULL, NULL)))), x21 - 1) :|: x21 > 0 && x22 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (10) IRSFormatTransformerProof (EQUIVALENT) 15.81/5.22 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (11) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(NULL, o3633:0)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495put:0, o3494put:0)), java.lang.Object(Tree(o3495put:0, o3494put:0)), arith) :|: i2745:0 > 0 && arith = i2745:0 - 1 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(NULL, x23)), java.lang.Object(Tree(NULL, x23)), x24) -> f8021_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23)), x25) :|: x24 > 0 && x25 = x24 - 1 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x26, x27)), java.lang.Object(Tree(x28, java.lang.Object(x29))), x30) -> f8021_0_createTree_LE(java.lang.Object(Tree(x26, x27)), java.lang.Object(x29), x31) :|: x30 > 0 && x32 > 0 && x31 = x30 - 1 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x33, x34)), java.lang.Object(Tree(x35, NULL)), x36) -> f8021_0_createTree_LE(java.lang.Object(Tree(x37, x38)), java.lang.Object(Tree(x37, x38)), x39) :|: x36 > 0 && x40 > 0 && x39 = x36 - 1 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x41, x42)), java.lang.Object(Tree(java.lang.Object(x43), x44)), x45) -> f8021_0_createTree_LE(java.lang.Object(Tree(x41, x42)), java.lang.Object(x43), x46) :|: x45 > 0 && x46 = x45 - 1 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x47, NULL)), java.lang.Object(Tree(x47, NULL)), x48) -> f8021_0_createTree_LE(java.lang.Object(Tree(x47, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x47, java.lang.Object(Tree(NULL, NULL)))), x49) :|: x48 > 0 && x50 > 0 && x49 = x48 - 1 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (12) IRSwTTerminationDigraphProof (EQUIVALENT) 15.81/5.22 Constructed termination digraph! 15.81/5.22 Nodes: 15.81/5.22 (1) f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(NULL, o3633:0)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495put:0, o3494put:0)), java.lang.Object(Tree(o3495put:0, o3494put:0)), arith) :|: i2745:0 > 0 && arith = i2745:0 - 1 15.81/5.22 (2) f8021_0_createTree_LE(java.lang.Object(Tree(NULL, x23)), java.lang.Object(Tree(NULL, x23)), x24) -> f8021_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23)), x25) :|: x24 > 0 && x25 = x24 - 1 15.81/5.22 (3) f8021_0_createTree_LE(java.lang.Object(Tree(x26, x27)), java.lang.Object(Tree(x28, java.lang.Object(x29))), x30) -> f8021_0_createTree_LE(java.lang.Object(Tree(x26, x27)), java.lang.Object(x29), x31) :|: x30 > 0 && x32 > 0 && x31 = x30 - 1 15.81/5.22 (4) f8021_0_createTree_LE(java.lang.Object(Tree(x33, x34)), java.lang.Object(Tree(x35, NULL)), x36) -> f8021_0_createTree_LE(java.lang.Object(Tree(x37, x38)), java.lang.Object(Tree(x37, x38)), x39) :|: x36 > 0 && x40 > 0 && x39 = x36 - 1 15.81/5.22 (5) f8021_0_createTree_LE(java.lang.Object(Tree(x41, x42)), java.lang.Object(Tree(java.lang.Object(x43), x44)), x45) -> f8021_0_createTree_LE(java.lang.Object(Tree(x41, x42)), java.lang.Object(x43), x46) :|: x45 > 0 && x46 = x45 - 1 15.81/5.22 (6) f8021_0_createTree_LE(java.lang.Object(Tree(x47, NULL)), java.lang.Object(Tree(x47, NULL)), x48) -> f8021_0_createTree_LE(java.lang.Object(Tree(x47, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x47, java.lang.Object(Tree(NULL, NULL)))), x49) :|: x48 > 0 && x50 > 0 && x49 = x48 - 1 15.81/5.22 15.81/5.22 Arcs: 15.81/5.22 (1) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (2) -> (3), (4), (5), (6) 15.81/5.22 (3) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (4) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (5) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (6) -> (1), (2), (3), (5) 15.81/5.22 15.81/5.22 This digraph is fully evaluated! 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (13) 15.81/5.22 Obligation: 15.81/5.22 15.81/5.22 Termination digraph: 15.81/5.22 Nodes: 15.81/5.22 (1) f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0, o3494:0)), java.lang.Object(Tree(NULL, o3633:0)), i2745:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495put:0, o3494put:0)), java.lang.Object(Tree(o3495put:0, o3494put:0)), arith) :|: i2745:0 > 0 && arith = i2745:0 - 1 15.81/5.22 (2) f8021_0_createTree_LE(java.lang.Object(Tree(x26, x27)), java.lang.Object(Tree(x28, java.lang.Object(x29))), x30) -> f8021_0_createTree_LE(java.lang.Object(Tree(x26, x27)), java.lang.Object(x29), x31) :|: x30 > 0 && x32 > 0 && x31 = x30 - 1 15.81/5.22 (3) f8021_0_createTree_LE(java.lang.Object(Tree(NULL, x23)), java.lang.Object(Tree(NULL, x23)), x24) -> f8021_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23)), x25) :|: x24 > 0 && x25 = x24 - 1 15.81/5.22 (4) f8021_0_createTree_LE(java.lang.Object(Tree(x33, x34)), java.lang.Object(Tree(x35, NULL)), x36) -> f8021_0_createTree_LE(java.lang.Object(Tree(x37, x38)), java.lang.Object(Tree(x37, x38)), x39) :|: x36 > 0 && x40 > 0 && x39 = x36 - 1 15.81/5.22 (5) f8021_0_createTree_LE(java.lang.Object(Tree(x41, x42)), java.lang.Object(Tree(java.lang.Object(x43), x44)), x45) -> f8021_0_createTree_LE(java.lang.Object(Tree(x41, x42)), java.lang.Object(x43), x46) :|: x45 > 0 && x46 = x45 - 1 15.81/5.22 (6) f8021_0_createTree_LE(java.lang.Object(Tree(x47, NULL)), java.lang.Object(Tree(x47, NULL)), x48) -> f8021_0_createTree_LE(java.lang.Object(Tree(x47, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x47, java.lang.Object(Tree(NULL, NULL)))), x49) :|: x48 > 0 && x50 > 0 && x49 = x48 - 1 15.81/5.22 15.81/5.22 Arcs: 15.81/5.22 (1) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (2) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (3) -> (2), (4), (5), (6) 15.81/5.22 (4) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (5) -> (1), (2), (3), (4), (5), (6) 15.81/5.22 (6) -> (1), (2), (3), (5) 15.81/5.22 15.81/5.22 This digraph is fully evaluated! 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (14) IntTRSCompressionProof (EQUIVALENT) 15.81/5.22 Compressed rules. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (15) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x41:0, x42:0)), java.lang.Object(Tree(java.lang.Object(x43:0), x44:0)), x45:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(x41:0, x42:0)), java.lang.Object(x43:0), x45:0 - 1) :|: x45:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(NULL, x23:0)), java.lang.Object(Tree(NULL, x23:0)), x24:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), x23:0)), x24:0 - 1) :|: x24:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x47:0, NULL)), java.lang.Object(Tree(x47:0, NULL)), x48:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(x47:0, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x47:0, java.lang.Object(Tree(NULL, NULL)))), x48:0 - 1) :|: x48:0 > 0 && x50:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x26:0, x27:0)), java.lang.Object(Tree(x28:0, java.lang.Object(x29:0))), x30:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(x26:0, x27:0)), java.lang.Object(x29:0), x30:0 - 1) :|: x30:0 > 0 && x32:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(x33:0, x34:0)), java.lang.Object(Tree(x35:0, NULL)), x36:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(x37:0, x38:0)), java.lang.Object(Tree(x37:0, x38:0)), x36:0 - 1) :|: x36:0 > 0 && x40:0 > 0 15.81/5.22 f8021_0_createTree_LE(java.lang.Object(Tree(o3495:0:0, o3494:0:0)), java.lang.Object(Tree(NULL, o3633:0:0)), i2745:0:0) -> f8021_0_createTree_LE(java.lang.Object(Tree(o3495put:0:0, o3494put:0:0)), java.lang.Object(Tree(o3495put:0:0, o3494put:0:0)), i2745:0:0 - 1) :|: i2745:0:0 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (16) TempFilterProof (SOUND) 15.81/5.22 Used the following sort dictionary for filtering: 15.81/5.22 f8021_0_createTree_LE(VARIABLE, VARIABLE, INTEGER) 15.81/5.22 java.lang.Object(VARIABLE) 15.81/5.22 Tree(VARIABLE, VARIABLE) 15.81/5.22 NULL() 15.81/5.22 Replaced non-predefined constructor symbols by 0. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (17) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f8021_0_createTree_LE(c, c1, x45:0) -> f8021_0_createTree_LE(c2, c3, c4) :|: c4 = x45:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && x45:0 > 0 15.81/5.22 f8021_0_createTree_LE(c10, c11, x48:0) -> f8021_0_createTree_LE(c12, c13, c14) :|: c14 = x48:0 - 1 && (c13 = 0 && (c12 = 0 && (c11 = 0 && c10 = 0))) && (x48:0 > 0 && x50:0 > 0) 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (18) PolynomialOrderProcessor (EQUIVALENT) 15.81/5.22 Found the following polynomial interpretation: 15.81/5.22 [f8021_0_createTree_LE(x, x1, x2)] = c*x + c1*x1 + x2 15.81/5.22 15.81/5.22 The following rules are decreasing: 15.81/5.22 f8021_0_createTree_LE(c, c1, x45:0) -> f8021_0_createTree_LE(c2, c3, c4) :|: c4 = x45:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && x45:0 > 0 15.81/5.22 f8021_0_createTree_LE(c10, c11, x48:0) -> f8021_0_createTree_LE(c12, c13, c14) :|: c14 = x48:0 - 1 && (c13 = 0 && (c12 = 0 && (c11 = 0 && c10 = 0))) && (x48:0 > 0 && x50:0 > 0) 15.81/5.22 The following rules are bounded: 15.81/5.22 f8021_0_createTree_LE(c, c1, x45:0) -> f8021_0_createTree_LE(c2, c3, c4) :|: c4 = x45:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && x45:0 > 0 15.81/5.22 f8021_0_createTree_LE(c10, c11, x48:0) -> f8021_0_createTree_LE(c12, c13, c14) :|: c14 = x48:0 - 1 && (c13 = 0 && (c12 = 0 && (c11 = 0 && c10 = 0))) && (x48:0 > 0 && x50:0 > 0) 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (19) 15.81/5.22 YES 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (20) 15.81/5.22 Obligation: 15.81/5.22 SCC of termination graph based on JBC Program. 15.81/5.22 SCC contains nodes from the following methods: Flatten.main([Ljava/lang/String;)V 15.81/5.22 SCC calls the following helper methods: 15.81/5.22 Performed SCC analyses: 15.81/5.22 *Used field analysis yielded the following read fields: 15.81/5.22 *TreeList: [value, next] 15.81/5.22 *Tree: [value, left, right] 15.81/5.22 *Marker field analysis yielded the following relations that could be markers: 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (21) SCCToQDPProof (SOUND) 15.81/5.22 Transformed TerminationGraph SCC to QDP. Log: 15.81/5.22 Generated 72 rules for P and 0 rules for R.P rules: 15.81/5.22 f7240_0_flatten_NULL(EOS(STATIC_7240), java.lang.Object(o2292sub), java.lang.Object(o2292sub)) -> f7243_0_flatten_NULL(EOS(STATIC_7243), java.lang.Object(o2292sub), java.lang.Object(o2292sub)) :|: TRUE 15.81/5.22 f7243_0_flatten_NULL(EOS(STATIC_7243), java.lang.Object(o2292sub), java.lang.Object(o2292sub)) -> f7249_0_flatten_Load(EOS(STATIC_7249), java.lang.Object(o2292sub)) :|: TRUE 15.81/5.22 f7249_0_flatten_Load(EOS(STATIC_7249), java.lang.Object(o2292sub)) -> f7253_0_flatten_FieldAccess(EOS(STATIC_7253), java.lang.Object(o2292sub), java.lang.Object(o2292sub)) :|: TRUE 15.81/5.22 f7253_0_flatten_FieldAccess(EOS(STATIC_7253), java.lang.Object(TreeList(EOC, o2304, o2305)), java.lang.Object(TreeList(EOC, o2304, o2305))) -> f7258_0_flatten_FieldAccess(EOS(STATIC_7258), java.lang.Object(TreeList(EOC, o2304, o2305)), java.lang.Object(TreeList(EOC, o2304, o2305))) :|: TRUE 15.81/5.22 f7258_0_flatten_FieldAccess(EOS(STATIC_7258), java.lang.Object(TreeList(EOC, o2304, o2305)), java.lang.Object(TreeList(EOC, o2304, o2305))) -> f7264_0_flatten_Store(EOS(STATIC_7264), java.lang.Object(TreeList(EOC, o2304, o2305)), o2304) :|: TRUE 15.81/5.22 f7264_0_flatten_Store(EOS(STATIC_7264), java.lang.Object(TreeList(EOC, o2304, o2305)), o2304) -> f7269_0_flatten_Load(EOS(STATIC_7269), java.lang.Object(TreeList(EOC, o2304, o2305)), o2304) :|: TRUE 15.81/5.22 f7269_0_flatten_Load(EOS(STATIC_7269), java.lang.Object(TreeList(EOC, o2304, o2305)), o2304) -> f7275_0_flatten_NULL(EOS(STATIC_7275), java.lang.Object(TreeList(EOC, o2304, o2305)), o2304, o2304) :|: TRUE 15.81/5.22 f7275_0_flatten_NULL(EOS(STATIC_7275), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub), java.lang.Object(o2315sub)) -> f7280_0_flatten_NULL(EOS(STATIC_7280), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub), java.lang.Object(o2315sub)) :|: TRUE 15.81/5.22 f7275_0_flatten_NULL(EOS(STATIC_7275), java.lang.Object(TreeList(EOC, NULL, o2305)), NULL, NULL) -> f7281_0_flatten_NULL(EOS(STATIC_7281), java.lang.Object(TreeList(EOC, NULL, o2305)), NULL, NULL) :|: TRUE 15.81/5.22 f7280_0_flatten_NULL(EOS(STATIC_7280), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub), java.lang.Object(o2315sub)) -> f7286_0_flatten_New(EOS(STATIC_7286), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub)) :|: TRUE 15.81/5.22 f7286_0_flatten_New(EOS(STATIC_7286), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub)) -> f7293_0_flatten_Duplicate(EOS(STATIC_7293), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub)) :|: TRUE 15.81/5.22 f7293_0_flatten_Duplicate(EOS(STATIC_7293), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub)) -> f7300_0_flatten_Load(EOS(STATIC_7300), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub)) :|: TRUE 15.81/5.22 f7300_0_flatten_Load(EOS(STATIC_7300), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub)) -> f7307_0_flatten_FieldAccess(EOS(STATIC_7307), java.lang.Object(TreeList(EOC, java.lang.Object(o2315sub), o2305)), java.lang.Object(o2315sub), java.lang.Object(o2315sub)) :|: TRUE 15.81/5.22 f7307_0_flatten_FieldAccess(EOS(STATIC_7307), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7314_0_flatten_FieldAccess(EOS(STATIC_7314), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7314_0_flatten_FieldAccess(EOS(STATIC_7314), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7323_0_flatten_Load(EOS(STATIC_7323), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7323_0_flatten_Load(EOS(STATIC_7323), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7331_0_flatten_InvokeMethod(EOS(STATIC_7331), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7331_0_flatten_InvokeMethod(EOS(STATIC_7331), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7339_0__init__Load(EOS(STATIC_7339), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7339_0__init__Load(EOS(STATIC_7339), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7352_0__init__InvokeMethod(EOS(STATIC_7352), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7352_0__init__InvokeMethod(EOS(STATIC_7352), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7359_0__init__Load(EOS(STATIC_7359), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7359_0__init__Load(EOS(STATIC_7359), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7366_0__init__Load(EOS(STATIC_7366), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7366_0__init__Load(EOS(STATIC_7366), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7372_0__init__FieldAccess(EOS(STATIC_7372), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7372_0__init__FieldAccess(EOS(STATIC_7372), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7374_0__init__Load(EOS(STATIC_7374), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7374_0__init__Load(EOS(STATIC_7374), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7378_0__init__Load(EOS(STATIC_7378), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7378_0__init__Load(EOS(STATIC_7378), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7381_0__init__FieldAccess(EOS(STATIC_7381), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7381_0__init__FieldAccess(EOS(STATIC_7381), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7385_0__init__Return(EOS(STATIC_7385), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7385_0__init__Return(EOS(STATIC_7385), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7388_0_flatten_Store(EOS(STATIC_7388), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7388_0_flatten_Store(EOS(STATIC_7388), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7391_0_flatten_Load(EOS(STATIC_7391), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7391_0_flatten_Load(EOS(STATIC_7391), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7394_0_flatten_FieldAccess(EOS(STATIC_7394), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305))) :|: TRUE 15.81/5.22 f7394_0_flatten_FieldAccess(EOS(STATIC_7394), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305))) -> f7397_0_flatten_Store(EOS(STATIC_7397), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305) :|: TRUE 15.81/5.22 f7397_0_flatten_Store(EOS(STATIC_7397), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), o2305) -> f7400_0_flatten_New(EOS(STATIC_7400), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7400_0_flatten_New(EOS(STATIC_7400), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7403_0_flatten_Duplicate(EOS(STATIC_7403), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7403_0_flatten_Duplicate(EOS(STATIC_7403), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7406_0_flatten_Load(EOS(STATIC_7406), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7406_0_flatten_Load(EOS(STATIC_7406), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7409_0_flatten_FieldAccess(EOS(STATIC_7409), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7409_0_flatten_FieldAccess(EOS(STATIC_7409), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7414_0_flatten_Load(EOS(STATIC_7414), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340) :|: TRUE 15.81/5.22 f7414_0_flatten_Load(EOS(STATIC_7414), o2305, java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340) -> f7419_0_flatten_InvokeMethod(EOS(STATIC_7419), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305) :|: TRUE 15.81/5.22 f7419_0_flatten_InvokeMethod(EOS(STATIC_7419), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305) -> f7424_0__init__Load(EOS(STATIC_7424), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305) :|: TRUE 15.81/5.22 f7424_0__init__Load(EOS(STATIC_7424), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305) -> f7433_0__init__InvokeMethod(EOS(STATIC_7433), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305, java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7433_0__init__InvokeMethod(EOS(STATIC_7433), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305, java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7436_0__init__Load(EOS(STATIC_7436), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305) :|: TRUE 15.81/5.22 f7436_0__init__Load(EOS(STATIC_7436), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305) -> f7439_0__init__Load(EOS(STATIC_7439), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305, java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7439_0__init__Load(EOS(STATIC_7439), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2340, o2305, java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7441_0__init__FieldAccess(EOS(STATIC_7441), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2305, java.lang.Object(TreeList(EOC, NULL, NULL)), o2340) :|: TRUE 15.81/5.22 f7441_0__init__FieldAccess(EOS(STATIC_7441), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2305, java.lang.Object(TreeList(EOC, NULL, NULL)), o2340) -> f7444_0__init__Load(EOS(STATIC_7444), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, NULL)), java.lang.Object(TreeList(EOC, o2340, NULL)), o2305) :|: TRUE 15.81/5.22 f7444_0__init__Load(EOS(STATIC_7444), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, NULL)), java.lang.Object(TreeList(EOC, o2340, NULL)), o2305) -> f7447_0__init__Load(EOS(STATIC_7447), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, NULL)), o2305, java.lang.Object(TreeList(EOC, o2340, NULL))) :|: TRUE 15.81/5.22 f7447_0__init__Load(EOS(STATIC_7447), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, NULL)), o2305, java.lang.Object(TreeList(EOC, o2340, NULL))) -> f7450_0__init__FieldAccess(EOS(STATIC_7450), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, NULL)), java.lang.Object(TreeList(EOC, o2340, NULL)), o2305) :|: TRUE 15.81/5.22 f7450_0__init__FieldAccess(EOS(STATIC_7450), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, NULL)), java.lang.Object(TreeList(EOC, o2340, NULL)), o2305) -> f7452_0__init__Return(EOS(STATIC_7452), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, o2305))) :|: TRUE 15.81/5.22 f7452_0__init__Return(EOS(STATIC_7452), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, o2305))) -> f7454_0_flatten_Store(EOS(STATIC_7454), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, o2305))) :|: TRUE 15.81/5.22 f7454_0_flatten_Store(EOS(STATIC_7454), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, o2340, o2305))) -> f7458_0_flatten_New(EOS(STATIC_7458), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7458_0_flatten_New(EOS(STATIC_7458), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7462_0_flatten_Duplicate(EOS(STATIC_7462), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7462_0_flatten_Duplicate(EOS(STATIC_7462), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7467_0_flatten_Load(EOS(STATIC_7467), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7467_0_flatten_Load(EOS(STATIC_7467), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(Tree(EOC, o2342, o2340, o2341)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7471_0_flatten_FieldAccess(EOS(STATIC_7471), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) :|: TRUE 15.81/5.22 f7471_0_flatten_FieldAccess(EOS(STATIC_7471), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, o2342, o2340, o2341))) -> f7475_0_flatten_Load(EOS(STATIC_7475), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341) :|: TRUE 15.81/5.22 f7475_0_flatten_Load(EOS(STATIC_7475), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341) -> f7480_0_flatten_InvokeMethod(EOS(STATIC_7480), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305))) :|: TRUE 15.81/5.22 f7480_0_flatten_InvokeMethod(EOS(STATIC_7480), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305))) -> f7484_0__init__Load(EOS(STATIC_7484), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305))) :|: TRUE 15.81/5.22 f7484_0__init__Load(EOS(STATIC_7484), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305))) -> f7491_0__init__InvokeMethod(EOS(STATIC_7491), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7491_0__init__InvokeMethod(EOS(STATIC_7491), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7495_0__init__Load(EOS(STATIC_7495), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305))) :|: TRUE 15.81/5.22 f7495_0__init__Load(EOS(STATIC_7495), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305))) -> f7500_0__init__Load(EOS(STATIC_7500), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE 15.81/5.22 f7500_0__init__Load(EOS(STATIC_7500), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341, java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7506_0__init__FieldAccess(EOS(STATIC_7506), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341) :|: TRUE 15.81/5.22 f7506_0__init__FieldAccess(EOS(STATIC_7506), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, NULL, NULL)), o2341) -> f7510_0__init__Load(EOS(STATIC_7510), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305))) :|: TRUE 15.81/5.22 f7510_0__init__Load(EOS(STATIC_7510), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305))) -> f7514_0__init__Load(EOS(STATIC_7514), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, o2341, NULL))) :|: TRUE 15.81/5.22 f7514_0__init__Load(EOS(STATIC_7514), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305)), java.lang.Object(TreeList(EOC, o2341, NULL))) -> f7520_0__init__FieldAccess(EOS(STATIC_7520), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305))) :|: TRUE 15.81/5.22 f7520_0__init__FieldAccess(EOS(STATIC_7520), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2341, NULL)), java.lang.Object(TreeList(EOC, o2340, o2305))) -> f7524_0__init__Return(EOS(STATIC_7524), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) :|: TRUE 15.81/5.22 f7524_0__init__Return(EOS(STATIC_7524), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) -> f7529_0_flatten_Store(EOS(STATIC_7529), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) :|: TRUE 15.81/5.22 f7529_0_flatten_Store(EOS(STATIC_7529), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) -> f7535_0_flatten_JMP(EOS(STATIC_7535), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) :|: TRUE 15.81/5.22 f7535_0_flatten_JMP(EOS(STATIC_7535), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) -> f7540_0_flatten_JMP(EOS(STATIC_7540), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) :|: TRUE 15.81/5.22 f7540_0_flatten_JMP(EOS(STATIC_7540), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) -> f7546_0_flatten_Load(EOS(STATIC_7546), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) :|: TRUE 15.81/5.22 f7546_0_flatten_Load(EOS(STATIC_7546), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) -> f7237_0_flatten_Load(EOS(STATIC_7237), java.lang.Object(TreeList(EOC, o2341, java.lang.Object(TreeList(EOC, o2340, o2305))))) :|: TRUE 15.81/5.22 f7237_0_flatten_Load(EOS(STATIC_7237), o2282) -> f7240_0_flatten_NULL(EOS(STATIC_7240), o2282, o2282) :|: TRUE 15.81/5.22 f7281_0_flatten_NULL(EOS(STATIC_7281), java.lang.Object(TreeList(EOC, NULL, o2305)), NULL, NULL) -> f7287_0_flatten_Load(EOS(STATIC_7287), java.lang.Object(TreeList(EOC, NULL, o2305))) :|: TRUE 15.81/5.22 f7287_0_flatten_Load(EOS(STATIC_7287), java.lang.Object(TreeList(EOC, NULL, o2305))) -> f7294_0_flatten_FieldAccess(EOS(STATIC_7294), java.lang.Object(TreeList(EOC, NULL, o2305))) :|: TRUE 15.81/5.22 f7294_0_flatten_FieldAccess(EOS(STATIC_7294), java.lang.Object(TreeList(EOC, NULL, o2305))) -> f7301_0_flatten_Store(EOS(STATIC_7301), o2305) :|: TRUE 15.81/5.22 f7301_0_flatten_Store(EOS(STATIC_7301), o2305) -> f7308_0_flatten_JMP(EOS(STATIC_7308), o2305) :|: TRUE 15.81/5.22 f7308_0_flatten_JMP(EOS(STATIC_7308), o2305) -> f7315_0_flatten_Load(EOS(STATIC_7315), o2305) :|: TRUE 15.81/5.22 f7315_0_flatten_Load(EOS(STATIC_7315), o2305) -> f7237_0_flatten_Load(EOS(STATIC_7237), o2305) :|: TRUE 15.81/5.22 R rules: 15.81/5.22 Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.P rules: 15.81/5.22 f7240_0_flatten_NULL(EOS(STATIC_7240), java.lang.Object(TreeList(EOC, NULL, o2305:0)), java.lang.Object(TreeList(EOC, NULL, o2305:0))) -> f7240_0_flatten_NULL(EOS(STATIC_7240), o2305:0, o2305:0) :|: TRUE 15.81/5.22 f7240_0_flatten_NULL(EOS(STATIC_7240), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342:0, o2340:0, o2341:0)), o2305:0)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, o2342:0, o2340:0, o2341:0)), o2305:0))) -> f7240_0_flatten_NULL(EOS(STATIC_7240), java.lang.Object(TreeList(EOC, o2341:0, java.lang.Object(TreeList(EOC, o2340:0, o2305:0)))), java.lang.Object(TreeList(EOC, o2341:0, java.lang.Object(TreeList(EOC, o2340:0, o2305:0))))) :|: TRUE 15.81/5.22 R rules: 15.81/5.22 Filtered ground terms: 15.81/5.22 f7240_0_flatten_NULL(x1, x2, x3) -> f7240_0_flatten_NULL(x2, x3) 15.81/5.22 EOS(x1) -> EOS 15.81/5.22 TreeList(x1, x2, x3) -> TreeList(x2, x3) 15.81/5.22 Tree(x1, x2, x3, x4) -> Tree(x2, x3, x4) 15.81/5.22 Filtered unneeded arguments: 15.81/5.22 Tree(x1, x2, x3) -> Tree(x2, x3) 15.81/5.22 Filtered duplicate args: 15.81/5.22 f7240_0_flatten_NULL(x1, x2) -> f7240_0_flatten_NULL(x2) 15.81/5.22 Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.P rules: 15.81/5.22 F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(java.lang.Object(Tree(o2340:0:0, o2341:0:0)), o2305:0:0))) -> F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(o2341:0:0, java.lang.Object(TreeList(o2340:0:0, o2305:0:0))))) :|: TRUE 15.81/5.22 F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(NULL, o2305:0:0))) -> F7240_0_FLATTEN_NULL(o2305:0:0) :|: TRUE 15.81/5.22 R rules: 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (22) 15.81/5.22 Obligation: 15.81/5.22 Q DP problem: 15.81/5.22 The TRS P consists of the following rules: 15.81/5.22 15.81/5.22 F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(java.lang.Object(Tree(o2340:0:0, o2341:0:0)), o2305:0:0))) -> F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(o2341:0:0, java.lang.Object(TreeList(o2340:0:0, o2305:0:0))))) 15.81/5.22 F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(NULL, o2305:0:0))) -> F7240_0_FLATTEN_NULL(o2305:0:0) 15.81/5.22 15.81/5.22 R is empty. 15.81/5.22 Q is empty. 15.81/5.22 We have to consider all minimal (P,Q,R)-chains. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (23) UsableRulesReductionPairsProof (EQUIVALENT) 15.81/5.22 By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well. 15.81/5.22 15.81/5.22 The following dependency pairs can be deleted: 15.81/5.22 15.81/5.22 F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(java.lang.Object(Tree(o2340:0:0, o2341:0:0)), o2305:0:0))) -> F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(o2341:0:0, java.lang.Object(TreeList(o2340:0:0, o2305:0:0))))) 15.81/5.22 F7240_0_FLATTEN_NULL(java.lang.Object(TreeList(NULL, o2305:0:0))) -> F7240_0_FLATTEN_NULL(o2305:0:0) 15.81/5.22 No rules are removed from R. 15.81/5.22 15.81/5.22 Used ordering: POLO with Polynomial interpretation [POLO]: 15.81/5.22 15.81/5.22 POL(F7240_0_FLATTEN_NULL(x_1)) = 2*x_1 15.81/5.22 POL(NULL) = 0 15.81/5.22 POL(Tree(x_1, x_2)) = 2 + 2*x_1 + 2*x_2 15.81/5.22 POL(TreeList(x_1, x_2)) = 1 + x_1 + x_2 15.81/5.22 POL(java.lang.Object(x_1)) = 1 + x_1 15.81/5.22 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (24) 15.81/5.22 Obligation: 15.81/5.22 Q DP problem: 15.81/5.22 P is empty. 15.81/5.22 R is empty. 15.81/5.22 Q is empty. 15.81/5.22 We have to consider all minimal (P,Q,R)-chains. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (25) PisEmptyProof (EQUIVALENT) 15.81/5.22 The TRS P is empty. Hence, there is no (P,Q,R) chain. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (26) 15.81/5.22 YES 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (27) 15.81/5.22 Obligation: 15.81/5.22 SCC of termination graph based on JBC Program. 15.81/5.22 SCC contains nodes from the following methods: Flatten.main([Ljava/lang/String;)V 15.81/5.22 SCC calls the following helper methods: Tree.createTree()LTree; 15.81/5.22 Performed SCC analyses: 15.81/5.22 *Used field analysis yielded the following read fields: 15.81/5.22 15.81/5.22 *Marker field analysis yielded the following relations that could be markers: 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (28) SCCToIRSProof (SOUND) 15.81/5.22 Transformed FIGraph SCCs to intTRSs. Log: 15.81/5.22 Generated rules. Obtained 49 IRulesP rules: 15.81/5.22 f6418_0_main_LE(EOS(STATIC_6418), java.lang.Object(ARRAY(i1460)), i1472, i1472) -> f6435_0_main_LE(EOS(STATIC_6435), java.lang.Object(ARRAY(i1460)), i1472, i1472) :|: TRUE 15.81/5.22 f6435_0_main_LE(EOS(STATIC_6435), java.lang.Object(ARRAY(i1460)), i1472, i1472) -> f6442_0_main_InvokeMethod(EOS(STATIC_6442), java.lang.Object(ARRAY(i1460)), i1472) :|: i1472 > 0 15.81/5.22 f6442_0_main_InvokeMethod(EOS(STATIC_6442), java.lang.Object(ARRAY(i1460)), i1472) -> f6449_0_createTree_InvokeMethod(EOS(STATIC_6449), java.lang.Object(ARRAY(i1460))) :|: i1472 >= 1 15.81/5.22 f6442_0_main_InvokeMethod(EOS(STATIC_6442), java.lang.Object(ARRAY(i1460)), i1472) -> f6449_1_createTree_InvokeMethod(EOS(STATIC_6449), java.lang.Object(ARRAY(i1460)), i1472) :|: i1472 >= 1 15.81/5.22 f6449_0_createTree_InvokeMethod(EOS(STATIC_6449), java.lang.Object(ARRAY(i1460))) -> f8610_0_createTree_InvokeMethod(EOS(STATIC_8610), java.lang.Object(ARRAY(i1460))) :|: TRUE 15.81/5.22 f6663_0_createTree_Return(EOS(STATIC_6663), java.lang.Object(ARRAY(i1511)), i1472) -> f6673_0_main_Store(EOS(STATIC_6673), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6673_0_main_Store(EOS(STATIC_6673), java.lang.Object(ARRAY(i1511)), i1472) -> f6684_0_main_New(EOS(STATIC_6684), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6684_0_main_New(EOS(STATIC_6684), java.lang.Object(ARRAY(i1511)), i1472) -> f6698_0_main_Duplicate(EOS(STATIC_6698), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6698_0_main_Duplicate(EOS(STATIC_6698), java.lang.Object(ARRAY(i1511)), i1472) -> f6709_0_main_Load(EOS(STATIC_6709), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6709_0_main_Load(EOS(STATIC_6709), java.lang.Object(ARRAY(i1511)), i1472) -> f6735_0_main_Load(EOS(STATIC_6735), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6735_0_main_Load(EOS(STATIC_6735), java.lang.Object(ARRAY(i1511)), i1472) -> f6743_0_main_InvokeMethod(EOS(STATIC_6743), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6743_0_main_InvokeMethod(EOS(STATIC_6743), java.lang.Object(ARRAY(i1511)), i1472) -> f6755_0__init__Load(EOS(STATIC_6755), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6755_0__init__Load(EOS(STATIC_6755), java.lang.Object(ARRAY(i1511)), i1472) -> f6765_0__init__InvokeMethod(EOS(STATIC_6765), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6765_0__init__InvokeMethod(EOS(STATIC_6765), java.lang.Object(ARRAY(i1511)), i1472) -> f6770_0__init__Load(EOS(STATIC_6770), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6770_0__init__Load(EOS(STATIC_6770), java.lang.Object(ARRAY(i1511)), i1472) -> f6773_0__init__Load(EOS(STATIC_6773), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6773_0__init__Load(EOS(STATIC_6773), java.lang.Object(ARRAY(i1511)), i1472) -> f6778_0__init__FieldAccess(EOS(STATIC_6778), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6778_0__init__FieldAccess(EOS(STATIC_6778), java.lang.Object(ARRAY(i1511)), i1472) -> f6782_0__init__Load(EOS(STATIC_6782), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6782_0__init__Load(EOS(STATIC_6782), java.lang.Object(ARRAY(i1511)), i1472) -> f6786_0__init__Load(EOS(STATIC_6786), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6786_0__init__Load(EOS(STATIC_6786), java.lang.Object(ARRAY(i1511)), i1472) -> f6789_0__init__FieldAccess(EOS(STATIC_6789), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6789_0__init__FieldAccess(EOS(STATIC_6789), java.lang.Object(ARRAY(i1511)), i1472) -> f6792_0__init__Return(EOS(STATIC_6792), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6792_0__init__Return(EOS(STATIC_6792), java.lang.Object(ARRAY(i1511)), i1472) -> f6795_0_main_Store(EOS(STATIC_6795), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6795_0_main_Store(EOS(STATIC_6795), java.lang.Object(ARRAY(i1511)), i1472) -> f6798_0_main_Inc(EOS(STATIC_6798), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6798_0_main_Inc(EOS(STATIC_6798), java.lang.Object(ARRAY(i1511)), i1472) -> f6801_0_main_JMP(EOS(STATIC_6801), java.lang.Object(ARRAY(i1511)), i1472 + -1) :|: TRUE 15.81/5.22 f6801_0_main_JMP(EOS(STATIC_6801), java.lang.Object(ARRAY(i1511)), i1549) -> f6803_0_main_Load(EOS(STATIC_6803), java.lang.Object(ARRAY(i1511)), i1549) :|: TRUE 15.81/5.22 f6803_0_main_Load(EOS(STATIC_6803), java.lang.Object(ARRAY(i1511)), i1549) -> f6413_0_main_Load(EOS(STATIC_6413), java.lang.Object(ARRAY(i1511)), i1549) :|: TRUE 15.81/5.22 f6413_0_main_Load(EOS(STATIC_6413), java.lang.Object(ARRAY(i1460)), i1462) -> f6418_0_main_LE(EOS(STATIC_6418), java.lang.Object(ARRAY(i1460)), i1462, i1462) :|: TRUE 15.81/5.22 f8030_0_createTree_Return(EOS(STATIC_8030), java.lang.Object(ARRAY(i2749)), i1472, java.lang.Object(Tree(EOC))) -> f8031_0_createTree_Return(EOS(STATIC_8031), java.lang.Object(ARRAY(i2749)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8031_0_createTree_Return(EOS(STATIC_8031), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8033_0_main_Store(EOS(STATIC_8033), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8033_0_main_Store(EOS(STATIC_8033), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8036_0_main_New(EOS(STATIC_8036), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8036_0_main_New(EOS(STATIC_8036), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8040_0_main_Duplicate(EOS(STATIC_8040), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8040_0_main_Duplicate(EOS(STATIC_8040), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8043_0_main_Load(EOS(STATIC_8043), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8043_0_main_Load(EOS(STATIC_8043), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8046_0_main_Load(EOS(STATIC_8046), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8046_0_main_Load(EOS(STATIC_8046), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8050_0_main_InvokeMethod(EOS(STATIC_8050), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8050_0_main_InvokeMethod(EOS(STATIC_8050), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8053_0__init__Load(EOS(STATIC_8053), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8053_0__init__Load(EOS(STATIC_8053), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8059_0__init__InvokeMethod(EOS(STATIC_8059), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8059_0__init__InvokeMethod(EOS(STATIC_8059), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8062_0__init__Load(EOS(STATIC_8062), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8062_0__init__Load(EOS(STATIC_8062), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8066_0__init__Load(EOS(STATIC_8066), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8066_0__init__Load(EOS(STATIC_8066), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8071_0__init__FieldAccess(EOS(STATIC_8071), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 f8071_0__init__FieldAccess(EOS(STATIC_8071), java.lang.Object(ARRAY(i2752)), i1472, java.lang.Object(Tree(EOC))) -> f8074_0__init__Load(EOS(STATIC_8074), java.lang.Object(ARRAY(i2752)), i1472) :|: TRUE 15.81/5.22 f8074_0__init__Load(EOS(STATIC_8074), java.lang.Object(ARRAY(i2752)), i1472) -> f8077_0__init__Load(EOS(STATIC_8077), java.lang.Object(ARRAY(i2752)), i1472) :|: TRUE 15.81/5.22 f8077_0__init__Load(EOS(STATIC_8077), java.lang.Object(ARRAY(i2752)), i1472) -> f8082_0__init__FieldAccess(EOS(STATIC_8082), java.lang.Object(ARRAY(i2752)), i1472) :|: TRUE 15.81/5.22 f8082_0__init__FieldAccess(EOS(STATIC_8082), java.lang.Object(ARRAY(i2752)), i1472) -> f8085_0__init__Return(EOS(STATIC_8085), java.lang.Object(ARRAY(i2752)), i1472) :|: TRUE 15.81/5.22 f8085_0__init__Return(EOS(STATIC_8085), java.lang.Object(ARRAY(i2752)), i1472) -> f8089_0_main_Store(EOS(STATIC_8089), java.lang.Object(ARRAY(i2752)), i1472) :|: TRUE 15.81/5.22 f8089_0_main_Store(EOS(STATIC_8089), java.lang.Object(ARRAY(i2752)), i1472) -> f8094_0_main_Inc(EOS(STATIC_8094), java.lang.Object(ARRAY(i2752)), i1472) :|: TRUE 15.81/5.22 f8094_0_main_Inc(EOS(STATIC_8094), java.lang.Object(ARRAY(i2752)), i1472) -> f8098_0_main_JMP(EOS(STATIC_8098), java.lang.Object(ARRAY(i2752)), i1472 + -1) :|: TRUE 15.81/5.22 f8098_0_main_JMP(EOS(STATIC_8098), java.lang.Object(ARRAY(i2752)), i2875) -> f8103_0_main_Load(EOS(STATIC_8103), java.lang.Object(ARRAY(i2752)), i2875) :|: TRUE 15.81/5.22 f8103_0_main_Load(EOS(STATIC_8103), java.lang.Object(ARRAY(i2752)), i2875) -> f6413_0_main_Load(EOS(STATIC_6413), java.lang.Object(ARRAY(i2752)), i2875) :|: TRUE 15.81/5.22 f6449_1_createTree_InvokeMethod(EOS(STATIC_6449), java.lang.Object(ARRAY(i1511)), i1472) -> f6663_0_createTree_Return(EOS(STATIC_6663), java.lang.Object(ARRAY(i1511)), i1472) :|: TRUE 15.81/5.22 f6449_1_createTree_InvokeMethod(EOS(STATIC_6449), java.lang.Object(ARRAY(i2749)), i1472) -> f8030_0_createTree_Return(EOS(STATIC_8030), java.lang.Object(ARRAY(i2749)), i1472, java.lang.Object(Tree(EOC))) :|: TRUE 15.81/5.22 Combined rules. Obtained 2 IRulesP rules: 15.81/5.22 f6418_0_main_LE(EOS(STATIC_6418), java.lang.Object(ARRAY(i1460:0)), i1472:0, i1472:0) -> f6418_0_main_LE(EOS(STATIC_6418), java.lang.Object(ARRAY(i1460:0)), i1472:0 - 1, i1472:0 - 1) :|: i1472:0 > 0 15.81/5.22 Removed following non-SCC rules: 15.81/5.22 f6418_0_main_LE(EOS(STATIC_6418), java.lang.Object(ARRAY(i1460:0)), i1472:0, i1472:0) -> f8610_0_createTree_InvokeMethod(EOS(STATIC_8610), java.lang.Object(ARRAY(i1460:0))) :|: i1472:0 > 0 15.81/5.22 Filtered constant ground arguments: 15.81/5.22 f6418_0_main_LE(x1, x2, x3, x4) -> f6418_0_main_LE(x2, x3, x4) 15.81/5.22 EOS(x1) -> EOS 15.81/5.22 Filtered duplicate arguments: 15.81/5.22 f6418_0_main_LE(x1, x2, x3) -> f6418_0_main_LE(x1, x3) 15.81/5.22 Filtered unneeded arguments: 15.81/5.22 f6418_0_main_LE(x1, x2) -> f6418_0_main_LE(x2) 15.81/5.22 Finished conversion. Obtained 1 rules.P rules: 15.81/5.22 f6418_0_main_LE(i1472:0) -> f6418_0_main_LE(i1472:0 - 1) :|: i1472:0 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (29) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f6418_0_main_LE(i1472:0) -> f6418_0_main_LE(i1472:0 - 1) :|: i1472:0 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (30) IRSFormatTransformerProof (EQUIVALENT) 15.81/5.22 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (31) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f6418_0_main_LE(i1472:0) -> f6418_0_main_LE(arith) :|: i1472:0 > 0 && arith = i1472:0 - 1 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (32) IRSwTTerminationDigraphProof (EQUIVALENT) 15.81/5.22 Constructed termination digraph! 15.81/5.22 Nodes: 15.81/5.22 (1) f6418_0_main_LE(i1472:0) -> f6418_0_main_LE(arith) :|: i1472:0 > 0 && arith = i1472:0 - 1 15.81/5.22 15.81/5.22 Arcs: 15.81/5.22 (1) -> (1) 15.81/5.22 15.81/5.22 This digraph is fully evaluated! 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (33) 15.81/5.22 Obligation: 15.81/5.22 15.81/5.22 Termination digraph: 15.81/5.22 Nodes: 15.81/5.22 (1) f6418_0_main_LE(i1472:0) -> f6418_0_main_LE(arith) :|: i1472:0 > 0 && arith = i1472:0 - 1 15.81/5.22 15.81/5.22 Arcs: 15.81/5.22 (1) -> (1) 15.81/5.22 15.81/5.22 This digraph is fully evaluated! 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (34) IntTRSCompressionProof (EQUIVALENT) 15.81/5.22 Compressed rules. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (35) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f6418_0_main_LE(i1472:0:0) -> f6418_0_main_LE(i1472:0:0 - 1) :|: i1472:0:0 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (36) TempFilterProof (SOUND) 15.81/5.22 Used the following sort dictionary for filtering: 15.81/5.22 f6418_0_main_LE(INTEGER) 15.81/5.22 Replaced non-predefined constructor symbols by 0. 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (37) 15.81/5.22 Obligation: 15.81/5.22 Rules: 15.81/5.22 f6418_0_main_LE(i1472:0:0) -> f6418_0_main_LE(c) :|: c = i1472:0:0 - 1 && i1472:0:0 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (38) PolynomialOrderProcessor (EQUIVALENT) 15.81/5.22 Found the following polynomial interpretation: 15.81/5.22 [f6418_0_main_LE(x)] = x 15.81/5.22 15.81/5.22 The following rules are decreasing: 15.81/5.22 f6418_0_main_LE(i1472:0:0) -> f6418_0_main_LE(c) :|: c = i1472:0:0 - 1 && i1472:0:0 > 0 15.81/5.22 The following rules are bounded: 15.81/5.22 f6418_0_main_LE(i1472:0:0) -> f6418_0_main_LE(c) :|: c = i1472:0:0 - 1 && i1472:0:0 > 0 15.81/5.22 15.81/5.22 ---------------------------------------- 15.81/5.22 15.81/5.22 (39) 15.81/5.22 YES 15.81/5.29 EOF