(0) Obligation:

JBC Problem based on JBC Program:
package IntListDupRec;

public class IntListDupRec {
public static void main(String[] args) {
Random.args = args;
List l = List.createList(Random.random());

l.dupList();
}
}

class List {
boolean dupped;
List next;

public List(boolean d, List n) {
this.dupped = d;
this.next = n;
}

public void dupList() {
if (this.next == null) {
new List(false, this);
} else if (this.dupped == false) {
List next = this.next;
this.next = new List(true, next);
}
this.next.dupList();
this.dupped = false;
}

public static List createList(int l) {
if (l < 0) {
return null;
} else {
return new List(false, createList(l - 1));
}
}
}

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

IntListDupRec.List.createList(I)LIntListDupRec/List;: Graph of 44 nodes with 0 SCCs.

IntListDupRec.List.dupList()V: Graph of 93 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: IntListDupRec.List.dupList()V
SCC calls the following helper methods: IntListDupRec.List.dupList()V
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • IntListDupRec.List: [next, dupped]
  • Marker field analysis yielded the following relations that could be markers:

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 45 rules for P and 94 rules for R.


P rules:
f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), java.lang.Object(IntListDupRec.List(EOC, o1273, i287))) → f1997_0_dupList_FieldAccess(EOS(STATIC_1997), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)))
f1997_0_dupList_FieldAccess(EOS(STATIC_1997), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), java.lang.Object(IntListDupRec.List(EOC, o1273, i287))) → f2000_0_dupList_NONNULL(EOS(STATIC_2000), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1273)
f2000_0_dupList_NONNULL(EOS(STATIC_2000), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(o1275sub)) → f2002_0_dupList_NONNULL(EOS(STATIC_2002), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(o1275sub))
f2002_0_dupList_NONNULL(EOS(STATIC_2002), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(o1275sub)) → f2004_0_dupList_Load(EOS(STATIC_2004), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)))
f2004_0_dupList_Load(EOS(STATIC_2004), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287))) → f2006_0_dupList_FieldAccess(EOS(STATIC_2006), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)))
f2006_0_dupList_FieldAccess(EOS(STATIC_2006), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287))) → f2009_0_dupList_NE(EOS(STATIC_2009), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), i287)
f2009_0_dupList_NE(EOS(STATIC_2009), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), i289) → f2015_0_dupList_NE(EOS(STATIC_2015), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), i289)
f2009_0_dupList_NE(EOS(STATIC_2009), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3) → f2016_0_dupList_NE(EOS(STATIC_2016), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2015_0_dupList_NE(EOS(STATIC_2015), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), i289) → f2020_0_dupList_Load(EOS(STATIC_2020), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289))) | !(=(i289, 0))
f2020_0_dupList_Load(EOS(STATIC_2020), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289))) → f2026_0_dupList_FieldAccess(EOS(STATIC_2026), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)))
f2026_0_dupList_FieldAccess(EOS(STATIC_2026), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289))) → f2033_0_dupList_InvokeMethod(EOS(STATIC_2033), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2033_0_dupList_InvokeMethod(EOS(STATIC_2033), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)) → f2036_1_dupList_InvokeMethod(f2036_0_dupList_Load(EOS(STATIC_2036), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2036_0_dupList_Load(EOS(STATIC_2036), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)) → f2043_0_dupList_Load(EOS(STATIC_2043), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2043_0_dupList_Load(EOS(STATIC_2043), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)) → f2058_0_dupList_Load(EOS(STATIC_2058), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2058_0_dupList_Load(EOS(STATIC_2058), java.lang.Object(o1279sub), o1281, o1282, java.lang.Object(o1279sub)) → f2070_0_dupList_Load(EOS(STATIC_2070), java.lang.Object(o1279sub), o1281, java.lang.Object(o1279sub))
f2070_0_dupList_Load(EOS(STATIC_2070), java.lang.Object(o1279sub), o1281, java.lang.Object(o1279sub)) → f1991_0_dupList_Load(EOS(STATIC_1991), java.lang.Object(o1279sub), o1281, java.lang.Object(o1279sub))
f1991_0_dupList_Load(EOS(STATIC_1991), java.lang.Object(o1267sub), o1269, java.lang.Object(o1267sub)) → f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(o1267sub), o1269, java.lang.Object(o1267sub), java.lang.Object(o1267sub))
f2016_0_dupList_NE(EOS(STATIC_2016), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3) → f2022_0_dupList_Load(EOS(STATIC_2022), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2022_0_dupList_Load(EOS(STATIC_2022), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2))) → f2027_0_dupList_FieldAccess(EOS(STATIC_2027), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0))) | &&(=(matching1, 0), =(matching2, 0))
f2027_0_dupList_FieldAccess(EOS(STATIC_2027), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3))) → f2035_0_dupList_Store(EOS(STATIC_2035), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub)) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2035_0_dupList_Store(EOS(STATIC_2035), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub)) → f2037_0_dupList_Load(EOS(STATIC_2037), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub)) | &&(=(matching1, 0), =(matching2, 0))
f2037_0_dupList_Load(EOS(STATIC_2037), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub)) → f2046_0_dupList_New(EOS(STATIC_2046), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0))) | &&(=(matching1, 0), =(matching2, 0))
f2046_0_dupList_New(EOS(STATIC_2046), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3))) → f2061_0_dupList_Duplicate(EOS(STATIC_2061), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2061_0_dupList_Duplicate(EOS(STATIC_2061), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4))) → f2072_0_dupList_ConstantStackPush(EOS(STATIC_2072), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
f2072_0_dupList_ConstantStackPush(EOS(STATIC_2072), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5))) → f2083_0_dupList_Load(EOS(STATIC_2083), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1) | &&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0))
f2083_0_dupList_Load(EOS(STATIC_2083), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6) → f2087_0_dupList_InvokeMethod(EOS(STATIC_2087), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1))
f2087_0_dupList_InvokeMethod(EOS(STATIC_2087), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub)) → f2091_0__init__Load(EOS(STATIC_2091), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1))
f2091_0__init__Load(EOS(STATIC_2091), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub)) → f2097_0__init__InvokeMethod(EOS(STATIC_2097), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1))
f2097_0__init__InvokeMethod(EOS(STATIC_2097), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching9))) → f2103_0__init__Load(EOS(STATIC_2103), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1)), =(matching9, 0))
f2103_0__init__Load(EOS(STATIC_2103), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub)) → f2105_0__init__Load(EOS(STATIC_2105), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1))
f2105_0__init__Load(EOS(STATIC_2105), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching9))) → f2109_0__init__FieldAccess(EOS(STATIC_2109), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1) | &&(&&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1)), =(matching9, 0))
f2109_0__init__FieldAccess(EOS(STATIC_2109), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching8)), matching9) → f2118_0__init__Load(EOS(STATIC_2118), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 0)), =(matching9, 1))
f2118_0__init__Load(EOS(STATIC_2118), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), java.lang.Object(o1275sub)) → f2124_0__init__Load(EOS(STATIC_2124), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), 1, java.lang.Object(o1275sub), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 1))) | &&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1)), =(matching7, 1))
f2124_0__init__Load(EOS(STATIC_2124), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7))) → f2127_0__init__FieldAccess(EOS(STATIC_2127), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1)), =(matching7, 1))
f2127_0__init__FieldAccess(EOS(STATIC_2127), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), java.lang.Object(o1275sub)) → f2136_0__init__Return(EOS(STATIC_2136), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1)), =(matching7, 1))
f2136_0__init__Return(EOS(STATIC_2136), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching5)), matching6, java.lang.Object(o1275sub)) → f2137_0_dupList_FieldAccess(EOS(STATIC_2137), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1))
f2137_0_dupList_FieldAccess(EOS(STATIC_2137), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4))) → f2143_0_dupList_Load(EOS(STATIC_2143), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269put, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0))) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1))
f2143_0_dupList_Load(EOS(STATIC_2143), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), matching2)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), matching4))) → f2149_0_dupList_FieldAccess(EOS(STATIC_2149), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0))) | &&(&&(&&(=(matching1, 1), =(matching2, 0)), =(matching3, 1)), =(matching4, 0))
f2149_0_dupList_FieldAccess(EOS(STATIC_2149), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), matching2)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), matching4)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching5)), matching6))) → f2154_0_dupList_InvokeMethod(EOS(STATIC_2154), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(&&(&&(=(matching1, 1), =(matching2, 0)), =(matching3, 1)), =(matching4, 0)), =(matching5, 1)), =(matching6, 0))
f2154_0_dupList_InvokeMethod(EOS(STATIC_2154), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), matching2)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), matching4)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching5))) → f2160_1_dupList_InvokeMethod(f2160_0_dupList_Load(EOS(STATIC_2160), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(&&(=(matching1, 1), =(matching2, 0)), =(matching3, 1)), =(matching4, 0)), =(matching5, 1))
f2160_0_dupList_Load(EOS(STATIC_2160), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4))) → f2162_0_dupList_Load(EOS(STATIC_2162), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 0)), =(matching4, 1))
f2162_0_dupList_Load(EOS(STATIC_2162), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4))) → f2170_0_dupList_Load(EOS(STATIC_2170), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 0)), =(matching4, 1))
f2170_0_dupList_Load(EOS(STATIC_2170), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching1)), o1341, java.lang.Object(o1339sub), o1342, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching2))) → f2177_0_dupList_Load(EOS(STATIC_2177), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1)), o1341, java.lang.Object(o1339sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1))) | &&(=(matching1, 1), =(matching2, 1))
f2177_0_dupList_Load(EOS(STATIC_2177), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching1)), o1341, java.lang.Object(o1339sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching2))) → f2187_0_dupList_Load(EOS(STATIC_2187), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1)), o1341, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1))) | &&(=(matching1, 1), =(matching2, 1))
f2187_0_dupList_Load(EOS(STATIC_2187), java.lang.Object(IntListDupRec.List(EOC, o1341, matching1)), o1341, java.lang.Object(IntListDupRec.List(EOC, o1341, matching2))) → f1991_0_dupList_Load(EOS(STATIC_1991), java.lang.Object(IntListDupRec.List(EOC, o1341, 1)), o1341, java.lang.Object(IntListDupRec.List(EOC, o1341, 1))) | &&(=(matching1, 1), =(matching2, 1))
R rules:
f1991_0_dupList_Load(EOS(STATIC_1991), java.lang.Object(o1267sub), o1269, java.lang.Object(o1267sub)) → f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(o1267sub), o1269, java.lang.Object(o1267sub), java.lang.Object(o1267sub))
f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), java.lang.Object(IntListDupRec.List(EOC, o1273, i287))) → f1997_0_dupList_FieldAccess(EOS(STATIC_1997), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)))
f1997_0_dupList_FieldAccess(EOS(STATIC_1997), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), java.lang.Object(IntListDupRec.List(EOC, o1273, i287))) → f2000_0_dupList_NONNULL(EOS(STATIC_2000), java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, o1273, i287)), o1273)
f2000_0_dupList_NONNULL(EOS(STATIC_2000), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(o1275sub)) → f2002_0_dupList_NONNULL(EOS(STATIC_2002), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(o1275sub))
f2000_0_dupList_NONNULL(EOS(STATIC_2000), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2003_0_dupList_NONNULL(EOS(STATIC_2003), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2002_0_dupList_NONNULL(EOS(STATIC_2002), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(o1275sub)) → f2004_0_dupList_Load(EOS(STATIC_2004), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)))
f2003_0_dupList_NONNULL(EOS(STATIC_2003), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2005_0_dupList_New(EOS(STATIC_2005), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)))
f2004_0_dupList_Load(EOS(STATIC_2004), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287))) → f2006_0_dupList_FieldAccess(EOS(STATIC_2006), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)))
f2005_0_dupList_New(EOS(STATIC_2005), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2007_0_dupList_Duplicate(EOS(STATIC_2007), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)))
f2006_0_dupList_FieldAccess(EOS(STATIC_2006), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287))) → f2009_0_dupList_NE(EOS(STATIC_2009), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i287)), i287)
f2007_0_dupList_Duplicate(EOS(STATIC_2007), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2012_0_dupList_ConstantStackPush(EOS(STATIC_2012), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)))
f2009_0_dupList_NE(EOS(STATIC_2009), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), i289) → f2015_0_dupList_NE(EOS(STATIC_2015), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), i289)
f2009_0_dupList_NE(EOS(STATIC_2009), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3) → f2016_0_dupList_NE(EOS(STATIC_2016), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2012_0_dupList_ConstantStackPush(EOS(STATIC_2012), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2018_0_dupList_Load(EOS(STATIC_2018), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0)
f2015_0_dupList_NE(EOS(STATIC_2015), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), i289) → f2020_0_dupList_Load(EOS(STATIC_2020), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289))) | !(=(i289, 0))
f2016_0_dupList_NE(EOS(STATIC_2016), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3) → f2022_0_dupList_Load(EOS(STATIC_2022), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2018_0_dupList_Load(EOS(STATIC_2018), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1) → f2024_0_dupList_InvokeMethod(EOS(STATIC_2024), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | =(matching1, 0)
f2020_0_dupList_Load(EOS(STATIC_2020), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289))) → f2026_0_dupList_FieldAccess(EOS(STATIC_2026), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)))
f2022_0_dupList_Load(EOS(STATIC_2022), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2))) → f2027_0_dupList_FieldAccess(EOS(STATIC_2027), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0))) | &&(=(matching1, 0), =(matching2, 0))
f2024_0_dupList_InvokeMethod(EOS(STATIC_2024), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2030_0__init__Load(EOS(STATIC_2030), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | =(matching1, 0)
f2026_0_dupList_FieldAccess(EOS(STATIC_2026), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289))) → f2033_0_dupList_InvokeMethod(EOS(STATIC_2033), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2027_0_dupList_FieldAccess(EOS(STATIC_2027), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3))) → f2035_0_dupList_Store(EOS(STATIC_2035), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub)) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2030_0__init__Load(EOS(STATIC_2030), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching2, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2040_0__init__InvokeMethod(EOS(STATIC_2040), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | &&(=(matching1, 0), =(matching2, 0))
f2033_0_dupList_InvokeMethod(EOS(STATIC_2033), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)) → f2036_1_dupList_InvokeMethod(f2036_0_dupList_Load(EOS(STATIC_2036), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2035_0_dupList_Store(EOS(STATIC_2035), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub)) → f2037_0_dupList_Load(EOS(STATIC_2037), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub)) | &&(=(matching1, 0), =(matching2, 0))
f2036_0_dupList_Load(EOS(STATIC_2036), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)) → f2043_0_dupList_Load(EOS(STATIC_2043), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2037_0_dupList_Load(EOS(STATIC_2037), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub)) → f2046_0_dupList_New(EOS(STATIC_2046), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0))) | &&(=(matching1, 0), =(matching2, 0))
f2040_0__init__InvokeMethod(EOS(STATIC_2040), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching2, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2048_0__init__Load(EOS(STATIC_2048), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | &&(=(matching1, 0), =(matching2, 0))
f2043_0_dupList_Load(EOS(STATIC_2043), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)) → f2058_0_dupList_Load(EOS(STATIC_2058), java.lang.Object(o1275sub), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub))
f2046_0_dupList_New(EOS(STATIC_2046), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3))) → f2061_0_dupList_Duplicate(EOS(STATIC_2061), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f2048_0__init__Load(EOS(STATIC_2048), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching2, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2063_0__init__Load(EOS(STATIC_2063), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | &&(=(matching1, 0), =(matching2, 0))
f2058_0_dupList_Load(EOS(STATIC_2058), java.lang.Object(o1279sub), o1281, o1282, java.lang.Object(o1279sub)) → f2070_0_dupList_Load(EOS(STATIC_2070), java.lang.Object(o1279sub), o1281, java.lang.Object(o1279sub))
f2061_0_dupList_Duplicate(EOS(STATIC_2061), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4))) → f2072_0_dupList_ConstantStackPush(EOS(STATIC_2072), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0))
f2063_0__init__Load(EOS(STATIC_2063), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching2, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2075_0__init__FieldAccess(EOS(STATIC_2075), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0) | &&(=(matching1, 0), =(matching2, 0))
f2072_0_dupList_ConstantStackPush(EOS(STATIC_2072), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5))) → f2083_0_dupList_Load(EOS(STATIC_2083), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1) | &&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0))
f2075_0__init__FieldAccess(EOS(STATIC_2075), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching2) → f2085_0__init__Load(EOS(STATIC_2085), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | &&(=(matching1, 0), =(matching2, 0))
f2083_0_dupList_Load(EOS(STATIC_2083), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6) → f2087_0_dupList_InvokeMethod(EOS(STATIC_2087), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1))
f2085_0__init__Load(EOS(STATIC_2085), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2089_0__init__Load(EOS(STATIC_2089), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | =(matching1, 0)
f2087_0_dupList_InvokeMethod(EOS(STATIC_2087), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub)) → f2091_0__init__Load(EOS(STATIC_2091), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1))
f2089_0__init__Load(EOS(STATIC_2089), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2093_0__init__FieldAccess(EOS(STATIC_2093), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | =(matching1, 0)
f2091_0__init__Load(EOS(STATIC_2091), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub)) → f2097_0__init__InvokeMethod(EOS(STATIC_2097), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1))
f2093_0__init__FieldAccess(EOS(STATIC_2093), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2094_0__init__Return(EOS(STATIC_2094), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), 0, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | =(matching1, 0)
f2094_0__init__Return(EOS(STATIC_2094), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), matching1, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2099_0_dupList_StackPop(EOS(STATIC_2099), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) | =(matching1, 0)
f2097_0__init__InvokeMethod(EOS(STATIC_2097), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching9))) → f2103_0__init__Load(EOS(STATIC_2103), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1)), =(matching9, 0))
f2099_0_dupList_StackPop(EOS(STATIC_2099), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2104_0_dupList_JMP(EOS(STATIC_2104), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)))
f2103_0__init__Load(EOS(STATIC_2103), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub)) → f2105_0__init__Load(EOS(STATIC_2105), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0))) | &&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1))
f2104_0_dupList_JMP(EOS(STATIC_2104), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2106_0_dupList_Load(EOS(STATIC_2106), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)))
f2105_0__init__Load(EOS(STATIC_2105), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), matching8, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching9))) → f2109_0__init__FieldAccess(EOS(STATIC_2109), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 0)), 1) | &&(&&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 1)), =(matching9, 0))
f2106_0_dupList_Load(EOS(STATIC_2106), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2112_0_dupList_FieldAccess(EOS(STATIC_2112), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)))
f2109_0__init__FieldAccess(EOS(STATIC_2109), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching8)), matching9) → f2118_0__init__Load(EOS(STATIC_2118), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 0)), =(matching5, 0)), =(matching6, 1)), =(matching7, 0)), =(matching8, 0)), =(matching9, 1))
f2112_0_dupList_FieldAccess(EOS(STATIC_2112), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), java.lang.Object(IntListDupRec.List(EOC, NULL, i287))) → f2123_0_dupList_InvokeMethod(EOS(STATIC_2123), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2118_0__init__Load(EOS(STATIC_2118), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), java.lang.Object(o1275sub)) → f2124_0__init__Load(EOS(STATIC_2124), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), 1, java.lang.Object(o1275sub), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 1))) | &&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1)), =(matching7, 1))
f2123_0_dupList_InvokeMethod(EOS(STATIC_2123), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2125_0_dupList_InvokeMethod(EOS(STATIC_2125), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2124_0__init__Load(EOS(STATIC_2124), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7))) → f2127_0__init__FieldAccess(EOS(STATIC_2127), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), 1, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, 1)), java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1)), =(matching7, 1))
f2125_0_dupList_InvokeMethod(EOS(STATIC_2125), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2129_0__init__Load(EOS(STATIC_2129), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2127_0__init__FieldAccess(EOS(STATIC_2127), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching4)), java.lang.Object(IntListDupRec.List(EOC, NULL, matching5)), matching6, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, NULL, matching7)), java.lang.Object(o1275sub)) → f2136_0__init__Return(EOS(STATIC_2136), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 1, java.lang.Object(o1275sub)) | &&(&&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1)), =(matching7, 1))
f2129_0__init__Load(EOS(STATIC_2129), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2138_0__init__InvokeMethod(EOS(STATIC_2138), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2136_0__init__Return(EOS(STATIC_2136), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching5)), matching6, java.lang.Object(o1275sub)) → f2137_0_dupList_FieldAccess(EOS(STATIC_2137), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1)), =(matching5, 1)), =(matching6, 1))
f2137_0_dupList_FieldAccess(EOS(STATIC_2137), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4))) → f2143_0_dupList_Load(EOS(STATIC_2143), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269put, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0))) | &&(&&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0)), =(matching4, 1))
f2138_0__init__InvokeMethod(EOS(STATIC_2138), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2145_0__init__Load(EOS(STATIC_2145), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2143_0_dupList_Load(EOS(STATIC_2143), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), matching2)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), matching4))) → f2149_0_dupList_FieldAccess(EOS(STATIC_2149), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0))) | &&(&&(&&(=(matching1, 1), =(matching2, 0)), =(matching3, 1)), =(matching4, 0))
f2145_0__init__Load(EOS(STATIC_2145), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2157_0__init__InvokeMethod(EOS(STATIC_2157), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2149_0_dupList_FieldAccess(EOS(STATIC_2149), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), matching2)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), matching4)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching5)), matching6))) → f2154_0_dupList_InvokeMethod(EOS(STATIC_2154), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(&&(&&(=(matching1, 1), =(matching2, 0)), =(matching3, 1)), =(matching4, 0)), =(matching5, 1)), =(matching6, 0))
f2154_0_dupList_InvokeMethod(EOS(STATIC_2154), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), matching2)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), matching4)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching5))) → f2160_1_dupList_InvokeMethod(f2160_0_dupList_Load(EOS(STATIC_2160), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(&&(=(matching1, 1), =(matching2, 0)), =(matching3, 1)), =(matching4, 0)), =(matching5, 1))
f2157_0__init__InvokeMethod(EOS(STATIC_2157), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2161_0__init__Load(EOS(STATIC_2161), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2160_0_dupList_Load(EOS(STATIC_2160), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4))) → f2162_0_dupList_Load(EOS(STATIC_2162), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 0)), =(matching4, 1))
f2161_0__init__Load(EOS(STATIC_2161), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2171_0__init__InvokeMethod(EOS(STATIC_2171), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2162_0_dupList_Load(EOS(STATIC_2162), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching2)), matching3)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching4))) → f2170_0_dupList_Load(EOS(STATIC_2170), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), o1269, java.lang.Object(o1275sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), 1))) | &&(&&(&&(=(matching1, 1), =(matching2, 1)), =(matching3, 0)), =(matching4, 1))
f2170_0_dupList_Load(EOS(STATIC_2170), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching1)), o1341, java.lang.Object(o1339sub), o1342, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching2))) → f2177_0_dupList_Load(EOS(STATIC_2177), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1)), o1341, java.lang.Object(o1339sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1))) | &&(=(matching1, 1), =(matching2, 1))
f2171_0__init__InvokeMethod(EOS(STATIC_2171), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2179_0__init__Load(EOS(STATIC_2179), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2177_0_dupList_Load(EOS(STATIC_2177), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching1)), o1341, java.lang.Object(o1339sub), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), matching2))) → f2187_0_dupList_Load(EOS(STATIC_2187), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1)), o1341, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1339sub), 1))) | &&(=(matching1, 1), =(matching2, 1))
f2179_0__init__Load(EOS(STATIC_2179), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2204_0__init__InvokeMethod(EOS(STATIC_2204), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2204_0__init__InvokeMethod(EOS(STATIC_2204), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2207_0__init__Load(EOS(STATIC_2207), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2207_0__init__Load(EOS(STATIC_2207), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2209_0__init__Load(EOS(STATIC_2209), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2209_0__init__Load(EOS(STATIC_2209), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2211_0__init__FieldAccess(EOS(STATIC_2211), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2211_0__init__FieldAccess(EOS(STATIC_2211), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2217_0__init__Load(EOS(STATIC_2217), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2217_0__init__Load(EOS(STATIC_2217), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2220_0__init__InvokeMethod(EOS(STATIC_2220), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2220_0__init__InvokeMethod(EOS(STATIC_2220), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2224_0__init__StackPop(EOS(STATIC_2224), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2224_0__init__StackPop(EOS(STATIC_2224), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2226_0__init__Return(EOS(STATIC_2226), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2226_0__init__Return(EOS(STATIC_2226), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2228_0__init__Return(EOS(STATIC_2228), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2228_0__init__Return(EOS(STATIC_2228), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2230_0__init__Return(EOS(STATIC_2230), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2230_0__init__Return(EOS(STATIC_2230), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2232_0__init__Return(EOS(STATIC_2232), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2232_0__init__Return(EOS(STATIC_2232), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL) → f2234_0_dupList_InvokeMethod(EOS(STATIC_2234), java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), o1269, java.lang.Object(IntListDupRec.List(EOC, NULL, i287)), NULL)
f2285_0_dupList_InvokeMethod(EOS(STATIC_2285), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), o1372, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), NULL) → f2464_0_dupList_InvokeMethod(EOS(STATIC_2464), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), o1372, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), NULL)
f2464_0_dupList_InvokeMethod(EOS(STATIC_2464), o1530, o1532, o1530, java.lang.Object(IntListDupRec.List(EOC, o1528, i349)), java.lang.Object(IntListDupRec.List(EOC, o1528, i349)), o1528) → f2650_0_dupList_InvokeMethod(EOS(STATIC_2650), o1530, o1532, o1530, java.lang.Object(IntListDupRec.List(EOC, o1528, i349)), java.lang.Object(IntListDupRec.List(EOC, o1528, i349)), o1528)
f2481_0_dupList_InvokeMethod(EOS(STATIC_2481), o1543, o1545, o1543, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1541sub), i356)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1541sub), i356)), java.lang.Object(o1541sub)) → f2650_0_dupList_InvokeMethod(EOS(STATIC_2650), o1543, o1545, o1543, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1541sub), i356)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1541sub), i356)), java.lang.Object(o1541sub))
f2650_0_dupList_InvokeMethod(EOS(STATIC_2650), o1647, o1649, o1647, o1644, o1644, o1645) → f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), o1647, o1649, o1647, o1644)
f2732_0_dupList_InvokeMethod(EOS(STATIC_2732), o1709, o1706, o1709, o1704, o1704, o1707) → f2650_0_dupList_InvokeMethod(EOS(STATIC_2650), o1709, o1706, o1709, o1704, o1704, o1707)
f2740_0_dupList_InvokeMethod(EOS(STATIC_2740), o1722, o1719, o1722, o1717, o1717, o1720) → f2650_0_dupList_InvokeMethod(EOS(STATIC_2650), o1722, o1719, o1722, o1717, o1717, o1720)
f2070_0_dupList_Load(EOS(STATIC_2070), java.lang.Object(o1279sub), o1281, java.lang.Object(o1279sub)) → f1991_0_dupList_Load(EOS(STATIC_1991), java.lang.Object(o1279sub), o1281, java.lang.Object(o1279sub))
f2187_0_dupList_Load(EOS(STATIC_2187), java.lang.Object(IntListDupRec.List(EOC, o1341, matching1)), o1341, java.lang.Object(IntListDupRec.List(EOC, o1341, matching2))) → f1991_0_dupList_Load(EOS(STATIC_1991), java.lang.Object(IntListDupRec.List(EOC, o1341, 1)), o1341, java.lang.Object(IntListDupRec.List(EOC, o1341, 1))) | &&(=(matching1, 1), =(matching2, 1))
f2036_1_dupList_InvokeMethod(f2234_0_dupList_InvokeMethod(EOS(STATIC_2234), java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), o1372, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), NULL), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), o1372, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), java.lang.Object(IntListDupRec.List(EOC, NULL, i301))) → f2285_0_dupList_InvokeMethod(EOS(STATIC_2285), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), o1372, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), i289)), java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), java.lang.Object(IntListDupRec.List(EOC, NULL, i301)), NULL)
f2036_1_dupList_InvokeMethod(f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), o1704, o1706, o1704, o1707), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), i289)), java.lang.Object(o1275sub)) → f2732_0_dupList_InvokeMethod(EOS(STATIC_2732), o1709, o1706, o1709, o1704, o1704, o1707)
f2160_1_dupList_InvokeMethod(f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), o1717, o1719, o1717, o1720), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching1)), matching2)), o1269, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching3)), matching4)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(o1275sub), matching5))) → f2740_0_dupList_InvokeMethod(EOS(STATIC_2740), o1722, o1719, o1722, o1717, o1717, o1720) | &&(&&(&&(&&(=(matching1, 1), =(matching2, 0)), =(matching3, 1)), =(matching4, 0)), =(matching5, 1))

