(0) Obligation:

JBC Problem based on JBC Program:
package DoublyLinkedList;

/**
* A linked list with pointers to the previous and next elements
* @author cotto
*/
public class DoublyLinkedList {
public int value;
public DoublyLinkedList prev;
public DoublyLinkedList next;

public DoublyLinkedList(final int v) {
this.value = v;
}

public DoublyLinkedList getFirst() {
if (this.prev == null) {
return this;
}
return this.prev.getFirst();
}

public void move(final int relativePosition) {
if (relativePosition == 0) {
return;
}
if (relativePosition > 0 && this.next != null) {
final DoublyLinkedList temp = this.next;
if (this.prev != null) {
this.prev.next = temp;
}
temp.prev = this.prev;
this.next = temp.next;
temp.next = this;
this.prev = temp;
move(relativePosition - 1);
}
if (relativePosition < 0 && this.prev != null) {
final DoublyLinkedList temp = this.prev;
if (this.next != null) {
this.next.prev = temp;
}
temp.next = this.next;
this.prev = temp.prev;
temp.prev = this;
this.next = temp;
move(relativePosition - 1);
}
}

public DoublyLinkedList get(final int index) {
return this.getFirst().getR(index);
}

private DoublyLinkedList getR(final int index) {
if (index == 0 || this.next == null) {
return this;
}
return this.next.getR(index - 1);
}

public DoublyLinkedList find(final int v) {
final DoublyLinkedList first = this.getFirst();
return first.findR(v);
}

private DoublyLinkedList findR(final int v) {
if (this.value == v) {
return this;
}
if (this.next != null) {
return this.next.findR(v);
}
return null;
}

public void delete(final int v) {
final DoublyLinkedList elem = find(v);
if (elem != null) {
if (elem.prev != null) {
elem.prev.next = elem.next;
}
if (elem.next != null) {
elem.next.prev = elem.prev;
}
}
}

public DoublyLinkedList copy() {
final DoublyLinkedList first = this.getFirst();
return first.copyR(null);
}

private DoublyLinkedList copyR(final DoublyLinkedList p) {
final DoublyLinkedList copy = new DoublyLinkedList(this.value);
copy.prev = p;
if (p != null) {
p.next = copy;
}
if (this.next != null) {
this.next.copyR(copy);
}
return copy;
}

static DoublyLinkedList createList() {
final int count = Random.random();
DoublyLinkedList cur = null;
for (int i = 0; i < count; i++) {
final DoublyLinkedList old = cur;
cur = new DoublyLinkedList(Random.random());
cur.prev = old;
if (old != null) {
old.next = cur;
}
}

return cur;
}
}


package DoublyLinkedList;

/**
*
* @author cotto
*/
public class MainGet {
public static void main(final String[] args) {
Random.args = args;
final DoublyLinkedList list = DoublyLinkedList.createList();
list.get(Random.random());
}
}


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

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


