(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_22 (Sun Microsystems Inc.) Main-Class: GrowTreeR/GrowTreeR
package GrowTreeR;

public class GrowTreeR {
public static void main(final String[] args) {
Random.args = args;

final Tree t = Tree.createTree(Random.random());
growList(t.children);
}

public static void growTree(final Tree t) {
if (t == null) {
return;
} else if (t.children == null) {
t.children = new TreeList(new Tree(), null);
} else {
growList(t.children);
}
}

public static void growList(final TreeList l) {
if (l == null) {
return;
} else {
growTree(l.value);
growList(l.next);
}
}
}


package GrowTreeR;
public class Random {
static String[] args;
static int index = 0;

public static int random() {
final String string = args[index];
index++;
return string.length();
}
}


package GrowTreeR;
public class Tree {
TreeList children;

public Tree() {
this.children = null;
}

public void addChild(final Tree t) {
this.children = new TreeList(t, this.children);
}

public static Tree createNode() {
final Tree result = new Tree();
return result;
}

public static Tree createTree(int depth) {
if (depth <= 0) {
return null;
}
depth = depth - 1;

final Tree result = new Tree();
final int numberOfChildren = Random.random();

for (int i = 0; i < numberOfChildren; i++) {
result.addChild(createTree(depth - 1));
}

return result;
}
}


package GrowTreeR;
public class TreeList {
Tree value;
TreeList next;

public TreeList(final Tree value, final TreeList next) {
this.value = value;
this.next = next;
}
}


(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

Termination Graph based on JBC Program:
GrowTreeR.GrowTreeR.main([Ljava/lang/String;)V: Graph of 164 nodes with 0 SCCs.

GrowTreeR.Tree.createTree(I)LGrowTreeR/Tree;: Graph of 163 nodes with 1 SCC.

GrowTreeR.GrowTreeR.growList(LGrowTreeR/TreeList;)V: Graph of 50 nodes with 0 SCCs.

GrowTreeR.GrowTreeR.growTree(LGrowTreeR/Tree;)V: Graph of 52 nodes with 0 SCCs.


(3) TerminationGraphToSCCProof (SOUND transformation)

Splitted TerminationGraph to 2 SCCss.

(4) Complex Obligation (AND)

(5) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: GrowTreeR.GrowTreeR.growList(LGrowTreeR/TreeList;)V, GrowTreeR.GrowTreeR.growTree(LGrowTreeR/Tree;)V
SCC calls the following helper methods: GrowTreeR.GrowTreeR.growList(LGrowTreeR/TreeList;)V, GrowTreeR.GrowTreeR.growTree(LGrowTreeR/Tree;)V
Performed SCC analyses: UsedFieldsAnalysis

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 39 rules for P and 69 rules for R.


P rules:
1890_0_growList_NONNULL(EOS(STATIC_1890), java.lang.Object(o506sub), java.lang.Object(o506sub)) → 1905_0_growList_NONNULL(EOS(STATIC_1905), java.lang.Object(o506sub), java.lang.Object(o506sub))
1905_0_growList_NONNULL(EOS(STATIC_1905), java.lang.Object(o506sub), java.lang.Object(o506sub)) → 1919_0_growList_Load(EOS(STATIC_1919), java.lang.Object(o506sub))
1919_0_growList_Load(EOS(STATIC_1919), java.lang.Object(o506sub)) → 1929_0_growList_FieldAccess(EOS(STATIC_1929), java.lang.Object(o506sub), java.lang.Object(o506sub))
1929_0_growList_FieldAccess(EOS(STATIC_1929), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542))) → 1942_0_growList_FieldAccess(EOS(STATIC_1942), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)))
1942_0_growList_FieldAccess(EOS(STATIC_1942), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542))) → 1957_0_growList_InvokeMethod(EOS(STATIC_1957), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), o541)
1957_0_growList_InvokeMethod(EOS(STATIC_1957), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), o541) → 1963_1_growList_InvokeMethod(1963_0_growTree_Load(EOS(STATIC_1963), o541), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), o541)
1963_0_growTree_Load(EOS(STATIC_1963), o541) → 1969_0_growTree_Load(EOS(STATIC_1969), o541)
1963_1_growList_InvokeMethod(1991_0_growTree_Return(EOS(STATIC_1991), NULL), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o542)), NULL) → 2012_0_growTree_Return(EOS(STATIC_2012), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o542)), NULL, NULL)
1963_1_growList_InvokeMethod(2379_0_growTree_Return(EOS(STATIC_2379)), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), o541) → 2453_0_growTree_Return(EOS(STATIC_2453), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))), o542)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))))
1963_1_growList_InvokeMethod(2707_0_growTree_Return(EOS(STATIC_2707)), java.lang.Object(GrowTreeR.TreeList(EOC, o541, o542)), o541) → 2772_0_growTree_Return(EOS(STATIC_2772), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1301, o1300)))), o542)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1301, o1300)))))
1969_0_growTree_Load(EOS(STATIC_1969), o541) → 1974_0_growTree_Load(EOS(STATIC_1974), o541)
1974_0_growTree_Load(EOS(STATIC_1974), o541) → 1980_0_growTree_NONNULL(EOS(STATIC_1980), o541, o541)
1980_0_growTree_NONNULL(EOS(STATIC_1980), java.lang.Object(o576sub), java.lang.Object(o576sub)) → 1984_0_growTree_NONNULL(EOS(STATIC_1984), java.lang.Object(o576sub), java.lang.Object(o576sub))
1984_0_growTree_NONNULL(EOS(STATIC_1984), java.lang.Object(o576sub), java.lang.Object(o576sub)) → 1990_0_growTree_Load(EOS(STATIC_1990), java.lang.Object(o576sub))
1990_0_growTree_Load(EOS(STATIC_1990), java.lang.Object(o576sub)) → 1997_0_growTree_FieldAccess(EOS(STATIC_1997), java.lang.Object(o576sub), java.lang.Object(o576sub))
1997_0_growTree_FieldAccess(EOS(STATIC_1997), java.lang.Object(GrowTreeR.Tree(EOC, o591)), java.lang.Object(GrowTreeR.Tree(EOC, o591))) → 2003_0_growTree_FieldAccess(EOS(STATIC_2003), java.lang.Object(GrowTreeR.Tree(EOC, o591)), java.lang.Object(GrowTreeR.Tree(EOC, o591)))
2003_0_growTree_FieldAccess(EOS(STATIC_2003), java.lang.Object(GrowTreeR.Tree(EOC, o591)), java.lang.Object(GrowTreeR.Tree(EOC, o591))) → 2011_0_growTree_NONNULL(EOS(STATIC_2011), java.lang.Object(GrowTreeR.Tree(EOC, o591)), o591)
2011_0_growTree_NONNULL(EOS(STATIC_2011), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o602sub))), java.lang.Object(o602sub)) → 2018_0_growTree_NONNULL(EOS(STATIC_2018), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o602sub))), java.lang.Object(o602sub))
2018_0_growTree_NONNULL(EOS(STATIC_2018), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o602sub))), java.lang.Object(o602sub)) → 2025_0_growTree_Load(EOS(STATIC_2025), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o602sub))))
2025_0_growTree_Load(EOS(STATIC_2025), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o602sub)))) → 2034_0_growTree_FieldAccess(EOS(STATIC_2034), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o602sub))))
2034_0_growTree_FieldAccess(EOS(STATIC_2034), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(o602sub)))) → 2042_0_growTree_InvokeMethod(EOS(STATIC_2042), java.lang.Object(o602sub))
2042_0_growTree_InvokeMethod(EOS(STATIC_2042), java.lang.Object(o602sub)) → 2049_1_growTree_InvokeMethod(2049_0_growList_Load(EOS(STATIC_2049), java.lang.Object(o602sub)), java.lang.Object(o602sub))
2049_0_growList_Load(EOS(STATIC_2049), java.lang.Object(o602sub)) → 2061_0_growList_Load(EOS(STATIC_2061), java.lang.Object(o602sub))
2061_0_growList_Load(EOS(STATIC_2061), java.lang.Object(o602sub)) → 1879_0_growList_Load(EOS(STATIC_1879), java.lang.Object(o602sub))
1879_0_growList_Load(EOS(STATIC_1879), o484) → 1890_0_growList_NONNULL(EOS(STATIC_1890), o484, o484)
2012_0_growTree_Return(EOS(STATIC_2012), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o542)), NULL, NULL) → 2020_0_growList_Load(EOS(STATIC_2020), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o542)))
2020_0_growList_Load(EOS(STATIC_2020), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o542))) → 2028_0_growList_FieldAccess(EOS(STATIC_2028), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o542)))
2028_0_growList_FieldAccess(EOS(STATIC_2028), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o542))) → 2036_0_growList_InvokeMethod(EOS(STATIC_2036), o542)
2036_0_growList_InvokeMethod(EOS(STATIC_2036), o542) → 2044_1_growList_InvokeMethod(2044_0_growList_Load(EOS(STATIC_2044), o542), o542)
2044_0_growList_Load(EOS(STATIC_2044), o542) → 2052_0_growList_Load(EOS(STATIC_2052), o542)
2052_0_growList_Load(EOS(STATIC_2052), o542) → 1879_0_growList_Load(EOS(STATIC_1879), o542)
2453_0_growTree_Return(EOS(STATIC_2453), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))), o542)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL))))) → 2454_0_growTree_Return(EOS(STATIC_2454), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))), o542)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))))
2454_0_growTree_Return(EOS(STATIC_2454), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), o988)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991))))) → 2492_0_growList_Load(EOS(STATIC_2492), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), o988)))
2492_0_growList_Load(EOS(STATIC_2492), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), o988))) → 2504_0_growList_FieldAccess(EOS(STATIC_2504), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), o988)))
2504_0_growList_FieldAccess(EOS(STATIC_2504), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), o988))) → 2514_0_growList_InvokeMethod(EOS(STATIC_2514), o988)
2514_0_growList_InvokeMethod(EOS(STATIC_2514), o988) → 2537_1_growList_InvokeMethod(2537_0_growList_Load(EOS(STATIC_2537), o988), o988)
2537_0_growList_Load(EOS(STATIC_2537), o988) → 2556_0_growList_Load(EOS(STATIC_2556), o988)
2556_0_growList_Load(EOS(STATIC_2556), o988) → 1879_0_growList_Load(EOS(STATIC_1879), o988)
2772_0_growTree_Return(EOS(STATIC_2772), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1301, o1300)))), o542)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1301, o1300))))) → 2454_0_growTree_Return(EOS(STATIC_2454), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1301, o1300)))), o542)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1301, o1300)))))
R rules:
1890_0_growList_NONNULL(EOS(STATIC_1890), NULL, NULL) → 1906_0_growList_NONNULL(EOS(STATIC_1906), NULL, NULL)
1906_0_growList_NONNULL(EOS(STATIC_1906), NULL, NULL) → 1920_0_growList_Return(EOS(STATIC_1920), NULL)
2044_1_growList_InvokeMethod(1920_0_growList_Return(EOS(STATIC_1920), NULL), NULL) → 2077_0_growList_Return(EOS(STATIC_2077), NULL, NULL)
2044_1_growList_InvokeMethod(2082_0_growList_Return(EOS(STATIC_2082)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2112_0_growList_Return(EOS(STATIC_2112), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2044_1_growList_InvokeMethod(2599_0_growList_Return(EOS(STATIC_2599)), o542) → 2664_0_growList_Return(EOS(STATIC_2664), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), NULL)))
2044_1_growList_InvokeMethod(2704_0_growList_Return(EOS(STATIC_2704)), o542) → 2760_0_growList_Return(EOS(STATIC_2760), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271)))))
2044_1_growList_InvokeMethod(2711_0_growList_Return(EOS(STATIC_2711)), o542) → 2778_0_growList_Return(EOS(STATIC_2778), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310)))))
2077_0_growList_Return(EOS(STATIC_2077), NULL, NULL) → 2082_0_growList_Return(EOS(STATIC_2082))
2112_0_growList_Return(EOS(STATIC_2112), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2173_0_growList_Return(EOS(STATIC_2173), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2173_0_growList_Return(EOS(STATIC_2173), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o675))) → 2469_0_growList_Return(EOS(STATIC_2469), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o675)))
2269_0_growTree_Return(EOS(STATIC_2269), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o767)))), o764)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o767))))) → 2454_0_growTree_Return(EOS(STATIC_2454), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o767)))), o764)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o767)))))
2469_0_growList_Return(EOS(STATIC_2469), java.lang.Object(GrowTreeR.TreeList(EOC, o1016, o1015))) → 2665_0_growList_Return(EOS(STATIC_2665), java.lang.Object(GrowTreeR.TreeList(EOC, o1016, o1015)))
2537_1_growList_InvokeMethod(1920_0_growList_Return(EOS(STATIC_1920), NULL), NULL) → 2586_0_growList_Return(EOS(STATIC_2586), NULL, NULL)
2537_1_growList_InvokeMethod(2082_0_growList_Return(EOS(STATIC_2082)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2587_0_growList_Return(EOS(STATIC_2587), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2537_1_growList_InvokeMethod(2599_0_growList_Return(EOS(STATIC_2599)), o988) → 2684_0_growList_Return(EOS(STATIC_2684), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1259, o1258)))), NULL)))
2537_1_growList_InvokeMethod(2704_0_growList_Return(EOS(STATIC_2704)), o988) → 2767_0_growList_Return(EOS(STATIC_2767), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271)))))
2537_1_growList_InvokeMethod(2711_0_growList_Return(EOS(STATIC_2711)), o988) → 2787_0_growList_Return(EOS(STATIC_2787), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310)))))
2586_0_growList_Return(EOS(STATIC_2586), NULL, NULL) → 2599_0_growList_Return(EOS(STATIC_2599))
2587_0_growList_Return(EOS(STATIC_2587), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2593_0_growList_Return(EOS(STATIC_2593), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2593_0_growList_Return(EOS(STATIC_2593), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o1173))) → 2685_0_growList_Return(EOS(STATIC_2685), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o1173)))
2664_0_growList_Return(EOS(STATIC_2664), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), NULL))) → 2665_0_growList_Return(EOS(STATIC_2665), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), NULL)))
2665_0_growList_Return(EOS(STATIC_2665), java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271))) → 2704_0_growList_Return(EOS(STATIC_2704))
2684_0_growList_Return(EOS(STATIC_2684), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1259, o1258)))), NULL))) → 2685_0_growList_Return(EOS(STATIC_2685), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1259, o1258)))), NULL)))
2685_0_growList_Return(EOS(STATIC_2685), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310))) → 2711_0_growList_Return(EOS(STATIC_2711))
2760_0_growList_Return(EOS(STATIC_2760), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271))))) → 2665_0_growList_Return(EOS(STATIC_2665), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271)))))
2767_0_growList_Return(EOS(STATIC_2767), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271))))) → 2685_0_growList_Return(EOS(STATIC_2685), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271)))))
2778_0_growList_Return(EOS(STATIC_2778), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310))))) → 2665_0_growList_Return(EOS(STATIC_2665), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310)))))
2787_0_growList_Return(EOS(STATIC_2787), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310))))) → 2685_0_growList_Return(EOS(STATIC_2685), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310)))))
1980_0_growTree_NONNULL(EOS(STATIC_1980), NULL, NULL) → 1985_0_growTree_NONNULL(EOS(STATIC_1985), NULL, NULL)
1985_0_growTree_NONNULL(EOS(STATIC_1985), NULL, NULL) → 1991_0_growTree_Return(EOS(STATIC_1991), NULL)
2011_0_growTree_NONNULL(EOS(STATIC_2011), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2019_0_growTree_NONNULL(EOS(STATIC_2019), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2019_0_growTree_NONNULL(EOS(STATIC_2019), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2026_0_growTree_Load(EOS(STATIC_2026), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2026_0_growTree_Load(EOS(STATIC_2026), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2035_0_growTree_New(EOS(STATIC_2035), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2035_0_growTree_New(EOS(STATIC_2035), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2043_0_growTree_Duplicate(EOS(STATIC_2043), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2043_0_growTree_Duplicate(EOS(STATIC_2043), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2051_0_growTree_New(EOS(STATIC_2051), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2049_1_growTree_InvokeMethod(2082_0_growList_Return(EOS(STATIC_2082)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2114_0_growList_Return(EOS(STATIC_2114), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2049_1_growTree_InvokeMethod(2599_0_growList_Return(EOS(STATIC_2599)), java.lang.Object(o602sub)) → 2671_0_growList_Return(EOS(STATIC_2671), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), NULL)))
2049_1_growTree_InvokeMethod(2704_0_growList_Return(EOS(STATIC_2704)), java.lang.Object(o602sub)) → 2763_0_growList_Return(EOS(STATIC_2763), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271)))))
2049_1_growTree_InvokeMethod(2711_0_growList_Return(EOS(STATIC_2711)), java.lang.Object(o602sub)) → 2782_0_growList_Return(EOS(STATIC_2782), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310)))))
2051_0_growTree_New(EOS(STATIC_2051), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2062_0_growTree_Duplicate(EOS(STATIC_2062), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2062_0_growTree_Duplicate(EOS(STATIC_2062), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2066_0_growTree_InvokeMethod(EOS(STATIC_2066), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2066_0_growTree_InvokeMethod(EOS(STATIC_2066), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2075_0_<init>_Load(EOS(STATIC_2075), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2075_0_<init>_Load(EOS(STATIC_2075), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2087_0_<init>_InvokeMethod(EOS(STATIC_2087), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2087_0_<init>_InvokeMethod(EOS(STATIC_2087), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2093_0_<init>_Load(EOS(STATIC_2093), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2093_0_<init>_Load(EOS(STATIC_2093), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2110_0_<init>_ConstantStackPush(EOS(STATIC_2110), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2110_0_<init>_ConstantStackPush(EOS(STATIC_2110), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2120_0_<init>_FieldAccess(EOS(STATIC_2120), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2114_0_growList_Return(EOS(STATIC_2114), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2178_0_growList_Return(EOS(STATIC_2178), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2120_0_<init>_FieldAccess(EOS(STATIC_2120), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2131_0_<init>_Return(EOS(STATIC_2131), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2131_0_<init>_Return(EOS(STATIC_2131), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2138_0_growTree_ConstantStackPush(EOS(STATIC_2138), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2138_0_growTree_ConstantStackPush(EOS(STATIC_2138), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2159_0_growTree_InvokeMethod(EOS(STATIC_2159), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2159_0_growTree_InvokeMethod(EOS(STATIC_2159), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2182_0_<init>_Load(EOS(STATIC_2182), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2178_0_growList_Return(EOS(STATIC_2178), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o688))) → 2476_0_growList_Return(EOS(STATIC_2476), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, o688)))
2182_0_<init>_Load(EOS(STATIC_2182), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2228_0_<init>_InvokeMethod(EOS(STATIC_2228), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2228_0_<init>_InvokeMethod(EOS(STATIC_2228), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2255_0_<init>_Load(EOS(STATIC_2255), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2255_0_<init>_Load(EOS(STATIC_2255), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2275_0_<init>_Load(EOS(STATIC_2275), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)))
2275_0_<init>_Load(EOS(STATIC_2275), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2285_0_<init>_FieldAccess(EOS(STATIC_2285), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2285_0_<init>_FieldAccess(EOS(STATIC_2285), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2302_0_<init>_Load(EOS(STATIC_2302), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL)
2302_0_<init>_Load(EOS(STATIC_2302), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL) → 2315_0_<init>_Load(EOS(STATIC_2315), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))
2315_0_<init>_Load(EOS(STATIC_2315), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL))) → 2324_0_<init>_FieldAccess(EOS(STATIC_2324), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL)
2324_0_<init>_FieldAccess(EOS(STATIC_2324), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL, java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), NULL) → 2336_0_<init>_Return(EOS(STATIC_2336), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
2336_0_<init>_Return(EOS(STATIC_2336), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 2348_0_growTree_FieldAccess(EOS(STATIC_2348), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)))
2348_0_growTree_FieldAccess(EOS(STATIC_2348), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL))) → 2365_0_growTree_JMP(EOS(STATIC_2365))
2365_0_growTree_JMP(EOS(STATIC_2365)) → 2379_0_growTree_Return(EOS(STATIC_2379))
2379_0_growTree_Return(EOS(STATIC_2379)) → 2707_0_growTree_Return(EOS(STATIC_2707))
2476_0_growList_Return(EOS(STATIC_2476), java.lang.Object(GrowTreeR.TreeList(EOC, o1039, o1038))) → 2672_0_growList_Return(EOS(STATIC_2672), java.lang.Object(GrowTreeR.TreeList(EOC, o1039, o1038)))
2671_0_growList_Return(EOS(STATIC_2671), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), NULL))) → 2672_0_growList_Return(EOS(STATIC_2672), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o992, o991)))), NULL)))
2672_0_growList_Return(EOS(STATIC_2672), java.lang.Object(GrowTreeR.TreeList(EOC, o1301, o1300))) → 2707_0_growTree_Return(EOS(STATIC_2707))
2763_0_growList_Return(EOS(STATIC_2763), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271))))) → 2672_0_growList_Return(EOS(STATIC_2672), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, java.lang.Object(GrowTreeR.TreeList(EOC, o1272, o1271)))))
2782_0_growList_Return(EOS(STATIC_2782), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310))))) → 2672_0_growList_Return(EOS(STATIC_2672), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC, o1315, o1314)))), java.lang.Object(GrowTreeR.TreeList(EOC, o1311, o1310)))))

