(0) Obligation:

JBC Problem based on JBC Program:
public class CountMetaListRec {
public static void main(String[] args) {
Random.args = args;
List l = createMetaList();

int count = countMetaList(l);
}

public static int countMetaList(List cur) {
if (cur == null) {
return 0;
} else {
if (cur.value instanceof List) {
List inner = (List) cur.value;
cur.value = inner.next;
cur = new List(inner.value, cur);
}
return 1 + countMetaList(cur.next);
}
}

public static List createMetaList() {
int count = Random.random();
List cur = null;
for (int i = 0; i < count; i++) {
int innerCount = Random.random();
List innerList = null;
for (int j = innerCount; j > 0; j--) {
innerList = new List(null, innerList);
}
cur = new List(innerList, cur);
}

return cur;
}
}

class List {
Object value;
List next;

public List(Object v, List n) {
this.value = v;
this.next = n;
}
}


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:
CountMetaListRec.main([Ljava/lang/String;)V: Graph of 67 nodes with 0 SCCs.

CountMetaListRec.createMetaList()LList;: Graph of 195 nodes with 1 SCC.

CountMetaListRec.countMetaList(LList;)I: Graph of 88 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: CountMetaListRec.countMetaList(LList;)I
SCC calls the following helper methods: CountMetaListRec.countMetaList(LList;)I
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • List: [value, next]
  • Marker field analysis yielded the following relations that could be markers:

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 59 rules for P and 92 rules for R.


P rules:
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub)) → f2164_0_countMetaList_NONNULL(EOS(STATIC_2164), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub))
f2164_0_countMetaList_NONNULL(EOS(STATIC_2164), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub)) → f2168_0_countMetaList_Load(EOS(STATIC_2168), java.lang.Object(o1154sub), java.lang.Object(o1154sub))
f2168_0_countMetaList_Load(EOS(STATIC_2168), java.lang.Object(o1154sub), java.lang.Object(o1154sub)) → f2180_0_countMetaList_FieldAccess(EOS(STATIC_2180), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub))
f2180_0_countMetaList_FieldAccess(EOS(STATIC_2180), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172))) → f2186_0_countMetaList_FieldAccess(EOS(STATIC_2186), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)))
f2186_0_countMetaList_FieldAccess(EOS(STATIC_2186), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172))) → f2191_0_countMetaList_CheckCast(EOS(STATIC_2191), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), o1171)
f2191_0_countMetaList_CheckCast(EOS(STATIC_2191), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(o1182sub)) → f2201_0_countMetaList_CheckCast(EOS(STATIC_2201), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(o1182sub))
f2191_0_countMetaList_CheckCast(EOS(STATIC_2191), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), NULL) → f2202_0_countMetaList_CheckCast(EOS(STATIC_2202), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), NULL)
f2201_0_countMetaList_CheckCast(EOS(STATIC_2201), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2215_0_countMetaList_CheckCast(EOS(STATIC_2215), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2201_0_countMetaList_CheckCast(EOS(STATIC_2201), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(o1185sub)) → f2216_0_countMetaList_CheckCast(EOS(STATIC_2216), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(o1185sub))
f2215_0_countMetaList_CheckCast(EOS(STATIC_2215), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2229_0_countMetaList_EQ(EOS(STATIC_2229), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), 1)
f2229_0_countMetaList_EQ(EOS(STATIC_2229), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), matching1) → f2248_0_countMetaList_Load(EOS(STATIC_2248), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) | &&(>(1, 0), =(matching1, 1))
f2248_0_countMetaList_Load(EOS(STATIC_2248), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) → f2261_0_countMetaList_FieldAccess(EOS(STATIC_2261), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)))
f2261_0_countMetaList_FieldAccess(EOS(STATIC_2261), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) → f2274_0_countMetaList_CheckCast(EOS(STATIC_2274), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2274_0_countMetaList_CheckCast(EOS(STATIC_2274), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2281_0_countMetaList_Store(EOS(STATIC_2281), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2281_0_countMetaList_Store(EOS(STATIC_2281), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2296_0_countMetaList_Load(EOS(STATIC_2296), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2296_0_countMetaList_Load(EOS(STATIC_2296), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2307_0_countMetaList_Load(EOS(STATIC_2307), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)))
f2307_0_countMetaList_Load(EOS(STATIC_2307), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) → f2317_0_countMetaList_FieldAccess(EOS(STATIC_2317), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2317_0_countMetaList_FieldAccess(EOS(STATIC_2317), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257))) → f2341_0_countMetaList_FieldAccess(EOS(STATIC_2341), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)))
f2341_0_countMetaList_FieldAccess(EOS(STATIC_2341), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257))) → f2360_0_countMetaList_FieldAccess(EOS(STATIC_2360), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), o1257)
f2360_0_countMetaList_FieldAccess(EOS(STATIC_2360), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), o1257) → f2373_0_countMetaList_New(EOS(STATIC_2373), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)))
f2373_0_countMetaList_New(EOS(STATIC_2373), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257))) → f2389_0_countMetaList_Duplicate(EOS(STATIC_2389), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL)))
f2389_0_countMetaList_Duplicate(EOS(STATIC_2389), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL))) → f2404_0_countMetaList_Load(EOS(STATIC_2404), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)))
f2404_0_countMetaList_Load(EOS(STATIC_2404), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL))) → f2441_0_countMetaList_FieldAccess(EOS(STATIC_2441), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1256, o1257)))
f2441_0_countMetaList_FieldAccess(EOS(STATIC_2441), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1256, o1257))) → f2526_0_countMetaList_Load(EOS(STATIC_2526), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256)
f2526_0_countMetaList_Load(EOS(STATIC_2526), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256) → f2563_0_countMetaList_InvokeMethod(EOS(STATIC_2563), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f2563_0_countMetaList_InvokeMethod(EOS(STATIC_2563), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f2577_0__init__Load(EOS(STATIC_2577), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f2577_0__init__Load(EOS(STATIC_2577), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f2594_0__init__InvokeMethod(EOS(STATIC_2594), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)))
f2594_0__init__InvokeMethod(EOS(STATIC_2594), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL))) → f2719_0__init__Load(EOS(STATIC_2719), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f2719_0__init__Load(EOS(STATIC_2719), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f2808_0__init__Load(EOS(STATIC_2808), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)))
f2808_0__init__Load(EOS(STATIC_2808), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL))) → f2825_0__init__FieldAccess(EOS(STATIC_2825), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256)
f2825_0__init__FieldAccess(EOS(STATIC_2825), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256) → f2845_0__init__Load(EOS(STATIC_2845), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172)))
f2845_0__init__Load(EOS(STATIC_2845), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172))) → f2864_0__init__Load(EOS(STATIC_2864), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)))
f2864_0__init__Load(EOS(STATIC_2864), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL))) → f2976_0__init__FieldAccess(EOS(STATIC_2976), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172)))
f2976_0__init__FieldAccess(EOS(STATIC_2976), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172))) → f3057_0__init__Return(EOS(STATIC_3057), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f3057_0__init__Return(EOS(STATIC_3057), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f3072_0_countMetaList_Store(EOS(STATIC_3072), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))))
f3072_0_countMetaList_Store(EOS(STATIC_3072), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) → f3095_0_countMetaList_ConstantStackPush(EOS(STATIC_3095), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))))
f3095_0_countMetaList_ConstantStackPush(EOS(STATIC_3095), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) → f3107_0_countMetaList_Load(EOS(STATIC_3107), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), 1)
f3107_0_countMetaList_Load(EOS(STATIC_3107), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), matching1) → f3196_0_countMetaList_FieldAccess(EOS(STATIC_3196), java.lang.Object(List(EOC, o1257, o1172)), 1, java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) | =(matching1, 1)
f3196_0_countMetaList_FieldAccess(EOS(STATIC_3196), java.lang.Object(List(EOC, o1257, o1172)), matching1, java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) → f3314_0_countMetaList_InvokeMethod(EOS(STATIC_3314), java.lang.Object(List(EOC, o1257, o1172)), 1, java.lang.Object(List(EOC, o1257, o1172))) | =(matching1, 1)
f3314_0_countMetaList_InvokeMethod(EOS(STATIC_3314), java.lang.Object(List(EOC, o1257, o1172)), matching1, java.lang.Object(List(EOC, o1257, o1172))) → f3345_1_countMetaList_InvokeMethod(f3345_0_countMetaList_Load(EOS(STATIC_3345), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172))), java.lang.Object(List(EOC, o1257, o1172)), 1, java.lang.Object(List(EOC, o1257, o1172))) | =(matching1, 1)
f3345_0_countMetaList_Load(EOS(STATIC_3345), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172))) → f3371_0_countMetaList_Load(EOS(STATIC_3371), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)))
f3371_0_countMetaList_Load(EOS(STATIC_3371), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172))) → f2150_0_countMetaList_Load(EOS(STATIC_2150), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)))
f2150_0_countMetaList_Load(EOS(STATIC_2150), o1147, o1147) → f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), o1147, o1147, o1147)
f2216_0_countMetaList_CheckCast(EOS(STATIC_2216), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(o1185sub)) → f2243_0_countMetaList_EQ(EOS(STATIC_2243), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 0)
f2243_0_countMetaList_EQ(EOS(STATIC_2243), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1) → f2253_0_countMetaList_ConstantStackPush(EOS(STATIC_2253), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) | =(matching1, 0)
f2253_0_countMetaList_ConstantStackPush(EOS(STATIC_2253), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) → f2266_0_countMetaList_Load(EOS(STATIC_2266), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1)
f2266_0_countMetaList_Load(EOS(STATIC_2266), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1) → f2276_0_countMetaList_FieldAccess(EOS(STATIC_2276), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1, java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) | =(matching1, 1)
f2276_0_countMetaList_FieldAccess(EOS(STATIC_2276), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1, java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) → f2287_0_countMetaList_InvokeMethod(EOS(STATIC_2287), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1, o1172) | =(matching1, 1)
f2287_0_countMetaList_InvokeMethod(EOS(STATIC_2287), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1, o1172) → f2299_1_countMetaList_InvokeMethod(f2299_0_countMetaList_Load(EOS(STATIC_2299), o1172, o1172), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1, o1172) | =(matching1, 1)
f2299_0_countMetaList_Load(EOS(STATIC_2299), o1172, o1172) → f2310_0_countMetaList_Load(EOS(STATIC_2310), o1172, o1172)
f2310_0_countMetaList_Load(EOS(STATIC_2310), o1172, o1172) → f2150_0_countMetaList_Load(EOS(STATIC_2150), o1172, o1172)
f2202_0_countMetaList_CheckCast(EOS(STATIC_2202), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), NULL) → f2221_0_countMetaList_EQ(EOS(STATIC_2221), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), 0)
f2221_0_countMetaList_EQ(EOS(STATIC_2221), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), matching1) → f2244_0_countMetaList_ConstantStackPush(EOS(STATIC_2244), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172))) | =(matching1, 0)
f2244_0_countMetaList_ConstantStackPush(EOS(STATIC_2244), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172))) → f2257_0_countMetaList_Load(EOS(STATIC_2257), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), 1)
f2257_0_countMetaList_Load(EOS(STATIC_2257), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), matching1) → f2269_0_countMetaList_FieldAccess(EOS(STATIC_2269), java.lang.Object(List(EOC, NULL, o1172)), 1, java.lang.Object(List(EOC, NULL, o1172))) | =(matching1, 1)
f2269_0_countMetaList_FieldAccess(EOS(STATIC_2269), java.lang.Object(List(EOC, NULL, o1172)), matching1, java.lang.Object(List(EOC, NULL, o1172))) → f2278_0_countMetaList_InvokeMethod(EOS(STATIC_2278), java.lang.Object(List(EOC, NULL, o1172)), 1, o1172) | =(matching1, 1)
f2278_0_countMetaList_InvokeMethod(EOS(STATIC_2278), java.lang.Object(List(EOC, NULL, o1172)), matching1, o1172) → f2293_1_countMetaList_InvokeMethod(f2293_0_countMetaList_Load(EOS(STATIC_2293), o1172, o1172), java.lang.Object(List(EOC, NULL, o1172)), 1, o1172) | =(matching1, 1)
f2293_0_countMetaList_Load(EOS(STATIC_2293), o1172, o1172) → f2304_0_countMetaList_Load(EOS(STATIC_2304), o1172, o1172)
f2304_0_countMetaList_Load(EOS(STATIC_2304), o1172, o1172) → f2150_0_countMetaList_Load(EOS(STATIC_2150), o1172, o1172)
R rules:
f2150_0_countMetaList_Load(EOS(STATIC_2150), o1147, o1147) → f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), o1147, o1147, o1147)
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub)) → f2164_0_countMetaList_NONNULL(EOS(STATIC_2164), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub))
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), NULL, NULL, NULL) → f2165_0_countMetaList_NONNULL(EOS(STATIC_2165), NULL, NULL, NULL)
f2164_0_countMetaList_NONNULL(EOS(STATIC_2164), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub)) → f2168_0_countMetaList_Load(EOS(STATIC_2168), java.lang.Object(o1154sub), java.lang.Object(o1154sub))
f2165_0_countMetaList_NONNULL(EOS(STATIC_2165), NULL, NULL, NULL) → f2176_0_countMetaList_ConstantStackPush(EOS(STATIC_2176), NULL, NULL)
f2168_0_countMetaList_Load(EOS(STATIC_2168), java.lang.Object(o1154sub), java.lang.Object(o1154sub)) → f2180_0_countMetaList_FieldAccess(EOS(STATIC_2180), java.lang.Object(o1154sub), java.lang.Object(o1154sub), java.lang.Object(o1154sub))
f2176_0_countMetaList_ConstantStackPush(EOS(STATIC_2176), NULL, NULL) → f2184_0_countMetaList_Return(EOS(STATIC_2184), NULL, NULL, 0)
f2180_0_countMetaList_FieldAccess(EOS(STATIC_2180), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172))) → f2186_0_countMetaList_FieldAccess(EOS(STATIC_2186), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)))
f2186_0_countMetaList_FieldAccess(EOS(STATIC_2186), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172))) → f2191_0_countMetaList_CheckCast(EOS(STATIC_2191), java.lang.Object(List(EOC, o1171, o1172)), java.lang.Object(List(EOC, o1171, o1172)), o1171)
f2191_0_countMetaList_CheckCast(EOS(STATIC_2191), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(o1182sub)) → f2201_0_countMetaList_CheckCast(EOS(STATIC_2201), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1182sub), o1172)), java.lang.Object(o1182sub))
f2191_0_countMetaList_CheckCast(EOS(STATIC_2191), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), NULL) → f2202_0_countMetaList_CheckCast(EOS(STATIC_2202), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), NULL)
f2201_0_countMetaList_CheckCast(EOS(STATIC_2201), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2215_0_countMetaList_CheckCast(EOS(STATIC_2215), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2201_0_countMetaList_CheckCast(EOS(STATIC_2201), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(o1185sub)) → f2216_0_countMetaList_CheckCast(EOS(STATIC_2216), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(o1185sub))
f2202_0_countMetaList_CheckCast(EOS(STATIC_2202), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), NULL) → f2221_0_countMetaList_EQ(EOS(STATIC_2221), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), 0)
f2215_0_countMetaList_CheckCast(EOS(STATIC_2215), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2229_0_countMetaList_EQ(EOS(STATIC_2229), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), 1)
f2216_0_countMetaList_CheckCast(EOS(STATIC_2216), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(o1185sub)) → f2243_0_countMetaList_EQ(EOS(STATIC_2243), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 0)
f2221_0_countMetaList_EQ(EOS(STATIC_2221), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), matching1) → f2244_0_countMetaList_ConstantStackPush(EOS(STATIC_2244), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172))) | =(matching1, 0)
f2229_0_countMetaList_EQ(EOS(STATIC_2229), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), matching1) → f2248_0_countMetaList_Load(EOS(STATIC_2248), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) | &&(>(1, 0), =(matching1, 1))
f2243_0_countMetaList_EQ(EOS(STATIC_2243), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1) → f2253_0_countMetaList_ConstantStackPush(EOS(STATIC_2253), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) | =(matching1, 0)
f2244_0_countMetaList_ConstantStackPush(EOS(STATIC_2244), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172))) → f2257_0_countMetaList_Load(EOS(STATIC_2257), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), 1)
f2248_0_countMetaList_Load(EOS(STATIC_2248), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) → f2261_0_countMetaList_FieldAccess(EOS(STATIC_2261), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)))
f2253_0_countMetaList_ConstantStackPush(EOS(STATIC_2253), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) → f2266_0_countMetaList_Load(EOS(STATIC_2266), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1)
f2257_0_countMetaList_Load(EOS(STATIC_2257), java.lang.Object(List(EOC, NULL, o1172)), java.lang.Object(List(EOC, NULL, o1172)), matching1) → f2269_0_countMetaList_FieldAccess(EOS(STATIC_2269), java.lang.Object(List(EOC, NULL, o1172)), 1, java.lang.Object(List(EOC, NULL, o1172))) | =(matching1, 1)
f2261_0_countMetaList_FieldAccess(EOS(STATIC_2261), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) → f2274_0_countMetaList_CheckCast(EOS(STATIC_2274), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2266_0_countMetaList_Load(EOS(STATIC_2266), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1) → f2276_0_countMetaList_FieldAccess(EOS(STATIC_2276), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1, java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) | =(matching1, 1)
f2269_0_countMetaList_FieldAccess(EOS(STATIC_2269), java.lang.Object(List(EOC, NULL, o1172)), matching1, java.lang.Object(List(EOC, NULL, o1172))) → f2278_0_countMetaList_InvokeMethod(EOS(STATIC_2278), java.lang.Object(List(EOC, NULL, o1172)), 1, o1172) | =(matching1, 1)
f2274_0_countMetaList_CheckCast(EOS(STATIC_2274), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2281_0_countMetaList_Store(EOS(STATIC_2281), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2276_0_countMetaList_FieldAccess(EOS(STATIC_2276), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1, java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172))) → f2287_0_countMetaList_InvokeMethod(EOS(STATIC_2287), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1, o1172) | =(matching1, 1)
f2278_0_countMetaList_InvokeMethod(EOS(STATIC_2278), java.lang.Object(List(EOC, NULL, o1172)), matching1, o1172) → f2293_1_countMetaList_InvokeMethod(f2293_0_countMetaList_Load(EOS(STATIC_2293), o1172, o1172), java.lang.Object(List(EOC, NULL, o1172)), 1, o1172) | =(matching1, 1)
f2281_0_countMetaList_Store(EOS(STATIC_2281), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2296_0_countMetaList_Load(EOS(STATIC_2296), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2287_0_countMetaList_InvokeMethod(EOS(STATIC_2287), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1, o1172) → f2299_1_countMetaList_InvokeMethod(f2299_0_countMetaList_Load(EOS(STATIC_2299), o1172, o1172), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), 1, o1172) | =(matching1, 1)
f2293_0_countMetaList_Load(EOS(STATIC_2293), o1172, o1172) → f2304_0_countMetaList_Load(EOS(STATIC_2304), o1172, o1172)
f2296_0_countMetaList_Load(EOS(STATIC_2296), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub)) → f2307_0_countMetaList_Load(EOS(STATIC_2307), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)))
f2299_0_countMetaList_Load(EOS(STATIC_2299), o1172, o1172) → f2310_0_countMetaList_Load(EOS(STATIC_2310), o1172, o1172)
f2307_0_countMetaList_Load(EOS(STATIC_2307), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172))) → f2317_0_countMetaList_FieldAccess(EOS(STATIC_2317), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub), java.lang.Object(List(EOC, java.lang.Object(o1184sub), o1172)), java.lang.Object(o1184sub))
f2317_0_countMetaList_FieldAccess(EOS(STATIC_2317), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257))) → f2341_0_countMetaList_FieldAccess(EOS(STATIC_2341), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)))
f2341_0_countMetaList_FieldAccess(EOS(STATIC_2341), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257))) → f2360_0_countMetaList_FieldAccess(EOS(STATIC_2360), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), o1257)
f2356_0_countMetaList_Return(EOS(STATIC_2356), java.lang.Object(List(EOC, NULL, NULL)), matching1, NULL, NULL, matching2) → f2366_0_countMetaList_IntArithmetic(EOS(STATIC_2366), java.lang.Object(List(EOC, NULL, NULL)), 1, 0) | &&(=(matching1, 1), =(matching2, 0))
f2360_0_countMetaList_FieldAccess(EOS(STATIC_2360), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, o1256, o1257)), o1172)), o1257) → f2373_0_countMetaList_New(EOS(STATIC_2373), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)))
f2361_0_countMetaList_Return(EOS(STATIC_2361), java.lang.Object(List(EOC, java.lang.Object(o1185sub), NULL)), matching1, NULL, NULL, matching2) → f2379_0_countMetaList_IntArithmetic(EOS(STATIC_2379), java.lang.Object(List(EOC, java.lang.Object(o1185sub), NULL)), 1, 0) | &&(=(matching1, 1), =(matching2, 0))
f2366_0_countMetaList_IntArithmetic(EOS(STATIC_2366), java.lang.Object(List(EOC, NULL, NULL)), matching1, matching2) → f4142_0_countMetaList_IntArithmetic(EOS(STATIC_4142), java.lang.Object(List(EOC, NULL, NULL)), 1, 0) | &&(=(matching1, 1), =(matching2, 0))
f2373_0_countMetaList_New(EOS(STATIC_2373), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257))) → f2389_0_countMetaList_Duplicate(EOS(STATIC_2389), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL)))
f2379_0_countMetaList_IntArithmetic(EOS(STATIC_2379), java.lang.Object(List(EOC, java.lang.Object(o1185sub), NULL)), matching1, matching2) → f4142_0_countMetaList_IntArithmetic(EOS(STATIC_4142), java.lang.Object(List(EOC, java.lang.Object(o1185sub), NULL)), 1, 0) | &&(=(matching1, 1), =(matching2, 0))
f2389_0_countMetaList_Duplicate(EOS(STATIC_2389), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL))) → f2404_0_countMetaList_Load(EOS(STATIC_2404), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)))
f2404_0_countMetaList_Load(EOS(STATIC_2404), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, o1257)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL))) → f2441_0_countMetaList_FieldAccess(EOS(STATIC_2441), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1256, o1257)))
f2441_0_countMetaList_FieldAccess(EOS(STATIC_2441), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1256, o1257))) → f2526_0_countMetaList_Load(EOS(STATIC_2526), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256)
f2526_0_countMetaList_Load(EOS(STATIC_2526), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256) → f2563_0_countMetaList_InvokeMethod(EOS(STATIC_2563), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f2536_0_countMetaList_Return(EOS(STATIC_2536), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1354, NULL)))), matching1, java.lang.Object(List(EOC, o1354, NULL)), matching2) → f2758_0_countMetaList_Return(EOS(STATIC_2758), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1354, NULL)))), 1, java.lang.Object(List(EOC, o1354, NULL)), 1) | &&(=(matching1, 1), =(matching2, 1))
f2554_0_countMetaList_Return(EOS(STATIC_2554), java.lang.Object(List(EOC, java.lang.Object(o1365sub), java.lang.Object(List(EOC, o1364, NULL)))), matching1, java.lang.Object(List(EOC, o1364, NULL)), matching2) → f2782_0_countMetaList_Return(EOS(STATIC_2782), java.lang.Object(List(EOC, java.lang.Object(o1365sub), java.lang.Object(List(EOC, o1364, NULL)))), 1, java.lang.Object(List(EOC, o1364, NULL)), 1) | &&(=(matching1, 1), =(matching2, 1))
f2563_0_countMetaList_InvokeMethod(EOS(STATIC_2563), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f2577_0__init__Load(EOS(STATIC_2577), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f2577_0__init__Load(EOS(STATIC_2577), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f2594_0__init__InvokeMethod(EOS(STATIC_2594), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)))
f2594_0__init__InvokeMethod(EOS(STATIC_2594), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL))) → f2719_0__init__Load(EOS(STATIC_2719), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f2719_0__init__Load(EOS(STATIC_2719), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f2808_0__init__Load(EOS(STATIC_2808), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)))
f2758_0_countMetaList_Return(EOS(STATIC_2758), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1548, o1547)))), matching1, java.lang.Object(List(EOC, o1548, o1547)), i1045) → f2998_0_countMetaList_Return(EOS(STATIC_2998), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1548, o1547)))), 1, java.lang.Object(List(EOC, o1548, o1547)), i1045) | =(matching1, 1)
f2782_0_countMetaList_Return(EOS(STATIC_2782), java.lang.Object(List(EOC, java.lang.Object(o1576sub), java.lang.Object(List(EOC, o1575, o1574)))), matching1, java.lang.Object(List(EOC, o1575, o1574)), i1080) → f3023_0_countMetaList_Return(EOS(STATIC_3023), java.lang.Object(List(EOC, java.lang.Object(o1576sub), java.lang.Object(List(EOC, o1575, o1574)))), 1, java.lang.Object(List(EOC, o1575, o1574)), i1080) | =(matching1, 1)
f2808_0__init__Load(EOS(STATIC_2808), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL))) → f2825_0__init__FieldAccess(EOS(STATIC_2825), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256)
f2825_0__init__FieldAccess(EOS(STATIC_2825), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, NULL, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, NULL, NULL)), o1256) → f2845_0__init__Load(EOS(STATIC_2845), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172)))
f2845_0__init__Load(EOS(STATIC_2845), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172))) → f2864_0__init__Load(EOS(STATIC_2864), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)))
f2864_0__init__Load(EOS(STATIC_2864), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL))) → f2976_0__init__FieldAccess(EOS(STATIC_2976), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172)))
f2976_0__init__FieldAccess(EOS(STATIC_2976), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1256, NULL)), o1256, java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, NULL)), java.lang.Object(List(EOC, o1257, o1172))) → f3057_0__init__Return(EOS(STATIC_3057), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), o1256, java.lang.Object(List(EOC, o1257, o1172)))
f2998_0_countMetaList_Return(EOS(STATIC_2998), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1761, o1760)))), matching1, java.lang.Object(List(EOC, o1761, o1760)), i1212) → f3222_0_countMetaList_Return(EOS(STATIC_3222), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1761, o1760)))), 1, java.lang.Object(List(EOC, o1761, o1760)), i1212) | =(matching1, 1)
f3023_0_countMetaList_Return(EOS(STATIC_3023), java.lang.Object(List(EOC, java.lang.Object(o1789sub), java.lang.Object(List(EOC, o1788, o1787)))), matching1, java.lang.Object(List(EOC, o1788, o1787)), i1232) → f3253_0_countMetaList_Return(EOS(STATIC_3253), java.lang.Object(List(EOC, java.lang.Object(o1789sub), java.lang.Object(List(EOC, o1788, o1787)))), 1, java.lang.Object(List(EOC, o1788, o1787)), i1232) | =(matching1, 1)
f3057_0__init__Return(EOS(STATIC_3057), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), o1256, java.lang.Object(List(EOC, o1257, o1172))) → f3072_0_countMetaList_Store(EOS(STATIC_3072), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))))
f3072_0_countMetaList_Store(EOS(STATIC_3072), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) → f3095_0_countMetaList_ConstantStackPush(EOS(STATIC_3095), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))))
f3095_0_countMetaList_ConstantStackPush(EOS(STATIC_3095), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) → f3107_0_countMetaList_Load(EOS(STATIC_3107), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), 1)
f3107_0_countMetaList_Load(EOS(STATIC_3107), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172)))), matching1) → f3196_0_countMetaList_FieldAccess(EOS(STATIC_3196), java.lang.Object(List(EOC, o1257, o1172)), 1, java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) | =(matching1, 1)
f3196_0_countMetaList_FieldAccess(EOS(STATIC_3196), java.lang.Object(List(EOC, o1257, o1172)), matching1, java.lang.Object(List(EOC, o1256, java.lang.Object(List(EOC, o1257, o1172))))) → f3314_0_countMetaList_InvokeMethod(EOS(STATIC_3314), java.lang.Object(List(EOC, o1257, o1172)), 1, java.lang.Object(List(EOC, o1257, o1172))) | =(matching1, 1)
f3222_0_countMetaList_Return(EOS(STATIC_3222), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1956, o1955)))), matching1, java.lang.Object(List(EOC, o1956, o1955)), i1341) → f3553_0_countMetaList_Return(EOS(STATIC_3553), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o1956, o1955)))), 1, java.lang.Object(List(EOC, o1956, o1955)), i1341) | =(matching1, 1)
f3253_0_countMetaList_Return(EOS(STATIC_3253), java.lang.Object(List(EOC, java.lang.Object(o1979sub), java.lang.Object(List(EOC, o1978, o1977)))), matching1, java.lang.Object(List(EOC, o1978, o1977)), i1361) → f3578_0_countMetaList_Return(EOS(STATIC_3578), java.lang.Object(List(EOC, java.lang.Object(o1979sub), java.lang.Object(List(EOC, o1978, o1977)))), 1, java.lang.Object(List(EOC, o1978, o1977)), i1361) | =(matching1, 1)
f3314_0_countMetaList_InvokeMethod(EOS(STATIC_3314), java.lang.Object(List(EOC, o1257, o1172)), matching1, java.lang.Object(List(EOC, o1257, o1172))) → f3345_1_countMetaList_InvokeMethod(f3345_0_countMetaList_Load(EOS(STATIC_3345), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172))), java.lang.Object(List(EOC, o1257, o1172)), 1, java.lang.Object(List(EOC, o1257, o1172))) | =(matching1, 1)
f3345_0_countMetaList_Load(EOS(STATIC_3345), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172))) → f3371_0_countMetaList_Load(EOS(STATIC_3371), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)))
f3553_0_countMetaList_Return(EOS(STATIC_3553), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2245, o2244)))), matching1, java.lang.Object(List(EOC, o2245, o2244)), i1560) → f3830_0_countMetaList_Return(EOS(STATIC_3830), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2245, o2244)))), 1, java.lang.Object(List(EOC, o2245, o2244)), i1560) | =(matching1, 1)
f3578_0_countMetaList_Return(EOS(STATIC_3578), java.lang.Object(List(EOC, java.lang.Object(o2268sub), java.lang.Object(List(EOC, o2267, o2266)))), matching1, java.lang.Object(List(EOC, o2267, o2266)), i1584) → f3852_0_countMetaList_Return(EOS(STATIC_3852), java.lang.Object(List(EOC, java.lang.Object(o2268sub), java.lang.Object(List(EOC, o2267, o2266)))), 1, java.lang.Object(List(EOC, o2267, o2266)), i1584) | =(matching1, 1)
f3623_0_countMetaList_Return(EOS(STATIC_3623), java.lang.Object(List(EOC, NULL, o2304)), matching1, java.lang.Object(List(EOC, NULL, o2304)), i1617) → f4071_0_countMetaList_Return(EOS(STATIC_4071), java.lang.Object(List(EOC, NULL, o2304)), 1, java.lang.Object(List(EOC, NULL, o2304)), i1617) | =(matching1, 1)
f3830_0_countMetaList_Return(EOS(STATIC_3830), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2500, o2499)))), matching1, java.lang.Object(List(EOC, o2500, o2499)), i1774) → f3863_0_countMetaList_IntArithmetic(EOS(STATIC_3863), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2500, o2499)))), 1, i1774) | =(matching1, 1)
f3852_0_countMetaList_Return(EOS(STATIC_3852), java.lang.Object(List(EOC, java.lang.Object(o2528sub), java.lang.Object(List(EOC, o2527, o2526)))), matching1, java.lang.Object(List(EOC, o2527, o2526)), i1801) → f3869_0_countMetaList_IntArithmetic(EOS(STATIC_3869), java.lang.Object(List(EOC, java.lang.Object(o2528sub), java.lang.Object(List(EOC, o2527, o2526)))), 1, i1801) | =(matching1, 1)
f3863_0_countMetaList_IntArithmetic(EOS(STATIC_3863), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2500, o2499)))), matching1, i1774) → f4142_0_countMetaList_IntArithmetic(EOS(STATIC_4142), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2500, o2499)))), 1, i1774) | =(matching1, 1)
f3869_0_countMetaList_IntArithmetic(EOS(STATIC_3869), java.lang.Object(List(EOC, java.lang.Object(o2528sub), java.lang.Object(List(EOC, o2527, o2526)))), matching1, i1801) → f4142_0_countMetaList_IntArithmetic(EOS(STATIC_4142), java.lang.Object(List(EOC, java.lang.Object(o2528sub), java.lang.Object(List(EOC, o2527, o2526)))), 1, i1801) | =(matching1, 1)
f4071_0_countMetaList_Return(EOS(STATIC_4071), java.lang.Object(List(EOC, NULL, o2739)), matching1, java.lang.Object(List(EOC, NULL, o2739)), i1953) → f4110_0_countMetaList_Return(EOS(STATIC_4110), java.lang.Object(List(EOC, NULL, o2739)), 1, java.lang.Object(List(EOC, NULL, o2739)), i1953) | =(matching1, 1)
f4110_0_countMetaList_Return(EOS(STATIC_4110), java.lang.Object(List(EOC, o2772, o2771)), matching1, java.lang.Object(List(EOC, o2772, o2771)), i1987) → f4142_0_countMetaList_IntArithmetic(EOS(STATIC_4142), java.lang.Object(List(EOC, o2772, o2771)), 1, i1987) | =(matching1, 1)
f4142_0_countMetaList_IntArithmetic(EOS(STATIC_4142), java.lang.Object(List(EOC, o2772, o2771)), matching1, i1987) → f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, o2772, o2771)), +(1, i1987)) | =(matching1, 1)
f4203_0_countMetaList_Return(EOS(STATIC_4203), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2841, o2840)))), matching1, java.lang.Object(List(EOC, o2841, o2840)), i2049) → f3830_0_countMetaList_Return(EOS(STATIC_3830), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2841, o2840)))), 1, java.lang.Object(List(EOC, o2841, o2840)), i2049) | =(matching1, 1)
f4213_0_countMetaList_Return(EOS(STATIC_4213), java.lang.Object(List(EOC, java.lang.Object(o1185sub), java.lang.Object(List(EOC, o2848, o2847)))), matching1, java.lang.Object(List(EOC, o2848, o2847)), i2061) → f3852_0_countMetaList_Return(EOS(STATIC_3852), java.lang.Object(List(EOC, java.lang.Object(o1185sub), java.lang.Object(List(EOC, o2848, o2847)))), 1, java.lang.Object(List(EOC, o2848, o2847)), i2061) | =(matching1, 1)
f4218_0_countMetaList_Return(EOS(STATIC_4218), java.lang.Object(List(EOC, o2861, o2860)), matching1, java.lang.Object(List(EOC, o2861, o2860)), i2080) → f4110_0_countMetaList_Return(EOS(STATIC_4110), java.lang.Object(List(EOC, o2861, o2860)), 1, java.lang.Object(List(EOC, o2861, o2860)), i2080) | =(matching1, 1)
f2304_0_countMetaList_Load(EOS(STATIC_2304), o1172, o1172) → f2150_0_countMetaList_Load(EOS(STATIC_2150), o1172, o1172)
f2310_0_countMetaList_Load(EOS(STATIC_2310), o1172, o1172) → f2150_0_countMetaList_Load(EOS(STATIC_2150), o1172, o1172)
f3371_0_countMetaList_Load(EOS(STATIC_3371), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172))) → f2150_0_countMetaList_Load(EOS(STATIC_2150), java.lang.Object(List(EOC, o1257, o1172)), java.lang.Object(List(EOC, o1257, o1172)))
f2293_1_countMetaList_InvokeMethod(f2184_0_countMetaList_Return(EOS(STATIC_2184), NULL, NULL, matching1), java.lang.Object(List(EOC, NULL, NULL)), matching2, NULL) → f2356_0_countMetaList_Return(EOS(STATIC_2356), java.lang.Object(List(EOC, NULL, NULL)), 1, NULL, NULL, 0) | &&(=(matching1, 0), =(matching2, 1))
f2293_1_countMetaList_InvokeMethod(f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, o2841, o2840)), i2049), java.lang.Object(List(EOC, NULL, o1172)), matching1, o1172) → f4203_0_countMetaList_Return(EOS(STATIC_4203), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, o2841, o2840)))), 1, java.lang.Object(List(EOC, o2841, o2840)), i2049) | =(matching1, 1)
f2299_1_countMetaList_InvokeMethod(f2184_0_countMetaList_Return(EOS(STATIC_2184), NULL, NULL, matching1), java.lang.Object(List(EOC, java.lang.Object(o1185sub), NULL)), matching2, NULL) → f2361_0_countMetaList_Return(EOS(STATIC_2361), java.lang.Object(List(EOC, java.lang.Object(o1185sub), NULL)), 1, NULL, NULL, 0) | &&(=(matching1, 0), =(matching2, 1))
f2299_1_countMetaList_InvokeMethod(f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, o2848, o2847)), i2061), java.lang.Object(List(EOC, java.lang.Object(o1185sub), o1172)), matching1, o1172) → f4213_0_countMetaList_Return(EOS(STATIC_4213), java.lang.Object(List(EOC, java.lang.Object(o1185sub), java.lang.Object(List(EOC, o2848, o2847)))), 1, java.lang.Object(List(EOC, o2848, o2847)), i2061) | =(matching1, 1)
f3345_1_countMetaList_InvokeMethod(f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, o2861, o2860)), i2080), java.lang.Object(List(EOC, o1257, o1172)), matching1, java.lang.Object(List(EOC, o1257, o1172))) → f4218_0_countMetaList_Return(EOS(STATIC_4218), java.lang.Object(List(EOC, o2861, o2860)), 1, java.lang.Object(List(EOC, o2861, o2860)), i2080) | =(matching1, 1)

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