(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

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

DoublyLinkedList.DoublyLinkedList.createList()LDoublyLinkedList/DoublyLinkedList;: Graph of 166 nodes with 1 SCC.

DoublyLinkedList.DoublyLinkedList.getFirst()LDoublyLinkedList/DoublyLinkedList;: Graph of 27 nodes with 0 SCCs.

DoublyLinkedList.DoublyLinkedList.getR(I)LDoublyLinkedList/DoublyLinkedList;: Graph of 208 nodes with 0 SCCs.


(3) TerminationGraphToSCCProof (SOUND transformation)

Splitted TerminationGraph to 3 SCCss.

(4) Complex Obligation (AND)

(5) Obligation:

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

(6) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 89 IRules

P rules:
f10840_0_getR_EQ(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, i3359) → f10842_0_getR_EQ(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, i3359)
f10842_0_getR_EQ(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, i3359) → f10846_0_getR_Load(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359) | >(i3359, 0)
f10846_0_getR_Load(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359) → f10851_0_getR_FieldAccess(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, java.lang.Object(o6257sub))
f10851_0_getR_FieldAccess(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, java.lang.Object(o6257sub)) → f10873_0_getR_FieldAccess(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, java.lang.Object(o6257sub))
f10851_0_getR_FieldAccess(EOS, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub), o6260, o6261, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub)) → f10874_0_getR_FieldAccess(EOS, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub), o6260, o6261, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub))
f10873_0_getR_FieldAccess(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, java.lang.Object(o6257sub)) → f10893_0_getR_FieldAccess(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, java.lang.Object(o6257sub))
f10873_0_getR_FieldAccess(EOS, java.lang.Object(o6268sub), i3359, o6259, java.lang.Object(o6268sub), o6261, java.lang.Object(o6268sub), i3359, java.lang.Object(o6268sub)) → f10894_0_getR_FieldAccess(EOS, java.lang.Object(o6268sub), i3359, o6259, java.lang.Object(o6268sub), o6261, java.lang.Object(o6268sub), i3359, java.lang.Object(o6268sub))
f10893_0_getR_FieldAccess(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, java.lang.Object(o6257sub)) → f11002_0_getR_FieldAccess(EOS, java.lang.Object(o6257sub), i3359, o6259, o6260, o6261, java.lang.Object(o6257sub), i3359, java.lang.Object(o6257sub))
f10893_0_getR_FieldAccess(EOS, java.lang.Object(o6327sub), i3359, o6259, o6260, java.lang.Object(o6327sub), java.lang.Object(o6327sub), i3359, java.lang.Object(o6327sub)) → f11003_0_getR_FieldAccess(EOS, java.lang.Object(o6327sub), i3359, o6259, o6260, java.lang.Object(o6327sub), java.lang.Object(o6327sub), i3359, java.lang.Object(o6327sub))
f11002_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342))) → f11016_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)))
f11016_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342))) → f11055_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6342)), i3359, o6342)
f11055_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, java.lang.Object(o6506sub)) → f11089_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, java.lang.Object(o6506sub))
f11089_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, java.lang.Object(o6506sub)) → f11124_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359)
f11124_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359) → f11194_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))))
f11194_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub)))) → f11266_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, i3359, java.lang.Object(o6506sub))
f11266_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, i3359, java.lang.Object(o6506sub)) → f11531_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), i3359)
f11531_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), i3359) → f11718_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), i3359, 1)
f11718_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), i3359, matching1) → f11770_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), -(i3359, 1)) | &&(>(i3359, 0), =(matching1, 1))
f11770_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), i3754) → f11799_0_getR_Load(EOS, java.lang.Object(o6506sub), i3754, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), java.lang.Object(o6506sub), i3754)
f11770_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), i3754) → f11799_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), i3359, o6259, o6260, o6261, java.lang.Object(o6506sub), i3754, java.lang.Object(o6506sub), i3754)
f11799_0_getR_Load(EOS, java.lang.Object(o6506sub), i3754, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), java.lang.Object(o6506sub), i3754) → f11817_0_getR_Load(EOS, java.lang.Object(o6506sub), i3754, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), java.lang.Object(o6506sub), i3754)
f11817_0_getR_Load(EOS, java.lang.Object(o6506sub), i3754, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), java.lang.Object(o6506sub), i3754) → f11901_0_getR_Load(EOS, java.lang.Object(o6506sub), i3754, o6259, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6506sub))), java.lang.Object(o6506sub), i3754)
f11901_0_getR_Load(EOS, java.lang.Object(o7396sub), i3754, o7398, o7399, o7400, o7403, java.lang.Object(o7396sub), i3754) → f11942_0_getR_Load(EOS, java.lang.Object(o7396sub), i3754, o7398, o7399, o7400, o7403, java.lang.Object(o7396sub), i3754)
f11942_0_getR_Load(EOS, java.lang.Object(o7396sub), i3754, o7398, o7399, o7400, o7403, java.lang.Object(o7396sub), i3754) → f12285_0_getR_Load(EOS, java.lang.Object(o7396sub), i3754, o7398, o7399, o7400, java.lang.Object(o7396sub), i3754)
f12285_0_getR_Load(EOS, java.lang.Object(o7396sub), i3754, o7398, o7399, o7400, java.lang.Object(o7396sub), i3754) → f10834_0_getR_Load(EOS, java.lang.Object(o7396sub), i3754, o7398, o7399, o7400, java.lang.Object(o7396sub), i3754)
f10834_0_getR_Load(EOS, java.lang.Object(o6257sub), i3357, o6259, o6260, o6261, java.lang.Object(o6257sub), i3357) → f10840_0_getR_EQ(EOS, java.lang.Object(o6257sub), i3357, o6259, o6260, o6261, java.lang.Object(o6257sub), i3357, i3357)
f11003_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345))) → f11018_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)))
f11018_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345))) → f11074_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6345)), i3359, o6345)
f11074_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, java.lang.Object(o6507sub)) → f11093_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, java.lang.Object(o6507sub))
f11093_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, java.lang.Object(o6507sub)) → f11149_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359)
f11149_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359) → f11215_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))))
f11215_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub)))) → f11283_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, java.lang.Object(o6507sub))
f11283_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, java.lang.Object(o6507sub)) → f11619_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3359)
f11619_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3359) → f11734_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3359, 1)
f11734_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3359, matching1) → f11789_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), -(i3359, 1)) | &&(>(i3359, 0), =(matching1, 1))
f11789_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761) → f11801_0_getR_Load(EOS, java.lang.Object(o6507sub), i3761, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761)
f11789_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761) → f11801_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), i3359, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761, java.lang.Object(o6507sub), i3761)
f11801_0_getR_Load(EOS, java.lang.Object(o6507sub), i3761, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761) → f11822_0_getR_Load(EOS, java.lang.Object(o6507sub), i3761, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761)
f11822_0_getR_Load(EOS, java.lang.Object(o6507sub), i3761, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761) → f11918_0_getR_Load(EOS, java.lang.Object(o6507sub), i3761, o6259, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6507sub))), java.lang.Object(o6507sub), i3761)
f11918_0_getR_Load(EOS, java.lang.Object(o7406sub), i3761, o7408, o7409, o7412, java.lang.Object(o7406sub), i3761) → f11947_0_getR_Load(EOS, java.lang.Object(o7406sub), i3761, o7408, o7409, o7412, java.lang.Object(o7406sub), i3761)
f11947_0_getR_Load(EOS, java.lang.Object(o7406sub), i3761, o7408, o7409, o7412, java.lang.Object(o7406sub), i3761) → f10834_0_getR_Load(EOS, java.lang.Object(o7406sub), i3761, o7408, o7409, o7412, java.lang.Object(o7406sub), i3761)
f10894_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333))) → f11007_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)))
f11007_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333))) → f11023_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6333)), i3359, o6333)
f11023_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, java.lang.Object(o6503sub)) → f11075_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, java.lang.Object(o6503sub))
f11075_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, java.lang.Object(o6503sub)) → f11095_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359)
f11095_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359) → f11159_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))))
f11159_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub)))) → f11231_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, i3359, java.lang.Object(o6503sub))
f11231_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, i3359, java.lang.Object(o6503sub)) → f11287_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), i3359)
f11287_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), i3359) → f11692_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), i3359, 1)
f11692_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), i3359, matching1) → f11737_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), -(i3359, 1)) | &&(>(i3359, 0), =(matching1, 1))
f11737_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), i3746) → f11791_0_getR_Load(EOS, java.lang.Object(o6503sub), i3746, o6259, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), java.lang.Object(o6503sub), i3746)
f11737_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), i3746) → f11791_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), i3359, o6259, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), o6261, java.lang.Object(o6503sub), i3746, java.lang.Object(o6503sub), i3746)
f11791_0_getR_Load(EOS, java.lang.Object(o6503sub), i3746, o6259, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), java.lang.Object(o6503sub), i3746) → f11805_0_getR_Load(EOS, java.lang.Object(o6503sub), i3746, o6259, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), java.lang.Object(o6503sub), i3746)
f11805_0_getR_Load(EOS, java.lang.Object(o6503sub), i3746, o6259, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), java.lang.Object(o6503sub), i3746) → f11849_0_getR_Load(EOS, java.lang.Object(o6503sub), i3746, o6259, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6503sub))), java.lang.Object(o6503sub), i3746)
f11849_0_getR_Load(EOS, java.lang.Object(o7370sub), i3746, o7372, o7373, o7376, java.lang.Object(o7370sub), i3746) → f11923_0_getR_Load(EOS, java.lang.Object(o7370sub), i3746, o7372, o7373, o7376, java.lang.Object(o7370sub), i3746)
f11923_0_getR_Load(EOS, java.lang.Object(o7370sub), i3746, o7372, o7373, o7376, java.lang.Object(o7370sub), i3746) → f10834_0_getR_Load(EOS, java.lang.Object(o7370sub), i3746, o7372, o7376, o7373, java.lang.Object(o7370sub), i3746)
f10874_0_getR_FieldAccess(EOS, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub), o6260, o6261, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub)) → f10916_0_getR_FieldAccess(EOS, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub), o6260, o6261, java.lang.Object(o6265sub), i3359, java.lang.Object(o6265sub))
f10874_0_getR_FieldAccess(EOS, java.lang.Object(o6271sub), i3359, java.lang.Object(o6271sub), o6260, java.lang.Object(o6271sub), java.lang.Object(o6271sub), i3359, java.lang.Object(o6271sub)) → f10918_0_getR_FieldAccess(EOS, java.lang.Object(o6271sub), i3359, java.lang.Object(o6271sub), o6260, java.lang.Object(o6271sub), java.lang.Object(o6271sub), i3359, java.lang.Object(o6271sub))
f10916_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336))) → f11009_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)))
f11009_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336))) → f11031_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6336)), i3359, o6336)
f11031_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(o6504sub)) → f11080_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(o6504sub))
f11080_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(o6504sub)) → f11097_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359)
f11097_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359) → f11165_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))))
f11165_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub)))) → f11238_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, i3359, java.lang.Object(o6504sub))
f11238_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, i3359, java.lang.Object(o6504sub)) → f11363_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), i3359)
f11363_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), i3359) → f11697_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), i3359, 1)
f11697_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), i3359, matching1) → f11742_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), -(i3359, 1)) | &&(>(i3359, 0), =(matching1, 1))
f11742_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), i3747) → f11795_0_getR_Load(EOS, java.lang.Object(o6504sub), i3747, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), java.lang.Object(o6504sub), i3747)
f11742_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), i3747) → f11795_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), o6260, o6261, java.lang.Object(o6504sub), i3747, java.lang.Object(o6504sub), i3747)
f11795_0_getR_Load(EOS, java.lang.Object(o6504sub), i3747, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), java.lang.Object(o6504sub), i3747) → f11809_0_getR_Load(EOS, java.lang.Object(o6504sub), i3747, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), java.lang.Object(o6504sub), i3747)
f11809_0_getR_Load(EOS, java.lang.Object(o6504sub), i3747, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), java.lang.Object(o6504sub), i3747) → f11876_0_getR_Load(EOS, java.lang.Object(o6504sub), i3747, o6260, o6261, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6504sub))), java.lang.Object(o6504sub), i3747)
f11876_0_getR_Load(EOS, java.lang.Object(o7379sub), i3747, o7381, o7382, o7385, java.lang.Object(o7379sub), i3747) → f11928_0_getR_Load(EOS, java.lang.Object(o7379sub), i3747, o7381, o7382, o7385, java.lang.Object(o7379sub), i3747)
f11928_0_getR_Load(EOS, java.lang.Object(o7379sub), i3747, o7381, o7382, o7385, java.lang.Object(o7379sub), i3747) → f10834_0_getR_Load(EOS, java.lang.Object(o7379sub), i3747, o7385, o7381, o7382, java.lang.Object(o7379sub), i3747)
f10918_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339))) → f11012_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)))
f11012_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339))) → f11040_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o6339)), i3359, o6339)
f11040_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(o6505sub)) → f11084_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(o6505sub))
f11084_0_getR_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(o6505sub)) → f11107_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359)
f11107_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359) → f11174_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))))
f11174_0_getR_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub)))) → f11244_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(o6505sub))
f11244_0_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(o6505sub)) → f11440_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3359)
f11440_0_getR_ConstantStackPush(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3359) → f11698_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3359, 1)
f11698_0_getR_IntArithmetic(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3359, matching1) → f11750_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), -(i3359, 1)) | &&(>(i3359, 0), =(matching1, 1))
f11750_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749) → f11797_0_getR_Load(EOS, java.lang.Object(o6505sub), i3749, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749)
f11750_0_getR_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749) → f11797_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), i3359, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749, java.lang.Object(o6505sub), i3749)
f11797_0_getR_Load(EOS, java.lang.Object(o6505sub), i3749, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749) → f11812_0_getR_Load(EOS, java.lang.Object(o6505sub), i3749, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749)
f11812_0_getR_Load(EOS, java.lang.Object(o6505sub), i3749, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749) → f11888_0_getR_Load(EOS, java.lang.Object(o6505sub), i3749, o6260, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o6505sub))), java.lang.Object(o6505sub), i3749)
f11888_0_getR_Load(EOS, java.lang.Object(o7388sub), i3749, o7390, o7393, java.lang.Object(o7388sub), i3749) → f11935_0_getR_Load(EOS, java.lang.Object(o7388sub), i3749, o7390, o7393, java.lang.Object(o7388sub), i3749)
f11935_0_getR_Load(EOS, java.lang.Object(o7388sub), i3749, o7390, o7393, java.lang.Object(o7388sub), i3749) → f12278_0_getR_Load(EOS, java.lang.Object(o7388sub), i3749, o7390, o7393, o7714, java.lang.Object(o7388sub), i3749)
f12278_0_getR_Load(EOS, java.lang.Object(o7388sub), i3749, o7390, o7393, o7714, java.lang.Object(o7388sub), i3749) → f10834_0_getR_Load(EOS, java.lang.Object(o7388sub), i3749, o7393, o7390, o7714, java.lang.Object(o7388sub), i3749)