Combined rules. Obtained 4 conditional rules for P and 15 conditional rules for R.


P rules:
1890_0_growList_NONNULL(EOS(STATIC_1890), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))), x1)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))), x1))) → 1963_1_growList_InvokeMethod(2049_1_growTree_InvokeMethod(1890_0_growList_NONNULL(EOS(STATIC_1890), java.lang.Object(x0), java.lang.Object(x0)), java.lang.Object(x0)), java.lang.Object(GrowTreeR.TreeList(EOC, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))), x1)), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(x0))))
1963_1_growList_InvokeMethod(1991_0_growTree_Return(EOS(STATIC_1991), NULL), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, x0)), NULL) → 2044_1_growList_InvokeMethod(1890_0_growList_NONNULL(EOS(STATIC_1890), x0, x0), x0)
1963_1_growList_InvokeMethod(2379_0_growTree_Return(EOS(STATIC_2379)), java.lang.Object(GrowTreeR.TreeList(EOC, x0, x1)), x0) → 2537_1_growList_InvokeMethod(1890_0_growList_NONNULL(EOS(STATIC_1890), x1, x1), x1)
1963_1_growList_InvokeMethod(2707_0_growTree_Return(EOS(STATIC_2707)), java.lang.Object(GrowTreeR.TreeList(EOC, x0, x1)), x0) → 2537_1_growList_InvokeMethod(1890_0_growList_NONNULL(EOS(STATIC_1890), x1, x1), x1)
R rules:
1890_0_growList_NONNULL(EOS(STATIC_1890), NULL, NULL) → 1920_0_growList_Return(EOS(STATIC_1920), NULL)
2044_1_growList_InvokeMethod(1920_0_growList_Return(EOS(STATIC_1920), NULL), NULL) → 2082_0_growList_Return(EOS(STATIC_2082))
2044_1_growList_InvokeMethod(2599_0_growList_Return(EOS(STATIC_2599)), x0) → 2704_0_growList_Return(EOS(STATIC_2704))
2044_1_growList_InvokeMethod(2704_0_growList_Return(EOS(STATIC_2704)), x0) → 2704_0_growList_Return(EOS(STATIC_2704))
2044_1_growList_InvokeMethod(2711_0_growList_Return(EOS(STATIC_2711)), x0) → 2704_0_growList_Return(EOS(STATIC_2704))
2044_1_growList_InvokeMethod(2082_0_growList_Return(EOS(STATIC_2082)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2704_0_growList_Return(EOS(STATIC_2704))
2537_1_growList_InvokeMethod(1920_0_growList_Return(EOS(STATIC_1920), NULL), NULL) → 2599_0_growList_Return(EOS(STATIC_2599))
2537_1_growList_InvokeMethod(2599_0_growList_Return(EOS(STATIC_2599)), x0) → 2711_0_growList_Return(EOS(STATIC_2711))
2537_1_growList_InvokeMethod(2704_0_growList_Return(EOS(STATIC_2704)), x0) → 2711_0_growList_Return(EOS(STATIC_2711))
2537_1_growList_InvokeMethod(2711_0_growList_Return(EOS(STATIC_2711)), x0) → 2711_0_growList_Return(EOS(STATIC_2711))
2537_1_growList_InvokeMethod(2082_0_growList_Return(EOS(STATIC_2082)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2711_0_growList_Return(EOS(STATIC_2711))
2049_1_growTree_InvokeMethod(2599_0_growList_Return(EOS(STATIC_2599)), java.lang.Object(x0)) → 2707_0_growTree_Return(EOS(STATIC_2707))
2049_1_growTree_InvokeMethod(2704_0_growList_Return(EOS(STATIC_2704)), java.lang.Object(x0)) → 2707_0_growTree_Return(EOS(STATIC_2707))
2049_1_growTree_InvokeMethod(2711_0_growList_Return(EOS(STATIC_2711)), java.lang.Object(x0)) → 2707_0_growTree_Return(EOS(STATIC_2707))
2049_1_growTree_InvokeMethod(2082_0_growList_Return(EOS(STATIC_2082)), java.lang.Object(GrowTreeR.TreeList(EOC, NULL, NULL))) → 2707_0_growTree_Return(EOS(STATIC_2707))

Filtered ground terms:



1890_0_growList_NONNULL(x1, x2, x3) → 1890_0_growList_NONNULL(x2, x3)
GrowTreeR.TreeList(x1, x2, x3) → GrowTreeR.TreeList(x2, x3)
2707_0_growTree_Return(x1) → 2707_0_growTree_Return
2379_0_growTree_Return(x1) → 2379_0_growTree_Return
1991_0_growTree_Return(x1, x2) → 1991_0_growTree_Return
GrowTreeR.Tree(x1, x2) → GrowTreeR.Tree(x2)
2082_0_growList_Return(x1) → 2082_0_growList_Return
2711_0_growList_Return(x1) → 2711_0_growList_Return
2704_0_growList_Return(x1) → 2704_0_growList_Return
2599_0_growList_Return(x1) → 2599_0_growList_Return
1920_0_growList_Return(x1, x2) → 1920_0_growList_Return

Filtered duplicate args:



1890_0_growList_NONNULL(x1, x2) → 1890_0_growList_NONNULL(x2)
1963_1_growList_InvokeMethod(x1, x2, x3) → 1963_1_growList_InvokeMethod(x1, x2)

Combined rules. Obtained 4 conditional rules for P and 15 conditional rules for R.


P rules:
1890_0_growList_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1))) → 1963_1_growList_InvokeMethod(2049_1_growTree_InvokeMethod(1890_0_growList_NONNULL(java.lang.Object(x0)), java.lang.Object(x0)), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1)))
1963_1_growList_InvokeMethod(1991_0_growTree_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0))) → 2044_1_growList_InvokeMethod(1890_0_growList_NONNULL(x0), x0)
1963_1_growList_InvokeMethod(2379_0_growTree_Return, java.lang.Object(GrowTreeR.TreeList(x0, x1))) → 2537_1_growList_InvokeMethod(1890_0_growList_NONNULL(x1), x1)
1963_1_growList_InvokeMethod(2707_0_growTree_Return, java.lang.Object(GrowTreeR.TreeList(x0, x1))) → 2537_1_growList_InvokeMethod(1890_0_growList_NONNULL(x1), x1)
R rules:
1890_0_growList_NONNULL(NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, NULL) → 2082_0_growList_Return
2044_1_growList_InvokeMethod(2599_0_growList_Return, x0) → 2704_0_growList_Return
2044_1_growList_InvokeMethod(2704_0_growList_Return, x0) → 2704_0_growList_Return
2044_1_growList_InvokeMethod(2711_0_growList_Return, x0) → 2704_0_growList_Return
2044_1_growList_InvokeMethod(2082_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 2704_0_growList_Return
2537_1_growList_InvokeMethod(1920_0_growList_Return, NULL) → 2599_0_growList_Return
2537_1_growList_InvokeMethod(2599_0_growList_Return, x0) → 2711_0_growList_Return
2537_1_growList_InvokeMethod(2704_0_growList_Return, x0) → 2711_0_growList_Return
2537_1_growList_InvokeMethod(2711_0_growList_Return, x0) → 2711_0_growList_Return
2537_1_growList_InvokeMethod(2082_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 2711_0_growList_Return
2049_1_growTree_InvokeMethod(2599_0_growList_Return, java.lang.Object(x0)) → 2707_0_growTree_Return
2049_1_growTree_InvokeMethod(2704_0_growList_Return, java.lang.Object(x0)) → 2707_0_growTree_Return
2049_1_growTree_InvokeMethod(2711_0_growList_Return, java.lang.Object(x0)) → 2707_0_growTree_Return
2049_1_growTree_InvokeMethod(2082_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 2707_0_growTree_Return

Performed bisimulation on rules. Used the following equivalence classes: {[1920_0_growList_Return, 2082_0_growList_Return, 2599_0_growList_Return, 2704_0_growList_Return, 2711_0_growList_Return, 2707_0_growTree_Return, 1991_0_growTree_Return, 2379_0_growTree_Return]=1920_0_growList_Return, [2044_1_growList_InvokeMethod_2, 2537_1_growList_InvokeMethod_2]=2044_1_growList_InvokeMethod_2}


Finished conversion. Obtained 4 rules for P and 6 rules for R. System has no predefined symbols.


P rules:
1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1))) → 1963_1_GROWLIST_INVOKEMETHOD(2049_1_growTree_InvokeMethod(1890_0_growList_NONNULL(java.lang.Object(x0)), java.lang.Object(x0)), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1)))
1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0))), x1))) → 1890_0_GROWLIST_NONNULL(java.lang.Object(x0))
1963_1_GROWLIST_INVOKEMETHOD(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0))) → 1890_0_GROWLIST_NONNULL(x0)
1963_1_GROWLIST_INVOKEMETHOD(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(x0, x1))) → 1890_0_GROWLIST_NONNULL(x1)
R rules:
1890_0_growList_NONNULL(NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0)) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return