P rules:
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, java.lang.Object(List(EOC, x0, x1)), x2)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, x0, x1)), x2)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, x0, x1)), x2))) → f3345_1_countMetaList_InvokeMethod(f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, x1, x2)), java.lang.Object(List(EOC, x1, x2)), java.lang.Object(List(EOC, x1, x2))), java.lang.Object(List(EOC, x1, x2)), 1, java.lang.Object(List(EOC, x1, x2)))
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, java.lang.Object(x0), x1)), java.lang.Object(List(EOC, java.lang.Object(x0), x1)), java.lang.Object(List(EOC, java.lang.Object(x0), x1))) → f2299_1_countMetaList_InvokeMethod(f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), x1, x1, x1), java.lang.Object(List(EOC, java.lang.Object(x0), x1)), 1, x1)
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, NULL, x0)), java.lang.Object(List(EOC, NULL, x0)), java.lang.Object(List(EOC, NULL, x0))) → f2293_1_countMetaList_InvokeMethod(f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), x0, x0, x0), java.lang.Object(List(EOC, NULL, x0)), 1, x0)
R rules:
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), NULL, NULL, NULL) → f2184_0_countMetaList_Return(EOS(STATIC_2184), NULL, NULL, 0)
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, NULL, x0)), java.lang.Object(List(EOC, NULL, x0)), java.lang.Object(List(EOC, NULL, x0))) → f2293_1_countMetaList_InvokeMethod(f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), x0, x0, x0), java.lang.Object(List(EOC, NULL, x0)), 1, x0)
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, java.lang.Object(x0), x1)), java.lang.Object(List(EOC, java.lang.Object(x0), x1)), java.lang.Object(List(EOC, java.lang.Object(x0), x1))) → f2299_1_countMetaList_InvokeMethod(f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), x1, x1, x1), java.lang.Object(List(EOC, java.lang.Object(x0), x1)), 1, x1)
f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, java.lang.Object(List(EOC, x0, x1)), x2)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, x0, x1)), x2)), java.lang.Object(List(EOC, java.lang.Object(List(EOC, x0, x1)), x2))) → f3345_1_countMetaList_InvokeMethod(f2160_0_countMetaList_NONNULL(EOS(STATIC_2160), java.lang.Object(List(EOC, x1, x2)), java.lang.Object(List(EOC, x1, x2)), java.lang.Object(List(EOC, x1, x2))), java.lang.Object(List(EOC, x1, x2)), 1, java.lang.Object(List(EOC, x1, x2)))
f2293_1_countMetaList_InvokeMethod(f2184_0_countMetaList_Return(EOS(STATIC_2184), NULL, NULL, 0), java.lang.Object(List(EOC, NULL, NULL)), 1, NULL) → f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, NULL, NULL)), 1)
f2293_1_countMetaList_InvokeMethod(f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, x0, x1)), x2), java.lang.Object(List(EOC, NULL, x3)), 1, x3) → f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, NULL, java.lang.Object(List(EOC, x0, x1)))), +(1, x2))
f2299_1_countMetaList_InvokeMethod(f2184_0_countMetaList_Return(EOS(STATIC_2184), NULL, NULL, 0), java.lang.Object(List(EOC, java.lang.Object(x1), NULL)), 1, NULL) → f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, java.lang.Object(x1), NULL)), 1)
f2299_1_countMetaList_InvokeMethod(f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, x0, x1)), x2), java.lang.Object(List(EOC, java.lang.Object(x3), x4)), 1, x4) → f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, java.lang.Object(x3), java.lang.Object(List(EOC, x0, x1)))), +(1, x2))
f3345_1_countMetaList_InvokeMethod(f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, x0, x1)), x2), java.lang.Object(List(EOC, x3, x4)), 1, java.lang.Object(List(EOC, x3, x4))) → f4148_0_countMetaList_Return(EOS(STATIC_4148), java.lang.Object(List(EOC, x0, x1)), +(1, x2))