Combined rules. Obtained 10 IRules

P rules:
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, x3, x4, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f11799_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, x3, x4, java.lang.Object(x0), -(x1, 1), java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, x3, x4, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f10840_0_getR_EQ(EOS, java.lang.Object(x0), -(x1, 1), x2, x3, x4, java.lang.Object(x0), -(x1, 1), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f11801_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(x0), -(x1, 1), java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f10840_0_getR_EQ(EOS, java.lang.Object(x0), -(x1, 1), x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(x0), -(x1, 1), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f11791_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x3, java.lang.Object(x0), -(x1, 1), java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f10840_0_getR_EQ(EOS, java.lang.Object(x0), -(x1, 1), x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x3, java.lang.Object(x0), -(x1, 1), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f11795_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, x3, java.lang.Object(x0), -(x1, 1), java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f10840_0_getR_EQ(EOS, java.lang.Object(x0), -(x1, 1), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, x3, java.lang.Object(x0), -(x1, 1), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f11797_1_getR_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(x0), -(x1, 1), java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x1, x1) → f10840_0_getR_EQ(EOS, java.lang.Object(x0), -(x1, 1), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), x2, x3, java.lang.Object(x0), -(x1, 1), -(x1, 1)) | >(x1, 0)

Filtered ground terms:


f10840_0_getR_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f10840_0_getR_EQ(x2, x3, x4, x5, x6, x7, x8, x9)
Cond_f10840_0_getR_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ(x1, x3, x4, x5, x6, x7, x8, x9, x10)
f11799_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → f11799_1_getR_Load(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ1(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ2(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ2(x1, x3, x4, x5, x6, x7, x8, x9, x10)
f11801_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → f11801_1_getR_Load(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ3(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ3(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ4(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ4(x1, x3, x4, x5, x6, x7, x8, x9, x10)
f11791_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → f11791_1_getR_Load(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ5(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ5(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ6(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ6(x1, x3, x4, x5, x6, x7, x8, x9, x10)
f11795_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → f11795_1_getR_Load(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ7(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ7(x1, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ8(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ8(x1, x3, x4, x5, x6, x7, x8, x9, x10)
f11797_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → f11797_1_getR_Load(x2, x3, x4, x5, x6, x7, x8, x9, x10)
Cond_f10840_0_getR_EQ9(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) → Cond_f10840_0_getR_EQ9(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11)
DoublyLinkedList.DoublyLinkedList(x1, x2) → DoublyLinkedList.DoublyLinkedList(x2)

Filtered duplicate terms:


f10840_0_getR_EQ(x1, x2, x3, x4, x5, x6, x7, x8) → f10840_0_getR_EQ(x3, x4, x5, x6, x8)
Cond_f10840_0_getR_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ(x1, x4, x5, x6, x7, x9)
f11799_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f11799_1_getR_Load(x1, x3, x4, x5, x9)
Cond_f10840_0_getR_EQ1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ1(x1, x4, x5, x6, x7, x9)
Cond_f10840_0_getR_EQ2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ2(x1, x4, x5, x7, x9)
f11801_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f11801_1_getR_Load(x3, x4, x5, x9)
Cond_f10840_0_getR_EQ3(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ3(x1, x4, x5, x7, x9)
Cond_f10840_0_getR_EQ4(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ4(x1, x4, x6, x7, x9)
f11791_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f11791_1_getR_Load(x3, x4, x5, x9)
Cond_f10840_0_getR_EQ5(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ5(x1, x4, x6, x7, x9)
Cond_f10840_0_getR_EQ6(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ6(x1, x5, x6, x7, x9)
f11795_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f11795_1_getR_Load(x3, x4, x5, x9)
Cond_f10840_0_getR_EQ7(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ7(x1, x5, x6, x7, x9)
Cond_f10840_0_getR_EQ8(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_f10840_0_getR_EQ8(x1, x5, x7, x9)
f11797_1_getR_Load(x1, x2, x3, x4, x5, x6, x7, x8, x9) → f11797_1_getR_Load(x4, x5, x9)
Cond_f10840_0_getR_EQ9(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) → Cond_f10840_0_getR_EQ9(x1, x5, x7, x9, x10)

Filtered unneeded terms:


Cond_f10840_0_getR_EQ(x1, x2, x3, x4, x5, x6) → Cond_f10840_0_getR_EQ(x1)
Cond_f10840_0_getR_EQ2(x1, x2, x3, x4, x5) → Cond_f10840_0_getR_EQ2(x1)
Cond_f10840_0_getR_EQ4(x1, x2, x3, x4, x5) → Cond_f10840_0_getR_EQ4(x1)
Cond_f10840_0_getR_EQ6(x1, x2, x3, x4, x5) → Cond_f10840_0_getR_EQ6(x1)
Cond_f10840_0_getR_EQ8(x1, x2, x3, x4) → Cond_f10840_0_getR_EQ8(x1)

Prepared 10 rules for path length conversion:

P rules:
f10840_0_getR_EQ(x2, x3, x4, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f11799_1_getR_Load(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, x3, x4, -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(x2, x3, x4, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f10840_0_getR_EQ(x2, x3, x4, java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f11801_1_getR_Load(x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f10840_0_getR_EQ(x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f11791_1_getR_Load(x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x3, -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f10840_0_getR_EQ(x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x3, java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f11795_1_getR_Load(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, x3, -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, x3, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f10840_0_getR_EQ(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, x3, java.lang.Object(x0), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f11797_1_getR_Load(x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), -(x1, 1)) | >(x1, 0)
f10840_0_getR_EQ(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x1) → f10840_0_getR_EQ(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))), x2, x3, java.lang.Object(x0), -(x1, 1)) | >(x1, 0)

Finished conversion. Obtained 5 rules.

P rules:
f10840_0_getR_EQ(v46, v47, v48, v49, x9) → f10840_0_getR_EQ(v50, v51, v52, v53, -(x9, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x9, 0), >(+(v53, 1), 1)), <=(+(v53, 2), v49)), >(+(v52, 1), 0)), <=(v52, v48)), >(+(v51, 1), 0)), <=(v51, v47)), >(+(v50, 1), 0)), <=(v50, v46)), >(+(v49, 1), 3)), >(+(v48, 1), 0)), >(+(v47, 1), 0)), >(+(v46, 1), 0))
f10840_0_getR_EQ(v54, v55, v56, v57, x17) → f10840_0_getR_EQ(v58, v59, v60, v61, -(x17, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x17, 0), >(+(v61, 1), 1)), <=(+(v61, 2), v57)), <=(+(v61, 2), v56)), >(+(v60, 1), 3)), <=(v60, v57)), <=(v60, v56)), >(+(v59, 1), 0)), <=(v59, v55)), >(+(v58, 1), 0)), <=(v58, v54)), >(+(v57, 1), 3)), >(+(v56, 1), 3)), >(+(v55, 1), 0)), >(+(v54, 1), 0))
f10840_0_getR_EQ(v62, v63, v64, v65, x25) → f10840_0_getR_EQ(v66, v67, v68, v69, -(x25, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x25, 0), >(+(v69, 1), 1)), <=(+(v69, 2), v65)), <=(+(v69, 2), v63)), >(+(v68, 1), 0)), <=(v68, v64)), >(+(v67, 1), 3)), <=(v67, v65)), <=(v67, v63)), >(+(v66, 1), 0)), <=(v66, v62)), >(+(v65, 1), 3)), >(+(v64, 1), 0)), >(+(v63, 1), 3)), >(+(v62, 1), 0))
f10840_0_getR_EQ(v70, v71, v72, v73, x33) → f10840_0_getR_EQ(v74, v75, v76, v77, -(x33, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x33, 0), >(+(v77, 1), 1)), <=(+(v77, 2), v73)), <=(+(v77, 2), v70)), >(+(v76, 1), 0)), <=(v76, v72)), >(+(v75, 1), 0)), <=(v75, v71)), >(+(v74, 1), 3)), <=(v74, v73)), <=(v74, v70)), >(+(v73, 1), 3)), >(+(v72, 1), 0)), >(+(v71, 1), 0)), >(+(v70, 1), 3))
f10840_0_getR_EQ(v78, v79, v80, v81, x39) → f10840_0_getR_EQ(v82, v83, v84, v85, -(x39, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x39, 0), >(+(v85, 1), 1)), <=(+(v85, 2), v81)), <=(+(v85, 2), v80)), <=(+(v85, 2), v78)), >(+(v84, 1), 0)), >(+(v83, 1), 0)), <=(v83, v79)), >(+(v82, 1), 3)), <=(v82, v81)), <=(v82, v80)), <=(v82, v78)), >(+(v81, 1), 3)), >(+(v80, 1), 3)), >(+(v79, 1), 0)), >(+(v78, 1), 3))

