(0) Obligation:

JBC Problem based on JBC Program:
package AlternatingGrowReduceRec;

public class AlternatingGrowReduceRec {
AlternatingGrowReduceRec next;

public static void main(String[] argv) {
Random.args = argv;
AlternatingGrowReduceRec list = createList(Random.random());
growReduce(0, list);
}

public static void growReduce(int mode, AlternatingGrowReduceRec list) {
if (list == null) return;
if (mode == 0) {
list = list.next.next.next.next;
} else if (mode == 1) {
list = new AlternatingGrowReduceRec(list);
} else if (mode > 1) {
list = new AlternatingGrowReduceRec(new AlternatingGrowReduceRec(list));
}

mode++;
if (mode > 2) {
growReduce(0, list);
} else {
growReduce(mode, list);
}
}

public AlternatingGrowReduceRec(AlternatingGrowReduceRec old) {
this.next = old;
}

public static AlternatingGrowReduceRec createList(int length) {
AlternatingGrowReduceRec res = new AlternatingGrowReduceRec(null);
if (length > 1) {
res.next = createList(length - 1);
}
return res;
}
}


package AlternatingGrowReduceRec;

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

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


(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

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

AlternatingGrowReduceRec.AlternatingGrowReduceRec.createList(I)LAlternatingGrowReduceRec/AlternatingGrowReduceRec;: Graph of 33 nodes with 0 SCCs.

AlternatingGrowReduceRec.AlternatingGrowReduceRec.growReduce(ILAlternatingGrowReduceRec/AlternatingGrowReduceRec;)V: Graph of 269 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: AlternatingGrowReduceRec.AlternatingGrowReduceRec.growReduce(ILAlternatingGrowReduceRec/AlternatingGrowReduceRec;)V
SCC calls the following helper methods: AlternatingGrowReduceRec.AlternatingGrowReduceRec.growReduce(ILAlternatingGrowReduceRec/AlternatingGrowReduceRec;)V
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • AlternatingGrowReduceRec.AlternatingGrowReduceRec: [next]
  • Marker field analysis yielded the following relations that could be markers:

(6) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 115 IRules

P rules:
f17321_0_growReduce_NONNULL(EOS, i633, java.lang.Object(o77198sub), o66057, o66061, i633, java.lang.Object(o77198sub), java.lang.Object(o77198sub)) → f17322_0_growReduce_NONNULL(EOS, i633, java.lang.Object(o77198sub), o66057, o66061, i633, java.lang.Object(o77198sub), java.lang.Object(o77198sub))
f17322_0_growReduce_NONNULL(EOS, i633, java.lang.Object(o77198sub), o66057, o66061, i633, java.lang.Object(o77198sub), java.lang.Object(o77198sub)) → f17324_0_growReduce_Load(EOS, i633, java.lang.Object(o77198sub), o66057, o66061, i633, java.lang.Object(o77198sub))
f17324_0_growReduce_Load(EOS, i633, java.lang.Object(o77198sub), o66057, o66061, i633, java.lang.Object(o77198sub)) → f17326_0_growReduce_NE(EOS, i633, java.lang.Object(o77198sub), o66057, o66061, i633, java.lang.Object(o77198sub), i633)
f17326_0_growReduce_NE(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub), i1607) → f17328_0_growReduce_NE(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub), i1607)
f17326_0_growReduce_NE(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub), matching3) → f17329_0_growReduce_NE(EOS, 0, java.lang.Object(o77198sub), o66057, o66061, 0, java.lang.Object(o77198sub), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f17328_0_growReduce_NE(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub), i1607) → f17330_0_growReduce_Load(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub)) | !(=(i1607, 0))
f17330_0_growReduce_Load(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub)) → f17333_0_growReduce_ConstantStackPush(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub), i1607)
f17333_0_growReduce_ConstantStackPush(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub), i1607) → f17335_0_growReduce_NE(EOS, i1607, java.lang.Object(o77198sub), o66057, o66061, i1607, java.lang.Object(o77198sub), i1607, 1)
f17335_0_growReduce_NE(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub), i1614, matching1) → f17337_0_growReduce_NE(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub), i1614, 1) | =(matching1, 1)
f17335_0_growReduce_NE(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub), matching3, matching4) → f17338_0_growReduce_NE(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(o77198sub), 1, 1) | &&(&&(&&(&&(=(i1607, 1), =(matching1, 1)), =(matching2, 1)), =(matching3, 1)), =(matching4, 1))
f17335_0_growReduce_NE(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), i1615, matching1) → f17339_0_growReduce_NE(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), i1615, 1) | =(matching1, 1)
f17337_0_growReduce_NE(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub), i1614, matching1) → f17341_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub)) | &&(<(i1614, 1), =(matching1, 1))
f17341_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub)) → f17346_0_growReduce_ConstantStackPush(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub), i1614)
f17346_0_growReduce_ConstantStackPush(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub), i1614) → f17351_0_growReduce_LE(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub), i1614, 1)
f17351_0_growReduce_LE(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub), i1614, matching1) → f17356_0_growReduce_Inc(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub)) | &&(<=(i1614, 1), =(matching1, 1))
f17356_0_growReduce_Inc(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1614, java.lang.Object(o77198sub)) → f17361_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, +(i1614, 1), java.lang.Object(o77198sub)) | <(i1614, 0)
f17361_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub)) → f17367_0_growReduce_ConstantStackPush(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub), i1616)
f17367_0_growReduce_ConstantStackPush(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub), i1616) → f17372_0_growReduce_LE(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub), i1616, 2)
f17372_0_growReduce_LE(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub), i1616, matching1) → f17377_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub)) | &&(<=(i1616, 2), =(matching1, 2))
f17377_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub)) → f17384_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(o77198sub), i1616)
f17384_0_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(o77198sub), i1616) → f17391_0_growReduce_InvokeMethod(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub))
f17391_0_growReduce_InvokeMethod(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub)) → f17395_0_growReduce_Load(EOS, i1616, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub))
f17391_0_growReduce_InvokeMethod(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub)) → f17395_1_growReduce_Load(EOS, i1614, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub), i1616, java.lang.Object(o77198sub))
f17395_0_growReduce_Load(EOS, i1616, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub)) → f17401_0_growReduce_Load(EOS, i1616, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub))
f17401_0_growReduce_Load(EOS, i1616, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub)) → f17320_0_growReduce_Load(EOS, i1616, java.lang.Object(o77198sub), o66057, o66061, i1616, java.lang.Object(o77198sub))
f17320_0_growReduce_Load(EOS, i633, o66056, o66057, o66061, i633, o66056) → f17321_0_growReduce_NONNULL(EOS, i633, o66056, o66057, o66061, i633, o66056, o66056)
f17338_0_growReduce_NE(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub), matching3, matching4) → f17342_0_growReduce_New(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(o77198sub)) | &&(&&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 1)), =(matching4, 1))
f17342_0_growReduce_New(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub)) → f17347_0_growReduce_Duplicate(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) | &&(=(matching1, 1), =(matching2, 1))
f17347_0_growReduce_Duplicate(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17352_0_growReduce_Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) | &&(=(matching1, 1), =(matching2, 1))
f17352_0_growReduce_Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17357_0_growReduce_InvokeMethod(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) | &&(=(matching1, 1), =(matching2, 1))
f17357_0_growReduce_InvokeMethod(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17362_0__init__Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) | &&(=(matching1, 1), =(matching2, 1))
f17362_0__init__Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17373_0__init__InvokeMethod(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) | &&(=(matching1, 1), =(matching2, 1))
f17373_0__init__InvokeMethod(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17378_0__init__Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) | &&(=(matching1, 1), =(matching2, 1))
f17378_0__init__Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17385_0__init__Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) | &&(=(matching1, 1), =(matching2, 1))
f17385_0__init__Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17392_0__init__FieldAccess(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) | &&(=(matching1, 1), =(matching2, 1))
f17392_0__init__FieldAccess(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17396_0__init__Return(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(o77198sub)) | &&(=(matching1, 1), =(matching2, 1))
f17396_0__init__Return(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(o77198sub)) → f17402_0_growReduce_Store(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 1), =(matching2, 1))
f17402_0_growReduce_Store(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17408_0_growReduce_JMP(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 1), =(matching2, 1))
f17408_0_growReduce_JMP(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17411_0_growReduce_Inc(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 1), =(matching2, 1))
f17411_0_growReduce_Inc(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17418_0_growReduce_Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 1), =(matching2, 1))
f17418_0_growReduce_Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17424_0_growReduce_ConstantStackPush(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), 2) | &&(=(matching1, 1), =(matching2, 2))
f17424_0_growReduce_ConstantStackPush(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), matching3) → f17428_0_growReduce_LE(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), 2, 2) | &&(&&(=(matching1, 1), =(matching2, 2)), =(matching3, 2))
f17428_0_growReduce_LE(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), matching3, matching4) → f17434_0_growReduce_Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(&&(&&(=(matching1, 1), =(matching2, 2)), =(matching3, 2)), =(matching4, 2))
f17434_0_growReduce_Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17440_0_growReduce_Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), 2) | &&(=(matching1, 1), =(matching2, 2))
f17440_0_growReduce_Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), matching2) → f17444_0_growReduce_InvokeMethod(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 1), =(matching2, 2))
f17444_0_growReduce_InvokeMethod(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17450_0_growReduce_Load(EOS, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), o66057, o66061, java.lang.Object(o77198sub), 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 1), =(matching2, 2))
f17444_0_growReduce_InvokeMethod(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17450_1_growReduce_Load(EOS, 1, java.lang.Object(o77198sub), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 1), =(matching2, 2))
f17450_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), o66057, o66061, java.lang.Object(o77198sub), matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17456_0_growReduce_Load(EOS, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), o66057, o66061, java.lang.Object(o77198sub), 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 2), =(matching2, 2))
f17456_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), o66057, o66061, java.lang.Object(o77198sub), matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17467_0_growReduce_Load(EOS, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) | &&(=(matching1, 2), =(matching2, 2))
f17467_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66057)), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66057))) → f17320_0_growReduce_Load(EOS, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66057)), o66057, o66061, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66057))) | &&(=(matching1, 2), =(matching2, 2))
f17339_0_growReduce_NE(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), i1615, matching1) → f17343_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub)) | &&(>(i1615, 1), =(matching1, 1))
f17343_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub)) → f17348_0_growReduce_ConstantStackPush(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), i1615)
f17348_0_growReduce_ConstantStackPush(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), i1615) → f17353_0_growReduce_LE(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), i1615, 1)
f17353_0_growReduce_LE(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), i1615, matching1) → f17358_0_growReduce_New(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub)) | &&(>(i1615, 1), =(matching1, 1))
f17358_0_growReduce_New(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub)) → f17363_0_growReduce_Duplicate(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17363_0_growReduce_Duplicate(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17368_0_growReduce_New(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17368_0_growReduce_New(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17374_0_growReduce_Duplicate(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17374_0_growReduce_Duplicate(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17379_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17379_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17386_0_growReduce_InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub))
f17386_0_growReduce_InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17393_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub))
f17393_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17403_0__init__InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17403_0__init__InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17409_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub))
f17409_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17412_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17412_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17419_0__init__FieldAccess(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub))
f17419_0__init__FieldAccess(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(o77198sub)) → f17425_0__init__Return(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(o77198sub))
f17425_0__init__Return(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(o77198sub)) → f17429_0_growReduce_InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))
f17429_0_growReduce_InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17435_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))
f17435_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17445_0__init__InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17445_0__init__InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17451_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))
f17451_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17457_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)))
f17457_0__init__Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL))) → f17462_0__init__FieldAccess(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))
f17462_0__init__FieldAccess(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, NULL)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17468_0__init__Return(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))
f17468_0__init__Return(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))) → f17473_0_growReduce_Store(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))))
f17473_0_growReduce_Store(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17478_0_growReduce_Inc(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))))
f17478_0_growReduce_Inc(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1615, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17483_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, +(i1615, 1), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) | >(i1615, 0)
f17483_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1642, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17488_0_growReduce_ConstantStackPush(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1642, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), i1642)
f17488_0_growReduce_ConstantStackPush(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1642, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), i1642) → f17495_0_growReduce_LE(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1642, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), i1642, 2)
f17495_0_growReduce_LE(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, i1642, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), i1642, matching1) → f17501_0_growReduce_ConstantStackPush(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) | &&(>(i1642, 2), =(matching1, 2))
f17501_0_growReduce_ConstantStackPush(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17509_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), 0)
f17509_0_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), matching1) → f17518_0_growReduce_InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) | =(matching1, 0)
f17518_0_growReduce_InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17530_0_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), o66057, o66061, java.lang.Object(o77198sub), 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) | =(matching1, 0)
f17518_0_growReduce_InvokeMethod(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17530_1_growReduce_Load(EOS, i1615, java.lang.Object(o77198sub), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) | =(matching1, 0)
f17530_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), o66057, o66061, java.lang.Object(o77198sub), matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17542_0_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), o66057, o66061, java.lang.Object(o77198sub), 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) | &&(=(matching1, 0), =(matching2, 0))
f17542_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), o66057, o66061, java.lang.Object(o77198sub), matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) → f17571_0_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub))))), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77198sub)))))) | &&(=(matching1, 0), =(matching2, 0))
f17571_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66061)))), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66061))))) → f17320_0_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66061)))), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o66061))))) | &&(=(matching1, 0), =(matching2, 0))
f17329_0_growReduce_NE(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub), matching3) → f17332_0_growReduce_Load(EOS, 0, java.lang.Object(o77198sub), o66057, o66061, 0, java.lang.Object(o77198sub)) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f17332_0_growReduce_Load(EOS, matching1, java.lang.Object(o77198sub), o66057, o66061, matching2, java.lang.Object(o77198sub)) → f17334_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(o77198sub), o66057, o66061, 0, java.lang.Object(o77198sub)) | &&(=(matching1, 0), =(matching2, 0))
f17334_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77205)), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77205))) → f17336_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77205)), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77205))) | &&(=(matching1, 0), =(matching2, 0))
f17336_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77205)), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77205))) → f17340_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77205)), o66057, o66061, 0, o77205) | &&(=(matching1, 0), =(matching2, 0))
f17340_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77208sub))), o66057, o66061, matching2, java.lang.Object(o77208sub)) → f17344_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77208sub))), o66057, o66061, 0, java.lang.Object(o77208sub)) | &&(=(matching1, 0), =(matching2, 0))
f17344_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77212)))), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77212))) → f17349_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77212)))), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77212))) | &&(=(matching1, 0), =(matching2, 0))
f17349_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77212)))), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77212))) → f17354_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77212)))), o66057, o66061, 0, o77212) | &&(=(matching1, 0), =(matching2, 0))
f17354_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77216sub))))), o66057, o66061, matching2, java.lang.Object(o77216sub)) → f17359_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77216sub))))), o66057, o66061, 0, java.lang.Object(o77216sub)) | &&(=(matching1, 0), =(matching2, 0))
f17359_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77219)))))), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77219))) → f17364_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77219)))))), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77219))) | &&(=(matching1, 0), =(matching2, 0))
f17364_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77219)))))), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77219))) → f17369_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77219)))))), o66057, o66061, 0, o77219) | &&(=(matching1, 0), =(matching2, 0))
f17369_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77223sub))))))), o66057, o66061, matching2, java.lang.Object(o77223sub)) → f17375_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(o77223sub))))))), o66057, o66061, 0, java.lang.Object(o77223sub)) | &&(=(matching1, 0), =(matching2, 0))
f17375_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225))) → f17380_0_growReduce_FieldAccess(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225))) | &&(=(matching1, 0), =(matching2, 0))
f17380_0_growReduce_FieldAccess(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225))) → f17387_0_growReduce_Store(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 0, o77225) | &&(=(matching1, 0), =(matching2, 0))
f17387_0_growReduce_Store(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225) → f17394_0_growReduce_JMP(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 0, o77225) | &&(=(matching1, 0), =(matching2, 0))
f17394_0_growReduce_JMP(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225) → f17397_0_growReduce_Inc(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 0, o77225) | &&(=(matching1, 0), =(matching2, 0))
f17397_0_growReduce_Inc(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225) → f17404_0_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 1, o77225) | &&(=(matching1, 0), =(matching2, 0))
f17404_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225) → f17410_0_growReduce_ConstantStackPush(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 1, o77225, 1) | &&(=(matching1, 0), =(matching2, 1))
f17410_0_growReduce_ConstantStackPush(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225, matching3) → f17413_0_growReduce_LE(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 1, o77225, 1) | &&(&&(=(matching1, 0), =(matching2, 1)), =(matching3, 1))
f17413_0_growReduce_LE(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225, matching3) → f17420_0_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 1, o77225) | &&(&&(=(matching1, 0), =(matching2, 1)), =(matching3, 1))
f17420_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225) → f17426_0_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, o77225, 1) | &&(=(matching1, 0), =(matching2, 1))
f17426_0_growReduce_Load(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, o77225, matching2) → f17430_0_growReduce_InvokeMethod(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 1, o77225) | &&(=(matching1, 0), =(matching2, 1))
f17430_0_growReduce_InvokeMethod(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225) → f17436_0_growReduce_Load(EOS, 1, o77225, o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), 1, o77225) | &&(=(matching1, 0), =(matching2, 1))
f17430_0_growReduce_InvokeMethod(EOS, matching1, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, matching2, o77225) → f17436_1_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), o66057, o66061, 1, o77225, 1, o77225) | &&(=(matching1, 0), =(matching2, 1))
f17436_0_growReduce_Load(EOS, matching1, o77225, o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), matching2, o77225) → f17441_0_growReduce_Load(EOS, 1, o77225, o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), 1, o77225) | &&(=(matching1, 1), =(matching2, 1))
f17441_0_growReduce_Load(EOS, matching1, o77225, o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), matching2, o77225) → f17446_0_growReduce_Load(EOS, 1, o77225, o66057, o66061, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, o77225)))))))), 1, o77225) | &&(=(matching1, 1), =(matching2, 1))
f17446_0_growReduce_Load(EOS, matching1, o77321, o77322, o77326, o77327, o77328, o77329, o77330, matching2, o77321) → f17452_0_growReduce_Load(EOS, 1, o77321, o77322, o77326, o77327, o77328, o77329, 1, o77321) | &&(=(matching1, 1), =(matching2, 1))
f17452_0_growReduce_Load(EOS, matching1, o77321, o77322, o77326, o77327, o77328, o77329, matching2, o77321) → f17458_0_growReduce_Load(EOS, 1, o77321, o77322, o77326, o77328, o77329, 1, o77321) | &&(=(matching1, 1), =(matching2, 1))
f17458_0_growReduce_Load(EOS, matching1, o77321, o77322, o77326, o77328, o77329, matching2, o77321) → f17463_0_growReduce_Load(EOS, 1, o77321, o77322, o77326, o77329, 1, o77321) | &&(=(matching1, 1), =(matching2, 1))
f17463_0_growReduce_Load(EOS, matching1, o77321, o77322, o77326, o77329, matching2, o77321) → f17469_0_growReduce_Load(EOS, 1, o77321, o77322, o77326, 1, o77321) | &&(=(matching1, 1), =(matching2, 1))
f17469_0_growReduce_Load(EOS, matching1, o77321, o77322, o77326, matching2, o77321) → f17320_0_growReduce_Load(EOS, 1, o77321, o77322, o77326, 1, o77321) | &&(=(matching1, 1), =(matching2, 1))