Combined rules. Obtained 2 conditional rules for P and 6 conditional rules for R.


P rules:
f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), x2, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1))) → f2036_1_dupList_InvokeMethod(f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(x0), x2, java.lang.Object(x0), java.lang.Object(x0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), x2, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), java.lang.Object(x0)) | !(=(x1, 0))
f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 0)), x2, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 0))) → f2160_1_dupList_InvokeMethod(f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), java.lang.Object(x0), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1))), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), 0)), java.lang.Object(x0), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)))
R rules:
f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), x1, java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), java.lang.Object(IntListDupRec.List(EOC, NULL, x0))) → f2234_0_dupList_InvokeMethod(EOS(STATIC_2234), java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), x1, java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), NULL)
f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), x2, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1))) → f2036_1_dupList_InvokeMethod(f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(x0), x2, java.lang.Object(x0), java.lang.Object(x0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), x2, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), x1)), java.lang.Object(x0)) | !(=(x1, 0))
f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 0)), x2, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 0))) → f2160_1_dupList_InvokeMethod(f1994_0_dupList_FieldAccess(EOS(STATIC_1994), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), java.lang.Object(x0), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1))), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), 0)), java.lang.Object(x0), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x0), 1)))
f2036_1_dupList_InvokeMethod(f2234_0_dupList_InvokeMethod(EOS(STATIC_2234), java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), x1, java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), NULL), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), x2)), x1, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), x2)), java.lang.Object(IntListDupRec.List(EOC, NULL, x0))) → f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), x2)), x1, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, NULL, x0)), x2)), java.lang.Object(IntListDupRec.List(EOC, NULL, x0)))
f2036_1_dupList_InvokeMethod(f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), x0, x1, x0, x2), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x3), x4)), x5, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x3), x4)), java.lang.Object(x3)) → f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), x6, x1, x6, x0)
f2160_1_dupList_InvokeMethod(f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), x0, x1, x0, x2), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x3), 1)), 0)), x6, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x3), 1)), 0)), java.lang.Object(IntListDupRec.List(EOC, java.lang.Object(x3), 1))) → f2679_0_dupList_InvokeMethod(EOS(STATIC_2679), x10, x1, x10, x0)