(7) Obligation:

Rules:
f10840_0_getR_EQ(v46, v47, v48, v49, x9) → f10840_0_getR_EQ(v50, v51, v52, v53, -(x9, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x9, 0), >(+(v53, 1), 1)), <=(+(v53, 2), v49)), >(+(v52, 1), 0)), <=(v52, v48)), >(+(v51, 1), 0)), <=(v51, v47)), >(+(v50, 1), 0)), <=(v50, v46)), >(+(v49, 1), 3)), >(+(v48, 1), 0)), >(+(v47, 1), 0)), >(+(v46, 1), 0))
f10840_0_getR_EQ(v54, v55, v56, v57, x17) → f10840_0_getR_EQ(v58, v59, v60, v61, -(x17, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x17, 0), >(+(v61, 1), 1)), <=(+(v61, 2), v57)), <=(+(v61, 2), v56)), >(+(v60, 1), 3)), <=(v60, v57)), <=(v60, v56)), >(+(v59, 1), 0)), <=(v59, v55)), >(+(v58, 1), 0)), <=(v58, v54)), >(+(v57, 1), 3)), >(+(v56, 1), 3)), >(+(v55, 1), 0)), >(+(v54, 1), 0))
f10840_0_getR_EQ(v62, v63, v64, v65, x25) → f10840_0_getR_EQ(v66, v67, v68, v69, -(x25, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x25, 0), >(+(v69, 1), 1)), <=(+(v69, 2), v65)), <=(+(v69, 2), v63)), >(+(v68, 1), 0)), <=(v68, v64)), >(+(v67, 1), 3)), <=(v67, v65)), <=(v67, v63)), >(+(v66, 1), 0)), <=(v66, v62)), >(+(v65, 1), 3)), >(+(v64, 1), 0)), >(+(v63, 1), 3)), >(+(v62, 1), 0))
f10840_0_getR_EQ(v70, v71, v72, v73, x33) → f10840_0_getR_EQ(v74, v75, v76, v77, -(x33, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x33, 0), >(+(v77, 1), 1)), <=(+(v77, 2), v73)), <=(+(v77, 2), v70)), >(+(v76, 1), 0)), <=(v76, v72)), >(+(v75, 1), 0)), <=(v75, v71)), >(+(v74, 1), 3)), <=(v74, v73)), <=(v74, v70)), >(+(v73, 1), 3)), >(+(v72, 1), 0)), >(+(v71, 1), 0)), >(+(v70, 1), 3))
f10840_0_getR_EQ(v78, v79, v80, v81, x39) → f10840_0_getR_EQ(v82, v83, v84, v85, -(x39, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x39, 0), >(+(v85, 1), 1)), <=(+(v85, 2), v81)), <=(+(v85, 2), v80)), <=(+(v85, 2), v78)), >(+(v84, 1), 0)), >(+(v83, 1), 0)), <=(v83, v79)), >(+(v82, 1), 3)), <=(v82, v81)), <=(v82, v80)), <=(v82, v78)), >(+(v81, 1), 3)), >(+(v80, 1), 3)), >(+(v79, 1), 0)), >(+(v78, 1), 3))