Combined rules. Obtained 8 IRules

P rules:
f17321_0_growReduce_NONNULL(EOS, x0, java.lang.Object(x1), x2, x3, x0, java.lang.Object(x1), java.lang.Object(x1)) → f17395_1_growReduce_Load(EOS, x0, java.lang.Object(x1), x2, x3, +(x0, 1), java.lang.Object(x1), +(x0, 1), java.lang.Object(x1)) | &&(<(x0, 1), <(x0, 0))
f17321_0_growReduce_NONNULL(EOS, x0, java.lang.Object(x1), x2, x3, x0, java.lang.Object(x1), java.lang.Object(x1)) → f17321_0_growReduce_NONNULL(EOS, +(x0, 1), java.lang.Object(x1), x2, x3, +(x0, 1), java.lang.Object(x1), java.lang.Object(x1)) | &&(<(x0, 1), <(x0, 0))
f17321_0_growReduce_NONNULL(EOS, 1, java.lang.Object(x1), x2, x3, 1, java.lang.Object(x1), java.lang.Object(x1)) → f17450_1_growReduce_Load(EOS, 1, java.lang.Object(x1), x2, x3, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))), 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))))
f17321_0_growReduce_NONNULL(EOS, 1, java.lang.Object(x1), java.lang.Object(x1), x2, 1, java.lang.Object(x1), java.lang.Object(x1)) → f17321_0_growReduce_NONNULL(EOS, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))), java.lang.Object(x1), x2, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))))
f17321_0_growReduce_NONNULL(EOS, x0, java.lang.Object(x1), x2, x3, x0, java.lang.Object(x1), java.lang.Object(x1)) → f17530_1_growReduce_Load(EOS, x0, java.lang.Object(x1), x2, x3, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))))), 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1)))))) | >(x0, 1)
f17321_0_growReduce_NONNULL(EOS, x0, java.lang.Object(x1), x2, java.lang.Object(x1), x0, java.lang.Object(x1), java.lang.Object(x1)) → f17321_0_growReduce_NONNULL(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))))), x2, java.lang.Object(x1), 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(x1)))))) | >(x0, 1)
f17321_0_growReduce_NONNULL(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, x1)))))))), x2, x3, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, x1)))))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, x1))))))))) → f17436_1_growReduce_Load(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, x1)))))))), x2, x3, 1, x1, 1, x1)
f17321_0_growReduce_NONNULL(EOS, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, x1)))))))), x2, x3, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, x1)))))))), java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(EOC, x1))))))))) → f17321_0_growReduce_NONNULL(EOS, 1, x1, x2, x3, 1, x1, x1)