Filtered ground terms:



f1994_0_dupList_FieldAccess(x1, x2, x3, x4, x5) → f1994_0_dupList_FieldAccess(x2, x3, x4, x5)
Cond_f1994_0_dupList_FieldAccess(x1, x2, x3, x4, x5, x6) → Cond_f1994_0_dupList_FieldAccess(x1, x3, x4, x5, x6)
IntListDupRec.List(x1, x2, x3) → IntListDupRec.List(x2, x3)
f2234_0_dupList_InvokeMethod(x1, x2, x3, x4, x5) → f2234_0_dupList_InvokeMethod(x2, x3, x4)
f2679_0_dupList_InvokeMethod(x1, x2, x3, x4, x5) → f2679_0_dupList_InvokeMethod(x2, x3, x4, x5)

Filtered unneeded arguments:



f1994_0_dupList_FieldAccess(x1, x2, x3, x4) → f1994_0_dupList_FieldAccess(x1, x3, x4)
Cond_f1994_0_dupList_FieldAccess(x1, x2, x3, x4, x5) → Cond_f1994_0_dupList_FieldAccess(x1, x2, x4, x5)
f2036_1_dupList_InvokeMethod(x1, x2, x3, x4, x5) → f2036_1_dupList_InvokeMethod(x1, x2, x4, x5)
f2160_1_dupList_InvokeMethod(x1, x2, x3, x4, x5) → f2160_1_dupList_InvokeMethod(x1)
f2679_0_dupList_InvokeMethod(x1, x2, x3, x4) → f2679_0_dupList_InvokeMethod(x1, x3)
f2234_0_dupList_InvokeMethod(x1, x2, x3) → f2234_0_dupList_InvokeMethod(x1, x3)

