/export/starexec/sandbox/solver/bin/starexec_run_standard /export/starexec/sandbox/benchmark/theBenchmark.jar /export/starexec/sandbox/output/output_files -------------------------------------------------------------------------------- YES proof of /export/starexec/sandbox/benchmark/theBenchmark.jar # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty termination of the given Bare JBC problem could be proven: (0) Bare JBC problem (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] (2) JBC problem (3) JBCToGraph [EQUIVALENT, 1093 ms] (4) JBCTerminationGraph (5) TerminationGraphToSCCProof [SOUND, 0 ms] (6) AND (7) JBCTerminationSCC (8) SCCToIRSProof [SOUND, 63 ms] (9) IRSwT (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (11) IRSwT (12) IRSwTTerminationDigraphProof [EQUIVALENT, 20 ms] (13) IRSwT (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] (15) IRSwT (16) TempFilterProof [SOUND, 1 ms] (17) IRSwT (18) IRSwTToQDPProof [SOUND, 0 ms] (19) QDP (20) QDPSizeChangeProof [EQUIVALENT, 0 ms] (21) YES (22) JBCTerminationSCC (23) SCCToQDPProof [SOUND, 84 ms] (24) QDP (25) QDPSizeChangeProof [EQUIVALENT, 0 ms] (26) YES (27) JBCTerminationSCC (28) SCCToIRSProof [SOUND, 220 ms] (29) IRSwT (30) IRSFormatTransformerProof [EQUIVALENT, 0 ms] (31) IRSwT (32) IRSwTTerminationDigraphProof [EQUIVALENT, 107 ms] (33) AND (34) IRSwT (35) IntTRSCompressionProof [EQUIVALENT, 0 ms] (36) IRSwT (37) TempFilterProof [SOUND, 44 ms] (38) IntTRS (39) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (40) IntTRS (41) RankingReductionPairProof [EQUIVALENT, 6 ms] (42) YES (43) IRSwT (44) IntTRSCompressionProof [EQUIVALENT, 0 ms] (45) IRSwT (46) IntTRSUnneededArgumentFilterProof [EQUIVALENT, 0 ms] (47) IRSwT (48) TempFilterProof [SOUND, 4 ms] (49) IntTRS (50) PolynomialOrderProcessor [EQUIVALENT, 0 ms] (51) YES ---------------------------------------- (0) Obligation: need to prove termination of the following 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) { DoublyLinkedList current = this.getFirst(); while (index > 0 && current != null) { current = current.next; } return current; } 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 MainFind { public static void main(final String[] args) { Random.args = args; final DoublyLinkedList list = DoublyLinkedList.createList(); list.find(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) BareJBCToJBCProof (EQUIVALENT) initialized classpath ---------------------------------------- (2) Obligation: need to prove termination of the following 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) { DoublyLinkedList current = this.getFirst(); while (index > 0 && current != null) { current = current.next; } return current; } 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 MainFind { public static void main(final String[] args) { Random.args = args; final DoublyLinkedList list = DoublyLinkedList.createList(); list.find(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(); } } ---------------------------------------- (3) JBCToGraph (EQUIVALENT) Constructed TerminationGraph. ---------------------------------------- (4) Obligation: Termination Graph based on JBC Program: DoublyLinkedList.MainFind.main([Ljava/lang/String;)V: Graph of 162 nodes with 0 SCCs. DoublyLinkedList.DoublyLinkedList.createList()LDoublyLinkedList/DoublyLinkedList;: Graph of 222 nodes with 1 SCC. DoublyLinkedList.DoublyLinkedList.getFirst()LDoublyLinkedList/DoublyLinkedList;: Graph of 19 nodes with 0 SCCs. DoublyLinkedList.DoublyLinkedList.findR(I)LDoublyLinkedList/DoublyLinkedList;: Graph of 34 nodes with 0 SCCs. ---------------------------------------- (5) TerminationGraphToSCCProof (SOUND) Splitted TerminationGraph to 3 SCCss. ---------------------------------------- (6) Complex Obligation (AND) ---------------------------------------- (7) Obligation: SCC of termination graph based on JBC Program. SCC contains nodes from the following methods: DoublyLinkedList.DoublyLinkedList.findR(I)LDoublyLinkedList/DoublyLinkedList; SCC calls the following helper methods: DoublyLinkedList.DoublyLinkedList.findR(I)LDoublyLinkedList/DoublyLinkedList; Performed SCC analyses: *Used field analysis yielded the following read fields: *DoublyLinkedList.DoublyLinkedList: [value, next] *Marker field analysis yielded the following relations that could be markers: *DoublyLinkedList.DoublyLinkedList.value != i431 (Introduced counter i879) *DoublyLinkedList.DoublyLinkedList.value != i630 (Introduced counter i880) ---------------------------------------- (8) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 17 IRulesP rules: f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i879, i880) -> f3922_0_findR_FieldAccess(EOS(STATIC_3922), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i879, i880) :|: TRUE f3922_0_findR_FieldAccess(EOS(STATIC_3922), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i879, i880) -> f3924_0_findR_Load(EOS(STATIC_3924), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i630, i879, i880) :|: TRUE f3924_0_findR_Load(EOS(STATIC_3924), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i630, i879, i880) -> f3928_0_findR_NE(EOS(STATIC_3928), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i630, i431, i879, i880) :|: TRUE f3928_0_findR_NE(EOS(STATIC_3928), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i630, i431, i879, i880) -> f3932_0_findR_NE(EOS(STATIC_3932), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i630, i431, i879, i880) :|: !(i630 = i431) f3932_0_findR_NE(EOS(STATIC_3932), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i630, i431, i879, i880) -> f3937_0_findR_Load(EOS(STATIC_3937), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i879, i880) :|: !(i630 = i431) f3937_0_findR_Load(EOS(STATIC_3937), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, i879, i880) -> f3942_0_findR_FieldAccess(EOS(STATIC_3942), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i879, i880) :|: TRUE f3942_0_findR_FieldAccess(EOS(STATIC_3942), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i879, i880) -> f3946_0_findR_NULL(EOS(STATIC_3946), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, o599)), i431, o599, i879, i880) :|: TRUE f3946_0_findR_NULL(EOS(STATIC_3946), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, java.lang.Object(o608sub))), i431, java.lang.Object(o608sub), i879, i880) -> f3951_0_findR_NULL(EOS(STATIC_3951), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, java.lang.Object(o608sub))), i431, java.lang.Object(o608sub), i879, i880) :|: TRUE f3951_0_findR_NULL(EOS(STATIC_3951), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, java.lang.Object(o608sub))), i431, java.lang.Object(o608sub), i879, i880) -> f3955_0_findR_Load(EOS(STATIC_3955), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, java.lang.Object(o608sub))), i431, i879, i880) :|: TRUE f3955_0_findR_Load(EOS(STATIC_3955), i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, java.lang.Object(o608sub))), i431, i879, i880) -> f3960_0_findR_FieldAccess(EOS(STATIC_3960), i431, i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, java.lang.Object(o608sub))), i879, i880) :|: TRUE f3960_0_findR_FieldAccess(EOS(STATIC_3960), i431, i431, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630, java.lang.Object(o608sub))), i879, i880) -> f3964_0_findR_Load(EOS(STATIC_3964), i431, i431, java.lang.Object(o608sub), i879, i880) :|: TRUE f3964_0_findR_Load(EOS(STATIC_3964), i431, i431, java.lang.Object(o608sub), i879, i880) -> f3969_0_findR_InvokeMethod(EOS(STATIC_3969), i431, java.lang.Object(o608sub), i431, i879, i880) :|: TRUE f3969_0_findR_InvokeMethod(EOS(STATIC_3969), i431, java.lang.Object(o608sub), i431, i879, i880) -> f3973_0_findR_Load(EOS(STATIC_3973), i431, java.lang.Object(o608sub), i431, i879, i880) :|: TRUE f3969_0_findR_InvokeMethod(EOS(STATIC_3969), i431, java.lang.Object(o608sub), i431, i879, i880) -> f3973_1_findR_Load(EOS(STATIC_3973), i431, java.lang.Object(o608sub), i431, i879, i880) :|: TRUE f3973_0_findR_Load(EOS(STATIC_3973), i431, java.lang.Object(o608sub), i431, i879, i880) -> f3978_0_findR_Load(EOS(STATIC_3978), i431, java.lang.Object(o608sub), i431, i879, i880) :|: TRUE f3978_0_findR_Load(EOS(STATIC_3978), i431, java.lang.Object(o608sub), i431, i879, i880) -> f3913_0_findR_Load(EOS(STATIC_3913), i431, java.lang.Object(o608sub), i431, i879, i880) :|: TRUE f3913_0_findR_Load(EOS(STATIC_3913), i431, java.lang.Object(o583sub), i431, i879, i880) -> f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431, java.lang.Object(o583sub), i431, java.lang.Object(o583sub), i879, i880) :|: TRUE Combined rules. Obtained 4 IRulesP rules: f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i879:0, i880:0) -> f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431:0, java.lang.Object(o608sub:0), i431:0, java.lang.Object(o608sub:0), i879:0, i880:0) :|: i630:0 < i431:0 f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i879:0, i880:0) -> f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431:0, java.lang.Object(o608sub:0), i431:0, java.lang.Object(o608sub:0), i879:0, i880:0) :|: i630:0 > i431:0 Removed following non-SCC rules: f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i879:0, i880:0) -> f3973_1_findR_Load(EOS(STATIC_3973), i431:0, java.lang.Object(o608sub:0), i431:0, i879:0, i880:0) :|: i630:0 < i431:0 f3919_0_findR_FieldAccess(EOS(STATIC_3919), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, i630:0, java.lang.Object(o608sub:0))), i879:0, i880:0) -> f3973_1_findR_Load(EOS(STATIC_3973), i431:0, java.lang.Object(o608sub:0), i431:0, i879:0, i880:0) :|: i630:0 > i431:0 Filtered constant ground arguments: f3919_0_findR_FieldAccess(x1, x2, x3, x4, x5, x6, x7) -> f3919_0_findR_FieldAccess(x2, x3, x4, x5, x6, x7) EOS(x1) -> EOS DoublyLinkedList.DoublyLinkedList(x1, x2, x3) -> DoublyLinkedList.DoublyLinkedList(x2, x3) Filtered duplicate arguments: f3919_0_findR_FieldAccess(x1, x2, x3, x4, x5, x6) -> f3919_0_findR_FieldAccess(x3, x4, x5, x6) Filtered unneeded arguments: f3919_0_findR_FieldAccess(x1, x2, x3, x4) -> f3919_0_findR_FieldAccess(x1, x2) Finished conversion. Obtained 2 rules.P rules: f3919_0_findR_FieldAccess(i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i630:0, java.lang.Object(o608sub:0)))) -> f3919_0_findR_FieldAccess(i431:0, java.lang.Object(o608sub:0)) :|: i630:0 < i431:0 f3919_0_findR_FieldAccess(i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i630:0, java.lang.Object(o608sub:0)))) -> f3919_0_findR_FieldAccess(i431:0, java.lang.Object(o608sub:0)) :|: i630:0 > i431:0 ---------------------------------------- (9) Obligation: Rules: f3919_0_findR_FieldAccess(i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i630:0, java.lang.Object(o608sub:0)))) -> f3919_0_findR_FieldAccess(i431:0, java.lang.Object(o608sub:0)) :|: i630:0 < i431:0 f3919_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f3919_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x ---------------------------------------- (10) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (11) Obligation: Rules: f3919_0_findR_FieldAccess(i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i630:0, java.lang.Object(o608sub:0)))) -> f3919_0_findR_FieldAccess(i431:0, java.lang.Object(o608sub:0)) :|: i630:0 < i431:0 f3919_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f3919_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x ---------------------------------------- (12) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f3919_0_findR_FieldAccess(i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i630:0, java.lang.Object(o608sub:0)))) -> f3919_0_findR_FieldAccess(i431:0, java.lang.Object(o608sub:0)) :|: i630:0 < i431:0 (2) f3919_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f3919_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (13) Obligation: Termination digraph: Nodes: (1) f3919_0_findR_FieldAccess(i431:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i630:0, java.lang.Object(o608sub:0)))) -> f3919_0_findR_FieldAccess(i431:0, java.lang.Object(o608sub:0)) :|: i630:0 < i431:0 (2) f3919_0_findR_FieldAccess(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1, java.lang.Object(x2)))) -> f3919_0_findR_FieldAccess(x, java.lang.Object(x2)) :|: x1 > x Arcs: (1) -> (1), (2) (2) -> (1), (2) This digraph is fully evaluated! ---------------------------------------- (14) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (15) Obligation: Rules: f3919_0_findR_FieldAccess(x:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(x1:0, java.lang.Object(x2:0)))) -> f3919_0_findR_FieldAccess(x:0, java.lang.Object(x2:0)) :|: x:0 < x1:0 f3919_0_findR_FieldAccess(i431:0:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(i630:0:0, java.lang.Object(o608sub:0:0)))) -> f3919_0_findR_FieldAccess(i431:0:0, java.lang.Object(o608sub:0:0)) :|: i630:0:0 < i431:0:0 ---------------------------------------- (16) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f3919_0_findR_FieldAccess(INTEGER, VARIABLE) java.lang.Object(VARIABLE) DoublyLinkedList.DoublyLinkedList(INTEGER, VARIABLE) Removed predefined arithmetic. ---------------------------------------- (17) Obligation: Rules: f3919_0_findR_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x2:0)))) -> f3919_0_findR_FieldAccess(java.lang.Object(x2:0)) ---------------------------------------- (18) IRSwTToQDPProof (SOUND) Removed the integers and created a QDP-Problem. ---------------------------------------- (19) Obligation: Q DP problem: The TRS P consists of the following rules: f3919_0_findR_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x2:0)))) -> f3919_0_findR_FieldAccess(java.lang.Object(x2:0)) R is empty. Q is empty. We have to consider all (P,Q,R)-chains. ---------------------------------------- (20) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *f3919_0_findR_FieldAccess(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(x2:0)))) -> f3919_0_findR_FieldAccess(java.lang.Object(x2:0)) The graph contains the following edges 1 > 1 ---------------------------------------- (21) YES ---------------------------------------- (22) 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: ---------------------------------------- (23) SCCToQDPProof (SOUND) Transformed TerminationGraph SCC to QDP. Log: Generated 10 rules for P and 18 rules for R.P rules: f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318))) -> f2361_0_getFirst_FieldAccess(EOS(STATIC_2361), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318))) :|: TRUE f2361_0_getFirst_FieldAccess(EOS(STATIC_2361), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318))) -> f2369_0_getFirst_NONNULL(EOS(STATIC_2369), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), o318) :|: TRUE f2369_0_getFirst_NONNULL(EOS(STATIC_2369), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub))), java.lang.Object(o339sub)) -> f2418_0_getFirst_NONNULL(EOS(STATIC_2418), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub))), java.lang.Object(o339sub)) :|: TRUE f2418_0_getFirst_NONNULL(EOS(STATIC_2418), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub))), java.lang.Object(o339sub)) -> f2446_0_getFirst_Load(EOS(STATIC_2446), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) :|: TRUE f2446_0_getFirst_Load(EOS(STATIC_2446), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) -> f2573_0_getFirst_FieldAccess(EOS(STATIC_2573), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) :|: TRUE f2573_0_getFirst_FieldAccess(EOS(STATIC_2573), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) -> f2596_0_getFirst_InvokeMethod(EOS(STATIC_2596), java.lang.Object(o339sub)) :|: TRUE f2596_0_getFirst_InvokeMethod(EOS(STATIC_2596), java.lang.Object(o339sub)) -> f2775_1_getFirst_InvokeMethod(f2775_0_getFirst_Load(EOS(STATIC_2775), java.lang.Object(o339sub))) :|: TRUE f2775_0_getFirst_Load(EOS(STATIC_2775), java.lang.Object(o339sub)) -> f2816_0_getFirst_Load(EOS(STATIC_2816), java.lang.Object(o339sub)) :|: TRUE f2816_0_getFirst_Load(EOS(STATIC_2816), java.lang.Object(o339sub)) -> f2337_0_getFirst_Load(EOS(STATIC_2337), java.lang.Object(o339sub)) :|: TRUE f2337_0_getFirst_Load(EOS(STATIC_2337), java.lang.Object(o310sub)) -> f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(o310sub), java.lang.Object(o310sub)) :|: TRUE R rules: f2337_0_getFirst_Load(EOS(STATIC_2337), java.lang.Object(o310sub)) -> f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(o310sub), java.lang.Object(o310sub)) :|: TRUE f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318))) -> f2361_0_getFirst_FieldAccess(EOS(STATIC_2361), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318))) :|: TRUE f2361_0_getFirst_FieldAccess(EOS(STATIC_2361), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318))) -> f2369_0_getFirst_NONNULL(EOS(STATIC_2369), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, o318)), o318) :|: TRUE f2369_0_getFirst_NONNULL(EOS(STATIC_2369), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub))), java.lang.Object(o339sub)) -> f2418_0_getFirst_NONNULL(EOS(STATIC_2418), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub))), java.lang.Object(o339sub)) :|: TRUE f2369_0_getFirst_NONNULL(EOS(STATIC_2369), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), NULL) -> f2419_0_getFirst_NONNULL(EOS(STATIC_2419), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), NULL) :|: TRUE f2418_0_getFirst_NONNULL(EOS(STATIC_2418), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub))), java.lang.Object(o339sub)) -> f2446_0_getFirst_Load(EOS(STATIC_2446), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) :|: TRUE f2419_0_getFirst_NONNULL(EOS(STATIC_2419), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), NULL) -> f2447_0_getFirst_Load(EOS(STATIC_2447), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f2446_0_getFirst_Load(EOS(STATIC_2446), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) -> f2573_0_getFirst_FieldAccess(EOS(STATIC_2573), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) :|: TRUE f2447_0_getFirst_Load(EOS(STATIC_2447), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f2575_0_getFirst_Return(EOS(STATIC_2575), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f2573_0_getFirst_FieldAccess(EOS(STATIC_2573), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub)))) -> f2596_0_getFirst_InvokeMethod(EOS(STATIC_2596), java.lang.Object(o339sub)) :|: TRUE f2596_0_getFirst_InvokeMethod(EOS(STATIC_2596), java.lang.Object(o339sub)) -> f2775_1_getFirst_InvokeMethod(f2775_0_getFirst_Load(EOS(STATIC_2775), java.lang.Object(o339sub))) :|: TRUE f2775_0_getFirst_Load(EOS(STATIC_2775), java.lang.Object(o339sub)) -> f2816_0_getFirst_Load(EOS(STATIC_2816), java.lang.Object(o339sub)) :|: TRUE f3552_0_getFirst_Return(EOS(STATIC_3552), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3570_0_getFirst_Return(EOS(STATIC_3570), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3633_0_getFirst_Return(EOS(STATIC_3633), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3677_0_getFirst_Return(EOS(STATIC_3677), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f3677_0_getFirst_Return(EOS(STATIC_3677), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f3570_0_getFirst_Return(EOS(STATIC_3570), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f2816_0_getFirst_Load(EOS(STATIC_2816), java.lang.Object(o339sub)) -> f2337_0_getFirst_Load(EOS(STATIC_2337), java.lang.Object(o339sub)) :|: TRUE f2775_1_getFirst_InvokeMethod(f2575_0_getFirst_Return(EOS(STATIC_2575), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3552_0_getFirst_Return(EOS(STATIC_3552), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f2775_1_getFirst_InvokeMethod(f3570_0_getFirst_Return(EOS(STATIC_3570), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3633_0_getFirst_Return(EOS(STATIC_3633), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE Combined rules. Obtained 1 conditional rules for P and 4 conditional rules for R.P rules: f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub:0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub:0)))) -> f2775_1_getFirst_InvokeMethod(f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(o339sub:0), java.lang.Object(o339sub:0))) :|: TRUE R rules: f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) -> f2575_0_getFirst_Return(EOS(STATIC_2575), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub:0))), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, java.lang.Object(o339sub:0)))) -> f2775_1_getFirst_InvokeMethod(f2351_0_getFirst_FieldAccess(EOS(STATIC_2351), java.lang.Object(o339sub:0), java.lang.Object(o339sub:0))) :|: TRUE f2775_1_getFirst_InvokeMethod(f2575_0_getFirst_Return(EOS(STATIC_2575), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3570_0_getFirst_Return(EOS(STATIC_3570), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE f2775_1_getFirst_InvokeMethod(f3570_0_getFirst_Return(EOS(STATIC_3570), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL)))) -> f3570_0_getFirst_Return(EOS(STATIC_3570), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC, NULL))) :|: TRUE Filtered ground terms: f2351_0_getFirst_FieldAccess(x1, x2, x3) -> f2351_0_getFirst_FieldAccess(x2, x3) DoublyLinkedList.DoublyLinkedList(x1, x2) -> DoublyLinkedList.DoublyLinkedList(x2) f2575_0_getFirst_Return(x1, x2) -> f2575_0_getFirst_Return f3570_0_getFirst_Return(x1, x2) -> f3570_0_getFirst_Return Filtered duplicate args: f2351_0_getFirst_FieldAccess(x1, x2) -> f2351_0_getFirst_FieldAccess(x2) Combined rules. Obtained 1 conditional rules for P and 0 conditional rules for R.P rules: F2351_0_GETFIRST_FIELDACCESS(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(o339sub:0:0)))) -> F2351_0_GETFIRST_FIELDACCESS(java.lang.Object(o339sub:0:0)) :|: TRUE R rules: ---------------------------------------- (24) Obligation: Q DP problem: The TRS P consists of the following rules: F2351_0_GETFIRST_FIELDACCESS(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(o339sub:0:0)))) -> F2351_0_GETFIRST_FIELDACCESS(java.lang.Object(o339sub:0:0)) R is empty. Q is empty. We have to consider all minimal (P,Q,R)-chains. ---------------------------------------- (25) QDPSizeChangeProof (EQUIVALENT) By using the subterm criterion [SUBTERM_CRITERION] together with the size-change analysis [AAECC05] we have proven that there are no infinite chains for this DP problem. From the DPs we obtained the following set of size-change graphs: *F2351_0_GETFIRST_FIELDACCESS(java.lang.Object(DoublyLinkedList.DoublyLinkedList(java.lang.Object(o339sub:0:0)))) -> F2351_0_GETFIRST_FIELDACCESS(java.lang.Object(o339sub:0:0)) The graph contains the following edges 1 > 1 ---------------------------------------- (26) YES ---------------------------------------- (27) 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: ---------------------------------------- (28) SCCToIRSProof (SOUND) Transformed FIGraph SCCs to intTRSs. Log: Generated rules. Obtained 95 IRulesP rules: f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801, i801) -> f4068_0_createList_GE(EOS(STATIC_4068(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801, i801, i800) :|: TRUE f4068_0_createList_GE(EOS(STATIC_4068(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801, i801, i800) -> f4070_0_createList_GE(EOS(STATIC_4070(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801, i801, i800) :|: i801 < i800 f4070_0_createList_GE(EOS(STATIC_4070(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801, i801, i800) -> f4072_0_createList_Load(EOS(STATIC_4072(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801) :|: i801 < i800 f4072_0_createList_Load(EOS(STATIC_4072(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801) -> f4074_0_createList_Store(EOS(STATIC_4074(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768) :|: TRUE f4074_0_createList_Store(EOS(STATIC_4074(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768) -> f4076_0_createList_New(EOS(STATIC_4076(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768) :|: TRUE f4076_0_createList_New(EOS(STATIC_4076(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768) -> f4077_0_createList_Duplicate(EOS(STATIC_4077(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4077_0_createList_Duplicate(EOS(STATIC_4077(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4079_0_createList_InvokeMethod(EOS(STATIC_4079(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4079_0_createList_InvokeMethod(EOS(STATIC_4079(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4080_0_random_FieldAccess(EOS(STATIC_4080(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4080_0_random_FieldAccess(EOS(STATIC_4080(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4081_0_random_ArrayLength(EOS(STATIC_4081(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) :|: TRUE f4081_0_random_ArrayLength(EOS(STATIC_4081(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) -> f4082_0_random_FieldAccess(EOS(STATIC_4082(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4) :|: i4 >= 0 f4082_0_random_FieldAccess(EOS(STATIC_4082(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4) -> f4083_0_random_GT(EOS(STATIC_4083(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i799) :|: TRUE f4083_0_random_GT(EOS(STATIC_4083(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i799) -> f4084_0_random_GT(EOS(STATIC_4084(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i799) :|: i4 > i799 f4083_0_random_GT(EOS(STATIC_4083(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i799) -> f4085_0_random_GT(EOS(STATIC_4085(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i799) :|: i4 <= i799 f4084_0_random_GT(EOS(STATIC_4084(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i799) -> f4086_0_random_FieldAccess(EOS(STATIC_4086(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: i4 > i799 f4086_0_random_FieldAccess(EOS(STATIC_4086(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4088_0_random_FieldAccess(EOS(STATIC_4088(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) :|: TRUE f4088_0_random_FieldAccess(EOS(STATIC_4088(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4))) -> f4090_0_random_ArrayAccess(EOS(STATIC_4090(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i799) :|: TRUE f4090_0_random_ArrayAccess(EOS(STATIC_4090(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i799) -> f4092_0_random_ArrayAccess(EOS(STATIC_4092(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i799) :|: TRUE f4092_0_random_ArrayAccess(EOS(STATIC_4092(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(ARRAY(i4)), i799) -> f4095_0_random_Store(EOS(STATIC_4095(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777) :|: i799 < i4 f4095_0_random_Store(EOS(STATIC_4095(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777) -> f4097_0_random_FieldAccess(EOS(STATIC_4097(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777) :|: TRUE f4097_0_random_FieldAccess(EOS(STATIC_4097(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777) -> f4099_0_random_ConstantStackPush(EOS(STATIC_4099(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777, i799) :|: TRUE f4099_0_random_ConstantStackPush(EOS(STATIC_4099(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777, i799) -> f4102_0_random_IntArithmetic(EOS(STATIC_4102(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777, i799, 1) :|: TRUE f4102_0_random_IntArithmetic(EOS(STATIC_4102(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777, i799, matching1) -> f4105_0_random_FieldAccess(EOS(STATIC_4105(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777, i799 + 1) :|: i799 >= 0 && matching1 = 1 f4105_0_random_FieldAccess(EOS(STATIC_4105(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777, i820) -> f4107_0_random_Load(EOS(STATIC_4107(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777) :|: TRUE f4107_0_random_Load(EOS(STATIC_4107(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777) -> f4110_0_random_NONNULL(EOS(STATIC_4110(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o777, o777) :|: TRUE f4110_0_random_NONNULL(EOS(STATIC_4110(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o782sub), java.lang.Object(o782sub)) -> f4113_0_random_NONNULL(EOS(STATIC_4113(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o782sub), java.lang.Object(o782sub)) :|: TRUE f4110_0_random_NONNULL(EOS(STATIC_4110(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) -> f4114_0_random_NONNULL(EOS(STATIC_4114(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) :|: TRUE f4113_0_random_NONNULL(EOS(STATIC_4113(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o782sub), java.lang.Object(o782sub)) -> f4116_0_random_Load(EOS(STATIC_4116(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o782sub)) :|: TRUE f4116_0_random_Load(EOS(STATIC_4116(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o782sub)) -> f4120_0_random_InvokeMethod(EOS(STATIC_4120(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o782sub)) :|: TRUE f4120_0_random_InvokeMethod(EOS(STATIC_4120(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o786sub)) -> f4124_0_random_InvokeMethod(EOS(STATIC_4124(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o786sub)) :|: TRUE f4124_0_random_InvokeMethod(EOS(STATIC_4124(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o786sub)) -> f4127_0_length_Load(EOS(STATIC_4127(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o786sub)) :|: TRUE f4127_0_length_Load(EOS(STATIC_4127(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o786sub)) -> f4134_0_length_FieldAccess(EOS(STATIC_4134(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(o786sub)) :|: TRUE f4134_0_length_FieldAccess(EOS(STATIC_4134(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(EOC, i841))) -> f4138_0_length_FieldAccess(EOS(STATIC_4138(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(EOC, i841))) :|: i841 >= 0 f4138_0_length_FieldAccess(EOS(STATIC_4138(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(java.lang.String(EOC, i841))) -> f4143_0_length_Return(EOS(STATIC_4143(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) :|: TRUE f4143_0_length_Return(EOS(STATIC_4143(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) -> f4148_0_random_Return(EOS(STATIC_4148(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) :|: TRUE f4148_0_random_Return(EOS(STATIC_4148(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) -> f4152_0_createList_InvokeMethod(EOS(STATIC_4152(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) :|: TRUE f4152_0_createList_InvokeMethod(EOS(STATIC_4152(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) -> f4155_0__init__Load(EOS(STATIC_4155(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) :|: TRUE f4155_0__init__Load(EOS(STATIC_4155(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) -> f4160_0__init__InvokeMethod(EOS(STATIC_4160(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4160_0__init__InvokeMethod(EOS(STATIC_4160(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4162_0__init__Load(EOS(STATIC_4162(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) :|: TRUE f4162_0__init__Load(EOS(STATIC_4162(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) -> f4164_0__init__Load(EOS(STATIC_4164(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4164_0__init__Load(EOS(STATIC_4164(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4166_0__init__FieldAccess(EOS(STATIC_4166(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) :|: TRUE f4166_0__init__FieldAccess(EOS(STATIC_4166(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i841) -> f4168_0__init__Return(EOS(STATIC_4168(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4168_0__init__Return(EOS(STATIC_4168(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4170_0_createList_Store(EOS(STATIC_4170(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4170_0_createList_Store(EOS(STATIC_4170(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4172_0_createList_Load(EOS(STATIC_4172(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) :|: TRUE f4172_0_createList_Load(EOS(STATIC_4172(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) -> f4174_0_createList_Load(EOS(STATIC_4174(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4174_0_createList_Load(EOS(STATIC_4174(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4176_0_createList_FieldAccess(EOS(STATIC_4176(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o768) :|: TRUE f4176_0_createList_FieldAccess(EOS(STATIC_4176(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o768) -> f4178_0_createList_Load(EOS(STATIC_4178(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) :|: TRUE f4178_0_createList_Load(EOS(STATIC_4178(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) -> f4179_0_createList_NULL(EOS(STATIC_4179(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, o768) :|: TRUE f4179_0_createList_NULL(EOS(STATIC_4179(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub), java.lang.Object(o822sub)) -> f4182_0_createList_NULL(EOS(STATIC_4182(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub), java.lang.Object(o822sub)) :|: TRUE f4179_0_createList_NULL(EOS(STATIC_4179(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, NULL, NULL) -> f4183_0_createList_NULL(EOS(STATIC_4183(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, NULL, NULL) :|: TRUE f4182_0_createList_NULL(EOS(STATIC_4182(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub), java.lang.Object(o822sub)) -> f4185_0_createList_Load(EOS(STATIC_4185(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub)) :|: TRUE f4185_0_createList_Load(EOS(STATIC_4185(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub)) -> f4188_0_createList_Load(EOS(STATIC_4188(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub)) :|: TRUE f4188_0_createList_Load(EOS(STATIC_4188(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub)) -> f4190_0_createList_FieldAccess(EOS(STATIC_4190(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o822sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4190_0_createList_FieldAccess(EOS(STATIC_4190(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4192_0_createList_FieldAccess(EOS(STATIC_4192(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4192_0_createList_FieldAccess(EOS(STATIC_4192(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4193_0_createList_Inc(EOS(STATIC_4193(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) :|: TRUE f4193_0_createList_Inc(EOS(STATIC_4193(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) -> f4194_0_createList_JMP(EOS(STATIC_4194(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801 + 1) :|: TRUE f4194_0_createList_JMP(EOS(STATIC_4194(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i874) -> f4195_0_createList_Load(EOS(STATIC_4195(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i874) :|: TRUE f4195_0_createList_Load(EOS(STATIC_4195(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i874) -> f4066_0_createList_Load(EOS(STATIC_4066(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i874) :|: TRUE f4066_0_createList_Load(EOS(STATIC_4066(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801) -> f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4)), i799)), i800, o768, i801, i801) :|: TRUE f4183_0_createList_NULL(EOS(STATIC_4183(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, NULL, NULL) -> f4186_0_createList_Inc(EOS(STATIC_4186(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) :|: TRUE f4186_0_createList_Inc(EOS(STATIC_4186(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) -> f4189_0_createList_JMP(EOS(STATIC_4189(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801 + 1) :|: TRUE f4189_0_createList_JMP(EOS(STATIC_4189(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i863) -> f4191_0_createList_Load(EOS(STATIC_4191(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i863) :|: TRUE f4191_0_createList_Load(EOS(STATIC_4191(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i863) -> f4066_0_createList_Load(EOS(STATIC_4066(java.lang.Object(ARRAY(i4)), i820)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i863) :|: TRUE f4114_0_random_NONNULL(EOS(STATIC_4114(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), NULL, NULL) -> f4117_0_random_ConstantStackPush(EOS(STATIC_4117(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4117_0_random_ConstantStackPush(EOS(STATIC_4117(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4121_0_random_Return(EOS(STATIC_4121(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE f4121_0_random_Return(EOS(STATIC_4121(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4125_0_createList_InvokeMethod(EOS(STATIC_4125(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4125_0_createList_InvokeMethod(EOS(STATIC_4125(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4152_0_createList_InvokeMethod(EOS(STATIC_4152(java.lang.Object(ARRAY(i4)), i820)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4085_0_random_GT(EOS(STATIC_4085(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i4, i799) -> f4087_0_random_ConstantStackPush(EOS(STATIC_4087(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: i4 <= i799 f4087_0_random_ConstantStackPush(EOS(STATIC_4087(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4089_0_random_Return(EOS(STATIC_4089(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE f4089_0_random_Return(EOS(STATIC_4089(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4091_0_createList_InvokeMethod(EOS(STATIC_4091(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4091_0_createList_InvokeMethod(EOS(STATIC_4091(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4094_0__init__Load(EOS(STATIC_4094(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4094_0__init__Load(EOS(STATIC_4094(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4098_0__init__InvokeMethod(EOS(STATIC_4098(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE && matching1 = 0 f4098_0__init__InvokeMethod(EOS(STATIC_4098(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4101_0__init__Load(EOS(STATIC_4101(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4101_0__init__Load(EOS(STATIC_4101(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4104_0__init__Load(EOS(STATIC_4104(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE && matching1 = 0 f4104_0__init__Load(EOS(STATIC_4104(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4106_0__init__FieldAccess(EOS(STATIC_4106(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), 0) :|: TRUE && matching1 = 0 f4106_0__init__FieldAccess(EOS(STATIC_4106(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), matching1) -> f4109_0__init__Return(EOS(STATIC_4109(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE && matching1 = 0 f4109_0__init__Return(EOS(STATIC_4109(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4112_0_createList_Store(EOS(STATIC_4112(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4112_0_createList_Store(EOS(STATIC_4112(java.lang.Object(ARRAY(i4)), i799)), i800, i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4115_0_createList_Load(EOS(STATIC_4115(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) :|: TRUE f4115_0_createList_Load(EOS(STATIC_4115(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) -> f4119_0_createList_Load(EOS(STATIC_4119(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4119_0_createList_Load(EOS(STATIC_4119(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4123_0_createList_FieldAccess(EOS(STATIC_4123(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o768) :|: TRUE f4123_0_createList_FieldAccess(EOS(STATIC_4123(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), o768) -> f4126_0_createList_Load(EOS(STATIC_4126(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) :|: TRUE f4126_0_createList_Load(EOS(STATIC_4126(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768) -> f4130_0_createList_NULL(EOS(STATIC_4130(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, o768, o768) :|: TRUE f4130_0_createList_NULL(EOS(STATIC_4130(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub), java.lang.Object(o787sub)) -> f4132_0_createList_NULL(EOS(STATIC_4132(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub), java.lang.Object(o787sub)) :|: TRUE f4130_0_createList_NULL(EOS(STATIC_4130(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, NULL, NULL) -> f4133_0_createList_NULL(EOS(STATIC_4133(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, NULL, NULL) :|: TRUE f4132_0_createList_NULL(EOS(STATIC_4132(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub), java.lang.Object(o787sub)) -> f4136_0_createList_Load(EOS(STATIC_4136(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub)) :|: TRUE f4136_0_createList_Load(EOS(STATIC_4136(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub)) -> f4141_0_createList_Load(EOS(STATIC_4141(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub)) :|: TRUE f4141_0_createList_Load(EOS(STATIC_4141(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub)) -> f4146_0_createList_FieldAccess(EOS(STATIC_4146(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(o787sub), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4146_0_createList_FieldAccess(EOS(STATIC_4146(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4151_0_createList_FieldAccess(EOS(STATIC_4151(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) :|: TRUE f4151_0_createList_FieldAccess(EOS(STATIC_4151(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4154_0_createList_Inc(EOS(STATIC_4154(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) :|: TRUE f4154_0_createList_Inc(EOS(STATIC_4154(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) -> f4157_0_createList_JMP(EOS(STATIC_4157(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801 + 1) :|: TRUE f4157_0_createList_JMP(EOS(STATIC_4157(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i848) -> f4159_0_createList_Load(EOS(STATIC_4159(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i848) :|: TRUE f4159_0_createList_Load(EOS(STATIC_4159(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i848) -> f4066_0_createList_Load(EOS(STATIC_4066(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i848) :|: TRUE f4133_0_createList_NULL(EOS(STATIC_4133(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801, NULL, NULL) -> f4137_0_createList_Inc(EOS(STATIC_4137(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) :|: TRUE f4137_0_createList_Inc(EOS(STATIC_4137(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801) -> f4142_0_createList_JMP(EOS(STATIC_4142(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801 + 1) :|: TRUE f4142_0_createList_JMP(EOS(STATIC_4142(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i843) -> f4147_0_createList_Load(EOS(STATIC_4147(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i843) :|: TRUE f4147_0_createList_Load(EOS(STATIC_4147(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i843) -> f4066_0_createList_Load(EOS(STATIC_4066(java.lang.Object(ARRAY(i4)), i799)), i800, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i843) :|: TRUE Combined rules. Obtained 6 IRulesP rules: f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i799:0)), i800:0, o768:0, i801:0, i801:0) -> f4179_0_createList_NULL(EOS(STATIC_4179(java.lang.Object(ARRAY(i4:0)), i799:0 + 1)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0, o768:0, o768:0) :|: i801:0 < i800:0 && i4:0 > -1 && i799:0 < i4:0 && i799:0 > -1 f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i799:0)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0, i801:0) -> f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i799:0)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0 + 1, i801:0 + 1) :|: i801:0 < i800:0 && i4:0 > -1 && i799:0 >= i4:0 f4179_0_createList_NULL(EOS(STATIC_4179(java.lang.Object(ARRAY(i4:0)), i820:0)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0, NULL, NULL) -> f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i820:0)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0 + 1, i801:0 + 1) :|: TRUE f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i799:0)), i800:0, o768:0, i801:0, i801:0) -> f4179_0_createList_NULL(EOS(STATIC_4179(java.lang.Object(ARRAY(i4:0)), i799:0 + 1)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0, o768:0, o768:0) :|: i801:0 < i800:0 && i4:0 > -1 && i799:0 < i4:0 && i841:0 > -1 && i799:0 > -1 f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i799:0)), i800:0, NULL, i801:0, i801:0) -> f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i799:0)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0 + 1, i801:0 + 1) :|: i801:0 < i800:0 && i4:0 > -1 && i799:0 >= i4:0 f4179_0_createList_NULL(EOS(STATIC_4179(java.lang.Object(ARRAY(i4:0)), i820:0)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC))) -> f4067_0_createList_Load(EOS(STATIC_4067(java.lang.Object(ARRAY(i4:0)), i820:0)), i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList(EOC)), i801:0 + 1, i801:0 + 1) :|: TRUE Filtered constant ground arguments: f4179_0_createList_NULL(x1, x2, x3, x4, x5, x6) -> f4179_0_createList_NULL(x1, x2, x4, x5, x6) DoublyLinkedList.DoublyLinkedList(x1) -> DoublyLinkedList.DoublyLinkedList Filtered duplicate arguments: f4067_0_createList_Load(x1, x2, x3, x4, x5) -> f4067_0_createList_Load(x1, x2, x3, x5) f4179_0_createList_NULL(x1, x2, x3, x4, x5) -> f4179_0_createList_NULL(x1, x2, x3, x5) Finished conversion. Obtained 6 rules.P rules: f4067_0_createList_Load(i800:0, o768:0, i801:0, i4:0, i799:0) -> f4179_0_createList_NULL(i800:0, i801:0, o768:0, i4:0, i799:0 + 1) :|: i4:0 > -1 && i801:0 < i800:0 && i799:0 > -1 && i799:0 < i4:0 f4067_0_createList_Load(i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i801:0, i4:0, i799:0) -> f4067_0_createList_Load(i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i801:0 + 1, i4:0, i799:0) :|: i4:0 > -1 && i799:0 >= i4:0 && i801:0 < i800:0 f4179_0_createList_NULL(i800:0, i801:0, NULL, i4:0, i820:0) -> f4067_0_createList_Load(i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i801:0 + 1, i4:0, i820:0) :|: TRUE f4067_0_createList_Load(i800:0, o768:0, i801:0, i4:0, i799:0) -> f4179_0_createList_NULL(i800:0, i801:0, o768:0, i4:0, i799:0 + 1) :|: i4:0 > -1 && i801:0 < i800:0 && i799:0 < i4:0 && i799:0 > -1 && i841:0 > -1 f4067_0_createList_Load(i800:0, NULL, i801:0, i4:0, i799:0) -> f4067_0_createList_Load(i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i801:0 + 1, i4:0, i799:0) :|: i4:0 > -1 && i799:0 >= i4:0 && i801:0 < i800:0 f4179_0_createList_NULL(i800:0, i801:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i4:0, i820:0) -> f4067_0_createList_Load(i800:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), i801:0 + 1, i4:0, i820:0) :|: TRUE ---------------------------------------- (29) Obligation: Rules: f4067_0_createList_Load(i800:0, o768:0, i801:0, i4:0, i799:0) -> f4179_0_createList_NULL(i800:0, i801:0, o768:0, i4:0, i799:0 + 1) :|: i4:0 > -1 && i801:0 < i800:0 && i799:0 > -1 && i799:0 < i4:0 f4067_0_createList_Load(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x1, x2, x3) -> f4067_0_createList_Load(x, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x1 + 1, x2, x3) :|: x2 > -1 && x3 >= x2 && x1 < x f4179_0_createList_NULL(x4, x5, NULL, x6, x7) -> f4067_0_createList_Load(x4, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x5 + 1, x6, x7) :|: TRUE f4067_0_createList_Load(x8, x9, x10, x11, x12) -> f4179_0_createList_NULL(x8, x10, x9, x11, x12 + 1) :|: x11 > -1 && x10 < x8 && x12 < x11 && x12 > -1 && x13 > -1 f4067_0_createList_Load(x14, NULL, x15, x16, x17) -> f4067_0_createList_Load(x14, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x15 + 1, x16, x17) :|: x16 > -1 && x17 >= x16 && x15 < x14 f4179_0_createList_NULL(x18, x19, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x20, x21) -> f4067_0_createList_Load(x18, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x19 + 1, x20, x21) :|: TRUE ---------------------------------------- (30) IRSFormatTransformerProof (EQUIVALENT) Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). ---------------------------------------- (31) Obligation: Rules: f4067_0_createList_Load(i800:0, o768:0, i801:0, i4:0, i799:0) -> f4179_0_createList_NULL(i800:0, i801:0, o768:0, i4:0, arith) :|: i4:0 > -1 && i801:0 < i800:0 && i799:0 > -1 && i799:0 < i4:0 && arith = i799:0 + 1 f4067_0_createList_Load(x22, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x23, x24, x25) -> f4067_0_createList_Load(x22, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x26, x24, x25) :|: x24 > -1 && x25 >= x24 && x23 < x22 && x26 = x23 + 1 f4179_0_createList_NULL(x27, x28, NULL, x29, x30) -> f4067_0_createList_Load(x27, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x31, x29, x30) :|: TRUE && x31 = x28 + 1 f4067_0_createList_Load(x32, x33, x34, x35, x36) -> f4179_0_createList_NULL(x32, x34, x33, x35, x37) :|: x35 > -1 && x34 < x32 && x36 < x35 && x36 > -1 && x38 > -1 && x37 = x36 + 1 f4067_0_createList_Load(x39, NULL, x40, x41, x42) -> f4067_0_createList_Load(x39, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x43, x41, x42) :|: x41 > -1 && x42 >= x41 && x40 < x39 && x43 = x40 + 1 f4179_0_createList_NULL(x44, x45, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x46, x47) -> f4067_0_createList_Load(x44, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x48, x46, x47) :|: TRUE && x48 = x45 + 1 ---------------------------------------- (32) IRSwTTerminationDigraphProof (EQUIVALENT) Constructed termination digraph! Nodes: (1) f4067_0_createList_Load(i800:0, o768:0, i801:0, i4:0, i799:0) -> f4179_0_createList_NULL(i800:0, i801:0, o768:0, i4:0, arith) :|: i4:0 > -1 && i801:0 < i800:0 && i799:0 > -1 && i799:0 < i4:0 && arith = i799:0 + 1 (2) f4067_0_createList_Load(x22, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x23, x24, x25) -> f4067_0_createList_Load(x22, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x26, x24, x25) :|: x24 > -1 && x25 >= x24 && x23 < x22 && x26 = x23 + 1 (3) f4179_0_createList_NULL(x27, x28, NULL, x29, x30) -> f4067_0_createList_Load(x27, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x31, x29, x30) :|: TRUE && x31 = x28 + 1 (4) f4067_0_createList_Load(x32, x33, x34, x35, x36) -> f4179_0_createList_NULL(x32, x34, x33, x35, x37) :|: x35 > -1 && x34 < x32 && x36 < x35 && x36 > -1 && x38 > -1 && x37 = x36 + 1 (5) f4067_0_createList_Load(x39, NULL, x40, x41, x42) -> f4067_0_createList_Load(x39, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x43, x41, x42) :|: x41 > -1 && x42 >= x41 && x40 < x39 && x43 = x40 + 1 (6) f4179_0_createList_NULL(x44, x45, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x46, x47) -> f4067_0_createList_Load(x44, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x48, x46, x47) :|: TRUE && x48 = x45 + 1 Arcs: (1) -> (3), (6) (2) -> (2) (3) -> (1), (2), (4) (4) -> (3), (6) (5) -> (2) (6) -> (1), (2), (4) This digraph is fully evaluated! ---------------------------------------- (33) Complex Obligation (AND) ---------------------------------------- (34) Obligation: Termination digraph: Nodes: (1) f4067_0_createList_Load(i800:0, o768:0, i801:0, i4:0, i799:0) -> f4179_0_createList_NULL(i800:0, i801:0, o768:0, i4:0, arith) :|: i4:0 > -1 && i801:0 < i800:0 && i799:0 > -1 && i799:0 < i4:0 && arith = i799:0 + 1 (2) f4179_0_createList_NULL(x27, x28, NULL, x29, x30) -> f4067_0_createList_Load(x27, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x31, x29, x30) :|: TRUE && x31 = x28 + 1 (3) f4067_0_createList_Load(x32, x33, x34, x35, x36) -> f4179_0_createList_NULL(x32, x34, x33, x35, x37) :|: x35 > -1 && x34 < x32 && x36 < x35 && x36 > -1 && x38 > -1 && x37 = x36 + 1 (4) f4179_0_createList_NULL(x44, x45, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x46, x47) -> f4067_0_createList_Load(x44, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x48, x46, x47) :|: TRUE && x48 = x45 + 1 Arcs: (1) -> (2), (4) (2) -> (1), (3) (3) -> (2), (4) (4) -> (1), (3) This digraph is fully evaluated! ---------------------------------------- (35) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (36) Obligation: Rules: f4067_0_createList_Load(i800:0:0, o768:0:0, i801:0:0, i4:0:0, i799:0:0) -> f4179_0_createList_NULL(i800:0:0, i801:0:0, o768:0:0, i4:0:0, i799:0:0 + 1) :|: i799:0:0 > -1 && i799:0:0 < i4:0:0 && i801:0:0 < i800:0:0 && i4:0:0 > -1 f4067_0_createList_Load(x32:0, x33:0, x34:0, x35:0, x36:0) -> f4179_0_createList_NULL(x32:0, x34:0, x33:0, x35:0, x36:0 + 1) :|: x36:0 > -1 && x38:0 > -1 && x36:0 < x35:0 && x34:0 < x32:0 && x35:0 > -1 f4179_0_createList_NULL(x44:0, x45:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x46:0, x47:0) -> f4067_0_createList_Load(x44:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x45:0 + 1, x46:0, x47:0) :|: TRUE f4179_0_createList_NULL(x27:0, x28:0, NULL, x29:0, x30:0) -> f4067_0_createList_Load(x27:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x28:0 + 1, x29:0, x30:0) :|: TRUE ---------------------------------------- (37) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4067_0_createList_Load(VARIABLE, VARIABLE, INTEGER, VARIABLE, VARIABLE) f4179_0_createList_NULL(VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) java.lang.Object(VARIABLE) DoublyLinkedList.DoublyLinkedList() NULL() Replaced non-predefined constructor symbols by 0. ---------------------------------------- (38) Obligation: Rules: f4067_0_createList_Load(i800:0:0, o768:0:0, i801:0:0, i4:0:0, i799:0:0) -> f4179_0_createList_NULL(i800:0:0, i801:0:0, o768:0:0, i4:0:0, c) :|: c = i799:0:0 + 1 && (i799:0:0 > -1 && i799:0:0 < i4:0:0 && i801:0:0 < i800:0:0 && i4:0:0 > -1) f4067_0_createList_Load(x32:0, x33:0, x34:0, x35:0, x36:0) -> f4179_0_createList_NULL(x32:0, x34:0, x33:0, x35:0, c1) :|: c1 = x36:0 + 1 && (x36:0 > -1 && x38:0 > -1 && x36:0 < x35:0 && x34:0 < x32:0 && x35:0 > -1) f4179_0_createList_NULL(x44:0, x45:0, c2, x46:0, x47:0) -> f4067_0_createList_Load(x44:0, c3, c4, x46:0, x47:0) :|: c4 = x45:0 + 1 && (c3 = 0 && c2 = 0) && TRUE ---------------------------------------- (39) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4067_0_createList_Load(x, x1, x2, x3, x4)] = -2 + x - x2 + x3 - x4 [f4179_0_createList_NULL(x5, x6, x7, x8, x9)] = -3 + x5 - x6 + x8 - x9 The following rules are decreasing: f4067_0_createList_Load(i800:0:0, o768:0:0, i801:0:0, i4:0:0, i799:0:0) -> f4179_0_createList_NULL(i800:0:0, i801:0:0, o768:0:0, i4:0:0, c) :|: c = i799:0:0 + 1 && (i799:0:0 > -1 && i799:0:0 < i4:0:0 && i801:0:0 < i800:0:0 && i4:0:0 > -1) f4067_0_createList_Load(x32:0, x33:0, x34:0, x35:0, x36:0) -> f4179_0_createList_NULL(x32:0, x34:0, x33:0, x35:0, c1) :|: c1 = x36:0 + 1 && (x36:0 > -1 && x38:0 > -1 && x36:0 < x35:0 && x34:0 < x32:0 && x35:0 > -1) The following rules are bounded: f4067_0_createList_Load(i800:0:0, o768:0:0, i801:0:0, i4:0:0, i799:0:0) -> f4179_0_createList_NULL(i800:0:0, i801:0:0, o768:0:0, i4:0:0, c) :|: c = i799:0:0 + 1 && (i799:0:0 > -1 && i799:0:0 < i4:0:0 && i801:0:0 < i800:0:0 && i4:0:0 > -1) f4067_0_createList_Load(x32:0, x33:0, x34:0, x35:0, x36:0) -> f4179_0_createList_NULL(x32:0, x34:0, x33:0, x35:0, c1) :|: c1 = x36:0 + 1 && (x36:0 > -1 && x38:0 > -1 && x36:0 < x35:0 && x34:0 < x32:0 && x35:0 > -1) ---------------------------------------- (40) Obligation: Rules: f4179_0_createList_NULL(x44:0, x45:0, c2, x46:0, x47:0) -> f4067_0_createList_Load(x44:0, c3, c4, x46:0, x47:0) :|: c4 = x45:0 + 1 && (c3 = 0 && c2 = 0) && TRUE ---------------------------------------- (41) RankingReductionPairProof (EQUIVALENT) Interpretation: [ f4179_0_createList_NULL ] = 0 [ f4067_0_createList_Load ] = -1 The following rules are decreasing: f4179_0_createList_NULL(x44:0, x45:0, c2, x46:0, x47:0) -> f4067_0_createList_Load(x44:0, c3, c4, x46:0, x47:0) :|: c4 = x45:0 + 1 && (c3 = 0 && c2 = 0) && TRUE The following rules are bounded: f4179_0_createList_NULL(x44:0, x45:0, c2, x46:0, x47:0) -> f4067_0_createList_Load(x44:0, c3, c4, x46:0, x47:0) :|: c4 = x45:0 + 1 && (c3 = 0 && c2 = 0) && TRUE ---------------------------------------- (42) YES ---------------------------------------- (43) Obligation: Termination digraph: Nodes: (1) f4067_0_createList_Load(x22, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x23, x24, x25) -> f4067_0_createList_Load(x22, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x26, x24, x25) :|: x24 > -1 && x25 >= x24 && x23 < x22 && x26 = x23 + 1 Arcs: (1) -> (1) This digraph is fully evaluated! ---------------------------------------- (44) IntTRSCompressionProof (EQUIVALENT) Compressed rules. ---------------------------------------- (45) Obligation: Rules: f4067_0_createList_Load(x22:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x23:0, x24:0, x25:0) -> f4067_0_createList_Load(x22:0, java.lang.Object(DoublyLinkedList.DoublyLinkedList), x23:0 + 1, x24:0, x25:0) :|: x24:0 > -1 && x25:0 >= x24:0 && x23:0 < x22:0 ---------------------------------------- (46) IntTRSUnneededArgumentFilterProof (EQUIVALENT) Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements: f4067_0_createList_Load(x1, x2, x3, x4, x5) -> f4067_0_createList_Load(x1, x3, x4, x5) ---------------------------------------- (47) Obligation: Rules: f4067_0_createList_Load(x22:0, x23:0, x24:0, x25:0) -> f4067_0_createList_Load(x22:0, x23:0 + 1, x24:0, x25:0) :|: x24:0 > -1 && x25:0 >= x24:0 && x23:0 < x22:0 ---------------------------------------- (48) TempFilterProof (SOUND) Used the following sort dictionary for filtering: f4067_0_createList_Load(INTEGER, INTEGER, INTEGER, INTEGER) Replaced non-predefined constructor symbols by 0. ---------------------------------------- (49) Obligation: Rules: f4067_0_createList_Load(x22:0, x23:0, x24:0, x25:0) -> f4067_0_createList_Load(x22:0, c, x24:0, x25:0) :|: c = x23:0 + 1 && (x24:0 > -1 && x25:0 >= x24:0 && x23:0 < x22:0) ---------------------------------------- (50) PolynomialOrderProcessor (EQUIVALENT) Found the following polynomial interpretation: [f4067_0_createList_Load(x, x1, x2, x3)] = x - x1 The following rules are decreasing: f4067_0_createList_Load(x22:0, x23:0, x24:0, x25:0) -> f4067_0_createList_Load(x22:0, c, x24:0, x25:0) :|: c = x23:0 + 1 && (x24:0 > -1 && x25:0 >= x24:0 && x23:0 < x22:0) The following rules are bounded: f4067_0_createList_Load(x22:0, x23:0, x24:0, x25:0) -> f4067_0_createList_Load(x22:0, c, x24:0, x25:0) :|: c = x23:0 + 1 && (x24:0 > -1 && x25:0 >= x24:0 && x23:0 < x22:0) ---------------------------------------- (51) YES