Filtered ground terms:


f17321_0_growReduce_NONNULL(x1, x2, x3, x4, x5, x6, x7, x8) → f17321_0_growReduce_NONNULL(x2, x3, x4, x5, x6, x7, x8)
Cond_f17321_0_growReduce_NONNULL(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f17321_0_growReduce_NONNULL(x1, x3, x4, x5, x6, x7, x8, x9)
f17395_1_growReduce_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f17395_1_growReduce_Load(x2, x3, x4, x5, x6, x7, x8, x9)
Cond_f17321_0_growReduce_NONNULL1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f17321_0_growReduce_NONNULL1(x1, x3, x4, x5, x6, x7, x8, x9)
f17450_1_growReduce_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f17450_1_growReduce_Load(x3, x4, x5, x7, x9)
Cond_f17321_0_growReduce_NONNULL2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f17321_0_growReduce_NONNULL2(x1, x3, x4, x5, x6, x7, x8, x9)
f17530_1_growReduce_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f17530_1_growReduce_Load(x2, x3, x4, x5, x7, x9)
Cond_f17321_0_growReduce_NONNULL3(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f17321_0_growReduce_NONNULL3(x1, x3, x4, x5, x6, x7, x8, x9)
f17436_1_growReduce_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f17436_1_growReduce_Load(x3, x4, x5, x7, x9)
AlternatingGrowReduceRec.AlternatingGrowReduceRec(x1, x2) → AlternatingGrowReduceRec.AlternatingGrowReduceRec(x2)

Filtered duplicate terms:


f17321_0_growReduce_NONNULL(x1, x2, x3, x4, x5, x6, x7) → f17321_0_growReduce_NONNULL(x3, x4, x5, x7)
Cond_f17321_0_growReduce_NONNULL(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f17321_0_growReduce_NONNULL(x1, x4, x5, x6, x8)
f17395_1_growReduce_Load(x1, x2, x3, x4, x5, x6, x7, x8) → f17395_1_growReduce_Load(x3, x4, x7, x8)
Cond_f17321_0_growReduce_NONNULL1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f17321_0_growReduce_NONNULL1(x1, x4, x5, x6, x8)
f17450_1_growReduce_Load(x1, x2, x3, x4, x5) → f17450_1_growReduce_Load(x2, x3, x5)
Cond_f17321_0_growReduce_NONNULL2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f17321_0_growReduce_NONNULL2(x1, x4, x5, x6, x8)
f17530_1_growReduce_Load(x1, x2, x3, x4, x5, x6) → f17530_1_growReduce_Load(x1, x3, x4, x6)
Cond_f17321_0_growReduce_NONNULL3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f17321_0_growReduce_NONNULL3(x1, x4, x6, x8)
f17436_1_growReduce_Load(x1, x2, x3, x4, x5) → f17436_1_growReduce_Load(x1, x2, x3)

Filtered unneeded terms:


Cond_f17321_0_growReduce_NONNULL(x1, x2, x3, x4, x5) → Cond_f17321_0_growReduce_NONNULL(x1)
Cond_f17321_0_growReduce_NONNULL2(x1, x2, x3, x4, x5) → Cond_f17321_0_growReduce_NONNULL2(x1)
Cond_f17321_0_growReduce_NONNULL3(x1, x2, x3, x4) → Cond_f17321_0_growReduce_NONNULL3(x1, x2, x4)

Prepared 8 rules for path length conversion:

P rules:
f17321_0_growReduce_NONNULL(x2, x3, x0, java.lang.Object(x1)) → f17395_1_growReduce_Load(x2, x3, +(x0, 1), java.lang.Object(x1)) | &&(<(x0, 1), <(x0, 0))
f17321_0_growReduce_NONNULL(x2, x3, x0, java.lang.Object(x1)) → f17321_0_growReduce_NONNULL(x2, x3, +(x0, 1), java.lang.Object(x1)) | &&(<(x0, 1), <(x0, 0))
f17321_0_growReduce_NONNULL(x2, x3, 1, java.lang.Object(x1)) → f17450_1_growReduce_Load(x2, x3, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(x1))))
f17321_0_growReduce_NONNULL(java.lang.Object(x1), x2, 1, java.lang.Object(x1)) → f17321_0_growReduce_NONNULL(java.lang.Object(x1), x2, 2, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(x1))))
f17321_0_growReduce_NONNULL(x2, x3, x0, java.lang.Object(x1)) → f17530_1_growReduce_Load(x0, x2, x3, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(x1)))))) | >(x0, 1)
f17321_0_growReduce_NONNULL(x2, java.lang.Object(x1), x0, java.lang.Object(x1)) → f17321_0_growReduce_NONNULL(x2, java.lang.Object(x1), 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(x1)))))) | >(x0, 1)
f17321_0_growReduce_NONNULL(x2, x3, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(x1))))))))) → f17436_1_growReduce_Load(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(x1)))))))), x2, x3)
f17321_0_growReduce_NONNULL(x2, x3, 0, java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(java.lang.Object(AlternatingGrowReduceRec.AlternatingGrowReduceRec(x1))))))))) → f17321_0_growReduce_NONNULL(x2, x3, 1, x1)