Filtered duplicate args:



f1994_0_dupList_FieldAccess(x1, x2, x3) → f1994_0_dupList_FieldAccess(x3)
Cond_f1994_0_dupList_FieldAccess(x1, x2, x3, x4) → Cond_f1994_0_dupList_FieldAccess(x1, x4)
f2036_1_dupList_InvokeMethod(x1, x2, x3, x4) → f2036_1_dupList_InvokeMethod(x1, x3)
f2234_0_dupList_InvokeMethod(x1, x2) → f2234_0_dupList_InvokeMethod(x2)
f2679_0_dupList_InvokeMethod(x1, x2) → f2679_0_dupList_InvokeMethod(x2)

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


P rules:
F1994_0_DUPLIST_FIELDACCESS(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) → F1994_0_DUPLIST_FIELDACCESS(java.lang.Object(x0)) | !(=(x1, 0))
F1994_0_DUPLIST_FIELDACCESS(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 0))) → F1994_0_DUPLIST_FIELDACCESS(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 1)))
R rules:

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


P rules:
F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1, 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1)))
COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0))
F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 1)))
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:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(x1[0] = 0), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))
(1): COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))
(2): F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))

(0) -> (1), if (!(x1[0] = 0) ∧java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])) →* java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1])))


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


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


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