Filtered ground terms:



f2160_0_countMetaList_NONNULL(x1, x2, x3, x4) → f2160_0_countMetaList_NONNULL(x2, x3, x4)
f3345_1_countMetaList_InvokeMethod(x1, x2, x3, x4) → f3345_1_countMetaList_InvokeMethod(x1, x2, x4)
f2299_1_countMetaList_InvokeMethod(x1, x2, x3, x4) → f2299_1_countMetaList_InvokeMethod(x1, x2, x4)
f2293_1_countMetaList_InvokeMethod(x1, x2, x3, x4) → f2293_1_countMetaList_InvokeMethod(x1, x2, x4)
List(x1, x2, x3) → List(x2, x3)
f2184_0_countMetaList_Return(x1, x2, x3, x4) → f2184_0_countMetaList_Return
f4148_0_countMetaList_Return(x1, x2, x3) → f4148_0_countMetaList_Return(x2, x3)

Filtered unneeded arguments:



f3345_1_countMetaList_InvokeMethod(x1, x2, x3) → f3345_1_countMetaList_InvokeMethod(x1)
f4148_0_countMetaList_Return(x1, x2) → f4148_0_countMetaList_Return(x1)

Filtered duplicate args:



f2160_0_countMetaList_NONNULL(x1, x2, x3) → f2160_0_countMetaList_NONNULL(x3)
f2299_1_countMetaList_InvokeMethod(x1, x2, x3) → f2299_1_countMetaList_InvokeMethod(x1, x2)
f2293_1_countMetaList_InvokeMethod(x1, x2, x3) → f2293_1_countMetaList_InvokeMethod(x1, x2)

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