Finished conversion. Obtained 4 rules.

P rules:
f17321_0_growReduce_NONNULL(v30, v31, x6, v32) → f17321_0_growReduce_NONNULL(v33, v34, +(x6, 1), v35) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(<(x6, 1), <(x6, 0)), >(+(v35, 1), 1)), <=(v35, v32)), >(+(v34, 1), 0)), <=(v34, v31)), >(+(v33, 1), 0)), <=(v33, v30)), >(+(v32, 1), 1)), >(+(v31, 1), 0)), >(+(v30, 1), 0))
f17321_0_growReduce_NONNULL(v36, v37, c1, v38) → f17321_0_growReduce_NONNULL(v39, v40, 2, v41) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v41, 1), 3), <=(-(v41, 2), v38)), <=(-(v41, 2), v36)), >(+(v40, 1), 0)), <=(v40, v37)), >(+(v39, 1), 1)), <=(v39, v38)), <=(v39, v36)), >(+(v38, 1), 1)), >(+(v37, 1), 0)), >(+(v36, 1), 1)), =(1, c1))
f17321_0_growReduce_NONNULL(v42, v43, x19, v44) → f17321_0_growReduce_NONNULL(v45, v46, 0, v47) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x19, 1), >(+(v47, 1), 5)), <=(-(v47, 4), v44)), <=(-(v47, 4), v43)), >(+(v46, 1), 1)), <=(v46, v44)), <=(v46, v43)), >(+(v45, 1), 0)), <=(v45, v42)), >(+(v44, 1), 1)), >(+(v43, 1), 1)), >(+(v42, 1), 0))
f17321_0_growReduce_NONNULL(v48, v49, c0, v50) → f17321_0_growReduce_NONNULL(v51, v52, 1, v53) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v53, 1), 0), <=(+(v53, 7), v50)), >(+(v52, 1), 0)), <=(v52, v49)), >(+(v51, 1), 0)), <=(v51, v48)), >(+(v50, 1), 7)), >(+(v49, 1), 0)), >(+(v48, 1), 0)), =(0, c0))