(2) -> (2), if (java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)) →* java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]'), 0)))



The set Q is empty.

(8) IDPNonInfProof (SOUND transformation)

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

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


For Pair F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1, 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) the following chains were created:
  • We consider the chain F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))), COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1])) which results in the following constraint:

    (1)    (!(=(x1[0], 0))=TRUEjava.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1])) ⇒ F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))≥NonInfC∧F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))≥COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))∧(UIncreasing(COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))), ≥))



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

    (2)    (!(=(x1[0], 0))=TRUEF1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))≥NonInfC∧F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))≥COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))∧(UIncreasing(COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))), ≥))



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

    (3)    (0 ≥ 0 ⇒ (UIncreasing(COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))), ≥)∧[(5)bni_11 + (-1)Bound*bni_11] + [(16)bni_11]x0[0] ≥ 0∧[4 + (-1)bso_12] + [8]x0[0] ≥ 0)



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

    (4)    (0 ≥ 0 ⇒ (UIncreasing(COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))), ≥)∧[(5)bni_11 + (-1)Bound*bni_11] + [(16)bni_11]x0[0] ≥ 0∧[4 + (-1)bso_12] + [8]x0[0] ≥ 0)



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

    (5)    (0 ≥ 0 ⇒ (UIncreasing(COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))), ≥)∧[(5)bni_11 + (-1)Bound*bni_11] + [(16)bni_11]x0[0] ≥ 0∧[4 + (-1)bso_12] + [8]x0[0] ≥ 0)



    We simplified constraint (5) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (6)    (0 ≥ 0 ⇒ (UIncreasing(COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))), ≥)∧0 ≥ 0∧[(16)bni_11] ≥ 0∧[(5)bni_11 + (-1)Bound*bni_11] ≥ 0∧0 ≥ 0∧[4 + (-1)bso_12] ≥ 0∧[1] ≥ 0)