(8) PolynomialOrderProcessor (EQUIVALENT transformation)

Found the following polynomial interpretation:


[f10840_0_getR_EQ(x46, x48, x50, x52, x54)] = x54

Therefore the following rule(s) have been dropped:


f10840_0_getR_EQ(x0, x1, x2, x3, x4) → f10840_0_getR_EQ(x5, x6, x7, x8, -(x4, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x4, 0), >(+(x8, 1), 1)), <=(+(x8, 2), x3)), >(+(x7, 1), 0)), <=(x7, x2)), >(+(x6, 1), 0)), <=(x6, x1)), >(+(x5, 1), 0)), <=(x5, x0)), >(+(x3, 1), 3)), >(+(x2, 1), 0)), >(+(x1, 1), 0)), >(+(x0, 1), 0))
f10840_0_getR_EQ(x9, x10, x11, x12, x13) → f10840_0_getR_EQ(x14, x15, x16, x17, -(x13, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x13, 0), >(+(x17, 1), 1)), <=(+(x17, 2), x12)), <=(+(x17, 2), x11)), >(+(x16, 1), 3)), <=(x16, x12)), <=(x16, x11)), >(+(x15, 1), 0)), <=(x15, x10)), >(+(x14, 1), 0)), <=(x14, x9)), >(+(x12, 1), 3)), >(+(x11, 1), 3)), >(+(x10, 1), 0)), >(+(x9, 1), 0))
f10840_0_getR_EQ(x18, x19, x20, x21, x22) → f10840_0_getR_EQ(x23, x24, x25, x26, -(x22, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x22, 0), >(+(x26, 1), 1)), <=(+(x26, 2), x21)), <=(+(x26, 2), x19)), >(+(x25, 1), 0)), <=(x25, x20)), >(+(x24, 1), 3)), <=(x24, x21)), <=(x24, x19)), >(+(x23, 1), 0)), <=(x23, x18)), >(+(x21, 1), 3)), >(+(x20, 1), 0)), >(+(x19, 1), 3)), >(+(x18, 1), 0))
f10840_0_getR_EQ(x27, x28, x29, x30, x31) → f10840_0_getR_EQ(x32, x33, x34, x35, -(x31, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x31, 0), >(+(x35, 1), 1)), <=(+(x35, 2), x30)), <=(+(x35, 2), x27)), >(+(x34, 1), 0)), <=(x34, x29)), >(+(x33, 1), 0)), <=(x33, x28)), >(+(x32, 1), 3)), <=(x32, x30)), <=(x32, x27)), >(+(x30, 1), 3)), >(+(x29, 1), 0)), >(+(x28, 1), 0)), >(+(x27, 1), 3))
f10840_0_getR_EQ(x36, x37, x38, x39, x40) → f10840_0_getR_EQ(x41, x42, x43, x44, -(x40, 1)) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x40, 0), >(+(x44, 1), 1)), <=(+(x44, 2), x39)), <=(+(x44, 2), x38)), <=(+(x44, 2), x36)), >(+(x43, 1), 0)), >(+(x42, 1), 0)), <=(x42, x37)), >(+(x41, 1), 3)), <=(x41, x39)), <=(x41, x38)), <=(x41, x36)), >(+(x39, 1), 3)), >(+(x38, 1), 3)), >(+(x37, 1), 0)), >(+(x36, 1), 3))

(9) YES