P rules:
F2160_0_COUNTMETALIST_NONNULL(java.lang.Object(List(java.lang.Object(List(x0, x1)), x2))) → F2160_0_COUNTMETALIST_NONNULL(java.lang.Object(List(x1, x2)))
F2160_0_COUNTMETALIST_NONNULL(java.lang.Object(List(java.lang.Object(x0), x1))) → F2160_0_COUNTMETALIST_NONNULL(x1)
F2160_0_COUNTMETALIST_NONNULL(java.lang.Object(List(NULL, x0))) → F2160_0_COUNTMETALIST_NONNULL(x0)
R rules:

Finished conversion. Obtained 3 rules for P and 0 rules for R. System has no predefined symbols.


P rules:
F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(List(x0, x1)), x2))) → F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(x1, x2)))
F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(x0), x1))) → F2160_0_COUNTMETALIST_NONNULL'(x1)
F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(NULL, x0))) → F2160_0_COUNTMETALIST_NONNULL'(x0)
R rules:

(7) Obligation:

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


The following domains are used:
none


R is empty.

The integer pair graph contains the following rules and edges:
(0): F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(List(x0[0], x1[0])), x2[0]))) → F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(x1[0], x2[0])))
(1): F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(x0[1]), x1[1]))) → F2160_0_COUNTMETALIST_NONNULL'(x1[1])
(2): F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(NULL, x0[2]))) → F2160_0_COUNTMETALIST_NONNULL'(x0[2])