For Pair COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0)) the following chains were created:
  • We consider the chain F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))), COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1])), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) which results in the following constraint:

    (7)    (!(=(x1[0], 0))=TRUEjava.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))∧java.lang.Object(x0[1])=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]1), x1[0]1)) ⇒ COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1])))≥NonInfC∧COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1])))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥))



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

    (8)    (!(=(x1[0], 0))=TRUECOND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]1), x1[0]1)), x1[0])))≥NonInfC∧COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]1), x1[0]1)), x1[0])))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]1), x1[0]1)))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥))



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

    (9)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧[(9)bni_13 + (-1)Bound*bni_13] + [(32)bni_13]x0[0]1 ≥ 0∧[4 + (-1)bso_14] + [16]x0[0]1 ≥ 0)



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

    (10)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧[(9)bni_13 + (-1)Bound*bni_13] + [(32)bni_13]x0[0]1 ≥ 0∧[4 + (-1)bso_14] + [16]x0[0]1 ≥ 0)



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

    (11)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧[(9)bni_13 + (-1)Bound*bni_13] + [(32)bni_13]x0[0]1 ≥ 0∧[4 + (-1)bso_14] + [16]x0[0]1 ≥ 0)



    We simplified constraint (11) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (12)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(32)bni_13] ≥ 0∧[(9)bni_13 + (-1)Bound*bni_13] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_14] ≥ 0∧[1] ≥ 0)



  • We consider the chain F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))), COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1])), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))) which results in the following constraint:

    (13)    (!(=(x1[0], 0))=TRUEjava.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))∧java.lang.Object(x0[1])=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)) ⇒ COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1])))≥NonInfC∧COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1])))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥))



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

    (14)    (!(=(x1[0], 0))=TRUECOND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)), x1[0])))≥NonInfC∧COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)), x1[0])))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥))



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

    (15)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧[(9)bni_13 + (-1)Bound*bni_13] + [(32)bni_13]x0[2] ≥ 0∧[4 + (-1)bso_14] + [16]x0[2] ≥ 0)



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

    (16)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧[(9)bni_13 + (-1)Bound*bni_13] + [(32)bni_13]x0[2] ≥ 0∧[4 + (-1)bso_14] + [16]x0[2] ≥ 0)



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

    (17)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧[(9)bni_13 + (-1)Bound*bni_13] + [(32)bni_13]x0[2] ≥ 0∧[4 + (-1)bso_14] + [16]x0[2] ≥ 0)



    We simplified constraint (17) using rules (IDP_UNRESTRICTED_VARS), (IDP_POLY_GCD) which results in the following new constraint:

    (18)    (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧0 ≥ 0∧[(32)bni_13] ≥ 0∧[(9)bni_13 + (-1)Bound*bni_13] ≥ 0∧0 ≥ 0∧[4 + (-1)bso_14] ≥ 0∧[1] ≥ 0)