(7) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:
none


The ITRS R consists of the following rules:
1890_0_growList_NONNULL(NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0)) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return

The integer pair graph contains the following rules and edges:
(0): 1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0]))) → 1963_1_GROWLIST_INVOKEMETHOD(2049_1_growTree_InvokeMethod(1890_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))
(1): 1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1890_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))
(2): 1963_1_GROWLIST_INVOKEMETHOD(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0[2]))) → 1890_0_GROWLIST_NONNULL(x0[2])
(3): 1963_1_GROWLIST_INVOKEMETHOD(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(x0[3], x1[3]))) → 1890_0_GROWLIST_NONNULL(x1[3])

(0) -> (2), if (2049_1_growTree_InvokeMethod(1890_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])) →* 1920_0_growList_Returnjava.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])) →* java.lang.Object(GrowTreeR.TreeList(NULL, x0[2])))


(0) -> (3), if (2049_1_growTree_InvokeMethod(1890_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])) →* 1920_0_growList_Returnjava.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])) →* java.lang.Object(GrowTreeR.TreeList(x0[3], x1[3])))


(1) -> (0), if (java.lang.Object(x0[1]) →* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))


(1) -> (1), if (java.lang.Object(x0[1]) →* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]'))), x1[1]')))


(2) -> (0), if (x0[2]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))


(2) -> (1), if (x0[2]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1])))


(3) -> (0), if (x1[3]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))


(3) -> (1), if (x1[3]* java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1])))



The set Q consists of the following terms:
1890_0_growList_NONNULL(NULL)
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0)
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0))

(8) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(9) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0]))) → 1963_1_GROWLIST_INVOKEMETHOD(2049_1_growTree_InvokeMethod(1890_0_growList_NONNULL(java.lang.Object(x0[0])), java.lang.Object(x0[0])), java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[0]))), x1[0])))
1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1890_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))
1963_1_GROWLIST_INVOKEMETHOD(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, x0[2]))) → 1890_0_GROWLIST_NONNULL(x0[2])
1963_1_GROWLIST_INVOKEMETHOD(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(x0[3], x1[3]))) → 1890_0_GROWLIST_NONNULL(x1[3])

The TRS R consists of the following rules:

1890_0_growList_NONNULL(NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0)) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return

The set Q consists of the following terms:

1890_0_growList_NONNULL(NULL)
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0)
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0))

We have to consider all minimal (P,Q,R)-chains.

(10) DependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 3 less nodes.

(11) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1890_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))

The TRS R consists of the following rules:

1890_0_growList_NONNULL(NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, NULL) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0) → 1920_0_growList_Return
2044_1_growList_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0)) → 1920_0_growList_Return
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(GrowTreeR.TreeList(NULL, NULL))) → 1920_0_growList_Return

The set Q consists of the following terms:

1890_0_growList_NONNULL(NULL)
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0)
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0))

We have to consider all minimal (P,Q,R)-chains.

(12) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(13) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1890_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))

R is empty.
The set Q consists of the following terms:

1890_0_growList_NONNULL(NULL)
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0)
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0))

We have to consider all minimal (P,Q,R)-chains.

(14) QReductionProof (EQUIVALENT transformation)

We deleted the following terms from Q as each root-symbol of these terms does neither occur in P nor in R.[THIEMANN].

1890_0_growList_NONNULL(NULL)
2044_1_growList_InvokeMethod(1920_0_growList_Return, x0)
2049_1_growTree_InvokeMethod(1920_0_growList_Return, java.lang.Object(x0))

(15) Obligation:

Q DP problem:
The TRS P consists of the following rules:

1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1890_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.

(16) QDPSizeChangeProof (EQUIVALENT transformation)

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:

  • 1890_0_GROWLIST_NONNULL(java.lang.Object(GrowTreeR.TreeList(java.lang.Object(GrowTreeR.Tree(java.lang.Object(x0[1]))), x1[1]))) → 1890_0_GROWLIST_NONNULL(java.lang.Object(x0[1]))
    The graph contains the following edges 1 > 1

(17) YES

(18) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: GrowTreeR.Tree.createTree(I)LGrowTreeR/Tree;
SCC calls the following helper methods: GrowTreeR.Tree.createTree(I)LGrowTreeR/Tree;
Performed SCC analyses: UsedFieldsAnalysis

(19) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 101 rules for P and 62 rules for R.