(10) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: DoublyLinkedList.DoublyLinkedList.getFirst()LDoublyLinkedList/DoublyLinkedList;
SCC calls the following helper methods: DoublyLinkedList.DoublyLinkedList.getFirst()LDoublyLinkedList/DoublyLinkedList;
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • DoublyLinkedList.DoublyLinkedList: [prev]
  • Marker field analysis yielded the following relations that could be markers:

(11) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 14 IRules

P rules:
f3461_0_getFirst_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206))) → f3469_0_getFirst_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)))
f3469_0_getFirst_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206))) → f3478_0_getFirst_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o1206)), o1206)
f3478_0_getFirst_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub)) → f3483_0_getFirst_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub))
f3483_0_getFirst_NONNULL(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub)) → f3491_0_getFirst_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))))
f3491_0_getFirst_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub)))) → f3517_0_getFirst_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))))
f3517_0_getFirst_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub)))) → f3538_0_getFirst_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub))
f3538_0_getFirst_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub)) → f3556_0_getFirst_Load(EOS, java.lang.Object(o1210sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub))
f3538_0_getFirst_InvokeMethod(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub)) → f3556_1_getFirst_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub), java.lang.Object(o1210sub))
f3556_0_getFirst_Load(EOS, java.lang.Object(o1210sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub)) → f3564_0_getFirst_Load(EOS, java.lang.Object(o1210sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub))
f3564_0_getFirst_Load(EOS, java.lang.Object(o1210sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub)) → f3578_0_getFirst_Load(EOS, java.lang.Object(o1210sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o1210sub))), java.lang.Object(o1210sub))
f3578_0_getFirst_Load(EOS, java.lang.Object(o1238sub), o1242, java.lang.Object(o1238sub)) → f3589_0_getFirst_Load(EOS, java.lang.Object(o1238sub), o1242, java.lang.Object(o1238sub))
f3589_0_getFirst_Load(EOS, java.lang.Object(o1238sub), o1242, java.lang.Object(o1238sub)) → f3597_0_getFirst_Load(EOS, java.lang.Object(o1238sub), java.lang.Object(o1238sub))
f3597_0_getFirst_Load(EOS, java.lang.Object(o1238sub), java.lang.Object(o1238sub)) → f3451_0_getFirst_Load(EOS, java.lang.Object(o1238sub), java.lang.Object(o1238sub))
f3451_0_getFirst_Load(EOS, java.lang.Object(o1196sub), java.lang.Object(o1196sub)) → f3461_0_getFirst_FieldAccess(EOS, java.lang.Object(o1196sub), java.lang.Object(o1196sub), java.lang.Object(o1196sub))

Combined rules. Obtained 2 IRules

P rules:
f3461_0_getFirst_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0)))) → f3556_1_getFirst_Load(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(x0), java.lang.Object(x0))
f3461_0_getFirst_FieldAccess(EOS, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(x0)))) → f3461_0_getFirst_FieldAccess(EOS, java.lang.Object(x0), java.lang.Object(x0), java.lang.Object(x0))

Filtered ground terms:


f3461_0_getFirst_FieldAccess(x1, x2, x3, x4) → f3461_0_getFirst_FieldAccess(x2, x3, x4)
f3556_1_getFirst_Load(x1, x2, x3, x4) → f3556_1_getFirst_Load(x2, x3, x4)
DoublyLinkedList.DoublyLinkedList(x1, x2) → DoublyLinkedList.DoublyLinkedList(x2)

Filtered duplicate terms:


f3461_0_getFirst_FieldAccess(x1, x2, x3) → f3461_0_getFirst_FieldAccess(x3)
f3556_1_getFirst_Load(x1, x2, x3) → f3556_1_getFirst_Load(x1)

Prepared 2 rules for path length conversion:

P rules:
f3461_0_getFirst_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0)))) → f3556_1_getFirst_Load(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0))))
f3461_0_getFirst_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x0)))) → f3461_0_getFirst_FieldAccess(java.lang.Object(x0))

Finished conversion. Obtained 1 rules.

P rules:
f3461_0_getFirst_FieldAccess(v3) → f3461_0_getFirst_FieldAccess(v4) | &&(&&(>(+(v4, 1), 1), <=(+(v4, 2), v3)), >(+(v3, 1), 3))

(12) Obligation:

Rules:
f3461_0_getFirst_FieldAccess(v3) → f3461_0_getFirst_FieldAccess(v4) | &&(&&(>(+(v4, 1), 1), <=(+(v4, 2), v3)), >(+(v3, 1), 3))

(13) PolynomialOrderProcessor (EQUIVALENT transformation)

Found the following polynomial interpretation:


[f3461_0_getFirst_FieldAccess(x3)] = x3

Therefore the following rule(s) have been dropped:


f3461_0_getFirst_FieldAccess(x0) → f3461_0_getFirst_FieldAccess(x1) | &&(&&(>(+(x1, 1), 1), <=(+(x1, 2), x0)), >(+(x0, 1), 3))

(14) YES

(15) Obligation:

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

(16) SCCToIntTRSProof (SOUND transformation)

Transformed FIGraph SCCs to intTRSs. Log:

Generated rules. Obtained 94 IRules