For Pair F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 1))) the following chains were created:
  • We consider the chain COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1])), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) which results in the following constraint:

    (19)    (java.lang.Object(x0[1])=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))∧java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])) ⇒ F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)))≥NonInfC∧F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥))



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

    (20)    (F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)))≥NonInfC∧F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥))



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

    (21)    ((UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥)∧[bni_15] = 0∧[(-1)bso_16] ≥ 0)



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

    (22)    ((UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥)∧[bni_15] = 0∧[(-1)bso_16] ≥ 0)



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

    (23)    ((UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥)∧[bni_15] = 0∧[(-1)bso_16] ≥ 0)



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

    (24)    ((UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥)∧[bni_15] = 0∧0 ≥ 0∧[(-1)bso_16] ≥ 0)



  • We consider the chain F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) which results in the following constraint:

    (25)    (java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 0))∧java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 1))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])) ⇒ F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 0)))≥NonInfC∧F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 0)))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 1)))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 1)))), ≥))



    We solved constraint (25) using rules (I), (II).
  • We consider the chain COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1])), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))) which results in the following constraint:

    (26)    (java.lang.Object(x0[1])=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))∧java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 0)) ⇒ F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)))≥NonInfC∧F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0)))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥))



    We solved constraint (26) using rules (I), (II).
  • We consider the chain F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))), F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))) which results in the following constraint:

    (27)    (java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 0))∧java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 1))=java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]2), 0)) ⇒ F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 0)))≥NonInfC∧F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 0)))≥F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 1)))∧(UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]1), 1)))), ≥))



    We solved constraint (27) using rules (I), (II).