(7) Obligation:

Rules:
f17321_0_growReduce_NONNULL(v30, v31, x6, v32) → f17321_0_growReduce_NONNULL(v33, v34, +(x6, 1), v35) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(<(x6, 1), <(x6, 0)), >(+(v35, 1), 1)), <=(v35, v32)), >(+(v34, 1), 0)), <=(v34, v31)), >(+(v33, 1), 0)), <=(v33, v30)), >(+(v32, 1), 1)), >(+(v31, 1), 0)), >(+(v30, 1), 0))
f17321_0_growReduce_NONNULL(v36, v37, c1, v38) → f17321_0_growReduce_NONNULL(v39, v40, 2, v41) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v41, 1), 3), <=(-(v41, 2), v38)), <=(-(v41, 2), v36)), >(+(v40, 1), 0)), <=(v40, v37)), >(+(v39, 1), 1)), <=(v39, v38)), <=(v39, v36)), >(+(v38, 1), 1)), >(+(v37, 1), 0)), >(+(v36, 1), 1)), =(1, c1))
f17321_0_growReduce_NONNULL(v42, v43, x19, v44) → f17321_0_growReduce_NONNULL(v45, v46, 0, v47) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x19, 1), >(+(v47, 1), 5)), <=(-(v47, 4), v44)), <=(-(v47, 4), v43)), >(+(v46, 1), 1)), <=(v46, v44)), <=(v46, v43)), >(+(v45, 1), 0)), <=(v45, v42)), >(+(v44, 1), 1)), >(+(v43, 1), 1)), >(+(v42, 1), 0))
f17321_0_growReduce_NONNULL(v48, v49, c0, v50) → f17321_0_growReduce_NONNULL(v51, v52, 1, v53) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(v53, 1), 0), <=(+(v53, 7), v50)), >(+(v52, 1), 0)), <=(v52, v49)), >(+(v51, 1), 0)), <=(v51, v48)), >(+(v50, 1), 7)), >(+(v49, 1), 0)), >(+(v48, 1), 0)), =(0, c0))