P rules:
f3171_0_createList_Load(EOS, i228, o1097, i896, i896) → f3184_0_createList_GE(EOS, i228, o1097, i896, i896, i228)
f3184_0_createList_GE(EOS, i228, o1097, i896, i896, i228) → f3191_0_createList_GE(EOS, i228, o1097, i896, i896, i228)
f3191_0_createList_GE(EOS, i228, o1097, i896, i896, i228) → f3203_0_createList_Load(EOS, i228, o1097, i896) | <(i896, i228)
f3203_0_createList_Load(EOS, i228, o1097, i896) → f3227_0_createList_Store(EOS, i228, i896, o1097)
f3227_0_createList_Store(EOS, i228, i896, o1097) → f3255_0_createList_New(EOS, i228, i896, o1097)
f3255_0_createList_New(EOS, i228, i896, o1097) → f3283_0_createList_Duplicate(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f3283_0_createList_Duplicate(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3291_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f3291_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3300_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f3300_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3324_0_random_ArrayLength(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226)))
f3324_0_random_ArrayLength(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226))) → f3331_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226) | >=(i226, 0)
f3331_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226) → f3339_0_random_GT(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226, i895)
f3339_0_random_GT(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226, i895) → f3363_0_random_GT(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226, i895)
f3339_0_random_GT(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226, i895) → f3364_0_random_GT(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226, i895)
f3363_0_random_GT(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226, i895) → f3368_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) | >(i226, i895)
f3368_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3382_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226)))
f3382_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226))) → f3406_0_random_ArrayAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226)), i895)
f3406_0_random_ArrayAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226)), i895) → f3432_0_random_ArrayAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226)), i895)
f3432_0_random_ArrayAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i226)), i895) → f3464_0_random_Store(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202) | <(i895, i226)
f3464_0_random_Store(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202) → f3485_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202)
f3485_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202) → f3521_0_random_ConstantStackPush(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202, i895)
f3521_0_random_ConstantStackPush(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202, i895) → f3551_0_random_IntArithmetic(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202, i895, 1)
f3551_0_random_IntArithmetic(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202, i895, matching1) → f3581_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202, +(i895, 1)) | &&(>=(i895, 0), =(matching1, 1))
f3581_0_random_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202, i984) → f3633_0_random_Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202)
f3633_0_random_Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202) → f3664_0_random_NONNULL(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1202, o1202)
f3664_0_random_NONNULL(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub), java.lang.Object(o1327sub)) → f3698_0_random_NONNULL(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub), java.lang.Object(o1327sub))
f3664_0_random_NONNULL(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) → f3699_0_random_NONNULL(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL)
f3698_0_random_NONNULL(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub), java.lang.Object(o1327sub)) → f3750_0_random_Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub))
f3750_0_random_Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub)) → f3819_0_random_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub))
f3819_0_random_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub)) → f3922_0_length_Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub), java.lang.Object(o1327sub))
f3922_0_length_Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub), java.lang.Object(o1327sub)) → f4046_0_length_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o1327sub), java.lang.Object(o1327sub))
f4046_0_length_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(o1609sub, i1155)), java.lang.Object(java.lang.String(o1609sub, i1155))) → f4134_0_length_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(o1609sub, i1155)), java.lang.Object(java.lang.String(o1609sub, i1155))) | >=(i1155, 0)
f4134_0_length_FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(o1609sub, i1155)), java.lang.Object(java.lang.String(o1609sub, i1155))) → f4174_0_length_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(o1609sub, i1155)), i1155)
f4174_0_length_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(o1609sub, i1155)), i1155) → f4245_0_random_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155)
f4245_0_random_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155) → f4293_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155)
f4293_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155) → f4345_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155)
f4345_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155) → f4399_0__init__InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4399_0__init__InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4453_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155)
f4453_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155) → f4478_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4478_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4488_0__init__FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155)
f4488_0__init__FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155) → f4497_0__init__Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155)
f4497_0__init__Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1155) → f4511_0_createList_Store(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4511_0_createList_Store(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4523_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097)
f4523_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097) → f4537_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4537_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4550_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1097)
f4550_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1097) → f4571_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097)
f4571_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097) → f4586_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, o1097)
f4586_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub), java.lang.Object(o1764sub)) → f4603_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub), java.lang.Object(o1764sub))
f4586_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, NULL, NULL) → f4604_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, NULL, NULL)
f4603_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub), java.lang.Object(o1764sub)) → f4610_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub))
f4610_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub)) → f4646_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub))
f4646_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub)) → f4690_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1764sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4690_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4719_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4719_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4741_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896)
f4741_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896) → f4749_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(i896, 1)) | >=(i896, 0)
f4749_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1262) → f4762_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1262)
f4762_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1262) → f3151_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1262)
f3151_0_createList_Load(EOS, i228, o1097, i896) → f3171_0_createList_Load(EOS, i228, o1097, i896, i896)
f4604_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, NULL, NULL) → f4623_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896)
f4623_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896) → f4660_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(i896, 1)) | >=(i896, 0)
f4660_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1241) → f4712_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1241)
f4712_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1241) → f3151_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1241)
f3699_0_random_NONNULL(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) → f3757_0_random_ConstantStackPush(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL)
f3757_0_random_ConstantStackPush(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL) → f3845_0_random_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, 0)
f3845_0_random_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, matching1) → f3961_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) | =(matching1, 0)
f3961_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) → f4293_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) | =(matching1, 0)
f3364_0_random_GT(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i226, i895) → f3376_0_random_ConstantStackPush(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) | <=(i226, i895)
f3376_0_random_ConstantStackPush(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3390_0_random_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0)
f3390_0_random_Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) → f3420_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) | =(matching1, 0)
f3420_0_createList_InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) → f3452_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) | =(matching1, 0)
f3452_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching2) → f3503_0__init__InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) | &&(=(matching1, 0), =(matching2, 0))
f3503_0__init__InvokeMethod(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3540_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) | &&(=(matching1, 0), =(matching2, 0))
f3540_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching2) → f3565_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) | &&(=(matching1, 0), =(matching2, 0))
f3565_0__init__Load(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, matching2, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3599_0__init__FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) | &&(=(matching1, 0), =(matching2, 0))
f3599_0__init__FieldAccess(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching2) → f3654_0__init__Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) | &&(=(matching1, 0), =(matching2, 0))
f3654_0__init__Return(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) → f3688_0_createList_Store(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) | =(matching1, 0)
f3688_0_createList_Store(EOS, i228, i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3739_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097)
f3739_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097) → f3810_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f3810_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3914_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1097)
f3914_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o1097) → f3973_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097)
f3973_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097) → f4036_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, o1097, o1097)
f4036_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub), java.lang.Object(o1558sub)) → f4062_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub), java.lang.Object(o1558sub))
f4036_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, NULL, NULL) → f4063_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, NULL, NULL)
f4062_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub), java.lang.Object(o1558sub)) → f4158_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub))
f4158_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub)) → f4217_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub))
f4217_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub)) → f4268_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(o1558sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4268_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4315_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)))
f4315_0_createList_FieldAccess(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f4368_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896)
f4368_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896) → f4389_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(i896, 1)) | >=(i896, 0)
f4389_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1197) → f4437_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1197)
f4437_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1197) → f3151_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1197)
f4063_0_createList_NULL(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896, NULL, NULL) → f4169_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896)
f4169_0_createList_Inc(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i896) → f4237_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(i896, 1)) | >=(i896, 0)
f4237_0_createList_JMP(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1176) → f4277_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1176)
f4277_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1176) → f3151_0_createList_Load(EOS, i228, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i1176)

Combined rules. Obtained 5 IRules

P rules:
f3171_0_createList_Load(EOS, x0, x1, x2, x2) → f4586_0_createList_NULL(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), x2, x1, x1) | <(x2, x0)
f4586_0_createList_NULL(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), x1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) → f3171_0_createList_Load(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
f4586_0_createList_NULL(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), x1, NULL, NULL) → f3171_0_createList_Load(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
f3171_0_createList_Load(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), x1, x1) → f3171_0_createList_Load(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(x1, 1), +(x1, 1)) | &&(<(x1, x0), >(+(x1, 1), 0))
f3171_0_createList_Load(EOS, x0, NULL, x1, x1) → f3171_0_createList_Load(EOS, x0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), +(x1, 1), +(x1, 1)) | &&(<(x1, x0), >(+(x1, 1), 0))