P rules:
1274_0_createTree_GT(EOS(STATIC_1274), i230, i230) → 1279_0_createTree_GT(EOS(STATIC_1279), i230, i230)
1279_0_createTree_GT(EOS(STATIC_1279), i230, i230) → 1282_0_createTree_Load(EOS(STATIC_1282), i230) | >(i230, 0)
1282_0_createTree_Load(EOS(STATIC_1282), i230) → 1290_0_createTree_ConstantStackPush(EOS(STATIC_1290), i230)
1290_0_createTree_ConstantStackPush(EOS(STATIC_1290), i230) → 1294_0_createTree_IntArithmetic(EOS(STATIC_1294), i230, 1)
1294_0_createTree_IntArithmetic(EOS(STATIC_1294), i230, matching1) → 1301_0_createTree_Store(EOS(STATIC_1301), -(i230, 1)) | &&(>(i230, 0), =(matching1, 1))
1301_0_createTree_Store(EOS(STATIC_1301), i238) → 1307_0_createTree_New(EOS(STATIC_1307), i238)
1307_0_createTree_New(EOS(STATIC_1307), i238) → 1308_0_createTree_Duplicate(EOS(STATIC_1308), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1308_0_createTree_Duplicate(EOS(STATIC_1308), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1310_0_createTree_InvokeMethod(EOS(STATIC_1310), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1310_0_createTree_InvokeMethod(EOS(STATIC_1310), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1311_0_<init>_Load(EOS(STATIC_1311), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1311_0_<init>_Load(EOS(STATIC_1311), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1313_0_<init>_InvokeMethod(EOS(STATIC_1313), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1313_0_<init>_InvokeMethod(EOS(STATIC_1313), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1315_0_<init>_Load(EOS(STATIC_1315), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1315_0_<init>_Load(EOS(STATIC_1315), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1317_0_<init>_ConstantStackPush(EOS(STATIC_1317), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1317_0_<init>_ConstantStackPush(EOS(STATIC_1317), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1318_0_<init>_FieldAccess(EOS(STATIC_1318), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
1318_0_<init>_FieldAccess(EOS(STATIC_1318), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1320_0_<init>_Return(EOS(STATIC_1320), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1320_0_<init>_Return(EOS(STATIC_1320), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1322_0_createTree_Store(EOS(STATIC_1322), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1322_0_createTree_Store(EOS(STATIC_1322), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1323_0_createTree_InvokeMethod(EOS(STATIC_1323), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1323_0_createTree_InvokeMethod(EOS(STATIC_1323), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1325_0_random_FieldAccess(EOS(STATIC_1325), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1325_0_random_FieldAccess(EOS(STATIC_1325), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 1327_0_random_FieldAccess(EOS(STATIC_1327), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)))
1327_0_random_FieldAccess(EOS(STATIC_1327), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78))) → 1329_0_random_ArrayAccess(EOS(STATIC_1329), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)), i226)
1329_0_random_ArrayAccess(EOS(STATIC_1329), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)), i226) → 1330_0_random_ArrayAccess(EOS(STATIC_1330), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)), i226)
1330_0_random_ArrayAccess(EOS(STATIC_1330), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)), i226) → 1333_0_random_Store(EOS(STATIC_1333), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216) | <(i226, i78)
1333_0_random_Store(EOS(STATIC_1333), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216) → 1336_0_random_FieldAccess(EOS(STATIC_1336), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216)
1336_0_random_FieldAccess(EOS(STATIC_1336), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216) → 1338_0_random_ConstantStackPush(EOS(STATIC_1338), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216, i226)
1338_0_random_ConstantStackPush(EOS(STATIC_1338), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216, i226) → 1341_0_random_IntArithmetic(EOS(STATIC_1341), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216, i226, 1)
1341_0_random_IntArithmetic(EOS(STATIC_1341), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216, i226, matching1) → 1344_0_random_FieldAccess(EOS(STATIC_1344), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216, +(i226, 1)) | &&(>(i226, 0), =(matching1, 1))
1344_0_random_FieldAccess(EOS(STATIC_1344), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216, i240) → 1346_0_random_Load(EOS(STATIC_1346), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216)
1346_0_random_Load(EOS(STATIC_1346), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216) → 1350_0_random_InvokeMethod(EOS(STATIC_1350), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), o216)
1350_0_random_InvokeMethod(EOS(STATIC_1350), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o222sub)) → 1354_0_random_InvokeMethod(EOS(STATIC_1354), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o222sub))
1354_0_random_InvokeMethod(EOS(STATIC_1354), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o222sub)) → 1358_0_length_Load(EOS(STATIC_1358), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o222sub), java.lang.Object(o222sub))
1358_0_length_Load(EOS(STATIC_1358), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o222sub), java.lang.Object(o222sub)) → 1370_0_length_FieldAccess(EOS(STATIC_1370), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(o222sub), java.lang.Object(o222sub))
1370_0_length_FieldAccess(EOS(STATIC_1370), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o226sub, i249)), java.lang.Object(java.lang.String(o226sub, i249))) → 1373_0_length_FieldAccess(EOS(STATIC_1373), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o226sub, i249)), java.lang.Object(java.lang.String(o226sub, i249))) | &&(>=(i249, 0), >=(i250, 0))
1373_0_length_FieldAccess(EOS(STATIC_1373), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o226sub, i249)), java.lang.Object(java.lang.String(o226sub, i249))) → 1380_0_length_Return(EOS(STATIC_1380), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o226sub, i249)), i249)
1380_0_length_Return(EOS(STATIC_1380), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.String(o226sub, i249)), i249) → 1387_0_random_Return(EOS(STATIC_1387), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249)
1387_0_random_Return(EOS(STATIC_1387), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249) → 1390_0_createTree_Store(EOS(STATIC_1390), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249)
1390_0_createTree_Store(EOS(STATIC_1390), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249) → 1397_0_createTree_ConstantStackPush(EOS(STATIC_1397), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249)
1397_0_createTree_ConstantStackPush(EOS(STATIC_1397), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249) → 1404_0_createTree_Store(EOS(STATIC_1404), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249, 0)
1404_0_createTree_Store(EOS(STATIC_1404), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249, matching1) → 1409_0_createTree_Load(EOS(STATIC_1409), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249, 0) | =(matching1, 0)
1409_0_createTree_Load(EOS(STATIC_1409), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249, matching1) → 1791_0_createTree_Load(EOS(STATIC_1791), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), i249, 0) | =(matching1, 0)
1791_0_createTree_Load(EOS(STATIC_1791), i238, java.lang.Object(GrowTreeR.Tree(EOC, o433)), i467, i468) → 2058_0_createTree_Load(EOS(STATIC_2058), i238, java.lang.Object(GrowTreeR.Tree(EOC, o433)), i467, i468)
2058_0_createTree_Load(EOS(STATIC_2058), i238, java.lang.Object(GrowTreeR.Tree(EOC, o625)), i467, i635) → 2616_0_createTree_Load(EOS(STATIC_2616), i238, java.lang.Object(GrowTreeR.Tree(EOC, o625)), i467, i635)
2616_0_createTree_Load(EOS(STATIC_2616), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1245)), i467, i946) → 2932_0_createTree_Load(EOS(STATIC_2932), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1245)), i467, i946)
2932_0_createTree_Load(EOS(STATIC_2932), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182) → 2934_0_createTree_Load(EOS(STATIC_2934), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182)
2934_0_createTree_Load(EOS(STATIC_2934), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182) → 2936_0_createTree_GE(EOS(STATIC_2936), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182, i467)
2936_0_createTree_GE(EOS(STATIC_2936), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182, i467) → 2938_0_createTree_GE(EOS(STATIC_2938), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182, i467)
2938_0_createTree_GE(EOS(STATIC_2938), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182, i467) → 2940_0_createTree_Load(EOS(STATIC_2940), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182) | <(i1182, i467)
2940_0_createTree_Load(EOS(STATIC_2940), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182) → 2943_0_createTree_Load(EOS(STATIC_2943), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)))
2943_0_createTree_Load(EOS(STATIC_2943), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623))) → 2945_0_createTree_ConstantStackPush(EOS(STATIC_2945), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i238)
2945_0_createTree_ConstantStackPush(EOS(STATIC_2945), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i238) → 2948_0_createTree_IntArithmetic(EOS(STATIC_2948), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i238, 1)
2948_0_createTree_IntArithmetic(EOS(STATIC_2948), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i238, matching1) → 2952_0_createTree_InvokeMethod(EOS(STATIC_2952), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), -(i238, 1)) | &&(>=(i238, 0), =(matching1, 1))
2952_0_createTree_InvokeMethod(EOS(STATIC_2952), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1193) → 2953_1_createTree_InvokeMethod(2953_0_createTree_Load(EOS(STATIC_2953), i1193), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1193)
2953_0_createTree_Load(EOS(STATIC_2953), i1193) → 2954_0_createTree_Load(EOS(STATIC_2954), i1193)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(EOS(STATIC_1288), i1197, NULL), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1197) → 2962_0_createTree_Return(EOS(STATIC_2962), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1197, i1197, NULL)
2953_1_createTree_InvokeMethod(2942_0_createTree_Return(EOS(STATIC_2942), java.lang.Object(GrowTreeR.Tree(EOC, o1642))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1212) → 2974_0_createTree_Return(EOS(STATIC_2974), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1212, java.lang.Object(GrowTreeR.Tree(EOC, o1642)))
2954_0_createTree_Load(EOS(STATIC_2954), i1193) → 1271_0_createTree_Load(EOS(STATIC_1271), i1193)
1271_0_createTree_Load(EOS(STATIC_1271), i225) → 1274_0_createTree_GT(EOS(STATIC_1274), i225, i225)
2962_0_createTree_Return(EOS(STATIC_2962), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1197, i1197, NULL) → 2976_0_createTree_InvokeMethod(EOS(STATIC_2976), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL)
2976_0_createTree_InvokeMethod(EOS(STATIC_2976), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL) → 2982_0_addChild_Load(EOS(STATIC_2982), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL)
2982_0_addChild_Load(EOS(STATIC_2982), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL) → 2991_0_addChild_New(EOS(STATIC_2991), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)))
2991_0_addChild_New(EOS(STATIC_2991), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623))) → 3000_0_addChild_Duplicate(EOS(STATIC_3000), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)))
3000_0_addChild_Duplicate(EOS(STATIC_3000), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 3008_0_addChild_Load(EOS(STATIC_3008), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)))
3008_0_addChild_Load(EOS(STATIC_3008), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 3013_0_addChild_Load(EOS(STATIC_3013), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL)
3013_0_addChild_Load(EOS(STATIC_3013), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL) → 3021_0_addChild_FieldAccess(EOS(STATIC_3021), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)))
3021_0_addChild_FieldAccess(EOS(STATIC_3021), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623))) → 3033_0_addChild_InvokeMethod(EOS(STATIC_3033), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623)
3033_0_addChild_InvokeMethod(EOS(STATIC_3033), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623) → 3036_0_<init>_Load(EOS(STATIC_3036), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623)
3036_0_<init>_Load(EOS(STATIC_3036), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623) → 3039_0_<init>_InvokeMethod(EOS(STATIC_3039), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)))
3039_0_<init>_InvokeMethod(EOS(STATIC_3039), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC))) → 3042_0_<init>_Load(EOS(STATIC_3042), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623)
3042_0_<init>_Load(EOS(STATIC_3042), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623) → 3045_0_<init>_Load(EOS(STATIC_3045), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)))
3045_0_<init>_Load(EOS(STATIC_3045), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC))) → 3048_0_<init>_FieldAccess(EOS(STATIC_3048), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL)
3048_0_<init>_FieldAccess(EOS(STATIC_3048), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), NULL) → 3050_0_<init>_Load(EOS(STATIC_3050), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623)
3050_0_<init>_Load(EOS(STATIC_3050), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623) → 3055_0_<init>_Load(EOS(STATIC_3055), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)))
3055_0_<init>_Load(EOS(STATIC_3055), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, o1623, java.lang.Object(GrowTreeR.TreeList(EOC))) → 3058_0_<init>_FieldAccess(EOS(STATIC_3058), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623)
3058_0_<init>_FieldAccess(EOS(STATIC_3058), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623) → 3062_0_<init>_Return(EOS(STATIC_3062), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623)
3062_0_<init>_Return(EOS(STATIC_3062), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), NULL, o1623) → 3065_0_addChild_FieldAccess(EOS(STATIC_3065), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)))
3065_0_addChild_FieldAccess(EOS(STATIC_3065), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), NULL, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 3069_0_addChild_Return(EOS(STATIC_3069), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), NULL)
3069_0_addChild_Return(EOS(STATIC_3069), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), NULL) → 3073_0_createTree_Inc(EOS(STATIC_3073), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182)
3073_0_createTree_Inc(EOS(STATIC_3073), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182) → 3076_0_createTree_JMP(EOS(STATIC_3076), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, +(i1182, 1)) | >=(i1182, 0)
3076_0_createTree_JMP(EOS(STATIC_3076), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1308) → 3079_0_createTree_Load(EOS(STATIC_3079), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1308)
3079_0_createTree_Load(EOS(STATIC_3079), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1308) → 2932_0_createTree_Load(EOS(STATIC_2932), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1308)
2974_0_createTree_Return(EOS(STATIC_2974), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1212, java.lang.Object(GrowTreeR.Tree(EOC, o1642))) → 2980_0_createTree_InvokeMethod(EOS(STATIC_2980), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)))
2980_0_createTree_InvokeMethod(EOS(STATIC_2980), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642))) → 2985_0_addChild_Load(EOS(STATIC_2985), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)))
2985_0_addChild_Load(EOS(STATIC_2985), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642))) → 2998_0_addChild_New(EOS(STATIC_2998), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)))
2998_0_addChild_New(EOS(STATIC_2998), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623))) → 3007_0_addChild_Duplicate(EOS(STATIC_3007), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)))
3007_0_addChild_Duplicate(EOS(STATIC_3007), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 3012_0_addChild_Load(EOS(STATIC_3012), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)))
3012_0_addChild_Load(EOS(STATIC_3012), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 3020_0_addChild_Load(EOS(STATIC_3020), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)))
3020_0_addChild_Load(EOS(STATIC_3020), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642))) → 3032_0_addChild_FieldAccess(EOS(STATIC_3032), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)))
3032_0_addChild_FieldAccess(EOS(STATIC_3032), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623))) → 3035_0_addChild_InvokeMethod(EOS(STATIC_3035), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623)
3035_0_addChild_InvokeMethod(EOS(STATIC_3035), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623) → 3037_0_<init>_Load(EOS(STATIC_3037), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623)
3037_0_<init>_Load(EOS(STATIC_3037), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623) → 3040_0_<init>_InvokeMethod(EOS(STATIC_3040), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)))
3040_0_<init>_InvokeMethod(EOS(STATIC_3040), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC))) → 3043_0_<init>_Load(EOS(STATIC_3043), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623)
3043_0_<init>_Load(EOS(STATIC_3043), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623) → 3046_0_<init>_Load(EOS(STATIC_3046), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)))
3046_0_<init>_Load(EOS(STATIC_3046), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC))) → 3049_0_<init>_FieldAccess(EOS(STATIC_3049), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)))
3049_0_<init>_FieldAccess(EOS(STATIC_3049), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642))) → 3053_0_<init>_Load(EOS(STATIC_3053), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623)
3053_0_<init>_Load(EOS(STATIC_3053), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623) → 3057_0_<init>_Load(EOS(STATIC_3057), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, o1623, java.lang.Object(GrowTreeR.TreeList(EOC)))
3057_0_<init>_Load(EOS(STATIC_3057), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, o1623, java.lang.Object(GrowTreeR.TreeList(EOC))) → 3059_0_<init>_FieldAccess(EOS(STATIC_3059), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623)
3059_0_<init>_FieldAccess(EOS(STATIC_3059), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623, java.lang.Object(GrowTreeR.TreeList(EOC)), o1623) → 3064_0_<init>_Return(EOS(STATIC_3064), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623)
3064_0_<init>_Return(EOS(STATIC_3064), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.TreeList(EOC)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), o1623) → 3067_0_addChild_FieldAccess(EOS(STATIC_3067), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC)))
3067_0_addChild_FieldAccess(EOS(STATIC_3067), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.Tree(EOC, o1642)), java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(GrowTreeR.TreeList(EOC))) → 3072_0_addChild_Return(EOS(STATIC_3072), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), java.lang.Object(GrowTreeR.Tree(EOC, o1642)))
3072_0_addChild_Return(EOS(STATIC_3072), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), java.lang.Object(GrowTreeR.Tree(EOC, o1642))) → 3075_0_createTree_Inc(EOS(STATIC_3075), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182)
3075_0_createTree_Inc(EOS(STATIC_3075), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1182) → 3077_0_createTree_JMP(EOS(STATIC_3077), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, +(i1182, 1)) | >=(i1182, 0)
3077_0_createTree_JMP(EOS(STATIC_3077), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1309) → 3082_0_createTree_Load(EOS(STATIC_3082), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1309)
3082_0_createTree_Load(EOS(STATIC_3082), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1309) → 2932_0_createTree_Load(EOS(STATIC_2932), i238, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), i467, i1309)
R rules:
1274_0_createTree_GT(EOS(STATIC_1274), i229, i229) → 1278_0_createTree_GT(EOS(STATIC_1278), i229, i229)
1278_0_createTree_GT(EOS(STATIC_1278), i229, i229) → 1281_0_createTree_ConstantStackPush(EOS(STATIC_1281), i229) | <=(i229, 0)
1281_0_createTree_ConstantStackPush(EOS(STATIC_1281), i229) → 1288_0_createTree_Return(EOS(STATIC_1288), i229, NULL)
1329_0_random_ArrayAccess(EOS(STATIC_1329), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)), i226) → 1331_0_random_ArrayAccess(EOS(STATIC_1331), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)), i226)
1331_0_random_ArrayAccess(EOS(STATIC_1331), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(ARRAY(i78)), i226) → 1335_0_<init>_Load(EOS(STATIC_1335), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) | >=(i226, i78)
1335_0_<init>_Load(EOS(STATIC_1335), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1340_0_<init>_InvokeMethod(EOS(STATIC_1340), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1340_0_<init>_InvokeMethod(EOS(STATIC_1340), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1343_0_<init>_Load(EOS(STATIC_1343), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1343_0_<init>_Load(EOS(STATIC_1343), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1348_0_<init>_InvokeMethod(EOS(STATIC_1348), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1348_0_<init>_InvokeMethod(EOS(STATIC_1348), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1352_0_<init>_Load(EOS(STATIC_1352), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1350_0_random_InvokeMethod(EOS(STATIC_1350), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1355_0_random_InvokeMethod(EOS(STATIC_1355), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
1352_0_<init>_Load(EOS(STATIC_1352), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1362_0_<init>_InvokeMethod(EOS(STATIC_1362), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1355_0_random_InvokeMethod(EOS(STATIC_1355), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1360_0_random_InvokeMethod(EOS(STATIC_1360), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL)
1360_0_random_InvokeMethod(EOS(STATIC_1360), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), NULL) → 1365_0_<init>_Load(EOS(STATIC_1365), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1362_0_<init>_InvokeMethod(EOS(STATIC_1362), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1367_0_<init>_Load(EOS(STATIC_1367), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1365_0_<init>_Load(EOS(STATIC_1365), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1376_0_<init>_InvokeMethod(EOS(STATIC_1376), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1367_0_<init>_Load(EOS(STATIC_1367), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1378_0_<init>_InvokeMethod(EOS(STATIC_1378), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1376_0_<init>_InvokeMethod(EOS(STATIC_1376), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1383_0_<init>_Load(EOS(STATIC_1383), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1378_0_<init>_InvokeMethod(EOS(STATIC_1378), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1384_0_<init>_Load(EOS(STATIC_1384), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1383_0_<init>_Load(EOS(STATIC_1383), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1393_0_<init>_InvokeMethod(EOS(STATIC_1393), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1384_0_<init>_Load(EOS(STATIC_1384), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1396_0_<init>_InvokeMethod(EOS(STATIC_1396), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1393_0_<init>_InvokeMethod(EOS(STATIC_1393), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1399_0_<init>_Load(EOS(STATIC_1399), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1396_0_<init>_InvokeMethod(EOS(STATIC_1396), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1402_0_<init>_Load(EOS(STATIC_1402), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1399_0_<init>_Load(EOS(STATIC_1399), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1413_0_<init>_InvokeMethod(EOS(STATIC_1413), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1402_0_<init>_Load(EOS(STATIC_1402), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1407_0_<init>_Load(EOS(STATIC_1407), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1407_0_<init>_Load(EOS(STATIC_1407), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1415_0_<init>_FieldAccess(EOS(STATIC_1415), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1413_0_<init>_InvokeMethod(EOS(STATIC_1413), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1419_0_<init>_Load(EOS(STATIC_1419), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1415_0_<init>_FieldAccess(EOS(STATIC_1415), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1424_0_<init>_Load(EOS(STATIC_1424), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1419_0_<init>_Load(EOS(STATIC_1419), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1431_0_<init>_InvokeMethod(EOS(STATIC_1431), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1424_0_<init>_Load(EOS(STATIC_1424), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1426_0_<init>_InvokeMethod(EOS(STATIC_1426), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1426_0_<init>_InvokeMethod(EOS(STATIC_1426), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1433_0_<init>_StackPop(EOS(STATIC_1433), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1431_0_<init>_InvokeMethod(EOS(STATIC_1431), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1439_0_<init>_Load(EOS(STATIC_1439), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1433_0_<init>_StackPop(EOS(STATIC_1433), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1441_0_<init>_Return(EOS(STATIC_1441), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1439_0_<init>_Load(EOS(STATIC_1439), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1447_0_<init>_Load(EOS(STATIC_1447), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1441_0_<init>_Return(EOS(STATIC_1441), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1449_0_<init>_Return(EOS(STATIC_1449), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1447_0_<init>_Load(EOS(STATIC_1447), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1455_0_<init>_FieldAccess(EOS(STATIC_1455), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1449_0_<init>_Return(EOS(STATIC_1449), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1457_0_<init>_Return(EOS(STATIC_1457), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1455_0_<init>_FieldAccess(EOS(STATIC_1455), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1467_0_<init>_Load(EOS(STATIC_1467), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1457_0_<init>_Return(EOS(STATIC_1457), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1469_0_<init>_Return(EOS(STATIC_1469), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))))
1467_0_<init>_Load(EOS(STATIC_1467), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1477_0_<init>_InvokeMethod(EOS(STATIC_1477), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1469_0_<init>_Return(EOS(STATIC_1469), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC))))))) → 1478_0_<init>_Return(EOS(STATIC_1478), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226)
1477_0_<init>_InvokeMethod(EOS(STATIC_1477), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1482_0_<init>_StackPop(EOS(STATIC_1482), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1478_0_<init>_Return(EOS(STATIC_1478), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226) → 1486_0_random_ArrayAccess(EOS(STATIC_1486), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226)
1482_0_<init>_StackPop(EOS(STATIC_1482), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1491_0_<init>_Return(EOS(STATIC_1491), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1486_0_random_ArrayAccess(EOS(STATIC_1486), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), java.lang.Object(ARRAY(i78)), i226) → 1493_0_createTree_InvokeMethod(EOS(STATIC_1493), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
1491_0_<init>_Return(EOS(STATIC_1491), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1496_0_<init>_Return(EOS(STATIC_1496), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1496_0_<init>_Return(EOS(STATIC_1496), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1511_0_<init>_Return(EOS(STATIC_1511), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))))
1511_0_<init>_Return(EOS(STATIC_1511), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL, java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC)))))) → 1520_0_<init>_Return(EOS(STATIC_1520), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL)
1520_0_<init>_Return(EOS(STATIC_1520), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL) → 1539_0_random_InvokeMethod(EOS(STATIC_1539), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL)
1539_0_random_InvokeMethod(EOS(STATIC_1539), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), NULL) → 1549_0_createTree_InvokeMethod(EOS(STATIC_1549), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i238, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2936_0_createTree_GE(EOS(STATIC_2936), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182, i467) → 2937_0_createTree_GE(EOS(STATIC_2937), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182, i467)
2937_0_createTree_GE(EOS(STATIC_2937), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, i1182, i467) → 2939_0_createTree_Load(EOS(STATIC_2939), java.lang.Object(GrowTreeR.Tree(EOC, o1623))) | >=(i1182, i467)
2939_0_createTree_Load(EOS(STATIC_2939), java.lang.Object(GrowTreeR.Tree(EOC, o1623))) → 2942_0_createTree_Return(EOS(STATIC_2942), java.lang.Object(GrowTreeR.Tree(EOC, o1623)))
2953_1_createTree_InvokeMethod(1493_0_createTree_InvokeMethod(EOS(STATIC_1493), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1201, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1202) → 2964_0_createTree_InvokeMethod(EOS(STATIC_2964), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1201, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2953_1_createTree_InvokeMethod(1549_0_createTree_InvokeMethod(EOS(STATIC_1549), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1206, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1207) → 2972_0_createTree_InvokeMethod(EOS(STATIC_2972), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1206, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(EOS(STATIC_2978), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1234, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), i1235, i1236, java.lang.Object(GrowTreeR.Tree(EOC, o1648))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1237) → 2996_0_createTree_InvokeMethod(EOS(STATIC_2996), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1234, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), i1235, i1236, java.lang.Object(GrowTreeR.Tree(EOC, o1648)))
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1258, java.lang.Object(GrowTreeR.Tree(EOC, o1694)), i1259, i1260, java.lang.Object(GrowTreeR.Tree(EOC, o1694))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i1261) → 3030_0_createTree_InvokeMethod(EOS(STATIC_3030), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1258, java.lang.Object(GrowTreeR.Tree(EOC, o1694)), i1259, i1260, java.lang.Object(GrowTreeR.Tree(EOC, o1694)))
2964_0_createTree_InvokeMethod(EOS(STATIC_2964), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1201, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2973_0_createTree_InvokeMethod(EOS(STATIC_2973), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), i1201, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2972_0_createTree_InvokeMethod(EOS(STATIC_2972), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1206, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2973_0_createTree_InvokeMethod(EOS(STATIC_2973), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), i1206, java.lang.Object(GrowTreeR.Tree(EOC, NULL)))
2973_0_createTree_InvokeMethod(EOS(STATIC_2973), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1216, java.lang.Object(GrowTreeR.Tree(EOC, NULL))) → 2978_0_createTree_InvokeMethod(EOS(STATIC_2978), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1648)))
2978_0_createTree_InvokeMethod(EOS(STATIC_2978), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1648))) → 3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1648)))
2996_0_createTree_InvokeMethod(EOS(STATIC_2996), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1234, java.lang.Object(GrowTreeR.Tree(EOC, o1648)), i1235, i1236, java.lang.Object(GrowTreeR.Tree(EOC, o1648))) → 3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)))
3030_0_createTree_InvokeMethod(EOS(STATIC_3030), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1258, java.lang.Object(GrowTreeR.Tree(EOC, o1694)), i1259, i1260, java.lang.Object(GrowTreeR.Tree(EOC, o1694))) → 2996_0_createTree_InvokeMethod(EOS(STATIC_2996), i238, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), i467, i1182, java.lang.Object(GrowTreeR.Tree(EOC, o1623)), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(o1646sub)))), i1258, java.lang.Object(GrowTreeR.Tree(EOC, o1694)), i1259, i1260, java.lang.Object(GrowTreeR.Tree(EOC, o1694)))

Combined rules. Obtained 3 conditional rules for P and 5 conditional rules for R.


P rules:
1274_0_createTree_GT(EOS(STATIC_1274), x0, x0) → 2953_1_createTree_InvokeMethod(1274_0_createTree_GT(EOS(STATIC_1274), -(-(x0, 1), 1), -(-(x0, 1), 1)), -(x0, 1), java.lang.Object(GrowTreeR.Tree(EOC, NULL)), x1, 0, java.lang.Object(GrowTreeR.Tree(EOC, NULL)), -(-(x0, 1), 1)) | &&(>(x1, 0), >(+(x0, 1), 1))
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(EOS(STATIC_1288), x0, NULL), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x0) → 2953_1_createTree_InvokeMethod(1274_0_createTree_GT(EOS(STATIC_1274), -(x1, 1), -(x1, 1)), x1, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), x3, +(x4, 1), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), -(x1, 1)) | &&(&&(>(+(x4, 1), 0), >(x3, +(x4, 1))), >(+(x1, 1), 0))
2953_1_createTree_InvokeMethod(2942_0_createTree_Return(EOS(STATIC_2942), java.lang.Object(GrowTreeR.Tree(EOC, x0))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x5) → 2953_1_createTree_InvokeMethod(1274_0_createTree_GT(EOS(STATIC_1274), -(x1, 1), -(x1, 1)), x1, java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), x3, +(x4, 1), java.lang.Object(GrowTreeR.Tree(EOC, java.lang.Object(GrowTreeR.TreeList(EOC)))), -(x1, 1)) | &&(&&(>(+(x4, 1), 0), >(x3, +(x4, 1))), >(+(x1, 1), 0))
R rules:
1274_0_createTree_GT(EOS(STATIC_1274), x0, x0) → 1288_0_createTree_Return(EOS(STATIC_1288), x0, NULL) | <=(x0, 0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(EOS(STATIC_2978), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x9) → 3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)))
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x9) → 3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(x0)))), x5, java.lang.Object(GrowTreeR.Tree(EOC, x6)), x7, x8, java.lang.Object(GrowTreeR.Tree(EOC, x6)))
2953_1_createTree_InvokeMethod(1493_0_createTree_InvokeMethod(EOS(STATIC_1493), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), x0, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x5) → 3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.IndexOutOfBoundsException(java.lang.ArrayIndexOutOfBoundsException(EOC)))))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)))
2953_1_createTree_InvokeMethod(1549_0_createTree_InvokeMethod(EOS(STATIC_1549), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), x0, java.lang.Object(GrowTreeR.Tree(EOC, NULL))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x5) → 3005_0_createTree_InvokeMethod(EOS(STATIC_3005), java.lang.Object(java.lang.Throwable(java.lang.Exception(java.lang.RuntimeException(java.lang.NullPointerException(EOC))))), x1, java.lang.Object(GrowTreeR.Tree(EOC, x2)), x3, x4, java.lang.Object(GrowTreeR.Tree(EOC, x2)))

Filtered ground terms:



GrowTreeR.TreeList(x1) → GrowTreeR.TreeList
GrowTreeR.Tree(x1, x2) → GrowTreeR.Tree(x2)
1274_0_createTree_GT(x1, x2, x3) → 1274_0_createTree_GT(x2, x3)
2942_0_createTree_Return(x1, x2) → 2942_0_createTree_Return(x2)
1288_0_createTree_Return(x1, x2, x3) → 1288_0_createTree_Return(x2)
Cond_1274_0_createTree_GT(x1, x2, x3, x4, x5) → Cond_1274_0_createTree_GT(x1, x3, x4, x5)
3005_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 3005_0_createTree_InvokeMethod(x2, x3, x4, x5, x6, x7)
java.lang.NullPointerException(x1) → java.lang.NullPointerException
1549_0_createTree_InvokeMethod(x1, x2, x3, x4) → 1549_0_createTree_InvokeMethod(x3)
java.lang.ArrayIndexOutOfBoundsException(x1) → java.lang.ArrayIndexOutOfBoundsException
java.lang.IndexOutOfBoundsException(x1) → java.lang.IndexOutOfBoundsException
1493_0_createTree_InvokeMethod(x1, x2, x3, x4) → 1493_0_createTree_InvokeMethod(x3)
2978_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 2978_0_createTree_InvokeMethod(x2, x3, x4, x5, x6, x7)
Cond_1274_0_createTree_GT(x1, x2, x3, x4) → Cond_1274_0_createTree_GT(x1, x3, x4)

Filtered duplicate args:



1274_0_createTree_GT(x1, x2) → 1274_0_createTree_GT(x2)
Cond_1274_0_createTree_GT(x1, x2, x3, x4) → Cond_1274_0_createTree_GT(x1, x3, x4)
2953_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 2953_1_createTree_InvokeMethod(x1, x2, x4, x5, x6, x7)
Cond_2953_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2953_1_createTree_InvokeMethod(x1, x2, x3, x5, x6, x7)
Cond_2953_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_2953_1_createTree_InvokeMethod1(x1, x2, x3, x5, x6, x7, x8)
Cond_1274_0_createTree_GT(x1, x2, x3) → Cond_1274_0_createTree_GT(x1, x3)
2978_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → 2978_0_createTree_InvokeMethod(x1, x2, x4, x5, x6)
3005_0_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → 3005_0_createTree_InvokeMethod(x1, x2, x4, x5, x6)

Filtered unneeded arguments:



2953_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → 2953_1_createTree_InvokeMethod(x1, x2, x3, x4, x5)
Cond_2953_1_createTree_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_2953_1_createTree_InvokeMethod(x1, x3, x4, x5)
Cond_2953_1_createTree_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_2953_1_createTree_InvokeMethod1(x1, x3, x4, x5)
Cond_1274_0_createTree_GT(x1, x2) → Cond_1274_0_createTree_GT(x1)
3005_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 3005_0_createTree_InvokeMethod(x1)

Filtered all non-integer terms:



2953_1_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 2953_1_createTree_InvokeMethod(x1, x2, x3, x4)
GrowTreeR.Tree(x1) → GrowTreeR.Tree
2942_0_createTree_Return(x1) → 2942_0_createTree_Return
2978_0_createTree_InvokeMethod(x1, x2, x3, x4, x5) → 2978_0_createTree_InvokeMethod(x2, x3, x4)
3005_0_createTree_InvokeMethod(x1) → 3005_0_createTree_InvokeMethod

Combined rules. Obtained 3 conditional rules for P and 5 conditional rules for R.


P rules:
1274_0_createTree_GT(x0) → 2953_1_createTree_InvokeMethod(1274_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0) | &&(>(x1, 0), >(x0, 0))
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x3, x4) → 2953_1_createTree_InvokeMethod(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) | &&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1))
2953_1_createTree_InvokeMethod(2942_0_createTree_Return, x1, x3, x4) → 2953_1_createTree_InvokeMethod(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) | &&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1))
R rules:
1274_0_createTree_GT(x0) → 1288_0_createTree_Return(x0) | <=(x0, 0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(1493_0_createTree_InvokeMethod(x0), x1, x3, x4) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(1549_0_createTree_InvokeMethod(x0), x1, x3, x4) → 3005_0_createTree_InvokeMethod

Performed bisimulation on rules. Used the following equivalence classes: {[1288_0_createTree_Return_1, 1493_0_createTree_InvokeMethod_1, 1549_0_createTree_InvokeMethod_1]=1288_0_createTree_Return_1, [3005_0_createTree_InvokeMethod, 2942_0_createTree_Return]=3005_0_createTree_InvokeMethod}


Finished conversion. Obtained 9 rules for P and 5 rules for R. System has predefined symbols.


P rules:
1274_0_CREATETREE_GT(x0) → COND_1274_0_CREATETREE_GT(&&(>(x1, 0), >(x0, 0)), x0, x1)
COND_1274_0_CREATETREE_GT(TRUE, x0, x1) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0)
COND_1274_0_CREATETREE_GT(TRUE, x0, x1) → 1274_0_CREATETREE_GT(-(-(x0, 1), 1))
2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0), x1, x3, x4) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 1288_0_createTree_Return(x0), x1, x3, x4)
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0), x1, x3, x4) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0), x1, x3, x4) → 1274_0_CREATETREE_GT(-(x1, 1))
2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1, x3, x4) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 3005_0_createTree_InvokeMethod, x1, x3, x4)
COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1, x3, x4) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1, x3, x4) → 1274_0_CREATETREE_GT(-(x1, 1))
R rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(<=(x0, 0), x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x3, x4) → 3005_0_createTree_InvokeMethod

(20) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(x0 <= 0, x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x3, x4) → 3005_0_createTree_InvokeMethod

The integer pair graph contains the following rules and edges:
(0): 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])
(1): COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(2): COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(x0[2] - 1 - 1)
(3): 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(4): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(5): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(x1[5] - 1)
(6): 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(x4[6] > -1 && x3[6] > x4[6] + 1 && x1[6] > -1, 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])
(7): COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[7] - 1), x1[7], x3[7], x4[7] + 1)
(8): COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(x1[8] - 1)

(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1274_0_createTree_GT(x0[1] - 1 - 1) →* 1288_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(1) -> (6), if (1274_0_createTree_GT(x0[1] - 1 - 1) →* 3005_0_createTree_InvokeMethodx0[1] - 1* x1[6]x1[1]* x3[6]0* x4[6])


(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])


(4) -> (3), if (1274_0_createTree_GT(x1[4] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(4) -> (6), if (1274_0_createTree_GT(x1[4] - 1) →* 3005_0_createTree_InvokeMethodx1[4]* x1[6]x3[4]* x3[6]x4[4] + 1* x4[6])


(5) -> (0), if (x1[5] - 1* x0[0])


(6) -> (7), if (x4[6] > -1 && x3[6] > x4[6] + 1 && x1[6] > -1x1[6]* x1[7]x3[6]* x3[7]x4[6]* x4[7])


(6) -> (8), if (x4[6] > -1 && x3[6] > x4[6] + 1 && x1[6] > -1x1[6]* x1[8]x3[6]* x3[8]x4[6]* x4[8])


(7) -> (3), if (1274_0_createTree_GT(x1[7] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[7]* x1[3]x3[7]* x3[3]x4[7] + 1* x4[3])


(7) -> (6), if (1274_0_createTree_GT(x1[7] - 1) →* 3005_0_createTree_InvokeMethodx1[7]* x1[6]x3[7]* x3[6]x4[7] + 1* x4[6])


(8) -> (0), if (x1[8] - 1* x0[0])



The set Q consists of the following terms:
1274_0_createTree_GT(x0)
Cond_1274_0_createTree_GT(TRUE, x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x0, x1, x2)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x2, x3)

(21) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: true Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@3931ceda Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 1274_0_CREATETREE_GT(x0) → COND_1274_0_CREATETREE_GT(&&(>(x1, 0), >(x0, 0)), x0, x1) the following chains were created:
  • We consider the chain COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (1)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (1) using rules (III), (IV) which results in the following new constraint:

    (2)    (&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0))=TRUE1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (7)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (7) using rules (III), (IV) which results in the following new constraint:

    (8)    (&&(>(x1[0], 0), >(-(x1[5], 1), 0))=TRUE1274_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1274_0_CREATETREE_GT(-(x1[5], 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (8) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (9)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (9) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (10)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (10) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (11)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (11) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (12)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(-(x1[8], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (13)    (-(x1[8], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (13) using rules (III), (IV) which results in the following new constraint:

    (14)    (&&(>(x1[0], 0), >(-(x1[8], 1), 0))=TRUE1274_0_CREATETREE_GT(-(x1[8], 1))≥NonInfC∧1274_0_CREATETREE_GT(-(x1[8], 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[8], 1), 0)), -(x1[8], 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (14) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (15)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (15) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (16)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (16) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (17)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (17) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (19)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]1x1[0]=x1[2]11274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (19) using rules (III), (IV) which results in the following new constraint:

    (20)    (&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0))=TRUE1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (20) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (21)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (21) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (22)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (22) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (23)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (23) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (24)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (25)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (25) using rules (III), (IV) which results in the following new constraint:

    (26)    (&&(>(x1[0], 0), >(-(x1[5], 1), 0))=TRUE1274_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1274_0_CREATETREE_GT(-(x1[5], 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (26) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (27)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (27) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (28)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (28) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (29)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (29) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (30)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)



  • We consider the chain COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(-(x1[8], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (31)    (-(x1[8], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (31) using rules (III), (IV) which results in the following new constraint:

    (32)    (&&(>(x1[0], 0), >(-(x1[8], 1), 0))=TRUE1274_0_CREATETREE_GT(-(x1[8], 1))≥NonInfC∧1274_0_CREATETREE_GT(-(x1[8], 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[8], 1), 0)), -(x1[8], 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧[(-1)bso_42] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)







For Pair COND_1274_0_CREATETREE_GT(TRUE, x0, x1) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0) the following chains were created:
  • We consider the chain 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0), 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (37)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_createTree_GT(-(-(x0[1], 1), 1))=1288_0_createTree_Return(x0[3])∧-(x0[1], 1)=x1[3]x1[1]=x3[3]0=x4[3]COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (37) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (38)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUECond_1274_0_createTree_GT(<=(-(-(x0[0], 1), 1), 0), -(-(x0[0], 1), 1))=1288_0_createTree_Return(x0[3]) ⇒ COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (38) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (39)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (39) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (40)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (40) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (41)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (41) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (42)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_44] ≥ 0)



  • We consider the chain 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0), 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) which results in the following constraint:

    (43)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_createTree_GT(-(-(x0[1], 1), 1))=3005_0_createTree_InvokeMethod-(x0[1], 1)=x1[6]x1[1]=x3[6]0=x4[6]COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (43) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (44)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUECond_1274_0_createTree_GT(<=(-(-(x0[0], 1), 1), 0), -(-(x0[0], 1), 1))=3005_0_createTree_InvokeMethodCOND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (44) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (45)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (45) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (46)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (46) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (47)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (47) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (48)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_44] ≥ 0)







For Pair COND_1274_0_CREATETREE_GT(TRUE, x0, x1) → 1274_0_CREATETREE_GT(-(-(x0, 1), 1)) the following chains were created:
  • We consider the chain 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (49)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]-(-(x0[2], 1), 1)=x0[0]1COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (49) using rules (III), (IV) which results in the following new constraint:

    (50)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUECOND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥1274_0_CREATETREE_GT(-(-(x0[0], 1), 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (50) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (51)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] ≥ 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (51) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (52)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] ≥ 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (52) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (53)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_45 + (-1)Bound*bni_45] ≥ 0∧[(-1)bso_46] ≥ 0)



    We simplified constraint (53) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (54)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_45 + (-1)Bound*bni_45] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_46] ≥ 0)







For Pair 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0), x1, x3, x4) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 1288_0_createTree_Return(x0), x1, x3, x4) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) which results in the following constraint:

    (55)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (55) using rules (I), (II), (IV) which results in the following new constraint:

    (56)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (56) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (57)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [bni_47]x4[3] + [bni_47]x0[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (57) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (58)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [bni_47]x4[3] + [bni_47]x0[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (58) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (59)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [bni_47]x4[3] + [bni_47]x0[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (59) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (60)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_47] ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)



  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)) which results in the following constraint:

    (61)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (61) using rules (I), (II), (IV) which results in the following new constraint:

    (62)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (62) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (63)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [bni_47]x4[3] + [bni_47]x0[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (63) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (64)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [bni_47]x4[3] + [bni_47]x0[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (64) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (65)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [bni_47]x4[3] + [bni_47]x0[3] ≥ 0∧[(-1)bso_48] + x4[3] ≥ 0)



    We simplified constraint (65) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (66)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_47] ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)