(0) -> (0), if (java.lang.Object(List(x1[0], x2[0])) →* java.lang.Object(List(java.lang.Object(List(x0[0]', x1[0]')), x2[0]')))


(0) -> (1), if (java.lang.Object(List(x1[0], x2[0])) →* java.lang.Object(List(java.lang.Object(x0[1]), x1[1])))


(0) -> (2), if (java.lang.Object(List(x1[0], x2[0])) →* java.lang.Object(List(NULL, x0[2])))


(1) -> (0), if (x1[1]* java.lang.Object(List(java.lang.Object(List(x0[0], x1[0])), x2[0])))


(1) -> (1), if (x1[1]* java.lang.Object(List(java.lang.Object(x0[1]'), x1[1]')))


(1) -> (2), if (x1[1]* java.lang.Object(List(NULL, x0[2])))


(2) -> (0), if (x0[2]* java.lang.Object(List(java.lang.Object(List(x0[0], x1[0])), x2[0])))


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


(2) -> (2), if (x0[2]* java.lang.Object(List(NULL, x0[2]')))



The set Q is empty.

(8) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(9) Obligation:

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

F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(List(x0[0], x1[0])), x2[0]))) → F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(x1[0], x2[0])))
F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(x0[1]), x1[1]))) → F2160_0_COUNTMETALIST_NONNULL'(x1[1])
F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(NULL, x0[2]))) → F2160_0_COUNTMETALIST_NONNULL'(x0[2])

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