Filtered ground terms:


f3171_0_createList_Load(x1, x2, x3, x4, x5) → f3171_0_createList_Load(x2, x3, x4, x5)
Cond_f3171_0_createList_Load(x1, x2, x3, x4, x5, x6) → Cond_f3171_0_createList_Load(x1, x3, x4, x5, x6)
f4586_0_createList_NULL(x1, x2, x3, x4, x5, x6) → f4586_0_createList_NULL(x2, x4, x5, x6)
Cond_f4586_0_createList_NULL(x1, x2, x3, x4, x5, x6, x7) → Cond_f4586_0_createList_NULL(x1, x3, x5)
Cond_f4586_0_createList_NULL1(x1, x2, x3, x4, x5, x6, x7) → Cond_f4586_0_createList_NULL1(x1, x3, x5)
Cond_f3171_0_createList_Load1(x1, x2, x3, x4, x5, x6) → Cond_f3171_0_createList_Load1(x1, x3, x5, x6)
Cond_f3171_0_createList_Load2(x1, x2, x3, x4, x5, x6) → Cond_f3171_0_createList_Load2(x1, x3, x5, x6)
java.lang.Object(x1) → java.lang.Object
DoublyLinkedList.DoublyLinkedList(x1) → DoublyLinkedList.DoublyLinkedList

Filtered duplicate terms:


f3171_0_createList_Load(x1, x2, x3, x4) → f3171_0_createList_Load(x1, x2, x4)
Cond_f3171_0_createList_Load(x1, x2, x3, x4, x5) → Cond_f3171_0_createList_Load(x1, x2, x3, x5)
f4586_0_createList_NULL(x1, x2, x3, x4) → f4586_0_createList_NULL(x1, x2, x4)
Cond_f3171_0_createList_Load1(x1, x2, x3, x4) → Cond_f3171_0_createList_Load1(x1, x2, x4)
Cond_f3171_0_createList_Load2(x1, x2, x3, x4) → Cond_f3171_0_createList_Load2(x1, x2, x4)

Prepared 5 rules for path length conversion:

P rules:
f3171_0_createList_Load(x0, x1, x2) → f4586_0_createList_NULL(x0, x2, x1) | <(x2, x0)
f4586_0_createList_NULL(x0, x1, java.lang.Object) → f3171_0_createList_Load(x0, java.lang.Object, +(x1, 1)) | >(+(x1, 1), 0)
f4586_0_createList_NULL(x0, x1, NULL) → f3171_0_createList_Load(x0, java.lang.Object, +(x1, 1)) | >(+(x1, 1), 0)
f3171_0_createList_Load(x0, java.lang.Object, x1) → f3171_0_createList_Load(x0, java.lang.Object, +(x1, 1)) | &&(<(x1, x0), >(+(x1, 1), 0))
f3171_0_createList_Load(x0, NULL, x1) → f3171_0_createList_Load(x0, java.lang.Object, +(x1, 1)) | &&(<(x1, x0), >(+(x1, 1), 0))

Finished conversion. Obtained 5 rules.

P rules:
f3171_0_createList_Load(x0, v17, x2) → f4586_0_createList_NULL(x0, x2, v18) | &&(&&(&&(<(x2, x0), >(+(v18, 1), 0)), <=(v18, v17)), >(+(v17, 1), 0))
f4586_0_createList_NULL(x3, x4, v19) → f3171_0_createList_Load(x3, v20, +(x4, 1)) | >(x4, -1)
f4586_0_createList_NULL(x5, x6, v21) → f3171_0_createList_Load(x5, v22, +(x6, 1)) | &&(>(x6, -1), >(+(v21, 1), 0))
f3171_0_createList_Load(x7, v23, x8) → f3171_0_createList_Load(x7, v24, +(x8, 1)) | &&(<(x8, x7), >(x8, -1))
f3171_0_createList_Load(x9, v25, x10) → f3171_0_createList_Load(x9, v26, +(x10, 1)) | &&(&&(>(x9, x10), >(x10, -1)), >(+(v25, 1), 0))

(17) Obligation:

Rules:
f3171_0_createList_Load(x0, v17, x2) → f4586_0_createList_NULL(x0, x2, v18) | &&(&&(&&(<(x2, x0), >(+(v18, 1), 0)), <=(v18, v17)), >(+(v17, 1), 0))
f4586_0_createList_NULL(x3, x4, v19) → f3171_0_createList_Load(x3, v20, +(x4, 1)) | >(x4, -1)
f4586_0_createList_NULL(x5, x6, v21) → f3171_0_createList_Load(x5, v22, +(x6, 1)) | &&(>(x6, -1), >(+(v21, 1), 0))
f3171_0_createList_Load(x7, v23, x8) → f3171_0_createList_Load(x7, v24, +(x8, 1)) | &&(<(x8, x7), >(x8, -1))
f3171_0_createList_Load(x9, v25, x10) → f3171_0_createList_Load(x9, v26, +(x10, 1)) | &&(&&(>(x9, x10), >(x10, -1)), >(+(v25, 1), 0))

(18) PolynomialOrderProcessor (SOUND transformation)

Found the following polynomial interpretation:


[f3171_0_createList_Load(x21, x23, x25)] = x21 - x25
[f4586_0_createList_NULL(x28, x30, x32)] = -1 + x28 - x30

Therefore the following rule(s) have been dropped:


f3171_0_createList_Load(x0, x1, x2) → f4586_0_createList_NULL(x0, x2, x3) | &&(&&(&&(<(x2, x0), >(+(x3, 1), 0)), <=(x3, x1)), >(+(x1, 1), 0))
f3171_0_createList_Load(x12, x13, x14) → f3171_0_createList_Load(x12, x15, +(x14, 1)) | &&(<(x14, x12), >(x14, -1))
f3171_0_createList_Load(x16, x17, x18) → f3171_0_createList_Load(x16, x19, +(x18, 1)) | &&(&&(>(x16, x18), >(x18, -1)), >(+(x17, 1), 0))

(19) Obligation:

Rules:
f4586_0_createList_NULL(x4, x5, x6) → f3171_0_createList_Load(x4, x7, +(x5, 1)) | >(x5, -1)
f4586_0_createList_NULL(x8, x9, x10) → f3171_0_createList_Load(x8, x11, +(x9, 1)) | &&(>(x9, -1), >(+(x10, 1), 0))

(20) TerminationGraphProcessor (EQUIVALENT transformation)

Constructed the termination graph and obtained no non-trivial SCC(s).


(21) YES