(8) TerminationGraphProcessor (SOUND transformation)

Constructed the termination graph and obtained 2 non-trivial SCCs.


(9) Complex Obligation (AND)

(10) Obligation:

Rules:
f17321_0_growReduce_NONNULL(x0, x1, x2, x3) → f17321_0_growReduce_NONNULL(x4, x5, +(x2, 1), x6) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(<(x2, 1), <(x2, 0)), >(+(x6, 1), 1)), <=(x6, x3)), >(+(x5, 1), 0)), <=(x5, x1)), >(+(x4, 1), 0)), <=(x4, x0)), >(+(x3, 1), 1)), >(+(x1, 1), 0)), >(+(x0, 1), 0))

(11) PolynomialOrderProcessor (EQUIVALENT transformation)

Found the following polynomial interpretation:


[f17321_0_growReduce_NONNULL(x8, x10, x12, x14)] = -x12

Therefore the following rule(s) have been dropped:


f17321_0_growReduce_NONNULL(x0, x1, x2, x3) → f17321_0_growReduce_NONNULL(x4, x5, +(x2, 1), x6) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(<(x2, 1), <(x2, 0)), >(+(x6, 1), 1)), <=(x6, x3)), >(+(x5, 1), 0)), <=(x5, x1)), >(+(x4, 1), 0)), <=(x4, x0)), >(+(x3, 1), 1)), >(+(x1, 1), 0)), >(+(x0, 1), 0))

(12) YES

(13) Obligation:

Rules:
f17321_0_growReduce_NONNULL(x21, x22, x23, x24) → f17321_0_growReduce_NONNULL(x25, x26, 1, x27) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x27, 1), 0), <=(+(x27, 7), x24)), >(+(x26, 1), 0)), <=(x26, x22)), >(+(x25, 1), 0)), <=(x25, x21)), >(+(x24, 1), 7)), >(+(x22, 1), 0)), >(+(x21, 1), 0)), =(0, x23))
f17321_0_growReduce_NONNULL(x14, x15, x16, x17) → f17321_0_growReduce_NONNULL(x18, x19, 0, x20) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x16, 1), >(+(x20, 1), 5)), <=(-(x20, 4), x17)), <=(-(x20, 4), x15)), >(+(x19, 1), 1)), <=(x19, x17)), <=(x19, x15)), >(+(x18, 1), 0)), <=(x18, x14)), >(+(x17, 1), 1)), >(+(x15, 1), 1)), >(+(x14, 1), 0))
f17321_0_growReduce_NONNULL(x7, x8, x9, x10) → f17321_0_growReduce_NONNULL(x11, x12, 2, x13) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x13, 1), 3), <=(-(x13, 2), x10)), <=(-(x13, 2), x7)), >(+(x12, 1), 0)), <=(x12, x8)), >(+(x11, 1), 1)), <=(x11, x10)), <=(x11, x7)), >(+(x10, 1), 1)), >(+(x8, 1), 0)), >(+(x7, 1), 1)), =(1, x9))