For Pair COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0), x1, x3, x4) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (67)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]1274_0_createTree_GT(-(x1[4], 1))=1288_0_createTree_Return(x0[3]1)∧x1[4]=x1[3]1x3[4]=x3[3]1+(x4[4], 1)=x4[3]1COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (67) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (68)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUECond_1274_0_createTree_GT(<=(-(x1[3], 1), 0), -(x1[3], 1))=1288_0_createTree_Return(x0[3]1) ⇒ COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (68) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (69)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x0[3] ≥ 0∧[(-1)bso_50] + x0[3] ≥ 0)



    We simplified constraint (69) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (70)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x0[3] ≥ 0∧[(-1)bso_50] + x0[3] ≥ 0)



    We simplified constraint (70) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (71)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x0[3] ≥ 0∧[(-1)bso_50] + x0[3] ≥ 0)



    We simplified constraint (71) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (72)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_49] ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_50] ≥ 0)



  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) which results in the following constraint:

    (73)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]1274_0_createTree_GT(-(x1[4], 1))=3005_0_createTree_InvokeMethodx1[4]=x1[6]x3[4]=x3[6]+(x4[4], 1)=x4[6]COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (73) using rules (I), (II), (III), (IV), (REWRITING) which results in the following new constraint:

    (74)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUECond_1274_0_createTree_GT(<=(-(x1[3], 1), 0), -(x1[3], 1))=3005_0_createTree_InvokeMethodCOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (74) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (75)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x0[3] ≥ 0∧[(-1)bso_50] + x0[3] ≥ 0)



    We simplified constraint (75) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (76)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x0[3] ≥ 0∧[(-1)bso_50] + x0[3] ≥ 0)



    We simplified constraint (76) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (77)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_49 + (-1)Bound*bni_49] + [bni_49]x0[3] ≥ 0∧[(-1)bso_50] + x0[3] ≥ 0)



    We simplified constraint (77) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (78)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_49] ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_50] ≥ 0)







