/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 794c25de1cacf0d048858bcd21c9a779e1221865 marcel 20200619 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 96 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 1140 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 9 ms] (6) AND (7) JBCTerminationSCC (8) SCCToQDPProof [SOUND, 212 ms] (9) QDP (10) UsableRulesReductionPairsProof [EQUIVALENT, 11 ms] (11) QDP (12) PisEmptyProof [EQUIVALENT, 0 ms] (13) YES (14) JBCTerminationSCC (15) SCCToQDPProof [SOUND, 85 ms] (16) QDP (17) QDPSizeChangeProof [EQUIVALENT, 0 ms] (18) YES (19) JBCTerminationSCC (20) SCCToIRSProof [SOUND, 272 ms] (21) IRSwT (22) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (23) IRSwT (24) IRSwTTerminationDigraphProof [EQUIVALENT, 203 ms] (25) IRSwT (26) IntTRSCompressionProof [EQUIVALENT, 0 ms] (27) IRSwT (28) TempFilterProof [SOUND, 20 ms] (29) IntTRS (30) PolynomialOrderProcessor [EQUIVALENT, 8 ms] (31) YES (32) JBCTerminationSCC (33) SCCToIRSProof [SOUND, 125 ms] (34) IRSwT (35) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (36) IRSwT (37) IRSwTTerminationDigraphProof [EQUIVALENT, 23 ms] (38) IRSwT (39) IntTRSCompressionProof [EQUIVALENT, 0 ms] (40) IRSwT (41) TempFilterProof [SOUND, 37 ms] (42) IntTRS (43) PolynomialOrderProcessor [EQUIVALENT, 13 ms] (44) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: public class FlattenRTA { public static IntList flatten(TreeList list) { TreeList cur = list; IntList result = null; while (cur != null) { Tree tree = cur.value; if (tree != null) { IntList oldIntList = result; result = new IntList(); result.value = tree.value; result.next = oldIntList; TreeList oldCur = cur; cur = new TreeList(); cur.value = tree.left; cur.next = oldCur; oldCur.value = tree.right; } else cur = cur.next; } if (cur != list) {} return result; } public static void main(String[] args) { Random.args = args; int listLength = Random.random(); TreeList list = null; for (int i = listLength; i > 0; i--) { Tree tree = Tree.createTree(); list = new TreeList(tree, list); } flatten(list); } } public class IntList { int value; IntList next; public IntList(int value, IntList next) { this.value = value; this.next = next; } public IntList() { } public static IntList createList() { IntList result = null; int length = Random.random(); while (length > 0) { result = new IntList(Random.random(), result); length--; } return result; } } public class Random { static String[] args; static int index = 0; public static int random() { String string = args[index]; index++; return string.length(); } } public class Tree { Tree left; Tree right; int value; public Tree(Tree l, Tree r) { this.left = l; this.right = r; } public Tree() { } public static Tree createNode() { Tree result = new Tree(); result.value = Random.random(); return result; } public static Tree createTree() { int counter = Random.random(); if (counter == 0) { return null; } Tree result = createNode(); Tree t = result; while (counter > 0) { int branch = Random.random(); if (branch > 0) { if (t.left == null) { t.left = createNode(); t = result; } else { t = t.left; } } else { if (t.right == null) { t.right = createNode(); t = result; } else { t = t.right; } } counter--; } return result; } public static void main(String[] args) { Random.args = args; createTree(); } } public class TreeList { Tree value; TreeList next; public TreeList(Tree value, TreeList next) { this.value = value; this.next = next; } public TreeList() { } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: public class FlattenRTA { public static IntList flatten(TreeList list) { TreeList cur = list; IntList result = null; while (cur != null) { Tree tree = cur.value; if (tree != null) { IntList oldIntList = result; result = new IntList(); result.value = tree.value; result.next = oldIntList; TreeList oldCur = cur; cur = new TreeList(); cur.value = tree.left; cur.next = oldCur; oldCur.value = tree.right; } else cur = cur.next; } if (cur != list) {} return result; } public static void main(String[] args) { Random.args = args; int listLength = Random.random(); TreeList list = null; for (int i = listLength; i > 0; i--) { Tree tree = Tree.createTree(); list = new TreeList(tree, list); } flatten(list); } } public class IntList { int value; IntList next; public IntList(int value, IntList next) { this.value = value; this.next = next; } public IntList() { } public static IntList createList() { IntList result = null; int length = Random.random(); while (length > 0) { result = new IntList(Random.random(), result); length--; } return result; } } public class Random { static String[] args; static int index = 0; public static int random() { String string = args[index]; index++; return string.length(); } } public class Tree { Tree left; Tree right; int value; public Tree(Tree l, Tree r) { this.left = l; this.right = r; } public Tree() { } public static Tree createNode() { Tree result = new Tree(); result.value = Random.random(); return result; } public static Tree createTree() { int counter = Random.random(); if (counter == 0) { return null; } Tree result = createNode(); Tree t = result; while (counter > 0) { int branch = Random.random(); if (branch > 0) { if (t.left == null) { t.left = createNode(); t = result; } else { t = t.left; } } else { if (t.right == null) { t.right = createNode(); t = result; } else { t = t.right; } } counter--; } return result; } public static void main(String[] args) { Random.args = args; createTree(); } } public class TreeList { Tree value; TreeList next; public TreeList(Tree value, TreeList next) { this.value = value; this.next = next; } public TreeList() { } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: FlattenRTA.main([Ljava/lang/String;)V: Graph of 190 nodes with 1 SCC. Tree.createTree()LTree;: Graph of 246 nodes with 1 SCC. FlattenRTA.flatten(LTreeList;)LIntList;: Graph of 142 nodes with 2 SCCs. Tree.createNode()LTree;: Graph of 78 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 4 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: FlattenRTA.flatten(LTreeList;)LIntList; SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *TreeList: [value, next] *Tree: [value, left, right] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToQDPProof (SOUND) Transformed TerminationGraph SCC to QDP. Log: Generated 57 rules for P and 0 rules for R.P rules: f7118_0_flatten_Load(EOS(STATIC_7118), o3069) -> f7129_0_flatten_NULL(EOS(STATIC_7129), o3069, o3069) :|: TRUE f7129_0_flatten_NULL(EOS(STATIC_7129), java.lang.Object(o3316sub), java.lang.Object(o3316sub)) -> f7135_0_flatten_NULL(EOS(STATIC_7135), java.lang.Object(o3316sub), java.lang.Object(o3316sub)) :|: TRUE f7135_0_flatten_NULL(EOS(STATIC_7135), java.lang.Object(o3316sub), java.lang.Object(o3316sub)) -> f7143_0_flatten_Load(EOS(STATIC_7143), java.lang.Object(o3316sub)) :|: TRUE f7143_0_flatten_Load(EOS(STATIC_7143), java.lang.Object(o3316sub)) -> f7150_0_flatten_FieldAccess(EOS(STATIC_7150), java.lang.Object(o3316sub), java.lang.Object(o3316sub)) :|: TRUE f7150_0_flatten_FieldAccess(EOS(STATIC_7150), java.lang.Object(TreeList(EOC, o3422, o3423)), java.lang.Object(TreeList(EOC, o3422, o3423))) -> f7160_0_flatten_FieldAccess(EOS(STATIC_7160), java.lang.Object(TreeList(EOC, o3422, o3423)), java.lang.Object(TreeList(EOC, o3422, o3423))) :|: TRUE f7160_0_flatten_FieldAccess(EOS(STATIC_7160), java.lang.Object(TreeList(EOC, o3422, o3423)), java.lang.Object(TreeList(EOC, o3422, o3423))) -> f7168_0_flatten_Store(EOS(STATIC_7168), java.lang.Object(TreeList(EOC, o3422, o3423)), o3422) :|: TRUE f7168_0_flatten_Store(EOS(STATIC_7168), java.lang.Object(TreeList(EOC, o3422, o3423)), o3422) -> f7175_0_flatten_Load(EOS(STATIC_7175), java.lang.Object(TreeList(EOC, o3422, o3423)), o3422) :|: TRUE f7175_0_flatten_Load(EOS(STATIC_7175), java.lang.Object(TreeList(EOC, o3422, o3423)), o3422) -> f7182_0_flatten_NULL(EOS(STATIC_7182), java.lang.Object(TreeList(EOC, o3422, o3423)), o3422, o3422) :|: TRUE f7182_0_flatten_NULL(EOS(STATIC_7182), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub), java.lang.Object(o3519sub)) -> f7189_0_flatten_NULL(EOS(STATIC_7189), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub), java.lang.Object(o3519sub)) :|: TRUE f7182_0_flatten_NULL(EOS(STATIC_7182), java.lang.Object(TreeList(EOC, NULL, o3423)), NULL, NULL) -> f7190_0_flatten_NULL(EOS(STATIC_7190), java.lang.Object(TreeList(EOC, NULL, o3423)), NULL, NULL) :|: TRUE f7189_0_flatten_NULL(EOS(STATIC_7189), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub), java.lang.Object(o3519sub)) -> f7193_0_flatten_Load(EOS(STATIC_7193), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7193_0_flatten_Load(EOS(STATIC_7193), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7195_0_flatten_Store(EOS(STATIC_7195), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7195_0_flatten_Store(EOS(STATIC_7195), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7199_0_flatten_New(EOS(STATIC_7199), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7199_0_flatten_New(EOS(STATIC_7199), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7201_0_flatten_Duplicate(EOS(STATIC_7201), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7201_0_flatten_Duplicate(EOS(STATIC_7201), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7203_0_flatten_InvokeMethod(EOS(STATIC_7203), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7203_0_flatten_InvokeMethod(EOS(STATIC_7203), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7204_0__init__Load(EOS(STATIC_7204), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7204_0__init__Load(EOS(STATIC_7204), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7205_0__init__InvokeMethod(EOS(STATIC_7205), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7205_0__init__InvokeMethod(EOS(STATIC_7205), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7206_0__init__Return(EOS(STATIC_7206), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7206_0__init__Return(EOS(STATIC_7206), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7207_0_flatten_Store(EOS(STATIC_7207), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7207_0_flatten_Store(EOS(STATIC_7207), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7208_0_flatten_Load(EOS(STATIC_7208), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7208_0_flatten_Load(EOS(STATIC_7208), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7209_0_flatten_Load(EOS(STATIC_7209), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) :|: TRUE f7209_0_flatten_Load(EOS(STATIC_7209), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub)) -> f7210_0_flatten_FieldAccess(EOS(STATIC_7210), java.lang.Object(TreeList(EOC, java.lang.Object(o3519sub), o3423)), java.lang.Object(o3519sub), java.lang.Object(o3519sub)) :|: TRUE f7210_0_flatten_FieldAccess(EOS(STATIC_7210), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7211_0_flatten_FieldAccess(EOS(STATIC_7211), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7211_0_flatten_FieldAccess(EOS(STATIC_7211), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7212_0_flatten_FieldAccess(EOS(STATIC_7212), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7212_0_flatten_FieldAccess(EOS(STATIC_7212), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7213_0_flatten_Load(EOS(STATIC_7213), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7213_0_flatten_Load(EOS(STATIC_7213), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7214_0_flatten_Load(EOS(STATIC_7214), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7214_0_flatten_Load(EOS(STATIC_7214), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7215_0_flatten_FieldAccess(EOS(STATIC_7215), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7215_0_flatten_FieldAccess(EOS(STATIC_7215), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7216_0_flatten_Load(EOS(STATIC_7216), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7216_0_flatten_Load(EOS(STATIC_7216), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7217_0_flatten_Store(EOS(STATIC_7217), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) :|: TRUE f7217_0_flatten_Store(EOS(STATIC_7217), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) -> f7218_0_flatten_New(EOS(STATIC_7218), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) :|: TRUE f7218_0_flatten_New(EOS(STATIC_7218), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) -> f7219_0_flatten_Duplicate(EOS(STATIC_7219), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE f7219_0_flatten_Duplicate(EOS(STATIC_7219), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7220_0_flatten_InvokeMethod(EOS(STATIC_7220), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE f7220_0_flatten_InvokeMethod(EOS(STATIC_7220), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7221_0__init__Load(EOS(STATIC_7221), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE f7221_0__init__Load(EOS(STATIC_7221), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7222_0__init__InvokeMethod(EOS(STATIC_7222), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE f7222_0__init__InvokeMethod(EOS(STATIC_7222), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7223_0__init__Return(EOS(STATIC_7223), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE f7223_0__init__Return(EOS(STATIC_7223), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7224_0_flatten_Store(EOS(STATIC_7224), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE f7224_0_flatten_Store(EOS(STATIC_7224), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7225_0_flatten_Load(EOS(STATIC_7225), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) :|: TRUE f7225_0_flatten_Load(EOS(STATIC_7225), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) -> f7226_0_flatten_Load(EOS(STATIC_7226), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) :|: TRUE f7226_0_flatten_Load(EOS(STATIC_7226), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL))) -> f7227_0_flatten_FieldAccess(EOS(STATIC_7227), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7227_0_flatten_FieldAccess(EOS(STATIC_7227), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7228_0_flatten_FieldAccess(EOS(STATIC_7228), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), o3652) :|: TRUE f7228_0_flatten_FieldAccess(EOS(STATIC_7228), java.lang.Object(TreeList(EOC, NULL, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, NULL, NULL)), o3652) -> f7229_0_flatten_Load(EOS(STATIC_7229), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) :|: TRUE f7229_0_flatten_Load(EOS(STATIC_7229), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) -> f7230_0_flatten_Load(EOS(STATIC_7230), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, o3652, NULL))) :|: TRUE f7230_0_flatten_Load(EOS(STATIC_7230), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, o3652, NULL))) -> f7231_0_flatten_FieldAccess(EOS(STATIC_7231), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) :|: TRUE f7231_0_flatten_FieldAccess(EOS(STATIC_7231), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(TreeList(EOC, o3652, NULL)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) -> f7232_0_flatten_Load(EOS(STATIC_7232), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) :|: TRUE f7232_0_flatten_Load(EOS(STATIC_7232), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) -> f7233_0_flatten_Load(EOS(STATIC_7233), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) :|: TRUE f7233_0_flatten_Load(EOS(STATIC_7233), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(Tree(EOC, i2840, o3652, o3653)), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423))) -> f7234_0_flatten_FieldAccess(EOS(STATIC_7234), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) :|: TRUE f7234_0_flatten_FieldAccess(EOS(STATIC_7234), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), java.lang.Object(Tree(EOC, i2840, o3652, o3653))) -> f7235_0_flatten_FieldAccess(EOS(STATIC_7235), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), o3653) :|: TRUE f7235_0_flatten_FieldAccess(EOS(STATIC_7235), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)))), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840, o3652, o3653)), o3423)), o3653) -> f7236_0_flatten_JMP(EOS(STATIC_7236), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, o3653, o3423))))) :|: TRUE f7236_0_flatten_JMP(EOS(STATIC_7236), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, o3653, o3423))))) -> f7237_0_flatten_JMP(EOS(STATIC_7237), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, o3653, o3423))))) :|: TRUE f7237_0_flatten_JMP(EOS(STATIC_7237), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, o3653, o3423))))) -> f7238_0_flatten_Load(EOS(STATIC_7238), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, o3653, o3423))))) :|: TRUE f7238_0_flatten_Load(EOS(STATIC_7238), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, o3653, o3423))))) -> f7118_0_flatten_Load(EOS(STATIC_7118), java.lang.Object(TreeList(EOC, o3652, java.lang.Object(TreeList(EOC, o3653, o3423))))) :|: TRUE f7190_0_flatten_NULL(EOS(STATIC_7190), java.lang.Object(TreeList(EOC, NULL, o3423)), NULL, NULL) -> f7194_0_flatten_Load(EOS(STATIC_7194), java.lang.Object(TreeList(EOC, NULL, o3423))) :|: TRUE f7194_0_flatten_Load(EOS(STATIC_7194), java.lang.Object(TreeList(EOC, NULL, o3423))) -> f7196_0_flatten_FieldAccess(EOS(STATIC_7196), java.lang.Object(TreeList(EOC, NULL, o3423))) :|: TRUE f7196_0_flatten_FieldAccess(EOS(STATIC_7196), java.lang.Object(TreeList(EOC, NULL, o3423))) -> f7200_0_flatten_Store(EOS(STATIC_7200), o3423) :|: TRUE f7200_0_flatten_Store(EOS(STATIC_7200), o3423) -> f7202_0_flatten_JMP(EOS(STATIC_7202), o3423) :|: TRUE f7202_0_flatten_JMP(EOS(STATIC_7202), o3423) -> f7113_0_flatten_JMP(EOS(STATIC_7113), o3423) :|: TRUE f7113_0_flatten_JMP(EOS(STATIC_7113), o3069) -> f7118_0_flatten_Load(EOS(STATIC_7118), o3069) :|: TRUE R rules: Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.P rules: f7118_0_flatten_Load(EOS(STATIC_7118), java.lang.Object(TreeList(EOC, java.lang.Object(Tree(EOC, i2840:0, o3652:0, o3653:0)), o3423:0))) -> f7118_0_flatten_Load(EOS(STATIC_7118), java.lang.Object(TreeList(EOC, o3652:0, java.lang.Object(TreeList(EOC, o3653:0, o3423:0))))) :|: TRUE f7118_0_flatten_Load(EOS(STATIC_7118), java.lang.Object(TreeList(EOC, NULL, o3423:0))) -> f7118_0_flatten_Load(EOS(STATIC_7118), o3423:0) :|: TRUE R rules: Filtered ground terms: f7118_0_flatten_Load(x1, x2) -> f7118_0_flatten_Load(x2) EOS(x1) -> EOS TreeList(x1, x2, x3) -> TreeList(x2, x3) Tree(x1, x2, x3, x4) -> Tree(x2, x3, x4) Filtered unneeded arguments: Tree(x1, x2, x3) -> Tree(x2, x3) Combined rules. Obtained 2 conditional rules for P and 0 conditional rules for R.P rules: F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(NULL, o3423:0:0))) -> F7118_0_FLATTEN_LOAD(o3423:0:0) :|: TRUE F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(java.lang.Object(Tree(o3652:0:0, o3653:0:0)), o3423:0:0))) -> F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(o3652:0:0, java.lang.Object(TreeList(o3653:0:0, o3423:0:0))))) :|: TRUE R rules: ---------------------------------------- (9) Obligation: Q DP problem: The TRS P consists of the following rules: F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(NULL, o3423:0:0))) -> F7118_0_FLATTEN_LOAD(o3423:0:0) F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(java.lang.Object(Tree(o3652:0:0, o3653:0:0)), o3423:0:0))) -> F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(o3652:0:0, java.lang.Object(TreeList(o3653:0:0, o3423:0:0))))) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (10) UsableRulesReductionPairsProof (EQUIVALENT) 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. The following dependency pairs can be deleted: F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(NULL, o3423:0:0))) -> F7118_0_FLATTEN_LOAD(o3423:0:0) F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(java.lang.Object(Tree(o3652:0:0, o3653:0:0)), o3423:0:0))) -> F7118_0_FLATTEN_LOAD(java.lang.Object(TreeList(o3652:0:0, java.lang.Object(TreeList(o3653:0:0, o3423:0:0))))) No rules are removed from R. Used ordering: POLO with Polynomial interpretation [POLO]: POL(F7118_0_FLATTEN_LOAD(x_1)) = 2*x_1 POL(NULL) = 0 POL(Tree(x_1, x_2)) = 2 + x_1 + 2*x_2 POL(TreeList(x_1, x_2)) = 1 + x_1 + x_2 POL(java.lang.Object(x_1)) = 1 + x_1 ---------------------------------------- (11) Obligation: Q DP problem: P is empty. R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (12) PisEmptyProof (EQUIVALENT) The TRS P is empty. Hence, there is no (P,Q,R) chain. ---------------------------------------- (13) YES ---------------------------------------- (14) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: FlattenRTA.flatten(LTreeList;)LIntList; SCC calls the following helper methods: Performed SCC analyses: *Used field analysis yielded the following read fields: *TreeList: [value, next] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (15) SCCToQDPProof (SOUND) Transformed TerminationGraph SCC to QDP. Log: Generated 15 rules for P and 0 rules for R.P rules: f6064_0_flatten_NULL(EOS(STATIC_6064), java.lang.Object(o981sub), NULL, java.lang.Object(o981sub)) -> f6069_0_flatten_NULL(EOS(STATIC_6069), java.lang.Object(o981sub), NULL, java.lang.Object(o981sub)) :|: TRUE f6069_0_flatten_NULL(EOS(STATIC_6069), java.lang.Object(o981sub), NULL, java.lang.Object(o981sub)) -> f6074_0_flatten_Load(EOS(STATIC_6074), java.lang.Object(o981sub), NULL) :|: TRUE f6074_0_flatten_Load(EOS(STATIC_6074), java.lang.Object(o981sub), NULL) -> f6079_0_flatten_FieldAccess(EOS(STATIC_6079), java.lang.Object(o981sub), NULL, java.lang.Object(o981sub)) :|: TRUE f6079_0_flatten_FieldAccess(EOS(STATIC_6079), java.lang.Object(TreeList(EOC, o991, o992)), NULL, java.lang.Object(TreeList(EOC, o991, o992))) -> f6083_0_flatten_FieldAccess(EOS(STATIC_6083), java.lang.Object(TreeList(EOC, o991, o992)), NULL, java.lang.Object(TreeList(EOC, o991, o992))) :|: TRUE f6083_0_flatten_FieldAccess(EOS(STATIC_6083), java.lang.Object(TreeList(EOC, o991, o992)), NULL, java.lang.Object(TreeList(EOC, o991, o992))) -> f6087_0_flatten_Store(EOS(STATIC_6087), java.lang.Object(TreeList(EOC, o991, o992)), NULL, o991) :|: TRUE f6087_0_flatten_Store(EOS(STATIC_6087), java.lang.Object(TreeList(EOC, o991, o992)), NULL, o991) -> f6093_0_flatten_Load(EOS(STATIC_6093), java.lang.Object(TreeList(EOC, o991, o992)), NULL, o991) :|: TRUE f6093_0_flatten_Load(EOS(STATIC_6093), java.lang.Object(TreeList(EOC, o991, o992)), NULL, o991) -> f6098_0_flatten_NULL(EOS(STATIC_6098), java.lang.Object(TreeList(EOC, o991, o992)), NULL, o991, o991) :|: TRUE f6098_0_flatten_NULL(EOS(STATIC_6098), java.lang.Object(TreeList(EOC, NULL, o992)), NULL, NULL, NULL) -> f6105_0_flatten_NULL(EOS(STATIC_6105), java.lang.Object(TreeList(EOC, NULL, o992)), NULL, NULL, NULL) :|: TRUE f6105_0_flatten_NULL(EOS(STATIC_6105), java.lang.Object(TreeList(EOC, NULL, o992)), NULL, NULL, NULL) -> f6112_0_flatten_Load(EOS(STATIC_6112), java.lang.Object(TreeList(EOC, NULL, o992)), NULL) :|: TRUE f6112_0_flatten_Load(EOS(STATIC_6112), java.lang.Object(TreeList(EOC, NULL, o992)), NULL) -> f6117_0_flatten_FieldAccess(EOS(STATIC_6117), NULL, java.lang.Object(TreeList(EOC, NULL, o992))) :|: TRUE f6117_0_flatten_FieldAccess(EOS(STATIC_6117), NULL, java.lang.Object(TreeList(EOC, NULL, o992))) -> f6125_0_flatten_Store(EOS(STATIC_6125), NULL, o992) :|: TRUE f6125_0_flatten_Store(EOS(STATIC_6125), NULL, o992) -> f6131_0_flatten_JMP(EOS(STATIC_6131), o992, NULL) :|: TRUE f6131_0_flatten_JMP(EOS(STATIC_6131), o992, NULL) -> f6137_0_flatten_Load(EOS(STATIC_6137), o992, NULL) :|: TRUE f6137_0_flatten_Load(EOS(STATIC_6137), o992, NULL) -> f6058_0_flatten_Load(EOS(STATIC_6058), o992, NULL) :|: TRUE f6058_0_flatten_Load(EOS(STATIC_6058), o970, NULL) -> f6064_0_flatten_NULL(EOS(STATIC_6064), o970, NULL, o970) :|: TRUE R rules: Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: f6064_0_flatten_NULL(EOS(STATIC_6064), java.lang.Object(TreeList(EOC, NULL, o992:0)), NULL, java.lang.Object(TreeList(EOC, NULL, o992:0))) -> f6064_0_flatten_NULL(EOS(STATIC_6064), o992:0, NULL, o992:0) :|: TRUE R rules: Filtered ground terms: f6064_0_flatten_NULL(x1, x2, x3, x4) -> f6064_0_flatten_NULL(x2, x4) EOS(x1) -> EOS TreeList(x1, x2, x3) -> TreeList(x3) Filtered duplicate args: f6064_0_flatten_NULL(x1, x2) -> f6064_0_flatten_NULL(x2) Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: F6064_0_FLATTEN_NULL(java.lang.Object(TreeList(o992:0:0))) -> F6064_0_FLATTEN_NULL(o992:0:0) :|: TRUE R rules: ---------------------------------------- (16) Obligation: Q DP problem: The TRS P consists of the following rules: F6064_0_FLATTEN_NULL(java.lang.Object(TreeList(o992:0:0))) -> F6064_0_FLATTEN_NULL(o992:0:0) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (17) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *F6064_0_FLATTEN_NULL(java.lang.Object(TreeList(o992:0:0))) -> F6064_0_FLATTEN_NULL(o992:0:0) The graph contains the following edges 1 > 1 ---------------------------------------- (18) YES ---------------------------------------- (19) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: Tree.createTree()LTree; SCC calls the following helper methods: Tree.createNode()LTree; Performed SCC analyses: *Used field analysis yielded the following read fields: *java.lang.String: [count] *Tree: [right, left] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (20) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 99 IRulesP rules: f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2464) -> f6933_0_createTree_LE(EOS(STATIC_6933(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2464) :|: TRUE f6933_0_createTree_LE(EOS(STATIC_6933(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2464) -> f6936_0_createTree_InvokeMethod(EOS(STATIC_6936(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) :|: i2464 > 0 f6936_0_createTree_InvokeMethod(EOS(STATIC_6936(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) -> f6939_0_random_FieldAccess(EOS(STATIC_6939(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) :|: TRUE f6939_0_random_FieldAccess(EOS(STATIC_6939(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) -> f6943_0_random_FieldAccess(EOS(STATIC_6943(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(ARRAY(i2453))) :|: TRUE f6943_0_random_FieldAccess(EOS(STATIC_6943(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(ARRAY(i2453))) -> f6947_0_random_ArrayAccess(EOS(STATIC_6947(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(ARRAY(i2453)), i2454) :|: TRUE f6947_0_random_ArrayAccess(EOS(STATIC_6947(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(ARRAY(i2453)), i2454) -> f6950_0_random_ArrayAccess(EOS(STATIC_6950(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(ARRAY(i2453)), i2454) :|: TRUE f6950_0_random_ArrayAccess(EOS(STATIC_6950(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(ARRAY(i2453)), i2454) -> f6953_0_random_Store(EOS(STATIC_6953(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846) :|: TRUE f6953_0_random_Store(EOS(STATIC_6953(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846) -> f6957_0_random_FieldAccess(EOS(STATIC_6957(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846) :|: TRUE f6957_0_random_FieldAccess(EOS(STATIC_6957(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846) -> f6960_0_random_ConstantStackPush(EOS(STATIC_6960(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846, i2454) :|: TRUE f6960_0_random_ConstantStackPush(EOS(STATIC_6960(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846, i2454) -> f6964_0_random_IntArithmetic(EOS(STATIC_6964(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846, i2454, 1) :|: TRUE f6964_0_random_IntArithmetic(EOS(STATIC_6964(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846, i2454, matching1) -> f6968_0_random_FieldAccess(EOS(STATIC_6968(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846, i2454 + 1) :|: i2454 > 0 && matching1 = 1 f6968_0_random_FieldAccess(EOS(STATIC_6968(java.lang.Object(ARRAY(i2453)), i2454)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846, i2496) -> f6971_0_random_Load(EOS(STATIC_6971(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846) :|: TRUE f6971_0_random_Load(EOS(STATIC_6971(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846) -> f6974_0_random_InvokeMethod(EOS(STATIC_6974(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), o2846) :|: TRUE f6974_0_random_InvokeMethod(EOS(STATIC_6974(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2890sub)) -> f6978_0_random_InvokeMethod(EOS(STATIC_6978(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2890sub)) :|: TRUE f6978_0_random_InvokeMethod(EOS(STATIC_6978(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2898sub)) -> f6982_0_random_InvokeMethod(EOS(STATIC_6982(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2898sub)) :|: TRUE f6982_0_random_InvokeMethod(EOS(STATIC_6982(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2898sub)) -> f6987_0_length_Load(EOS(STATIC_6987(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2898sub)) :|: TRUE f6987_0_length_Load(EOS(STATIC_6987(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2898sub)) -> f6994_0_length_FieldAccess(EOS(STATIC_6994(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2898sub)) :|: TRUE f6994_0_length_FieldAccess(EOS(STATIC_6994(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(java.lang.String(EOC, i2531))) -> f6999_0_length_FieldAccess(EOS(STATIC_6999(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(java.lang.String(EOC, i2531))) :|: i2531 >= 0 f6999_0_length_FieldAccess(EOS(STATIC_6999(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(java.lang.String(EOC, i2531))) -> f7003_0_length_Return(EOS(STATIC_7003(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) :|: TRUE f7003_0_length_Return(EOS(STATIC_7003(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) -> f7007_0_random_Return(EOS(STATIC_7007(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) :|: TRUE f7007_0_random_Return(EOS(STATIC_7007(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) -> f7012_0_createTree_Store(EOS(STATIC_7012(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) :|: TRUE f7012_0_createTree_Store(EOS(STATIC_7012(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) -> f7016_0_createTree_Load(EOS(STATIC_7016(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) :|: TRUE f7016_0_createTree_Load(EOS(STATIC_7016(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) -> f7022_0_createTree_LE(EOS(STATIC_7022(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2531) :|: TRUE f7022_0_createTree_LE(EOS(STATIC_7022(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), matching1) -> f7027_0_createTree_LE(EOS(STATIC_7027(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), 0) :|: TRUE && matching1 = 0 f7022_0_createTree_LE(EOS(STATIC_7022(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2562) -> f7028_0_createTree_LE(EOS(STATIC_7028(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2562) :|: TRUE f7027_0_createTree_LE(EOS(STATIC_7027(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), matching1) -> f7032_0_createTree_Load(EOS(STATIC_7032(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) :|: 0 <= 0 && matching1 = 0 f7032_0_createTree_Load(EOS(STATIC_7032(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) -> f7038_0_createTree_FieldAccess(EOS(STATIC_7038(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2762sub)) :|: TRUE f7038_0_createTree_FieldAccess(EOS(STATIC_7038(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3063, o3062)), java.lang.Object(Tree(EOC, o3063, o3062))) -> f7044_0_createTree_FieldAccess(EOS(STATIC_7044(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3063, o3062)), java.lang.Object(Tree(EOC, o3063, o3062))) :|: TRUE f7044_0_createTree_FieldAccess(EOS(STATIC_7044(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3063, o3062)), java.lang.Object(Tree(EOC, o3063, o3062))) -> f7050_0_createTree_NONNULL(EOS(STATIC_7050(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3063, o3062)), o3063) :|: TRUE f7050_0_createTree_NONNULL(EOS(STATIC_7050(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub), o3062)), java.lang.Object(o3089sub)) -> f7057_0_createTree_NONNULL(EOS(STATIC_7057(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub), o3062)), java.lang.Object(o3089sub)) :|: TRUE f7050_0_createTree_NONNULL(EOS(STATIC_7050(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), NULL) -> f7058_0_createTree_NONNULL(EOS(STATIC_7058(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), NULL) :|: TRUE f7057_0_createTree_NONNULL(EOS(STATIC_7057(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub), o3062)), java.lang.Object(o3089sub)) -> f7066_0_createTree_Load(EOS(STATIC_7066(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub), o3062))) :|: TRUE f7066_0_createTree_Load(EOS(STATIC_7066(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub), o3062))) -> f7075_0_createTree_FieldAccess(EOS(STATIC_7075(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub), o3062))) :|: TRUE f7075_0_createTree_FieldAccess(EOS(STATIC_7075(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub), o3062))) -> f7085_0_createTree_Store(EOS(STATIC_7085(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) :|: TRUE f7085_0_createTree_Store(EOS(STATIC_7085(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) -> f7093_0_createTree_Inc(EOS(STATIC_7093(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) :|: TRUE f7093_0_createTree_Inc(EOS(STATIC_7093(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) -> f7103_0_createTree_JMP(EOS(STATIC_7103(java.lang.Object(ARRAY(i2453)), i2496)), i2464 + -1, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) :|: TRUE f7103_0_createTree_JMP(EOS(STATIC_7103(java.lang.Object(ARRAY(i2453)), i2496)), i2608, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) -> f7109_0_createTree_Load(EOS(STATIC_7109(java.lang.Object(ARRAY(i2453)), i2496)), i2608, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) :|: TRUE f7109_0_createTree_Load(EOS(STATIC_7109(java.lang.Object(ARRAY(i2453)), i2496)), i2608, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) -> f6928_0_createTree_Load(EOS(STATIC_6928(java.lang.Object(ARRAY(i2453)), i2496)), i2608, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3089sub)) :|: TRUE f6928_0_createTree_Load(EOS(STATIC_6928(java.lang.Object(ARRAY(i2453)), i2454)), i2455, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) -> f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453)), i2454)), i2455, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2455) :|: TRUE f7058_0_createTree_NONNULL(EOS(STATIC_7058(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), NULL) -> f7067_0_createTree_Load(EOS(STATIC_7067(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062))) :|: TRUE f7067_0_createTree_Load(EOS(STATIC_7067(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062))) -> f7076_0_createTree_InvokeMethod(EOS(STATIC_7076(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062))) :|: TRUE f7076_0_createTree_InvokeMethod(EOS(STATIC_7076(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062))) -> f7086_0_createNode_New(EOS(STATIC_7086(java.lang.Object(ARRAY(i2453)), i2496))) :|: i2464 >= 1 && i2496 > 1 f7076_0_createTree_InvokeMethod(EOS(STATIC_7076(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062))) -> f7086_1_createNode_New(EOS(STATIC_7086(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062))) :|: i2464 >= 1 && i2496 > 1 f7086_0_createNode_New(EOS(STATIC_7086(java.lang.Object(ARRAY(i2453)), i2496))) -> f7468_0_createNode_New(EOS(STATIC_7468(java.lang.Object(ARRAY(i2453)), i2496))) :|: TRUE f7119_0_createNode_Return(EOS(STATIC_7119(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7130_0_createTree_FieldAccess(EOS(STATIC_7130(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE f7130_0_createTree_FieldAccess(EOS(STATIC_7130(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7137_0_createTree_FieldAccess(EOS(STATIC_7137(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE f7130_0_createTree_FieldAccess(EOS(STATIC_7130(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, NULL, o3322)), java.lang.Object(Tree(EOC, NULL, o3322)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7138_0_createTree_FieldAccess(EOS(STATIC_7138(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, NULL, o3322)), java.lang.Object(Tree(EOC, NULL, o3322)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE f7137_0_createTree_FieldAccess(EOS(STATIC_7137(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7145_0_createTree_Load(EOS(STATIC_7145(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761put, o2760put))) :|: TRUE f7145_0_createTree_Load(EOS(STATIC_7145(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760))) -> f7152_0_createTree_Store(EOS(STATIC_7152(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7152_0_createTree_Store(EOS(STATIC_7152(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7162_0_createTree_JMP(EOS(STATIC_7162(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7162_0_createTree_JMP(EOS(STATIC_7162(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7171_0_createTree_Inc(EOS(STATIC_7171(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7171_0_createTree_Inc(EOS(STATIC_7171(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7178_0_createTree_JMP(EOS(STATIC_7178(java.lang.Object(ARRAY(i2630)), i2626)), i2464 + -1, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7178_0_createTree_JMP(EOS(STATIC_7178(java.lang.Object(ARRAY(i2630)), i2626)), i2787, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7185_0_createTree_Load(EOS(STATIC_7185(java.lang.Object(ARRAY(i2630)), i2626)), i2787, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7185_0_createTree_Load(EOS(STATIC_7185(java.lang.Object(ARRAY(i2630)), i2626)), i2787, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f6928_0_createTree_Load(EOS(STATIC_6928(java.lang.Object(ARRAY(i2630)), i2626)), i2787, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7138_0_createTree_FieldAccess(EOS(STATIC_7138(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, NULL, o3322)), java.lang.Object(Tree(EOC, NULL, o3322)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7146_0_createTree_Load(EOS(STATIC_7146(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) :|: TRUE f7146_0_createTree_Load(EOS(STATIC_7146(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) -> f7153_0_createTree_Store(EOS(STATIC_7153(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) :|: TRUE f7153_0_createTree_Store(EOS(STATIC_7153(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) -> f7163_0_createTree_JMP(EOS(STATIC_7163(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) :|: TRUE f7163_0_createTree_JMP(EOS(STATIC_7163(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) -> f7172_0_createTree_Inc(EOS(STATIC_7172(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) :|: TRUE f7172_0_createTree_Inc(EOS(STATIC_7172(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) -> f7179_0_createTree_JMP(EOS(STATIC_7179(java.lang.Object(ARRAY(i2630)), i2626)), i2464 + -1, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) :|: TRUE f7179_0_createTree_JMP(EOS(STATIC_7179(java.lang.Object(ARRAY(i2630)), i2626)), i2792, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) -> f7186_0_createTree_Load(EOS(STATIC_7186(java.lang.Object(ARRAY(i2630)), i2626)), i2792, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) :|: TRUE f7186_0_createTree_Load(EOS(STATIC_7186(java.lang.Object(ARRAY(i2630)), i2626)), i2792, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) -> f6928_0_createTree_Load(EOS(STATIC_6928(java.lang.Object(ARRAY(i2630)), i2626)), i2792, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o3322))) :|: TRUE f7028_0_createTree_LE(EOS(STATIC_7028(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), i2562) -> f7033_0_createTree_Load(EOS(STATIC_7033(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) :|: i2562 > 0 f7033_0_createTree_Load(EOS(STATIC_7033(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub)) -> f7039_0_createTree_FieldAccess(EOS(STATIC_7039(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o2762sub), java.lang.Object(o2762sub)) :|: TRUE f7039_0_createTree_FieldAccess(EOS(STATIC_7039(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, o3065)), java.lang.Object(Tree(EOC, o3066, o3065))) -> f7045_0_createTree_FieldAccess(EOS(STATIC_7045(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, o3065)), java.lang.Object(Tree(EOC, o3066, o3065))) :|: TRUE f7045_0_createTree_FieldAccess(EOS(STATIC_7045(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, o3065)), java.lang.Object(Tree(EOC, o3066, o3065))) -> f7051_0_createTree_NONNULL(EOS(STATIC_7051(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, o3065)), o3065) :|: TRUE f7051_0_createTree_NONNULL(EOS(STATIC_7051(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, java.lang.Object(o3090sub))), java.lang.Object(o3090sub)) -> f7059_0_createTree_NONNULL(EOS(STATIC_7059(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, java.lang.Object(o3090sub))), java.lang.Object(o3090sub)) :|: TRUE f7051_0_createTree_NONNULL(EOS(STATIC_7051(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), NULL) -> f7060_0_createTree_NONNULL(EOS(STATIC_7060(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), NULL) :|: TRUE f7059_0_createTree_NONNULL(EOS(STATIC_7059(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, java.lang.Object(o3090sub))), java.lang.Object(o3090sub)) -> f7068_0_createTree_Load(EOS(STATIC_7068(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, java.lang.Object(o3090sub)))) :|: TRUE f7068_0_createTree_Load(EOS(STATIC_7068(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, java.lang.Object(o3090sub)))) -> f7077_0_createTree_FieldAccess(EOS(STATIC_7077(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, java.lang.Object(o3090sub)))) :|: TRUE f7077_0_createTree_FieldAccess(EOS(STATIC_7077(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, java.lang.Object(o3090sub)))) -> f7087_0_createTree_Store(EOS(STATIC_7087(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) :|: TRUE f7087_0_createTree_Store(EOS(STATIC_7087(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) -> f7095_0_createTree_JMP(EOS(STATIC_7095(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) :|: TRUE f7095_0_createTree_JMP(EOS(STATIC_7095(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) -> f7104_0_createTree_Inc(EOS(STATIC_7104(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) :|: TRUE f7104_0_createTree_Inc(EOS(STATIC_7104(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) -> f7110_0_createTree_JMP(EOS(STATIC_7110(java.lang.Object(ARRAY(i2453)), i2496)), i2464 + -1, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) :|: TRUE f7110_0_createTree_JMP(EOS(STATIC_7110(java.lang.Object(ARRAY(i2453)), i2496)), i2613, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) -> f7114_0_createTree_Load(EOS(STATIC_7114(java.lang.Object(ARRAY(i2453)), i2496)), i2613, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) :|: TRUE f7114_0_createTree_Load(EOS(STATIC_7114(java.lang.Object(ARRAY(i2453)), i2496)), i2613, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) -> f6928_0_createTree_Load(EOS(STATIC_6928(java.lang.Object(ARRAY(i2453)), i2496)), i2613, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(o3090sub)) :|: TRUE f7060_0_createTree_NONNULL(EOS(STATIC_7060(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), NULL) -> f7069_0_createTree_Load(EOS(STATIC_7069(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL))) :|: TRUE f7069_0_createTree_Load(EOS(STATIC_7069(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL))) -> f7078_0_createTree_InvokeMethod(EOS(STATIC_7078(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL))) :|: TRUE f7078_0_createTree_InvokeMethod(EOS(STATIC_7078(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL))) -> f7088_0_createNode_New(EOS(STATIC_7088(java.lang.Object(ARRAY(i2453)), i2496))) :|: i2464 >= 1 && i2496 > 1 f7078_0_createTree_InvokeMethod(EOS(STATIC_7078(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL))) -> f7088_1_createNode_New(EOS(STATIC_7088(java.lang.Object(ARRAY(i2453)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL))) :|: i2464 >= 1 && i2496 > 1 f7088_0_createNode_New(EOS(STATIC_7088(java.lang.Object(ARRAY(i2453)), i2496))) -> f7546_0_createNode_New(EOS(STATIC_7546(java.lang.Object(ARRAY(i2453)), i2496))) :|: TRUE f7123_0_createNode_Return(EOS(STATIC_7123(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7132_0_createTree_FieldAccess(EOS(STATIC_7132(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE f7132_0_createTree_FieldAccess(EOS(STATIC_7132(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7140_0_createTree_FieldAccess(EOS(STATIC_7140(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE f7132_0_createTree_FieldAccess(EOS(STATIC_7132(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, NULL)), java.lang.Object(Tree(EOC, o3329, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7141_0_createTree_FieldAccess(EOS(STATIC_7141(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, NULL)), java.lang.Object(Tree(EOC, o3329, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE f7140_0_createTree_FieldAccess(EOS(STATIC_7140(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7147_0_createTree_Load(EOS(STATIC_7147(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761put, o2760put))) :|: TRUE f7147_0_createTree_Load(EOS(STATIC_7147(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760))) -> f7156_0_createTree_Store(EOS(STATIC_7156(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7156_0_createTree_Store(EOS(STATIC_7156(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7165_0_createTree_JMP(EOS(STATIC_7165(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7165_0_createTree_JMP(EOS(STATIC_7165(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7173_0_createTree_Inc(EOS(STATIC_7173(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7173_0_createTree_Inc(EOS(STATIC_7173(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7180_0_createTree_JMP(EOS(STATIC_7180(java.lang.Object(ARRAY(i2651)), i2647)), i2464 + -1, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7180_0_createTree_JMP(EOS(STATIC_7180(java.lang.Object(ARRAY(i2651)), i2647)), i2797, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f7187_0_createTree_Load(EOS(STATIC_7187(java.lang.Object(ARRAY(i2651)), i2647)), i2797, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7187_0_createTree_Load(EOS(STATIC_7187(java.lang.Object(ARRAY(i2651)), i2647)), i2797, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) -> f6928_0_createTree_Load(EOS(STATIC_6928(java.lang.Object(ARRAY(i2651)), i2647)), i2797, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o2761, o2760))) :|: TRUE f7141_0_createTree_FieldAccess(EOS(STATIC_7141(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, NULL)), java.lang.Object(Tree(EOC, o3329, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) -> f7148_0_createTree_Load(EOS(STATIC_7148(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE f7148_0_createTree_Load(EOS(STATIC_7148(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f7157_0_createTree_Store(EOS(STATIC_7157(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE f7157_0_createTree_Store(EOS(STATIC_7157(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f7166_0_createTree_JMP(EOS(STATIC_7166(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE f7166_0_createTree_JMP(EOS(STATIC_7166(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f7174_0_createTree_Inc(EOS(STATIC_7174(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE f7174_0_createTree_Inc(EOS(STATIC_7174(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f7181_0_createTree_JMP(EOS(STATIC_7181(java.lang.Object(ARRAY(i2651)), i2647)), i2464 + -1, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE f7181_0_createTree_JMP(EOS(STATIC_7181(java.lang.Object(ARRAY(i2651)), i2647)), i2806, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f7188_0_createTree_Load(EOS(STATIC_7188(java.lang.Object(ARRAY(i2651)), i2647)), i2806, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE f7188_0_createTree_Load(EOS(STATIC_7188(java.lang.Object(ARRAY(i2651)), i2647)), i2806, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) -> f6928_0_createTree_Load(EOS(STATIC_6928(java.lang.Object(ARRAY(i2651)), i2647)), i2806, java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o3329, java.lang.Object(Tree(EOC, NULL, NULL))))) :|: TRUE f7086_1_createNode_New(EOS(STATIC_7086(java.lang.Object(ARRAY(i2630)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062))) -> f7119_0_createNode_Return(EOS(STATIC_7119(java.lang.Object(ARRAY(i2630)), i2626)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, NULL, o3062)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE f7088_1_createNode_New(EOS(STATIC_7088(java.lang.Object(ARRAY(i2651)), i2496)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL))) -> f7123_0_createNode_Return(EOS(STATIC_7123(java.lang.Object(ARRAY(i2651)), i2647)), i2464, java.lang.Object(Tree(EOC, o2761, o2760)), java.lang.Object(Tree(EOC, o3066, NULL)), java.lang.Object(Tree(EOC, NULL, NULL))) :|: TRUE Combined rules. Obtained 8 IRulesP rules: f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, NULL, o2760:0)), java.lang.Object(Tree(EOC, NULL, o2760:0)), i2464:0) -> f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2626:0)), i2464:0 - 1, java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o2760:0)), java.lang.Object(Tree(EOC, java.lang.Object(Tree(EOC, NULL, NULL)), o2760:0)), i2464:0 - 1) :|: i2464:0 > 0 && i2454:0 > 0 f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(Tree(EOC, o3066:0, NULL)), i2464:0) -> f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2647:0)), i2464:0 - 1, java.lang.Object(Tree(EOC, o2761put:0, o2760put:0)), java.lang.Object(Tree(EOC, o2761put:0, o2760put:0)), i2464:0 - 1) :|: i2531:0 > 0 && i2464:0 > 0 && i2454:0 > 0 f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(Tree(EOC, o3066:0, java.lang.Object(o3090sub:0))), i2464:0) -> f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0 + 1)), i2464:0 - 1, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(o3090sub:0), i2464:0 - 1) :|: i2531:0 > 0 && i2454:0 > 0 && i2464:0 > 0 f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(Tree(EOC, java.lang.Object(o3089sub:0), o3062:0)), i2464:0) -> f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0 + 1)), i2464:0 - 1, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(o3089sub:0), i2464:0 - 1) :|: i2454:0 > 0 && i2464:0 > 0 f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(Tree(EOC, NULL, o3062:0)), i2464:0) -> f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2626:0)), i2464:0 - 1, java.lang.Object(Tree(EOC, o2761put:0, o2760put:0)), java.lang.Object(Tree(EOC, o2761put:0, o2760put:0)), i2464:0 - 1) :|: i2464:0 > 0 && i2454:0 > 0 f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, o2761:0, NULL)), java.lang.Object(Tree(EOC, o2761:0, NULL)), i2464:0) -> f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2647:0)), i2464:0 - 1, java.lang.Object(Tree(EOC, o2761:0, java.lang.Object(Tree(EOC, NULL, NULL)))), java.lang.Object(Tree(EOC, o2761:0, java.lang.Object(Tree(EOC, NULL, NULL)))), i2464:0 - 1) :|: i2531:0 > 0 && i2464:0 > 0 && i2454:0 > 0 Removed following non-SCC rules: f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(Tree(EOC, o3066:0, NULL)), i2464:0) -> f7546_0_createNode_New(EOS(STATIC_7546(java.lang.Object(ARRAY(i2453:0)), i2454:0 + 1))) :|: i2531:0 > 0 && i2464:0 > 0 && i2454:0 > 0 f6930_0_createTree_LE(EOS(STATIC_6930(java.lang.Object(ARRAY(i2453:0)), i2454:0)), i2464:0, java.lang.Object(Tree(EOC, o2761:0, o2760:0)), java.lang.Object(Tree(EOC, NULL, o3062:0)), i2464:0) -> f7468_0_createNode_New(EOS(STATIC_7468(java.lang.Object(ARRAY(i2453:0)), i2454:0 + 1))) :|: i2464:0 > 0 && i2454:0 > 0 Filtered constant ground arguments: Tree(x1, x2, x3) -> Tree(x2, x3) Filtered duplicate arguments: f6930_0_createTree_LE(x1, x2, x3, x4, x5) -> f6930_0_createTree_LE(x1, x3, x4, x5) Filtered unneeded arguments: STATIC_6930(x1, x2) -> STATIC_6930(x2) Finished conversion. Obtained 6 rules.P rules: f6930_0_createTree_LE(java.lang.Object(Tree(NULL, o2760:0)), java.lang.Object(Tree(NULL, o2760:0)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), i2464:0 - 1, i2626:0) :|: i2464:0 > 0 && i2454:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, o2760:0)), java.lang.Object(Tree(o3066:0, NULL)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(o2761put:0, o2760put:0)), java.lang.Object(Tree(o2761put:0, o2760put:0)), i2464:0 - 1, i2647:0) :|: i2464:0 > 0 && i2454:0 > 0 && i2531:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, o2760:0)), java.lang.Object(Tree(o3066:0, java.lang.Object(o3090sub:0))), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, o2760:0)), java.lang.Object(o3090sub:0), i2464:0 - 1, i2454:0 + 1) :|: i2454:0 > 0 && i2464:0 > 0 && i2531:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, o2760:0)), java.lang.Object(Tree(java.lang.Object(o3089sub:0), o3062:0)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, o2760:0)), java.lang.Object(o3089sub:0), i2464:0 - 1, i2454:0 + 1) :|: i2454:0 > 0 && i2464:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, o2760:0)), java.lang.Object(Tree(NULL, o3062:0)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(o2761put:0, o2760put:0)), java.lang.Object(Tree(o2761put:0, o2760put:0)), i2464:0 - 1, i2626:0) :|: i2464:0 > 0 && i2454:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, NULL)), java.lang.Object(Tree(o2761:0, NULL)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(o2761:0, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(o2761:0, java.lang.Object(Tree(NULL, NULL)))), i2464:0 - 1, i2647:0) :|: i2464:0 > 0 && i2454:0 > 0 && i2531:0 > 0 ---------------------------------------- (21) Obligation: Rules: f6930_0_createTree_LE(java.lang.Object(Tree(NULL, o2760:0)), java.lang.Object(Tree(NULL, o2760:0)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), i2464:0 - 1, i2626:0) :|: i2464:0 > 0 && i2454:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x, x1)), java.lang.Object(Tree(x2, NULL)), x3, x4) -> f6930_0_createTree_LE(java.lang.Object(Tree(x5, x6)), java.lang.Object(Tree(x5, x6)), x3 - 1, x7) :|: x3 > 0 && x4 > 0 && x8 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x9, x10)), java.lang.Object(Tree(x11, java.lang.Object(x12))), x13, x14) -> f6930_0_createTree_LE(java.lang.Object(Tree(x9, x10)), java.lang.Object(x12), x13 - 1, x14 + 1) :|: x14 > 0 && x13 > 0 && x15 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x16, x17)), java.lang.Object(Tree(java.lang.Object(x18), x19)), x20, x21) -> f6930_0_createTree_LE(java.lang.Object(Tree(x16, x17)), java.lang.Object(x18), x20 - 1, x21 + 1) :|: x21 > 0 && x20 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x22, x23)), java.lang.Object(Tree(NULL, x24)), x25, x26) -> f6930_0_createTree_LE(java.lang.Object(Tree(x27, x28)), java.lang.Object(Tree(x27, x28)), x25 - 1, x29) :|: x25 > 0 && x26 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x30, NULL)), java.lang.Object(Tree(x30, NULL)), x31, x32) -> f6930_0_createTree_LE(java.lang.Object(Tree(x30, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x30, java.lang.Object(Tree(NULL, NULL)))), x31 - 1, x33) :|: x31 > 0 && x32 > 0 && x34 > 0 ---------------------------------------- (22) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (23) Obligation: Rules: f6930_0_createTree_LE(java.lang.Object(Tree(NULL, o2760:0)), java.lang.Object(Tree(NULL, o2760:0)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), arith, i2626:0) :|: i2464:0 > 0 && i2454:0 > 0 && arith = i2464:0 - 1 f6930_0_createTree_LE(java.lang.Object(Tree(x35, x36)), java.lang.Object(Tree(x37, NULL)), x38, x39) -> f6930_0_createTree_LE(java.lang.Object(Tree(x40, x41)), java.lang.Object(Tree(x40, x41)), x42, x43) :|: x38 > 0 && x39 > 0 && x44 > 0 && x42 = x38 - 1 f6930_0_createTree_LE(java.lang.Object(Tree(x45, x46)), java.lang.Object(Tree(x47, java.lang.Object(x48))), x49, x50) -> f6930_0_createTree_LE(java.lang.Object(Tree(x45, x46)), java.lang.Object(x48), x51, x52) :|: x50 > 0 && x49 > 0 && x53 > 0 && x51 = x49 - 1 && x52 = x50 + 1 f6930_0_createTree_LE(java.lang.Object(Tree(x54, x55)), java.lang.Object(Tree(java.lang.Object(x56), x57)), x58, x59) -> f6930_0_createTree_LE(java.lang.Object(Tree(x54, x55)), java.lang.Object(x56), x60, x61) :|: x59 > 0 && x58 > 0 && x60 = x58 - 1 && x61 = x59 + 1 f6930_0_createTree_LE(java.lang.Object(Tree(x62, x63)), java.lang.Object(Tree(NULL, x64)), x65, x66) -> f6930_0_createTree_LE(java.lang.Object(Tree(x67, x68)), java.lang.Object(Tree(x67, x68)), x69, x70) :|: x65 > 0 && x66 > 0 && x69 = x65 - 1 f6930_0_createTree_LE(java.lang.Object(Tree(x71, NULL)), java.lang.Object(Tree(x71, NULL)), x72, x73) -> f6930_0_createTree_LE(java.lang.Object(Tree(x71, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x71, java.lang.Object(Tree(NULL, NULL)))), x74, x75) :|: x72 > 0 && x73 > 0 && x76 > 0 && x74 = x72 - 1 ---------------------------------------- (24) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f6930_0_createTree_LE(java.lang.Object(Tree(NULL, o2760:0)), java.lang.Object(Tree(NULL, o2760:0)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), arith, i2626:0) :|: i2464:0 > 0 && i2454:0 > 0 && arith = i2464:0 - 1 (2) f6930_0_createTree_LE(java.lang.Object(Tree(x35, x36)), java.lang.Object(Tree(x37, NULL)), x38, x39) -> f6930_0_createTree_LE(java.lang.Object(Tree(x40, x41)), java.lang.Object(Tree(x40, x41)), x42, x43) :|: x38 > 0 && x39 > 0 && x44 > 0 && x42 = x38 - 1 (3) f6930_0_createTree_LE(java.lang.Object(Tree(x45, x46)), java.lang.Object(Tree(x47, java.lang.Object(x48))), x49, x50) -> f6930_0_createTree_LE(java.lang.Object(Tree(x45, x46)), java.lang.Object(x48), x51, x52) :|: x50 > 0 && x49 > 0 && x53 > 0 && x51 = x49 - 1 && x52 = x50 + 1 (4) f6930_0_createTree_LE(java.lang.Object(Tree(x54, x55)), java.lang.Object(Tree(java.lang.Object(x56), x57)), x58, x59) -> f6930_0_createTree_LE(java.lang.Object(Tree(x54, x55)), java.lang.Object(x56), x60, x61) :|: x59 > 0 && x58 > 0 && x60 = x58 - 1 && x61 = x59 + 1 (5) f6930_0_createTree_LE(java.lang.Object(Tree(x62, x63)), java.lang.Object(Tree(NULL, x64)), x65, x66) -> f6930_0_createTree_LE(java.lang.Object(Tree(x67, x68)), java.lang.Object(Tree(x67, x68)), x69, x70) :|: x65 > 0 && x66 > 0 && x69 = x65 - 1 (6) f6930_0_createTree_LE(java.lang.Object(Tree(x71, NULL)), java.lang.Object(Tree(x71, NULL)), x72, x73) -> f6930_0_createTree_LE(java.lang.Object(Tree(x71, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x71, java.lang.Object(Tree(NULL, NULL)))), x74, x75) :|: x72 > 0 && x73 > 0 && x76 > 0 && x74 = x72 - 1 Arcs: (1) -> (2), (3), (4), (6) (2) -> (1), (2), (3), (4), (5), (6) (3) -> (1), (2), (3), (4), (5), (6) (4) -> (1), (2), (3), (4), (5), (6) (5) -> (1), (2), (3), (4), (5), (6) (6) -> (1), (3), (4), (5) This digraph is fully evaluated! ---------------------------------------- (25) Obligation: Termination digraph: Nodes: (1) f6930_0_createTree_LE(java.lang.Object(Tree(NULL, o2760:0)), java.lang.Object(Tree(NULL, o2760:0)), i2464:0, i2454:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0)), arith, i2626:0) :|: i2464:0 > 0 && i2454:0 > 0 && arith = i2464:0 - 1 (2) f6930_0_createTree_LE(java.lang.Object(Tree(x35, x36)), java.lang.Object(Tree(x37, NULL)), x38, x39) -> f6930_0_createTree_LE(java.lang.Object(Tree(x40, x41)), java.lang.Object(Tree(x40, x41)), x42, x43) :|: x38 > 0 && x39 > 0 && x44 > 0 && x42 = x38 - 1 (3) f6930_0_createTree_LE(java.lang.Object(Tree(x45, x46)), java.lang.Object(Tree(x47, java.lang.Object(x48))), x49, x50) -> f6930_0_createTree_LE(java.lang.Object(Tree(x45, x46)), java.lang.Object(x48), x51, x52) :|: x50 > 0 && x49 > 0 && x53 > 0 && x51 = x49 - 1 && x52 = x50 + 1 (4) f6930_0_createTree_LE(java.lang.Object(Tree(x54, x55)), java.lang.Object(Tree(java.lang.Object(x56), x57)), x58, x59) -> f6930_0_createTree_LE(java.lang.Object(Tree(x54, x55)), java.lang.Object(x56), x60, x61) :|: x59 > 0 && x58 > 0 && x60 = x58 - 1 && x61 = x59 + 1 (5) f6930_0_createTree_LE(java.lang.Object(Tree(x62, x63)), java.lang.Object(Tree(NULL, x64)), x65, x66) -> f6930_0_createTree_LE(java.lang.Object(Tree(x67, x68)), java.lang.Object(Tree(x67, x68)), x69, x70) :|: x65 > 0 && x66 > 0 && x69 = x65 - 1 (6) f6930_0_createTree_LE(java.lang.Object(Tree(x71, NULL)), java.lang.Object(Tree(x71, NULL)), x72, x73) -> f6930_0_createTree_LE(java.lang.Object(Tree(x71, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x71, java.lang.Object(Tree(NULL, NULL)))), x74, x75) :|: x72 > 0 && x73 > 0 && x76 > 0 && x74 = x72 - 1 Arcs: (1) -> (2), (3), (4), (6) (2) -> (1), (2), (3), (4), (5), (6) (3) -> (1), (2), (3), (4), (5), (6) (4) -> (1), (2), (3), (4), (5), (6) (5) -> (1), (2), (3), (4), (5), (6) (6) -> (1), (3), (4), (5) This digraph is fully evaluated! ---------------------------------------- (26) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (27) Obligation: Rules: f6930_0_createTree_LE(java.lang.Object(Tree(x54:0, x55:0)), java.lang.Object(Tree(java.lang.Object(x56:0), x57:0)), x58:0, x59:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(x54:0, x55:0)), java.lang.Object(x56:0), x58:0 - 1, x59:0 + 1) :|: x59:0 > 0 && x58:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x62:0, x63:0)), java.lang.Object(Tree(NULL, x64:0)), x65:0, x66:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(x67:0, x68:0)), java.lang.Object(Tree(x67:0, x68:0)), x65:0 - 1, x70:0) :|: x65:0 > 0 && x66:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x71:0, NULL)), java.lang.Object(Tree(x71:0, NULL)), x72:0, x73:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(x71:0, java.lang.Object(Tree(NULL, NULL)))), java.lang.Object(Tree(x71:0, java.lang.Object(Tree(NULL, NULL)))), x72:0 - 1, x75:0) :|: x72:0 > 0 && x73:0 > 0 && x76:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(NULL, o2760:0:0)), java.lang.Object(Tree(NULL, o2760:0:0)), i2464:0:0, i2454:0:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0:0)), java.lang.Object(Tree(java.lang.Object(Tree(NULL, NULL)), o2760:0:0)), i2464:0:0 - 1, i2626:0:0) :|: i2464:0:0 > 0 && i2454:0:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x35:0, x36:0)), java.lang.Object(Tree(x37:0, NULL)), x38:0, x39:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(x40:0, x41:0)), java.lang.Object(Tree(x40:0, x41:0)), x38:0 - 1, x43:0) :|: x38:0 > 0 && x39:0 > 0 && x44:0 > 0 f6930_0_createTree_LE(java.lang.Object(Tree(x45:0, x46:0)), java.lang.Object(Tree(x47:0, java.lang.Object(x48:0))), x49:0, x50:0) -> f6930_0_createTree_LE(java.lang.Object(Tree(x45:0, x46:0)), java.lang.Object(x48:0), x49:0 - 1, x50:0 + 1) :|: x50:0 > 0 && x49:0 > 0 && x53:0 > 0 ---------------------------------------- (28) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f6930_0_createTree_LE(VARIABLE, VARIABLE, INTEGER, VARIABLE) java.lang.Object(VARIABLE) Tree(VARIABLE, VARIABLE) NULL() Replaced non-predefined constructor symbols by 0. ---------------------------------------- (29) Obligation: Rules: f6930_0_createTree_LE(c, c1, x58:0, x59:0) -> f6930_0_createTree_LE(c2, c3, c4, c5) :|: c5 = x59:0 + 1 && (c4 = x58:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x59:0 > 0 && x58:0 > 0) f6930_0_createTree_LE(c6, c7, x65:0, x66:0) -> f6930_0_createTree_LE(c8, c9, c10, x70:0) :|: c10 = x65:0 - 1 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))) && (x65:0 > 0 && x66:0 > 0) f6930_0_createTree_LE(c11, c12, x72:0, x73:0) -> f6930_0_createTree_LE(c13, c14, c15, x75:0) :|: c15 = x72:0 - 1 && (c14 = 0 && (c13 = 0 && (c12 = 0 && c11 = 0))) && (x72:0 > 0 && x73:0 > 0 && x76:0 > 0) f6930_0_createTree_LE(c26, c27, x49:0, x50:0) -> f6930_0_createTree_LE(c28, c29, c30, c31) :|: c31 = x50:0 + 1 && (c30 = x49:0 - 1 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (x50:0 > 0 && x49:0 > 0 && x53:0 > 0) ---------------------------------------- (30) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f6930_0_createTree_LE(x, x1, x2, x3)] = -1 + c*x + c1*x1 + x2 The following rules are decreasing: f6930_0_createTree_LE(c, c1, x58:0, x59:0) -> f6930_0_createTree_LE(c2, c3, c4, c5) :|: c5 = x59:0 + 1 && (c4 = x58:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x59:0 > 0 && x58:0 > 0) f6930_0_createTree_LE(c6, c7, x65:0, x66:0) -> f6930_0_createTree_LE(c8, c9, c10, x70:0) :|: c10 = x65:0 - 1 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))) && (x65:0 > 0 && x66:0 > 0) f6930_0_createTree_LE(c11, c12, x72:0, x73:0) -> f6930_0_createTree_LE(c13, c14, c15, x75:0) :|: c15 = x72:0 - 1 && (c14 = 0 && (c13 = 0 && (c12 = 0 && c11 = 0))) && (x72:0 > 0 && x73:0 > 0 && x76:0 > 0) f6930_0_createTree_LE(c26, c27, x49:0, x50:0) -> f6930_0_createTree_LE(c28, c29, c30, c31) :|: c31 = x50:0 + 1 && (c30 = x49:0 - 1 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (x50:0 > 0 && x49:0 > 0 && x53:0 > 0) The following rules are bounded: f6930_0_createTree_LE(c, c1, x58:0, x59:0) -> f6930_0_createTree_LE(c2, c3, c4, c5) :|: c5 = x59:0 + 1 && (c4 = x58:0 - 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x59:0 > 0 && x58:0 > 0) f6930_0_createTree_LE(c6, c7, x65:0, x66:0) -> f6930_0_createTree_LE(c8, c9, c10, x70:0) :|: c10 = x65:0 - 1 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))) && (x65:0 > 0 && x66:0 > 0) f6930_0_createTree_LE(c11, c12, x72:0, x73:0) -> f6930_0_createTree_LE(c13, c14, c15, x75:0) :|: c15 = x72:0 - 1 && (c14 = 0 && (c13 = 0 && (c12 = 0 && c11 = 0))) && (x72:0 > 0 && x73:0 > 0 && x76:0 > 0) f6930_0_createTree_LE(c26, c27, x49:0, x50:0) -> f6930_0_createTree_LE(c28, c29, c30, c31) :|: c31 = x50:0 + 1 && (c30 = x49:0 - 1 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (x50:0 > 0 && x49:0 > 0 && x53:0 > 0) ---------------------------------------- (31) YES ---------------------------------------- (32) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: FlattenRTA.main([Ljava/lang/String;)V SCC calls the following helper methods: Tree.createTree()LTree;, Tree.createNode()LTree; Performed SCC analyses: *Used field analysis yielded the following read fields: *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (33) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 49 IRulesP rules: f5573_0_main_LE(EOS(STATIC_5573), java.lang.Object(ARRAY(i1168)), i1202, i1202) -> f5646_0_main_LE(EOS(STATIC_5646), java.lang.Object(ARRAY(i1168)), i1202, i1202) :|: TRUE f5646_0_main_LE(EOS(STATIC_5646), java.lang.Object(ARRAY(i1168)), i1202, i1202) -> f5662_0_main_InvokeMethod(EOS(STATIC_5662), java.lang.Object(ARRAY(i1168)), i1202) :|: i1202 > 0 f5662_0_main_InvokeMethod(EOS(STATIC_5662), java.lang.Object(ARRAY(i1168)), i1202) -> f5677_0_createTree_InvokeMethod(EOS(STATIC_5677), java.lang.Object(ARRAY(i1168))) :|: i1202 >= 1 && i1169 >= 1 f5662_0_main_InvokeMethod(EOS(STATIC_5662), java.lang.Object(ARRAY(i1168)), i1202) -> f5677_1_createTree_InvokeMethod(EOS(STATIC_5677), java.lang.Object(ARRAY(i1168)), i1202) :|: i1202 >= 1 && i1169 >= 1 f5677_0_createTree_InvokeMethod(EOS(STATIC_5677), java.lang.Object(ARRAY(i1168))) -> f7750_0_createTree_InvokeMethod(EOS(STATIC_7750), java.lang.Object(ARRAY(i1168))) :|: TRUE f5948_0_createTree_Return(EOS(STATIC_5948), java.lang.Object(ARRAY(i1237)), i1202) -> f5959_0_main_Store(EOS(STATIC_5959), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5959_0_main_Store(EOS(STATIC_5959), java.lang.Object(ARRAY(i1237)), i1202) -> f5966_0_main_New(EOS(STATIC_5966), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5966_0_main_New(EOS(STATIC_5966), java.lang.Object(ARRAY(i1237)), i1202) -> f5972_0_main_Duplicate(EOS(STATIC_5972), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5972_0_main_Duplicate(EOS(STATIC_5972), java.lang.Object(ARRAY(i1237)), i1202) -> f5977_0_main_Load(EOS(STATIC_5977), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5977_0_main_Load(EOS(STATIC_5977), java.lang.Object(ARRAY(i1237)), i1202) -> f5982_0_main_Load(EOS(STATIC_5982), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5982_0_main_Load(EOS(STATIC_5982), java.lang.Object(ARRAY(i1237)), i1202) -> f5988_0_main_InvokeMethod(EOS(STATIC_5988), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5988_0_main_InvokeMethod(EOS(STATIC_5988), java.lang.Object(ARRAY(i1237)), i1202) -> f5993_0__init__Load(EOS(STATIC_5993), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5993_0__init__Load(EOS(STATIC_5993), java.lang.Object(ARRAY(i1237)), i1202) -> f6002_0__init__InvokeMethod(EOS(STATIC_6002), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6002_0__init__InvokeMethod(EOS(STATIC_6002), java.lang.Object(ARRAY(i1237)), i1202) -> f6008_0__init__Load(EOS(STATIC_6008), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6008_0__init__Load(EOS(STATIC_6008), java.lang.Object(ARRAY(i1237)), i1202) -> f6014_0__init__Load(EOS(STATIC_6014), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6014_0__init__Load(EOS(STATIC_6014), java.lang.Object(ARRAY(i1237)), i1202) -> f6019_0__init__FieldAccess(EOS(STATIC_6019), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6019_0__init__FieldAccess(EOS(STATIC_6019), java.lang.Object(ARRAY(i1237)), i1202) -> f6025_0__init__Load(EOS(STATIC_6025), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6025_0__init__Load(EOS(STATIC_6025), java.lang.Object(ARRAY(i1237)), i1202) -> f6032_0__init__Load(EOS(STATIC_6032), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6032_0__init__Load(EOS(STATIC_6032), java.lang.Object(ARRAY(i1237)), i1202) -> f6038_0__init__FieldAccess(EOS(STATIC_6038), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6038_0__init__FieldAccess(EOS(STATIC_6038), java.lang.Object(ARRAY(i1237)), i1202) -> f6045_0__init__Return(EOS(STATIC_6045), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6045_0__init__Return(EOS(STATIC_6045), java.lang.Object(ARRAY(i1237)), i1202) -> f6052_0_main_Store(EOS(STATIC_6052), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6052_0_main_Store(EOS(STATIC_6052), java.lang.Object(ARRAY(i1237)), i1202) -> f6059_0_main_Inc(EOS(STATIC_6059), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f6059_0_main_Inc(EOS(STATIC_6059), java.lang.Object(ARRAY(i1237)), i1202) -> f6065_0_main_JMP(EOS(STATIC_6065), java.lang.Object(ARRAY(i1237)), i1202 + -1) :|: TRUE f6065_0_main_JMP(EOS(STATIC_6065), java.lang.Object(ARRAY(i1237)), i1356) -> f6071_0_main_Load(EOS(STATIC_6071), java.lang.Object(ARRAY(i1237)), i1356) :|: TRUE f6071_0_main_Load(EOS(STATIC_6071), java.lang.Object(ARRAY(i1237)), i1356) -> f5557_0_main_Load(EOS(STATIC_5557), java.lang.Object(ARRAY(i1237)), i1356) :|: TRUE f5557_0_main_Load(EOS(STATIC_5557), java.lang.Object(ARRAY(i1168)), i1170) -> f5573_0_main_LE(EOS(STATIC_5573), java.lang.Object(ARRAY(i1168)), i1170, i1170) :|: TRUE f6945_0_createTree_Return(EOS(STATIC_6945), java.lang.Object(ARRAY(i2470)), i1202, java.lang.Object(Tree(EOC))) -> f6946_0_createTree_Return(EOS(STATIC_6946), java.lang.Object(ARRAY(i2470)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6946_0_createTree_Return(EOS(STATIC_6946), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6949_0_main_Store(EOS(STATIC_6949), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6949_0_main_Store(EOS(STATIC_6949), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6952_0_main_New(EOS(STATIC_6952), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6952_0_main_New(EOS(STATIC_6952), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6956_0_main_Duplicate(EOS(STATIC_6956), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6956_0_main_Duplicate(EOS(STATIC_6956), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6959_0_main_Load(EOS(STATIC_6959), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6959_0_main_Load(EOS(STATIC_6959), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6963_0_main_Load(EOS(STATIC_6963), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6963_0_main_Load(EOS(STATIC_6963), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6967_0_main_InvokeMethod(EOS(STATIC_6967), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6967_0_main_InvokeMethod(EOS(STATIC_6967), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6970_0__init__Load(EOS(STATIC_6970), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6970_0__init__Load(EOS(STATIC_6970), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6977_0__init__InvokeMethod(EOS(STATIC_6977), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6977_0__init__InvokeMethod(EOS(STATIC_6977), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6981_0__init__Load(EOS(STATIC_6981), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6981_0__init__Load(EOS(STATIC_6981), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6986_0__init__Load(EOS(STATIC_6986), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6986_0__init__Load(EOS(STATIC_6986), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6990_0__init__FieldAccess(EOS(STATIC_6990), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE f6990_0__init__FieldAccess(EOS(STATIC_6990), java.lang.Object(ARRAY(i2474)), i1202, java.lang.Object(Tree(EOC))) -> f6993_0__init__Load(EOS(STATIC_6993), java.lang.Object(ARRAY(i2474)), i1202) :|: TRUE f6993_0__init__Load(EOS(STATIC_6993), java.lang.Object(ARRAY(i2474)), i1202) -> f6998_0__init__Load(EOS(STATIC_6998), java.lang.Object(ARRAY(i2474)), i1202) :|: TRUE f6998_0__init__Load(EOS(STATIC_6998), java.lang.Object(ARRAY(i2474)), i1202) -> f7002_0__init__FieldAccess(EOS(STATIC_7002), java.lang.Object(ARRAY(i2474)), i1202) :|: TRUE f7002_0__init__FieldAccess(EOS(STATIC_7002), java.lang.Object(ARRAY(i2474)), i1202) -> f7006_0__init__Return(EOS(STATIC_7006), java.lang.Object(ARRAY(i2474)), i1202) :|: TRUE f7006_0__init__Return(EOS(STATIC_7006), java.lang.Object(ARRAY(i2474)), i1202) -> f7011_0_main_Store(EOS(STATIC_7011), java.lang.Object(ARRAY(i2474)), i1202) :|: TRUE f7011_0_main_Store(EOS(STATIC_7011), java.lang.Object(ARRAY(i2474)), i1202) -> f7015_0_main_Inc(EOS(STATIC_7015), java.lang.Object(ARRAY(i2474)), i1202) :|: TRUE f7015_0_main_Inc(EOS(STATIC_7015), java.lang.Object(ARRAY(i2474)), i1202) -> f7021_0_main_JMP(EOS(STATIC_7021), java.lang.Object(ARRAY(i2474)), i1202 + -1) :|: TRUE f7021_0_main_JMP(EOS(STATIC_7021), java.lang.Object(ARRAY(i2474)), i2555) -> f7026_0_main_Load(EOS(STATIC_7026), java.lang.Object(ARRAY(i2474)), i2555) :|: TRUE f7026_0_main_Load(EOS(STATIC_7026), java.lang.Object(ARRAY(i2474)), i2555) -> f5557_0_main_Load(EOS(STATIC_5557), java.lang.Object(ARRAY(i2474)), i2555) :|: TRUE f5677_1_createTree_InvokeMethod(EOS(STATIC_5677), java.lang.Object(ARRAY(i1237)), i1202) -> f5948_0_createTree_Return(EOS(STATIC_5948), java.lang.Object(ARRAY(i1237)), i1202) :|: TRUE f5677_1_createTree_InvokeMethod(EOS(STATIC_5677), java.lang.Object(ARRAY(i2470)), i1202) -> f6945_0_createTree_Return(EOS(STATIC_6945), java.lang.Object(ARRAY(i2470)), i1202, java.lang.Object(Tree(EOC))) :|: TRUE Combined rules. Obtained 2 IRulesP rules: f5573_0_main_LE(EOS(STATIC_5573), java.lang.Object(ARRAY(i1168:0)), i1202:0, i1202:0) -> f5573_0_main_LE(EOS(STATIC_5573), java.lang.Object(ARRAY(i1168:0)), i1202:0 - 1, i1202:0 - 1) :|: i1169:0 > 0 && i1202:0 > 0 Removed following non-SCC rules: f5573_0_main_LE(EOS(STATIC_5573), java.lang.Object(ARRAY(i1168:0)), i1202:0, i1202:0) -> f7750_0_createTree_InvokeMethod(EOS(STATIC_7750), java.lang.Object(ARRAY(i1168:0))) :|: i1169:0 > 0 && i1202:0 > 0 Filtered constant ground arguments: f5573_0_main_LE(x1, x2, x3, x4) -> f5573_0_main_LE(x2, x3, x4) EOS(x1) -> EOS Filtered duplicate arguments: f5573_0_main_LE(x1, x2, x3) -> f5573_0_main_LE(x1, x3) Filtered unneeded arguments: f5573_0_main_LE(x1, x2) -> f5573_0_main_LE(x2) Finished conversion. Obtained 1 rules.P rules: f5573_0_main_LE(i1202:0) -> f5573_0_main_LE(i1202:0 - 1) :|: i1169:0 > 0 && i1202:0 > 0 ---------------------------------------- (34) Obligation: Rules: f5573_0_main_LE(i1202:0) -> f5573_0_main_LE(i1202:0 - 1) :|: i1169:0 > 0 && i1202:0 > 0 ---------------------------------------- (35) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (36) Obligation: Rules: f5573_0_main_LE(i1202:0) -> f5573_0_main_LE(arith) :|: i1169:0 > 0 && i1202:0 > 0 && arith = i1202:0 - 1 ---------------------------------------- (37) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f5573_0_main_LE(i1202:0) -> f5573_0_main_LE(arith) :|: i1169:0 > 0 && i1202:0 > 0 && arith = i1202:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (38) Obligation: Termination digraph: Nodes: (1) f5573_0_main_LE(i1202:0) -> f5573_0_main_LE(arith) :|: i1169:0 > 0 && i1202:0 > 0 && arith = i1202:0 - 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (39) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (40) Obligation: Rules: f5573_0_main_LE(i1202:0:0) -> f5573_0_main_LE(i1202:0:0 - 1) :|: i1169:0:0 > 0 && i1202:0:0 > 0 ---------------------------------------- (41) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f5573_0_main_LE(INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (42) Obligation: Rules: f5573_0_main_LE(i1202:0:0) -> f5573_0_main_LE(c) :|: c = i1202:0:0 - 1 && (i1169:0:0 > 0 && i1202:0:0 > 0) ---------------------------------------- (43) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f5573_0_main_LE(x)] = x The following rules are decreasing: f5573_0_main_LE(i1202:0:0) -> f5573_0_main_LE(c) :|: c = i1202:0:0 - 1 && (i1169:0:0 > 0 && i1202:0:0 > 0) The following rules are bounded: f5573_0_main_LE(i1202:0:0) -> f5573_0_main_LE(c) :|: c = i1202:0:0 - 1 && (i1169:0:0 > 0 && i1202:0:0 > 0) ---------------------------------------- (44) YES