/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 2754 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 120 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 13 ms] (13) IRSwT (14) TempFilterProof [SOUND, 24 ms] (15) IRSwT (16) IRSwTToQDPProof [SOUND, 0 ms] (17) QDP (18) QDPSizeChangeProof [EQUIVALENT, 0 ms] (19) YES (20) JBCTerminationSCC (21) SCCToIRSProof [SOUND, 946 ms] (22) IRSwT (23) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (24) IRSwT (25) IRSwTTerminationDigraphProof [EQUIVALENT, 5 ms] (26) IRSwT (27) IntTRSCompressionProof [EQUIVALENT, 0 ms] (28) IRSwT (29) TempFilterProof [SOUND, 2 ms] (30) IRSwT (31) IRSwTToQDPProof [SOUND, 0 ms] (32) QDP (33) QDPSizeChangeProof [EQUIVALENT, 0 ms] (34) YES (35) JBCTerminationSCC (36) SCCToIRSProof [SOUND, 163 ms] (37) IRSwT (38) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (39) IRSwT (40) IRSwTTerminationDigraphProof [EQUIVALENT, 21 ms] (41) IRSwT (42) IntTRSCompressionProof [EQUIVALENT, 0 ms] (43) IRSwT (44) TempFilterProof [SOUND, 40 ms] (45) IntTRS (46) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (47) YES ---------------------------------------- (0) Obligation: need to prove termination of the following program: package RotateTree; public class Random { static String[] args; static int index = 0; public static int random() { String string = args[index]; index++; return string.length(); } } package RotateTree; public class RotateTree { public static void main(String args[]){ Random.args = args; Tree t = Tree.createTree(Random.random()); Tree.rotateEachNode(t); } } package RotateTree; public class Tree { Tree left; Tree right; int value; public static Tree createTree(final int numElements) { final Tree t = new Tree(Random.random()); for (int i = 0; i < numElements; i++) { t.insert(Random.random()); } return t; } public void insert(final int v) { if (v <= this.value) { if (this.left == null) { this.left = new Tree(v); } else { this.left.insert(v); } } else { if (this.right == null) { this.right = new Tree(v); } else { this.right.insert(v); } } } public Tree(final int val) { this.value = val; } public static Tree rotateEachNode(Tree t) { Tree left = t.left; if (left == null) { return t; } Tree leftRight = left.right; left.right = t; t.left = leftRight; t.left = rotateEachNode(t.left); t.right = rotateEachNode(t.right); return t; } } ---------------------------------------- (1) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following program: package RotateTree; public class Random { static String[] args; static int index = 0; public static int random() { String string = args[index]; index++; return string.length(); } } package RotateTree; public class RotateTree { public static void main(String args[]){ Random.args = args; Tree t = Tree.createTree(Random.random()); Tree.rotateEachNode(t); } } package RotateTree; public class Tree { Tree left; Tree right; int value; public static Tree createTree(final int numElements) { final Tree t = new Tree(Random.random()); for (int i = 0; i < numElements; i++) { t.insert(Random.random()); } return t; } public void insert(final int v) { if (v <= this.value) { if (this.left == null) { this.left = new Tree(v); } else { this.left.insert(v); } } else { if (this.right == null) { this.right = new Tree(v); } else { this.right.insert(v); } } } public Tree(final int val) { this.value = val; } public static Tree rotateEachNode(Tree t) { Tree left = t.left; if (left == null) { return t; } Tree leftRight = left.right; left.right = t; t.left = leftRight; t.left = rotateEachNode(t.left); t.right = rotateEachNode(t.right); return t; } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: RotateTree.RotateTree.main([Ljava/lang/String;)V: Graph of 157 nodes with 0 SCCs. RotateTree.Tree.createTree(I)LRotateTree/Tree;: Graph of 194 nodes with 1 SCC. RotateTree.Tree.rotateEachNode(LRotateTree/Tree;)LRotateTree/Tree;: Graph of 167 nodes with 0 SCCs. RotateTree.Tree.insert(I)V: Graph of 72 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 3 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: RotateTree.Tree.insert(I)V SCC calls the following helper methods: RotateTree.Tree.insert(I)V Performed SCC analyses: *Used field analysis yielded the following read fields: *RotateTree.Tree: [value, right, left] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 30 IRulesP rules: f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(o1522sub), i1597, java.lang.Object(o1522sub), i1597, i1597) -> f3642_0_insert_FieldAccess(EOS(STATIC_3642), java.lang.Object(o1522sub), i1597, java.lang.Object(o1522sub), i1597, i1597, java.lang.Object(o1522sub)) :|: TRUE f3642_0_insert_FieldAccess(EOS(STATIC_3642), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531))) -> f3648_0_insert_FieldAccess(EOS(STATIC_3648), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531))) :|: TRUE f3648_0_insert_FieldAccess(EOS(STATIC_3648), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531))) -> f3654_0_insert_GT(EOS(STATIC_3654), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, i1627) :|: TRUE f3654_0_insert_GT(EOS(STATIC_3654), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, i1627) -> f3660_0_insert_GT(EOS(STATIC_3660), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, i1627) :|: i1597 > i1627 f3654_0_insert_GT(EOS(STATIC_3654), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, i1627) -> f3661_0_insert_GT(EOS(STATIC_3661), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, i1627) :|: i1597 <= i1627 f3660_0_insert_GT(EOS(STATIC_3660), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, i1627) -> f3667_0_insert_Load(EOS(STATIC_3667), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597) :|: i1597 > i1627 f3667_0_insert_Load(EOS(STATIC_3667), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597) -> f3674_0_insert_FieldAccess(EOS(STATIC_3674), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531))) :|: TRUE f3674_0_insert_FieldAccess(EOS(STATIC_3674), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531))) -> f3680_0_insert_NONNULL(EOS(STATIC_3680), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, o1532) :|: TRUE f3680_0_insert_NONNULL(EOS(STATIC_3680), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(o1564sub)) -> f3687_0_insert_NONNULL(EOS(STATIC_3687), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(o1564sub)) :|: TRUE f3687_0_insert_NONNULL(EOS(STATIC_3687), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(o1564sub)) -> f3694_0_insert_Load(EOS(STATIC_3694), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597) :|: TRUE f3694_0_insert_Load(EOS(STATIC_3694), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597) -> f3706_0_insert_FieldAccess(EOS(STATIC_3706), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531))) :|: TRUE f3706_0_insert_FieldAccess(EOS(STATIC_3706), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531))) -> f3715_0_insert_Load(EOS(STATIC_3715), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, i1597, java.lang.Object(o1564sub)) :|: TRUE f3715_0_insert_Load(EOS(STATIC_3715), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, i1597, java.lang.Object(o1564sub)) -> f3724_0_insert_InvokeMethod(EOS(STATIC_3724), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(o1564sub), i1597) :|: TRUE f3724_0_insert_InvokeMethod(EOS(STATIC_3724), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(o1564sub), i1597) -> f3731_0_insert_Load(EOS(STATIC_3731), java.lang.Object(o1564sub), i1597, java.lang.Object(o1564sub), i1597) :|: i1596 >= 1 && i1597 > i1627 f3724_0_insert_InvokeMethod(EOS(STATIC_3724), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(o1564sub), i1597) -> f3731_1_insert_Load(EOS(STATIC_3731), java.lang.Object(RotateTree.Tree(EOC, i1627, java.lang.Object(o1564sub), o1531)), i1597, java.lang.Object(o1564sub), i1597) :|: i1596 >= 1 && i1597 > i1627 f3731_0_insert_Load(EOS(STATIC_3731), java.lang.Object(o1564sub), i1597, java.lang.Object(o1564sub), i1597) -> f3737_0_insert_Load(EOS(STATIC_3737), java.lang.Object(o1564sub), i1597, java.lang.Object(o1564sub), i1597) :|: TRUE f3737_0_insert_Load(EOS(STATIC_3737), java.lang.Object(o1564sub), i1597, java.lang.Object(o1564sub), i1597) -> f3630_0_insert_Load(EOS(STATIC_3630), java.lang.Object(o1564sub), i1597, java.lang.Object(o1564sub), i1597) :|: TRUE f3630_0_insert_Load(EOS(STATIC_3630), java.lang.Object(o1522sub), i1597, java.lang.Object(o1522sub), i1597) -> f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(o1522sub), i1597, java.lang.Object(o1522sub), i1597, i1597) :|: TRUE f3661_0_insert_GT(EOS(STATIC_3661), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, i1597, i1627) -> f3668_0_insert_Load(EOS(STATIC_3668), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597) :|: i1597 <= i1627 f3668_0_insert_Load(EOS(STATIC_3668), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597) -> f3675_0_insert_FieldAccess(EOS(STATIC_3675), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531))) :|: TRUE f3675_0_insert_FieldAccess(EOS(STATIC_3675), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531))) -> f3681_0_insert_NONNULL(EOS(STATIC_3681), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, o1531)), i1597, o1531) :|: TRUE f3681_0_insert_NONNULL(EOS(STATIC_3681), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(o1565sub)) -> f3689_0_insert_NONNULL(EOS(STATIC_3689), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(o1565sub)) :|: TRUE f3689_0_insert_NONNULL(EOS(STATIC_3689), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(o1565sub)) -> f3696_0_insert_Load(EOS(STATIC_3696), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597) :|: TRUE f3696_0_insert_Load(EOS(STATIC_3696), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597) -> f3708_0_insert_FieldAccess(EOS(STATIC_3708), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub)))) :|: TRUE f3708_0_insert_FieldAccess(EOS(STATIC_3708), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, i1597, java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub)))) -> f3717_0_insert_Load(EOS(STATIC_3717), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, i1597, java.lang.Object(o1565sub)) :|: TRUE f3717_0_insert_Load(EOS(STATIC_3717), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, i1597, java.lang.Object(o1565sub)) -> f3726_0_insert_InvokeMethod(EOS(STATIC_3726), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(o1565sub), i1597) :|: TRUE f3726_0_insert_InvokeMethod(EOS(STATIC_3726), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(o1565sub), i1597) -> f3733_0_insert_Load(EOS(STATIC_3733), java.lang.Object(o1565sub), i1597, java.lang.Object(o1565sub), i1597) :|: i1596 >= 1 && i1597 <= i1627 f3726_0_insert_InvokeMethod(EOS(STATIC_3726), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(o1565sub), i1597) -> f3733_1_insert_Load(EOS(STATIC_3733), java.lang.Object(RotateTree.Tree(EOC, i1627, o1532, java.lang.Object(o1565sub))), i1597, java.lang.Object(o1565sub), i1597) :|: i1596 >= 1 && i1597 <= i1627 f3733_0_insert_Load(EOS(STATIC_3733), java.lang.Object(o1565sub), i1597, java.lang.Object(o1565sub), i1597) -> f3739_0_insert_Load(EOS(STATIC_3739), java.lang.Object(o1565sub), i1597, java.lang.Object(o1565sub), i1597) :|: TRUE f3739_0_insert_Load(EOS(STATIC_3739), java.lang.Object(o1565sub), i1597, java.lang.Object(o1565sub), i1597) -> f3630_0_insert_Load(EOS(STATIC_3630), java.lang.Object(o1565sub), i1597, java.lang.Object(o1565sub), i1597) :|: TRUE Combined rules. Obtained 4 IRulesP rules: f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(RotateTree.Tree(EOC, i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0, java.lang.Object(RotateTree.Tree(EOC, i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0, i1597:0) -> f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(o1565sub:0), i1597:0, java.lang.Object(o1565sub:0), i1597:0, i1597:0) :|: i1627:0 >= i1597:0 && i1596:0 > 0 f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(RotateTree.Tree(EOC, i1627:0, java.lang.Object(o1564sub:0), o1531:0)), i1597:0, java.lang.Object(RotateTree.Tree(EOC, i1627:0, java.lang.Object(o1564sub:0), o1531:0)), i1597:0, i1597:0) -> f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(o1564sub:0), i1597:0, java.lang.Object(o1564sub:0), i1597:0, i1597:0) :|: i1627:0 < i1597:0 && i1596:0 > 0 Removed following non-SCC rules: f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(RotateTree.Tree(EOC, i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0, java.lang.Object(RotateTree.Tree(EOC, i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0, i1597:0) -> f3733_1_insert_Load(EOS(STATIC_3733), java.lang.Object(RotateTree.Tree(EOC, i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0, java.lang.Object(o1565sub:0), i1597:0) :|: i1627:0 >= i1597:0 && i1596:0 > 0 f3636_0_insert_Load(EOS(STATIC_3636), java.lang.Object(RotateTree.Tree(EOC, i1627:0, java.lang.Object(o1564sub:0), o1531:0)), i1597:0, java.lang.Object(RotateTree.Tree(EOC, i1627:0, java.lang.Object(o1564sub:0), o1531:0)), i1597:0, i1597:0) -> f3731_1_insert_Load(EOS(STATIC_3731), java.lang.Object(RotateTree.Tree(EOC, i1627:0, java.lang.Object(o1564sub:0), o1531:0)), i1597:0, java.lang.Object(o1564sub:0), i1597:0) :|: i1627:0 < i1597:0 && i1596:0 > 0 Filtered constant ground arguments: f3636_0_insert_Load(x1, x2, x3, x4, x5, x6) -> f3636_0_insert_Load(x2, x3, x4, x5, x6) EOS(x1) -> EOS RotateTree.Tree(x1, x2, x3, x4) -> RotateTree.Tree(x2, x3, x4) Filtered duplicate arguments: f3636_0_insert_Load(x1, x2, x3, x4, x5) -> f3636_0_insert_Load(x3, x5) Finished conversion. Obtained 2 rules.P rules: f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0), i1597:0) :|: i1627:0 >= i1597:0 && i1596:0 > 0 f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(i1627:0, java.lang.Object(o1564sub:0), o1531:0)), i1597:0) -> f3636_0_insert_Load(java.lang.Object(o1564sub:0), i1597:0) :|: i1627:0 < i1597:0 && i1596:0 > 0 ---------------------------------------- (9) Obligation: Rules: f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0), i1597:0) :|: i1627:0 >= i1597:0 && i1596:0 > 0 f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(x, java.lang.Object(x1), x2)), x3) -> f3636_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0), i1597:0) :|: i1627:0 >= i1597:0 && i1596:0 > 0 f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(x, java.lang.Object(x1), x2)), x3) -> f3636_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0), i1597:0) :|: i1627:0 >= i1597:0 && i1596:0 > 0 (2) f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(x, java.lang.Object(x1), x2)), x3) -> f3636_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(i1627:0, o1532:0, java.lang.Object(o1565sub:0))), i1597:0) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0), i1597:0) :|: i1627:0 >= i1597:0 && i1596:0 > 0 (2) f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(x, java.lang.Object(x1), x2)), x3) -> f3636_0_insert_Load(java.lang.Object(x1), x3) :|: x < x3 && x4 > 0 Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (14) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3636_0_insert_Load(VARIABLE, INTEGER) java.lang.Object(VARIABLE) RotateTree.Tree(INTEGER, VARIABLE, VARIABLE) Removed predefined arithmetic. ---------------------------------------- (15) Obligation: Rules: f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(o1532:0, java.lang.Object(o1565sub:0)))) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0)) f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(java.lang.Object(x1), x2))) -> f3636_0_insert_Load(java.lang.Object(x1)) ---------------------------------------- (16) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (17) Obligation: Q DP problem: The TRS P consists of the following rules: f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(o1532:0, java.lang.Object(o1565sub:0)))) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0)) f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(java.lang.Object(x1), x2))) -> f3636_0_insert_Load(java.lang.Object(x1)) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (18) 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: *f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(o1532:0, java.lang.Object(o1565sub:0)))) -> f3636_0_insert_Load(java.lang.Object(o1565sub:0)) The graph contains the following edges 1 > 1 *f3636_0_insert_Load(java.lang.Object(RotateTree.Tree(java.lang.Object(x1), x2))) -> f3636_0_insert_Load(java.lang.Object(x1)) The graph contains the following edges 1 > 1 ---------------------------------------- (19) YES ---------------------------------------- (20) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: RotateTree.Tree.rotateEachNode(LRotateTree/Tree;)LRotateTree/Tree; SCC calls the following helper methods: RotateTree.Tree.rotateEachNode(LRotateTree/Tree;)LRotateTree/Tree; Performed SCC analyses: *Used field analysis yielded the following read fields: *RotateTree.Tree: [left, right] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (21) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 62 IRulesP rules: f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2225, java.lang.Object(o2232sub), java.lang.Object(o2232sub)) -> f3852_0_rotateEachNode_FieldAccess(EOS(STATIC_3852), o2225, java.lang.Object(o2232sub), java.lang.Object(o2232sub)) :|: TRUE f3852_0_rotateEachNode_FieldAccess(EOS(STATIC_3852), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2234, o2235))) -> f3854_0_rotateEachNode_FieldAccess(EOS(STATIC_3854), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2234, o2235))) :|: TRUE f3854_0_rotateEachNode_FieldAccess(EOS(STATIC_3854), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2234, o2235))) -> f3856_0_rotateEachNode_Store(EOS(STATIC_3856), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), o2234) :|: TRUE f3856_0_rotateEachNode_Store(EOS(STATIC_3856), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), o2234) -> f3857_0_rotateEachNode_Load(EOS(STATIC_3857), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), o2234) :|: TRUE f3857_0_rotateEachNode_Load(EOS(STATIC_3857), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), o2234) -> f3859_0_rotateEachNode_NONNULL(EOS(STATIC_3859), o2225, java.lang.Object(RotateTree.Tree(EOC, o2234, o2235)), o2234, o2234) :|: TRUE f3859_0_rotateEachNode_NONNULL(EOS(STATIC_3859), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(o2237sub), o2235)), java.lang.Object(o2237sub), java.lang.Object(o2237sub)) -> f3861_0_rotateEachNode_NONNULL(EOS(STATIC_3861), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(o2237sub), o2235)), java.lang.Object(o2237sub), java.lang.Object(o2237sub)) :|: TRUE f3861_0_rotateEachNode_NONNULL(EOS(STATIC_3861), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(o2237sub), o2235)), java.lang.Object(o2237sub), java.lang.Object(o2237sub)) -> f3863_0_rotateEachNode_Load(EOS(STATIC_3863), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(o2237sub), o2235)), java.lang.Object(o2237sub)) :|: TRUE f3863_0_rotateEachNode_Load(EOS(STATIC_3863), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(o2237sub), o2235)), java.lang.Object(o2237sub)) -> f3866_0_rotateEachNode_FieldAccess(EOS(STATIC_3866), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(o2237sub), o2235)), java.lang.Object(o2237sub), java.lang.Object(o2237sub)) :|: TRUE f3866_0_rotateEachNode_FieldAccess(EOS(STATIC_3866), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240))) -> f3869_0_rotateEachNode_FieldAccess(EOS(STATIC_3869), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240))) :|: TRUE f3869_0_rotateEachNode_FieldAccess(EOS(STATIC_3869), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240))) -> f3871_0_rotateEachNode_Store(EOS(STATIC_3871), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2240) :|: TRUE f3871_0_rotateEachNode_Store(EOS(STATIC_3871), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2240) -> f3873_0_rotateEachNode_Load(EOS(STATIC_3873), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2240) :|: TRUE f3873_0_rotateEachNode_Load(EOS(STATIC_3873), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2240) -> f3876_0_rotateEachNode_Load(EOS(STATIC_3876), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), o2240, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240))) :|: TRUE f3876_0_rotateEachNode_Load(EOS(STATIC_3876), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), o2240, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240))) -> f3877_0_rotateEachNode_FieldAccess(EOS(STATIC_3877), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), o2240, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235))) :|: TRUE f3877_0_rotateEachNode_FieldAccess(EOS(STATIC_3877), o2225, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235)), o2240, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, o2240)), o2235))) -> f3879_0_rotateEachNode_Load(EOS(STATIC_3879), o2225put0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), o2240) :|: TRUE f3879_0_rotateEachNode_Load(EOS(STATIC_3879), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), o2240) -> f3881_0_rotateEachNode_Load(EOS(STATIC_3881), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), o2240, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235))) :|: TRUE f3881_0_rotateEachNode_Load(EOS(STATIC_3881), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), o2240, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235))) -> f3883_0_rotateEachNode_FieldAccess(EOS(STATIC_3883), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), o2240) :|: TRUE f3883_0_rotateEachNode_FieldAccess(EOS(STATIC_3883), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239, java.lang.Object(EOR))), o2235)), o2240) -> f3885_0_rotateEachNode_Load(EOS(STATIC_3885), o2225put0, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235))) :|: TRUE f3885_0_rotateEachNode_Load(EOS(STATIC_3885), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235))) -> f3887_0_rotateEachNode_Load(EOS(STATIC_3887), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235))) :|: TRUE f3887_0_rotateEachNode_Load(EOS(STATIC_3887), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235))) -> f3889_0_rotateEachNode_FieldAccess(EOS(STATIC_3889), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235))) :|: TRUE f3889_0_rotateEachNode_FieldAccess(EOS(STATIC_3889), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235))) -> f3891_0_rotateEachNode_InvokeMethod(EOS(STATIC_3891), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) :|: TRUE f3891_0_rotateEachNode_InvokeMethod(EOS(STATIC_3891), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f3893_0_rotateEachNode_Load(EOS(STATIC_3893), o2240, o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) :|: TRUE f3891_0_rotateEachNode_InvokeMethod(EOS(STATIC_3891), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f3893_1_rotateEachNode_Load(EOS(STATIC_3893), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) :|: TRUE f3893_0_rotateEachNode_Load(EOS(STATIC_3893), o2240, o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f3895_0_rotateEachNode_Load(EOS(STATIC_3895), o2240, o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) :|: TRUE f3895_0_rotateEachNode_Load(EOS(STATIC_3895), o2240, o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f3897_0_rotateEachNode_Load(EOS(STATIC_3897), o2240, o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) :|: TRUE f3897_0_rotateEachNode_Load(EOS(STATIC_3897), o2250, o22550, o22570, o2250) -> f3901_0_rotateEachNode_Load(EOS(STATIC_3901), o2250, o2250) :|: TRUE f3901_0_rotateEachNode_Load(EOS(STATIC_3901), o2250, o2250) -> f3850_0_rotateEachNode_Load(EOS(STATIC_3850), o2250, o2250) :|: TRUE f3850_0_rotateEachNode_Load(EOS(STATIC_3850), o2225, o2231) -> f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2225, o2231, o2231) :|: TRUE f3902_0_rotateEachNode_Return(EOS(STATIC_3902), o22250, java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, NULL, o2276))) -> f3903_0_rotateEachNode_FieldAccess(EOS(STATIC_3903), o22250, java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, NULL, o2276))) :|: TRUE f3903_0_rotateEachNode_FieldAccess(EOS(STATIC_3903), o22250, java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, NULL, o2276))) -> f3906_0_rotateEachNode_Load(EOS(STATIC_3906), o2225put0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235))) :|: TRUE f3906_0_rotateEachNode_Load(EOS(STATIC_3906), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235))) -> f3908_0_rotateEachNode_Load(EOS(STATIC_3908), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235))) :|: TRUE f3908_0_rotateEachNode_Load(EOS(STATIC_3908), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235))) -> f3910_0_rotateEachNode_FieldAccess(EOS(STATIC_3910), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235))) :|: TRUE f3910_0_rotateEachNode_FieldAccess(EOS(STATIC_3910), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235))) -> f3911_0_rotateEachNode_InvokeMethod(EOS(STATIC_3911), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) :|: TRUE f3911_0_rotateEachNode_InvokeMethod(EOS(STATIC_3911), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) -> f3914_0_rotateEachNode_Load(EOS(STATIC_3914), o2235, o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) :|: TRUE f3911_0_rotateEachNode_InvokeMethod(EOS(STATIC_3911), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) -> f3914_1_rotateEachNode_Load(EOS(STATIC_3914), o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) :|: TRUE f3914_0_rotateEachNode_Load(EOS(STATIC_3914), o2235, o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) -> f3916_0_rotateEachNode_Load(EOS(STATIC_3916), o2235, o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) :|: TRUE f3916_0_rotateEachNode_Load(EOS(STATIC_3916), o2235, o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) -> f3918_0_rotateEachNode_Load(EOS(STATIC_3918), o2235, o22250, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276)), o2235)), o2235) :|: TRUE f3918_0_rotateEachNode_Load(EOS(STATIC_3918), o2355, o23580, o23620, o2355) -> f3923_0_rotateEachNode_Load(EOS(STATIC_3923), o2355, o2355) :|: TRUE f3923_0_rotateEachNode_Load(EOS(STATIC_3923), o2355, o2355) -> f3850_0_rotateEachNode_Load(EOS(STATIC_3850), o2355, o2355) :|: TRUE f3949_0_rotateEachNode_Return(EOS(STATIC_3949), o22250, java.lang.Object(RotateTree.Tree(EOC, o2702-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2702-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2712)), java.lang.Object(RotateTree.Tree(EOC, NULL, o2713))))) -> f3980_0_rotateEachNode_Return(EOS(STATIC_3980), o22250, java.lang.Object(RotateTree.Tree(EOC, o2702-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2702-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2712)), java.lang.Object(RotateTree.Tree(EOC, NULL, o2713))))) :|: TRUE f3980_0_rotateEachNode_Return(EOS(STATIC_3980), o32550, java.lang.Object(RotateTree.Tree(EOC, o3262-768617228, o3263)), java.lang.Object(RotateTree.Tree(EOC, o3262-768617228, o3263)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o3251)), java.lang.Object(RotateTree.Tree(EOC, o3253, o3254))))) -> f3998_0_rotateEachNode_Return(EOS(STATIC_3998), o32550, java.lang.Object(RotateTree.Tree(EOC, o3262-768617228, o3263)), java.lang.Object(RotateTree.Tree(EOC, o3262-768617228, o3263)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o3251)), java.lang.Object(RotateTree.Tree(EOC, o3253, o3254))))) :|: TRUE f3998_0_rotateEachNode_Return(EOS(STATIC_3998), o35060, java.lang.Object(RotateTree.Tree(EOC, o3513-768532629, o3514)), java.lang.Object(RotateTree.Tree(EOC, o3513-768532629, o3514)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o3502)), java.lang.Object(RotateTree.Tree(EOC, o3504, o3505-1537067211))))) -> f4068_0_rotateEachNode_Return(EOS(STATIC_4068), o35060, java.lang.Object(RotateTree.Tree(EOC, o3513-768532629, o3514)), java.lang.Object(RotateTree.Tree(EOC, o3513-768532629, o3514)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o3502)), java.lang.Object(RotateTree.Tree(EOC, o3504, o3505-1537067211))))) :|: TRUE f4068_0_rotateEachNode_Return(EOS(STATIC_4068), o54660, java.lang.Object(RotateTree.Tree(EOC, o5473-766709612, o5474)), java.lang.Object(RotateTree.Tree(EOC, o5473-766709612, o5474)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o5461, o5462-1533421952)), java.lang.Object(RotateTree.Tree(EOC, o5464, o5465-1533421859))))) -> f4093_0_rotateEachNode_Return(EOS(STATIC_4093), o54660, java.lang.Object(RotateTree.Tree(EOC, o5473-766709612, o5474)), java.lang.Object(RotateTree.Tree(EOC, o5473-766709612, o5474)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o5461, o5462-1533421952)), java.lang.Object(RotateTree.Tree(EOC, o5464, o5465-1533421859))))) :|: TRUE f4093_0_rotateEachNode_Return(EOS(STATIC_4093), o59000, java.lang.Object(RotateTree.Tree(EOC, o5907-766567260, o5908)), java.lang.Object(RotateTree.Tree(EOC, o5907-766567260, o5908)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o5895, o5896-1533176959)), java.lang.Object(RotateTree.Tree(EOC, o5898-1533176866, o5899-1533176866))))) -> f4163_0_rotateEachNode_Return(EOS(STATIC_4163), o59000, java.lang.Object(RotateTree.Tree(EOC, o5907-766567260, o5908)), java.lang.Object(RotateTree.Tree(EOC, o5907-766567260, o5908)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o5895, o5896-1533176959)), java.lang.Object(RotateTree.Tree(EOC, o5898-1533176866, o5899-1533176866))))) :|: TRUE f4163_0_rotateEachNode_Return(EOS(STATIC_4163), o79640, java.lang.Object(RotateTree.Tree(EOC, o7971-764713677, o7972)), java.lang.Object(RotateTree.Tree(EOC, o7971-764713677, o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o7959-1529430733, o7960-1529430733)), java.lang.Object(RotateTree.Tree(EOC, o7962-1529429989, o7963-1529429989))))) -> f4171_0_rotateEachNode_FieldAccess(EOS(STATIC_4171), o79640, java.lang.Object(RotateTree.Tree(EOC, o7971-764713677, o7972)), java.lang.Object(RotateTree.Tree(EOC, o7971-764713677, o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o7959-1529430733, o7960-1529430733)), java.lang.Object(RotateTree.Tree(EOC, o7962-1529429989, o7963-1529429989))))) :|: TRUE f4171_0_rotateEachNode_FieldAccess(EOS(STATIC_4171), o79640, java.lang.Object(RotateTree.Tree(EOC, o7971-764713677, o7972)), java.lang.Object(RotateTree.Tree(EOC, o7971-764713677, o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o7959-1529430733, o7960-1529430733)), java.lang.Object(RotateTree.Tree(EOC, o7962-1529429989, o7963-1529429989))))) -> f4174_0_rotateEachNode_Load(EOS(STATIC_4174), o7964put0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972))) :|: TRUE f4174_0_rotateEachNode_Load(EOS(STATIC_4174), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972))) -> f4179_0_rotateEachNode_Load(EOS(STATIC_4179), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972))) :|: TRUE f4179_0_rotateEachNode_Load(EOS(STATIC_4179), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972))) -> f4181_0_rotateEachNode_FieldAccess(EOS(STATIC_4181), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972))) :|: TRUE f4181_0_rotateEachNode_FieldAccess(EOS(STATIC_4181), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972))) -> f4183_0_rotateEachNode_InvokeMethod(EOS(STATIC_4183), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) :|: TRUE f4183_0_rotateEachNode_InvokeMethod(EOS(STATIC_4183), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) -> f4184_0_rotateEachNode_Load(EOS(STATIC_4184), o7972, o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) :|: TRUE f4183_0_rotateEachNode_InvokeMethod(EOS(STATIC_4183), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) -> f4184_1_rotateEachNode_Load(EOS(STATIC_4184), o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) :|: TRUE f4184_0_rotateEachNode_Load(EOS(STATIC_4184), o7972, o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) -> f4188_0_rotateEachNode_Load(EOS(STATIC_4188), o7972, o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) :|: TRUE f4188_0_rotateEachNode_Load(EOS(STATIC_4188), o7972, o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) -> f4189_0_rotateEachNode_Load(EOS(STATIC_4189), o7972, o79640, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886, o79602000822886)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630, o79632000823630)))), o7972)), o7972) :|: TRUE f4189_0_rotateEachNode_Load(EOS(STATIC_4189), o8430, o84330, o84350, o8430) -> f4190_0_rotateEachNode_Load(EOS(STATIC_4190), o8430, o8430) :|: TRUE f4190_0_rotateEachNode_Load(EOS(STATIC_4190), o8430, o8430) -> f3850_0_rotateEachNode_Load(EOS(STATIC_3850), o8430, o8430) :|: TRUE f4186_0_rotateEachNode_Return(EOS(STATIC_4186), o22250, java.lang.Object(RotateTree.Tree(EOC, o8340-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o8340-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o8350)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o83532003053398, o83542003053398)), java.lang.Object(RotateTree.Tree(EOC, o83552003053429, o83562003053429))))))) -> f4163_0_rotateEachNode_Return(EOS(STATIC_4163), o22250, java.lang.Object(RotateTree.Tree(EOC, o8340-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o8340-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o8350)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o83532003053398, o83542003053398)), java.lang.Object(RotateTree.Tree(EOC, o83552003053429, o83562003053429))))))) :|: TRUE f4232_0_rotateEachNode_Return(EOS(STATIC_4232), o22250, java.lang.Object(RotateTree.Tree(EOC, o9642-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o9642-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o96552006092855, o96562006092855)), java.lang.Object(RotateTree.Tree(EOC, o96572006092886, o96582006092886)))), java.lang.Object(RotateTree.Tree(EOC, NULL, o9654))))) -> f4163_0_rotateEachNode_Return(EOS(STATIC_4163), o22250, java.lang.Object(RotateTree.Tree(EOC, o9642-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o9642-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o96552006092855, o96562006092855)), java.lang.Object(RotateTree.Tree(EOC, o96572006092886, o96582006092886)))), java.lang.Object(RotateTree.Tree(EOC, NULL, o9654))))) :|: TRUE f4250_0_rotateEachNode_Return(EOS(STATIC_4250), o22250, java.lang.Object(RotateTree.Tree(EOC, o10336-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o10336-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o10350136815368, o10351136815368)), java.lang.Object(RotateTree.Tree(EOC, o10352136815399, o10353136815399)))), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o10354136815461, o10355136815461)), java.lang.Object(RotateTree.Tree(EOC, o10356136815492, o10357136815492))))))) -> f4163_0_rotateEachNode_Return(EOS(STATIC_4163), o22250, java.lang.Object(RotateTree.Tree(EOC, o10336-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o10336-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o10350136815368, o10351136815368)), java.lang.Object(RotateTree.Tree(EOC, o10352136815399, o10353136815399)))), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o10354136815461, o10355136815461)), java.lang.Object(RotateTree.Tree(EOC, o10356136815492, o10357136815492))))))) :|: TRUE f3893_1_rotateEachNode_Load(EOS(STATIC_3893), o22250, java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), o2288) -> f3902_0_rotateEachNode_Return(EOS(STATIC_3902), o22250, java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2288, o2235)), java.lang.Object(RotateTree.Tree(EOC, NULL, o2276))) :|: TRUE f3893_1_rotateEachNode_Load(EOS(STATIC_3893), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f3949_0_rotateEachNode_Return(EOS(STATIC_3949), o22250, java.lang.Object(RotateTree.Tree(EOC, o2702-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2702-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2712)), java.lang.Object(RotateTree.Tree(EOC, NULL, o2713))))) :|: TRUE f3893_1_rotateEachNode_Load(EOS(STATIC_3893), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f4186_0_rotateEachNode_Return(EOS(STATIC_4186), o22250, java.lang.Object(RotateTree.Tree(EOC, o8340-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o8340-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o8350)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o83532003053398, o83542003053398)), java.lang.Object(RotateTree.Tree(EOC, o83552003053429, o83562003053429))))))) :|: TRUE f3893_1_rotateEachNode_Load(EOS(STATIC_3893), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f4232_0_rotateEachNode_Return(EOS(STATIC_4232), o22250, java.lang.Object(RotateTree.Tree(EOC, o9642-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o9642-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o96552006092855, o96562006092855)), java.lang.Object(RotateTree.Tree(EOC, o96572006092886, o96582006092886)))), java.lang.Object(RotateTree.Tree(EOC, NULL, o9654))))) :|: TRUE f3893_1_rotateEachNode_Load(EOS(STATIC_3893), o22250, java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), java.lang.Object(RotateTree.Tree(EOC, o2240, o2235)), o2240) -> f4250_0_rotateEachNode_Return(EOS(STATIC_4250), o22250, java.lang.Object(RotateTree.Tree(EOC, o10336-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, o10336-769543570, o2235)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o10350136815368, o10351136815368)), java.lang.Object(RotateTree.Tree(EOC, o10352136815399, o10353136815399)))), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o10354136815461, o10355136815461)), java.lang.Object(RotateTree.Tree(EOC, o10356136815492, o10357136815492))))))) :|: TRUE Combined rules. Obtained 6 IRulesP rules: f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2225:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2240:0, o2240:0, o2240:0) :|: TRUE f4183_0_rotateEachNode_InvokeMethod(EOS(STATIC_4183), o79640:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o7972:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0) -> f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o7972:0, o7972:0, o7972:0) :|: TRUE f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2225:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2235:0, o2235:0, o2235:0) :|: TRUE f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2225:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0))) -> f4183_0_rotateEachNode_InvokeMethod(EOS(STATIC_4183), o7964put0:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o2235:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o2235:0)), o2235:0) :|: TRUE Removed following non-SCC rules: f3851_0_rotateEachNode_FieldAccess(EOS(STATIC_3851), o2225:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o2239:0, o2240:0)), o2235:0))) -> f3914_1_rotateEachNode_Load(EOS(STATIC_3914), o2225put0:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276:0)), o2235:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, NULL, o2276:0)), o2235:0)), o2235:0) :|: TRUE f4183_0_rotateEachNode_InvokeMethod(EOS(STATIC_4183), o79640:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o7972:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0) -> f4184_1_rotateEachNode_Load(EOS(STATIC_4184), o79640:0, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o7972:0)), java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, java.lang.Object(RotateTree.Tree(EOC, o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(EOC, o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0) :|: TRUE Filtered constant ground arguments: f3851_0_rotateEachNode_FieldAccess(x1, x2, x3, x4) -> f3851_0_rotateEachNode_FieldAccess(x2, x3, x4) f4183_0_rotateEachNode_InvokeMethod(x1, x2, x3, x4, x5) -> f4183_0_rotateEachNode_InvokeMethod(x2, x3, x4, x5) RotateTree.Tree(x1, x2, x3) -> RotateTree.Tree(x2, x3) Filtered duplicate arguments: f3851_0_rotateEachNode_FieldAccess(x1, x2, x3) -> f3851_0_rotateEachNode_FieldAccess(x1, x3) f4183_0_rotateEachNode_InvokeMethod(x1, x2, x3, x4) -> f4183_0_rotateEachNode_InvokeMethod(x1, x3, x4) Filtered unneeded arguments: f3851_0_rotateEachNode_FieldAccess(x1, x2) -> f3851_0_rotateEachNode_FieldAccess(x2) f4183_0_rotateEachNode_InvokeMethod(x1, x2, x3) -> f4183_0_rotateEachNode_InvokeMethod(x2, x3) Finished conversion. Obtained 4 rules.P rules: f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0) :|: TRUE f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0, o79592000822886:0, o79602000822886:0, o79622000823630:0, o79632000823630:0, o7972:0) -> f3851_0_rotateEachNode_FieldAccess(o7972:0) :|: TRUE f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(o2235:0) :|: TRUE f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0, o2240:0)), o2235:0))) -> f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(o79622000823630:0, o79632000823630:0)))), o2235:0)), o2235:0, o79592000822886:0, o79602000822886:0, o79622000823630:0, o79632000823630:0, o2235:0) :|: TRUE ---------------------------------------- (22) Obligation: Rules: f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0) :|: TRUE f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0, o79592000822886:0, o79602000822886:0, o79622000823630:0, o79632000823630:0, o7972:0) -> f3851_0_rotateEachNode_FieldAccess(o7972:0) :|: TRUE f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x, x1)), x2))) -> f3851_0_rotateEachNode_FieldAccess(x2) :|: TRUE f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x3, x4)), x5))) -> f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x6, x7)), java.lang.Object(RotateTree.Tree(x8, x9)))), x5)), x5, x6, x7, x8, x9, x5) :|: TRUE ---------------------------------------- (23) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (24) Obligation: Rules: f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0) :|: TRUE f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0, o79592000822886:0, o79602000822886:0, o79622000823630:0, o79632000823630:0, o7972:0) -> f3851_0_rotateEachNode_FieldAccess(o7972:0) :|: TRUE f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x, x1)), x2))) -> f3851_0_rotateEachNode_FieldAccess(x2) :|: TRUE f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x3, x4)), x5))) -> f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x6, x7)), java.lang.Object(RotateTree.Tree(x8, x9)))), x5)), x5, x6, x7, x8, x9, x5) :|: TRUE ---------------------------------------- (25) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0) :|: TRUE (2) f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0, o79592000822886:0, o79602000822886:0, o79622000823630:0, o79632000823630:0, o7972:0) -> f3851_0_rotateEachNode_FieldAccess(o7972:0) :|: TRUE (3) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x, x1)), x2))) -> f3851_0_rotateEachNode_FieldAccess(x2) :|: TRUE (4) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x3, x4)), x5))) -> f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x6, x7)), java.lang.Object(RotateTree.Tree(x8, x9)))), x5)), x5, x6, x7, x8, x9, x5) :|: TRUE Arcs: (1) -> (1), (3), (4) (2) -> (1), (3), (4) (3) -> (1), (3), (4) (4) -> (2) This digraph is fully evaluated! ---------------------------------------- (26) Obligation: Termination digraph: Nodes: (1) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0, o2240:0)), o2235:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0) :|: TRUE (2) f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o79592000822886:0, o79602000822886:0)), java.lang.Object(RotateTree.Tree(o79622000823630:0, o79632000823630:0)))), o7972:0)), o7972:0, o79592000822886:0, o79602000822886:0, o79622000823630:0, o79632000823630:0, o7972:0) -> f3851_0_rotateEachNode_FieldAccess(o7972:0) :|: TRUE (3) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x3, x4)), x5))) -> f4183_0_rotateEachNode_InvokeMethod(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x6, x7)), java.lang.Object(RotateTree.Tree(x8, x9)))), x5)), x5, x6, x7, x8, x9, x5) :|: TRUE (4) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x, x1)), x2))) -> f3851_0_rotateEachNode_FieldAccess(x2) :|: TRUE Arcs: (1) -> (1), (3), (4) (2) -> (1), (3), (4) (3) -> (2) (4) -> (1), (3), (4) This digraph is fully evaluated! ---------------------------------------- (27) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (28) Obligation: Rules: f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x:0, x1:0)), x2:0))) -> f3851_0_rotateEachNode_FieldAccess(x2:0) :|: TRUE f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0:0, o2240:0:0)), o2235:0:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0:0) :|: TRUE ---------------------------------------- (29) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3851_0_rotateEachNode_FieldAccess(VARIABLE) java.lang.Object(VARIABLE) RotateTree.Tree(VARIABLE, VARIABLE) Removed predefined arithmetic. ---------------------------------------- (30) Obligation: Rules: f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x:0, x1:0)), x2:0))) -> f3851_0_rotateEachNode_FieldAccess(x2:0) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0:0, o2240:0:0)), o2235:0:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0:0) ---------------------------------------- (31) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (32) Obligation: Q DP problem: The TRS P consists of the following rules: f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x:0, x1:0)), x2:0))) -> f3851_0_rotateEachNode_FieldAccess(x2:0) f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0:0, o2240:0:0)), o2235:0:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0:0) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (33) 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: *f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(x:0, x1:0)), x2:0))) -> f3851_0_rotateEachNode_FieldAccess(x2:0) The graph contains the following edges 1 > 1 *f3851_0_rotateEachNode_FieldAccess(java.lang.Object(RotateTree.Tree(java.lang.Object(RotateTree.Tree(o2239:0:0, o2240:0:0)), o2235:0:0))) -> f3851_0_rotateEachNode_FieldAccess(o2240:0:0) The graph contains the following edges 1 > 1 ---------------------------------------- (34) YES ---------------------------------------- (35) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: RotateTree.Tree.createTree(I)LRotateTree/Tree; SCC calls the following helper methods: RotateTree.Tree.insert(I)V Performed SCC analyses: *Used field analysis yielded the following read fields: *java.lang.String: [count] *Marker field analysis yielded the following relations that could be markers: ---------------------------------------- (36) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 40 IRulesP rules: f3482_0_createTree_Load(EOS(STATIC_3482(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, i1443) -> f3485_0_createTree_GE(EOS(STATIC_3485(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, i1443, i1441) :|: TRUE f3485_0_createTree_GE(EOS(STATIC_3485(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, i1443, i1441) -> f3489_0_createTree_GE(EOS(STATIC_3489(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, i1443, i1441) :|: i1443 < i1441 f3489_0_createTree_GE(EOS(STATIC_3489(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, i1443, i1441) -> f3493_0_createTree_Load(EOS(STATIC_3493(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: i1443 < i1441 f3493_0_createTree_Load(EOS(STATIC_3493(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3497_0_createTree_InvokeMethod(EOS(STATIC_3497(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC))) :|: TRUE f3497_0_createTree_InvokeMethod(EOS(STATIC_3497(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC))) -> f3500_0_random_FieldAccess(EOS(STATIC_3500(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC))) :|: TRUE f3500_0_random_FieldAccess(EOS(STATIC_3500(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC))) -> f3505_0_random_FieldAccess(EOS(STATIC_3505(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439))) :|: TRUE f3505_0_random_FieldAccess(EOS(STATIC_3505(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439))) -> f3509_0_random_ArrayAccess(EOS(STATIC_3509(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439)), i1440) :|: TRUE f3509_0_random_ArrayAccess(EOS(STATIC_3509(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439)), i1471) -> f3514_0_random_ArrayAccess(EOS(STATIC_3514(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439)), i1471) :|: TRUE f3514_0_random_ArrayAccess(EOS(STATIC_3514(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439)), i1471) -> f3518_0_random_ArrayAccess(EOS(STATIC_3518(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439)), i1471) :|: TRUE f3518_0_random_ArrayAccess(EOS(STATIC_3518(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(ARRAY(i1439)), i1471) -> f3523_0_random_Store(EOS(STATIC_3523(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456) :|: i1471 < i1439 f3523_0_random_Store(EOS(STATIC_3523(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456) -> f3529_0_random_FieldAccess(EOS(STATIC_3529(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456) :|: TRUE f3529_0_random_FieldAccess(EOS(STATIC_3529(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456) -> f3534_0_random_ConstantStackPush(EOS(STATIC_3534(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456, i1471) :|: TRUE f3534_0_random_ConstantStackPush(EOS(STATIC_3534(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456, i1471) -> f3540_0_random_IntArithmetic(EOS(STATIC_3540(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456, i1471, 1) :|: TRUE f3540_0_random_IntArithmetic(EOS(STATIC_3540(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456, i1471, matching1) -> f3547_0_random_FieldAccess(EOS(STATIC_3547(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456, i1471 + 1) :|: i1471 >= 0 && matching1 = 1 f3547_0_random_FieldAccess(EOS(STATIC_3547(java.lang.Object(ARRAY(i1439)), i1471)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456, i1486) -> f3551_0_random_Load(EOS(STATIC_3551(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456) :|: TRUE f3551_0_random_Load(EOS(STATIC_3551(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456) -> f3555_0_random_InvokeMethod(EOS(STATIC_3555(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), o1456) :|: TRUE f3555_0_random_InvokeMethod(EOS(STATIC_3555(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1491sub)) -> f3560_0_random_InvokeMethod(EOS(STATIC_3560(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1491sub)) :|: TRUE f3560_0_random_InvokeMethod(EOS(STATIC_3560(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1492sub)) -> f3564_0_random_InvokeMethod(EOS(STATIC_3564(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1492sub)) :|: TRUE f3564_0_random_InvokeMethod(EOS(STATIC_3564(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1492sub)) -> f3569_0_length_Load(EOS(STATIC_3569(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1492sub)) :|: TRUE f3569_0_length_Load(EOS(STATIC_3569(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1492sub)) -> f3578_0_length_FieldAccess(EOS(STATIC_3578(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(o1492sub)) :|: TRUE f3578_0_length_FieldAccess(EOS(STATIC_3578(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1527))) -> f3584_0_length_FieldAccess(EOS(STATIC_3584(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1527))) :|: i1527 >= 0 f3584_0_length_FieldAccess(EOS(STATIC_3584(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), java.lang.Object(java.lang.String(EOC, i1527))) -> f3590_0_length_Return(EOS(STATIC_3590(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) :|: TRUE f3590_0_length_Return(EOS(STATIC_3590(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) -> f3595_0_random_Return(EOS(STATIC_3595(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) :|: TRUE f3595_0_random_Return(EOS(STATIC_3595(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) -> f3601_0_createTree_InvokeMethod(EOS(STATIC_3601(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) :|: TRUE f3601_0_createTree_InvokeMethod(EOS(STATIC_3601(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) -> f3607_0_insert_Load(EOS(STATIC_3607(java.lang.Object(ARRAY(i1439)), i1486)), java.lang.Object(RotateTree.Tree(EOC)), i1527, java.lang.Object(RotateTree.Tree(EOC)), i1527) :|: i1441 >= 1 && i1486 >= 1 && i1443 < i1441 && i1486 > i1443 f3601_0_createTree_InvokeMethod(EOS(STATIC_3601(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) -> f3607_1_insert_Load(EOS(STATIC_3607(java.lang.Object(ARRAY(i1439)), i1486)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) :|: i1441 >= 1 && i1486 >= 1 && i1443 < i1441 && i1486 > i1443 f3607_0_insert_Load(EOS(STATIC_3607(java.lang.Object(ARRAY(i1439)), i1486)), java.lang.Object(RotateTree.Tree(EOC)), i1527, java.lang.Object(RotateTree.Tree(EOC)), i1527) -> f4970_0_insert_Load(EOS(STATIC_4970(java.lang.Object(ARRAY(i1439)), i1486)), java.lang.Object(RotateTree.Tree(EOC)), i1527, java.lang.Object(RotateTree.Tree(EOC)), i1527) :|: TRUE f3788_0_insert_Return(EOS(STATIC_3788(java.lang.Object(ARRAY(i2006)), i2008)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3792_0_insert_Return(EOS(STATIC_3792(java.lang.Object(ARRAY(i2006)), i2008)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3792_0_insert_Return(EOS(STATIC_3792(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3799_0_createTree_Inc(EOS(STATIC_3799(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3799_0_createTree_Inc(EOS(STATIC_3799(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3805_0_createTree_JMP(EOS(STATIC_3805(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443 + 1) :|: TRUE f3805_0_createTree_JMP(EOS(STATIC_3805(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i2102) -> f3811_0_createTree_Load(EOS(STATIC_3811(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i2102) :|: TRUE f3811_0_createTree_Load(EOS(STATIC_3811(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i2102) -> f3479_0_createTree_Load(EOS(STATIC_3479(java.lang.Object(ARRAY(i2063)), i2064)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i2102) :|: TRUE f3479_0_createTree_Load(EOS(STATIC_3479(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3482_0_createTree_Load(EOS(STATIC_3482(java.lang.Object(ARRAY(i1439)), i1440)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, i1443) :|: TRUE f3791_0_insert_Return(EOS(STATIC_3791(java.lang.Object(ARRAY(i2036)), i2038)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3792_0_insert_Return(EOS(STATIC_3792(java.lang.Object(ARRAY(i2036)), i2038)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3815_0_insert_Return(EOS(STATIC_3815(java.lang.Object(ARRAY(i2122)), i2124)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3792_0_insert_Return(EOS(STATIC_3792(java.lang.Object(ARRAY(i2122)), i2124)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3820_0_insert_Return(EOS(STATIC_3820(java.lang.Object(ARRAY(i2167)), i2169)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) -> f3792_0_insert_Return(EOS(STATIC_3792(java.lang.Object(ARRAY(i2167)), i2169)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3607_1_insert_Load(EOS(STATIC_3607(java.lang.Object(ARRAY(i2006)), i2008)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i2010) -> f3788_0_insert_Return(EOS(STATIC_3788(java.lang.Object(ARRAY(i2006)), i2008)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3607_1_insert_Load(EOS(STATIC_3607(java.lang.Object(ARRAY(i2036)), i2038)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i2040) -> f3791_0_insert_Return(EOS(STATIC_3791(java.lang.Object(ARRAY(i2036)), i2038)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3607_1_insert_Load(EOS(STATIC_3607(java.lang.Object(ARRAY(i2122)), i2124)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) -> f3815_0_insert_Return(EOS(STATIC_3815(java.lang.Object(ARRAY(i2122)), i2124)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE f3607_1_insert_Load(EOS(STATIC_3607(java.lang.Object(ARRAY(i2167)), i2169)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443, java.lang.Object(RotateTree.Tree(EOC)), i1527) -> f3820_0_insert_Return(EOS(STATIC_3820(java.lang.Object(ARRAY(i2167)), i2169)), i1441, i1441, java.lang.Object(RotateTree.Tree(EOC)), i1443) :|: TRUE Combined rules. Obtained 2 IRulesP rules: f3482_0_createTree_Load(EOS(STATIC_3482(java.lang.Object(ARRAY(i1439:0)), i1440:0)), i1441:0, i1441:0, java.lang.Object(RotateTree.Tree(EOC)), i1443:0, i1443:0) -> f3482_0_createTree_Load(EOS(STATIC_3482(java.lang.Object(ARRAY(i1439:0)), i1440:0 + 1)), i1441:0, i1441:0, java.lang.Object(RotateTree.Tree(EOC)), i1443:0 + 1, i1443:0 + 1) :|: i1443:0 < i1441:0 && i1440:0 < i1439:0 && i1440:0 > -1 && i1527:0 > -1 && i1441:0 > 0 && i1443:0 < i1440:0 + 1 Removed following non-SCC rules: f3482_0_createTree_Load(EOS(STATIC_3482(java.lang.Object(ARRAY(i1439:0)), i1440:0)), i1441:0, i1441:0, java.lang.Object(RotateTree.Tree(EOC)), i1443:0, i1443:0) -> f4970_0_insert_Load(EOS(STATIC_4970(java.lang.Object(ARRAY(i1439:0)), i1440:0 + 1)), java.lang.Object(RotateTree.Tree(EOC)), i1527:0, java.lang.Object(RotateTree.Tree(EOC)), i1527:0) :|: i1443:0 < i1441:0 && i1440:0 < i1439:0 && i1440:0 > -1 && i1527:0 > -1 && i1441:0 > 0 && i1443:0 < i1440:0 + 1 Filtered constant ground arguments: f3482_0_createTree_Load(x1, x2, x3, x4, x5, x6) -> f3482_0_createTree_Load(x1, x2, x3, x5, x6) RotateTree.Tree(x1) -> RotateTree.Tree Filtered duplicate arguments: f3482_0_createTree_Load(x1, x2, x3, x4, x5) -> f3482_0_createTree_Load(x1, x3, x5) Finished conversion. Obtained 1 rules.P rules: f3482_0_createTree_Load(i1441:0, i1443:0, i1439:0, i1440:0) -> f3482_0_createTree_Load(i1441:0, i1443:0 + 1, i1439:0, i1440:0 + 1) :|: i1440:0 < i1439:0 && i1443:0 < i1441:0 && i1440:0 > -1 && i1527:0 > -1 && i1443:0 < i1440:0 + 1 && i1441:0 > 0 ---------------------------------------- (37) Obligation: Rules: f3482_0_createTree_Load(i1441:0, i1443:0, i1439:0, i1440:0) -> f3482_0_createTree_Load(i1441:0, i1443:0 + 1, i1439:0, i1440:0 + 1) :|: i1440:0 < i1439:0 && i1443:0 < i1441:0 && i1440:0 > -1 && i1527:0 > -1 && i1443:0 < i1440:0 + 1 && i1441:0 > 0 ---------------------------------------- (38) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (39) Obligation: Rules: f3482_0_createTree_Load(i1441:0, i1443:0, i1439:0, i1440:0) -> f3482_0_createTree_Load(i1441:0, arith, i1439:0, arith1) :|: i1440:0 < i1439:0 && i1443:0 < i1441:0 && i1440:0 > -1 && i1527:0 > -1 && i1443:0 < i1440:0 + 1 && i1441:0 > 0 && arith = i1443:0 + 1 && arith1 = i1440:0 + 1 ---------------------------------------- (40) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3482_0_createTree_Load(i1441:0, i1443:0, i1439:0, i1440:0) -> f3482_0_createTree_Load(i1441:0, arith, i1439:0, arith1) :|: i1440:0 < i1439:0 && i1443:0 < i1441:0 && i1440:0 > -1 && i1527:0 > -1 && i1443:0 < i1440:0 + 1 && i1441:0 > 0 && arith = i1443:0 + 1 && arith1 = i1440:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (41) Obligation: Termination digraph: Nodes: (1) f3482_0_createTree_Load(i1441:0, i1443:0, i1439:0, i1440:0) -> f3482_0_createTree_Load(i1441:0, arith, i1439:0, arith1) :|: i1440:0 < i1439:0 && i1443:0 < i1441:0 && i1440:0 > -1 && i1527:0 > -1 && i1443:0 < i1440:0 + 1 && i1441:0 > 0 && arith = i1443:0 + 1 && arith1 = i1440:0 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (42) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (43) Obligation: Rules: f3482_0_createTree_Load(i1441:0:0, i1443:0:0, i1439:0:0, i1440:0:0) -> f3482_0_createTree_Load(i1441:0:0, i1443:0:0 + 1, i1439:0:0, i1440:0:0 + 1) :|: i1443:0:0 < i1440:0:0 + 1 && i1441:0:0 > 0 && i1527:0:0 > -1 && i1440:0:0 > -1 && i1443:0:0 < i1441:0:0 && i1440:0:0 < i1439:0:0 ---------------------------------------- (44) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3482_0_createTree_Load(INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (45) Obligation: Rules: f3482_0_createTree_Load(i1441:0:0, i1443:0:0, i1439:0:0, i1440:0:0) -> f3482_0_createTree_Load(i1441:0:0, c, i1439:0:0, c1) :|: c1 = i1440:0:0 + 1 && c = i1443:0:0 + 1 && (i1443:0:0 < i1440:0:0 + 1 && i1441:0:0 > 0 && i1527:0:0 > -1 && i1440:0:0 > -1 && i1443:0:0 < i1441:0:0 && i1440:0:0 < i1439:0:0) ---------------------------------------- (46) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f3482_0_createTree_Load(x, x1, x2, x3)] = x2 - x3 The following rules are decreasing: f3482_0_createTree_Load(i1441:0:0, i1443:0:0, i1439:0:0, i1440:0:0) -> f3482_0_createTree_Load(i1441:0:0, c, i1439:0:0, c1) :|: c1 = i1440:0:0 + 1 && c = i1443:0:0 + 1 && (i1443:0:0 < i1440:0:0 + 1 && i1441:0:0 > 0 && i1527:0:0 > -1 && i1440:0:0 > -1 && i1443:0:0 < i1441:0:0 && i1440:0:0 < i1439:0:0) The following rules are bounded: f3482_0_createTree_Load(i1441:0:0, i1443:0:0, i1439:0:0, i1440:0:0) -> f3482_0_createTree_Load(i1441:0:0, c, i1439:0:0, c1) :|: c1 = i1440:0:0 + 1 && c = i1443:0:0 + 1 && (i1443:0:0 < i1440:0:0 + 1 && i1441:0:0 > 0 && i1527:0:0 > -1 && i1440:0:0 > -1 && i1443:0:0 < i1441:0:0 && i1440:0:0 < i1439:0:0) ---------------------------------------- (47) YES