To summarize, we get the following constraints P for the following pairs.
  • F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1, 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1)))
    • (0 ≥ 0 ⇒ (UIncreasing(COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))), ≥)∧0 ≥ 0∧[(16)bni_11] ≥ 0∧[(5)bni_11 + (-1)Bound*bni_11] ≥ 0∧0 ≥ 0∧[4 + (-1)bso_12] ≥ 0∧[1] ≥ 0)

  • COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0), x1))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0))
    • (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧0 ≥ 0∧0 ≥ 0∧[(32)bni_13] ≥ 0∧[(9)bni_13 + (-1)Bound*bni_13] ≥ 0∧0 ≥ 0∧0 ≥ 0∧[4 + (-1)bso_14] ≥ 0∧[1] ≥ 0)
    • (0 ≥ 0 ⇒ (UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))), ≥)∧0 ≥ 0∧[(32)bni_13] ≥ 0∧[(9)bni_13 + (-1)Bound*bni_13] ≥ 0∧0 ≥ 0∧[4 + (-1)bso_14] ≥ 0∧[1] ≥ 0)

  • F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0), 1)))
    • ((UIncreasing(F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))), ≥)∧[bni_15] = 0∧0 ≥ 0∧[(-1)bso_16] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(F1994_0_DUPLIST_FIELDACCESS'(x1)) = [1] + [2]x1   
POL(java.lang.Object(x1)) = [2]x1   
POL(IntListDupRec.List(x1, x2)) = [1] + [2]x1   
POL(COND_F1994_0_DUPLIST_FIELDACCESS(x1, x2)) = [-1] + x2 + x1   
POL(!(x1)) = 0   
POL(=(x1, x2)) = 0   
POL(0) = 0   
POL(1) = 0   

The following pairs are in P>:

F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))
COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))

The following pairs are in Pbound:

F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0]))) → COND_F1994_0_DUPLIST_FIELDACCESS(!(=(x1[0], 0)), java.lang.Object(IntListDupRec.List(java.lang.Object(x0[0]), x1[0])))
COND_F1994_0_DUPLIST_FIELDACCESS(TRUE, java.lang.Object(IntListDupRec.List(java.lang.Object(x0[1]), x1[1]))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(x0[1]))

The following pairs are in P:

F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))

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

!(TRUE)1FALSE1
!(FALSE)1TRUE1

(9) 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:
(2): F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 0))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)))

(2) -> (2), if (java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), 1)) →* java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]'), 0)))



The set Q is empty.

(10) IDPtoQDPProof (SOUND transformation)

Represented integers and predefined function symbols by Terms

(11) Obligation:

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

F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), pos(01)))) → F1994_0_DUPLIST_FIELDACCESS'(java.lang.Object(IntListDupRec.List(java.lang.Object(x0[2]), pos(s(01)))))

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

(12) DependencyGraphProof (EQUIVALENT transformation)

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

(13) TRUE

(14) Obligation:

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

(15) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 13 IRules

P rules:
f260_0_createList_GE(EOS, i28, i28, i28) → f266_0_createList_GE(EOS, i28, i28, i28)
f266_0_createList_GE(EOS, i28, i28, i28) → f276_0_createList_New(EOS, i28, i28) | >=(i28, 0)
f276_0_createList_New(EOS, i28, i28) → f284_0_createList_Duplicate(EOS, i28, i28)
f284_0_createList_Duplicate(EOS, i28, i28) → f296_0_createList_ConstantStackPush(EOS, i28, i28)
f296_0_createList_ConstantStackPush(EOS, i28, i28) → f327_0_createList_Load(EOS, i28, i28)
f327_0_createList_Load(EOS, i28, i28) → f330_0_createList_ConstantStackPush(EOS, i28, i28)
f330_0_createList_ConstantStackPush(EOS, i28, i28) → f335_0_createList_IntArithmetic(EOS, i28, i28, 1)
f335_0_createList_IntArithmetic(EOS, i28, i28, matching1) → f339_0_createList_InvokeMethod(EOS, i28, -(i28, 1)) | &&(>=(i28, 0), =(matching1, 1))
f339_0_createList_InvokeMethod(EOS, i28, i35) → f340_0_createList_Load(EOS, i35, i35)
f339_0_createList_InvokeMethod(EOS, i28, i35) → f340_1_createList_Load(EOS, i28, i35, i35)
f340_0_createList_Load(EOS, i35, i35) → f342_0_createList_Load(EOS, i35, i35)
f342_0_createList_Load(EOS, i35, i35) → f252_0_createList_Load(EOS, i35, i35)
f252_0_createList_Load(EOS, i25, i25) → f260_0_createList_GE(EOS, i25, i25, i25)

Combined rules. Obtained 2 IRules

P rules:
f260_0_createList_GE(EOS, x0, x0, x0) → f340_1_createList_Load(EOS, x0, -(x0, 1), -(x0, 1)) | >(+(x0, 1), 0)
f260_0_createList_GE(EOS, x0, x0, x0) → f260_0_createList_GE(EOS, -(x0, 1), -(x0, 1), -(x0, 1)) | >(+(x0, 1), 0)

Filtered ground terms:


f260_0_createList_GE(x1, x2, x3, x4) → f260_0_createList_GE(x2, x3, x4)
Cond_f260_0_createList_GE(x1, x2, x3, x4, x5) → Cond_f260_0_createList_GE(x1, x3, x4, x5)
f340_1_createList_Load(x1, x2, x3, x4) → f340_1_createList_Load(x2, x3, x4)
Cond_f260_0_createList_GE1(x1, x2, x3, x4, x5) → Cond_f260_0_createList_GE1(x1, x3, x4, x5)

Filtered duplicate terms:


f260_0_createList_GE(x1, x2, x3) → f260_0_createList_GE(x3)
Cond_f260_0_createList_GE(x1, x2, x3, x4) → Cond_f260_0_createList_GE(x1, x4)
f340_1_createList_Load(x1, x2, x3) → f340_1_createList_Load(x3)
Cond_f260_0_createList_GE1(x1, x2, x3, x4) → Cond_f260_0_createList_GE1(x1, x4)

Filtered unneeded terms:


Cond_f260_0_createList_GE(x1, x2) → Cond_f260_0_createList_GE(x1)

Prepared 2 rules for path length conversion:

P rules:
f260_0_createList_GE(x0) → f340_1_createList_Load(-(x0, 1)) | >(+(x0, 1), 0)
f260_0_createList_GE(x0) → f260_0_createList_GE(-(x0, 1)) | >(+(x0, 1), 0)

Finished conversion. Obtained 1 rules.

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

(16) Obligation:

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

(17) PolynomialOrderProcessor (EQUIVALENT transformation)

Found the following polynomial interpretation:


[f260_0_createList_GE(x2)] = x2

Therefore the following rule(s) have been dropped:


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

(18) YES