For Pair COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0), x1, x3, x4) → 1274_0_CREATETREE_GT(-(x1, 1)) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (79)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]-(x1[5], 1)=x0[0]COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥1274_0_CREATETREE_GT(-(x1[5], 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (79) using rules (I), (II), (III), (IV) which results in the following new constraint:

    (80)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥1274_0_CREATETREE_GT(-(x1[3], 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (80) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (81)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]x0[3] ≥ 0∧[(-1)bso_52] + x0[3] ≥ 0)



    We simplified constraint (81) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (82)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]x0[3] ≥ 0∧[(-1)bso_52] + x0[3] ≥ 0)



    We simplified constraint (82) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (83)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_51 + (-1)Bound*bni_51] + [bni_51]x0[3] ≥ 0∧[(-1)bso_52] + x0[3] ≥ 0)



    We simplified constraint (83) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (84)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_51] ≥ 0∧[(-1)bni_51 + (-1)Bound*bni_51] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_52] ≥ 0)







For Pair 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1, x3, x4) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 3005_0_createTree_InvokeMethod, x1, x3, x4) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1)) which results in the following constraint:

    (85)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[7]x3[6]=x3[7]x4[6]=x4[7]2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (85) using rule (IV) which results in the following new constraint:

    (86)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUE2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (86) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (87)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(-1)Bound*bni_53] + [bni_53]x4[6] ≥ 0∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (87) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (88)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(-1)Bound*bni_53] + [bni_53]x4[6] ≥ 0∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (88) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (89)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(-1)Bound*bni_53] + [bni_53]x4[6] ≥ 0∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (89) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (90)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_54] ≥ 0)



  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(-(x1[8], 1)) which results in the following constraint:

    (91)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[8]x3[6]=x3[8]x4[6]=x4[8]2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (91) using rule (IV) which results in the following new constraint:

    (92)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUE2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥))



    We simplified constraint (92) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (93)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(-1)Bound*bni_53] + [bni_53]x4[6] ≥ 0∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (93) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (94)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(-1)Bound*bni_53] + [bni_53]x4[6] ≥ 0∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (94) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (95)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[(-1)Bound*bni_53] + [bni_53]x4[6] ≥ 0∧[1 + (-1)bso_54] ≥ 0)



    We simplified constraint (95) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (96)    (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_54] ≥ 0)







For Pair COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1, x3, x4) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1)) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1)), 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (97)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[7]x3[6]=x3[7]x4[6]=x4[7]1274_0_createTree_GT(-(x1[7], 1))=1288_0_createTree_Return(x0[3])∧x1[7]=x1[3]x3[7]=x3[3]+(x4[7], 1)=x4[3]COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (97) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (98)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUECond_1274_0_createTree_GT(<=(-(x1[6], 1), 0), -(x1[6], 1))=1288_0_createTree_Return(x0[3]) ⇒ COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[6], 1)), x1[6], x3[6], +(x4[6], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (98) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (99)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (99) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (100)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (100) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (101)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (101) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (102)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)



  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1)), 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) which results in the following constraint:

    (103)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[7]x3[6]=x3[7]x4[6]=x4[7]1274_0_createTree_GT(-(x1[7], 1))=3005_0_createTree_InvokeMethodx1[7]=x1[6]1x3[7]=x3[6]1+(x4[7], 1)=x4[6]1COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (103) using rules (III), (IV), (REWRITING) which results in the following new constraint:

    (104)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUECond_1274_0_createTree_GT(<=(-(x1[6], 1), 0), -(x1[6], 1))=3005_0_createTree_InvokeMethodCOND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[6], 1)), x1[6], x3[6], +(x4[6], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥))



    We simplified constraint (104) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (105)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (105) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (106)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (106) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (107)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[(-1)bni_55 + (-1)Bound*bni_55] + [bni_55]x4[6] ≥ 0∧[(-1)bso_56] + x4[6] ≥ 0)



    We simplified constraint (107) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (108)    (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)