(10) UsableRulesReductionPairsProof (EQUIVALENT transformation)

By using the usable rules with reduction pair processor [LPAR04] with a polynomial ordering [POLO], all dependency pairs and the corresponding usable rules [FROCOS05] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

The following dependency pairs can be deleted:

F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(NULL, x0[2]))) → F2160_0_COUNTMETALIST_NONNULL'(x0[2])
No rules are removed from R.

Used ordering: POLO with Polynomial interpretation [POLO]:

POL(F2160_0_COUNTMETALIST_NONNULL'(x1)) = 2·x1   
POL(List(x1, x2)) = x1 + 2·x2   
POL(NULL) = 0   
POL(java.lang.Object(x1)) = 2·x1   

(11) Obligation:

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

F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(List(x0[0], x1[0])), x2[0]))) → F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(x1[0], x2[0])))
F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(x0[1]), x1[1]))) → F2160_0_COUNTMETALIST_NONNULL'(x1[1])

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

(12) MRRProof (EQUIVALENT transformation)

By using the rule removal processor [LPAR04] with the following ordering, at least one Dependency Pair or term rewrite system rule of this QDP problem can be strictly oriented.
Strictly oriented dependency pairs:

F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(List(x0[0], x1[0])), x2[0]))) → F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(x1[0], x2[0])))
F2160_0_COUNTMETALIST_NONNULL'(java.lang.Object(List(java.lang.Object(x0[1]), x1[1]))) → F2160_0_COUNTMETALIST_NONNULL'(x1[1])