(14) TerminationGraphProcessor (SOUND transformation)

Constructed the termination graph and obtained one non-trivial SCC.



f17321_0_growReduce_NONNULL(x0, x1, x2, x3) → f17321_0_growReduce_NONNULL(x4, x5, 1, x6) | &&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x6, 1), 0), <=(+(x6, 7), x3)), >(+(x5, 1), 0)), <=(x5, x1)), >(+(x4, 1), 0)), <=(x4, x0)), >(+(x3, 1), 7)), >(+(x1, 1), 0)), >(+(x0, 1), 0)), =(0, x2)) and
f17321_0_growReduce_NONNULL(x14, x15, x16, x17) → f17321_0_growReduce_NONNULL(x18, x19, 2, x20) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x20, 1), 3), <=(-(x20, 2), x17)), <=(-(x20, 2), x14)), >(+(x19, 1), 0)), <=(x19, x15)), >(+(x18, 1), 1)), <=(x18, x17)), <=(x18, x14)), >(+(x17, 1), 1)), >(+(x15, 1), 0)), >(+(x14, 1), 1)), =(1, x16))
have been merged into the new rule
f17321_0_growReduce_NONNULL(x0, x1, x2, x3) → f17321_0_growReduce_NONNULL(x18, x19, 2, x20) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x6, 1), 0), <=(+(x6, 7), x3)), >(+(x5, 1), 0)), <=(x5, x1)), >(+(x4, 1), 0)), <=(x4, x0)), >(+(x3, 1), 7)), >(+(x1, 1), 0)), >(+(x0, 1), 0)), =(0, x2)), &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x20, 1), 3), <=(-(x20, 2), x6)), <=(-(x20, 2), x4)), >(+(x19, 1), 0)), <=(x19, x5)), >(+(x18, 1), 1)), <=(x18, x6)), <=(x18, x4)), >(+(x6, 1), 1)), >(+(x5, 1), 0)), >(+(x4, 1), 1)), =(1, 1)))

(15) Obligation:

Rules:
f17321_0_growReduce_NONNULL(x42, x43, x44, x45) → f17321_0_growReduce_NONNULL(x46, x47, 2, x48) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x49, 1), 0), <=(+(x49, 7), x45)), >(+(x50, 1), 0)), <=(x50, x43)), >(+(x51, 1), 0)), <=(x51, x42)), >(+(x45, 1), 7)), >(+(x43, 1), 0)), >(+(x42, 1), 0)), =(0, x44)), &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x48, 1), 3), <=(-(x48, 2), x49)), <=(-(x48, 2), x51)), >(+(x47, 1), 0)), <=(x47, x50)), >(+(x46, 1), 1)), <=(x46, x49)), <=(x46, x51)), >(+(x49, 1), 1)), >(+(x50, 1), 0)), >(+(x51, 1), 1)), =(1, 1)))
f17321_0_growReduce_NONNULL(x7, x8, x9, x10) → f17321_0_growReduce_NONNULL(x11, x12, 0, x13) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x9, 1), >(+(x13, 1), 5)), <=(-(x13, 4), x10)), <=(-(x13, 4), x8)), >(+(x12, 1), 1)), <=(x12, x10)), <=(x12, x8)), >(+(x11, 1), 0)), <=(x11, x7)), >(+(x10, 1), 1)), >(+(x8, 1), 1)), >(+(x7, 1), 0))

(16) LinearRankingProcessor (EQUIVALENT transformation)

Linear ranking:


[f17321_0_growReduce_NONNULL(x)] = 9/2·x3 + 2·x4

where x = (x1, ... ,xn).



Therefore the following rule(s) have been dropped:


f17321_0_growReduce_NONNULL(x0, x1, x2, x3) → f17321_0_growReduce_NONNULL(x4, x5, 2, x6) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x7, 1), 0), <=(+(x7, 7), x3)), >(+(x8, 1), 0)), <=(x8, x1)), >(+(x9, 1), 0)), <=(x9, x0)), >(+(x3, 1), 7)), >(+(x1, 1), 0)), >(+(x0, 1), 0)), =(0, x2)), &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(+(x6, 1), 3), <=(-(x6, 2), x7)), <=(-(x6, 2), x9)), >(+(x5, 1), 0)), <=(x5, x8)), >(+(x4, 1), 1)), <=(x4, x7)), <=(x4, x9)), >(+(x7, 1), 1)), >(+(x8, 1), 0)), >(+(x9, 1), 1)), =(1, 1)))
f17321_0_growReduce_NONNULL(x10, x11, x12, x13) → f17321_0_growReduce_NONNULL(x14, x15, 0, x16) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x12, 1), >(+(x16, 1), 5)), <=(-(x16, 4), x13)), <=(-(x16, 4), x11)), >(+(x15, 1), 1)), <=(x15, x13)), <=(x15, x11)), >(+(x14, 1), 0)), <=(x14, x10)), >(+(x13, 1), 1)), >(+(x11, 1), 1)), >(+(x10, 1), 0))

(17) YES

(18) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: AlternatingGrowReduceRec.AlternatingGrowReduceRec.createList(I)LAlternatingGrowReduceRec/AlternatingGrowReduceRec;
SCC calls the following helper methods: AlternatingGrowReduceRec.AlternatingGrowReduceRec.createList(I)LAlternatingGrowReduceRec/AlternatingGrowReduceRec;
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
  • Marker field analysis yielded the following relations that could be markers:

(19) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 23 IRules

P rules:
f174_0_createList_Duplicate(EOS, i18, i18) → f178_0_createList_ConstantStackPush(EOS, i18, i18)
f178_0_createList_ConstantStackPush(EOS, i18, i18) → f180_0_createList_InvokeMethod(EOS, i18, i18)
f180_0_createList_InvokeMethod(EOS, i18, i18) → f185_0__init__Load(EOS, i18, i18)
f185_0__init__Load(EOS, i18, i18) → f193_0__init__InvokeMethod(EOS, i18, i18)
f193_0__init__InvokeMethod(EOS, i18, i18) → f198_0__init__Load(EOS, i18, i18)
f198_0__init__Load(EOS, i18, i18) → f202_0__init__Load(EOS, i18, i18)
f202_0__init__Load(EOS, i18, i18) → f208_0__init__FieldAccess(EOS, i18, i18)
f208_0__init__FieldAccess(EOS, i18, i18) → f213_0__init__Return(EOS, i18, i18)
f213_0__init__Return(EOS, i18, i18) → f217_0_createList_Store(EOS, i18, i18)
f217_0_createList_Store(EOS, i18, i18) → f219_0_createList_Load(EOS, i18, i18)
f219_0_createList_Load(EOS, i18, i18) → f224_0_createList_ConstantStackPush(EOS, i18, i18, i18)
f224_0_createList_ConstantStackPush(EOS, i18, i18, i18) → f226_0_createList_LE(EOS, i18, i18, i18, 1)
f226_0_createList_LE(EOS, i26, i26, i26, matching1) → f229_0_createList_LE(EOS, i26, i26, i26, 1) | =(matching1, 1)
f229_0_createList_LE(EOS, i26, i26, i26, matching1) → f237_0_createList_Load(EOS, i26, i26) | &&(>(i26, 1), =(matching1, 1))
f237_0_createList_Load(EOS, i26, i26) → f247_0_createList_Load(EOS, i26, i26)
f247_0_createList_Load(EOS, i26, i26) → f257_0_createList_ConstantStackPush(EOS, i26, i26)
f257_0_createList_ConstantStackPush(EOS, i26, i26) → f294_0_createList_IntArithmetic(EOS, i26, i26, 1)
f294_0_createList_IntArithmetic(EOS, i26, i26, matching1) → f297_0_createList_InvokeMethod(EOS, i26, -(i26, 1)) | &&(>(i26, 0), =(matching1, 1))
f297_0_createList_InvokeMethod(EOS, i26, i35) → f301_0_createList_New(EOS, i35, i35)
f297_0_createList_InvokeMethod(EOS, i26, i35) → f301_1_createList_New(EOS, i26, i35, i35)
f301_0_createList_New(EOS, i35, i35) → f305_0_createList_New(EOS, i35, i35)
f305_0_createList_New(EOS, i35, i35) → f169_0_createList_New(EOS, i35, i35)
f169_0_createList_New(EOS, i18, i18) → f174_0_createList_Duplicate(EOS, i18, i18)

Combined rules. Obtained 2 IRules

P rules:
f174_0_createList_Duplicate(EOS, x0, x0) → f301_1_createList_New(EOS, x0, -(x0, 1), -(x0, 1)) | >(x0, 1)
f174_0_createList_Duplicate(EOS, x0, x0) → f174_0_createList_Duplicate(EOS, -(x0, 1), -(x0, 1)) | >(x0, 1)

Filtered ground terms:


f174_0_createList_Duplicate(x1, x2, x3) → f174_0_createList_Duplicate(x2, x3)
Cond_f174_0_createList_Duplicate(x1, x2, x3, x4) → Cond_f174_0_createList_Duplicate(x1, x3, x4)
f301_1_createList_New(x1, x2, x3, x4) → f301_1_createList_New(x2, x3, x4)
Cond_f174_0_createList_Duplicate1(x1, x2, x3, x4) → Cond_f174_0_createList_Duplicate1(x1, x3, x4)

Filtered duplicate terms:


f174_0_createList_Duplicate(x1, x2) → f174_0_createList_Duplicate(x2)
Cond_f174_0_createList_Duplicate(x1, x2, x3) → Cond_f174_0_createList_Duplicate(x1, x3)
f301_1_createList_New(x1, x2, x3) → f301_1_createList_New(x3)
Cond_f174_0_createList_Duplicate1(x1, x2, x3) → Cond_f174_0_createList_Duplicate1(x1, x3)

Filtered unneeded terms:


Cond_f174_0_createList_Duplicate(x1, x2) → Cond_f174_0_createList_Duplicate(x1)

Prepared 2 rules for path length conversion:

P rules:
f174_0_createList_Duplicate(x0) → f301_1_createList_New(-(x0, 1)) | >(x0, 1)
f174_0_createList_Duplicate(x0) → f174_0_createList_Duplicate(-(x0, 1)) | >(x0, 1)

Finished conversion. Obtained 1 rules.

P rules:
f174_0_createList_Duplicate(x1) → f174_0_createList_Duplicate(-(x1, 1)) | >(x1, 1)

(20) Obligation:

Rules:
f174_0_createList_Duplicate(x1) → f174_0_createList_Duplicate(-(x1, 1)) | >(x1, 1)

(21) PolynomialOrderProcessor (EQUIVALENT transformation)

Found the following polynomial interpretation:


[f174_0_createList_Duplicate(x2)] = x2

Therefore the following rule(s) have been dropped:


f174_0_createList_Duplicate(x0) → f174_0_createList_Duplicate(-(x0, 1)) | >(x0, 1)

(22) YES