For Pair COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1, x3, x4) → 1274_0_CREATETREE_GT(-(x1, 1)) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]), COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(-(x1[8], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (109)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUEx1[6]=x1[8]x3[6]=x3[8]x4[6]=x4[8]-(x1[8], 1)=x0[0]COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8])≥1274_0_CREATETREE_GT(-(x1[8], 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(x1[8], 1))), ≥))



    We simplified constraint (109) using rules (III), (IV) which results in the following new constraint:

    (110)    (&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])≥1274_0_CREATETREE_GT(-(x1[6], 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(x1[8], 1))), ≥))



    We simplified constraint (110) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (111)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x4[6] ≥ 0∧[(-1)bso_58] + x4[6] ≥ 0)



    We simplified constraint (111) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (112)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x4[6] ≥ 0∧[(-1)bso_58] + x4[6] ≥ 0)



    We simplified constraint (112) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (113)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[(-1)bni_57 + (-1)Bound*bni_57] + [bni_57]x4[6] ≥ 0∧[(-1)bso_58] + x4[6] ≥ 0)



    We simplified constraint (113) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (114)    (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[bni_57] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_57 + (-1)Bound*bni_57] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_58] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 1274_0_CREATETREE_GT(x0) → COND_1274_0_CREATETREE_GT(&&(>(x1, 0), >(x0, 0)), x0, x1)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] ≥ 0∧0 ≥ 0∧[(-1)bso_42] ≥ 0)

  • COND_1274_0_CREATETREE_GT(TRUE, x0, x1) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0, 1), 1)), -(x0, 1), x1, 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_44] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_43 + (-1)Bound*bni_43] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_44] ≥ 0)

  • COND_1274_0_CREATETREE_GT(TRUE, x0, x1) → 1274_0_CREATETREE_GT(-(-(x0, 1), 1))
    • (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_45 + (-1)Bound*bni_45] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_46] ≥ 0)

  • 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0), x1, x3, x4) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 1288_0_createTree_Return(x0), x1, x3, x4)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_47] ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[bni_47] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_47] ≥ 0∧[(-1)bni_47 + (-1)Bound*bni_47] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_48] ≥ 0)

  • COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0), x1, x3, x4) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_49] ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_50] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_49] ≥ 0∧[(-1)bni_49 + (-1)Bound*bni_49] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_50] ≥ 0)

  • COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0), x1, x3, x4) → 1274_0_CREATETREE_GT(-(x1, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[bni_51] ≥ 0∧[(-1)bni_51 + (-1)Bound*bni_51] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1] ≥ 0∧[(-1)bso_52] ≥ 0)

  • 2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1, x3, x4) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4, -1), >(x3, +(x4, 1))), >(x1, -1)), 3005_0_createTree_InvokeMethod, x1, x3, x4)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_54] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])), ≥)∧[bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)Bound*bni_53] ≥ 0∧0 ≥ 0∧0 ≥ 0∧0 ≥ 0∧[1 + (-1)bso_54] ≥ 0)

  • COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1, x3, x4) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1, 1)), x1, x3, +(x4, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))), ≥)∧[bni_55] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_55 + (-1)Bound*bni_55] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_56] ≥ 0)

  • COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1, x3, x4) → 1274_0_CREATETREE_GT(-(x1, 1))
    • (0 ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[8], 1))), ≥)∧[bni_57] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bni_57 + (-1)Bound*bni_57] ≥ 0∧[1] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[(-1)bso_58] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers with natural coefficients for non-tuple symbols [NONINF][POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(1274_0_createTree_GT(x1)) = x1   
POL(Cond_1274_0_createTree_GT(x1, x2)) = x2   
POL(<=(x1, x2)) = 0   
POL(0) = 0   
POL(1288_0_createTree_Return(x1)) = x1   
POL(2953_1_createTree_InvokeMethod(x1, x2, x3, x4)) = 0   
POL(2978_0_createTree_InvokeMethod(x1, x2, x3)) = 0   
POL(3005_0_createTree_InvokeMethod) = [1]   
POL(1274_0_CREATETREE_GT(x1)) = [-1] + [-1]x1   
POL(COND_1274_0_CREATETREE_GT(x1, x2, x3)) = [-1]   
POL(&&(x1, x2)) = 0   
POL(>(x1, x2)) = 0   
POL(2953_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x4 + x1   
POL(-(x1, x2)) = 0   
POL(1) = 0   
POL(COND_2953_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x2 + [2]x1   
POL(-1) = 0   
POL(+(x1, x2)) = 0   
POL(COND_2953_1_CREATETREE_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = x5 + [-1]x2 + [2]x1   

The following pairs are in P>:

2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])

The following pairs are in Pbound:

1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])
COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))
2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1))
2953_1_CREATETREE_INVOKEMETHOD(3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6]) → COND_2953_1_CREATETREE_INVOKEMETHOD1(&&(&&(>(x4[6], -1), >(x3[6], +(x4[6], 1))), >(x1[6], -1)), 3005_0_createTree_InvokeMethod, x1[6], x3[6], x4[6])
COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))
COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(-(x1[8], 1))

The following pairs are in P:

1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])
COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))
2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1))
COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[7], 1)), x1[7], x3[7], +(x4[7], 1))
COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(-(x1[8], 1))

At least the following rules have been oriented under context sensitive arithmetic replacement:

&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1
&&(FALSE, FALSE)1FALSE1
1274_0_createTree_GT(x0)1Cond_1274_0_createTree_GT(<=(x0, 0), x0)1
Cond_1274_0_createTree_GT(TRUE, x0)11288_0_createTree_Return(x0)1

(22) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(x0 <= 0, x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x3, x4) → 3005_0_createTree_InvokeMethod

The integer pair graph contains the following rules and edges:
(0): 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])
(1): COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(2): COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(x0[2] - 1 - 1)
(3): 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(4): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(5): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(x1[5] - 1)
(7): COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[7], x3[7], x4[7]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[7] - 1), x1[7], x3[7], x4[7] + 1)
(8): COND_2953_1_CREATETREE_INVOKEMETHOD1(TRUE, 3005_0_createTree_InvokeMethod, x1[8], x3[8], x4[8]) → 1274_0_CREATETREE_GT(x1[8] - 1)

(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(5) -> (0), if (x1[5] - 1* x0[0])


(8) -> (0), if (x1[8] - 1* x0[0])


(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1274_0_createTree_GT(x0[1] - 1 - 1) →* 1288_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(4) -> (3), if (1274_0_createTree_GT(x1[4] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(7) -> (3), if (1274_0_createTree_GT(x1[7] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[7]* x1[3]x3[7]* x3[3]x4[7] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])



The set Q consists of the following terms:
1274_0_createTree_GT(x0)
Cond_1274_0_createTree_GT(TRUE, x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x0, x1, x2)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x2, x3)

(23) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 2 less nodes.

(24) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(x0 <= 0, x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x1, x3, x4), x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x5, x7, x8) → 3005_0_createTree_InvokeMethod
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x3, x4) → 3005_0_createTree_InvokeMethod

The integer pair graph contains the following rules and edges:
(2): COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(x0[2] - 1 - 1)
(5): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(x1[5] - 1)
(4): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(3): 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(1): COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(0): 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])

(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(5) -> (0), if (x1[5] - 1* x0[0])


(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1274_0_createTree_GT(x0[1] - 1 - 1) →* 1288_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(4) -> (3), if (1274_0_createTree_GT(x1[4] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])



The set Q consists of the following terms:
1274_0_createTree_GT(x0)
Cond_1274_0_createTree_GT(TRUE, x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x0, x1, x2)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x2, x3)

(25) UsableRulesProof (EQUIVALENT transformation)

As all Q-normal forms are R-normal forms we are in the innermost case. Hence, by the usable rules processor [LPAR04] we can delete all non-usable rules [FROCOS05] from R.

(26) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(x0 <= 0, x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(2): COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(x0[2] - 1 - 1)
(5): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(x1[5] - 1)
(4): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(3): 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(1): COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x0[1] - 1 - 1), x0[1] - 1, x1[1], 0)
(0): 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(x1[0] > 0 && x0[0] > 0, x0[0], x1[0])

(2) -> (0), if (x0[2] - 1 - 1* x0[0])


(5) -> (0), if (x1[5] - 1* x0[0])


(0) -> (1), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[1]x1[0]* x1[1])


(0) -> (2), if (x1[0] > 0 && x0[0] > 0x0[0]* x0[2]x1[0]* x1[2])


(1) -> (3), if (1274_0_createTree_GT(x0[1] - 1 - 1) →* 1288_0_createTree_Return(x0[3])∧x0[1] - 1* x1[3]x1[1]* x3[3]0* x4[3])


(4) -> (3), if (1274_0_createTree_GT(x1[4] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])



The set Q consists of the following terms:
1274_0_createTree_GT(x0)
Cond_1274_0_createTree_GT(TRUE, x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x0, x1, x2)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x2, x3)

(27) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpDefaultShapeHeuristic@bb64568 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 1 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)) the following chains were created:
  • We consider the chain 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (1)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]-(-(x0[2], 1), 1)=x0[0]1COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2])≥1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (1) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (2)    (>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥1274_0_CREATETREE_GT(-(-(x0[0], 1), 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x1[0] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)bni_30 + (-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)







For Pair COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) which results in the following constraint:

    (8)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]-(x1[5], 1)=x0[0]COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5])≥1274_0_CREATETREE_GT(-(x1[5], 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (8) using rules (I), (II), (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (9)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥1274_0_CREATETREE_GT(-(x1[3], 1))∧(UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥))



    We simplified constraint (9) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (10)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_32 + (-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (10) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (11)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_32 + (-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (11) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (12)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧[(-1)bni_32 + (-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (12) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (13)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 = 0∧[(-1)bni_32 + (-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)



    We simplified constraint (13) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (14)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 = 0∧[(-1)bni_32 + (-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)







For Pair COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (15)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]1274_0_createTree_GT(-(x1[4], 1))=1288_0_createTree_Return(x0[3]1)∧x1[4]=x1[3]1x3[4]=x3[3]1+(x4[4], 1)=x4[3]1COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (15) using rules (I), (II), (III), (IV), (VII), (IDP_BOOLEAN), (REWRITING) which results in the following new constraint:

    (16)    (<=(-(x1[3], 1), 0)=x0-(x1[3], 1)=x1Cond_1274_0_createTree_GT(x0, x1)=1288_0_createTree_Return(x0[3]1)∧>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (16) using rule (V) (with possible (I) afterwards) using induction on Cond_1274_0_createTree_GT(x0, x1)=1288_0_createTree_Return(x0[3]1) which results in the following new constraint:

    (17)    (1288_0_createTree_Return(x2)=1288_0_createTree_Return(x0[3]1)∧<=(-(x1[3], 1), 0)=TRUE-(x1[3], 1)=x2>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (17) using rules (I), (II), (IV) which results in the following new constraint:

    (18)    (<=(-(x1[3], 1), 0)=TRUE>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[3], 1)), x1[3], x3[3], +(x4[3], 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥))



    We simplified constraint (18) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (19)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (19) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (20)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (20) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (21)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (21) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (22)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧0 = 0∧[(-1)bso_35] ≥ 0)



    We simplified constraint (22) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (23)    ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧0 = 0∧[(-1)bso_35] ≥ 0)







For Pair 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) which results in the following constraint:

    (24)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (24) using rules (I), (II), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (25)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUE2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (25) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (26)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (26) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (27)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (27) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (28)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (28) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (29)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (29) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (30)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)) which results in the following constraint:

    (31)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[5])∧x1[3]=x1[5]x3[3]=x3[5]x4[3]=x4[5]2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (31) using rules (I), (II), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (32)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUE2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (32) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (33)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (33) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (34)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (34) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (35)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (35) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (36)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)



    We simplified constraint (36) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (37)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)







For Pair COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) the following chains were created:
  • We consider the chain 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0), 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (38)    (&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_createTree_GT(-(-(x0[1], 1), 1))=1288_0_createTree_Return(x0[3])∧-(x0[1], 1)=x1[3]x1[1]=x3[3]0=x4[3]COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (38) using rules (III), (IV), (VII), (IDP_BOOLEAN), (REWRITING) which results in the following new constraint:

    (39)    (<=(-(-(x0[0], 1), 1), 0)=x3-(-(x0[0], 1), 1)=x4Cond_1274_0_createTree_GT(x3, x4)=1288_0_createTree_Return(x0[3])∧>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (39) using rule (V) (with possible (I) afterwards) using induction on Cond_1274_0_createTree_GT(x3, x4)=1288_0_createTree_Return(x0[3]) which results in the following new constraint:

    (40)    (1288_0_createTree_Return(x5)=1288_0_createTree_Return(x0[3])∧<=(-(-(x0[0], 1), 1), 0)=TRUE-(-(x0[0], 1), 1)=x5>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (40) using rules (I), (II), (IV) which results in the following new constraint:

    (41)    (<=(-(-(x0[0], 1), 1), 0)=TRUE>(x1[0], 0)=TRUE>(x0[0], 0)=TRUECOND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥NonInfC∧COND_1274_0_CREATETREE_GT(TRUE, x0[0], x1[0])≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[0], 1), 1)), -(x0[0], 1), x1[0], 0)∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥))



    We simplified constraint (41) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (42)    ([2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[1 + (-1)bso_39] ≥ 0)



    We simplified constraint (42) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (43)    ([2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[1 + (-1)bso_39] ≥ 0)



    We simplified constraint (43) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (44)    ([2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)bni_38 + (-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[1 + (-1)bso_39] ≥ 0)



    We simplified constraint (44) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (45)    ([1] + [-1]x0[0] ≥ 0∧x1[0] + [-1] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[1 + (-1)bso_39] ≥ 0)



    We simplified constraint (45) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (46)    ([1] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[1 + (-1)bso_39] ≥ 0)







For Pair 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]) the following chains were created:
  • We consider the chain COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (47)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (47) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (48)    (>(x1[0], 0)=TRUE>(-(-(x0[2], 1), 1), 0)=TRUE1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (48) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (49)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (49) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (50)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (50) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (51)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (51) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (52)    (x1[0] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (52) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (53)    (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



  • We consider the chain COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0) which results in the following constraint:

    (54)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[1]x1[0]=x1[1]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (54) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (55)    (>(x1[0], 0)=TRUE>(-(x1[5], 1), 0)=TRUE1274_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1274_0_CREATETREE_GT(-(x1[5], 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (55) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (56)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (56) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (57)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (57) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (58)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (58) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (59)    (x1[0] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (59) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (60)    (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



  • We consider the chain COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (61)    (-(-(x0[2], 1), 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]1x1[0]=x1[2]11274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (61) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (62)    (>(x1[0], 0)=TRUE>(-(-(x0[2], 1), 1), 0)=TRUE1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥NonInfC∧1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(-(x0[2], 1), 1), 0)), -(-(x0[2], 1), 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (62) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (63)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (63) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (64)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (64) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (65)    (x1[0] + [-1] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (65) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (66)    (x1[0] ≥ 0∧x0[2] + [-3] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-2)bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (66) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (67)    (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



  • We consider the chain COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1)), 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0]), COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1)) which results in the following constraint:

    (68)    (-(x1[5], 1)=x0[0]&&(>(x1[0], 0), >(x0[0], 0))=TRUEx0[0]=x0[2]x1[0]=x1[2]1274_0_CREATETREE_GT(x0[0])≥NonInfC∧1274_0_CREATETREE_GT(x0[0])≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (68) using rules (III), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (69)    (>(x1[0], 0)=TRUE>(-(x1[5], 1), 0)=TRUE1274_0_CREATETREE_GT(-(x1[5], 1))≥NonInfC∧1274_0_CREATETREE_GT(-(x1[5], 1))≥COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(-(x1[5], 1), 0)), -(x1[5], 1), x1[0])∧(UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥))



    We simplified constraint (69) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (70)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (70) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (71)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (71) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (72)    (x1[0] + [-1] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (72) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (73)    (x1[0] ≥ 0∧x1[5] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[(-1)bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)



    We simplified constraint (73) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (74)    (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))
    • (x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))), ≥)∧[(-1)Bound*bni_30] + [bni_30]x0[0] ≥ 0∧[1 + (-1)bso_31] ≥ 0)

  • COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1))
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(1274_0_CREATETREE_GT(-(x1[5], 1))), ≥)∧0 = 0∧[(-1)bni_32 + (-1)Bound*bni_32] + [bni_32]x1[3] ≥ 0∧0 = 0∧[(-1)bso_33] ≥ 0)

  • COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
    • ([1] + [-1]x1[3] ≥ 0∧x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))), ≥)∧0 = 0∧[(-1)bni_34 + (-1)Bound*bni_34] + [bni_34]x1[3] ≥ 0∧0 = 0∧[(-1)bso_35] ≥ 0)

  • 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_36 + (-1)Bound*bni_36] + [bni_36]x1[3] ≥ 0∧0 = 0∧[(-1)bso_37] ≥ 0)

  • COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
    • ([1] + [-1]x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)), ≥)∧[(-1)Bound*bni_38] + [bni_38]x0[0] ≥ 0∧[1 + (-1)bso_39] ≥ 0)

  • 1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])
    • (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)
    • (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)
    • (x1[0] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x0[2] ≥ 0∧[1 + (-1)bso_41] ≥ 0)
    • (x1[0] ≥ 0∧x1[5] ≥ 0 ⇒ (UIncreasing(COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])), ≥)∧[bni_40 + (-1)Bound*bni_40] + [bni_40]x1[5] ≥ 0∧[1 + (-1)bso_41] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(1274_0_createTree_GT(x1)) = 0   