Used ordering: Knuth-Bendix order [KBO] with precedence:
List2 > java.lang.Object1 > F21600COUNTMETALISTNONNULL'1

and weight map:

F2160_0_COUNTMETALIST_NONNULL'_1=1
java.lang.Object_1=1
List_2=0

The variable weight is 1

(13) Obligation:

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

(14) PisEmptyProof (EQUIVALENT transformation)

The TRS P is empty. Hence, there is no (P,Q,R) chain.

(15) YES

(16) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: CountMetaListRec.createMetaList()LList;
SCC calls the following helper methods:
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • java.lang.String: [count]
  • Marker field analysis yielded the following relations that could be markers:

(17) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 69 IRules

P rules:
f4372_0_createMetaList_Load(EOS, i88, i2143, i2143) → f4374_0_createMetaList_GE(EOS, i88, i2143, i2143, i88)
f4374_0_createMetaList_GE(EOS, i88, i2143, i2143, i88) → f4377_0_createMetaList_GE(EOS, i88, i2143, i2143, i88)
f4377_0_createMetaList_GE(EOS, i88, i2143, i2143, i88) → f4381_0_createMetaList_InvokeMethod(EOS, i88, i2143) | <(i2143, i88)
f4381_0_createMetaList_InvokeMethod(EOS, i88, i2143) → f4385_0_random_FieldAccess(EOS, i88, i2143)
f4385_0_random_FieldAccess(EOS, i88, i2143) → f4397_0_random_FieldAccess(EOS, i88, i2143)
f4397_0_random_FieldAccess(EOS, i88, i2143) → f4408_0_random_ArrayAccess(EOS, i88, i2143)
f4408_0_random_ArrayAccess(EOS, i88, i2143) → f4409_0_random_ArrayAccess(EOS, i88, i2143)
f4409_0_random_ArrayAccess(EOS, i88, i2143) → f4413_0_random_Store(EOS, i88, i2143, o2959)
f4413_0_random_Store(EOS, i88, i2143, o2959) → f4418_0_random_FieldAccess(EOS, i88, i2143, o2959)
f4418_0_random_FieldAccess(EOS, i88, i2143, o2959) → f4422_0_random_ConstantStackPush(EOS, i88, i2143, o2959)
f4422_0_random_ConstantStackPush(EOS, i88, i2143, o2959) → f4428_0_random_IntArithmetic(EOS, i88, i2143, o2959)
f4428_0_random_IntArithmetic(EOS, i88, i2143, o2959) → f4430_0_random_FieldAccess(EOS, i88, i2143, o2959)
f4430_0_random_FieldAccess(EOS, i88, i2143, o2959) → f4433_0_random_Load(EOS, i88, i2143, o2959)
f4433_0_random_Load(EOS, i88, i2143, o2959) → f4445_0_random_InvokeMethod(EOS, i88, i2143, o2959)
f4445_0_random_InvokeMethod(EOS, i88, i2143, java.lang.Object(o2974sub)) → f4448_0_random_InvokeMethod(EOS, i88, i2143, java.lang.Object(o2974sub))
f4448_0_random_InvokeMethod(EOS, i88, i2143, java.lang.Object(o2974sub)) → f4454_0_length_Load(EOS, i88, i2143, java.lang.Object(o2974sub), java.lang.Object(o2974sub))
f4454_0_length_Load(EOS, i88, i2143, java.lang.Object(o2974sub), java.lang.Object(o2974sub)) → f4471_0_length_FieldAccess(EOS, i88, i2143, java.lang.Object(o2974sub), java.lang.Object(o2974sub))
f4471_0_length_FieldAccess(EOS, i88, i2143, java.lang.Object(java.lang.String(o2982sub, i2183)), java.lang.Object(java.lang.String(o2982sub, i2183))) → f4473_0_length_FieldAccess(EOS, i88, i2143, java.lang.Object(java.lang.String(o2982sub, i2183)), java.lang.Object(java.lang.String(o2982sub, i2183))) | >=(i2183, 0)
f4473_0_length_FieldAccess(EOS, i88, i2143, java.lang.Object(java.lang.String(o2982sub, i2183)), java.lang.Object(java.lang.String(o2982sub, i2183))) → f4483_0_length_Return(EOS, i88, i2143, java.lang.Object(java.lang.String(o2982sub, i2183)), i2183)
f4483_0_length_Return(EOS, i88, i2143, java.lang.Object(java.lang.String(o2982sub, i2183)), i2183) → f4486_0_random_Return(EOS, i88, i2143, i2183)
f4486_0_random_Return(EOS, i88, i2143, i2183) → f4488_0_createMetaList_Store(EOS, i88, i2143, i2183)
f4488_0_createMetaList_Store(EOS, i88, i2143, i2183) → f4496_0_createMetaList_ConstantStackPush(EOS, i88, i2143, i2183)
f4496_0_createMetaList_ConstantStackPush(EOS, i88, i2143, i2183) → f4500_0_createMetaList_Store(EOS, i88, i2143, i2183)
f4500_0_createMetaList_Store(EOS, i88, i2143, i2183) → f4503_0_createMetaList_Load(EOS, i88, i2143, i2183)
f4503_0_createMetaList_Load(EOS, i88, i2143, i2183) → f4512_0_createMetaList_Store(EOS, i88, i2143, i2183)
f4512_0_createMetaList_Store(EOS, i88, i2143, i2183) → f4523_0_createMetaList_Load(EOS, i88, i2143, i2183)
f4523_0_createMetaList_Load(EOS, i88, i2143, i2183) → f4785_0_createMetaList_Load(EOS, i88, i2143, i2183)
f4785_0_createMetaList_Load(EOS, i88, i2143, i2251) → f4788_0_createMetaList_LE(EOS, i88, i2143, i2251, i2251)
f4788_0_createMetaList_LE(EOS, i88, i2143, matching1, matching2) → f4790_0_createMetaList_LE(EOS, i88, i2143, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
f4788_0_createMetaList_LE(EOS, i88, i2143, i2254, i2254) → f4791_0_createMetaList_LE(EOS, i88, i2143, i2254, i2254)
f4790_0_createMetaList_LE(EOS, i88, i2143, matching1, matching2) → f4793_0_createMetaList_New(EOS, i88, i2143) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
f4793_0_createMetaList_New(EOS, i88, i2143) → f4798_0_createMetaList_Duplicate(EOS, i88, i2143)
f4798_0_createMetaList_Duplicate(EOS, i88, i2143) → f4801_0_createMetaList_Load(EOS, i88, i2143)
f4801_0_createMetaList_Load(EOS, i88, i2143) → f4805_0_createMetaList_Load(EOS, i88, i2143)
f4805_0_createMetaList_Load(EOS, i88, i2143) → f4809_0_createMetaList_InvokeMethod(EOS, i88, i2143)
f4809_0_createMetaList_InvokeMethod(EOS, i88, i2143) → f4812_0__init__Load(EOS, i88, i2143)
f4812_0__init__Load(EOS, i88, i2143) → f4816_0__init__InvokeMethod(EOS, i88, i2143)
f4816_0__init__InvokeMethod(EOS, i88, i2143) → f4822_0__init__Load(EOS, i88, i2143)
f4822_0__init__Load(EOS, i88, i2143) → f4824_0__init__Load(EOS, i88, i2143)
f4824_0__init__Load(EOS, i88, i2143) → f4829_0__init__FieldAccess(EOS, i88, i2143)
f4829_0__init__FieldAccess(EOS, i88, i2143) → f4837_0__init__Load(EOS, i88, i2143)
f4837_0__init__Load(EOS, i88, i2143) → f4843_0__init__Load(EOS, i88, i2143)
f4843_0__init__Load(EOS, i88, i2143) → f4848_0__init__FieldAccess(EOS, i88, i2143)
f4848_0__init__FieldAccess(EOS, i88, i2143) → f4852_0__init__Return(EOS, i88, i2143)
f4852_0__init__Return(EOS, i88, i2143) → f4860_0_createMetaList_Store(EOS, i88, i2143)
f4860_0_createMetaList_Store(EOS, i88, i2143) → f4864_0_createMetaList_Inc(EOS, i88, i2143)
f4864_0_createMetaList_Inc(EOS, i88, i2143) → f4868_0_createMetaList_JMP(EOS, i88, +(i2143, 1)) | >=(i2143, 0)
f4868_0_createMetaList_JMP(EOS, i88, i2261) → f4870_0_createMetaList_Load(EOS, i88, i2261)
f4870_0_createMetaList_Load(EOS, i88, i2261) → f4362_0_createMetaList_Load(EOS, i88, i2261)
f4362_0_createMetaList_Load(EOS, i88, i2143) → f4372_0_createMetaList_Load(EOS, i88, i2143, i2143)
f4791_0_createMetaList_LE(EOS, i88, i2143, i2254, i2254) → f4795_0_createMetaList_New(EOS, i88, i2143, i2254) | >(i2254, 0)
f4795_0_createMetaList_New(EOS, i88, i2143, i2254) → f4799_0_createMetaList_Duplicate(EOS, i88, i2143, i2254)
f4799_0_createMetaList_Duplicate(EOS, i88, i2143, i2254) → f4803_0_createMetaList_ConstantStackPush(EOS, i88, i2143, i2254)
f4803_0_createMetaList_ConstantStackPush(EOS, i88, i2143, i2254) → f4807_0_createMetaList_Load(EOS, i88, i2143, i2254)
f4807_0_createMetaList_Load(EOS, i88, i2143, i2254) → f4811_0_createMetaList_InvokeMethod(EOS, i88, i2143, i2254)
f4811_0_createMetaList_InvokeMethod(EOS, i88, i2143, i2254) → f4813_0__init__Load(EOS, i88, i2143, i2254)
f4813_0__init__Load(EOS, i88, i2143, i2254) → f4820_0__init__InvokeMethod(EOS, i88, i2143, i2254)
f4820_0__init__InvokeMethod(EOS, i88, i2143, i2254) → f4823_0__init__Load(EOS, i88, i2143, i2254)
f4823_0__init__Load(EOS, i88, i2143, i2254) → f4827_0__init__Load(EOS, i88, i2143, i2254)
f4827_0__init__Load(EOS, i88, i2143, i2254) → f4832_0__init__FieldAccess(EOS, i88, i2143, i2254)
f4832_0__init__FieldAccess(EOS, i88, i2143, i2254) → f4841_0__init__Load(EOS, i88, i2143, i2254)
f4841_0__init__Load(EOS, i88, i2143, i2254) → f4847_0__init__Load(EOS, i88, i2143, i2254)
f4847_0__init__Load(EOS, i88, i2143, i2254) → f4849_0__init__FieldAccess(EOS, i88, i2143, i2254)
f4849_0__init__FieldAccess(EOS, i88, i2143, i2254) → f4859_0__init__Return(EOS, i88, i2143, i2254)
f4859_0__init__Return(EOS, i88, i2143, i2254) → f4862_0_createMetaList_Store(EOS, i88, i2143, i2254)
f4862_0_createMetaList_Store(EOS, i88, i2143, i2254) → f4866_0_createMetaList_Inc(EOS, i88, i2143, i2254)
f4866_0_createMetaList_Inc(EOS, i88, i2143, i2254) → f4869_0_createMetaList_JMP(EOS, i88, i2143, +(i2254, -1)) | >(i2254, 0)
f4869_0_createMetaList_JMP(EOS, i88, i2143, i2262) → f4878_0_createMetaList_Load(EOS, i88, i2143, i2262)
f4878_0_createMetaList_Load(EOS, i88, i2143, i2262) → f4785_0_createMetaList_Load(EOS, i88, i2143, i2262)

Combined rules. Obtained 2 IRules

P rules:
f4788_0_createMetaList_LE(EOS, x0, x1, 0, 0) → f4788_0_createMetaList_LE(EOS, x0, +(x1, 1), x4, x4) | &&(&&(>(+(x4, 1), 0), <(+(x1, 1), x0)), >(+(x1, 1), 0))
f4788_0_createMetaList_LE(EOS, x0, x1, x2, x2) → f4788_0_createMetaList_LE(EOS, x0, x1, -(x2, 1), -(x2, 1)) | >(x2, 0)

Filtered ground terms:


f4788_0_createMetaList_LE(x1, x2, x3, x4, x5) → f4788_0_createMetaList_LE(x2, x3, x4, x5)
Cond_f4788_0_createMetaList_LE(x1, x2, x3, x4, x5, x6, x7) → Cond_f4788_0_createMetaList_LE(x1, x3, x4, x7)
Cond_f4788_0_createMetaList_LE1(x1, x2, x3, x4, x5, x6) → Cond_f4788_0_createMetaList_LE1(x1, x3, x4, x5, x6)

Filtered duplicate terms:


f4788_0_createMetaList_LE(x1, x2, x3, x4) → f4788_0_createMetaList_LE(x1, x2, x4)
Cond_f4788_0_createMetaList_LE1(x1, x2, x3, x4, x5) → Cond_f4788_0_createMetaList_LE1(x1, x2, x3, x5)

Prepared 2 rules for path length conversion:

P rules:
f4788_0_createMetaList_LE(x0, x1, 0) → f4788_0_createMetaList_LE(x0, +(x1, 1), x4) | &&(&&(>(+(x4, 1), 0), <(+(x1, 1), x0)), >(+(x1, 1), 0))
f4788_0_createMetaList_LE(x0, x1, x2) → f4788_0_createMetaList_LE(x0, x1, -(x2, 1)) | >(x2, 0)

Finished conversion. Obtained 2 rules.

P rules:
f4788_0_createMetaList_LE(x0, x1, c0) → f4788_0_createMetaList_LE(x0, +(x1, 1), x2) | &&(&&(&&(>(x2, -1), <(+(x1, 1), x0)), >(x1, -1)), =(0, c0))
f4788_0_createMetaList_LE(x3, x4, x5) → f4788_0_createMetaList_LE(x3, x4, -(x5, 1)) | >(x5, 0)

(18) Obligation:

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

(19) PolynomialOrderProcessor (SOUND transformation)

Found the following polynomial interpretation:


[f4788_0_createMetaList_LE(x8, x10, x12)] = -1 - x10 + x8

Therefore the following rule(s) have been dropped:


f4788_0_createMetaList_LE(x0, x1, x2) → f4788_0_createMetaList_LE(x0, +(x1, 1), x3) | &&(&&(&&(>(x3, -1), <(+(x1, 1), x0)), >(x1, -1)), =(0, x2))

(20) Obligation:

Rules:
f4788_0_createMetaList_LE(x4, x5, x6) → f4788_0_createMetaList_LE(x4, x5, -(x6, 1)) | >(x6, 0)

(21) PolynomialOrderProcessor (EQUIVALENT transformation)

Found the following polynomial interpretation:


[f4788_0_createMetaList_LE(x4, x6, x8)] = x8

Therefore the following rule(s) have been dropped:


f4788_0_createMetaList_LE(x0, x1, x2) → f4788_0_createMetaList_LE(x0, x1, -(x2, 1)) | >(x2, 0)

(22) YES