POL(Cond_1274_0_createTree_GT(x1, x2)) = 0   
POL(<=(x1, x2)) = [-1]   
POL(0) = 0   
POL(1288_0_createTree_Return(x1)) = 0   
POL(COND_1274_0_CREATETREE_GT(x1, x2, x3)) = [-1] + x2 + [-1]x1   
POL(1274_0_CREATETREE_GT(x1)) = x1   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(1) = [1]   
POL(COND_2953_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + x3 + [-1]x2 + [-1]x1   
POL(2953_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + x2 + [-1]x1   
POL(+(x1, x2)) = x1 + x2   
POL(&&(x1, x2)) = 0   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   

The following pairs are in P>:

COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))
COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])

The following pairs are in Pbound:

COND_1274_0_CREATETREE_GT(TRUE, x0[2], x1[2]) → 1274_0_CREATETREE_GT(-(-(x0[2], 1), 1))
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1))
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
COND_1274_0_CREATETREE_GT(TRUE, x0[1], x1[1]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(-(x0[1], 1), 1)), -(x0[1], 1), x1[1], 0)
1274_0_CREATETREE_GT(x0[0]) → COND_1274_0_CREATETREE_GT(&&(>(x1[0], 0), >(x0[0], 0)), x0[0], x1[0])

The following pairs are in P:

COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(-(x1[5], 1))
COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])

At least the following rules have been oriented under context sensitive arithmetic replacement:

1274_0_createTree_GT(x0)1Cond_1274_0_createTree_GT(<=(x0, 0), x0)1
Cond_1274_0_createTree_GT(TRUE, x0)11288_0_createTree_Return(x0)1
&&(TRUE, TRUE)1TRUE1
&&(TRUE, FALSE)1FALSE1
&&(FALSE, TRUE)1FALSE1
&&(FALSE, FALSE)1FALSE1

(28) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(x0 <= 0, x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(5): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[5]), x1[5], x3[5], x4[5]) → 1274_0_CREATETREE_GT(x1[5] - 1)
(4): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)
(3): 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])

(4) -> (3), if (1274_0_createTree_GT(x1[4] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])


(3) -> (5), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[5])∧x1[3]* x1[5]x3[3]* x3[5]x4[3]* x4[5])



The set Q consists of the following terms:
1274_0_createTree_GT(x0)
Cond_1274_0_createTree_GT(TRUE, x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x0, x1, x2)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x2, x3)

(29) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 1 SCC with 1 less node.

(30) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(x0 <= 0, x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(3): 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
(4): COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(x1[4] - 1), x1[4], x3[4], x4[4] + 1)

(4) -> (3), if (1274_0_createTree_GT(x1[4] - 1) →* 1288_0_createTree_Return(x0[3])∧x1[4]* x1[3]x3[4]* x3[3]x4[4] + 1* x4[3])


(3) -> (4), if (x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -11288_0_createTree_Return(x0[3]) →* 1288_0_createTree_Return(x0[4])∧x1[3]* x1[4]x3[3]* x3[4]x4[3]* x4[4])



The set Q consists of the following terms:
1274_0_createTree_GT(x0)
Cond_1274_0_createTree_GT(TRUE, x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x0, x1, x2)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x2, x3)

(31) IDPNonInfProof (SOUND transformation)

Used the following options for this NonInfProof:
IDPGPoloSolver: Range: [(-1,2)] IsNat: false Interpretation Shape Heuristic: aprove.DPFramework.IDPProblem.Processors.nonInf.poly.IdpCand1ShapeHeuristic@3af2c726 Constraint Generator: NonInfConstraintGenerator: PathGenerator: MetricPathGenerator: Max Left Steps: 2 Max Right Steps: 1

The constraints were generated the following way:
The DP Problem is simplified using the Induction Calculus [NONINF] with the following steps:
Note that final constraints are written in bold face.


For Pair 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) the following chains were created:
  • We consider the chain 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) which results in the following constraint:

    (1)    (&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[4])∧x1[3]=x1[4]x3[3]=x3[4]x4[3]=x4[4]2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (1) using rules (I), (II), (IV), (IDP_BOOLEAN) which results in the following new constraint:

    (2)    (>(x1[3], -1)=TRUE>(x4[3], -1)=TRUE>(x3[3], +(x4[3], 1))=TRUE2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥NonInfC∧2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])≥COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])∧(UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥))



    We simplified constraint (2) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (3)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [(-1)bni_18]x1[3] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (3) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (4)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [(-1)bni_18]x1[3] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (4) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (5)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [(-1)bni_18]x1[3] ≥ 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (5) using rule (IDP_UNRESTRICTED_VARS) which results in the following new constraint:

    (6)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] + [-2] + [-1]x4[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[(-1)bni_18 + (-1)Bound*bni_18] + [(-1)bni_18]x4[3] + [bni_18]x3[3] + [(-1)bni_18]x1[3] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[bni_18 + (-1)Bound*bni_18] + [bni_18]x3[3] + [(-1)bni_18]x1[3] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)







For Pair COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)) the following chains were created:
  • We consider the chain COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]), COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1)), 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) which results in the following constraint:

    (8)    (1274_0_createTree_GT(-(x1[4], 1))=1288_0_createTree_Return(x0[3])∧x1[4]=x1[3]x3[4]=x3[3]+(x4[4], 1)=x4[3]&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1))=TRUE1288_0_createTree_Return(x0[3])=1288_0_createTree_Return(x0[4]1)∧x1[3]=x1[4]1x3[3]=x3[4]1x4[3]=x4[4]11274_0_createTree_GT(-(x1[4]1, 1))=1288_0_createTree_Return(x0[3]1)∧x1[4]1=x1[3]1x3[4]1=x3[3]1+(x4[4]1, 1)=x4[3]1COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]1), x1[4]1, x3[4]1, x4[4]1)≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]1), x1[4]1, x3[4]1, x4[4]1)≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (8) using rules (I), (II), (III), (IV), (VII), (IDP_BOOLEAN), (REWRITING) which results in the following new constraint:

    (9)    (<=(-(x1[4], 1), 0)=x0-(x1[4], 1)=x1Cond_1274_0_createTree_GT(x0, x1)=1288_0_createTree_Return(x0[3])∧Cond_1274_0_createTree_GT(<=(-(x1[4], 1), 0), -(x1[4], 1))=1288_0_createTree_Return(x0[3]1)∧>(x1[4], -1)=TRUE>(+(x4[4], 1), -1)=TRUE>(x3[3], +(+(x4[4], 1), 1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[3], +(+(x4[4], 1), 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (9) using rule (V) (with possible (I) afterwards) using induction on Cond_1274_0_createTree_GT(x0, x1)=1288_0_createTree_Return(x0[3]) which results in the following new constraint:

    (10)    (1288_0_createTree_Return(x2)=1288_0_createTree_Return(x0[3])∧<=(-(x1[4], 1), 0)=TRUE-(x1[4], 1)=x2Cond_1274_0_createTree_GT(<=(-(x1[4], 1), 0), -(x1[4], 1))=1288_0_createTree_Return(x0[3]1)∧>(x1[4], -1)=TRUE>(+(x4[4], 1), -1)=TRUE>(x3[3], +(+(x4[4], 1), 1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[3]), x1[4], x3[3], +(x4[4], 1))≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[3], +(+(x4[4], 1), 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (10) using rules (I), (II), (III) which results in the following new constraint:

    (11)    (<=(-(x1[4], 1), 0)=TRUECond_1274_0_createTree_GT(<=(-(x1[4], 1), 0), -(x1[4], 1))=1288_0_createTree_Return(x0[3]1)∧>(x1[4], -1)=TRUE>(+(x4[4], 1), -1)=TRUE>(x3[3], +(+(x4[4], 1), 1))=TRUECOND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(-(x1[4], 1)), x1[4], x3[3], +(x4[4], 1))≥NonInfC∧COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(-(x1[4], 1)), x1[4], x3[3], +(x4[4], 1))≥2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[3], +(+(x4[4], 1), 1))∧(UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥))



    We simplified constraint (11) using rule (POLY_CONSTRAINTS) which results in the following new constraint:

    (12)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x4[4] + [1] ≥ 0∧x3[3] + [-3] + [-1]x4[4] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[(-2)bni_20 + (-1)Bound*bni_20] + [(-1)bni_20]x4[4] + [bni_20]x3[3] + [(-1)bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (12) using rule (IDP_POLY_SIMPLIFY) which results in the following new constraint:

    (13)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x4[4] + [1] ≥ 0∧x3[3] + [-3] + [-1]x4[4] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[(-2)bni_20 + (-1)Bound*bni_20] + [(-1)bni_20]x4[4] + [bni_20]x3[3] + [(-1)bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (13) using rule (POLY_REMOVE_MIN_MAX) which results in the following new constraint:

    (14)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x4[4] + [1] ≥ 0∧x3[3] + [-3] + [-1]x4[4] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[(-2)bni_20 + (-1)Bound*bni_20] + [(-1)bni_20]x4[4] + [bni_20]x3[3] + [(-1)bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (14) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (15)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x3[3] + [-2] + [-1]x4[4] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]x4[4] + [(-1)bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)



    We simplified constraint (15) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (16)    ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x3[3] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]x4[4] + [(-1)bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])
    • (x1[3] ≥ 0∧x4[3] ≥ 0∧x3[3] ≥ 0 ⇒ (UIncreasing(COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])), ≥)∧0 = 0∧[bni_18 + (-1)Bound*bni_18] + [bni_18]x3[3] + [(-1)bni_18]x1[3] ≥ 0∧0 = 0∧[(-1)bso_19] ≥ 0)

  • COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))
    • ([1] + [-1]x1[4] ≥ 0∧x1[4] ≥ 0∧x3[3] ≥ 0∧x4[4] ≥ 0 ⇒ (UIncreasing(2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4]1, 1)), x1[4]1, x3[4]1, +(x4[4]1, 1))), ≥)∧[bni_20 + (-1)Bound*bni_20] + [bni_20]x4[4] + [(-1)bni_20]x1[4] ≥ 0∧[1 + (-1)bso_21] ≥ 0)




The constraints for P> respective Pbound are constructed from P where we just replace every occurence of "t ≥ s" in P by "t > s" respective "t ≥ c". Here c stands for the fresh constant used for Pbound.
Using the following integer polynomial ordering the resulting constraints can be solved
Polynomial interpretation over integers[POLO]:

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(1274_0_createTree_GT(x1)) = [-1] + [-1]x1   
POL(Cond_1274_0_createTree_GT(x1, x2)) = [-1]x2   
POL(<=(x1, x2)) = [-1]   
POL(0) = 0   
POL(1288_0_createTree_Return(x1)) = [-1] + [-1]x1   
POL(2953_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + x3 + [-1]x2   
POL(COND_2953_1_CREATETREE_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + [-1]x5 + x4 + [-1]x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(-(x1, x2)) = x1 + [-1]x2   

The following pairs are in P>:

COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))

The following pairs are in Pbound:

COND_2953_1_CREATETREE_INVOKEMETHOD(TRUE, 1288_0_createTree_Return(x0[4]), x1[4], x3[4], x4[4]) → 2953_1_CREATETREE_INVOKEMETHOD(1274_0_createTree_GT(-(x1[4], 1)), x1[4], x3[4], +(x4[4], 1))

The following pairs are in P:

2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(&&(&&(>(x4[3], -1), >(x3[3], +(x4[3], 1))), >(x1[3], -1)), 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])

At least the following rules have been oriented under context sensitive arithmetic replacement:

Cond_1274_0_createTree_GT(<=(x0, 0), x0)11274_0_createTree_GT(x0)1

(32) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
1274_0_createTree_GT(x0) → Cond_1274_0_createTree_GT(x0 <= 0, x0)
Cond_1274_0_createTree_GT(TRUE, x0) → 1288_0_createTree_Return(x0)

The integer pair graph contains the following rules and edges:
(3): 2953_1_CREATETREE_INVOKEMETHOD(1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3]) → COND_2953_1_CREATETREE_INVOKEMETHOD(x4[3] > -1 && x3[3] > x4[3] + 1 && x1[3] > -1, 1288_0_createTree_Return(x0[3]), x1[3], x3[3], x4[3])


The set Q consists of the following terms:
1274_0_createTree_GT(x0)
Cond_1274_0_createTree_GT(TRUE, x0)
2953_1_createTree_InvokeMethod(2978_0_createTree_InvokeMethod(x0, x1, x2), x3, x4, x5)
2953_1_createTree_InvokeMethod(3005_0_createTree_InvokeMethod, x0, x1, x2)
2953_1_createTree_InvokeMethod(1288_0_createTree_Return(x0), x1, x2, x3)

(33) IDependencyGraphProof (EQUIVALENT transformation)

The approximation of the Dependency Graph [LPAR04,FROCOS05,EDGSTAR] contains 0 SCCs with 1 less node.

(34) TRUE