33.60/10.21 YES 33.97/10.24 proof of /export/starexec/sandbox2/benchmark/theBenchmark.jar 33.97/10.24 # AProVE Commit ID: 48fb2092695e11cc9f56e44b17a92a5f88ffb256 marcel 20180622 unpublished dirty 33.97/10.24 33.97/10.24 33.97/10.24 termination of the given Bare JBC problem could be proven: 33.97/10.24 33.97/10.24 (0) Bare JBC problem 33.97/10.24 (1) BareJBCToJBCProof [EQUIVALENT, 97 ms] 33.97/10.24 (2) JBC problem 33.97/10.24 (3) JBCToGraph [EQUIVALENT, 4191 ms] 33.97/10.24 (4) JBCTerminationGraph 33.97/10.24 (5) TerminationGraphToSCCProof [SOUND, 0 ms] 33.97/10.24 (6) AND 33.97/10.24 (7) JBCTerminationSCC 33.97/10.24 (8) SCCToIRSProof [SOUND, 384 ms] 33.97/10.24 (9) IRSwT 33.97/10.24 (10) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (11) IRSwT 33.97/10.24 (12) IRSwTTerminationDigraphProof [EQUIVALENT, 59 ms] 33.97/10.24 (13) IRSwT 33.97/10.24 (14) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (15) IRSwT 33.97/10.24 (16) TempFilterProof [SOUND, 69 ms] 33.97/10.24 (17) IntTRS 33.97/10.24 (18) PolynomialOrderProcessor [EQUIVALENT, 14 ms] 33.97/10.24 (19) IntTRS 33.97/10.24 (20) RankingReductionPairProof [EQUIVALENT, 0 ms] 33.97/10.24 (21) YES 33.97/10.24 (22) JBCTerminationSCC 33.97/10.24 (23) SCCToIRSProof [SOUND, 371 ms] 33.97/10.24 (24) IRSwT 33.97/10.24 (25) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (26) IRSwT 33.97/10.24 (27) IRSwTTerminationDigraphProof [EQUIVALENT, 254 ms] 33.97/10.24 (28) IRSwT 33.97/10.24 (29) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (30) IRSwT 33.97/10.24 (31) TempFilterProof [SOUND, 35 ms] 33.97/10.24 (32) IntTRS 33.97/10.24 (33) RankingReductionPairProof [EQUIVALENT, 16 ms] 33.97/10.24 (34) YES 33.97/10.24 (35) JBCTerminationSCC 33.97/10.24 (36) SCCToIRSProof [SOUND, 361 ms] 33.97/10.24 (37) IRSwT 33.97/10.24 (38) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (39) IRSwT 33.97/10.24 (40) IRSwTTerminationDigraphProof [EQUIVALENT, 244 ms] 33.97/10.24 (41) IRSwT 33.97/10.24 (42) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (43) IRSwT 33.97/10.24 (44) TempFilterProof [SOUND, 37 ms] 33.97/10.24 (45) IntTRS 33.97/10.24 (46) RankingReductionPairProof [EQUIVALENT, 5 ms] 33.97/10.24 (47) YES 33.97/10.24 (48) JBCTerminationSCC 33.97/10.24 (49) SCCToIRSProof [SOUND, 182 ms] 33.97/10.24 (50) IRSwT 33.97/10.24 (51) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (52) IRSwT 33.97/10.24 (53) IRSwTTerminationDigraphProof [EQUIVALENT, 48 ms] 33.97/10.24 (54) IRSwT 33.97/10.24 (55) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (56) IRSwT 33.97/10.24 (57) TempFilterProof [SOUND, 37 ms] 33.97/10.24 (58) IntTRS 33.97/10.24 (59) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 33.97/10.24 (60) IntTRS 33.97/10.24 (61) RankingReductionPairProof [EQUIVALENT, 0 ms] 33.97/10.24 (62) YES 33.97/10.24 (63) JBCTerminationSCC 33.97/10.24 (64) SCCToIRSProof [SOUND, 137 ms] 33.97/10.24 (65) IRSwT 33.97/10.24 (66) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (67) IRSwT 33.97/10.24 (68) IRSwTTerminationDigraphProof [EQUIVALENT, 35 ms] 33.97/10.24 (69) IRSwT 33.97/10.24 (70) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (71) IRSwT 33.97/10.24 (72) TempFilterProof [SOUND, 59 ms] 33.97/10.24 (73) IntTRS 33.97/10.24 (74) PolynomialOrderProcessor [EQUIVALENT, 21 ms] 33.97/10.24 (75) IntTRS 33.97/10.24 (76) RankingReductionPairProof [EQUIVALENT, 0 ms] 33.97/10.24 (77) YES 33.97/10.24 (78) JBCTerminationSCC 33.97/10.24 (79) SCCToIRSProof [SOUND, 162 ms] 33.97/10.24 (80) IRSwT 33.97/10.24 (81) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (82) IRSwT 33.97/10.24 (83) IRSwTTerminationDigraphProof [EQUIVALENT, 234 ms] 33.97/10.24 (84) IRSwT 33.97/10.24 (85) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (86) IRSwT 33.97/10.24 (87) TempFilterProof [SOUND, 72 ms] 33.97/10.24 (88) IntTRS 33.97/10.24 (89) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 33.97/10.24 (90) IntTRS 33.97/10.24 (91) RankingReductionPairProof [EQUIVALENT, 13 ms] 33.97/10.24 (92) YES 33.97/10.24 (93) JBCTerminationSCC 33.97/10.24 (94) SCCToIRSProof [SOUND, 150 ms] 33.97/10.24 (95) IRSwT 33.97/10.24 (96) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (97) IRSwT 33.97/10.24 (98) IRSwTTerminationDigraphProof [EQUIVALENT, 230 ms] 33.97/10.24 (99) IRSwT 33.97/10.24 (100) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (101) IRSwT 33.97/10.24 (102) TempFilterProof [SOUND, 51 ms] 33.97/10.24 (103) IntTRS 33.97/10.24 (104) RankingReductionPairProof [EQUIVALENT, 25 ms] 33.97/10.24 (105) YES 33.97/10.24 (106) JBCTerminationSCC 33.97/10.24 (107) SCCToIRSProof [SOUND, 360 ms] 33.97/10.24 (108) IRSwT 33.97/10.24 (109) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (110) IRSwT 33.97/10.24 (111) IRSwTTerminationDigraphProof [EQUIVALENT, 204 ms] 33.97/10.24 (112) IRSwT 33.97/10.24 (113) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (114) IRSwT 33.97/10.24 (115) TempFilterProof [SOUND, 44 ms] 33.97/10.24 (116) IntTRS 33.97/10.24 (117) PolynomialOrderProcessor [EQUIVALENT, 0 ms] 33.97/10.24 (118) IntTRS 33.97/10.24 (119) RankingReductionPairProof [EQUIVALENT, 0 ms] 33.97/10.24 (120) YES 33.97/10.24 (121) JBCTerminationSCC 33.97/10.24 (122) SCCToIRSProof [SOUND, 386 ms] 33.97/10.24 (123) IRSwT 33.97/10.24 (124) IRSFormatTransformerProof [EQUIVALENT, 0 ms] 33.97/10.24 (125) IRSwT 33.97/10.24 (126) IRSwTTerminationDigraphProof [EQUIVALENT, 232 ms] 33.97/10.24 (127) IRSwT 33.97/10.24 (128) IntTRSCompressionProof [EQUIVALENT, 0 ms] 33.97/10.24 (129) IRSwT 33.97/10.24 (130) TempFilterProof [SOUND, 31 ms] 33.97/10.24 (131) IntTRS 33.97/10.24 (132) RankingReductionPairProof [EQUIVALENT, 14 ms] 33.97/10.24 (133) YES 33.97/10.24 33.97/10.24 33.97/10.24 ---------------------------------------- 33.97/10.24 33.97/10.24 (0) 33.97/10.24 Obligation: 33.97/10.24 need to prove termination of the following program: 33.97/10.24 /* 33.97/10.24 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.24 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.24 * 33.97/10.24 * This code is free software; you can redistribute it and/or modify it 33.97/10.24 * under the terms of the GNU General Public License version 2 only, as 33.97/10.24 * published by the Free Software Foundation. Sun designates this 33.97/10.24 * particular file as subject to the "Classpath" exception as provided 33.97/10.24 * by Sun in the LICENSE file that accompanied this code. 33.97/10.24 * 33.97/10.24 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.24 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.24 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.24 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.24 * accompanied this code). 33.97/10.24 * 33.97/10.24 * You should have received a copy of the GNU General Public License version 33.97/10.24 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.24 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.24 * 33.97/10.24 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.24 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.24 * have any questions. 33.97/10.24 */ 33.97/10.24 33.97/10.24 package javaUtilEx; 33.97/10.24 33.97/10.24 /** 33.97/10.24 * This class provides a skeletal implementation of the Collection 33.97/10.24 * interface, to minimize the effort required to implement this interface.

33.97/10.24 * 33.97/10.24 * To implement an unmodifiable collection, the programmer needs only to 33.97/10.24 * extend this class and provide implementations for the iterator and 33.97/10.24 * size methods. (The iterator returned by the iterator 33.97/10.24 * method must implement hasNext and next.)

33.97/10.24 * 33.97/10.24 * To implement a modifiable collection, the programmer must additionally 33.97/10.24 * override this class's add method (which otherwise throws an 33.97/10.24 * UnsupportedOperationException), and the iterator returned by the 33.97/10.24 * iterator method must additionally implement its remove 33.97/10.24 * method.

33.97/10.24 * 33.97/10.24 * The programmer should generally provide a void (no argument) and 33.97/10.24 * Collection constructor, as per the recommendation in the 33.97/10.24 * Collection interface specification.

33.97/10.24 * 33.97/10.24 * The documentation for each non-abstract method in this class describes its 33.97/10.24 * implementation in detail. Each of these methods may be overridden if 33.97/10.24 * the collection being implemented admits a more efficient implementation.

33.97/10.24 * 33.97/10.24 * This class is a member of the 33.97/10.24 * 33.97/10.24 * Java Collections Framework. 33.97/10.24 * 33.97/10.24 * @author Josh Bloch 33.97/10.24 * @author Neal Gafter 33.97/10.24 * @see Collection 33.97/10.24 * @since 1.2 33.97/10.24 */ 33.97/10.24 33.97/10.24 public abstract class AbstractCollection implements Collection { 33.97/10.24 /** 33.97/10.24 * Sole constructor. (For invocation by subclass constructors, typically 33.97/10.24 * implicit.) 33.97/10.24 */ 33.97/10.24 protected AbstractCollection() { 33.97/10.24 } 33.97/10.24 33.97/10.24 // Query Operations 33.97/10.24 33.97/10.24 /** 33.97/10.24 * Returns an iterator over the elements contained in this collection. 33.97/10.24 * 33.97/10.24 * @return an iterator over the elements contained in this collection 33.97/10.24 */ 33.97/10.24 public abstract Iterator iterator(); 33.97/10.24 33.97/10.24 public abstract int size(); 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation returns size() == 0. 33.97/10.24 */ 33.97/10.24 public boolean isEmpty() { 33.97/10.24 return size() == 0; 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation iterates over the elements in the collection, 33.97/10.24 * checking each element in turn for equality with the specified element. 33.97/10.24 * 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public boolean contains(Object o) { 33.97/10.24 Iterator e = iterator(); 33.97/10.24 if (o==null) { 33.97/10.24 while (e.hasNext()) 33.97/10.24 if (e.next()==null) 33.97/10.24 return true; 33.97/10.24 } else { 33.97/10.24 while (e.hasNext()) 33.97/10.24 if (o.equals(e.next())) 33.97/10.24 return true; 33.97/10.24 } 33.97/10.24 return false; 33.97/10.24 } 33.97/10.24 33.97/10.24 // Modification Operations 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation always throws an 33.97/10.24 * UnsupportedOperationException. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.24 * @throws IllegalStateException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public boolean add(E e) { 33.97/10.24 throw new UnsupportedOperationException(); 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation iterates over the collection looking for the 33.97/10.24 * specified element. If it finds the element, it removes the element 33.97/10.24 * from the collection using the iterator's remove method. 33.97/10.24 * 33.97/10.24 *

Note that this implementation throws an 33.97/10.24 * UnsupportedOperationException if the iterator returned by this 33.97/10.24 * collection's iterator method does not implement the remove 33.97/10.24 * method and this collection contains the specified object. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public boolean remove(Object o) { 33.97/10.24 Iterator e = iterator(); 33.97/10.24 if (o==null) { 33.97/10.24 while (e.hasNext()) { 33.97/10.24 if (e.next()==null) { 33.97/10.24 e.remove(); 33.97/10.24 return true; 33.97/10.24 } 33.97/10.24 } 33.97/10.24 } else { 33.97/10.24 while (e.hasNext()) { 33.97/10.24 if (o.equals(e.next())) { 33.97/10.24 e.remove(); 33.97/10.24 return true; 33.97/10.24 } 33.97/10.24 } 33.97/10.24 } 33.97/10.24 return false; 33.97/10.24 } 33.97/10.24 33.97/10.24 33.97/10.24 // Bulk Operations 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation iterates over the specified collection, 33.97/10.24 * checking each element returned by the iterator in turn to see 33.97/10.24 * if it's contained in this collection. If all elements are so 33.97/10.24 * contained true is returned, otherwise false. 33.97/10.24 * 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 * @see #contains(Object) 33.97/10.24 */ 33.97/10.24 public boolean containsAll(Collection c) { 33.97/10.24 Iterator e = c.iterator(); 33.97/10.24 while (e.hasNext()) 33.97/10.24 if (!contains(e.next())) 33.97/10.24 return false; 33.97/10.24 return true; 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation iterates over the specified collection, and adds 33.97/10.24 * each object returned by the iterator to this collection, in turn. 33.97/10.24 * 33.97/10.24 *

Note that this implementation will throw an 33.97/10.24 * UnsupportedOperationException unless add is 33.97/10.24 * overridden (assuming the specified collection is non-empty). 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.24 * @throws IllegalStateException {@inheritDoc} 33.97/10.24 * 33.97/10.24 * @see #add(Object) 33.97/10.24 */ 33.97/10.24 public boolean addAll(Collection c) { 33.97/10.24 boolean modified = false; 33.97/10.24 Iterator e = c.iterator(); 33.97/10.24 while (e.hasNext()) { 33.97/10.24 if (add(e.next())) 33.97/10.24 modified = true; 33.97/10.24 } 33.97/10.24 return modified; 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation iterates over this collection, checking each 33.97/10.24 * element returned by the iterator in turn to see if it's contained 33.97/10.24 * in the specified collection. If it's so contained, it's removed from 33.97/10.24 * this collection with the iterator's remove method. 33.97/10.24 * 33.97/10.24 *

Note that this implementation will throw an 33.97/10.24 * UnsupportedOperationException if the iterator returned by the 33.97/10.24 * iterator method does not implement the remove method 33.97/10.24 * and this collection contains one or more elements in common with the 33.97/10.24 * specified collection. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 * 33.97/10.24 * @see #remove(Object) 33.97/10.24 * @see #contains(Object) 33.97/10.24 */ 33.97/10.24 public boolean removeAll(Collection c) { 33.97/10.24 boolean modified = false; 33.97/10.24 Iterator e = iterator(); 33.97/10.24 while (e.hasNext()) { 33.97/10.24 if (c.contains(e.next())) { 33.97/10.24 e.remove(); 33.97/10.24 modified = true; 33.97/10.24 } 33.97/10.24 } 33.97/10.24 return modified; 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation iterates over this collection, checking each 33.97/10.24 * element returned by the iterator in turn to see if it's contained 33.97/10.24 * in the specified collection. If it's not so contained, it's removed 33.97/10.24 * from this collection with the iterator's remove method. 33.97/10.24 * 33.97/10.24 *

Note that this implementation will throw an 33.97/10.24 * UnsupportedOperationException if the iterator returned by the 33.97/10.24 * iterator method does not implement the remove method 33.97/10.24 * and this collection contains one or more elements not present in the 33.97/10.24 * specified collection. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 * 33.97/10.24 * @see #remove(Object) 33.97/10.24 * @see #contains(Object) 33.97/10.24 */ 33.97/10.24 public boolean retainAll(Collection c) { 33.97/10.24 boolean modified = false; 33.97/10.24 Iterator e = iterator(); 33.97/10.24 while (e.hasNext()) { 33.97/10.24 if (!c.contains(e.next())) { 33.97/10.24 e.remove(); 33.97/10.24 modified = true; 33.97/10.24 } 33.97/10.24 } 33.97/10.24 return modified; 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation iterates over this collection, removing each 33.97/10.24 * element using the Iterator.remove operation. Most 33.97/10.24 * implementations will probably choose to override this method for 33.97/10.24 * efficiency. 33.97/10.24 * 33.97/10.24 *

Note that this implementation will throw an 33.97/10.24 * UnsupportedOperationException if the iterator returned by this 33.97/10.24 * collection's iterator method does not implement the 33.97/10.24 * remove method and this collection is non-empty. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public void clear() { 33.97/10.24 Iterator e = iterator(); 33.97/10.24 while (e.hasNext()) { 33.97/10.24 e.next(); 33.97/10.24 e.remove(); 33.97/10.24 } 33.97/10.24 } 33.97/10.24 33.97/10.24 33.97/10.24 // String conversion 33.97/10.24 33.97/10.24 /** 33.97/10.24 * Returns a string representation of this collection. The string 33.97/10.24 * representation consists of a list of the collection's elements in the 33.97/10.24 * order they are returned by its iterator, enclosed in square brackets 33.97/10.24 * ("[]"). Adjacent elements are separated by the characters 33.97/10.24 * ", " (comma and space). Elements are converted to strings as 33.97/10.24 * by {@link String#valueOf(Object)}. 33.97/10.24 * 33.97/10.24 * @return a string representation of this collection 33.97/10.24 */ 33.97/10.24 public String toString() { 33.97/10.24 Iterator i = iterator(); 33.97/10.24 if (! i.hasNext()) 33.97/10.24 return "[]"; 33.97/10.24 33.97/10.24 String sb = ""; 33.97/10.24 sb = sb + "["; 33.97/10.24 for (;;) { 33.97/10.24 E e = i.next(); 33.97/10.24 sb = sb + (e == this ? "(this Collection)" : e); 33.97/10.24 if (! i.hasNext()) { 33.97/10.24 sb = sb + "]"; 33.97/10.24 return sb; 33.97/10.24 } 33.97/10.24 sb = sb + ", "; 33.97/10.24 } 33.97/10.24 } 33.97/10.24 33.97/10.24 } 33.97/10.24 33.97/10.24 33.97/10.24 /* 33.97/10.24 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.24 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.24 * 33.97/10.24 * This code is free software; you can redistribute it and/or modify it 33.97/10.24 * under the terms of the GNU General Public License version 2 only, as 33.97/10.24 * published by the Free Software Foundation. Sun designates this 33.97/10.24 * particular file as subject to the "Classpath" exception as provided 33.97/10.24 * by Sun in the LICENSE file that accompanied this code. 33.97/10.24 * 33.97/10.24 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.24 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.24 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.24 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.24 * accompanied this code). 33.97/10.24 * 33.97/10.24 * You should have received a copy of the GNU General Public License version 33.97/10.24 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.24 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.24 * 33.97/10.24 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.24 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.24 * have any questions. 33.97/10.24 */ 33.97/10.24 33.97/10.24 package javaUtilEx; 33.97/10.24 33.97/10.24 /** 33.97/10.24 * This class provides a skeletal implementation of the {@link List} 33.97/10.24 * interface to minimize the effort required to implement this interface 33.97/10.24 * backed by a "random access" data store (such as an array). For sequential 33.97/10.24 * access data (such as a linked list), {@link AbstractSequentialList} should 33.97/10.24 * be used in preference to this class. 33.97/10.24 * 33.97/10.24 *

To implement an unmodifiable list, the programmer needs only to extend 33.97/10.24 * this class and provide implementations for the {@link #get(int)} and 33.97/10.24 * {@link List#size() size()} methods. 33.97/10.24 * 33.97/10.24 *

To implement a modifiable list, the programmer must additionally 33.97/10.24 * override the {@link #set(int, Object) set(int, E)} method (which otherwise 33.97/10.24 * throws an {@code UnsupportedOperationException}). If the list is 33.97/10.24 * variable-size the programmer must additionally override the 33.97/10.24 * {@link #add(int, Object) add(int, E)} and {@link #remove(int)} methods. 33.97/10.24 * 33.97/10.24 *

The programmer should generally provide a void (no argument) and collection 33.97/10.24 * constructor, as per the recommendation in the {@link Collection} interface 33.97/10.24 * specification. 33.97/10.24 * 33.97/10.24 *

Unlike the other abstract collection implementations, the programmer does 33.97/10.24 * not have to provide an iterator implementation; the iterator and 33.97/10.24 * list iterator are implemented by this class, on top of the "random access" 33.97/10.24 * methods: 33.97/10.24 * {@link #get(int)}, 33.97/10.24 * {@link #set(int, Object) set(int, E)}, 33.97/10.24 * {@link #add(int, Object) add(int, E)} and 33.97/10.24 * {@link #remove(int)}. 33.97/10.24 * 33.97/10.24 *

The documentation for each non-abstract method in this class describes its 33.97/10.24 * implementation in detail. Each of these methods may be overridden if the 33.97/10.24 * collection being implemented admits a more efficient implementation. 33.97/10.24 * 33.97/10.24 *

This class is a member of the 33.97/10.24 * 33.97/10.24 * Java Collections Framework. 33.97/10.24 * 33.97/10.24 * @author Josh Bloch 33.97/10.24 * @author Neal Gafter 33.97/10.24 * @since 1.2 33.97/10.24 */ 33.97/10.24 33.97/10.24 public abstract class AbstractList extends AbstractCollection implements List { 33.97/10.24 /** 33.97/10.24 * Sole constructor. (For invocation by subclass constructors, typically 33.97/10.24 * implicit.) 33.97/10.24 */ 33.97/10.24 protected AbstractList() { 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * Appends the specified element to the end of this list (optional 33.97/10.24 * operation). 33.97/10.24 * 33.97/10.24 *

Lists that support this operation may place limitations on what 33.97/10.24 * elements may be added to this list. In particular, some 33.97/10.24 * lists will refuse to add null elements, and others will impose 33.97/10.24 * restrictions on the type of elements that may be added. List 33.97/10.24 * classes should clearly specify in their documentation any restrictions 33.97/10.24 * on what elements may be added. 33.97/10.24 * 33.97/10.24 *

This implementation calls {@code add(size(), e)}. 33.97/10.24 * 33.97/10.24 *

Note that this implementation throws an 33.97/10.24 * {@code UnsupportedOperationException} unless 33.97/10.24 * {@link #add(int, Object) add(int, E)} is overridden. 33.97/10.24 * 33.97/10.24 * @param e element to be appended to this list 33.97/10.24 * @return {@code true} (as specified by {@link Collection#add}) 33.97/10.24 * @throws UnsupportedOperationException if the {@code add} operation 33.97/10.24 * is not supported by this list 33.97/10.24 * @throws ClassCastException if the class of the specified element 33.97/10.24 * prevents it from being added to this list 33.97/10.24 * @throws NullPointerException if the specified element is null and this 33.97/10.24 * list does not permit null elements 33.97/10.24 * @throws IllegalArgumentException if some property of this element 33.97/10.24 * prevents it from being added to this list 33.97/10.24 */ 33.97/10.24 public boolean add(E e) { 33.97/10.24 add(size(), e); 33.97/10.24 return true; 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 abstract public E get(int index); 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation always throws an 33.97/10.24 * {@code UnsupportedOperationException}. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.24 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public E set(int index, E element) { 33.97/10.24 throw new UnsupportedOperationException(); 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation always throws an 33.97/10.24 * {@code UnsupportedOperationException}. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.24 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public void add(int index, E element) { 33.97/10.24 throw new UnsupportedOperationException(); 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation always throws an 33.97/10.24 * {@code UnsupportedOperationException}. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.24 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public E remove(int index) { 33.97/10.24 throw new UnsupportedOperationException(); 33.97/10.24 } 33.97/10.24 33.97/10.24 33.97/10.24 // Search Operations 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation first gets a list iterator (with 33.97/10.24 * {@code listIterator()}). Then, it iterates over the list until the 33.97/10.24 * specified element is found or the end of the list is reached. 33.97/10.24 * 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public int indexOf(Object o) { 33.97/10.24 ListIterator e = listIterator(); 33.97/10.24 if (o==null) { 33.97/10.24 while (e.hasNext()) 33.97/10.24 if (e.next()==null) 33.97/10.24 return e.previousIndex(); 33.97/10.24 } else { 33.97/10.24 while (e.hasNext()) 33.97/10.24 if (o.equals(e.next())) 33.97/10.24 return e.previousIndex(); 33.97/10.24 } 33.97/10.24 return -1; 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation first gets a list iterator that points to the end 33.97/10.24 * of the list (with {@code listIterator(size())}). Then, it iterates 33.97/10.24 * backwards over the list until the specified element is found, or the 33.97/10.24 * beginning of the list is reached. 33.97/10.24 * 33.97/10.24 * @throws ClassCastException {@inheritDoc} 33.97/10.24 * @throws NullPointerException {@inheritDoc} 33.97/10.24 */ 33.97/10.24 public int lastIndexOf(Object o) { 33.97/10.24 ListIterator e = listIterator(size()); 33.97/10.24 if (o==null) { 33.97/10.24 while (e.hasPrevious()) 33.97/10.24 if (e.previous()==null) 33.97/10.24 return e.nextIndex(); 33.97/10.24 } else { 33.97/10.24 while (e.hasPrevious()) 33.97/10.24 if (o.equals(e.previous())) 33.97/10.24 return e.nextIndex(); 33.97/10.24 } 33.97/10.24 return -1; 33.97/10.24 } 33.97/10.24 33.97/10.24 33.97/10.24 // Bulk Operations 33.97/10.24 33.97/10.24 /** 33.97/10.24 * Removes all of the elements from this list (optional operation). 33.97/10.24 * The list will be empty after this call returns. 33.97/10.24 * 33.97/10.24 *

This implementation calls {@code removeRange(0, size())}. 33.97/10.24 * 33.97/10.24 *

Note that this implementation throws an 33.97/10.24 * {@code UnsupportedOperationException} unless {@code remove(int 33.97/10.24 * index)} or {@code removeRange(int fromIndex, int toIndex)} is 33.97/10.24 * overridden. 33.97/10.24 * 33.97/10.24 * @throws UnsupportedOperationException if the {@code clear} operation 33.97/10.24 * is not supported by this list 33.97/10.24 */ 33.97/10.24 public void clear() { 33.97/10.24 removeRange(0, size()); 33.97/10.24 } 33.97/10.24 33.97/10.24 /** 33.97/10.24 * {@inheritDoc} 33.97/10.24 * 33.97/10.24 *

This implementation gets an iterator over the specified collection 33.97/10.24 * and iterates over it, inserting the elements obtained from the 33.97/10.24 * iterator into this list at the appropriate position, one at a time, 33.97/10.25 * using {@code add(int, E)}. 33.97/10.25 * Many implementations will override this method for efficiency. 33.97/10.25 * 33.97/10.25 *

Note that this implementation throws an 33.97/10.25 * {@code UnsupportedOperationException} unless 33.97/10.25 * {@link #add(int, Object) add(int, E)} is overridden. 33.97/10.25 * 33.97/10.25 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.25 * @throws ClassCastException {@inheritDoc} 33.97/10.25 * @throws NullPointerException {@inheritDoc} 33.97/10.25 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public boolean addAll(int index, Collection c) { 33.97/10.25 rangeCheckForAdd(index); 33.97/10.25 boolean modified = false; 33.97/10.25 Iterator e = c.iterator(); 33.97/10.25 while (e.hasNext()) { 33.97/10.25 add(index++, e.next()); 33.97/10.25 modified = true; 33.97/10.25 } 33.97/10.25 return modified; 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 // Iterators 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns an iterator over the elements in this list in proper sequence. 33.97/10.25 * 33.97/10.25 *

This implementation returns a straightforward implementation of the 33.97/10.25 * iterator interface, relying on the backing list's {@code size()}, 33.97/10.25 * {@code get(int)}, and {@code remove(int)} methods. 33.97/10.25 * 33.97/10.25 *

Note that the iterator returned by this method will throw an 33.97/10.25 * {@link UnsupportedOperationException} in response to its 33.97/10.25 * {@code remove} method unless the list's {@code remove(int)} method is 33.97/10.25 * overridden. 33.97/10.25 * 33.97/10.25 *

This implementation can be made to throw runtime exceptions in the 33.97/10.25 * face of concurrent modification, as described in the specification 33.97/10.25 * for the (protected) {@link #modCount} field. 33.97/10.25 * 33.97/10.25 * @return an iterator over the elements in this list in proper sequence 33.97/10.25 */ 33.97/10.25 public Iterator iterator() { 33.97/10.25 return new Itr(); 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * {@inheritDoc} 33.97/10.25 * 33.97/10.25 *

This implementation returns {@code listIterator(0)}. 33.97/10.25 * 33.97/10.25 * @see #listIterator(int) 33.97/10.25 */ 33.97/10.25 public ListIterator listIterator() { 33.97/10.25 return listIterator(0); 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * {@inheritDoc} 33.97/10.25 * 33.97/10.25 *

This implementation returns a straightforward implementation of the 33.97/10.25 * {@code ListIterator} interface that extends the implementation of the 33.97/10.25 * {@code Iterator} interface returned by the {@code iterator()} method. 33.97/10.25 * The {@code ListIterator} implementation relies on the backing list's 33.97/10.25 * {@code get(int)}, {@code set(int, E)}, {@code add(int, E)} 33.97/10.25 * and {@code remove(int)} methods. 33.97/10.25 * 33.97/10.25 *

Note that the list iterator returned by this implementation will 33.97/10.25 * throw an {@link UnsupportedOperationException} in response to its 33.97/10.25 * {@code remove}, {@code set} and {@code add} methods unless the 33.97/10.25 * list's {@code remove(int)}, {@code set(int, E)}, and 33.97/10.25 * {@code add(int, E)} methods are overridden. 33.97/10.25 * 33.97/10.25 *

This implementation can be made to throw runtime exceptions in the 33.97/10.25 * face of concurrent modification, as described in the specification for 33.97/10.25 * the (protected) {@link #modCount} field. 33.97/10.25 * 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public ListIterator listIterator(final int index) { 33.97/10.25 rangeCheckForAdd(index); 33.97/10.25 33.97/10.25 return new ListItr(index); 33.97/10.25 } 33.97/10.25 33.97/10.25 private class Itr implements Iterator { 33.97/10.25 /** 33.97/10.25 * Index of element to be returned by subsequent call to next. 33.97/10.25 */ 33.97/10.25 int cursor = 0; 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Index of element returned by most recent call to next or 33.97/10.25 * previous. Reset to -1 if this element is deleted by a call 33.97/10.25 * to remove. 33.97/10.25 */ 33.97/10.25 int lastRet = -1; 33.97/10.25 33.97/10.25 /** 33.97/10.25 * The modCount value that the iterator believes that the backing 33.97/10.25 * List should have. If this expectation is violated, the iterator 33.97/10.25 * has detected concurrent modification. 33.97/10.25 */ 33.97/10.25 int expectedModCount = modCount; 33.97/10.25 33.97/10.25 public boolean hasNext() { 33.97/10.25 return cursor != size(); 33.97/10.25 } 33.97/10.25 33.97/10.25 public E next() { 33.97/10.25 checkForComodification(); 33.97/10.25 try { 33.97/10.25 int i = cursor; 33.97/10.25 E next = get(i); 33.97/10.25 lastRet = i; 33.97/10.25 cursor = i + 1; 33.97/10.25 return next; 33.97/10.25 } catch (IndexOutOfBoundsException e) { 33.97/10.25 checkForComodification(); 33.97/10.25 throw new NoSuchElementException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 public void remove() { 33.97/10.25 if (lastRet < 0) 33.97/10.25 throw new IllegalStateException(); 33.97/10.25 checkForComodification(); 33.97/10.25 33.97/10.25 try { 33.97/10.25 AbstractList.this.remove(lastRet); 33.97/10.25 if (lastRet < cursor) 33.97/10.25 cursor--; 33.97/10.25 lastRet = -1; 33.97/10.25 expectedModCount = modCount; 33.97/10.25 } catch (IndexOutOfBoundsException e) { 33.97/10.25 throw new ConcurrentModificationException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 final void checkForComodification() { 33.97/10.25 if (modCount != expectedModCount) 33.97/10.25 throw new ConcurrentModificationException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 private class ListItr extends Itr implements ListIterator { 33.97/10.25 ListItr(int index) { 33.97/10.25 cursor = index; 33.97/10.25 } 33.97/10.25 33.97/10.25 public boolean hasPrevious() { 33.97/10.25 return cursor != 0; 33.97/10.25 } 33.97/10.25 33.97/10.25 public E previous() { 33.97/10.25 checkForComodification(); 33.97/10.25 try { 33.97/10.25 int i = cursor - 1; 33.97/10.25 E previous = get(i); 33.97/10.25 lastRet = cursor = i; 33.97/10.25 return previous; 33.97/10.25 } catch (IndexOutOfBoundsException e) { 33.97/10.25 checkForComodification(); 33.97/10.25 throw new NoSuchElementException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 public int nextIndex() { 33.97/10.25 return cursor; 33.97/10.25 } 33.97/10.25 33.97/10.25 public int previousIndex() { 33.97/10.25 return cursor-1; 33.97/10.25 } 33.97/10.25 33.97/10.25 public void set(E e) { 33.97/10.25 if (lastRet < 0) 33.97/10.25 throw new IllegalStateException(); 33.97/10.25 checkForComodification(); 33.97/10.25 33.97/10.25 try { 33.97/10.25 AbstractList.this.set(lastRet, e); 33.97/10.25 expectedModCount = modCount; 33.97/10.25 } catch (IndexOutOfBoundsException ex) { 33.97/10.25 throw new ConcurrentModificationException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 public void add(E e) { 33.97/10.25 checkForComodification(); 33.97/10.25 33.97/10.25 try { 33.97/10.25 int i = cursor; 33.97/10.25 AbstractList.this.add(i, e); 33.97/10.25 lastRet = -1; 33.97/10.25 cursor = i + 1; 33.97/10.25 expectedModCount = modCount; 33.97/10.25 } catch (IndexOutOfBoundsException ex) { 33.97/10.25 throw new ConcurrentModificationException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * {@inheritDoc} 33.97/10.25 * 33.97/10.25 *

This implementation returns a list that subclasses 33.97/10.25 * {@code AbstractList}. The subclass stores, in private fields, the 33.97/10.25 * offset of the subList within the backing list, the size of the subList 33.97/10.25 * (which can change over its lifetime), and the expected 33.97/10.25 * {@code modCount} value of the backing list. There are two variants 33.97/10.25 * of the subclass, one of which implements {@code RandomAccess}. 33.97/10.25 * If this list implements {@code RandomAccess} the returned list will 33.97/10.25 * be an instance of the subclass that implements {@code RandomAccess}. 33.97/10.25 * 33.97/10.25 *

The subclass's {@code set(int, E)}, {@code get(int)}, 33.97/10.25 * {@code add(int, E)}, {@code remove(int)}, {@code addAll(int, 33.97/10.25 * Collection)} and {@code removeRange(int, int)} methods all 33.97/10.25 * delegate to the corresponding methods on the backing abstract list, 33.97/10.25 * after bounds-checking the index and adjusting for the offset. The 33.97/10.25 * {@code addAll(Collection c)} method merely returns {@code addAll(size, 33.97/10.25 * c)}. 33.97/10.25 * 33.97/10.25 *

The {@code listIterator(int)} method returns a "wrapper object" 33.97/10.25 * over a list iterator on the backing list, which is created with the 33.97/10.25 * corresponding method on the backing list. The {@code iterator} method 33.97/10.25 * merely returns {@code listIterator()}, and the {@code size} method 33.97/10.25 * merely returns the subclass's {@code size} field. 33.97/10.25 * 33.97/10.25 *

All methods first check to see if the actual {@code modCount} of 33.97/10.25 * the backing list is equal to its expected value, and throw a 33.97/10.25 * {@code ConcurrentModificationException} if it is not. 33.97/10.25 * 33.97/10.25 * @throws IndexOutOfBoundsException if an endpoint index value is out of range 33.97/10.25 * {@code (fromIndex < 0 || toIndex > size)} 33.97/10.25 * @throws IllegalArgumentException if the endpoint indices are out of order 33.97/10.25 * {@code (fromIndex > toIndex)} 33.97/10.25 */ 33.97/10.25 public List subList(int fromIndex, int toIndex) { 33.97/10.25 return (this instanceof RandomAccess ? 33.97/10.25 new RandomAccessSubList(this, fromIndex, toIndex) : 33.97/10.25 new SubList(this, fromIndex, toIndex)); 33.97/10.25 } 33.97/10.25 33.97/10.25 // Comparison and hashing 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Compares the specified object with this list for equality. Returns 33.97/10.25 * {@code true} if and only if the specified object is also a list, both 33.97/10.25 * lists have the same size, and all corresponding pairs of elements in 33.97/10.25 * the two lists are equal. (Two elements {@code e1} and 33.97/10.25 * {@code e2} are equal if {@code (e1==null ? e2==null : 33.97/10.25 * e1.equals(e2))}.) In other words, two lists are defined to be 33.97/10.25 * equal if they contain the same elements in the same order.

33.97/10.25 * 33.97/10.25 * This implementation first checks if the specified object is this 33.97/10.25 * list. If so, it returns {@code true}; if not, it checks if the 33.97/10.25 * specified object is a list. If not, it returns {@code false}; if so, 33.97/10.25 * it iterates over both lists, comparing corresponding pairs of elements. 33.97/10.25 * If any comparison returns {@code false}, this method returns 33.97/10.25 * {@code false}. If either iterator runs out of elements before the 33.97/10.25 * other it returns {@code false} (as the lists are of unequal length); 33.97/10.25 * otherwise it returns {@code true} when the iterations complete. 33.97/10.25 * 33.97/10.25 * @param o the object to be compared for equality with this list 33.97/10.25 * @return {@code true} if the specified object is equal to this list 33.97/10.25 */ 33.97/10.25 public boolean equals(Object o) { 33.97/10.25 if (o == this) 33.97/10.25 return true; 33.97/10.25 if (!(o instanceof List)) 33.97/10.25 return false; 33.97/10.25 33.97/10.25 ListIterator e1 = listIterator(); 33.97/10.25 ListIterator e2 = ((List) o).listIterator(); 33.97/10.25 while(e1.hasNext() && e2.hasNext()) { 33.97/10.25 E o1 = e1.next(); 33.97/10.25 Object o2 = e2.next(); 33.97/10.25 if (!(o1==null ? o2==null : o1.equals(o2))) 33.97/10.25 return false; 33.97/10.25 } 33.97/10.25 return !(e1.hasNext() || e2.hasNext()); 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns the hash code value for this list. 33.97/10.25 * 33.97/10.25 *

This implementation uses exactly the code that is used to define the 33.97/10.25 * list hash function in the documentation for the {@link List#hashCode} 33.97/10.25 * method. 33.97/10.25 * 33.97/10.25 * @return the hash code value for this list 33.97/10.25 */ 33.97/10.25 public int hashCode() { 33.97/10.25 int hashCode = 1; 33.97/10.25 Iterator it = this.iterator(); 33.97/10.25 while (it.hasNext()) { 33.97/10.25 E e = it.next(); 33.97/10.25 hashCode = 31*hashCode + (e==null ? 0 : e.hashCode()); 33.97/10.25 } 33.97/10.25 return hashCode; 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes from this list all of the elements whose index is between 33.97/10.25 * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive. 33.97/10.25 * Shifts any succeeding elements to the left (reduces their index). 33.97/10.25 * This call shortens the list by {@code (toIndex - fromIndex)} elements. 33.97/10.25 * (If {@code toIndex==fromIndex}, this operation has no effect.) 33.97/10.25 * 33.97/10.25 *

This method is called by the {@code clear} operation on this list 33.97/10.25 * and its subLists. Overriding this method to take advantage of 33.97/10.25 * the internals of the list implementation can substantially 33.97/10.25 * improve the performance of the {@code clear} operation on this list 33.97/10.25 * and its subLists. 33.97/10.25 * 33.97/10.25 *

This implementation gets a list iterator positioned before 33.97/10.25 * {@code fromIndex}, and repeatedly calls {@code ListIterator.next} 33.97/10.25 * followed by {@code ListIterator.remove} until the entire range has 33.97/10.25 * been removed. Note: if {@code ListIterator.remove} requires linear 33.97/10.25 * time, this implementation requires quadratic time. 33.97/10.25 * 33.97/10.25 * @param fromIndex index of first element to be removed 33.97/10.25 * @param toIndex index after last element to be removed 33.97/10.25 */ 33.97/10.25 protected void removeRange(int fromIndex, int toIndex) { 33.97/10.25 ListIterator it = listIterator(fromIndex); 33.97/10.25 for (int i=0, n=toIndex-fromIndex; istructurally modified. 33.97/10.25 * Structural modifications are those that change the size of the 33.97/10.25 * list, or otherwise perturb it in such a fashion that iterations in 33.97/10.25 * progress may yield incorrect results. 33.97/10.25 * 33.97/10.25 *

This field is used by the iterator and list iterator implementation 33.97/10.25 * returned by the {@code iterator} and {@code listIterator} methods. 33.97/10.25 * If the value of this field changes unexpectedly, the iterator (or list 33.97/10.25 * iterator) will throw a {@code ConcurrentModificationException} in 33.97/10.25 * response to the {@code next}, {@code remove}, {@code previous}, 33.97/10.25 * {@code set} or {@code add} operations. This provides 33.97/10.25 * fail-fast behavior, rather than non-deterministic behavior in 33.97/10.25 * the face of concurrent modification during iteration. 33.97/10.25 * 33.97/10.25 *

Use of this field by subclasses is optional. If a subclass 33.97/10.25 * wishes to provide fail-fast iterators (and list iterators), then it 33.97/10.25 * merely has to increment this field in its {@code add(int, E)} and 33.97/10.25 * {@code remove(int)} methods (and any other methods that it overrides 33.97/10.25 * that result in structural modifications to the list). A single call to 33.97/10.25 * {@code add(int, E)} or {@code remove(int)} must add no more than 33.97/10.25 * one to this field, or the iterators (and list iterators) will throw 33.97/10.25 * bogus {@code ConcurrentModificationExceptions}. If an implementation 33.97/10.25 * does not wish to provide fail-fast iterators, this field may be 33.97/10.25 * ignored. 33.97/10.25 */ 33.97/10.25 protected transient int modCount = 0; 33.97/10.25 33.97/10.25 private void rangeCheckForAdd(int index) { 33.97/10.25 if (index < 0 || index > size()) 33.97/10.25 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 33.97/10.25 } 33.97/10.25 33.97/10.25 private String outOfBoundsMsg(int index) { 33.97/10.25 return ""; 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 class SubList extends AbstractList { 33.97/10.25 private final AbstractList l; 33.97/10.25 private final int offset; 33.97/10.25 private int size; 33.97/10.25 33.97/10.25 SubList(AbstractList list, int fromIndex, int toIndex) { 33.97/10.25 if (fromIndex < 0) 33.97/10.25 throw new IndexOutOfBoundsException(); 33.97/10.25 if (toIndex > list.size()) 33.97/10.25 throw new IndexOutOfBoundsException(); 33.97/10.25 if (fromIndex > toIndex) 33.97/10.25 throw new IllegalArgumentException(); 33.97/10.25 l = list; 33.97/10.25 offset = fromIndex; 33.97/10.25 size = toIndex - fromIndex; 33.97/10.25 this.modCount = l.modCount; 33.97/10.25 } 33.97/10.25 33.97/10.25 public E set(int index, E element) { 33.97/10.25 rangeCheck(index); 33.97/10.25 checkForComodification(); 33.97/10.25 return l.set(index+offset, element); 33.97/10.25 } 33.97/10.25 33.97/10.25 public E get(int index) { 33.97/10.25 rangeCheck(index); 33.97/10.25 checkForComodification(); 33.97/10.25 return l.get(index+offset); 33.97/10.25 } 33.97/10.25 33.97/10.25 public int size() { 33.97/10.25 checkForComodification(); 33.97/10.25 return size; 33.97/10.25 } 33.97/10.25 33.97/10.25 public void add(int index, E element) { 33.97/10.25 rangeCheckForAdd(index); 33.97/10.25 checkForComodification(); 33.97/10.25 l.add(index+offset, element); 33.97/10.25 this.modCount = l.modCount; 33.97/10.25 size++; 33.97/10.25 } 33.97/10.25 33.97/10.25 public E remove(int index) { 33.97/10.25 rangeCheck(index); 33.97/10.25 checkForComodification(); 33.97/10.25 E result = l.remove(index+offset); 33.97/10.25 this.modCount = l.modCount; 33.97/10.25 size--; 33.97/10.25 return result; 33.97/10.25 } 33.97/10.25 33.97/10.25 protected void removeRange(int fromIndex, int toIndex) { 33.97/10.25 checkForComodification(); 33.97/10.25 l.removeRange(fromIndex+offset, toIndex+offset); 33.97/10.25 this.modCount = l.modCount; 33.97/10.25 size -= (toIndex-fromIndex); 33.97/10.25 } 33.97/10.25 33.97/10.25 public boolean addAll(Collection c) { 33.97/10.25 return addAll(size, c); 33.97/10.25 } 33.97/10.25 33.97/10.25 public boolean addAll(int index, Collection c) { 33.97/10.25 rangeCheckForAdd(index); 33.97/10.25 int cSize = c.size(); 33.97/10.25 if (cSize==0) 33.97/10.25 return false; 33.97/10.25 33.97/10.25 checkForComodification(); 33.97/10.25 l.addAll(offset+index, c); 33.97/10.25 this.modCount = l.modCount; 33.97/10.25 size += cSize; 33.97/10.25 return true; 33.97/10.25 } 33.97/10.25 33.97/10.25 public Iterator iterator() { 33.97/10.25 return listIterator(); 33.97/10.25 } 33.97/10.25 33.97/10.25 public ListIterator listIterator(final int index) { 33.97/10.25 checkForComodification(); 33.97/10.25 rangeCheckForAdd(index); 33.97/10.25 33.97/10.25 return new ListIterator() { 33.97/10.25 private final ListIterator i = l.listIterator(index+offset); 33.97/10.25 33.97/10.25 public boolean hasNext() { 33.97/10.25 return nextIndex() < size; 33.97/10.25 } 33.97/10.25 33.97/10.25 public E next() { 33.97/10.25 if (hasNext()) 33.97/10.25 return i.next(); 33.97/10.25 else 33.97/10.25 throw new NoSuchElementException(); 33.97/10.25 } 33.97/10.25 33.97/10.25 public boolean hasPrevious() { 33.97/10.25 return previousIndex() >= 0; 33.97/10.25 } 33.97/10.25 33.97/10.25 public E previous() { 33.97/10.25 if (hasPrevious()) 33.97/10.25 return i.previous(); 33.97/10.25 else 33.97/10.25 throw new NoSuchElementException(); 33.97/10.25 } 33.97/10.25 33.97/10.25 public int nextIndex() { 33.97/10.25 return i.nextIndex() - offset; 33.97/10.25 } 33.97/10.25 33.97/10.25 public int previousIndex() { 33.97/10.25 return i.previousIndex() - offset; 33.97/10.25 } 33.97/10.25 33.97/10.25 public void remove() { 33.97/10.25 i.remove(); 33.97/10.25 SubList.this.modCount = l.modCount; 33.97/10.25 size--; 33.97/10.25 } 33.97/10.25 33.97/10.25 public void set(E e) { 33.97/10.25 i.set(e); 33.97/10.25 } 33.97/10.25 33.97/10.25 public void add(E e) { 33.97/10.25 i.add(e); 33.97/10.25 SubList.this.modCount = l.modCount; 33.97/10.25 size++; 33.97/10.25 } 33.97/10.25 }; 33.97/10.25 } 33.97/10.25 33.97/10.25 public List subList(int fromIndex, int toIndex) { 33.97/10.25 return new SubList(this, fromIndex, toIndex); 33.97/10.25 } 33.97/10.25 33.97/10.25 private void rangeCheck(int index) { 33.97/10.25 if (index < 0 || index >= size) 33.97/10.25 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 33.97/10.25 } 33.97/10.25 33.97/10.25 private void rangeCheckForAdd(int index) { 33.97/10.25 if (index < 0 || index > size) 33.97/10.25 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 33.97/10.25 } 33.97/10.25 33.97/10.25 private String outOfBoundsMsg(int index) { 33.97/10.25 return ""; 33.97/10.25 } 33.97/10.25 33.97/10.25 private void checkForComodification() { 33.97/10.25 if (this.modCount != l.modCount) 33.97/10.25 throw new ConcurrentModificationException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 class RandomAccessSubList extends SubList implements RandomAccess { 33.97/10.25 RandomAccessSubList(AbstractList list, int fromIndex, int toIndex) { 33.97/10.25 super(list, fromIndex, toIndex); 33.97/10.25 } 33.97/10.25 33.97/10.25 public List subList(int fromIndex, int toIndex) { 33.97/10.25 return new RandomAccessSubList(this, fromIndex, toIndex); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 /* 33.97/10.25 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.25 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.25 * 33.97/10.25 * This code is free software; you can redistribute it and/or modify it 33.97/10.25 * under the terms of the GNU General Public License version 2 only, as 33.97/10.25 * published by the Free Software Foundation. Sun designates this 33.97/10.25 * particular file as subject to the "Classpath" exception as provided 33.97/10.25 * by Sun in the LICENSE file that accompanied this code. 33.97/10.25 * 33.97/10.25 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.25 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.25 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.25 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.25 * accompanied this code). 33.97/10.25 * 33.97/10.25 * You should have received a copy of the GNU General Public License version 33.97/10.25 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.25 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.25 * 33.97/10.25 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.25 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.25 * have any questions. 33.97/10.25 */ 33.97/10.25 33.97/10.25 package javaUtilEx; 33.97/10.25 33.97/10.25 /** 33.97/10.25 * This class provides a skeletal implementation of the List 33.97/10.25 * interface to minimize the effort required to implement this interface 33.97/10.25 * backed by a "sequential access" data store (such as a linked list). For 33.97/10.25 * random access data (such as an array), AbstractList should be used 33.97/10.25 * in preference to this class.

33.97/10.25 * 33.97/10.25 * This class is the opposite of the AbstractList class in the sense 33.97/10.25 * that it implements the "random access" methods (get(int index), 33.97/10.25 * set(int index, E element), add(int index, E element) and 33.97/10.25 * remove(int index)) on top of the list's list iterator, instead of 33.97/10.25 * the other way around.

33.97/10.25 * 33.97/10.25 * To implement a list the programmer needs only to extend this class and 33.97/10.25 * provide implementations for the listIterator and size 33.97/10.25 * methods. For an unmodifiable list, the programmer need only implement the 33.97/10.25 * list iterator's hasNext, next, hasPrevious, 33.97/10.25 * previous and index methods.

33.97/10.25 * 33.97/10.25 * For a modifiable list the programmer should additionally implement the list 33.97/10.25 * iterator's set method. For a variable-size list the programmer 33.97/10.25 * should additionally implement the list iterator's remove and 33.97/10.25 * add methods.

33.97/10.25 * 33.97/10.25 * The programmer should generally provide a void (no argument) and collection 33.97/10.25 * constructor, as per the recommendation in the Collection interface 33.97/10.25 * specification.

33.97/10.25 * 33.97/10.25 * This class is a member of the 33.97/10.25 * 33.97/10.25 * Java Collections Framework. 33.97/10.25 * 33.97/10.25 * @author Josh Bloch 33.97/10.25 * @author Neal Gafter 33.97/10.25 * @see Collection 33.97/10.25 * @see List 33.97/10.25 * @see AbstractList 33.97/10.25 * @see AbstractCollection 33.97/10.25 * @since 1.2 33.97/10.25 */ 33.97/10.25 33.97/10.25 public abstract class AbstractSequentialList extends AbstractList { 33.97/10.25 /** 33.97/10.25 * Sole constructor. (For invocation by subclass constructors, typically 33.97/10.25 * implicit.) 33.97/10.25 */ 33.97/10.25 protected AbstractSequentialList() { 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns the element at the specified position in this list. 33.97/10.25 * 33.97/10.25 *

This implementation first gets a list iterator pointing to the 33.97/10.25 * indexed element (with listIterator(index)). Then, it gets 33.97/10.25 * the element using ListIterator.next and returns it. 33.97/10.25 * 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public E get(int index) { 33.97/10.25 try { 33.97/10.25 return listIterator(index).next(); 33.97/10.25 } catch (NoSuchElementException exc) { 33.97/10.25 throw new IndexOutOfBoundsException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Replaces the element at the specified position in this list with the 33.97/10.25 * specified element (optional operation). 33.97/10.25 * 33.97/10.25 *

This implementation first gets a list iterator pointing to the 33.97/10.25 * indexed element (with listIterator(index)). Then, it gets 33.97/10.25 * the current element using ListIterator.next and replaces it 33.97/10.25 * with ListIterator.set. 33.97/10.25 * 33.97/10.25 *

Note that this implementation will throw an 33.97/10.25 * UnsupportedOperationException if the list iterator does not 33.97/10.25 * implement the set operation. 33.97/10.25 * 33.97/10.25 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.25 * @throws ClassCastException {@inheritDoc} 33.97/10.25 * @throws NullPointerException {@inheritDoc} 33.97/10.25 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public E set(int index, E element) { 33.97/10.25 try { 33.97/10.25 ListIterator e = listIterator(index); 33.97/10.25 E oldVal = e.next(); 33.97/10.25 e.set(element); 33.97/10.25 return oldVal; 33.97/10.25 } catch (NoSuchElementException exc) { 33.97/10.25 throw new IndexOutOfBoundsException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Inserts the specified element at the specified position in this list 33.97/10.25 * (optional operation). Shifts the element currently at that position 33.97/10.25 * (if any) and any subsequent elements to the right (adds one to their 33.97/10.25 * indices). 33.97/10.25 * 33.97/10.25 *

This implementation first gets a list iterator pointing to the 33.97/10.25 * indexed element (with listIterator(index)). Then, it 33.97/10.25 * inserts the specified element with ListIterator.add. 33.97/10.25 * 33.97/10.25 *

Note that this implementation will throw an 33.97/10.25 * UnsupportedOperationException if the list iterator does not 33.97/10.25 * implement the add operation. 33.97/10.25 * 33.97/10.25 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.25 * @throws ClassCastException {@inheritDoc} 33.97/10.25 * @throws NullPointerException {@inheritDoc} 33.97/10.25 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public void add(int index, E element) { 33.97/10.25 try { 33.97/10.25 listIterator(index).add(element); 33.97/10.25 } catch (NoSuchElementException exc) { 33.97/10.25 throw new IndexOutOfBoundsException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes the element at the specified position in this list (optional 33.97/10.25 * operation). Shifts any subsequent elements to the left (subtracts one 33.97/10.25 * from their indices). Returns the element that was removed from the 33.97/10.25 * list. 33.97/10.25 * 33.97/10.25 *

This implementation first gets a list iterator pointing to the 33.97/10.25 * indexed element (with listIterator(index)). Then, it removes 33.97/10.25 * the element with ListIterator.remove. 33.97/10.25 * 33.97/10.25 *

Note that this implementation will throw an 33.97/10.25 * UnsupportedOperationException if the list iterator does not 33.97/10.25 * implement the remove operation. 33.97/10.25 * 33.97/10.25 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public E remove(int index) { 33.97/10.25 try { 33.97/10.25 ListIterator e = listIterator(index); 33.97/10.25 E outCast = e.next(); 33.97/10.25 e.remove(); 33.97/10.25 return outCast; 33.97/10.25 } catch (NoSuchElementException exc) { 33.97/10.25 throw new IndexOutOfBoundsException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 // Bulk Operations 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Inserts all of the elements in the specified collection into this 33.97/10.25 * list at the specified position (optional operation). Shifts the 33.97/10.25 * element currently at that position (if any) and any subsequent 33.97/10.25 * elements to the right (increases their indices). The new elements 33.97/10.25 * will appear in this list in the order that they are returned by the 33.97/10.25 * specified collection's iterator. The behavior of this operation is 33.97/10.25 * undefined if the specified collection is modified while the 33.97/10.25 * operation is in progress. (Note that this will occur if the specified 33.97/10.25 * collection is this list, and it's nonempty.) 33.97/10.25 * 33.97/10.25 *

This implementation gets an iterator over the specified collection and 33.97/10.25 * a list iterator over this list pointing to the indexed element (with 33.97/10.25 * listIterator(index)). Then, it iterates over the specified 33.97/10.25 * collection, inserting the elements obtained from the iterator into this 33.97/10.25 * list, one at a time, using ListIterator.add followed by 33.97/10.25 * ListIterator.next (to skip over the added element). 33.97/10.25 * 33.97/10.25 *

Note that this implementation will throw an 33.97/10.25 * UnsupportedOperationException if the list iterator returned by 33.97/10.25 * the listIterator method does not implement the add 33.97/10.25 * operation. 33.97/10.25 * 33.97/10.25 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.25 * @throws ClassCastException {@inheritDoc} 33.97/10.25 * @throws NullPointerException {@inheritDoc} 33.97/10.25 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public boolean addAll(int index, Collection c) { 33.97/10.25 try { 33.97/10.25 boolean modified = false; 33.97/10.25 ListIterator e1 = listIterator(index); 33.97/10.25 Iterator e2 = c.iterator(); 33.97/10.25 while (e2.hasNext()) { 33.97/10.25 e1.add(e2.next()); 33.97/10.25 modified = true; 33.97/10.25 } 33.97/10.25 return modified; 33.97/10.25 } catch (NoSuchElementException exc) { 33.97/10.25 throw new IndexOutOfBoundsException(); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 // Iterators 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns an iterator over the elements in this list (in proper 33.97/10.25 * sequence).

33.97/10.25 * 33.97/10.25 * This implementation merely returns a list iterator over the list. 33.97/10.25 * 33.97/10.25 * @return an iterator over the elements in this list (in proper sequence) 33.97/10.25 */ 33.97/10.25 public Iterator iterator() { 33.97/10.25 return listIterator(); 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns a list iterator over the elements in this list (in proper 33.97/10.25 * sequence). 33.97/10.25 * 33.97/10.25 * @param index index of first element to be returned from the list 33.97/10.25 * iterator (by a call to the next method) 33.97/10.25 * @return a list iterator over the elements in this list (in proper 33.97/10.25 * sequence) 33.97/10.25 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.25 */ 33.97/10.25 public abstract ListIterator listIterator(int index); 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 /* 33.97/10.25 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.25 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.25 * 33.97/10.25 * This code is free software; you can redistribute it and/or modify it 33.97/10.25 * under the terms of the GNU General Public License version 2 only, as 33.97/10.25 * published by the Free Software Foundation. Sun designates this 33.97/10.25 * particular file as subject to the "Classpath" exception as provided 33.97/10.25 * by Sun in the LICENSE file that accompanied this code. 33.97/10.25 * 33.97/10.25 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.25 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.25 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.25 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.25 * accompanied this code). 33.97/10.25 * 33.97/10.25 * You should have received a copy of the GNU General Public License version 33.97/10.25 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.25 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.25 * 33.97/10.25 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.25 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.25 * have any questions. 33.97/10.25 */ 33.97/10.25 33.97/10.25 package javaUtilEx; 33.97/10.25 33.97/10.25 /** 33.97/10.25 * The root interface in the collection hierarchy. A collection 33.97/10.25 * represents a group of objects, known as its elements. Some 33.97/10.25 * collections allow duplicate elements and others do not. Some are ordered 33.97/10.25 * and others unordered. The JDK does not provide any direct 33.97/10.25 * implementations of this interface: it provides implementations of more 33.97/10.25 * specific subinterfaces like Set and List. This interface 33.97/10.25 * is typically used to pass collections around and manipulate them where 33.97/10.25 * maximum generality is desired. 33.97/10.25 * 33.97/10.25 *

Bags or multisets (unordered collections that may contain 33.97/10.25 * duplicate elements) should implement this interface directly. 33.97/10.25 * 33.97/10.25 *

All general-purpose Collection implementation classes (which 33.97/10.25 * typically implement Collection indirectly through one of its 33.97/10.25 * subinterfaces) should provide two "standard" constructors: a void (no 33.97/10.25 * arguments) constructor, which creates an empty collection, and a 33.97/10.25 * constructor with a single argument of type Collection, which 33.97/10.25 * creates a new collection with the same elements as its argument. In 33.97/10.25 * effect, the latter constructor allows the user to copy any collection, 33.97/10.25 * producing an equivalent collection of the desired implementation type. 33.97/10.25 * There is no way to enforce this convention (as interfaces cannot contain 33.97/10.25 * constructors) but all of the general-purpose Collection 33.97/10.25 * implementations in the Java platform libraries comply. 33.97/10.25 * 33.97/10.25 *

The "destructive" methods contained in this interface, that is, the 33.97/10.25 * methods that modify the collection on which they operate, are specified to 33.97/10.25 * throw UnsupportedOperationException if this collection does not 33.97/10.25 * support the operation. If this is the case, these methods may, but are not 33.97/10.25 * required to, throw an UnsupportedOperationException if the 33.97/10.25 * invocation would have no effect on the collection. For example, invoking 33.97/10.25 * the {@link #addAll(Collection)} method on an unmodifiable collection may, 33.97/10.25 * but is not required to, throw the exception if the collection to be added 33.97/10.25 * is empty. 33.97/10.25 * 33.97/10.25 *

Some collection implementations have restrictions on the elements that 33.97/10.25 * they may contain. For example, some implementations prohibit null elements, 33.97/10.25 * and some have restrictions on the types of their elements. Attempting to 33.97/10.25 * add an ineligible element throws an unchecked exception, typically 33.97/10.25 * NullPointerException or ClassCastException. Attempting 33.97/10.25 * to query the presence of an ineligible element may throw an exception, 33.97/10.25 * or it may simply return false; some implementations will exhibit the former 33.97/10.25 * behavior and some will exhibit the latter. More generally, attempting an 33.97/10.25 * operation on an ineligible element whose completion would not result in 33.97/10.25 * the insertion of an ineligible element into the collection may throw an 33.97/10.25 * exception or it may succeed, at the option of the implementation. 33.97/10.25 * Such exceptions are marked as "optional" in the specification for this 33.97/10.25 * interface. 33.97/10.25 * 33.97/10.25 *

It is up to each collection to determine its own synchronization 33.97/10.25 * policy. In the absence of a stronger guarantee by the 33.97/10.25 * implementation, undefined behavior may result from the invocation 33.97/10.25 * of any method on a collection that is being mutated by another 33.97/10.25 * thread; this includes direct invocations, passing the collection to 33.97/10.25 * a method that might perform invocations, and using an existing 33.97/10.25 * iterator to examine the collection. 33.97/10.25 * 33.97/10.25 *

Many methods in Collections Framework interfaces are defined in 33.97/10.25 * terms of the {@link Object#equals(Object) equals} method. For example, 33.97/10.25 * the specification for the {@link #contains(Object) contains(Object o)} 33.97/10.25 * method says: "returns true if and only if this collection 33.97/10.25 * contains at least one element e such that 33.97/10.25 * (o==null ? e==null : o.equals(e))." This specification should 33.97/10.25 * not be construed to imply that invoking Collection.contains 33.97/10.25 * with a non-null argument o will cause o.equals(e) to be 33.97/10.25 * invoked for any element e. Implementations are free to implement 33.97/10.25 * optimizations whereby the equals invocation is avoided, for 33.97/10.25 * example, by first comparing the hash codes of the two elements. (The 33.97/10.25 * {@link Object#hashCode()} specification guarantees that two objects with 33.97/10.25 * unequal hash codes cannot be equal.) More generally, implementations of 33.97/10.25 * the various Collections Framework interfaces are free to take advantage of 33.97/10.25 * the specified behavior of underlying {@link Object} methods wherever the 33.97/10.25 * implementor deems it appropriate. 33.97/10.25 * 33.97/10.25 *

This interface is a member of the 33.97/10.25 * 33.97/10.25 * Java Collections Framework. 33.97/10.25 * 33.97/10.25 * @author Josh Bloch 33.97/10.25 * @author Neal Gafter 33.97/10.25 * @see Set 33.97/10.25 * @see List 33.97/10.25 * @see Map 33.97/10.25 * @see SortedSet 33.97/10.25 * @see SortedMap 33.97/10.25 * @see HashSet 33.97/10.25 * @see TreeSet 33.97/10.25 * @see ArrayList 33.97/10.25 * @see LinkedList 33.97/10.25 * @see Vector 33.97/10.25 * @see Collections 33.97/10.25 * @see Arrays 33.97/10.25 * @see AbstractCollection 33.97/10.25 * @since 1.2 33.97/10.25 */ 33.97/10.25 33.97/10.25 public interface Collection { 33.97/10.25 // Query Operations 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns the number of elements in this collection. If this collection 33.97/10.25 * contains more than Integer.MAX_VALUE elements, returns 33.97/10.25 * Integer.MAX_VALUE. 33.97/10.25 * 33.97/10.25 * @return the number of elements in this collection 33.97/10.25 */ 33.97/10.25 int size(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns true if this collection contains no elements. 33.97/10.25 * 33.97/10.25 * @return true if this collection contains no elements 33.97/10.25 */ 33.97/10.25 boolean isEmpty(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns true if this collection contains the specified element. 33.97/10.25 * More formally, returns true if and only if this collection 33.97/10.25 * contains at least one element e such that 33.97/10.25 * (o==null ? e==null : o.equals(e)). 33.97/10.25 * 33.97/10.25 * @param o element whose presence in this collection is to be tested 33.97/10.25 * @return true if this collection contains the specified 33.97/10.25 * element 33.97/10.25 * @throws ClassCastException if the type of the specified element 33.97/10.25 * is incompatible with this collection (optional) 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * collection does not permit null elements (optional) 33.97/10.25 */ 33.97/10.25 boolean contains(Object o); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns an iterator over the elements in this collection. There are no 33.97/10.25 * guarantees concerning the order in which the elements are returned 33.97/10.25 * (unless this collection is an instance of some class that provides a 33.97/10.25 * guarantee). 33.97/10.25 * 33.97/10.25 * @return an Iterator over the elements in this collection 33.97/10.25 */ 33.97/10.25 Iterator iterator(); 33.97/10.25 33.97/10.25 // Modification Operations 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Ensures that this collection contains the specified element (optional 33.97/10.25 * operation). Returns true if this collection changed as a 33.97/10.25 * result of the call. (Returns false if this collection does 33.97/10.25 * not permit duplicates and already contains the specified element.)

33.97/10.25 * 33.97/10.25 * Collections that support this operation may place limitations on what 33.97/10.25 * elements may be added to this collection. In particular, some 33.97/10.25 * collections will refuse to add null elements, and others will 33.97/10.25 * impose restrictions on the type of elements that may be added. 33.97/10.25 * Collection classes should clearly specify in their documentation any 33.97/10.25 * restrictions on what elements may be added.

33.97/10.25 * 33.97/10.25 * If a collection refuses to add a particular element for any reason 33.97/10.25 * other than that it already contains the element, it must throw 33.97/10.25 * an exception (rather than returning false). This preserves 33.97/10.25 * the invariant that a collection always contains the specified element 33.97/10.25 * after this call returns. 33.97/10.25 * 33.97/10.25 * @param e element whose presence in this collection is to be ensured 33.97/10.25 * @return true if this collection changed as a result of the 33.97/10.25 * call 33.97/10.25 * @throws UnsupportedOperationException if the add operation 33.97/10.25 * is not supported by this collection 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this collection 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * collection does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the element 33.97/10.25 * prevents it from being added to this collection 33.97/10.25 * @throws IllegalStateException if the element cannot be added at this 33.97/10.25 * time due to insertion restrictions 33.97/10.25 */ 33.97/10.25 boolean add(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes a single instance of the specified element from this 33.97/10.25 * collection, if it is present (optional operation). More formally, 33.97/10.25 * removes an element e such that 33.97/10.25 * (o==null ? e==null : o.equals(e)), if 33.97/10.25 * this collection contains one or more such elements. Returns 33.97/10.25 * true if this collection contained the specified element (or 33.97/10.25 * equivalently, if this collection changed as a result of the call). 33.97/10.25 * 33.97/10.25 * @param o element to be removed from this collection, if present 33.97/10.25 * @return true if an element was removed as a result of this call 33.97/10.25 * @throws ClassCastException if the type of the specified element 33.97/10.25 * is incompatible with this collection (optional) 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * collection does not permit null elements (optional) 33.97/10.25 * @throws UnsupportedOperationException if the remove operation 33.97/10.25 * is not supported by this collection 33.97/10.25 */ 33.97/10.25 boolean remove(Object o); 33.97/10.25 33.97/10.25 33.97/10.25 // Bulk Operations 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns true if this collection contains all of the elements 33.97/10.25 * in the specified collection. 33.97/10.25 * 33.97/10.25 * @param c collection to be checked for containment in this collection 33.97/10.25 * @return true if this collection contains all of the elements 33.97/10.25 * in the specified collection 33.97/10.25 * @throws ClassCastException if the types of one or more elements 33.97/10.25 * in the specified collection are incompatible with this 33.97/10.25 * collection (optional) 33.97/10.25 * @throws NullPointerException if the specified collection contains one 33.97/10.25 * or more null elements and this collection does not permit null 33.97/10.25 * elements (optional), or if the specified collection is null 33.97/10.25 * @see #contains(Object) 33.97/10.25 */ 33.97/10.25 boolean containsAll(Collection c); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Adds all of the elements in the specified collection to this collection 33.97/10.25 * (optional operation). The behavior of this operation is undefined if 33.97/10.25 * the specified collection is modified while the operation is in progress. 33.97/10.25 * (This implies that the behavior of this call is undefined if the 33.97/10.25 * specified collection is this collection, and this collection is 33.97/10.25 * nonempty.) 33.97/10.25 * 33.97/10.25 * @param c collection containing elements to be added to this collection 33.97/10.25 * @return true if this collection changed as a result of the call 33.97/10.25 * @throws UnsupportedOperationException if the addAll operation 33.97/10.25 * is not supported by this collection 33.97/10.25 * @throws ClassCastException if the class of an element of the specified 33.97/10.25 * collection prevents it from being added to this collection 33.97/10.25 * @throws NullPointerException if the specified collection contains a 33.97/10.25 * null element and this collection does not permit null elements, 33.97/10.25 * or if the specified collection is null 33.97/10.25 * @throws IllegalArgumentException if some property of an element of the 33.97/10.25 * specified collection prevents it from being added to this 33.97/10.25 * collection 33.97/10.25 * @throws IllegalStateException if not all the elements can be added at 33.97/10.25 * this time due to insertion restrictions 33.97/10.25 * @see #add(Object) 33.97/10.25 */ 33.97/10.25 boolean addAll(Collection c); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes all of this collection's elements that are also contained in the 33.97/10.25 * specified collection (optional operation). After this call returns, 33.97/10.25 * this collection will contain no elements in common with the specified 33.97/10.25 * collection. 33.97/10.25 * 33.97/10.25 * @param c collection containing elements to be removed from this collection 33.97/10.25 * @return true if this collection changed as a result of the 33.97/10.25 * call 33.97/10.25 * @throws UnsupportedOperationException if the removeAll method 33.97/10.25 * is not supported by this collection 33.97/10.25 * @throws ClassCastException if the types of one or more elements 33.97/10.25 * in this collection are incompatible with the specified 33.97/10.25 * collection (optional) 33.97/10.25 * @throws NullPointerException if this collection contains one or more 33.97/10.25 * null elements and the specified collection does not support 33.97/10.25 * null elements (optional), or if the specified collection is null 33.97/10.25 * @see #remove(Object) 33.97/10.25 * @see #contains(Object) 33.97/10.25 */ 33.97/10.25 boolean removeAll(Collection c); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retains only the elements in this collection that are contained in the 33.97/10.25 * specified collection (optional operation). In other words, removes from 33.97/10.25 * this collection all of its elements that are not contained in the 33.97/10.25 * specified collection. 33.97/10.25 * 33.97/10.25 * @param c collection containing elements to be retained in this collection 33.97/10.25 * @return true if this collection changed as a result of the call 33.97/10.25 * @throws UnsupportedOperationException if the retainAll operation 33.97/10.25 * is not supported by this collection 33.97/10.25 * @throws ClassCastException if the types of one or more elements 33.97/10.25 * in this collection are incompatible with the specified 33.97/10.25 * collection (optional) 33.97/10.25 * @throws NullPointerException if this collection contains one or more 33.97/10.25 * null elements and the specified collection does not permit null 33.97/10.25 * elements (optional), or if the specified collection is null 33.97/10.25 * @see #remove(Object) 33.97/10.25 * @see #contains(Object) 33.97/10.25 */ 33.97/10.25 boolean retainAll(Collection c); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes all of the elements from this collection (optional operation). 33.97/10.25 * The collection will be empty after this method returns. 33.97/10.25 * 33.97/10.25 * @throws UnsupportedOperationException if the clear operation 33.97/10.25 * is not supported by this collection 33.97/10.25 */ 33.97/10.25 void clear(); 33.97/10.25 33.97/10.25 33.97/10.25 // Comparison and hashing 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Compares the specified object with this collection for equality.

33.97/10.25 * 33.97/10.25 * While the Collection interface adds no stipulations to the 33.97/10.25 * general contract for the Object.equals, programmers who 33.97/10.25 * implement the Collection interface "directly" (in other words, 33.97/10.25 * create a class that is a Collection but is not a Set 33.97/10.25 * or a List) must exercise care if they choose to override the 33.97/10.25 * Object.equals. It is not necessary to do so, and the simplest 33.97/10.25 * course of action is to rely on Object's implementation, but 33.97/10.25 * the implementor may wish to implement a "value comparison" in place of 33.97/10.25 * the default "reference comparison." (The List and 33.97/10.25 * Set interfaces mandate such value comparisons.)

33.97/10.25 * 33.97/10.25 * The general contract for the Object.equals method states that 33.97/10.25 * equals must be symmetric (in other words, a.equals(b) if and 33.97/10.25 * only if b.equals(a)). The contracts for List.equals 33.97/10.25 * and Set.equals state that lists are only equal to other lists, 33.97/10.25 * and sets to other sets. Thus, a custom equals method for a 33.97/10.25 * collection class that implements neither the List nor 33.97/10.25 * Set interface must return false when this collection 33.97/10.25 * is compared to any list or set. (By the same logic, it is not possible 33.97/10.25 * to write a class that correctly implements both the Set and 33.97/10.25 * List interfaces.) 33.97/10.25 * 33.97/10.25 * @param o object to be compared for equality with this collection 33.97/10.25 * @return true if the specified object is equal to this 33.97/10.25 * collection 33.97/10.25 * 33.97/10.25 * @see Object#equals(Object) 33.97/10.25 * @see Set#equals(Object) 33.97/10.25 * @see List#equals(Object) 33.97/10.25 */ 33.97/10.25 boolean equals(Object o); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns the hash code value for this collection. While the 33.97/10.25 * Collection interface adds no stipulations to the general 33.97/10.25 * contract for the Object.hashCode method, programmers should 33.97/10.25 * take note that any class that overrides the Object.equals 33.97/10.25 * method must also override the Object.hashCode method in order 33.97/10.25 * to satisfy the general contract for the Object.hashCodemethod. 33.97/10.25 * In particular, c1.equals(c2) implies that 33.97/10.25 * c1.hashCode()==c2.hashCode(). 33.97/10.25 * 33.97/10.25 * @return the hash code value for this collection 33.97/10.25 * 33.97/10.25 * @see Object#hashCode() 33.97/10.25 * @see Object#equals(Object) 33.97/10.25 */ 33.97/10.25 int hashCode(); 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 /* 33.97/10.25 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.25 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.25 * 33.97/10.25 * This code is free software; you can redistribute it and/or modify it 33.97/10.25 * under the terms of the GNU General Public License version 2 only, as 33.97/10.25 * published by the Free Software Foundation. Sun designates this 33.97/10.25 * particular file as subject to the "Classpath" exception as provided 33.97/10.25 * by Sun in the LICENSE file that accompanied this code. 33.97/10.25 * 33.97/10.25 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.25 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.25 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.25 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.25 * accompanied this code). 33.97/10.25 * 33.97/10.25 * You should have received a copy of the GNU General Public License version 33.97/10.25 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.25 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.25 * 33.97/10.25 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.25 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.25 * have any questions. 33.97/10.25 */ 33.97/10.25 33.97/10.25 package javaUtilEx; 33.97/10.25 33.97/10.25 /** 33.97/10.25 * This exception may be thrown by methods that have detected concurrent 33.97/10.25 * modification of an object when such modification is not permissible. 33.97/10.25 *

33.97/10.25 * For example, it is not generally permissible for one thread to modify a Collection 33.97/10.25 * while another thread is iterating over it. In general, the results of the 33.97/10.25 * iteration are undefined under these circumstances. Some Iterator 33.97/10.25 * implementations (including those of all the general purpose collection implementations 33.97/10.25 * provided by the JRE) may choose to throw this exception if this behavior is 33.97/10.25 * detected. Iterators that do this are known as fail-fast iterators, 33.97/10.25 * as they fail quickly and cleanly, rather that risking arbitrary, 33.97/10.25 * non-deterministic behavior at an undetermined time in the future. 33.97/10.25 *

33.97/10.25 * Note that this exception does not always indicate that an object has 33.97/10.25 * been concurrently modified by a different thread. If a single 33.97/10.25 * thread issues a sequence of method invocations that violates the 33.97/10.25 * contract of an object, the object may throw this exception. For 33.97/10.25 * example, if a thread modifies a collection directly while it is 33.97/10.25 * iterating over the collection with a fail-fast iterator, the iterator 33.97/10.25 * will throw this exception. 33.97/10.25 * 33.97/10.25 *

Note that fail-fast behavior cannot be guaranteed as it is, generally 33.97/10.25 * speaking, impossible to make any hard guarantees in the presence of 33.97/10.25 * unsynchronized concurrent modification. Fail-fast operations 33.97/10.25 * throw ConcurrentModificationException on a best-effort basis. 33.97/10.25 * Therefore, it would be wrong to write a program that depended on this 33.97/10.25 * exception for its correctness: ConcurrentModificationException 33.97/10.25 * should be used only to detect bugs. 33.97/10.25 * 33.97/10.25 * @author Josh Bloch 33.97/10.25 * @see Collection 33.97/10.25 * @see Iterator 33.97/10.25 * @see ListIterator 33.97/10.25 * @see Vector 33.97/10.25 * @see LinkedList 33.97/10.25 * @see HashSet 33.97/10.25 * @see Hashtable 33.97/10.25 * @see TreeMap 33.97/10.25 * @see AbstractList 33.97/10.25 * @since 1.2 33.97/10.25 */ 33.97/10.25 public class ConcurrentModificationException extends RuntimeException { 33.97/10.25 /** 33.97/10.25 * Constructs a ConcurrentModificationException with no 33.97/10.25 * detail message. 33.97/10.25 */ 33.97/10.25 public ConcurrentModificationException() { 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Constructs a ConcurrentModificationException with the 33.97/10.25 * specified detail message. 33.97/10.25 * 33.97/10.25 * @param message the detail message pertaining to this exception. 33.97/10.25 */ 33.97/10.25 public ConcurrentModificationException(String message) { 33.97/10.25 super(message); 33.97/10.25 } 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 /* 33.97/10.25 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.25 * 33.97/10.25 * This code is free software; you can redistribute it and/or modify it 33.97/10.25 * under the terms of the GNU General Public License version 2 only, as 33.97/10.25 * published by the Free Software Foundation. Sun designates this 33.97/10.25 * particular file as subject to the "Classpath" exception as provided 33.97/10.25 * by Sun in the LICENSE file that accompanied this code. 33.97/10.25 * 33.97/10.25 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.25 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.25 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.25 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.25 * accompanied this code). 33.97/10.25 * 33.97/10.25 * You should have received a copy of the GNU General Public License version 33.97/10.25 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.25 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.25 * 33.97/10.25 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.25 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.25 * have any questions. 33.97/10.25 */ 33.97/10.25 33.97/10.25 /* 33.97/10.25 * This file is available under and governed by the GNU General Public 33.97/10.25 * License version 2 only, as published by the Free Software Foundation. 33.97/10.25 * However, the following notice accompanied the original version of this 33.97/10.25 * file: 33.97/10.25 * 33.97/10.25 * Written by Doug Lea and Josh Bloch with assistance from members of 33.97/10.25 * JCP JSR-166 Expert Group and released to the public domain, as explained 33.97/10.25 * at http://creativecommons.org/licenses/publicdomain 33.97/10.25 */ 33.97/10.25 33.97/10.25 package javaUtilEx; 33.97/10.25 33.97/10.25 /** 33.97/10.25 * A linear collection that supports element insertion and removal at 33.97/10.25 * both ends. The name deque is short for "double ended queue" 33.97/10.25 * and is usually pronounced "deck". Most Deque 33.97/10.25 * implementations place no fixed limits on the number of elements 33.97/10.25 * they may contain, but this interface supports capacity-restricted 33.97/10.25 * deques as well as those with no fixed size limit. 33.97/10.25 * 33.97/10.25 *

This interface defines methods to access the elements at both 33.97/10.25 * ends of the deque. Methods are provided to insert, remove, and 33.97/10.25 * examine the element. Each of these methods exists in two forms: 33.97/10.25 * one throws an exception if the operation fails, the other returns a 33.97/10.25 * special value (either null or false, depending on 33.97/10.25 * the operation). The latter form of the insert operation is 33.97/10.25 * designed specifically for use with capacity-restricted 33.97/10.25 * Deque implementations; in most implementations, insert 33.97/10.25 * operations cannot fail. 33.97/10.25 * 33.97/10.25 *

The twelve methods described above are summarized in the 33.97/10.25 * following table: 33.97/10.25 * 33.97/10.25 *

33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 *
First Element (Head) Last Element (Tail)
Throws exceptionSpecial valueThrows exceptionSpecial value
Insert{@link #addFirst addFirst(e)}{@link #offerFirst offerFirst(e)}{@link #addLast addLast(e)}{@link #offerLast offerLast(e)}
Remove{@link #removeFirst removeFirst()}{@link #pollFirst pollFirst()}{@link #removeLast removeLast()}{@link #pollLast pollLast()}
Examine{@link #getFirst getFirst()}{@link #peekFirst peekFirst()}{@link #getLast getLast()}{@link #peekLast peekLast()}
33.97/10.25 * 33.97/10.25 *

This interface extends the {@link Queue} interface. When a deque is 33.97/10.25 * used as a queue, FIFO (First-In-First-Out) behavior results. Elements are 33.97/10.25 * added at the end of the deque and removed from the beginning. The methods 33.97/10.25 * inherited from the Queue interface are precisely equivalent to 33.97/10.25 * Deque methods as indicated in the following table: 33.97/10.25 * 33.97/10.25 *

33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 *
Queue Method Equivalent Deque Method
{@link java.util.Queue#add add(e)}{@link #addLast addLast(e)}
{@link java.util.Queue#offer offer(e)}{@link #offerLast offerLast(e)}
{@link java.util.Queue#remove remove()}{@link #removeFirst removeFirst()}
{@link java.util.Queue#poll poll()}{@link #pollFirst pollFirst()}
{@link java.util.Queue#element element()}{@link #getFirst getFirst()}
{@link java.util.Queue#peek peek()}{@link #peek peekFirst()}
33.97/10.25 * 33.97/10.25 *

Deques can also be used as LIFO (Last-In-First-Out) stacks. This 33.97/10.25 * interface should be used in preference to the legacy {@link Stack} class. 33.97/10.25 * When a deque is used as a stack, elements are pushed and popped from the 33.97/10.25 * beginning of the deque. Stack methods are precisely equivalent to 33.97/10.25 * Deque methods as indicated in the table below: 33.97/10.25 * 33.97/10.25 *

33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 * 33.97/10.25 *
Stack Method Equivalent Deque Method
{@link #push push(e)}{@link #addFirst addFirst(e)}
{@link #pop pop()}{@link #removeFirst removeFirst()}
{@link #peek peek()}{@link #peekFirst peekFirst()}
33.97/10.25 * 33.97/10.25 *

Note that the {@link #peek peek} method works equally well when 33.97/10.25 * a deque is used as a queue or a stack; in either case, elements are 33.97/10.25 * drawn from the beginning of the deque. 33.97/10.25 * 33.97/10.25 *

This interface provides two methods to remove interior 33.97/10.25 * elements, {@link #removeFirstOccurrence removeFirstOccurrence} and 33.97/10.25 * {@link #removeLastOccurrence removeLastOccurrence}. 33.97/10.25 * 33.97/10.25 *

Unlike the {@link List} interface, this interface does not 33.97/10.25 * provide support for indexed access to elements. 33.97/10.25 * 33.97/10.25 *

While Deque implementations are not strictly required 33.97/10.25 * to prohibit the insertion of null elements, they are strongly 33.97/10.25 * encouraged to do so. Users of any Deque implementations 33.97/10.25 * that do allow null elements are strongly encouraged not to 33.97/10.25 * take advantage of the ability to insert nulls. This is so because 33.97/10.25 * null is used as a special return value by various methods 33.97/10.25 * to indicated that the deque is empty. 33.97/10.25 * 33.97/10.25 *

Deque implementations generally do not define 33.97/10.25 * element-based versions of the equals and hashCode 33.97/10.25 * methods, but instead inherit the identity-based versions from class 33.97/10.25 * Object. 33.97/10.25 * 33.97/10.25 *

This interface is a member of the Java Collections 33.97/10.25 * Framework. 33.97/10.25 * 33.97/10.25 * @author Doug Lea 33.97/10.25 * @author Josh Bloch 33.97/10.25 * @since 1.6 33.97/10.25 * @param the type of elements held in this collection 33.97/10.25 */ 33.97/10.25 33.97/10.25 public interface Deque extends Queue { 33.97/10.25 /** 33.97/10.25 * Inserts the specified element at the front of this deque if it is 33.97/10.25 * possible to do so immediately without violating capacity restrictions. 33.97/10.25 * When using a capacity-restricted deque, it is generally preferable to 33.97/10.25 * use method {@link #offerFirst}. 33.97/10.25 * 33.97/10.25 * @param e the element to add 33.97/10.25 * @throws IllegalStateException if the element cannot be added at this 33.97/10.25 * time due to capacity restrictions 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this deque 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the specified 33.97/10.25 * element prevents it from being added to this deque 33.97/10.25 */ 33.97/10.25 void addFirst(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Inserts the specified element at the end of this deque if it is 33.97/10.25 * possible to do so immediately without violating capacity restrictions. 33.97/10.25 * When using a capacity-restricted deque, it is generally preferable to 33.97/10.25 * use method {@link #offerLast}. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #add}. 33.97/10.25 * 33.97/10.25 * @param e the element to add 33.97/10.25 * @throws IllegalStateException if the element cannot be added at this 33.97/10.25 * time due to capacity restrictions 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this deque 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the specified 33.97/10.25 * element prevents it from being added to this deque 33.97/10.25 */ 33.97/10.25 void addLast(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Inserts the specified element at the front of this deque unless it would 33.97/10.25 * violate capacity restrictions. When using a capacity-restricted deque, 33.97/10.25 * this method is generally preferable to the {@link #addFirst} method, 33.97/10.25 * which can fail to insert an element only by throwing an exception. 33.97/10.25 * 33.97/10.25 * @param e the element to add 33.97/10.25 * @return true if the element was added to this deque, else 33.97/10.25 * false 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this deque 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the specified 33.97/10.25 * element prevents it from being added to this deque 33.97/10.25 */ 33.97/10.25 boolean offerFirst(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Inserts the specified element at the end of this deque unless it would 33.97/10.25 * violate capacity restrictions. When using a capacity-restricted deque, 33.97/10.25 * this method is generally preferable to the {@link #addLast} method, 33.97/10.25 * which can fail to insert an element only by throwing an exception. 33.97/10.25 * 33.97/10.25 * @param e the element to add 33.97/10.25 * @return true if the element was added to this deque, else 33.97/10.25 * false 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this deque 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the specified 33.97/10.25 * element prevents it from being added to this deque 33.97/10.25 */ 33.97/10.25 boolean offerLast(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves and removes the first element of this deque. This method 33.97/10.25 * differs from {@link #pollFirst pollFirst} only in that it throws an 33.97/10.25 * exception if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the head of this deque 33.97/10.25 * @throws NoSuchElementException if this deque is empty 33.97/10.25 */ 33.97/10.25 E removeFirst(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves and removes the last element of this deque. This method 33.97/10.25 * differs from {@link #pollLast pollLast} only in that it throws an 33.97/10.25 * exception if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the tail of this deque 33.97/10.25 * @throws NoSuchElementException if this deque is empty 33.97/10.25 */ 33.97/10.25 E removeLast(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves and removes the first element of this deque, 33.97/10.25 * or returns null if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the head of this deque, or null if this deque is empty 33.97/10.25 */ 33.97/10.25 E pollFirst(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves and removes the last element of this deque, 33.97/10.25 * or returns null if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the tail of this deque, or null if this deque is empty 33.97/10.25 */ 33.97/10.25 E pollLast(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves, but does not remove, the first element of this deque. 33.97/10.25 * 33.97/10.25 * This method differs from {@link #peekFirst peekFirst} only in that it 33.97/10.25 * throws an exception if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the head of this deque 33.97/10.25 * @throws NoSuchElementException if this deque is empty 33.97/10.25 */ 33.97/10.25 E getFirst(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves, but does not remove, the last element of this deque. 33.97/10.25 * This method differs from {@link #peekLast peekLast} only in that it 33.97/10.25 * throws an exception if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the tail of this deque 33.97/10.25 * @throws NoSuchElementException if this deque is empty 33.97/10.25 */ 33.97/10.25 E getLast(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves, but does not remove, the first element of this deque, 33.97/10.25 * or returns null if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the head of this deque, or null if this deque is empty 33.97/10.25 */ 33.97/10.25 E peekFirst(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves, but does not remove, the last element of this deque, 33.97/10.25 * or returns null if this deque is empty. 33.97/10.25 * 33.97/10.25 * @return the tail of this deque, or null if this deque is empty 33.97/10.25 */ 33.97/10.25 E peekLast(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes the first occurrence of the specified element from this deque. 33.97/10.25 * If the deque does not contain the element, it is unchanged. 33.97/10.25 * More formally, removes the first element e such that 33.97/10.25 * (o==null ? e==null : o.equals(e)) 33.97/10.25 * (if such an element exists). 33.97/10.25 * Returns true if this deque contained the specified element 33.97/10.25 * (or equivalently, if this deque changed as a result of the call). 33.97/10.25 * 33.97/10.25 * @param o element to be removed from this deque, if present 33.97/10.25 * @return true if an element was removed as a result of this call 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * is incompatible with this deque (optional) 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements (optional) 33.97/10.25 */ 33.97/10.25 boolean removeFirstOccurrence(Object o); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes the last occurrence of the specified element from this deque. 33.97/10.25 * If the deque does not contain the element, it is unchanged. 33.97/10.25 * More formally, removes the last element e such that 33.97/10.25 * (o==null ? e==null : o.equals(e)) 33.97/10.25 * (if such an element exists). 33.97/10.25 * Returns true if this deque contained the specified element 33.97/10.25 * (or equivalently, if this deque changed as a result of the call). 33.97/10.25 * 33.97/10.25 * @param o element to be removed from this deque, if present 33.97/10.25 * @return true if an element was removed as a result of this call 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * is incompatible with this deque (optional) 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements (optional) 33.97/10.25 */ 33.97/10.25 boolean removeLastOccurrence(Object o); 33.97/10.25 33.97/10.25 // *** Queue methods *** 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Inserts the specified element into the queue represented by this deque 33.97/10.25 * (in other words, at the tail of this deque) if it is possible to do so 33.97/10.25 * immediately without violating capacity restrictions, returning 33.97/10.25 * true upon success and throwing an 33.97/10.25 * IllegalStateException if no space is currently available. 33.97/10.25 * When using a capacity-restricted deque, it is generally preferable to 33.97/10.25 * use {@link #offer(Object) offer}. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #addLast}. 33.97/10.25 * 33.97/10.25 * @param e the element to add 33.97/10.25 * @return true (as specified by {@link Collection#add}) 33.97/10.25 * @throws IllegalStateException if the element cannot be added at this 33.97/10.25 * time due to capacity restrictions 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this deque 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the specified 33.97/10.25 * element prevents it from being added to this deque 33.97/10.25 */ 33.97/10.25 boolean add(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Inserts the specified element into the queue represented by this deque 33.97/10.25 * (in other words, at the tail of this deque) if it is possible to do so 33.97/10.25 * immediately without violating capacity restrictions, returning 33.97/10.25 * true upon success and false if no space is currently 33.97/10.25 * available. When using a capacity-restricted deque, this method is 33.97/10.25 * generally preferable to the {@link #add} method, which can fail to 33.97/10.25 * insert an element only by throwing an exception. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #offerLast}. 33.97/10.25 * 33.97/10.25 * @param e the element to add 33.97/10.25 * @return true if the element was added to this deque, else 33.97/10.25 * false 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this deque 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the specified 33.97/10.25 * element prevents it from being added to this deque 33.97/10.25 */ 33.97/10.25 boolean offer(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves and removes the head of the queue represented by this deque 33.97/10.25 * (in other words, the first element of this deque). 33.97/10.25 * This method differs from {@link #poll poll} only in that it throws an 33.97/10.25 * exception if this deque is empty. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #removeFirst()}. 33.97/10.25 * 33.97/10.25 * @return the head of the queue represented by this deque 33.97/10.25 * @throws NoSuchElementException if this deque is empty 33.97/10.25 */ 33.97/10.25 E remove(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves and removes the head of the queue represented by this deque 33.97/10.25 * (in other words, the first element of this deque), or returns 33.97/10.25 * null if this deque is empty. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #pollFirst()}. 33.97/10.25 * 33.97/10.25 * @return the first element of this deque, or null if 33.97/10.25 * this deque is empty 33.97/10.25 */ 33.97/10.25 E poll(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves, but does not remove, the head of the queue represented by 33.97/10.25 * this deque (in other words, the first element of this deque). 33.97/10.25 * This method differs from {@link #peek peek} only in that it throws an 33.97/10.25 * exception if this deque is empty. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #getFirst()}. 33.97/10.25 * 33.97/10.25 * @return the head of the queue represented by this deque 33.97/10.25 * @throws NoSuchElementException if this deque is empty 33.97/10.25 */ 33.97/10.25 E element(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Retrieves, but does not remove, the head of the queue represented by 33.97/10.25 * this deque (in other words, the first element of this deque), or 33.97/10.25 * returns null if this deque is empty. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #peekFirst()}. 33.97/10.25 * 33.97/10.25 * @return the head of the queue represented by this deque, or 33.97/10.25 * null if this deque is empty 33.97/10.25 */ 33.97/10.25 E peek(); 33.97/10.25 33.97/10.25 33.97/10.25 // *** Stack methods *** 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Pushes an element onto the stack represented by this deque (in other 33.97/10.25 * words, at the head of this deque) if it is possible to do so 33.97/10.25 * immediately without violating capacity restrictions, returning 33.97/10.25 * true upon success and throwing an 33.97/10.25 * IllegalStateException if no space is currently available. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #addFirst}. 33.97/10.25 * 33.97/10.25 * @param e the element to push 33.97/10.25 * @throws IllegalStateException if the element cannot be added at this 33.97/10.25 * time due to capacity restrictions 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * prevents it from being added to this deque 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements 33.97/10.25 * @throws IllegalArgumentException if some property of the specified 33.97/10.25 * element prevents it from being added to this deque 33.97/10.25 */ 33.97/10.25 void push(E e); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Pops an element from the stack represented by this deque. In other 33.97/10.25 * words, removes and returns the first element of this deque. 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #removeFirst()}. 33.97/10.25 * 33.97/10.25 * @return the element at the front of this deque (which is the top 33.97/10.25 * of the stack represented by this deque) 33.97/10.25 * @throws NoSuchElementException if this deque is empty 33.97/10.25 */ 33.97/10.25 E pop(); 33.97/10.25 33.97/10.25 33.97/10.25 // *** Collection methods *** 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Removes the first occurrence of the specified element from this deque. 33.97/10.25 * If the deque does not contain the element, it is unchanged. 33.97/10.25 * More formally, removes the first element e such that 33.97/10.25 * (o==null ? e==null : o.equals(e)) 33.97/10.25 * (if such an element exists). 33.97/10.25 * Returns true if this deque contained the specified element 33.97/10.25 * (or equivalently, if this deque changed as a result of the call). 33.97/10.25 * 33.97/10.25 *

This method is equivalent to {@link #removeFirstOccurrence}. 33.97/10.25 * 33.97/10.25 * @param o element to be removed from this deque, if present 33.97/10.25 * @return true if an element was removed as a result of this call 33.97/10.25 * @throws ClassCastException if the class of the specified element 33.97/10.25 * is incompatible with this deque (optional) 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements (optional) 33.97/10.25 */ 33.97/10.25 boolean remove(Object o); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns true if this deque contains the specified element. 33.97/10.25 * More formally, returns true if and only if this deque contains 33.97/10.25 * at least one element e such that 33.97/10.25 * (o==null ? e==null : o.equals(e)). 33.97/10.25 * 33.97/10.25 * @param o element whose presence in this deque is to be tested 33.97/10.25 * @return true if this deque contains the specified element 33.97/10.25 * @throws ClassCastException if the type of the specified element 33.97/10.25 * is incompatible with this deque (optional) 33.97/10.25 * @throws NullPointerException if the specified element is null and this 33.97/10.25 * deque does not permit null elements (optional) 33.97/10.25 */ 33.97/10.25 boolean contains(Object o); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns the number of elements in this deque. 33.97/10.25 * 33.97/10.25 * @return the number of elements in this deque 33.97/10.25 */ 33.97/10.25 public int size(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns an iterator over the elements in this deque in proper sequence. 33.97/10.25 * The elements will be returned in order from first (head) to last (tail). 33.97/10.25 * 33.97/10.25 * @return an iterator over the elements in this deque in proper sequence 33.97/10.25 */ 33.97/10.25 Iterator iterator(); 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Returns an iterator over the elements in this deque in reverse 33.97/10.25 * sequential order. The elements will be returned in order from 33.97/10.25 * last (tail) to first (head). 33.97/10.25 * 33.97/10.25 * @return an iterator over the elements in this deque in reverse 33.97/10.25 * sequence 33.97/10.25 */ 33.97/10.25 Iterator descendingIterator(); 33.97/10.25 33.97/10.25 } 33.97/10.25 33.97/10.25 33.97/10.25 /* 33.97/10.25 * Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.25 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.25 * 33.97/10.25 * This code is free software; you can redistribute it and/or modify it 33.97/10.25 * under the terms of the GNU General Public License version 2 only, as 33.97/10.25 * published by the Free Software Foundation. Sun designates this 33.97/10.25 * particular file as subject to the "Classpath" exception as provided 33.97/10.25 * by Sun in the LICENSE file that accompanied this code. 33.97/10.25 * 33.97/10.25 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.25 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.25 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.25 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.25 * accompanied this code). 33.97/10.25 * 33.97/10.25 * You should have received a copy of the GNU General Public License version 33.97/10.25 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.25 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.25 * 33.97/10.25 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.25 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.25 * have any questions. 33.97/10.25 */ 33.97/10.25 33.97/10.25 package javaUtilEx; 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Thrown to indicate that a method has been passed an illegal or 33.97/10.25 * inappropriate argument. 33.97/10.25 * 33.97/10.25 * @author unascribed 33.97/10.25 * @see java.lang.Thread#setPriority(int) 33.97/10.25 * @since JDK1.0 33.97/10.25 */ 33.97/10.25 public 33.97/10.25 class IllegalArgumentException extends RuntimeException { 33.97/10.25 /** 33.97/10.25 * Constructs an IllegalArgumentException with no 33.97/10.25 * detail message. 33.97/10.25 */ 33.97/10.25 public IllegalArgumentException() { 33.97/10.25 super(); 33.97/10.25 } 33.97/10.25 33.97/10.25 /** 33.97/10.25 * Constructs an IllegalArgumentException with the 33.97/10.25 * specified detail message. 33.97/10.25 * 33.97/10.25 * @param s the detail message. 33.97/10.26 */ 33.97/10.26 public IllegalArgumentException(String s) { 33.97/10.26 super(s); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs a new exception with the specified detail message and 33.97/10.26 * cause. 33.97/10.26 * 33.97/10.26 *

Note that the detail message associated with cause is 33.97/10.26 * not automatically incorporated in this exception's detail 33.97/10.26 * message. 33.97/10.26 * 33.97/10.26 * @param message the detail message (which is saved for later retrieval 33.97/10.26 * by the {@link Throwable#getMessage()} method). 33.97/10.26 * @param cause the cause (which is saved for later retrieval by the 33.97/10.26 * {@link Throwable#getCause()} method). (A null value 33.97/10.26 * is permitted, and indicates that the cause is nonexistent or 33.97/10.26 * unknown.) 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public IllegalArgumentException(String message, Throwable cause) { 33.97/10.26 super(message, cause); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs a new exception with the specified cause and a detail 33.97/10.26 * message of (cause==null ? null : cause.toString()) (which 33.97/10.26 * typically contains the class and detail message of cause). 33.97/10.26 * This constructor is useful for exceptions that are little more than 33.97/10.26 * wrappers for other throwables (for example, {@link 33.97/10.26 * java.security.PrivilegedActionException}). 33.97/10.26 * 33.97/10.26 * @param cause the cause (which is saved for later retrieval by the 33.97/10.26 * {@link Throwable#getCause()} method). (A null value is 33.97/10.26 * permitted, and indicates that the cause is nonexistent or 33.97/10.26 * unknown.) 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public IllegalArgumentException(Throwable cause) { 33.97/10.26 super(cause); 33.97/10.26 } 33.97/10.26 33.97/10.26 private static final long serialVersionUID = -5365630128856068164L; 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 /* 33.97/10.26 * Copyright 1996-2003 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.26 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.26 * 33.97/10.26 * This code is free software; you can redistribute it and/or modify it 33.97/10.26 * under the terms of the GNU General Public License version 2 only, as 33.97/10.26 * published by the Free Software Foundation. Sun designates this 33.97/10.26 * particular file as subject to the "Classpath" exception as provided 33.97/10.26 * by Sun in the LICENSE file that accompanied this code. 33.97/10.26 * 33.97/10.26 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.26 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.26 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.26 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.26 * accompanied this code). 33.97/10.26 * 33.97/10.26 * You should have received a copy of the GNU General Public License version 33.97/10.26 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.26 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.26 * 33.97/10.26 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.26 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.26 * have any questions. 33.97/10.26 */ 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Signals that a method has been invoked at an illegal or 33.97/10.26 * inappropriate time. In other words, the Java environment or 33.97/10.26 * Java application is not in an appropriate state for the requested 33.97/10.26 * operation. 33.97/10.26 * 33.97/10.26 * @author Jonni Kanerva 33.97/10.26 * @since JDK1.1 33.97/10.26 */ 33.97/10.26 public 33.97/10.26 class IllegalStateException extends RuntimeException { 33.97/10.26 /** 33.97/10.26 * Constructs an IllegalStateException with no detail message. 33.97/10.26 * A detail message is a String that describes this particular exception. 33.97/10.26 */ 33.97/10.26 public IllegalStateException() { 33.97/10.26 super(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs an IllegalStateException with the specified detail 33.97/10.26 * message. A detail message is a String that describes this particular 33.97/10.26 * exception. 33.97/10.26 * 33.97/10.26 * @param s the String that contains a detailed message 33.97/10.26 */ 33.97/10.26 public IllegalStateException(String s) { 33.97/10.26 super(s); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs a new exception with the specified detail message and 33.97/10.26 * cause. 33.97/10.26 * 33.97/10.26 *

Note that the detail message associated with cause is 33.97/10.26 * not automatically incorporated in this exception's detail 33.97/10.26 * message. 33.97/10.26 * 33.97/10.26 * @param message the detail message (which is saved for later retrieval 33.97/10.26 * by the {@link Throwable#getMessage()} method). 33.97/10.26 * @param cause the cause (which is saved for later retrieval by the 33.97/10.26 * {@link Throwable#getCause()} method). (A null value 33.97/10.26 * is permitted, and indicates that the cause is nonexistent or 33.97/10.26 * unknown.) 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public IllegalStateException(String message, Throwable cause) { 33.97/10.26 super(message, cause); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs a new exception with the specified cause and a detail 33.97/10.26 * message of (cause==null ? null : cause.toString()) (which 33.97/10.26 * typically contains the class and detail message of cause). 33.97/10.26 * This constructor is useful for exceptions that are little more than 33.97/10.26 * wrappers for other throwables (for example, {@link 33.97/10.26 * java.security.PrivilegedActionException}). 33.97/10.26 * 33.97/10.26 * @param cause the cause (which is saved for later retrieval by the 33.97/10.26 * {@link Throwable#getCause()} method). (A null value is 33.97/10.26 * permitted, and indicates that the cause is nonexistent or 33.97/10.26 * unknown.) 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public IllegalStateException(Throwable cause) { 33.97/10.26 super(cause); 33.97/10.26 } 33.97/10.26 33.97/10.26 static final long serialVersionUID = -1848914673093119416L; 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 /* 33.97/10.26 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.26 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.26 * 33.97/10.26 * This code is free software; you can redistribute it and/or modify it 33.97/10.26 * under the terms of the GNU General Public License version 2 only, as 33.97/10.26 * published by the Free Software Foundation. Sun designates this 33.97/10.26 * particular file as subject to the "Classpath" exception as provided 33.97/10.26 * by Sun in the LICENSE file that accompanied this code. 33.97/10.26 * 33.97/10.26 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.26 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.26 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.26 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.26 * accompanied this code). 33.97/10.26 * 33.97/10.26 * You should have received a copy of the GNU General Public License version 33.97/10.26 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.26 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.26 * 33.97/10.26 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.26 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.26 * have any questions. 33.97/10.26 */ 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * An iterator over a collection. {@code Iterator} takes the place of 33.97/10.26 * {@link Enumeration} in the Java Collections Framework. Iterators 33.97/10.26 * differ from enumerations in two ways: 33.97/10.26 * 33.97/10.26 *

33.97/10.26 * 33.97/10.26 *

This interface is a member of the 33.97/10.26 * 33.97/10.26 * Java Collections Framework. 33.97/10.26 * 33.97/10.26 * @author Josh Bloch 33.97/10.26 * @see Collection 33.97/10.26 * @see ListIterator 33.97/10.26 * @see Iterable 33.97/10.26 * @since 1.2 33.97/10.26 */ 33.97/10.26 public interface Iterator { 33.97/10.26 /** 33.97/10.26 * Returns {@code true} if the iteration has more elements. 33.97/10.26 * (In other words, returns {@code true} if {@link #next} would 33.97/10.26 * return an element rather than throwing an exception.) 33.97/10.26 * 33.97/10.26 * @return {@code true} if the iteration has more elements 33.97/10.26 */ 33.97/10.26 boolean hasNext(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the next element in the iteration. 33.97/10.26 * 33.97/10.26 * @return the next element in the iteration 33.97/10.26 * @throws NoSuchElementException if the iteration has no more elements 33.97/10.26 */ 33.97/10.26 E next(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes from the underlying collection the last element returned 33.97/10.26 * by this iterator (optional operation). This method can be called 33.97/10.26 * only once per call to {@link #next}. The behavior of an iterator 33.97/10.26 * is unspecified if the underlying collection is modified while the 33.97/10.26 * iteration is in progress in any way other than by calling this 33.97/10.26 * method. 33.97/10.26 * 33.97/10.26 * @throws UnsupportedOperationException if the {@code remove} 33.97/10.26 * operation is not supported by this iterator 33.97/10.26 * 33.97/10.26 * @throws IllegalStateException if the {@code next} method has not 33.97/10.26 * yet been called, or the {@code remove} method has already 33.97/10.26 * been called after the last call to the {@code next} 33.97/10.26 * method 33.97/10.26 */ 33.97/10.26 void remove(); 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 public class juLinkedListCreateRemoveFirstOccurrence { 33.97/10.26 public static void main(String[] args) { 33.97/10.26 Random.args = args; 33.97/10.26 33.97/10.26 LinkedList l = createList(Random.random()); 33.97/10.26 Content c = new Content(Random.random()); 33.97/10.26 if (Random.random() > 42) { 33.97/10.26 c = l.get(Random.random()); 33.97/10.26 } 33.97/10.26 l.removeFirstOccurrence(c); 33.97/10.26 } 33.97/10.26 33.97/10.26 public static LinkedList createList(int n) { 33.97/10.26 LinkedList l = new LinkedList(); 33.97/10.26 while (n > 0) { 33.97/10.26 l.addLast(new Content(Random.random())); 33.97/10.26 n--; 33.97/10.26 } 33.97/10.26 return l; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 33.97/10.26 final class Content { 33.97/10.26 int val; 33.97/10.26 33.97/10.26 public Content(int v) { 33.97/10.26 this.val = v; 33.97/10.26 } 33.97/10.26 33.97/10.26 public int hashCode() { 33.97/10.26 return val^31; 33.97/10.26 } 33.97/10.26 33.97/10.26 public boolean equals(Object o) { 33.97/10.26 if (o instanceof Content) { 33.97/10.26 return this.val == ((Content) o).val; 33.97/10.26 } 33.97/10.26 return false; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 /* 33.97/10.26 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.26 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.26 * 33.97/10.26 * This code is free software; you can redistribute it and/or modify it 33.97/10.26 * under the terms of the GNU General Public License version 2 only, as 33.97/10.26 * published by the Free Software Foundation. Sun designates this 33.97/10.26 * particular file as subject to the "Classpath" exception as provided 33.97/10.26 * by Sun in the LICENSE file that accompanied this code. 33.97/10.26 * 33.97/10.26 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.26 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.26 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.26 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.26 * accompanied this code). 33.97/10.26 * 33.97/10.26 * You should have received a copy of the GNU General Public License version 33.97/10.26 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.26 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.26 * 33.97/10.26 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.26 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.26 * have any questions. 33.97/10.26 */ 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Linked list implementation of the List interface. Implements all 33.97/10.26 * optional list operations, and permits all elements (including 33.97/10.26 * null). In addition to implementing the List interface, 33.97/10.26 * the LinkedList class provides uniformly named methods to 33.97/10.26 * get, remove and insert an element at the 33.97/10.26 * beginning and end of the list. These operations allow linked lists to be 33.97/10.26 * used as a stack, {@linkplain Queue queue}, or {@linkplain Deque 33.97/10.26 * double-ended queue}.

33.97/10.26 * 33.97/10.26 * The class implements the Deque interface, providing 33.97/10.26 * first-in-first-out queue operations for add, 33.97/10.26 * poll, along with other stack and deque operations.

33.97/10.26 * 33.97/10.26 * All of the operations perform as could be expected for a doubly-linked 33.97/10.26 * list. Operations that index into the list will traverse the list from 33.97/10.26 * the beginning or the end, whichever is closer to the specified index.

33.97/10.26 * 33.97/10.26 *

Note that this implementation is not synchronized. 33.97/10.26 * If multiple threads access a linked list concurrently, and at least 33.97/10.26 * one of the threads modifies the list structurally, it must be 33.97/10.26 * synchronized externally. (A structural modification is any operation 33.97/10.26 * that adds or deletes one or more elements; merely setting the value of 33.97/10.26 * an element is not a structural modification.) This is typically 33.97/10.26 * accomplished by synchronizing on some object that naturally 33.97/10.26 * encapsulates the list. 33.97/10.26 * 33.97/10.26 * If no such object exists, the list should be "wrapped" using the 33.97/10.26 * {@link Collections#synchronizedList Collections.synchronizedList} 33.97/10.26 * method. This is best done at creation time, to prevent accidental 33.97/10.26 * unsynchronized access to the list:

33.97/10.26	 *   List list = Collections.synchronizedList(new LinkedList(...));
33.97/10.26 * 33.97/10.26 *

The iterators returned by this class's iterator and 33.97/10.26 * listIterator methods are fail-fast: if the list is 33.97/10.26 * structurally modified at any time after the iterator is created, in 33.97/10.26 * any way except through the Iterator's own remove or 33.97/10.26 * add methods, the iterator will throw a {@link 33.97/10.26 * ConcurrentModificationException}. Thus, in the face of concurrent 33.97/10.26 * modification, the iterator fails quickly and cleanly, rather than 33.97/10.26 * risking arbitrary, non-deterministic behavior at an undetermined 33.97/10.26 * time in the future. 33.97/10.26 * 33.97/10.26 *

Note that the fail-fast behavior of an iterator cannot be guaranteed 33.97/10.26 * as it is, generally speaking, impossible to make any hard guarantees in the 33.97/10.26 * presence of unsynchronized concurrent modification. Fail-fast iterators 33.97/10.26 * throw ConcurrentModificationException on a best-effort basis. 33.97/10.26 * Therefore, it would be wrong to write a program that depended on this 33.97/10.26 * exception for its correctness: the fail-fast behavior of iterators 33.97/10.26 * should be used only to detect bugs. 33.97/10.26 * 33.97/10.26 *

This class is a member of the 33.97/10.26 * 33.97/10.26 * Java Collections Framework. 33.97/10.26 * 33.97/10.26 * @author Josh Bloch 33.97/10.26 * @see List 33.97/10.26 * @see ArrayList 33.97/10.26 * @see Vector 33.97/10.26 * @since 1.2 33.97/10.26 * @param the type of elements held in this collection 33.97/10.26 */ 33.97/10.26 33.97/10.26 public class LinkedList 33.97/10.26 extends AbstractSequentialList 33.97/10.26 implements List, Deque 33.97/10.26 { 33.97/10.26 private transient Entry header = new Entry(null, null, null); 33.97/10.26 private transient int size = 0; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs an empty list. 33.97/10.26 */ 33.97/10.26 public LinkedList() { 33.97/10.26 header.next = header.previous = header; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs a list containing the elements of the specified 33.97/10.26 * collection, in the order they are returned by the collection's 33.97/10.26 * iterator. 33.97/10.26 * 33.97/10.26 * @param c the collection whose elements are to be placed into this list 33.97/10.26 * @throws NullPointerException if the specified collection is null 33.97/10.26 */ 33.97/10.26 public LinkedList(Collection c) { 33.97/10.26 this(); 33.97/10.26 addAll(c); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the first element in this list. 33.97/10.26 * 33.97/10.26 * @return the first element in this list 33.97/10.26 * @throws NoSuchElementException if this list is empty 33.97/10.26 */ 33.97/10.26 public E getFirst() { 33.97/10.26 if (size==0) 33.97/10.26 throw new NoSuchElementException(); 33.97/10.26 33.97/10.26 return header.next.element; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the last element in this list. 33.97/10.26 * 33.97/10.26 * @return the last element in this list 33.97/10.26 * @throws NoSuchElementException if this list is empty 33.97/10.26 */ 33.97/10.26 public E getLast() { 33.97/10.26 if (size==0) 33.97/10.26 throw new NoSuchElementException(); 33.97/10.26 33.97/10.26 return header.previous.element; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes and returns the first element from this list. 33.97/10.26 * 33.97/10.26 * @return the first element from this list 33.97/10.26 * @throws NoSuchElementException if this list is empty 33.97/10.26 */ 33.97/10.26 public E removeFirst() { 33.97/10.26 return remove(header.next); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes and returns the last element from this list. 33.97/10.26 * 33.97/10.26 * @return the last element from this list 33.97/10.26 * @throws NoSuchElementException if this list is empty 33.97/10.26 */ 33.97/10.26 public E removeLast() { 33.97/10.26 return remove(header.previous); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Inserts the specified element at the beginning of this list. 33.97/10.26 * 33.97/10.26 * @param e the element to add 33.97/10.26 */ 33.97/10.26 public void addFirst(E e) { 33.97/10.26 addBefore(e, header.next); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Appends the specified element to the end of this list. 33.97/10.26 * 33.97/10.26 *

This method is equivalent to {@link #add}. 33.97/10.26 * 33.97/10.26 * @param e the element to add 33.97/10.26 */ 33.97/10.26 public void addLast(E e) { 33.97/10.26 addBefore(e, header); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns true if this list contains the specified element. 33.97/10.26 * More formally, returns true if and only if this list contains 33.97/10.26 * at least one element e such that 33.97/10.26 * (o==null ? e==null : o.equals(e)). 33.97/10.26 * 33.97/10.26 * @param o element whose presence in this list is to be tested 33.97/10.26 * @return true if this list contains the specified element 33.97/10.26 */ 33.97/10.26 public boolean contains(Object o) { 33.97/10.26 return indexOf(o) != -1; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the number of elements in this list. 33.97/10.26 * 33.97/10.26 * @return the number of elements in this list 33.97/10.26 */ 33.97/10.26 public int size() { 33.97/10.26 return size; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Appends the specified element to the end of this list. 33.97/10.26 * 33.97/10.26 *

This method is equivalent to {@link #addLast}. 33.97/10.26 * 33.97/10.26 * @param e element to be appended to this list 33.97/10.26 * @return true (as specified by {@link Collection#add}) 33.97/10.26 */ 33.97/10.26 public boolean add(E e) { 33.97/10.26 addBefore(e, header); 33.97/10.26 return true; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes the first occurrence of the specified element from this list, 33.97/10.26 * if it is present. If this list does not contain the element, it is 33.97/10.26 * unchanged. More formally, removes the element with the lowest index 33.97/10.26 * i such that 33.97/10.26 * (o==null ? get(i)==null : o.equals(get(i))) 33.97/10.26 * (if such an element exists). Returns true if this list 33.97/10.26 * contained the specified element (or equivalently, if this list 33.97/10.26 * changed as a result of the call). 33.97/10.26 * 33.97/10.26 * @param o element to be removed from this list, if present 33.97/10.26 * @return true if this list contained the specified element 33.97/10.26 */ 33.97/10.26 public boolean remove(Object o) { 33.97/10.26 if (o==null) { 33.97/10.26 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.26 if (e.element==null) { 33.97/10.26 remove(e); 33.97/10.26 return true; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 } else { 33.97/10.26 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.26 if (o.equals(e.element)) { 33.97/10.26 remove(e); 33.97/10.26 return true; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 } 33.97/10.26 return false; 33.97/10.26 } 33.97/10.26 /** 33.97/10.26 * Removes all of the elements from this list. 33.97/10.26 */ 33.97/10.26 public void clear() { 33.97/10.26 Entry e = header.next; 33.97/10.26 while (e != header) { 33.97/10.26 Entry next = e.next; 33.97/10.26 e.next = e.previous = null; 33.97/10.26 e.element = null; 33.97/10.26 e = next; 33.97/10.26 } 33.97/10.26 header.next = header.previous = header; 33.97/10.26 size = 0; 33.97/10.26 modCount++; 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 // Positional Access Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the element at the specified position in this list. 33.97/10.26 * 33.97/10.26 * @param index index of the element to return 33.97/10.26 * @return the element at the specified position in this list 33.97/10.26 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.26 */ 33.97/10.26 public E get(int index) { 33.97/10.26 return entry(index).element; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Replaces the element at the specified position in this list with the 33.97/10.26 * specified element. 33.97/10.26 * 33.97/10.26 * @param index index of the element to replace 33.97/10.26 * @param element element to be stored at the specified position 33.97/10.26 * @return the element previously at the specified position 33.97/10.26 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.26 */ 33.97/10.26 public E set(int index, E element) { 33.97/10.26 Entry e = entry(index); 33.97/10.26 E oldVal = e.element; 33.97/10.26 e.element = element; 33.97/10.26 return oldVal; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Inserts the specified element at the specified position in this list. 33.97/10.26 * Shifts the element currently at that position (if any) and any 33.97/10.26 * subsequent elements to the right (adds one to their indices). 33.97/10.26 * 33.97/10.26 * @param index index at which the specified element is to be inserted 33.97/10.26 * @param element element to be inserted 33.97/10.26 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.26 */ 33.97/10.26 public void add(int index, E element) { 33.97/10.26 addBefore(element, (index==size ? header : entry(index))); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes the element at the specified position in this list. Shifts any 33.97/10.26 * subsequent elements to the left (subtracts one from their indices). 33.97/10.26 * Returns the element that was removed from the list. 33.97/10.26 * 33.97/10.26 * @param index the index of the element to be removed 33.97/10.26 * @return the element previously at the specified position 33.97/10.26 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.26 */ 33.97/10.26 public E remove(int index) { 33.97/10.26 return remove(entry(index)); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the indexed entry. 33.97/10.26 */ 33.97/10.26 private Entry entry(int index) { 33.97/10.26 if (index < 0 || index >= size) 33.97/10.26 throw new IndexOutOfBoundsException(); 33.97/10.26 Entry e = header; 33.97/10.26 if (index < (size >> 1)) { 33.97/10.26 for (int i = 0; i <= index; i++) 33.97/10.26 e = e.next; 33.97/10.26 } else { 33.97/10.26 for (int i = size; i > index; i--) 33.97/10.26 e = e.previous; 33.97/10.26 } 33.97/10.26 return e; 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 // Search Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the index of the first occurrence of the specified element 33.97/10.26 * in this list, or -1 if this list does not contain the element. 33.97/10.26 * More formally, returns the lowest index i such that 33.97/10.26 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.26 * or -1 if there is no such index. 33.97/10.26 * 33.97/10.26 * @param o element to search for 33.97/10.26 * @return the index of the first occurrence of the specified element in 33.97/10.26 * this list, or -1 if this list does not contain the element 33.97/10.26 */ 33.97/10.26 public int indexOf(Object o) { 33.97/10.26 int index = 0; 33.97/10.26 if (o==null) { 33.97/10.26 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.26 if (e.element==null) 33.97/10.26 return index; 33.97/10.26 index++; 33.97/10.26 } 33.97/10.26 } else { 33.97/10.26 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.26 if (o.equals(e.element)) 33.97/10.26 return index; 33.97/10.26 index++; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 return -1; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the index of the last occurrence of the specified element 33.97/10.26 * in this list, or -1 if this list does not contain the element. 33.97/10.26 * More formally, returns the highest index i such that 33.97/10.26 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.26 * or -1 if there is no such index. 33.97/10.26 * 33.97/10.26 * @param o element to search for 33.97/10.26 * @return the index of the last occurrence of the specified element in 33.97/10.26 * this list, or -1 if this list does not contain the element 33.97/10.26 */ 33.97/10.26 public int lastIndexOf(Object o) { 33.97/10.26 int index = size; 33.97/10.26 if (o==null) { 33.97/10.26 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.26 index--; 33.97/10.26 if (e.element==null) 33.97/10.26 return index; 33.97/10.26 } 33.97/10.26 } else { 33.97/10.26 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.26 index--; 33.97/10.26 if (o.equals(e.element)) 33.97/10.26 return index; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 return -1; 33.97/10.26 } 33.97/10.26 33.97/10.26 // Queue operations. 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves, but does not remove, the head (first element) of this list. 33.97/10.26 * @return the head of this list, or null if this list is empty 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public E peek() { 33.97/10.26 if (size==0) 33.97/10.26 return null; 33.97/10.26 return getFirst(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves, but does not remove, the head (first element) of this list. 33.97/10.26 * @return the head of this list 33.97/10.26 * @throws NoSuchElementException if this list is empty 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public E element() { 33.97/10.26 return getFirst(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves and removes the head (first element) of this list 33.97/10.26 * @return the head of this list, or null if this list is empty 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public E poll() { 33.97/10.26 if (size==0) 33.97/10.26 return null; 33.97/10.26 return removeFirst(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves and removes the head (first element) of this list. 33.97/10.26 * 33.97/10.26 * @return the head of this list 33.97/10.26 * @throws NoSuchElementException if this list is empty 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public E remove() { 33.97/10.26 return removeFirst(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Adds the specified element as the tail (last element) of this list. 33.97/10.26 * 33.97/10.26 * @param e the element to add 33.97/10.26 * @return true (as specified by {@link Queue#offer}) 33.97/10.26 * @since 1.5 33.97/10.26 */ 33.97/10.26 public boolean offer(E e) { 33.97/10.26 return add(e); 33.97/10.26 } 33.97/10.26 33.97/10.26 // Deque operations 33.97/10.26 /** 33.97/10.26 * Inserts the specified element at the front of this list. 33.97/10.26 * 33.97/10.26 * @param e the element to insert 33.97/10.26 * @return true (as specified by {@link Deque#offerFirst}) 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public boolean offerFirst(E e) { 33.97/10.26 addFirst(e); 33.97/10.26 return true; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Inserts the specified element at the end of this list. 33.97/10.26 * 33.97/10.26 * @param e the element to insert 33.97/10.26 * @return true (as specified by {@link Deque#offerLast}) 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public boolean offerLast(E e) { 33.97/10.26 addLast(e); 33.97/10.26 return true; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves, but does not remove, the first element of this list, 33.97/10.26 * or returns null if this list is empty. 33.97/10.26 * 33.97/10.26 * @return the first element of this list, or null 33.97/10.26 * if this list is empty 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public E peekFirst() { 33.97/10.26 if (size==0) 33.97/10.26 return null; 33.97/10.26 return getFirst(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves, but does not remove, the last element of this list, 33.97/10.26 * or returns null if this list is empty. 33.97/10.26 * 33.97/10.26 * @return the last element of this list, or null 33.97/10.26 * if this list is empty 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public E peekLast() { 33.97/10.26 if (size==0) 33.97/10.26 return null; 33.97/10.26 return getLast(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves and removes the first element of this list, 33.97/10.26 * or returns null if this list is empty. 33.97/10.26 * 33.97/10.26 * @return the first element of this list, or null if 33.97/10.26 * this list is empty 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public E pollFirst() { 33.97/10.26 if (size==0) 33.97/10.26 return null; 33.97/10.26 return removeFirst(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retrieves and removes the last element of this list, 33.97/10.26 * or returns null if this list is empty. 33.97/10.26 * 33.97/10.26 * @return the last element of this list, or null if 33.97/10.26 * this list is empty 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public E pollLast() { 33.97/10.26 if (size==0) 33.97/10.26 return null; 33.97/10.26 return removeLast(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Pushes an element onto the stack represented by this list. In other 33.97/10.26 * words, inserts the element at the front of this list. 33.97/10.26 * 33.97/10.26 *

This method is equivalent to {@link #addFirst}. 33.97/10.26 * 33.97/10.26 * @param e the element to push 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public void push(E e) { 33.97/10.26 addFirst(e); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Pops an element from the stack represented by this list. In other 33.97/10.26 * words, removes and returns the first element of this list. 33.97/10.26 * 33.97/10.26 *

This method is equivalent to {@link #removeFirst()}. 33.97/10.26 * 33.97/10.26 * @return the element at the front of this list (which is the top 33.97/10.26 * of the stack represented by this list) 33.97/10.26 * @throws NoSuchElementException if this list is empty 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public E pop() { 33.97/10.26 return removeFirst(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes the first occurrence of the specified element in this 33.97/10.26 * list (when traversing the list from head to tail). If the list 33.97/10.26 * does not contain the element, it is unchanged. 33.97/10.26 * 33.97/10.26 * @param o element to be removed from this list, if present 33.97/10.26 * @return true if the list contained the specified element 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public boolean removeFirstOccurrence(Object o) { 33.97/10.26 return remove(o); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes the last occurrence of the specified element in this 33.97/10.26 * list (when traversing the list from head to tail). If the list 33.97/10.26 * does not contain the element, it is unchanged. 33.97/10.26 * 33.97/10.26 * @param o element to be removed from this list, if present 33.97/10.26 * @return true if the list contained the specified element 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public boolean removeLastOccurrence(Object o) { 33.97/10.26 if (o==null) { 33.97/10.26 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.26 if (e.element==null) { 33.97/10.26 remove(e); 33.97/10.26 return true; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 } else { 33.97/10.26 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.26 if (o.equals(e.element)) { 33.97/10.26 remove(e); 33.97/10.26 return true; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 } 33.97/10.26 return false; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns a list-iterator of the elements in this list (in proper 33.97/10.26 * sequence), starting at the specified position in the list. 33.97/10.26 * Obeys the general contract of List.listIterator(int).

33.97/10.26 * 33.97/10.26 * The list-iterator is fail-fast: if the list is structurally 33.97/10.26 * modified at any time after the Iterator is created, in any way except 33.97/10.26 * through the list-iterator's own remove or add 33.97/10.26 * methods, the list-iterator will throw a 33.97/10.26 * ConcurrentModificationException. Thus, in the face of 33.97/10.26 * concurrent modification, the iterator fails quickly and cleanly, rather 33.97/10.26 * than risking arbitrary, non-deterministic behavior at an undetermined 33.97/10.26 * time in the future. 33.97/10.26 * 33.97/10.26 * @param index index of the first element to be returned from the 33.97/10.26 * list-iterator (by a call to next) 33.97/10.26 * @return a ListIterator of the elements in this list (in proper 33.97/10.26 * sequence), starting at the specified position in the list 33.97/10.26 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.26 * @see List#listIterator(int) 33.97/10.26 */ 33.97/10.26 public ListIterator listIterator(int index) { 33.97/10.26 return new ListItr(index); 33.97/10.26 } 33.97/10.26 33.97/10.26 private class ListItr implements ListIterator { 33.97/10.26 private Entry lastReturned = header; 33.97/10.26 private Entry next; 33.97/10.26 private int nextIndex; 33.97/10.26 private int expectedModCount = modCount; 33.97/10.26 33.97/10.26 ListItr(int index) { 33.97/10.26 if (index < 0 || index > size) 33.97/10.26 throw new IndexOutOfBoundsException(); 33.97/10.26 if (index < (size >> 1)) { 33.97/10.26 next = header.next; 33.97/10.26 for (nextIndex=0; nextIndexindex; nextIndex--) 33.97/10.26 next = next.previous; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 33.97/10.26 public boolean hasNext() { 33.97/10.26 return nextIndex != size; 33.97/10.26 } 33.97/10.26 33.97/10.26 public E next() { 33.97/10.26 checkForComodification(); 33.97/10.26 if (nextIndex == size) 33.97/10.26 throw new NoSuchElementException(); 33.97/10.26 33.97/10.26 lastReturned = next; 33.97/10.26 next = next.next; 33.97/10.26 nextIndex++; 33.97/10.26 return lastReturned.element; 33.97/10.26 } 33.97/10.26 33.97/10.26 public boolean hasPrevious() { 33.97/10.26 return nextIndex != 0; 33.97/10.26 } 33.97/10.26 33.97/10.26 public E previous() { 33.97/10.26 if (nextIndex == 0) 33.97/10.26 throw new NoSuchElementException(); 33.97/10.26 33.97/10.26 lastReturned = next = next.previous; 33.97/10.26 nextIndex--; 33.97/10.26 checkForComodification(); 33.97/10.26 return lastReturned.element; 33.97/10.26 } 33.97/10.26 33.97/10.26 public int nextIndex() { 33.97/10.26 return nextIndex; 33.97/10.26 } 33.97/10.26 33.97/10.26 public int previousIndex() { 33.97/10.26 return nextIndex-1; 33.97/10.26 } 33.97/10.26 33.97/10.26 public void remove() { 33.97/10.26 checkForComodification(); 33.97/10.26 Entry lastNext = lastReturned.next; 33.97/10.26 try { 33.97/10.26 LinkedList.this.remove(lastReturned); 33.97/10.26 } catch (NoSuchElementException e) { 33.97/10.26 throw new IllegalStateException(); 33.97/10.26 } 33.97/10.26 if (next==lastReturned) 33.97/10.26 next = lastNext; 33.97/10.26 else 33.97/10.26 nextIndex--; 33.97/10.26 lastReturned = header; 33.97/10.26 expectedModCount++; 33.97/10.26 } 33.97/10.26 33.97/10.26 public void set(E e) { 33.97/10.26 if (lastReturned == header) 33.97/10.26 throw new IllegalStateException(); 33.97/10.26 checkForComodification(); 33.97/10.26 lastReturned.element = e; 33.97/10.26 } 33.97/10.26 33.97/10.26 public void add(E e) { 33.97/10.26 checkForComodification(); 33.97/10.26 lastReturned = header; 33.97/10.26 addBefore(e, next); 33.97/10.26 nextIndex++; 33.97/10.26 expectedModCount++; 33.97/10.26 } 33.97/10.26 33.97/10.26 final void checkForComodification() { 33.97/10.26 if (modCount != expectedModCount) 33.97/10.26 throw new ConcurrentModificationException(); 33.97/10.26 } 33.97/10.26 } 33.97/10.26 33.97/10.26 private static class Entry { 33.97/10.26 E element; 33.97/10.26 Entry next; 33.97/10.26 Entry previous; 33.97/10.26 33.97/10.26 Entry(E element, Entry next, Entry previous) { 33.97/10.26 this.element = element; 33.97/10.26 this.next = next; 33.97/10.26 this.previous = previous; 33.97/10.26 } 33.97/10.26 } 33.97/10.26 33.97/10.26 private Entry addBefore(E e, Entry entry) { 33.97/10.26 Entry newEntry = new Entry(e, entry, entry.previous); 33.97/10.26 newEntry.previous.next = newEntry; 33.97/10.26 newEntry.next.previous = newEntry; 33.97/10.26 size++; 33.97/10.26 modCount++; 33.97/10.26 return newEntry; 33.97/10.26 } 33.97/10.26 33.97/10.26 private E remove(Entry e) { 33.97/10.26 if (e == header) 33.97/10.26 throw new NoSuchElementException(); 33.97/10.26 33.97/10.26 E result = e.element; 33.97/10.26 e.previous.next = e.next; 33.97/10.26 e.next.previous = e.previous; 33.97/10.26 e.next = e.previous = null; 33.97/10.26 e.element = null; 33.97/10.26 size--; 33.97/10.26 modCount++; 33.97/10.26 return result; 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * @since 1.6 33.97/10.26 */ 33.97/10.26 public Iterator descendingIterator() { 33.97/10.26 return new DescendingIterator(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** Adapter to provide descending iterators via ListItr.previous */ 33.97/10.26 private class DescendingIterator implements Iterator { 33.97/10.26 final ListItr itr = new ListItr(size()); 33.97/10.26 public boolean hasNext() { 33.97/10.26 return itr.hasPrevious(); 33.97/10.26 } 33.97/10.26 public E next() { 33.97/10.26 return itr.previous(); 33.97/10.26 } 33.97/10.26 public void remove() { 33.97/10.26 itr.remove(); 33.97/10.26 } 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns an array containing all of the elements in this list 33.97/10.26 * in proper sequence (from first to last element). 33.97/10.26 * 33.97/10.26 *

The returned array will be "safe" in that no references to it are 33.97/10.26 * maintained by this list. (In other words, this method must allocate 33.97/10.26 * a new array). The caller is thus free to modify the returned array. 33.97/10.26 * 33.97/10.26 *

This method acts as bridge between array-based and collection-based 33.97/10.26 * APIs. 33.97/10.26 * 33.97/10.26 * @return an array containing all of the elements in this list 33.97/10.26 * in proper sequence 33.97/10.26 */ 33.97/10.26 public Object[] toArray() { 33.97/10.26 Object[] result = new Object[size]; 33.97/10.26 int i = 0; 33.97/10.26 for (Entry e = header.next; e != header; e = e.next) 33.97/10.26 result[i++] = e.element; 33.97/10.26 return result; 33.97/10.26 } 33.97/10.26 33.97/10.26 private static final long serialVersionUID = 876323262645176354L; 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 /* 33.97/10.26 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.26 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.26 * 33.97/10.26 * This code is free software; you can redistribute it and/or modify it 33.97/10.26 * under the terms of the GNU General Public License version 2 only, as 33.97/10.26 * published by the Free Software Foundation. Sun designates this 33.97/10.26 * particular file as subject to the "Classpath" exception as provided 33.97/10.26 * by Sun in the LICENSE file that accompanied this code. 33.97/10.26 * 33.97/10.26 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.26 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.26 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.26 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.26 * accompanied this code). 33.97/10.26 * 33.97/10.26 * You should have received a copy of the GNU General Public License version 33.97/10.26 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.26 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.26 * 33.97/10.26 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.26 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.26 * have any questions. 33.97/10.26 */ 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * An iterator for lists that allows the programmer 33.97/10.26 * to traverse the list in either direction, modify 33.97/10.26 * the list during iteration, and obtain the iterator's 33.97/10.26 * current position in the list. A {@code ListIterator} 33.97/10.26 * has no current element; its cursor position always 33.97/10.26 * lies between the element that would be returned by a call 33.97/10.26 * to {@code previous()} and the element that would be 33.97/10.26 * returned by a call to {@code next()}. 33.97/10.26 * An iterator for a list of length {@code n} has {@code n+1} possible 33.97/10.26 * cursor positions, as illustrated by the carets ({@code ^}) below: 33.97/10.26 *

33.97/10.26	 *                      Element(0)   Element(1)   Element(2)   ... Element(n-1)
33.97/10.26	 * cursor positions:  ^            ^            ^            ^                  ^
33.97/10.26	 * 
33.97/10.26 * Note that the {@link #remove} and {@link #set(Object)} methods are 33.97/10.26 * not defined in terms of the cursor position; they are defined to 33.97/10.26 * operate on the last element returned by a call to {@link #next} or 33.97/10.26 * {@link #previous()}. 33.97/10.26 * 33.97/10.26 *

This interface is a member of the 33.97/10.26 * 33.97/10.26 * Java Collections Framework. 33.97/10.26 * 33.97/10.26 * @author Josh Bloch 33.97/10.26 * @see Collection 33.97/10.26 * @see List 33.97/10.26 * @see Iterator 33.97/10.26 * @see Enumeration 33.97/10.26 * @see List#listIterator() 33.97/10.26 * @since 1.2 33.97/10.26 */ 33.97/10.26 public interface ListIterator extends Iterator { 33.97/10.26 // Query Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns {@code true} if this list iterator has more elements when 33.97/10.26 * traversing the list in the forward direction. (In other words, 33.97/10.26 * returns {@code true} if {@link #next} would return an element rather 33.97/10.26 * than throwing an exception.) 33.97/10.26 * 33.97/10.26 * @return {@code true} if the list iterator has more elements when 33.97/10.26 * traversing the list in the forward direction 33.97/10.26 */ 33.97/10.26 boolean hasNext(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the next element in the list and advances the cursor position. 33.97/10.26 * This method may be called repeatedly to iterate through the list, 33.97/10.26 * or intermixed with calls to {@link #previous} to go back and forth. 33.97/10.26 * (Note that alternating calls to {@code next} and {@code previous} 33.97/10.26 * will return the same element repeatedly.) 33.97/10.26 * 33.97/10.26 * @return the next element in the list 33.97/10.26 * @throws NoSuchElementException if the iteration has no next element 33.97/10.26 */ 33.97/10.26 E next(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns {@code true} if this list iterator has more elements when 33.97/10.26 * traversing the list in the reverse direction. (In other words, 33.97/10.26 * returns {@code true} if {@link #previous} would return an element 33.97/10.26 * rather than throwing an exception.) 33.97/10.26 * 33.97/10.26 * @return {@code true} if the list iterator has more elements when 33.97/10.26 * traversing the list in the reverse direction 33.97/10.26 */ 33.97/10.26 boolean hasPrevious(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the previous element in the list and moves the cursor 33.97/10.26 * position backwards. This method may be called repeatedly to 33.97/10.26 * iterate through the list backwards, or intermixed with calls to 33.97/10.26 * {@link #next} to go back and forth. (Note that alternating calls 33.97/10.26 * to {@code next} and {@code previous} will return the same 33.97/10.26 * element repeatedly.) 33.97/10.26 * 33.97/10.26 * @return the previous element in the list 33.97/10.26 * @throws NoSuchElementException if the iteration has no previous 33.97/10.26 * element 33.97/10.26 */ 33.97/10.26 E previous(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the index of the element that would be returned by a 33.97/10.26 * subsequent call to {@link #next}. (Returns list size if the list 33.97/10.26 * iterator is at the end of the list.) 33.97/10.26 * 33.97/10.26 * @return the index of the element that would be returned by a 33.97/10.26 * subsequent call to {@code next}, or list size if the list 33.97/10.26 * iterator is at the end of the list 33.97/10.26 */ 33.97/10.26 int nextIndex(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the index of the element that would be returned by a 33.97/10.26 * subsequent call to {@link #previous}. (Returns -1 if the list 33.97/10.26 * iterator is at the beginning of the list.) 33.97/10.26 * 33.97/10.26 * @return the index of the element that would be returned by a 33.97/10.26 * subsequent call to {@code previous}, or -1 if the list 33.97/10.26 * iterator is at the beginning of the list 33.97/10.26 */ 33.97/10.26 int previousIndex(); 33.97/10.26 33.97/10.26 33.97/10.26 // Modification Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes from the list the last element that was returned by {@link 33.97/10.26 * #next} or {@link #previous} (optional operation). This call can 33.97/10.26 * only be made once per call to {@code next} or {@code previous}. 33.97/10.26 * It can be made only if {@link #add} has not been 33.97/10.26 * called after the last call to {@code next} or {@code previous}. 33.97/10.26 * 33.97/10.26 * @throws UnsupportedOperationException if the {@code remove} 33.97/10.26 * operation is not supported by this list iterator 33.97/10.26 * @throws IllegalStateException if neither {@code next} nor 33.97/10.26 * {@code previous} have been called, or {@code remove} or 33.97/10.26 * {@code add} have been called after the last call to 33.97/10.26 * {@code next} or {@code previous} 33.97/10.26 */ 33.97/10.26 void remove(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Replaces the last element returned by {@link #next} or 33.97/10.26 * {@link #previous} with the specified element (optional operation). 33.97/10.26 * This call can be made only if neither {@link #remove} nor {@link 33.97/10.26 * #add} have been called after the last call to {@code next} or 33.97/10.26 * {@code previous}. 33.97/10.26 * 33.97/10.26 * @param e the element with which to replace the last element returned by 33.97/10.26 * {@code next} or {@code previous} 33.97/10.26 * @throws UnsupportedOperationException if the {@code set} operation 33.97/10.26 * is not supported by this list iterator 33.97/10.26 * @throws ClassCastException if the class of the specified element 33.97/10.26 * prevents it from being added to this list 33.97/10.26 * @throws IllegalArgumentException if some aspect of the specified 33.97/10.26 * element prevents it from being added to this list 33.97/10.26 * @throws IllegalStateException if neither {@code next} nor 33.97/10.26 * {@code previous} have been called, or {@code remove} or 33.97/10.26 * {@code add} have been called after the last call to 33.97/10.26 * {@code next} or {@code previous} 33.97/10.26 */ 33.97/10.26 void set(E e); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Inserts the specified element into the list (optional operation). 33.97/10.26 * The element is inserted immediately before the next element that 33.97/10.26 * would be returned by {@link #next}, if any, and after the next 33.97/10.26 * element that would be returned by {@link #previous}, if any. (If the 33.97/10.26 * list contains no elements, the new element becomes the sole element 33.97/10.26 * on the list.) The new element is inserted before the implicit 33.97/10.26 * cursor: a subsequent call to {@code next} would be unaffected, and a 33.97/10.26 * subsequent call to {@code previous} would return the new element. 33.97/10.26 * (This call increases by one the value that would be returned by a 33.97/10.26 * call to {@code nextIndex} or {@code previousIndex}.) 33.97/10.26 * 33.97/10.26 * @param e the element to insert 33.97/10.26 * @throws UnsupportedOperationException if the {@code add} method is 33.97/10.26 * not supported by this list iterator 33.97/10.26 * @throws ClassCastException if the class of the specified element 33.97/10.26 * prevents it from being added to this list 33.97/10.26 * @throws IllegalArgumentException if some aspect of this element 33.97/10.26 * prevents it from being added to this list 33.97/10.26 */ 33.97/10.26 void add(E e); 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 /* 33.97/10.26 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.26 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.26 * 33.97/10.26 * This code is free software; you can redistribute it and/or modify it 33.97/10.26 * under the terms of the GNU General Public License version 2 only, as 33.97/10.26 * published by the Free Software Foundation. Sun designates this 33.97/10.26 * particular file as subject to the "Classpath" exception as provided 33.97/10.26 * by Sun in the LICENSE file that accompanied this code. 33.97/10.26 * 33.97/10.26 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.26 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.26 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.26 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.26 * accompanied this code). 33.97/10.26 * 33.97/10.26 * You should have received a copy of the GNU General Public License version 33.97/10.26 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.26 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.26 * 33.97/10.26 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.26 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.26 * have any questions. 33.97/10.26 */ 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * An ordered collection (also known as a sequence). The user of this 33.97/10.26 * interface has precise control over where in the list each element is 33.97/10.26 * inserted. The user can access elements by their integer index (position in 33.97/10.26 * the list), and search for elements in the list.

33.97/10.26 * 33.97/10.26 * Unlike sets, lists typically allow duplicate elements. More formally, 33.97/10.26 * lists typically allow pairs of elements e1 and e2 33.97/10.26 * such that e1.equals(e2), and they typically allow multiple 33.97/10.26 * null elements if they allow null elements at all. It is not inconceivable 33.97/10.26 * that someone might wish to implement a list that prohibits duplicates, by 33.97/10.26 * throwing runtime exceptions when the user attempts to insert them, but we 33.97/10.26 * expect this usage to be rare.

33.97/10.26 * 33.97/10.26 * The List interface places additional stipulations, beyond those 33.97/10.26 * specified in the Collection interface, on the contracts of the 33.97/10.26 * iterator, add, remove, equals, and 33.97/10.26 * hashCode methods. Declarations for other inherited methods are 33.97/10.26 * also included here for convenience.

33.97/10.26 * 33.97/10.26 * The List interface provides four methods for positional (indexed) 33.97/10.26 * access to list elements. Lists (like Java arrays) are zero based. Note 33.97/10.26 * that these operations may execute in time proportional to the index value 33.97/10.26 * for some implementations (the LinkedList class, for 33.97/10.26 * example). Thus, iterating over the elements in a list is typically 33.97/10.26 * preferable to indexing through it if the caller does not know the 33.97/10.26 * implementation.

33.97/10.26 * 33.97/10.26 * The List interface provides a special iterator, called a 33.97/10.26 * ListIterator, that allows element insertion and replacement, and 33.97/10.26 * bidirectional access in addition to the normal operations that the 33.97/10.26 * Iterator interface provides. A method is provided to obtain a 33.97/10.26 * list iterator that starts at a specified position in the list.

33.97/10.26 * 33.97/10.26 * The List interface provides two methods to search for a specified 33.97/10.26 * object. From a performance standpoint, these methods should be used with 33.97/10.26 * caution. In many implementations they will perform costly linear 33.97/10.26 * searches.

33.97/10.26 * 33.97/10.26 * The List interface provides two methods to efficiently insert and 33.97/10.26 * remove multiple elements at an arbitrary point in the list.

33.97/10.26 * 33.97/10.26 * Note: While it is permissible for lists to contain themselves as elements, 33.97/10.26 * extreme caution is advised: the equals and hashCode 33.97/10.26 * methods are no longer well defined on such a list. 33.97/10.26 * 33.97/10.26 *

Some list implementations have restrictions on the elements that 33.97/10.26 * they may contain. For example, some implementations prohibit null elements, 33.97/10.26 * and some have restrictions on the types of their elements. Attempting to 33.97/10.26 * add an ineligible element throws an unchecked exception, typically 33.97/10.26 * NullPointerException or ClassCastException. Attempting 33.97/10.26 * to query the presence of an ineligible element may throw an exception, 33.97/10.26 * or it may simply return false; some implementations will exhibit the former 33.97/10.26 * behavior and some will exhibit the latter. More generally, attempting an 33.97/10.26 * operation on an ineligible element whose completion would not result in 33.97/10.26 * the insertion of an ineligible element into the list may throw an 33.97/10.26 * exception or it may succeed, at the option of the implementation. 33.97/10.26 * Such exceptions are marked as "optional" in the specification for this 33.97/10.26 * interface. 33.97/10.26 * 33.97/10.26 *

This interface is a member of the 33.97/10.26 * 33.97/10.26 * Java Collections Framework. 33.97/10.26 * 33.97/10.26 * @author Josh Bloch 33.97/10.26 * @author Neal Gafter 33.97/10.26 * @see Collection 33.97/10.26 * @see Set 33.97/10.26 * @see ArrayList 33.97/10.26 * @see LinkedList 33.97/10.26 * @see Vector 33.97/10.26 * @see Arrays#asList(Object[]) 33.97/10.26 * @see Collections#nCopies(int, Object) 33.97/10.26 * @see Collections#EMPTY_LIST 33.97/10.26 * @see AbstractList 33.97/10.26 * @see AbstractSequentialList 33.97/10.26 * @since 1.2 33.97/10.26 */ 33.97/10.26 33.97/10.26 public interface List extends Collection { 33.97/10.26 // Query Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the number of elements in this list. If this list contains 33.97/10.26 * more than Integer.MAX_VALUE elements, returns 33.97/10.26 * Integer.MAX_VALUE. 33.97/10.26 * 33.97/10.26 * @return the number of elements in this list 33.97/10.26 */ 33.97/10.26 int size(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns true if this list contains no elements. 33.97/10.26 * 33.97/10.26 * @return true if this list contains no elements 33.97/10.26 */ 33.97/10.26 boolean isEmpty(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns true if this list contains the specified element. 33.97/10.26 * More formally, returns true if and only if this list contains 33.97/10.26 * at least one element e such that 33.97/10.26 * (o==null ? e==null : o.equals(e)). 33.97/10.26 * 33.97/10.26 * @param o element whose presence in this list is to be tested 33.97/10.26 * @return true if this list contains the specified element 33.97/10.26 * @throws ClassCastException if the type of the specified element 33.97/10.26 * is incompatible with this list (optional) 33.97/10.26 * @throws NullPointerException if the specified element is null and this 33.97/10.26 * list does not permit null elements (optional) 33.97/10.26 */ 33.97/10.26 boolean contains(Object o); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns an iterator over the elements in this list in proper sequence. 33.97/10.26 * 33.97/10.26 * @return an iterator over the elements in this list in proper sequence 33.97/10.26 */ 33.97/10.26 Iterator iterator(); 33.97/10.26 33.97/10.26 // Modification Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Appends the specified element to the end of this list (optional 33.97/10.26 * operation). 33.97/10.26 * 33.97/10.26 *

Lists that support this operation may place limitations on what 33.97/10.26 * elements may be added to this list. In particular, some 33.97/10.26 * lists will refuse to add null elements, and others will impose 33.97/10.26 * restrictions on the type of elements that may be added. List 33.97/10.26 * classes should clearly specify in their documentation any restrictions 33.97/10.26 * on what elements may be added. 33.97/10.26 * 33.97/10.26 * @param e element to be appended to this list 33.97/10.26 * @return true (as specified by {@link Collection#add}) 33.97/10.26 * @throws UnsupportedOperationException if the add operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws ClassCastException if the class of the specified element 33.97/10.26 * prevents it from being added to this list 33.97/10.26 * @throws NullPointerException if the specified element is null and this 33.97/10.26 * list does not permit null elements 33.97/10.26 * @throws IllegalArgumentException if some property of this element 33.97/10.26 * prevents it from being added to this list 33.97/10.26 */ 33.97/10.26 boolean add(E e); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes the first occurrence of the specified element from this list, 33.97/10.26 * if it is present (optional operation). If this list does not contain 33.97/10.26 * the element, it is unchanged. More formally, removes the element with 33.97/10.26 * the lowest index i such that 33.97/10.26 * (o==null ? get(i)==null : o.equals(get(i))) 33.97/10.26 * (if such an element exists). Returns true if this list 33.97/10.26 * contained the specified element (or equivalently, if this list changed 33.97/10.26 * as a result of the call). 33.97/10.26 * 33.97/10.26 * @param o element to be removed from this list, if present 33.97/10.26 * @return true if this list contained the specified element 33.97/10.26 * @throws ClassCastException if the type of the specified element 33.97/10.26 * is incompatible with this list (optional) 33.97/10.26 * @throws NullPointerException if the specified element is null and this 33.97/10.26 * list does not permit null elements (optional) 33.97/10.26 * @throws UnsupportedOperationException if the remove operation 33.97/10.26 * is not supported by this list 33.97/10.26 */ 33.97/10.26 boolean remove(Object o); 33.97/10.26 33.97/10.26 33.97/10.26 // Bulk Modification Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns true if this list contains all of the elements of the 33.97/10.26 * specified collection. 33.97/10.26 * 33.97/10.26 * @param c collection to be checked for containment in this list 33.97/10.26 * @return true if this list contains all of the elements of the 33.97/10.26 * specified collection 33.97/10.26 * @throws ClassCastException if the types of one or more elements 33.97/10.26 * in the specified collection are incompatible with this 33.97/10.26 * list (optional) 33.97/10.26 * @throws NullPointerException if the specified collection contains one 33.97/10.26 * or more null elements and this list does not permit null 33.97/10.26 * elements (optional), or if the specified collection is null 33.97/10.26 * @see #contains(Object) 33.97/10.26 */ 33.97/10.26 boolean containsAll(Collection c); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Appends all of the elements in the specified collection to the end of 33.97/10.26 * this list, in the order that they are returned by the specified 33.97/10.26 * collection's iterator (optional operation). The behavior of this 33.97/10.26 * operation is undefined if the specified collection is modified while 33.97/10.26 * the operation is in progress. (Note that this will occur if the 33.97/10.26 * specified collection is this list, and it's nonempty.) 33.97/10.26 * 33.97/10.26 * @param c collection containing elements to be added to this list 33.97/10.26 * @return true if this list changed as a result of the call 33.97/10.26 * @throws UnsupportedOperationException if the addAll operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws ClassCastException if the class of an element of the specified 33.97/10.26 * collection prevents it from being added to this list 33.97/10.26 * @throws NullPointerException if the specified collection contains one 33.97/10.26 * or more null elements and this list does not permit null 33.97/10.26 * elements, or if the specified collection is null 33.97/10.26 * @throws IllegalArgumentException if some property of an element of the 33.97/10.26 * specified collection prevents it from being added to this list 33.97/10.26 * @see #add(Object) 33.97/10.26 */ 33.97/10.26 boolean addAll(Collection c); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Inserts all of the elements in the specified collection into this 33.97/10.26 * list at the specified position (optional operation). Shifts the 33.97/10.26 * element currently at that position (if any) and any subsequent 33.97/10.26 * elements to the right (increases their indices). The new elements 33.97/10.26 * will appear in this list in the order that they are returned by the 33.97/10.26 * specified collection's iterator. The behavior of this operation is 33.97/10.26 * undefined if the specified collection is modified while the 33.97/10.26 * operation is in progress. (Note that this will occur if the specified 33.97/10.26 * collection is this list, and it's nonempty.) 33.97/10.26 * 33.97/10.26 * @param index index at which to insert the first element from the 33.97/10.26 * specified collection 33.97/10.26 * @param c collection containing elements to be added to this list 33.97/10.26 * @return true if this list changed as a result of the call 33.97/10.26 * @throws UnsupportedOperationException if the addAll operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws ClassCastException if the class of an element of the specified 33.97/10.26 * collection prevents it from being added to this list 33.97/10.26 * @throws NullPointerException if the specified collection contains one 33.97/10.26 * or more null elements and this list does not permit null 33.97/10.26 * elements, or if the specified collection is null 33.97/10.26 * @throws IllegalArgumentException if some property of an element of the 33.97/10.26 * specified collection prevents it from being added to this list 33.97/10.26 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.26 * (index < 0 || index > size()) 33.97/10.26 */ 33.97/10.26 boolean addAll(int index, Collection c); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes from this list all of its elements that are contained in the 33.97/10.26 * specified collection (optional operation). 33.97/10.26 * 33.97/10.26 * @param c collection containing elements to be removed from this list 33.97/10.26 * @return true if this list changed as a result of the call 33.97/10.26 * @throws UnsupportedOperationException if the removeAll operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws ClassCastException if the class of an element of this list 33.97/10.26 * is incompatible with the specified collection (optional) 33.97/10.26 * @throws NullPointerException if this list contains a null element and the 33.97/10.26 * specified collection does not permit null elements (optional), 33.97/10.26 * or if the specified collection is null 33.97/10.26 * @see #remove(Object) 33.97/10.26 * @see #contains(Object) 33.97/10.26 */ 33.97/10.26 boolean removeAll(Collection c); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Retains only the elements in this list that are contained in the 33.97/10.26 * specified collection (optional operation). In other words, removes 33.97/10.26 * from this list all of its elements that are not contained in the 33.97/10.26 * specified collection. 33.97/10.26 * 33.97/10.26 * @param c collection containing elements to be retained in this list 33.97/10.26 * @return true if this list changed as a result of the call 33.97/10.26 * @throws UnsupportedOperationException if the retainAll operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws ClassCastException if the class of an element of this list 33.97/10.26 * is incompatible with the specified collection (optional) 33.97/10.26 * @throws NullPointerException if this list contains a null element and the 33.97/10.26 * specified collection does not permit null elements (optional), 33.97/10.26 * or if the specified collection is null 33.97/10.26 * @see #remove(Object) 33.97/10.26 * @see #contains(Object) 33.97/10.26 */ 33.97/10.26 boolean retainAll(Collection c); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes all of the elements from this list (optional operation). 33.97/10.26 * The list will be empty after this call returns. 33.97/10.26 * 33.97/10.26 * @throws UnsupportedOperationException if the clear operation 33.97/10.26 * is not supported by this list 33.97/10.26 */ 33.97/10.26 void clear(); 33.97/10.26 33.97/10.26 33.97/10.26 // Comparison and hashing 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Compares the specified object with this list for equality. Returns 33.97/10.26 * true if and only if the specified object is also a list, both 33.97/10.26 * lists have the same size, and all corresponding pairs of elements in 33.97/10.26 * the two lists are equal. (Two elements e1 and 33.97/10.26 * e2 are equal if (e1==null ? e2==null : 33.97/10.26 * e1.equals(e2)).) In other words, two lists are defined to be 33.97/10.26 * equal if they contain the same elements in the same order. This 33.97/10.26 * definition ensures that the equals method works properly across 33.97/10.26 * different implementations of the List interface. 33.97/10.26 * 33.97/10.26 * @param o the object to be compared for equality with this list 33.97/10.26 * @return true if the specified object is equal to this list 33.97/10.26 */ 33.97/10.26 boolean equals(Object o); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the hash code value for this list. The hash code of a list 33.97/10.26 * is defined to be the result of the following calculation: 33.97/10.26 *

33.97/10.26	     *  int hashCode = 1;
33.97/10.26	     *  for (E e : list)
33.97/10.26	     *      hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
33.97/10.26	     * 
33.97/10.26 * This ensures that list1.equals(list2) implies that 33.97/10.26 * list1.hashCode()==list2.hashCode() for any two lists, 33.97/10.26 * list1 and list2, as required by the general 33.97/10.26 * contract of {@link Object#hashCode}. 33.97/10.26 * 33.97/10.26 * @return the hash code value for this list 33.97/10.26 * @see Object#equals(Object) 33.97/10.26 * @see #equals(Object) 33.97/10.26 */ 33.97/10.26 int hashCode(); 33.97/10.26 33.97/10.26 33.97/10.26 // Positional Access Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the element at the specified position in this list. 33.97/10.26 * 33.97/10.26 * @param index index of the element to return 33.97/10.26 * @return the element at the specified position in this list 33.97/10.26 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.26 * (index < 0 || index >= size()) 33.97/10.26 */ 33.97/10.26 E get(int index); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Replaces the element at the specified position in this list with the 33.97/10.26 * specified element (optional operation). 33.97/10.26 * 33.97/10.26 * @param index index of the element to replace 33.97/10.26 * @param element element to be stored at the specified position 33.97/10.26 * @return the element previously at the specified position 33.97/10.26 * @throws UnsupportedOperationException if the set operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws ClassCastException if the class of the specified element 33.97/10.26 * prevents it from being added to this list 33.97/10.26 * @throws NullPointerException if the specified element is null and 33.97/10.26 * this list does not permit null elements 33.97/10.26 * @throws IllegalArgumentException if some property of the specified 33.97/10.26 * element prevents it from being added to this list 33.97/10.26 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.26 * (index < 0 || index >= size()) 33.97/10.26 */ 33.97/10.26 E set(int index, E element); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Inserts the specified element at the specified position in this list 33.97/10.26 * (optional operation). Shifts the element currently at that position 33.97/10.26 * (if any) and any subsequent elements to the right (adds one to their 33.97/10.26 * indices). 33.97/10.26 * 33.97/10.26 * @param index index at which the specified element is to be inserted 33.97/10.26 * @param element element to be inserted 33.97/10.26 * @throws UnsupportedOperationException if the add operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws ClassCastException if the class of the specified element 33.97/10.26 * prevents it from being added to this list 33.97/10.26 * @throws NullPointerException if the specified element is null and 33.97/10.26 * this list does not permit null elements 33.97/10.26 * @throws IllegalArgumentException if some property of the specified 33.97/10.26 * element prevents it from being added to this list 33.97/10.26 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.26 * (index < 0 || index > size()) 33.97/10.26 */ 33.97/10.26 void add(int index, E element); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Removes the element at the specified position in this list (optional 33.97/10.26 * operation). Shifts any subsequent elements to the left (subtracts one 33.97/10.26 * from their indices). Returns the element that was removed from the 33.97/10.26 * list. 33.97/10.26 * 33.97/10.26 * @param index the index of the element to be removed 33.97/10.26 * @return the element previously at the specified position 33.97/10.26 * @throws UnsupportedOperationException if the remove operation 33.97/10.26 * is not supported by this list 33.97/10.26 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.26 * (index < 0 || index >= size()) 33.97/10.26 */ 33.97/10.26 E remove(int index); 33.97/10.26 33.97/10.26 33.97/10.26 // Search Operations 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the index of the first occurrence of the specified element 33.97/10.26 * in this list, or -1 if this list does not contain the element. 33.97/10.26 * More formally, returns the lowest index i such that 33.97/10.26 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.26 * or -1 if there is no such index. 33.97/10.26 * 33.97/10.26 * @param o element to search for 33.97/10.26 * @return the index of the first occurrence of the specified element in 33.97/10.26 * this list, or -1 if this list does not contain the element 33.97/10.26 * @throws ClassCastException if the type of the specified element 33.97/10.26 * is incompatible with this list (optional) 33.97/10.26 * @throws NullPointerException if the specified element is null and this 33.97/10.26 * list does not permit null elements (optional) 33.97/10.26 */ 33.97/10.26 int indexOf(Object o); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns the index of the last occurrence of the specified element 33.97/10.26 * in this list, or -1 if this list does not contain the element. 33.97/10.26 * More formally, returns the highest index i such that 33.97/10.26 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.26 * or -1 if there is no such index. 33.97/10.26 * 33.97/10.26 * @param o element to search for 33.97/10.26 * @return the index of the last occurrence of the specified element in 33.97/10.26 * this list, or -1 if this list does not contain the element 33.97/10.26 * @throws ClassCastException if the type of the specified element 33.97/10.26 * is incompatible with this list (optional) 33.97/10.26 * @throws NullPointerException if the specified element is null and this 33.97/10.26 * list does not permit null elements (optional) 33.97/10.26 */ 33.97/10.26 int lastIndexOf(Object o); 33.97/10.26 33.97/10.26 33.97/10.26 // List Iterators 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns a list iterator over the elements in this list (in proper 33.97/10.26 * sequence). 33.97/10.26 * 33.97/10.26 * @return a list iterator over the elements in this list (in proper 33.97/10.26 * sequence) 33.97/10.26 */ 33.97/10.26 ListIterator listIterator(); 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns a list iterator over the elements in this list (in proper 33.97/10.26 * sequence), starting at the specified position in the list. 33.97/10.26 * The specified index indicates the first element that would be 33.97/10.26 * returned by an initial call to {@link ListIterator#next next}. 33.97/10.26 * An initial call to {@link ListIterator#previous previous} would 33.97/10.26 * return the element with the specified index minus one. 33.97/10.26 * 33.97/10.26 * @param index index of the first element to be returned from the 33.97/10.26 * list iterator (by a call to {@link ListIterator#next next}) 33.97/10.26 * @return a list iterator over the elements in this list (in proper 33.97/10.26 * sequence), starting at the specified position in the list 33.97/10.26 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.26 * ({@code index < 0 || index > size()}) 33.97/10.26 */ 33.97/10.26 ListIterator listIterator(int index); 33.97/10.26 33.97/10.26 // View 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Returns a view of the portion of this list between the specified 33.97/10.26 * fromIndex, inclusive, and toIndex, exclusive. (If 33.97/10.26 * fromIndex and toIndex are equal, the returned list is 33.97/10.26 * empty.) The returned list is backed by this list, so non-structural 33.97/10.26 * changes in the returned list are reflected in this list, and vice-versa. 33.97/10.26 * The returned list supports all of the optional list operations supported 33.97/10.26 * by this list.

33.97/10.26 * 33.97/10.26 * This method eliminates the need for explicit range operations (of 33.97/10.26 * the sort that commonly exist for arrays). Any operation that expects 33.97/10.26 * a list can be used as a range operation by passing a subList view 33.97/10.26 * instead of a whole list. For example, the following idiom 33.97/10.26 * removes a range of elements from a list: 33.97/10.26 *

33.97/10.26	     *      list.subList(from, to).clear();
33.97/10.26	     * 
33.97/10.26 * Similar idioms may be constructed for indexOf and 33.97/10.26 * lastIndexOf, and all of the algorithms in the 33.97/10.26 * Collections class can be applied to a subList.

33.97/10.26 * 33.97/10.26 * The semantics of the list returned by this method become undefined if 33.97/10.26 * the backing list (i.e., this list) is structurally modified in 33.97/10.26 * any way other than via the returned list. (Structural modifications are 33.97/10.26 * those that change the size of this list, or otherwise perturb it in such 33.97/10.26 * a fashion that iterations in progress may yield incorrect results.) 33.97/10.26 * 33.97/10.26 * @param fromIndex low endpoint (inclusive) of the subList 33.97/10.26 * @param toIndex high endpoint (exclusive) of the subList 33.97/10.26 * @return a view of the specified range within this list 33.97/10.26 * @throws IndexOutOfBoundsException for an illegal endpoint index value 33.97/10.26 * (fromIndex < 0 || toIndex > size || 33.97/10.26 * fromIndex > toIndex) 33.97/10.26 */ 33.97/10.26 List subList(int fromIndex, int toIndex); 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 /* 33.97/10.26 * Copyright 1994-1998 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.26 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.26 * 33.97/10.26 * This code is free software; you can redistribute it and/or modify it 33.97/10.26 * under the terms of the GNU General Public License version 2 only, as 33.97/10.26 * published by the Free Software Foundation. Sun designates this 33.97/10.26 * particular file as subject to the "Classpath" exception as provided 33.97/10.26 * by Sun in the LICENSE file that accompanied this code. 33.97/10.26 * 33.97/10.26 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.26 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.26 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.26 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.26 * accompanied this code). 33.97/10.26 * 33.97/10.26 * You should have received a copy of the GNU General Public License version 33.97/10.26 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.26 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.26 * 33.97/10.26 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.26 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.26 * have any questions. 33.97/10.26 */ 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Thrown by the nextElement method of an 33.97/10.26 * Enumeration to indicate that there are no more 33.97/10.26 * elements in the enumeration. 33.97/10.26 * 33.97/10.26 * @author unascribed 33.97/10.26 * @see java.util.Enumeration 33.97/10.26 * @see java.util.Enumeration#nextElement() 33.97/10.26 * @since JDK1.0 33.97/10.26 */ 33.97/10.26 public 33.97/10.26 class NoSuchElementException extends RuntimeException { 33.97/10.26 /** 33.97/10.26 * Constructs a NoSuchElementException with null 33.97/10.26 * as its error message string. 33.97/10.26 */ 33.97/10.26 public NoSuchElementException() { 33.97/10.26 super(); 33.97/10.26 } 33.97/10.26 33.97/10.26 /** 33.97/10.26 * Constructs a NoSuchElementException, saving a reference 33.97/10.26 * to the error message string s for later retrieval by the 33.97/10.26 * getMessage method. 33.97/10.26 * 33.97/10.26 * @param s the detail message. 33.97/10.26 */ 33.97/10.26 public NoSuchElementException(String s) { 33.97/10.26 super(s); 33.97/10.26 } 33.97/10.26 } 33.97/10.26 33.97/10.26 33.97/10.26 /* 33.97/10.26 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.26 * 33.97/10.26 * This code is free software; you can redistribute it and/or modify it 33.97/10.26 * under the terms of the GNU General Public License version 2 only, as 33.97/10.26 * published by the Free Software Foundation. Sun designates this 33.97/10.26 * particular file as subject to the "Classpath" exception as provided 33.97/10.26 * by Sun in the LICENSE file that accompanied this code. 33.97/10.26 * 33.97/10.26 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.26 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.26 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.26 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.26 * accompanied this code). 33.97/10.26 * 33.97/10.26 * You should have received a copy of the GNU General Public License version 33.97/10.26 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.26 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.26 * 33.97/10.26 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.26 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.26 * have any questions. 33.97/10.26 */ 33.97/10.26 33.97/10.26 /* 33.97/10.26 * This file is available under and governed by the GNU General Public 33.97/10.26 * License version 2 only, as published by the Free Software Foundation. 33.97/10.26 * However, the following notice accompanied the original version of this 33.97/10.26 * file: 33.97/10.26 * 33.97/10.26 * Written by Doug Lea with assistance from members of JCP JSR-166 33.97/10.26 * Expert Group and released to the public domain, as explained at 33.97/10.26 * http://creativecommons.org/licenses/publicdomain 33.97/10.26 */ 33.97/10.26 33.97/10.26 package javaUtilEx; 33.97/10.26 33.97/10.26 /** 33.97/10.26 * A collection designed for holding elements prior to processing. 33.97/10.26 * Besides basic {@link java.util.Collection Collection} operations, 33.97/10.26 * queues provide additional insertion, extraction, and inspection 33.97/10.26 * operations. Each of these methods exists in two forms: one throws 33.97/10.26 * an exception if the operation fails, the other returns a special 33.97/10.26 * value (either null or false, depending on the 33.97/10.26 * operation). The latter form of the insert operation is designed 33.97/10.26 * specifically for use with capacity-restricted Queue 33.97/10.26 * implementations; in most implementations, insert operations cannot 33.97/10.26 * fail. 33.97/10.26 * 33.97/10.26 *

33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 * 33.97/10.26 *
Throws exceptionReturns special value
Insert{@link #add add(e)}{@link #offer offer(e)}
Remove{@link #remove remove()}{@link #poll poll()}
Examine{@link #element element()}{@link #peek peek()}
33.97/10.26 * 33.97/10.26 *

Queues typically, but do not necessarily, order elements in a 33.97/10.26 * FIFO (first-in-first-out) manner. Among the exceptions are 33.97/10.26 * priority queues, which order elements according to a supplied 33.97/10.26 * comparator, or the elements' natural ordering, and LIFO queues (or 33.97/10.26 * stacks) which order the elements LIFO (last-in-first-out). 33.97/10.26 * Whatever the ordering used, the head of the queue is that 33.97/10.26 * element which would be removed by a call to {@link #remove() } or 33.97/10.26 * {@link #poll()}. In a FIFO queue, all new elements are inserted at 33.97/10.26 * the tail of the queue. Other kinds of queues may use 33.97/10.26 * different placement rules. Every Queue implementation 33.97/10.26 * must specify its ordering properties. 33.97/10.26 * 33.97/10.26 *

The {@link #offer offer} method inserts an element if possible, 33.97/10.26 * otherwise returning false. This differs from the {@link 33.97/10.26 * java.util.Collection#add Collection.add} method, which can fail to 33.97/10.26 * add an element only by throwing an unchecked exception. The 33.97/10.26 * offer method is designed for use when failure is a normal, 33.97/10.26 * rather than exceptional occurrence, for example, in fixed-capacity 33.97/10.26 * (or "bounded") queues. 33.97/10.26 * 33.97/10.26 *

The {@link #remove()} and {@link #poll()} methods remove and 33.97/10.26 * return the head of the queue. 33.97/10.26 * Exactly which element is removed from the queue is a 33.97/10.26 * function of the queue's ordering policy, which differs from 33.97/10.26 * implementation to implementation. The remove() and 33.97/10.26 * poll() methods differ only in their behavior when the 33.97/10.26 * queue is empty: the remove() method throws an exception, 33.97/10.26 * while the poll() method returns null. 33.97/10.26 * 33.97/10.26 *

The {@link #element()} and {@link #peek()} methods return, but do 33.97/10.26 * not remove, the head of the queue. 33.97/10.26 * 33.97/10.26 *

The Queue interface does not define the blocking queue 33.97/10.26 * methods, which are common in concurrent programming. These methods, 33.97/10.26 * which wait for elements to appear or for space to become available, are 33.97/10.26 * defined in the {@link java.util.concurrent.BlockingQueue} interface, which 33.97/10.26 * extends this interface. 33.97/10.26 * 33.97/10.26 *

Queue implementations generally do not allow insertion 33.97/10.26 * of null elements, although some implementations, such as 33.97/10.26 * {@link LinkedList}, do not prohibit insertion of null. 33.97/10.26 * Even in the implementations that permit it, null should 33.97/10.26 * not be inserted into a Queue, as null is also 33.97/10.26 * used as a special return value by the poll method to 33.97/10.26 * indicate that the queue contains no elements. 33.97/10.26 * 33.97/10.26 *

Queue implementations generally do not define 33.97/10.26 * element-based versions of methods equals and 33.97/10.26 * hashCode but instead inherit the identity based versions 33.97/10.26 * from class Object, because element-based equality is not 33.97/10.26 * always well-defined for queues with the same elements but different 33.97/10.26 * ordering properties. 33.97/10.26 * 33.97/10.26 * 33.97/10.26 *

This interface is a member of the 33.97/10.26 * 33.97/10.26 * Java Collections Framework. 33.97/10.26 * 33.97/10.26 * @see java.util.Collection 33.97/10.26 * @see LinkedList 33.97/10.26 * @see PriorityQueue 33.97/10.26 * @see java.util.concurrent.LinkedBlockingQueue 33.97/10.26 * @see java.util.concurrent.BlockingQueue 33.97/10.26 * @see java.util.concurrent.ArrayBlockingQueue 33.97/10.26 * @see java.util.concurrent.LinkedBlockingQueue 33.97/10.26 * @see java.util.concurrent.PriorityBlockingQueue 33.97/10.26 * @since 1.5 33.97/10.26 * @author Doug Lea 33.97/10.26 * @param the type of elements held in this collection 33.97/10.26 */ 33.97/10.26 public interface Queue extends Collection { 33.97/10.26 /** 33.97/10.26 * Inserts the specified element into this queue if it is possible to do so 33.97/10.27 * immediately without violating capacity restrictions, returning 33.97/10.27 * true upon success and throwing an IllegalStateException 33.97/10.27 * if no space is currently available. 33.97/10.27 * 33.97/10.27 * @param e the element to add 33.97/10.27 * @return true (as specified by {@link Collection#add}) 33.97/10.27 * @throws IllegalStateException if the element cannot be added at this 33.97/10.27 * time due to capacity restrictions 33.97/10.27 * @throws ClassCastException if the class of the specified element 33.97/10.27 * prevents it from being added to this queue 33.97/10.27 * @throws NullPointerException if the specified element is null and 33.97/10.27 * this queue does not permit null elements 33.97/10.27 * @throws IllegalArgumentException if some property of this element 33.97/10.27 * prevents it from being added to this queue 33.97/10.27 */ 33.97/10.27 boolean add(E e); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Inserts the specified element into this queue if it is possible to do 33.97/10.27 * so immediately without violating capacity restrictions. 33.97/10.27 * When using a capacity-restricted queue, this method is generally 33.97/10.27 * preferable to {@link #add}, which can fail to insert an element only 33.97/10.27 * by throwing an exception. 33.97/10.27 * 33.97/10.27 * @param e the element to add 33.97/10.27 * @return true if the element was added to this queue, else 33.97/10.27 * false 33.97/10.27 * @throws ClassCastException if the class of the specified element 33.97/10.27 * prevents it from being added to this queue 33.97/10.27 * @throws NullPointerException if the specified element is null and 33.97/10.27 * this queue does not permit null elements 33.97/10.27 * @throws IllegalArgumentException if some property of this element 33.97/10.27 * prevents it from being added to this queue 33.97/10.27 */ 33.97/10.27 boolean offer(E e); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Retrieves and removes the head of this queue. This method differs 33.97/10.27 * from {@link #poll poll} only in that it throws an exception if this 33.97/10.27 * queue is empty. 33.97/10.27 * 33.97/10.27 * @return the head of this queue 33.97/10.27 * @throws NoSuchElementException if this queue is empty 33.97/10.27 */ 33.97/10.27 E remove(); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Retrieves and removes the head of this queue, 33.97/10.27 * or returns null if this queue is empty. 33.97/10.27 * 33.97/10.27 * @return the head of this queue, or null if this queue is empty 33.97/10.27 */ 33.97/10.27 E poll(); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Retrieves, but does not remove, the head of this queue. This method 33.97/10.27 * differs from {@link #peek peek} only in that it throws an exception 33.97/10.27 * if this queue is empty. 33.97/10.27 * 33.97/10.27 * @return the head of this queue 33.97/10.27 * @throws NoSuchElementException if this queue is empty 33.97/10.27 */ 33.97/10.27 E element(); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Retrieves, but does not remove, the head of this queue, 33.97/10.27 * or returns null if this queue is empty. 33.97/10.27 * 33.97/10.27 * @return the head of this queue, or null if this queue is empty 33.97/10.27 */ 33.97/10.27 E peek(); 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 /* 33.97/10.27 * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.27 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.27 * 33.97/10.27 * This code is free software; you can redistribute it and/or modify it 33.97/10.27 * under the terms of the GNU General Public License version 2 only, as 33.97/10.27 * published by the Free Software Foundation. Sun designates this 33.97/10.27 * particular file as subject to the "Classpath" exception as provided 33.97/10.27 * by Sun in the LICENSE file that accompanied this code. 33.97/10.27 * 33.97/10.27 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.27 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.27 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.27 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.27 * accompanied this code). 33.97/10.27 * 33.97/10.27 * You should have received a copy of the GNU General Public License version 33.97/10.27 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.27 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.27 * 33.97/10.27 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.27 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.27 * have any questions. 33.97/10.27 */ 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Marker interface used by List implementations to indicate that 33.97/10.27 * they support fast (generally constant time) random access. The primary 33.97/10.27 * purpose of this interface is to allow generic algorithms to alter their 33.97/10.27 * behavior to provide good performance when applied to either random or 33.97/10.27 * sequential access lists. 33.97/10.27 * 33.97/10.27 *

The best algorithms for manipulating random access lists (such as 33.97/10.27 * ArrayList) can produce quadratic behavior when applied to 33.97/10.27 * sequential access lists (such as LinkedList). Generic list 33.97/10.27 * algorithms are encouraged to check whether the given list is an 33.97/10.27 * instanceof this interface before applying an algorithm that would 33.97/10.27 * provide poor performance if it were applied to a sequential access list, 33.97/10.27 * and to alter their behavior if necessary to guarantee acceptable 33.97/10.27 * performance. 33.97/10.27 * 33.97/10.27 *

It is recognized that the distinction between random and sequential 33.97/10.27 * access is often fuzzy. For example, some List implementations 33.97/10.27 * provide asymptotically linear access times if they get huge, but constant 33.97/10.27 * access times in practice. Such a List implementation 33.97/10.27 * should generally implement this interface. As a rule of thumb, a 33.97/10.27 * List implementation should implement this interface if, 33.97/10.27 * for typical instances of the class, this loop: 33.97/10.27 *

33.97/10.27	 *     for (int i=0, n=list.size(); i < n; i++)
33.97/10.27	 *         list.get(i);
33.97/10.27	 * 
33.97/10.27 * runs faster than this loop: 33.97/10.27 *
33.97/10.27	 *     for (Iterator i=list.iterator(); i.hasNext(); )
33.97/10.27	 *         i.next();
33.97/10.27	 * 
33.97/10.27 * 33.97/10.27 *

This interface is a member of the 33.97/10.27 * 33.97/10.27 * Java Collections Framework. 33.97/10.27 * 33.97/10.27 * @since 1.4 33.97/10.27 */ 33.97/10.27 public interface RandomAccess { 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 public class Random { 33.97/10.27 static String[] args; 33.97/10.27 static int index = 0; 33.97/10.27 33.97/10.27 public static int random() { 33.97/10.27 String string = args[index]; 33.97/10.27 index++; 33.97/10.27 return string.length(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 /* 33.97/10.27 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.27 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.27 * 33.97/10.27 * This code is free software; you can redistribute it and/or modify it 33.97/10.27 * under the terms of the GNU General Public License version 2 only, as 33.97/10.27 * published by the Free Software Foundation. Sun designates this 33.97/10.27 * particular file as subject to the "Classpath" exception as provided 33.97/10.27 * by Sun in the LICENSE file that accompanied this code. 33.97/10.27 * 33.97/10.27 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.27 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.27 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.27 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.27 * accompanied this code). 33.97/10.27 * 33.97/10.27 * You should have received a copy of the GNU General Public License version 33.97/10.27 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.27 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.27 * 33.97/10.27 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.27 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.27 * have any questions. 33.97/10.27 */ 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Thrown to indicate that the requested operation is not supported.

33.97/10.27 * 33.97/10.27 * This class is a member of the 33.97/10.27 * 33.97/10.27 * Java Collections Framework. 33.97/10.27 * 33.97/10.27 * @author Josh Bloch 33.97/10.27 * @since 1.2 33.97/10.27 */ 33.97/10.27 public class UnsupportedOperationException extends RuntimeException { 33.97/10.27 /** 33.97/10.27 * Constructs an UnsupportedOperationException with no detail message. 33.97/10.27 */ 33.97/10.27 public UnsupportedOperationException() { 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Constructs an UnsupportedOperationException with the specified 33.97/10.27 * detail message. 33.97/10.27 * 33.97/10.27 * @param message the detail message 33.97/10.27 */ 33.97/10.27 public UnsupportedOperationException(String message) { 33.97/10.27 super(message); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Constructs a new exception with the specified detail message and 33.97/10.27 * cause. 33.97/10.27 * 33.97/10.27 *

Note that the detail message associated with cause is 33.97/10.27 * not automatically incorporated in this exception's detail 33.97/10.27 * message. 33.97/10.27 * 33.97/10.27 * @param message the detail message (which is saved for later retrieval 33.97/10.27 * by the {@link Throwable#getMessage()} method). 33.97/10.27 * @param cause the cause (which is saved for later retrieval by the 33.97/10.27 * {@link Throwable#getCause()} method). (A null value 33.97/10.27 * is permitted, and indicates that the cause is nonexistent or 33.97/10.27 * unknown.) 33.97/10.27 * @since 1.5 33.97/10.27 */ 33.97/10.27 public UnsupportedOperationException(String message, Throwable cause) { 33.97/10.27 super(message, cause); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Constructs a new exception with the specified cause and a detail 33.97/10.27 * message of (cause==null ? null : cause.toString()) (which 33.97/10.27 * typically contains the class and detail message of cause). 33.97/10.27 * This constructor is useful for exceptions that are little more than 33.97/10.27 * wrappers for other throwables (for example, {@link 33.97/10.27 * java.security.PrivilegedActionException}). 33.97/10.27 * 33.97/10.27 * @param cause the cause (which is saved for later retrieval by the 33.97/10.27 * {@link Throwable#getCause()} method). (A null value is 33.97/10.27 * permitted, and indicates that the cause is nonexistent or 33.97/10.27 * unknown.) 33.97/10.27 * @since 1.5 33.97/10.27 */ 33.97/10.27 public UnsupportedOperationException(Throwable cause) { 33.97/10.27 super(cause); 33.97/10.27 } 33.97/10.27 33.97/10.27 static final long serialVersionUID = -1242599979055084673L; 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 33.97/10.27 ---------------------------------------- 33.97/10.27 33.97/10.27 (1) BareJBCToJBCProof (EQUIVALENT) 33.97/10.27 initialized classpath 33.97/10.27 ---------------------------------------- 33.97/10.27 33.97/10.27 (2) 33.97/10.27 Obligation: 33.97/10.27 need to prove termination of the following program: 33.97/10.27 /* 33.97/10.27 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.27 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.27 * 33.97/10.27 * This code is free software; you can redistribute it and/or modify it 33.97/10.27 * under the terms of the GNU General Public License version 2 only, as 33.97/10.27 * published by the Free Software Foundation. Sun designates this 33.97/10.27 * particular file as subject to the "Classpath" exception as provided 33.97/10.27 * by Sun in the LICENSE file that accompanied this code. 33.97/10.27 * 33.97/10.27 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.27 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.27 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.27 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.27 * accompanied this code). 33.97/10.27 * 33.97/10.27 * You should have received a copy of the GNU General Public License version 33.97/10.27 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.27 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.27 * 33.97/10.27 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.27 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.27 * have any questions. 33.97/10.27 */ 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * This class provides a skeletal implementation of the Collection 33.97/10.27 * interface, to minimize the effort required to implement this interface.

33.97/10.27 * 33.97/10.27 * To implement an unmodifiable collection, the programmer needs only to 33.97/10.27 * extend this class and provide implementations for the iterator and 33.97/10.27 * size methods. (The iterator returned by the iterator 33.97/10.27 * method must implement hasNext and next.)

33.97/10.27 * 33.97/10.27 * To implement a modifiable collection, the programmer must additionally 33.97/10.27 * override this class's add method (which otherwise throws an 33.97/10.27 * UnsupportedOperationException), and the iterator returned by the 33.97/10.27 * iterator method must additionally implement its remove 33.97/10.27 * method.

33.97/10.27 * 33.97/10.27 * The programmer should generally provide a void (no argument) and 33.97/10.27 * Collection constructor, as per the recommendation in the 33.97/10.27 * Collection interface specification.

33.97/10.27 * 33.97/10.27 * The documentation for each non-abstract method in this class describes its 33.97/10.27 * implementation in detail. Each of these methods may be overridden if 33.97/10.27 * the collection being implemented admits a more efficient implementation.

33.97/10.27 * 33.97/10.27 * This class is a member of the 33.97/10.27 * 33.97/10.27 * Java Collections Framework. 33.97/10.27 * 33.97/10.27 * @author Josh Bloch 33.97/10.27 * @author Neal Gafter 33.97/10.27 * @see Collection 33.97/10.27 * @since 1.2 33.97/10.27 */ 33.97/10.27 33.97/10.27 public abstract class AbstractCollection implements Collection { 33.97/10.27 /** 33.97/10.27 * Sole constructor. (For invocation by subclass constructors, typically 33.97/10.27 * implicit.) 33.97/10.27 */ 33.97/10.27 protected AbstractCollection() { 33.97/10.27 } 33.97/10.27 33.97/10.27 // Query Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns an iterator over the elements contained in this collection. 33.97/10.27 * 33.97/10.27 * @return an iterator over the elements contained in this collection 33.97/10.27 */ 33.97/10.27 public abstract Iterator iterator(); 33.97/10.27 33.97/10.27 public abstract int size(); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation returns size() == 0. 33.97/10.27 */ 33.97/10.27 public boolean isEmpty() { 33.97/10.27 return size() == 0; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation iterates over the elements in the collection, 33.97/10.27 * checking each element in turn for equality with the specified element. 33.97/10.27 * 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public boolean contains(Object o) { 33.97/10.27 Iterator e = iterator(); 33.97/10.27 if (o==null) { 33.97/10.27 while (e.hasNext()) 33.97/10.27 if (e.next()==null) 33.97/10.27 return true; 33.97/10.27 } else { 33.97/10.27 while (e.hasNext()) 33.97/10.27 if (o.equals(e.next())) 33.97/10.27 return true; 33.97/10.27 } 33.97/10.27 return false; 33.97/10.27 } 33.97/10.27 33.97/10.27 // Modification Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation always throws an 33.97/10.27 * UnsupportedOperationException. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IllegalStateException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public boolean add(E e) { 33.97/10.27 throw new UnsupportedOperationException(); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation iterates over the collection looking for the 33.97/10.27 * specified element. If it finds the element, it removes the element 33.97/10.27 * from the collection using the iterator's remove method. 33.97/10.27 * 33.97/10.27 *

Note that this implementation throws an 33.97/10.27 * UnsupportedOperationException if the iterator returned by this 33.97/10.27 * collection's iterator method does not implement the remove 33.97/10.27 * method and this collection contains the specified object. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public boolean remove(Object o) { 33.97/10.27 Iterator e = iterator(); 33.97/10.27 if (o==null) { 33.97/10.27 while (e.hasNext()) { 33.97/10.27 if (e.next()==null) { 33.97/10.27 e.remove(); 33.97/10.27 return true; 33.97/10.27 } 33.97/10.27 } 33.97/10.27 } else { 33.97/10.27 while (e.hasNext()) { 33.97/10.27 if (o.equals(e.next())) { 33.97/10.27 e.remove(); 33.97/10.27 return true; 33.97/10.27 } 33.97/10.27 } 33.97/10.27 } 33.97/10.27 return false; 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 // Bulk Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation iterates over the specified collection, 33.97/10.27 * checking each element returned by the iterator in turn to see 33.97/10.27 * if it's contained in this collection. If all elements are so 33.97/10.27 * contained true is returned, otherwise false. 33.97/10.27 * 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @see #contains(Object) 33.97/10.27 */ 33.97/10.27 public boolean containsAll(Collection c) { 33.97/10.27 Iterator e = c.iterator(); 33.97/10.27 while (e.hasNext()) 33.97/10.27 if (!contains(e.next())) 33.97/10.27 return false; 33.97/10.27 return true; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation iterates over the specified collection, and adds 33.97/10.27 * each object returned by the iterator to this collection, in turn. 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException unless add is 33.97/10.27 * overridden (assuming the specified collection is non-empty). 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IllegalStateException {@inheritDoc} 33.97/10.27 * 33.97/10.27 * @see #add(Object) 33.97/10.27 */ 33.97/10.27 public boolean addAll(Collection c) { 33.97/10.27 boolean modified = false; 33.97/10.27 Iterator e = c.iterator(); 33.97/10.27 while (e.hasNext()) { 33.97/10.27 if (add(e.next())) 33.97/10.27 modified = true; 33.97/10.27 } 33.97/10.27 return modified; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation iterates over this collection, checking each 33.97/10.27 * element returned by the iterator in turn to see if it's contained 33.97/10.27 * in the specified collection. If it's so contained, it's removed from 33.97/10.27 * this collection with the iterator's remove method. 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException if the iterator returned by the 33.97/10.27 * iterator method does not implement the remove method 33.97/10.27 * and this collection contains one or more elements in common with the 33.97/10.27 * specified collection. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * 33.97/10.27 * @see #remove(Object) 33.97/10.27 * @see #contains(Object) 33.97/10.27 */ 33.97/10.27 public boolean removeAll(Collection c) { 33.97/10.27 boolean modified = false; 33.97/10.27 Iterator e = iterator(); 33.97/10.27 while (e.hasNext()) { 33.97/10.27 if (c.contains(e.next())) { 33.97/10.27 e.remove(); 33.97/10.27 modified = true; 33.97/10.27 } 33.97/10.27 } 33.97/10.27 return modified; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation iterates over this collection, checking each 33.97/10.27 * element returned by the iterator in turn to see if it's contained 33.97/10.27 * in the specified collection. If it's not so contained, it's removed 33.97/10.27 * from this collection with the iterator's remove method. 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException if the iterator returned by the 33.97/10.27 * iterator method does not implement the remove method 33.97/10.27 * and this collection contains one or more elements not present in the 33.97/10.27 * specified collection. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * 33.97/10.27 * @see #remove(Object) 33.97/10.27 * @see #contains(Object) 33.97/10.27 */ 33.97/10.27 public boolean retainAll(Collection c) { 33.97/10.27 boolean modified = false; 33.97/10.27 Iterator e = iterator(); 33.97/10.27 while (e.hasNext()) { 33.97/10.27 if (!c.contains(e.next())) { 33.97/10.27 e.remove(); 33.97/10.27 modified = true; 33.97/10.27 } 33.97/10.27 } 33.97/10.27 return modified; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation iterates over this collection, removing each 33.97/10.27 * element using the Iterator.remove operation. Most 33.97/10.27 * implementations will probably choose to override this method for 33.97/10.27 * efficiency. 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException if the iterator returned by this 33.97/10.27 * collection's iterator method does not implement the 33.97/10.27 * remove method and this collection is non-empty. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public void clear() { 33.97/10.27 Iterator e = iterator(); 33.97/10.27 while (e.hasNext()) { 33.97/10.27 e.next(); 33.97/10.27 e.remove(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 // String conversion 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns a string representation of this collection. The string 33.97/10.27 * representation consists of a list of the collection's elements in the 33.97/10.27 * order they are returned by its iterator, enclosed in square brackets 33.97/10.27 * ("[]"). Adjacent elements are separated by the characters 33.97/10.27 * ", " (comma and space). Elements are converted to strings as 33.97/10.27 * by {@link String#valueOf(Object)}. 33.97/10.27 * 33.97/10.27 * @return a string representation of this collection 33.97/10.27 */ 33.97/10.27 public String toString() { 33.97/10.27 Iterator i = iterator(); 33.97/10.27 if (! i.hasNext()) 33.97/10.27 return "[]"; 33.97/10.27 33.97/10.27 String sb = ""; 33.97/10.27 sb = sb + "["; 33.97/10.27 for (;;) { 33.97/10.27 E e = i.next(); 33.97/10.27 sb = sb + (e == this ? "(this Collection)" : e); 33.97/10.27 if (! i.hasNext()) { 33.97/10.27 sb = sb + "]"; 33.97/10.27 return sb; 33.97/10.27 } 33.97/10.27 sb = sb + ", "; 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 /* 33.97/10.27 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.27 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.27 * 33.97/10.27 * This code is free software; you can redistribute it and/or modify it 33.97/10.27 * under the terms of the GNU General Public License version 2 only, as 33.97/10.27 * published by the Free Software Foundation. Sun designates this 33.97/10.27 * particular file as subject to the "Classpath" exception as provided 33.97/10.27 * by Sun in the LICENSE file that accompanied this code. 33.97/10.27 * 33.97/10.27 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.27 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.27 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.27 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.27 * accompanied this code). 33.97/10.27 * 33.97/10.27 * You should have received a copy of the GNU General Public License version 33.97/10.27 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.27 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.27 * 33.97/10.27 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.27 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.27 * have any questions. 33.97/10.27 */ 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * This class provides a skeletal implementation of the {@link List} 33.97/10.27 * interface to minimize the effort required to implement this interface 33.97/10.27 * backed by a "random access" data store (such as an array). For sequential 33.97/10.27 * access data (such as a linked list), {@link AbstractSequentialList} should 33.97/10.27 * be used in preference to this class. 33.97/10.27 * 33.97/10.27 *

To implement an unmodifiable list, the programmer needs only to extend 33.97/10.27 * this class and provide implementations for the {@link #get(int)} and 33.97/10.27 * {@link List#size() size()} methods. 33.97/10.27 * 33.97/10.27 *

To implement a modifiable list, the programmer must additionally 33.97/10.27 * override the {@link #set(int, Object) set(int, E)} method (which otherwise 33.97/10.27 * throws an {@code UnsupportedOperationException}). If the list is 33.97/10.27 * variable-size the programmer must additionally override the 33.97/10.27 * {@link #add(int, Object) add(int, E)} and {@link #remove(int)} methods. 33.97/10.27 * 33.97/10.27 *

The programmer should generally provide a void (no argument) and collection 33.97/10.27 * constructor, as per the recommendation in the {@link Collection} interface 33.97/10.27 * specification. 33.97/10.27 * 33.97/10.27 *

Unlike the other abstract collection implementations, the programmer does 33.97/10.27 * not have to provide an iterator implementation; the iterator and 33.97/10.27 * list iterator are implemented by this class, on top of the "random access" 33.97/10.27 * methods: 33.97/10.27 * {@link #get(int)}, 33.97/10.27 * {@link #set(int, Object) set(int, E)}, 33.97/10.27 * {@link #add(int, Object) add(int, E)} and 33.97/10.27 * {@link #remove(int)}. 33.97/10.27 * 33.97/10.27 *

The documentation for each non-abstract method in this class describes its 33.97/10.27 * implementation in detail. Each of these methods may be overridden if the 33.97/10.27 * collection being implemented admits a more efficient implementation. 33.97/10.27 * 33.97/10.27 *

This class is a member of the 33.97/10.27 * 33.97/10.27 * Java Collections Framework. 33.97/10.27 * 33.97/10.27 * @author Josh Bloch 33.97/10.27 * @author Neal Gafter 33.97/10.27 * @since 1.2 33.97/10.27 */ 33.97/10.27 33.97/10.27 public abstract class AbstractList extends AbstractCollection implements List { 33.97/10.27 /** 33.97/10.27 * Sole constructor. (For invocation by subclass constructors, typically 33.97/10.27 * implicit.) 33.97/10.27 */ 33.97/10.27 protected AbstractList() { 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Appends the specified element to the end of this list (optional 33.97/10.27 * operation). 33.97/10.27 * 33.97/10.27 *

Lists that support this operation may place limitations on what 33.97/10.27 * elements may be added to this list. In particular, some 33.97/10.27 * lists will refuse to add null elements, and others will impose 33.97/10.27 * restrictions on the type of elements that may be added. List 33.97/10.27 * classes should clearly specify in their documentation any restrictions 33.97/10.27 * on what elements may be added. 33.97/10.27 * 33.97/10.27 *

This implementation calls {@code add(size(), e)}. 33.97/10.27 * 33.97/10.27 *

Note that this implementation throws an 33.97/10.27 * {@code UnsupportedOperationException} unless 33.97/10.27 * {@link #add(int, Object) add(int, E)} is overridden. 33.97/10.27 * 33.97/10.27 * @param e element to be appended to this list 33.97/10.27 * @return {@code true} (as specified by {@link Collection#add}) 33.97/10.27 * @throws UnsupportedOperationException if the {@code add} operation 33.97/10.27 * is not supported by this list 33.97/10.27 * @throws ClassCastException if the class of the specified element 33.97/10.27 * prevents it from being added to this list 33.97/10.27 * @throws NullPointerException if the specified element is null and this 33.97/10.27 * list does not permit null elements 33.97/10.27 * @throws IllegalArgumentException if some property of this element 33.97/10.27 * prevents it from being added to this list 33.97/10.27 */ 33.97/10.27 public boolean add(E e) { 33.97/10.27 add(size(), e); 33.97/10.27 return true; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 abstract public E get(int index); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation always throws an 33.97/10.27 * {@code UnsupportedOperationException}. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public E set(int index, E element) { 33.97/10.27 throw new UnsupportedOperationException(); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation always throws an 33.97/10.27 * {@code UnsupportedOperationException}. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public void add(int index, E element) { 33.97/10.27 throw new UnsupportedOperationException(); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation always throws an 33.97/10.27 * {@code UnsupportedOperationException}. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public E remove(int index) { 33.97/10.27 throw new UnsupportedOperationException(); 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 // Search Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation first gets a list iterator (with 33.97/10.27 * {@code listIterator()}). Then, it iterates over the list until the 33.97/10.27 * specified element is found or the end of the list is reached. 33.97/10.27 * 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public int indexOf(Object o) { 33.97/10.27 ListIterator e = listIterator(); 33.97/10.27 if (o==null) { 33.97/10.27 while (e.hasNext()) 33.97/10.27 if (e.next()==null) 33.97/10.27 return e.previousIndex(); 33.97/10.27 } else { 33.97/10.27 while (e.hasNext()) 33.97/10.27 if (o.equals(e.next())) 33.97/10.27 return e.previousIndex(); 33.97/10.27 } 33.97/10.27 return -1; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation first gets a list iterator that points to the end 33.97/10.27 * of the list (with {@code listIterator(size())}). Then, it iterates 33.97/10.27 * backwards over the list until the specified element is found, or the 33.97/10.27 * beginning of the list is reached. 33.97/10.27 * 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public int lastIndexOf(Object o) { 33.97/10.27 ListIterator e = listIterator(size()); 33.97/10.27 if (o==null) { 33.97/10.27 while (e.hasPrevious()) 33.97/10.27 if (e.previous()==null) 33.97/10.27 return e.nextIndex(); 33.97/10.27 } else { 33.97/10.27 while (e.hasPrevious()) 33.97/10.27 if (o.equals(e.previous())) 33.97/10.27 return e.nextIndex(); 33.97/10.27 } 33.97/10.27 return -1; 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 // Bulk Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Removes all of the elements from this list (optional operation). 33.97/10.27 * The list will be empty after this call returns. 33.97/10.27 * 33.97/10.27 *

This implementation calls {@code removeRange(0, size())}. 33.97/10.27 * 33.97/10.27 *

Note that this implementation throws an 33.97/10.27 * {@code UnsupportedOperationException} unless {@code remove(int 33.97/10.27 * index)} or {@code removeRange(int fromIndex, int toIndex)} is 33.97/10.27 * overridden. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException if the {@code clear} operation 33.97/10.27 * is not supported by this list 33.97/10.27 */ 33.97/10.27 public void clear() { 33.97/10.27 removeRange(0, size()); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation gets an iterator over the specified collection 33.97/10.27 * and iterates over it, inserting the elements obtained from the 33.97/10.27 * iterator into this list at the appropriate position, one at a time, 33.97/10.27 * using {@code add(int, E)}. 33.97/10.27 * Many implementations will override this method for efficiency. 33.97/10.27 * 33.97/10.27 *

Note that this implementation throws an 33.97/10.27 * {@code UnsupportedOperationException} unless 33.97/10.27 * {@link #add(int, Object) add(int, E)} is overridden. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public boolean addAll(int index, Collection c) { 33.97/10.27 rangeCheckForAdd(index); 33.97/10.27 boolean modified = false; 33.97/10.27 Iterator e = c.iterator(); 33.97/10.27 while (e.hasNext()) { 33.97/10.27 add(index++, e.next()); 33.97/10.27 modified = true; 33.97/10.27 } 33.97/10.27 return modified; 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 // Iterators 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns an iterator over the elements in this list in proper sequence. 33.97/10.27 * 33.97/10.27 *

This implementation returns a straightforward implementation of the 33.97/10.27 * iterator interface, relying on the backing list's {@code size()}, 33.97/10.27 * {@code get(int)}, and {@code remove(int)} methods. 33.97/10.27 * 33.97/10.27 *

Note that the iterator returned by this method will throw an 33.97/10.27 * {@link UnsupportedOperationException} in response to its 33.97/10.27 * {@code remove} method unless the list's {@code remove(int)} method is 33.97/10.27 * overridden. 33.97/10.27 * 33.97/10.27 *

This implementation can be made to throw runtime exceptions in the 33.97/10.27 * face of concurrent modification, as described in the specification 33.97/10.27 * for the (protected) {@link #modCount} field. 33.97/10.27 * 33.97/10.27 * @return an iterator over the elements in this list in proper sequence 33.97/10.27 */ 33.97/10.27 public Iterator iterator() { 33.97/10.27 return new Itr(); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation returns {@code listIterator(0)}. 33.97/10.27 * 33.97/10.27 * @see #listIterator(int) 33.97/10.27 */ 33.97/10.27 public ListIterator listIterator() { 33.97/10.27 return listIterator(0); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation returns a straightforward implementation of the 33.97/10.27 * {@code ListIterator} interface that extends the implementation of the 33.97/10.27 * {@code Iterator} interface returned by the {@code iterator()} method. 33.97/10.27 * The {@code ListIterator} implementation relies on the backing list's 33.97/10.27 * {@code get(int)}, {@code set(int, E)}, {@code add(int, E)} 33.97/10.27 * and {@code remove(int)} methods. 33.97/10.27 * 33.97/10.27 *

Note that the list iterator returned by this implementation will 33.97/10.27 * throw an {@link UnsupportedOperationException} in response to its 33.97/10.27 * {@code remove}, {@code set} and {@code add} methods unless the 33.97/10.27 * list's {@code remove(int)}, {@code set(int, E)}, and 33.97/10.27 * {@code add(int, E)} methods are overridden. 33.97/10.27 * 33.97/10.27 *

This implementation can be made to throw runtime exceptions in the 33.97/10.27 * face of concurrent modification, as described in the specification for 33.97/10.27 * the (protected) {@link #modCount} field. 33.97/10.27 * 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public ListIterator listIterator(final int index) { 33.97/10.27 rangeCheckForAdd(index); 33.97/10.27 33.97/10.27 return new ListItr(index); 33.97/10.27 } 33.97/10.27 33.97/10.27 private class Itr implements Iterator { 33.97/10.27 /** 33.97/10.27 * Index of element to be returned by subsequent call to next. 33.97/10.27 */ 33.97/10.27 int cursor = 0; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Index of element returned by most recent call to next or 33.97/10.27 * previous. Reset to -1 if this element is deleted by a call 33.97/10.27 * to remove. 33.97/10.27 */ 33.97/10.27 int lastRet = -1; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * The modCount value that the iterator believes that the backing 33.97/10.27 * List should have. If this expectation is violated, the iterator 33.97/10.27 * has detected concurrent modification. 33.97/10.27 */ 33.97/10.27 int expectedModCount = modCount; 33.97/10.27 33.97/10.27 public boolean hasNext() { 33.97/10.27 return cursor != size(); 33.97/10.27 } 33.97/10.27 33.97/10.27 public E next() { 33.97/10.27 checkForComodification(); 33.97/10.27 try { 33.97/10.27 int i = cursor; 33.97/10.27 E next = get(i); 33.97/10.27 lastRet = i; 33.97/10.27 cursor = i + 1; 33.97/10.27 return next; 33.97/10.27 } catch (IndexOutOfBoundsException e) { 33.97/10.27 checkForComodification(); 33.97/10.27 throw new NoSuchElementException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 public void remove() { 33.97/10.27 if (lastRet < 0) 33.97/10.27 throw new IllegalStateException(); 33.97/10.27 checkForComodification(); 33.97/10.27 33.97/10.27 try { 33.97/10.27 AbstractList.this.remove(lastRet); 33.97/10.27 if (lastRet < cursor) 33.97/10.27 cursor--; 33.97/10.27 lastRet = -1; 33.97/10.27 expectedModCount = modCount; 33.97/10.27 } catch (IndexOutOfBoundsException e) { 33.97/10.27 throw new ConcurrentModificationException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 final void checkForComodification() { 33.97/10.27 if (modCount != expectedModCount) 33.97/10.27 throw new ConcurrentModificationException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 private class ListItr extends Itr implements ListIterator { 33.97/10.27 ListItr(int index) { 33.97/10.27 cursor = index; 33.97/10.27 } 33.97/10.27 33.97/10.27 public boolean hasPrevious() { 33.97/10.27 return cursor != 0; 33.97/10.27 } 33.97/10.27 33.97/10.27 public E previous() { 33.97/10.27 checkForComodification(); 33.97/10.27 try { 33.97/10.27 int i = cursor - 1; 33.97/10.27 E previous = get(i); 33.97/10.27 lastRet = cursor = i; 33.97/10.27 return previous; 33.97/10.27 } catch (IndexOutOfBoundsException e) { 33.97/10.27 checkForComodification(); 33.97/10.27 throw new NoSuchElementException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 public int nextIndex() { 33.97/10.27 return cursor; 33.97/10.27 } 33.97/10.27 33.97/10.27 public int previousIndex() { 33.97/10.27 return cursor-1; 33.97/10.27 } 33.97/10.27 33.97/10.27 public void set(E e) { 33.97/10.27 if (lastRet < 0) 33.97/10.27 throw new IllegalStateException(); 33.97/10.27 checkForComodification(); 33.97/10.27 33.97/10.27 try { 33.97/10.27 AbstractList.this.set(lastRet, e); 33.97/10.27 expectedModCount = modCount; 33.97/10.27 } catch (IndexOutOfBoundsException ex) { 33.97/10.27 throw new ConcurrentModificationException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 public void add(E e) { 33.97/10.27 checkForComodification(); 33.97/10.27 33.97/10.27 try { 33.97/10.27 int i = cursor; 33.97/10.27 AbstractList.this.add(i, e); 33.97/10.27 lastRet = -1; 33.97/10.27 cursor = i + 1; 33.97/10.27 expectedModCount = modCount; 33.97/10.27 } catch (IndexOutOfBoundsException ex) { 33.97/10.27 throw new ConcurrentModificationException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * {@inheritDoc} 33.97/10.27 * 33.97/10.27 *

This implementation returns a list that subclasses 33.97/10.27 * {@code AbstractList}. The subclass stores, in private fields, the 33.97/10.27 * offset of the subList within the backing list, the size of the subList 33.97/10.27 * (which can change over its lifetime), and the expected 33.97/10.27 * {@code modCount} value of the backing list. There are two variants 33.97/10.27 * of the subclass, one of which implements {@code RandomAccess}. 33.97/10.27 * If this list implements {@code RandomAccess} the returned list will 33.97/10.27 * be an instance of the subclass that implements {@code RandomAccess}. 33.97/10.27 * 33.97/10.27 *

The subclass's {@code set(int, E)}, {@code get(int)}, 33.97/10.27 * {@code add(int, E)}, {@code remove(int)}, {@code addAll(int, 33.97/10.27 * Collection)} and {@code removeRange(int, int)} methods all 33.97/10.27 * delegate to the corresponding methods on the backing abstract list, 33.97/10.27 * after bounds-checking the index and adjusting for the offset. The 33.97/10.27 * {@code addAll(Collection c)} method merely returns {@code addAll(size, 33.97/10.27 * c)}. 33.97/10.27 * 33.97/10.27 *

The {@code listIterator(int)} method returns a "wrapper object" 33.97/10.27 * over a list iterator on the backing list, which is created with the 33.97/10.27 * corresponding method on the backing list. The {@code iterator} method 33.97/10.27 * merely returns {@code listIterator()}, and the {@code size} method 33.97/10.27 * merely returns the subclass's {@code size} field. 33.97/10.27 * 33.97/10.27 *

All methods first check to see if the actual {@code modCount} of 33.97/10.27 * the backing list is equal to its expected value, and throw a 33.97/10.27 * {@code ConcurrentModificationException} if it is not. 33.97/10.27 * 33.97/10.27 * @throws IndexOutOfBoundsException if an endpoint index value is out of range 33.97/10.27 * {@code (fromIndex < 0 || toIndex > size)} 33.97/10.27 * @throws IllegalArgumentException if the endpoint indices are out of order 33.97/10.27 * {@code (fromIndex > toIndex)} 33.97/10.27 */ 33.97/10.27 public List subList(int fromIndex, int toIndex) { 33.97/10.27 return (this instanceof RandomAccess ? 33.97/10.27 new RandomAccessSubList(this, fromIndex, toIndex) : 33.97/10.27 new SubList(this, fromIndex, toIndex)); 33.97/10.27 } 33.97/10.27 33.97/10.27 // Comparison and hashing 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Compares the specified object with this list for equality. Returns 33.97/10.27 * {@code true} if and only if the specified object is also a list, both 33.97/10.27 * lists have the same size, and all corresponding pairs of elements in 33.97/10.27 * the two lists are equal. (Two elements {@code e1} and 33.97/10.27 * {@code e2} are equal if {@code (e1==null ? e2==null : 33.97/10.27 * e1.equals(e2))}.) In other words, two lists are defined to be 33.97/10.27 * equal if they contain the same elements in the same order.

33.97/10.27 * 33.97/10.27 * This implementation first checks if the specified object is this 33.97/10.27 * list. If so, it returns {@code true}; if not, it checks if the 33.97/10.27 * specified object is a list. If not, it returns {@code false}; if so, 33.97/10.27 * it iterates over both lists, comparing corresponding pairs of elements. 33.97/10.27 * If any comparison returns {@code false}, this method returns 33.97/10.27 * {@code false}. If either iterator runs out of elements before the 33.97/10.27 * other it returns {@code false} (as the lists are of unequal length); 33.97/10.27 * otherwise it returns {@code true} when the iterations complete. 33.97/10.27 * 33.97/10.27 * @param o the object to be compared for equality with this list 33.97/10.27 * @return {@code true} if the specified object is equal to this list 33.97/10.27 */ 33.97/10.27 public boolean equals(Object o) { 33.97/10.27 if (o == this) 33.97/10.27 return true; 33.97/10.27 if (!(o instanceof List)) 33.97/10.27 return false; 33.97/10.27 33.97/10.27 ListIterator e1 = listIterator(); 33.97/10.27 ListIterator e2 = ((List) o).listIterator(); 33.97/10.27 while(e1.hasNext() && e2.hasNext()) { 33.97/10.27 E o1 = e1.next(); 33.97/10.27 Object o2 = e2.next(); 33.97/10.27 if (!(o1==null ? o2==null : o1.equals(o2))) 33.97/10.27 return false; 33.97/10.27 } 33.97/10.27 return !(e1.hasNext() || e2.hasNext()); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns the hash code value for this list. 33.97/10.27 * 33.97/10.27 *

This implementation uses exactly the code that is used to define the 33.97/10.27 * list hash function in the documentation for the {@link List#hashCode} 33.97/10.27 * method. 33.97/10.27 * 33.97/10.27 * @return the hash code value for this list 33.97/10.27 */ 33.97/10.27 public int hashCode() { 33.97/10.27 int hashCode = 1; 33.97/10.27 Iterator it = this.iterator(); 33.97/10.27 while (it.hasNext()) { 33.97/10.27 E e = it.next(); 33.97/10.27 hashCode = 31*hashCode + (e==null ? 0 : e.hashCode()); 33.97/10.27 } 33.97/10.27 return hashCode; 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Removes from this list all of the elements whose index is between 33.97/10.27 * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive. 33.97/10.27 * Shifts any succeeding elements to the left (reduces their index). 33.97/10.27 * This call shortens the list by {@code (toIndex - fromIndex)} elements. 33.97/10.27 * (If {@code toIndex==fromIndex}, this operation has no effect.) 33.97/10.27 * 33.97/10.27 *

This method is called by the {@code clear} operation on this list 33.97/10.27 * and its subLists. Overriding this method to take advantage of 33.97/10.27 * the internals of the list implementation can substantially 33.97/10.27 * improve the performance of the {@code clear} operation on this list 33.97/10.27 * and its subLists. 33.97/10.27 * 33.97/10.27 *

This implementation gets a list iterator positioned before 33.97/10.27 * {@code fromIndex}, and repeatedly calls {@code ListIterator.next} 33.97/10.27 * followed by {@code ListIterator.remove} until the entire range has 33.97/10.27 * been removed. Note: if {@code ListIterator.remove} requires linear 33.97/10.27 * time, this implementation requires quadratic time. 33.97/10.27 * 33.97/10.27 * @param fromIndex index of first element to be removed 33.97/10.27 * @param toIndex index after last element to be removed 33.97/10.27 */ 33.97/10.27 protected void removeRange(int fromIndex, int toIndex) { 33.97/10.27 ListIterator it = listIterator(fromIndex); 33.97/10.27 for (int i=0, n=toIndex-fromIndex; istructurally modified. 33.97/10.27 * Structural modifications are those that change the size of the 33.97/10.27 * list, or otherwise perturb it in such a fashion that iterations in 33.97/10.27 * progress may yield incorrect results. 33.97/10.27 * 33.97/10.27 *

This field is used by the iterator and list iterator implementation 33.97/10.27 * returned by the {@code iterator} and {@code listIterator} methods. 33.97/10.27 * If the value of this field changes unexpectedly, the iterator (or list 33.97/10.27 * iterator) will throw a {@code ConcurrentModificationException} in 33.97/10.27 * response to the {@code next}, {@code remove}, {@code previous}, 33.97/10.27 * {@code set} or {@code add} operations. This provides 33.97/10.27 * fail-fast behavior, rather than non-deterministic behavior in 33.97/10.27 * the face of concurrent modification during iteration. 33.97/10.27 * 33.97/10.27 *

Use of this field by subclasses is optional. If a subclass 33.97/10.27 * wishes to provide fail-fast iterators (and list iterators), then it 33.97/10.27 * merely has to increment this field in its {@code add(int, E)} and 33.97/10.27 * {@code remove(int)} methods (and any other methods that it overrides 33.97/10.27 * that result in structural modifications to the list). A single call to 33.97/10.27 * {@code add(int, E)} or {@code remove(int)} must add no more than 33.97/10.27 * one to this field, or the iterators (and list iterators) will throw 33.97/10.27 * bogus {@code ConcurrentModificationExceptions}. If an implementation 33.97/10.27 * does not wish to provide fail-fast iterators, this field may be 33.97/10.27 * ignored. 33.97/10.27 */ 33.97/10.27 protected transient int modCount = 0; 33.97/10.27 33.97/10.27 private void rangeCheckForAdd(int index) { 33.97/10.27 if (index < 0 || index > size()) 33.97/10.27 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 33.97/10.27 } 33.97/10.27 33.97/10.27 private String outOfBoundsMsg(int index) { 33.97/10.27 return ""; 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 class SubList extends AbstractList { 33.97/10.27 private final AbstractList l; 33.97/10.27 private final int offset; 33.97/10.27 private int size; 33.97/10.27 33.97/10.27 SubList(AbstractList list, int fromIndex, int toIndex) { 33.97/10.27 if (fromIndex < 0) 33.97/10.27 throw new IndexOutOfBoundsException(); 33.97/10.27 if (toIndex > list.size()) 33.97/10.27 throw new IndexOutOfBoundsException(); 33.97/10.27 if (fromIndex > toIndex) 33.97/10.27 throw new IllegalArgumentException(); 33.97/10.27 l = list; 33.97/10.27 offset = fromIndex; 33.97/10.27 size = toIndex - fromIndex; 33.97/10.27 this.modCount = l.modCount; 33.97/10.27 } 33.97/10.27 33.97/10.27 public E set(int index, E element) { 33.97/10.27 rangeCheck(index); 33.97/10.27 checkForComodification(); 33.97/10.27 return l.set(index+offset, element); 33.97/10.27 } 33.97/10.27 33.97/10.27 public E get(int index) { 33.97/10.27 rangeCheck(index); 33.97/10.27 checkForComodification(); 33.97/10.27 return l.get(index+offset); 33.97/10.27 } 33.97/10.27 33.97/10.27 public int size() { 33.97/10.27 checkForComodification(); 33.97/10.27 return size; 33.97/10.27 } 33.97/10.27 33.97/10.27 public void add(int index, E element) { 33.97/10.27 rangeCheckForAdd(index); 33.97/10.27 checkForComodification(); 33.97/10.27 l.add(index+offset, element); 33.97/10.27 this.modCount = l.modCount; 33.97/10.27 size++; 33.97/10.27 } 33.97/10.27 33.97/10.27 public E remove(int index) { 33.97/10.27 rangeCheck(index); 33.97/10.27 checkForComodification(); 33.97/10.27 E result = l.remove(index+offset); 33.97/10.27 this.modCount = l.modCount; 33.97/10.27 size--; 33.97/10.27 return result; 33.97/10.27 } 33.97/10.27 33.97/10.27 protected void removeRange(int fromIndex, int toIndex) { 33.97/10.27 checkForComodification(); 33.97/10.27 l.removeRange(fromIndex+offset, toIndex+offset); 33.97/10.27 this.modCount = l.modCount; 33.97/10.27 size -= (toIndex-fromIndex); 33.97/10.27 } 33.97/10.27 33.97/10.27 public boolean addAll(Collection c) { 33.97/10.27 return addAll(size, c); 33.97/10.27 } 33.97/10.27 33.97/10.27 public boolean addAll(int index, Collection c) { 33.97/10.27 rangeCheckForAdd(index); 33.97/10.27 int cSize = c.size(); 33.97/10.27 if (cSize==0) 33.97/10.27 return false; 33.97/10.27 33.97/10.27 checkForComodification(); 33.97/10.27 l.addAll(offset+index, c); 33.97/10.27 this.modCount = l.modCount; 33.97/10.27 size += cSize; 33.97/10.27 return true; 33.97/10.27 } 33.97/10.27 33.97/10.27 public Iterator iterator() { 33.97/10.27 return listIterator(); 33.97/10.27 } 33.97/10.27 33.97/10.27 public ListIterator listIterator(final int index) { 33.97/10.27 checkForComodification(); 33.97/10.27 rangeCheckForAdd(index); 33.97/10.27 33.97/10.27 return new ListIterator() { 33.97/10.27 private final ListIterator i = l.listIterator(index+offset); 33.97/10.27 33.97/10.27 public boolean hasNext() { 33.97/10.27 return nextIndex() < size; 33.97/10.27 } 33.97/10.27 33.97/10.27 public E next() { 33.97/10.27 if (hasNext()) 33.97/10.27 return i.next(); 33.97/10.27 else 33.97/10.27 throw new NoSuchElementException(); 33.97/10.27 } 33.97/10.27 33.97/10.27 public boolean hasPrevious() { 33.97/10.27 return previousIndex() >= 0; 33.97/10.27 } 33.97/10.27 33.97/10.27 public E previous() { 33.97/10.27 if (hasPrevious()) 33.97/10.27 return i.previous(); 33.97/10.27 else 33.97/10.27 throw new NoSuchElementException(); 33.97/10.27 } 33.97/10.27 33.97/10.27 public int nextIndex() { 33.97/10.27 return i.nextIndex() - offset; 33.97/10.27 } 33.97/10.27 33.97/10.27 public int previousIndex() { 33.97/10.27 return i.previousIndex() - offset; 33.97/10.27 } 33.97/10.27 33.97/10.27 public void remove() { 33.97/10.27 i.remove(); 33.97/10.27 SubList.this.modCount = l.modCount; 33.97/10.27 size--; 33.97/10.27 } 33.97/10.27 33.97/10.27 public void set(E e) { 33.97/10.27 i.set(e); 33.97/10.27 } 33.97/10.27 33.97/10.27 public void add(E e) { 33.97/10.27 i.add(e); 33.97/10.27 SubList.this.modCount = l.modCount; 33.97/10.27 size++; 33.97/10.27 } 33.97/10.27 }; 33.97/10.27 } 33.97/10.27 33.97/10.27 public List subList(int fromIndex, int toIndex) { 33.97/10.27 return new SubList(this, fromIndex, toIndex); 33.97/10.27 } 33.97/10.27 33.97/10.27 private void rangeCheck(int index) { 33.97/10.27 if (index < 0 || index >= size) 33.97/10.27 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 33.97/10.27 } 33.97/10.27 33.97/10.27 private void rangeCheckForAdd(int index) { 33.97/10.27 if (index < 0 || index > size) 33.97/10.27 throw new IndexOutOfBoundsException(outOfBoundsMsg(index)); 33.97/10.27 } 33.97/10.27 33.97/10.27 private String outOfBoundsMsg(int index) { 33.97/10.27 return ""; 33.97/10.27 } 33.97/10.27 33.97/10.27 private void checkForComodification() { 33.97/10.27 if (this.modCount != l.modCount) 33.97/10.27 throw new ConcurrentModificationException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 class RandomAccessSubList extends SubList implements RandomAccess { 33.97/10.27 RandomAccessSubList(AbstractList list, int fromIndex, int toIndex) { 33.97/10.27 super(list, fromIndex, toIndex); 33.97/10.27 } 33.97/10.27 33.97/10.27 public List subList(int fromIndex, int toIndex) { 33.97/10.27 return new RandomAccessSubList(this, fromIndex, toIndex); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 /* 33.97/10.27 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.27 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.27 * 33.97/10.27 * This code is free software; you can redistribute it and/or modify it 33.97/10.27 * under the terms of the GNU General Public License version 2 only, as 33.97/10.27 * published by the Free Software Foundation. Sun designates this 33.97/10.27 * particular file as subject to the "Classpath" exception as provided 33.97/10.27 * by Sun in the LICENSE file that accompanied this code. 33.97/10.27 * 33.97/10.27 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.27 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.27 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.27 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.27 * accompanied this code). 33.97/10.27 * 33.97/10.27 * You should have received a copy of the GNU General Public License version 33.97/10.27 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.27 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.27 * 33.97/10.27 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.27 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.27 * have any questions. 33.97/10.27 */ 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * This class provides a skeletal implementation of the List 33.97/10.27 * interface to minimize the effort required to implement this interface 33.97/10.27 * backed by a "sequential access" data store (such as a linked list). For 33.97/10.27 * random access data (such as an array), AbstractList should be used 33.97/10.27 * in preference to this class.

33.97/10.27 * 33.97/10.27 * This class is the opposite of the AbstractList class in the sense 33.97/10.27 * that it implements the "random access" methods (get(int index), 33.97/10.27 * set(int index, E element), add(int index, E element) and 33.97/10.27 * remove(int index)) on top of the list's list iterator, instead of 33.97/10.27 * the other way around.

33.97/10.27 * 33.97/10.27 * To implement a list the programmer needs only to extend this class and 33.97/10.27 * provide implementations for the listIterator and size 33.97/10.27 * methods. For an unmodifiable list, the programmer need only implement the 33.97/10.27 * list iterator's hasNext, next, hasPrevious, 33.97/10.27 * previous and index methods.

33.97/10.27 * 33.97/10.27 * For a modifiable list the programmer should additionally implement the list 33.97/10.27 * iterator's set method. For a variable-size list the programmer 33.97/10.27 * should additionally implement the list iterator's remove and 33.97/10.27 * add methods.

33.97/10.27 * 33.97/10.27 * The programmer should generally provide a void (no argument) and collection 33.97/10.27 * constructor, as per the recommendation in the Collection interface 33.97/10.27 * specification.

33.97/10.27 * 33.97/10.27 * This class is a member of the 33.97/10.27 * 33.97/10.27 * Java Collections Framework. 33.97/10.27 * 33.97/10.27 * @author Josh Bloch 33.97/10.27 * @author Neal Gafter 33.97/10.27 * @see Collection 33.97/10.27 * @see List 33.97/10.27 * @see AbstractList 33.97/10.27 * @see AbstractCollection 33.97/10.27 * @since 1.2 33.97/10.27 */ 33.97/10.27 33.97/10.27 public abstract class AbstractSequentialList extends AbstractList { 33.97/10.27 /** 33.97/10.27 * Sole constructor. (For invocation by subclass constructors, typically 33.97/10.27 * implicit.) 33.97/10.27 */ 33.97/10.27 protected AbstractSequentialList() { 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns the element at the specified position in this list. 33.97/10.27 * 33.97/10.27 *

This implementation first gets a list iterator pointing to the 33.97/10.27 * indexed element (with listIterator(index)). Then, it gets 33.97/10.27 * the element using ListIterator.next and returns it. 33.97/10.27 * 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public E get(int index) { 33.97/10.27 try { 33.97/10.27 return listIterator(index).next(); 33.97/10.27 } catch (NoSuchElementException exc) { 33.97/10.27 throw new IndexOutOfBoundsException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Replaces the element at the specified position in this list with the 33.97/10.27 * specified element (optional operation). 33.97/10.27 * 33.97/10.27 *

This implementation first gets a list iterator pointing to the 33.97/10.27 * indexed element (with listIterator(index)). Then, it gets 33.97/10.27 * the current element using ListIterator.next and replaces it 33.97/10.27 * with ListIterator.set. 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException if the list iterator does not 33.97/10.27 * implement the set operation. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public E set(int index, E element) { 33.97/10.27 try { 33.97/10.27 ListIterator e = listIterator(index); 33.97/10.27 E oldVal = e.next(); 33.97/10.27 e.set(element); 33.97/10.27 return oldVal; 33.97/10.27 } catch (NoSuchElementException exc) { 33.97/10.27 throw new IndexOutOfBoundsException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Inserts the specified element at the specified position in this list 33.97/10.27 * (optional operation). Shifts the element currently at that position 33.97/10.27 * (if any) and any subsequent elements to the right (adds one to their 33.97/10.27 * indices). 33.97/10.27 * 33.97/10.27 *

This implementation first gets a list iterator pointing to the 33.97/10.27 * indexed element (with listIterator(index)). Then, it 33.97/10.27 * inserts the specified element with ListIterator.add. 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException if the list iterator does not 33.97/10.27 * implement the add operation. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public void add(int index, E element) { 33.97/10.27 try { 33.97/10.27 listIterator(index).add(element); 33.97/10.27 } catch (NoSuchElementException exc) { 33.97/10.27 throw new IndexOutOfBoundsException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Removes the element at the specified position in this list (optional 33.97/10.27 * operation). Shifts any subsequent elements to the left (subtracts one 33.97/10.27 * from their indices). Returns the element that was removed from the 33.97/10.27 * list. 33.97/10.27 * 33.97/10.27 *

This implementation first gets a list iterator pointing to the 33.97/10.27 * indexed element (with listIterator(index)). Then, it removes 33.97/10.27 * the element with ListIterator.remove. 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException if the list iterator does not 33.97/10.27 * implement the remove operation. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public E remove(int index) { 33.97/10.27 try { 33.97/10.27 ListIterator e = listIterator(index); 33.97/10.27 E outCast = e.next(); 33.97/10.27 e.remove(); 33.97/10.27 return outCast; 33.97/10.27 } catch (NoSuchElementException exc) { 33.97/10.27 throw new IndexOutOfBoundsException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 // Bulk Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Inserts all of the elements in the specified collection into this 33.97/10.27 * list at the specified position (optional operation). Shifts the 33.97/10.27 * element currently at that position (if any) and any subsequent 33.97/10.27 * elements to the right (increases their indices). The new elements 33.97/10.27 * will appear in this list in the order that they are returned by the 33.97/10.27 * specified collection's iterator. The behavior of this operation is 33.97/10.27 * undefined if the specified collection is modified while the 33.97/10.27 * operation is in progress. (Note that this will occur if the specified 33.97/10.27 * collection is this list, and it's nonempty.) 33.97/10.27 * 33.97/10.27 *

This implementation gets an iterator over the specified collection and 33.97/10.27 * a list iterator over this list pointing to the indexed element (with 33.97/10.27 * listIterator(index)). Then, it iterates over the specified 33.97/10.27 * collection, inserting the elements obtained from the iterator into this 33.97/10.27 * list, one at a time, using ListIterator.add followed by 33.97/10.27 * ListIterator.next (to skip over the added element). 33.97/10.27 * 33.97/10.27 *

Note that this implementation will throw an 33.97/10.27 * UnsupportedOperationException if the list iterator returned by 33.97/10.27 * the listIterator method does not implement the add 33.97/10.27 * operation. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException {@inheritDoc} 33.97/10.27 * @throws ClassCastException {@inheritDoc} 33.97/10.27 * @throws NullPointerException {@inheritDoc} 33.97/10.27 * @throws IllegalArgumentException {@inheritDoc} 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public boolean addAll(int index, Collection c) { 33.97/10.27 try { 33.97/10.27 boolean modified = false; 33.97/10.27 ListIterator e1 = listIterator(index); 33.97/10.27 Iterator e2 = c.iterator(); 33.97/10.27 while (e2.hasNext()) { 33.97/10.27 e1.add(e2.next()); 33.97/10.27 modified = true; 33.97/10.27 } 33.97/10.27 return modified; 33.97/10.27 } catch (NoSuchElementException exc) { 33.97/10.27 throw new IndexOutOfBoundsException(); 33.97/10.27 } 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 // Iterators 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns an iterator over the elements in this list (in proper 33.97/10.27 * sequence).

33.97/10.27 * 33.97/10.27 * This implementation merely returns a list iterator over the list. 33.97/10.27 * 33.97/10.27 * @return an iterator over the elements in this list (in proper sequence) 33.97/10.27 */ 33.97/10.27 public Iterator iterator() { 33.97/10.27 return listIterator(); 33.97/10.27 } 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns a list iterator over the elements in this list (in proper 33.97/10.27 * sequence). 33.97/10.27 * 33.97/10.27 * @param index index of first element to be returned from the list 33.97/10.27 * iterator (by a call to the next method) 33.97/10.27 * @return a list iterator over the elements in this list (in proper 33.97/10.27 * sequence) 33.97/10.27 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.27 */ 33.97/10.27 public abstract ListIterator listIterator(int index); 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 /* 33.97/10.27 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.27 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.27 * 33.97/10.27 * This code is free software; you can redistribute it and/or modify it 33.97/10.27 * under the terms of the GNU General Public License version 2 only, as 33.97/10.27 * published by the Free Software Foundation. Sun designates this 33.97/10.27 * particular file as subject to the "Classpath" exception as provided 33.97/10.27 * by Sun in the LICENSE file that accompanied this code. 33.97/10.27 * 33.97/10.27 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.27 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.27 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.27 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.27 * accompanied this code). 33.97/10.27 * 33.97/10.27 * You should have received a copy of the GNU General Public License version 33.97/10.27 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.27 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.27 * 33.97/10.27 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.27 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.27 * have any questions. 33.97/10.27 */ 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * The root interface in the collection hierarchy. A collection 33.97/10.27 * represents a group of objects, known as its elements. Some 33.97/10.27 * collections allow duplicate elements and others do not. Some are ordered 33.97/10.27 * and others unordered. The JDK does not provide any direct 33.97/10.27 * implementations of this interface: it provides implementations of more 33.97/10.27 * specific subinterfaces like Set and List. This interface 33.97/10.27 * is typically used to pass collections around and manipulate them where 33.97/10.27 * maximum generality is desired. 33.97/10.27 * 33.97/10.27 *

Bags or multisets (unordered collections that may contain 33.97/10.27 * duplicate elements) should implement this interface directly. 33.97/10.27 * 33.97/10.27 *

All general-purpose Collection implementation classes (which 33.97/10.27 * typically implement Collection indirectly through one of its 33.97/10.27 * subinterfaces) should provide two "standard" constructors: a void (no 33.97/10.27 * arguments) constructor, which creates an empty collection, and a 33.97/10.27 * constructor with a single argument of type Collection, which 33.97/10.27 * creates a new collection with the same elements as its argument. In 33.97/10.27 * effect, the latter constructor allows the user to copy any collection, 33.97/10.27 * producing an equivalent collection of the desired implementation type. 33.97/10.27 * There is no way to enforce this convention (as interfaces cannot contain 33.97/10.27 * constructors) but all of the general-purpose Collection 33.97/10.27 * implementations in the Java platform libraries comply. 33.97/10.27 * 33.97/10.27 *

The "destructive" methods contained in this interface, that is, the 33.97/10.27 * methods that modify the collection on which they operate, are specified to 33.97/10.27 * throw UnsupportedOperationException if this collection does not 33.97/10.27 * support the operation. If this is the case, these methods may, but are not 33.97/10.27 * required to, throw an UnsupportedOperationException if the 33.97/10.27 * invocation would have no effect on the collection. For example, invoking 33.97/10.27 * the {@link #addAll(Collection)} method on an unmodifiable collection may, 33.97/10.27 * but is not required to, throw the exception if the collection to be added 33.97/10.27 * is empty. 33.97/10.27 * 33.97/10.27 *

Some collection implementations have restrictions on the elements that 33.97/10.27 * they may contain. For example, some implementations prohibit null elements, 33.97/10.27 * and some have restrictions on the types of their elements. Attempting to 33.97/10.27 * add an ineligible element throws an unchecked exception, typically 33.97/10.27 * NullPointerException or ClassCastException. Attempting 33.97/10.27 * to query the presence of an ineligible element may throw an exception, 33.97/10.27 * or it may simply return false; some implementations will exhibit the former 33.97/10.27 * behavior and some will exhibit the latter. More generally, attempting an 33.97/10.27 * operation on an ineligible element whose completion would not result in 33.97/10.27 * the insertion of an ineligible element into the collection may throw an 33.97/10.27 * exception or it may succeed, at the option of the implementation. 33.97/10.27 * Such exceptions are marked as "optional" in the specification for this 33.97/10.27 * interface. 33.97/10.27 * 33.97/10.27 *

It is up to each collection to determine its own synchronization 33.97/10.27 * policy. In the absence of a stronger guarantee by the 33.97/10.27 * implementation, undefined behavior may result from the invocation 33.97/10.27 * of any method on a collection that is being mutated by another 33.97/10.27 * thread; this includes direct invocations, passing the collection to 33.97/10.27 * a method that might perform invocations, and using an existing 33.97/10.27 * iterator to examine the collection. 33.97/10.27 * 33.97/10.27 *

Many methods in Collections Framework interfaces are defined in 33.97/10.27 * terms of the {@link Object#equals(Object) equals} method. For example, 33.97/10.27 * the specification for the {@link #contains(Object) contains(Object o)} 33.97/10.27 * method says: "returns true if and only if this collection 33.97/10.27 * contains at least one element e such that 33.97/10.27 * (o==null ? e==null : o.equals(e))." This specification should 33.97/10.27 * not be construed to imply that invoking Collection.contains 33.97/10.27 * with a non-null argument o will cause o.equals(e) to be 33.97/10.27 * invoked for any element e. Implementations are free to implement 33.97/10.27 * optimizations whereby the equals invocation is avoided, for 33.97/10.27 * example, by first comparing the hash codes of the two elements. (The 33.97/10.27 * {@link Object#hashCode()} specification guarantees that two objects with 33.97/10.27 * unequal hash codes cannot be equal.) More generally, implementations of 33.97/10.27 * the various Collections Framework interfaces are free to take advantage of 33.97/10.27 * the specified behavior of underlying {@link Object} methods wherever the 33.97/10.27 * implementor deems it appropriate. 33.97/10.27 * 33.97/10.27 *

This interface is a member of the 33.97/10.27 * 33.97/10.27 * Java Collections Framework. 33.97/10.27 * 33.97/10.27 * @author Josh Bloch 33.97/10.27 * @author Neal Gafter 33.97/10.27 * @see Set 33.97/10.27 * @see List 33.97/10.27 * @see Map 33.97/10.27 * @see SortedSet 33.97/10.27 * @see SortedMap 33.97/10.27 * @see HashSet 33.97/10.27 * @see TreeSet 33.97/10.27 * @see ArrayList 33.97/10.27 * @see LinkedList 33.97/10.27 * @see Vector 33.97/10.27 * @see Collections 33.97/10.27 * @see Arrays 33.97/10.27 * @see AbstractCollection 33.97/10.27 * @since 1.2 33.97/10.27 */ 33.97/10.27 33.97/10.27 public interface Collection { 33.97/10.27 // Query Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns the number of elements in this collection. If this collection 33.97/10.27 * contains more than Integer.MAX_VALUE elements, returns 33.97/10.27 * Integer.MAX_VALUE. 33.97/10.27 * 33.97/10.27 * @return the number of elements in this collection 33.97/10.27 */ 33.97/10.27 int size(); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns true if this collection contains no elements. 33.97/10.27 * 33.97/10.27 * @return true if this collection contains no elements 33.97/10.27 */ 33.97/10.27 boolean isEmpty(); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns true if this collection contains the specified element. 33.97/10.27 * More formally, returns true if and only if this collection 33.97/10.27 * contains at least one element e such that 33.97/10.27 * (o==null ? e==null : o.equals(e)). 33.97/10.27 * 33.97/10.27 * @param o element whose presence in this collection is to be tested 33.97/10.27 * @return true if this collection contains the specified 33.97/10.27 * element 33.97/10.27 * @throws ClassCastException if the type of the specified element 33.97/10.27 * is incompatible with this collection (optional) 33.97/10.27 * @throws NullPointerException if the specified element is null and this 33.97/10.27 * collection does not permit null elements (optional) 33.97/10.27 */ 33.97/10.27 boolean contains(Object o); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns an iterator over the elements in this collection. There are no 33.97/10.27 * guarantees concerning the order in which the elements are returned 33.97/10.27 * (unless this collection is an instance of some class that provides a 33.97/10.27 * guarantee). 33.97/10.27 * 33.97/10.27 * @return an Iterator over the elements in this collection 33.97/10.27 */ 33.97/10.27 Iterator iterator(); 33.97/10.27 33.97/10.27 // Modification Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Ensures that this collection contains the specified element (optional 33.97/10.27 * operation). Returns true if this collection changed as a 33.97/10.27 * result of the call. (Returns false if this collection does 33.97/10.27 * not permit duplicates and already contains the specified element.)

33.97/10.27 * 33.97/10.27 * Collections that support this operation may place limitations on what 33.97/10.27 * elements may be added to this collection. In particular, some 33.97/10.27 * collections will refuse to add null elements, and others will 33.97/10.27 * impose restrictions on the type of elements that may be added. 33.97/10.27 * Collection classes should clearly specify in their documentation any 33.97/10.27 * restrictions on what elements may be added.

33.97/10.27 * 33.97/10.27 * If a collection refuses to add a particular element for any reason 33.97/10.27 * other than that it already contains the element, it must throw 33.97/10.27 * an exception (rather than returning false). This preserves 33.97/10.27 * the invariant that a collection always contains the specified element 33.97/10.27 * after this call returns. 33.97/10.27 * 33.97/10.27 * @param e element whose presence in this collection is to be ensured 33.97/10.27 * @return true if this collection changed as a result of the 33.97/10.27 * call 33.97/10.27 * @throws UnsupportedOperationException if the add operation 33.97/10.27 * is not supported by this collection 33.97/10.27 * @throws ClassCastException if the class of the specified element 33.97/10.27 * prevents it from being added to this collection 33.97/10.27 * @throws NullPointerException if the specified element is null and this 33.97/10.27 * collection does not permit null elements 33.97/10.27 * @throws IllegalArgumentException if some property of the element 33.97/10.27 * prevents it from being added to this collection 33.97/10.27 * @throws IllegalStateException if the element cannot be added at this 33.97/10.27 * time due to insertion restrictions 33.97/10.27 */ 33.97/10.27 boolean add(E e); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Removes a single instance of the specified element from this 33.97/10.27 * collection, if it is present (optional operation). More formally, 33.97/10.27 * removes an element e such that 33.97/10.27 * (o==null ? e==null : o.equals(e)), if 33.97/10.27 * this collection contains one or more such elements. Returns 33.97/10.27 * true if this collection contained the specified element (or 33.97/10.27 * equivalently, if this collection changed as a result of the call). 33.97/10.27 * 33.97/10.27 * @param o element to be removed from this collection, if present 33.97/10.27 * @return true if an element was removed as a result of this call 33.97/10.27 * @throws ClassCastException if the type of the specified element 33.97/10.27 * is incompatible with this collection (optional) 33.97/10.27 * @throws NullPointerException if the specified element is null and this 33.97/10.27 * collection does not permit null elements (optional) 33.97/10.27 * @throws UnsupportedOperationException if the remove operation 33.97/10.27 * is not supported by this collection 33.97/10.27 */ 33.97/10.27 boolean remove(Object o); 33.97/10.27 33.97/10.27 33.97/10.27 // Bulk Operations 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns true if this collection contains all of the elements 33.97/10.27 * in the specified collection. 33.97/10.27 * 33.97/10.27 * @param c collection to be checked for containment in this collection 33.97/10.27 * @return true if this collection contains all of the elements 33.97/10.27 * in the specified collection 33.97/10.27 * @throws ClassCastException if the types of one or more elements 33.97/10.27 * in the specified collection are incompatible with this 33.97/10.27 * collection (optional) 33.97/10.27 * @throws NullPointerException if the specified collection contains one 33.97/10.27 * or more null elements and this collection does not permit null 33.97/10.27 * elements (optional), or if the specified collection is null 33.97/10.27 * @see #contains(Object) 33.97/10.27 */ 33.97/10.27 boolean containsAll(Collection c); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Adds all of the elements in the specified collection to this collection 33.97/10.27 * (optional operation). The behavior of this operation is undefined if 33.97/10.27 * the specified collection is modified while the operation is in progress. 33.97/10.27 * (This implies that the behavior of this call is undefined if the 33.97/10.27 * specified collection is this collection, and this collection is 33.97/10.27 * nonempty.) 33.97/10.27 * 33.97/10.27 * @param c collection containing elements to be added to this collection 33.97/10.27 * @return true if this collection changed as a result of the call 33.97/10.27 * @throws UnsupportedOperationException if the addAll operation 33.97/10.27 * is not supported by this collection 33.97/10.27 * @throws ClassCastException if the class of an element of the specified 33.97/10.27 * collection prevents it from being added to this collection 33.97/10.27 * @throws NullPointerException if the specified collection contains a 33.97/10.27 * null element and this collection does not permit null elements, 33.97/10.27 * or if the specified collection is null 33.97/10.27 * @throws IllegalArgumentException if some property of an element of the 33.97/10.27 * specified collection prevents it from being added to this 33.97/10.27 * collection 33.97/10.27 * @throws IllegalStateException if not all the elements can be added at 33.97/10.27 * this time due to insertion restrictions 33.97/10.27 * @see #add(Object) 33.97/10.27 */ 33.97/10.27 boolean addAll(Collection c); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Removes all of this collection's elements that are also contained in the 33.97/10.27 * specified collection (optional operation). After this call returns, 33.97/10.27 * this collection will contain no elements in common with the specified 33.97/10.27 * collection. 33.97/10.27 * 33.97/10.27 * @param c collection containing elements to be removed from this collection 33.97/10.27 * @return true if this collection changed as a result of the 33.97/10.27 * call 33.97/10.27 * @throws UnsupportedOperationException if the removeAll method 33.97/10.27 * is not supported by this collection 33.97/10.27 * @throws ClassCastException if the types of one or more elements 33.97/10.27 * in this collection are incompatible with the specified 33.97/10.27 * collection (optional) 33.97/10.27 * @throws NullPointerException if this collection contains one or more 33.97/10.27 * null elements and the specified collection does not support 33.97/10.27 * null elements (optional), or if the specified collection is null 33.97/10.27 * @see #remove(Object) 33.97/10.27 * @see #contains(Object) 33.97/10.27 */ 33.97/10.27 boolean removeAll(Collection c); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Retains only the elements in this collection that are contained in the 33.97/10.27 * specified collection (optional operation). In other words, removes from 33.97/10.27 * this collection all of its elements that are not contained in the 33.97/10.27 * specified collection. 33.97/10.27 * 33.97/10.27 * @param c collection containing elements to be retained in this collection 33.97/10.27 * @return true if this collection changed as a result of the call 33.97/10.27 * @throws UnsupportedOperationException if the retainAll operation 33.97/10.27 * is not supported by this collection 33.97/10.27 * @throws ClassCastException if the types of one or more elements 33.97/10.27 * in this collection are incompatible with the specified 33.97/10.27 * collection (optional) 33.97/10.27 * @throws NullPointerException if this collection contains one or more 33.97/10.27 * null elements and the specified collection does not permit null 33.97/10.27 * elements (optional), or if the specified collection is null 33.97/10.27 * @see #remove(Object) 33.97/10.27 * @see #contains(Object) 33.97/10.27 */ 33.97/10.27 boolean retainAll(Collection c); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Removes all of the elements from this collection (optional operation). 33.97/10.27 * The collection will be empty after this method returns. 33.97/10.27 * 33.97/10.27 * @throws UnsupportedOperationException if the clear operation 33.97/10.27 * is not supported by this collection 33.97/10.27 */ 33.97/10.27 void clear(); 33.97/10.27 33.97/10.27 33.97/10.27 // Comparison and hashing 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Compares the specified object with this collection for equality.

33.97/10.27 * 33.97/10.27 * While the Collection interface adds no stipulations to the 33.97/10.27 * general contract for the Object.equals, programmers who 33.97/10.27 * implement the Collection interface "directly" (in other words, 33.97/10.27 * create a class that is a Collection but is not a Set 33.97/10.27 * or a List) must exercise care if they choose to override the 33.97/10.27 * Object.equals. It is not necessary to do so, and the simplest 33.97/10.27 * course of action is to rely on Object's implementation, but 33.97/10.27 * the implementor may wish to implement a "value comparison" in place of 33.97/10.27 * the default "reference comparison." (The List and 33.97/10.27 * Set interfaces mandate such value comparisons.)

33.97/10.27 * 33.97/10.27 * The general contract for the Object.equals method states that 33.97/10.27 * equals must be symmetric (in other words, a.equals(b) if and 33.97/10.27 * only if b.equals(a)). The contracts for List.equals 33.97/10.27 * and Set.equals state that lists are only equal to other lists, 33.97/10.27 * and sets to other sets. Thus, a custom equals method for a 33.97/10.27 * collection class that implements neither the List nor 33.97/10.27 * Set interface must return false when this collection 33.97/10.27 * is compared to any list or set. (By the same logic, it is not possible 33.97/10.27 * to write a class that correctly implements both the Set and 33.97/10.27 * List interfaces.) 33.97/10.27 * 33.97/10.27 * @param o object to be compared for equality with this collection 33.97/10.27 * @return true if the specified object is equal to this 33.97/10.27 * collection 33.97/10.27 * 33.97/10.27 * @see Object#equals(Object) 33.97/10.27 * @see Set#equals(Object) 33.97/10.27 * @see List#equals(Object) 33.97/10.27 */ 33.97/10.27 boolean equals(Object o); 33.97/10.27 33.97/10.27 /** 33.97/10.27 * Returns the hash code value for this collection. While the 33.97/10.27 * Collection interface adds no stipulations to the general 33.97/10.27 * contract for the Object.hashCode method, programmers should 33.97/10.27 * take note that any class that overrides the Object.equals 33.97/10.27 * method must also override the Object.hashCode method in order 33.97/10.27 * to satisfy the general contract for the Object.hashCodemethod. 33.97/10.27 * In particular, c1.equals(c2) implies that 33.97/10.27 * c1.hashCode()==c2.hashCode(). 33.97/10.27 * 33.97/10.27 * @return the hash code value for this collection 33.97/10.27 * 33.97/10.27 * @see Object#hashCode() 33.97/10.27 * @see Object#equals(Object) 33.97/10.27 */ 33.97/10.27 int hashCode(); 33.97/10.27 } 33.97/10.27 33.97/10.27 33.97/10.27 /* 33.97/10.27 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.27 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.27 * 33.97/10.27 * This code is free software; you can redistribute it and/or modify it 33.97/10.27 * under the terms of the GNU General Public License version 2 only, as 33.97/10.27 * published by the Free Software Foundation. Sun designates this 33.97/10.27 * particular file as subject to the "Classpath" exception as provided 33.97/10.27 * by Sun in the LICENSE file that accompanied this code. 33.97/10.27 * 33.97/10.27 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.27 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.27 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.27 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.27 * accompanied this code). 33.97/10.27 * 33.97/10.27 * You should have received a copy of the GNU General Public License version 33.97/10.27 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.27 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.27 * 33.97/10.27 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.27 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.27 * have any questions. 33.97/10.27 */ 33.97/10.27 33.97/10.27 package javaUtilEx; 33.97/10.27 33.97/10.27 /** 33.97/10.27 * This exception may be thrown by methods that have detected concurrent 33.97/10.27 * modification of an object when such modification is not permissible. 33.97/10.27 *

33.97/10.27 * For example, it is not generally permissible for one thread to modify a Collection 33.97/10.27 * while another thread is iterating over it. In general, the results of the 33.97/10.27 * iteration are undefined under these circumstances. Some Iterator 33.97/10.27 * implementations (including those of all the general purpose collection implementations 33.97/10.28 * provided by the JRE) may choose to throw this exception if this behavior is 33.97/10.28 * detected. Iterators that do this are known as fail-fast iterators, 33.97/10.28 * as they fail quickly and cleanly, rather that risking arbitrary, 33.97/10.28 * non-deterministic behavior at an undetermined time in the future. 33.97/10.28 *

33.97/10.28 * Note that this exception does not always indicate that an object has 33.97/10.28 * been concurrently modified by a different thread. If a single 33.97/10.28 * thread issues a sequence of method invocations that violates the 33.97/10.28 * contract of an object, the object may throw this exception. For 33.97/10.28 * example, if a thread modifies a collection directly while it is 33.97/10.28 * iterating over the collection with a fail-fast iterator, the iterator 33.97/10.28 * will throw this exception. 33.97/10.28 * 33.97/10.28 *

Note that fail-fast behavior cannot be guaranteed as it is, generally 33.97/10.28 * speaking, impossible to make any hard guarantees in the presence of 33.97/10.28 * unsynchronized concurrent modification. Fail-fast operations 33.97/10.28 * throw ConcurrentModificationException on a best-effort basis. 33.97/10.28 * Therefore, it would be wrong to write a program that depended on this 33.97/10.28 * exception for its correctness: ConcurrentModificationException 33.97/10.28 * should be used only to detect bugs. 33.97/10.28 * 33.97/10.28 * @author Josh Bloch 33.97/10.28 * @see Collection 33.97/10.28 * @see Iterator 33.97/10.28 * @see ListIterator 33.97/10.28 * @see Vector 33.97/10.28 * @see LinkedList 33.97/10.28 * @see HashSet 33.97/10.28 * @see Hashtable 33.97/10.28 * @see TreeMap 33.97/10.28 * @see AbstractList 33.97/10.28 * @since 1.2 33.97/10.28 */ 33.97/10.28 public class ConcurrentModificationException extends RuntimeException { 33.97/10.28 /** 33.97/10.28 * Constructs a ConcurrentModificationException with no 33.97/10.28 * detail message. 33.97/10.28 */ 33.97/10.28 public ConcurrentModificationException() { 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs a ConcurrentModificationException with the 33.97/10.28 * specified detail message. 33.97/10.28 * 33.97/10.28 * @param message the detail message pertaining to this exception. 33.97/10.28 */ 33.97/10.28 public ConcurrentModificationException(String message) { 33.97/10.28 super(message); 33.97/10.28 } 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 /* 33.97/10.28 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.28 * 33.97/10.28 * This code is free software; you can redistribute it and/or modify it 33.97/10.28 * under the terms of the GNU General Public License version 2 only, as 33.97/10.28 * published by the Free Software Foundation. Sun designates this 33.97/10.28 * particular file as subject to the "Classpath" exception as provided 33.97/10.28 * by Sun in the LICENSE file that accompanied this code. 33.97/10.28 * 33.97/10.28 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.28 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.28 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.28 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.28 * accompanied this code). 33.97/10.28 * 33.97/10.28 * You should have received a copy of the GNU General Public License version 33.97/10.28 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.28 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.28 * 33.97/10.28 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.28 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.28 * have any questions. 33.97/10.28 */ 33.97/10.28 33.97/10.28 /* 33.97/10.28 * This file is available under and governed by the GNU General Public 33.97/10.28 * License version 2 only, as published by the Free Software Foundation. 33.97/10.28 * However, the following notice accompanied the original version of this 33.97/10.28 * file: 33.97/10.28 * 33.97/10.28 * Written by Doug Lea and Josh Bloch with assistance from members of 33.97/10.28 * JCP JSR-166 Expert Group and released to the public domain, as explained 33.97/10.28 * at http://creativecommons.org/licenses/publicdomain 33.97/10.28 */ 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * A linear collection that supports element insertion and removal at 33.97/10.28 * both ends. The name deque is short for "double ended queue" 33.97/10.28 * and is usually pronounced "deck". Most Deque 33.97/10.28 * implementations place no fixed limits on the number of elements 33.97/10.28 * they may contain, but this interface supports capacity-restricted 33.97/10.28 * deques as well as those with no fixed size limit. 33.97/10.28 * 33.97/10.28 *

This interface defines methods to access the elements at both 33.97/10.28 * ends of the deque. Methods are provided to insert, remove, and 33.97/10.28 * examine the element. Each of these methods exists in two forms: 33.97/10.28 * one throws an exception if the operation fails, the other returns a 33.97/10.28 * special value (either null or false, depending on 33.97/10.28 * the operation). The latter form of the insert operation is 33.97/10.28 * designed specifically for use with capacity-restricted 33.97/10.28 * Deque implementations; in most implementations, insert 33.97/10.28 * operations cannot fail. 33.97/10.28 * 33.97/10.28 *

The twelve methods described above are summarized in the 33.97/10.28 * following table: 33.97/10.28 * 33.97/10.28 *

33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 *
First Element (Head) Last Element (Tail)
Throws exceptionSpecial valueThrows exceptionSpecial value
Insert{@link #addFirst addFirst(e)}{@link #offerFirst offerFirst(e)}{@link #addLast addLast(e)}{@link #offerLast offerLast(e)}
Remove{@link #removeFirst removeFirst()}{@link #pollFirst pollFirst()}{@link #removeLast removeLast()}{@link #pollLast pollLast()}
Examine{@link #getFirst getFirst()}{@link #peekFirst peekFirst()}{@link #getLast getLast()}{@link #peekLast peekLast()}
33.97/10.28 * 33.97/10.28 *

This interface extends the {@link Queue} interface. When a deque is 33.97/10.28 * used as a queue, FIFO (First-In-First-Out) behavior results. Elements are 33.97/10.28 * added at the end of the deque and removed from the beginning. The methods 33.97/10.28 * inherited from the Queue interface are precisely equivalent to 33.97/10.28 * Deque methods as indicated in the following table: 33.97/10.28 * 33.97/10.28 *

33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 *
Queue Method Equivalent Deque Method
{@link java.util.Queue#add add(e)}{@link #addLast addLast(e)}
{@link java.util.Queue#offer offer(e)}{@link #offerLast offerLast(e)}
{@link java.util.Queue#remove remove()}{@link #removeFirst removeFirst()}
{@link java.util.Queue#poll poll()}{@link #pollFirst pollFirst()}
{@link java.util.Queue#element element()}{@link #getFirst getFirst()}
{@link java.util.Queue#peek peek()}{@link #peek peekFirst()}
33.97/10.28 * 33.97/10.28 *

Deques can also be used as LIFO (Last-In-First-Out) stacks. This 33.97/10.28 * interface should be used in preference to the legacy {@link Stack} class. 33.97/10.28 * When a deque is used as a stack, elements are pushed and popped from the 33.97/10.28 * beginning of the deque. Stack methods are precisely equivalent to 33.97/10.28 * Deque methods as indicated in the table below: 33.97/10.28 * 33.97/10.28 *

33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 * 33.97/10.28 *
Stack Method Equivalent Deque Method
{@link #push push(e)}{@link #addFirst addFirst(e)}
{@link #pop pop()}{@link #removeFirst removeFirst()}
{@link #peek peek()}{@link #peekFirst peekFirst()}
33.97/10.28 * 33.97/10.28 *

Note that the {@link #peek peek} method works equally well when 33.97/10.28 * a deque is used as a queue or a stack; in either case, elements are 33.97/10.28 * drawn from the beginning of the deque. 33.97/10.28 * 33.97/10.28 *

This interface provides two methods to remove interior 33.97/10.28 * elements, {@link #removeFirstOccurrence removeFirstOccurrence} and 33.97/10.28 * {@link #removeLastOccurrence removeLastOccurrence}. 33.97/10.28 * 33.97/10.28 *

Unlike the {@link List} interface, this interface does not 33.97/10.28 * provide support for indexed access to elements. 33.97/10.28 * 33.97/10.28 *

While Deque implementations are not strictly required 33.97/10.28 * to prohibit the insertion of null elements, they are strongly 33.97/10.28 * encouraged to do so. Users of any Deque implementations 33.97/10.28 * that do allow null elements are strongly encouraged not to 33.97/10.28 * take advantage of the ability to insert nulls. This is so because 33.97/10.28 * null is used as a special return value by various methods 33.97/10.28 * to indicated that the deque is empty. 33.97/10.28 * 33.97/10.28 *

Deque implementations generally do not define 33.97/10.28 * element-based versions of the equals and hashCode 33.97/10.28 * methods, but instead inherit the identity-based versions from class 33.97/10.28 * Object. 33.97/10.28 * 33.97/10.28 *

This interface is a member of the Java Collections 33.97/10.28 * Framework. 33.97/10.28 * 33.97/10.28 * @author Doug Lea 33.97/10.28 * @author Josh Bloch 33.97/10.28 * @since 1.6 33.97/10.28 * @param the type of elements held in this collection 33.97/10.28 */ 33.97/10.28 33.97/10.28 public interface Deque extends Queue { 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the front of this deque if it is 33.97/10.28 * possible to do so immediately without violating capacity restrictions. 33.97/10.28 * When using a capacity-restricted deque, it is generally preferable to 33.97/10.28 * use method {@link #offerFirst}. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 * @throws IllegalStateException if the element cannot be added at this 33.97/10.28 * time due to capacity restrictions 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this deque 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements 33.97/10.28 * @throws IllegalArgumentException if some property of the specified 33.97/10.28 * element prevents it from being added to this deque 33.97/10.28 */ 33.97/10.28 void addFirst(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the end of this deque if it is 33.97/10.28 * possible to do so immediately without violating capacity restrictions. 33.97/10.28 * When using a capacity-restricted deque, it is generally preferable to 33.97/10.28 * use method {@link #offerLast}. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #add}. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 * @throws IllegalStateException if the element cannot be added at this 33.97/10.28 * time due to capacity restrictions 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this deque 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements 33.97/10.28 * @throws IllegalArgumentException if some property of the specified 33.97/10.28 * element prevents it from being added to this deque 33.97/10.28 */ 33.97/10.28 void addLast(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the front of this deque unless it would 33.97/10.28 * violate capacity restrictions. When using a capacity-restricted deque, 33.97/10.28 * this method is generally preferable to the {@link #addFirst} method, 33.97/10.28 * which can fail to insert an element only by throwing an exception. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 * @return true if the element was added to this deque, else 33.97/10.28 * false 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this deque 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements 33.97/10.28 * @throws IllegalArgumentException if some property of the specified 33.97/10.28 * element prevents it from being added to this deque 33.97/10.28 */ 33.97/10.28 boolean offerFirst(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the end of this deque unless it would 33.97/10.28 * violate capacity restrictions. When using a capacity-restricted deque, 33.97/10.28 * this method is generally preferable to the {@link #addLast} method, 33.97/10.28 * which can fail to insert an element only by throwing an exception. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 * @return true if the element was added to this deque, else 33.97/10.28 * false 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this deque 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements 33.97/10.28 * @throws IllegalArgumentException if some property of the specified 33.97/10.28 * element prevents it from being added to this deque 33.97/10.28 */ 33.97/10.28 boolean offerLast(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the first element of this deque. This method 33.97/10.28 * differs from {@link #pollFirst pollFirst} only in that it throws an 33.97/10.28 * exception if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the head of this deque 33.97/10.28 * @throws NoSuchElementException if this deque is empty 33.97/10.28 */ 33.97/10.28 E removeFirst(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the last element of this deque. This method 33.97/10.28 * differs from {@link #pollLast pollLast} only in that it throws an 33.97/10.28 * exception if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the tail of this deque 33.97/10.28 * @throws NoSuchElementException if this deque is empty 33.97/10.28 */ 33.97/10.28 E removeLast(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the first element of this deque, 33.97/10.28 * or returns null if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the head of this deque, or null if this deque is empty 33.97/10.28 */ 33.97/10.28 E pollFirst(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the last element of this deque, 33.97/10.28 * or returns null if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the tail of this deque, or null if this deque is empty 33.97/10.28 */ 33.97/10.28 E pollLast(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the first element of this deque. 33.97/10.28 * 33.97/10.28 * This method differs from {@link #peekFirst peekFirst} only in that it 33.97/10.28 * throws an exception if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the head of this deque 33.97/10.28 * @throws NoSuchElementException if this deque is empty 33.97/10.28 */ 33.97/10.28 E getFirst(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the last element of this deque. 33.97/10.28 * This method differs from {@link #peekLast peekLast} only in that it 33.97/10.28 * throws an exception if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the tail of this deque 33.97/10.28 * @throws NoSuchElementException if this deque is empty 33.97/10.28 */ 33.97/10.28 E getLast(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the first element of this deque, 33.97/10.28 * or returns null if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the head of this deque, or null if this deque is empty 33.97/10.28 */ 33.97/10.28 E peekFirst(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the last element of this deque, 33.97/10.28 * or returns null if this deque is empty. 33.97/10.28 * 33.97/10.28 * @return the tail of this deque, or null if this deque is empty 33.97/10.28 */ 33.97/10.28 E peekLast(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes the first occurrence of the specified element from this deque. 33.97/10.28 * If the deque does not contain the element, it is unchanged. 33.97/10.28 * More formally, removes the first element e such that 33.97/10.28 * (o==null ? e==null : o.equals(e)) 33.97/10.28 * (if such an element exists). 33.97/10.28 * Returns true if this deque contained the specified element 33.97/10.28 * (or equivalently, if this deque changed as a result of the call). 33.97/10.28 * 33.97/10.28 * @param o element to be removed from this deque, if present 33.97/10.28 * @return true if an element was removed as a result of this call 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * is incompatible with this deque (optional) 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements (optional) 33.97/10.28 */ 33.97/10.28 boolean removeFirstOccurrence(Object o); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes the last occurrence of the specified element from this deque. 33.97/10.28 * If the deque does not contain the element, it is unchanged. 33.97/10.28 * More formally, removes the last element e such that 33.97/10.28 * (o==null ? e==null : o.equals(e)) 33.97/10.28 * (if such an element exists). 33.97/10.28 * Returns true if this deque contained the specified element 33.97/10.28 * (or equivalently, if this deque changed as a result of the call). 33.97/10.28 * 33.97/10.28 * @param o element to be removed from this deque, if present 33.97/10.28 * @return true if an element was removed as a result of this call 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * is incompatible with this deque (optional) 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements (optional) 33.97/10.28 */ 33.97/10.28 boolean removeLastOccurrence(Object o); 33.97/10.28 33.97/10.28 // *** Queue methods *** 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element into the queue represented by this deque 33.97/10.28 * (in other words, at the tail of this deque) if it is possible to do so 33.97/10.28 * immediately without violating capacity restrictions, returning 33.97/10.28 * true upon success and throwing an 33.97/10.28 * IllegalStateException if no space is currently available. 33.97/10.28 * When using a capacity-restricted deque, it is generally preferable to 33.97/10.28 * use {@link #offer(Object) offer}. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #addLast}. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 * @return true (as specified by {@link Collection#add}) 33.97/10.28 * @throws IllegalStateException if the element cannot be added at this 33.97/10.28 * time due to capacity restrictions 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this deque 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements 33.97/10.28 * @throws IllegalArgumentException if some property of the specified 33.97/10.28 * element prevents it from being added to this deque 33.97/10.28 */ 33.97/10.28 boolean add(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element into the queue represented by this deque 33.97/10.28 * (in other words, at the tail of this deque) if it is possible to do so 33.97/10.28 * immediately without violating capacity restrictions, returning 33.97/10.28 * true upon success and false if no space is currently 33.97/10.28 * available. When using a capacity-restricted deque, this method is 33.97/10.28 * generally preferable to the {@link #add} method, which can fail to 33.97/10.28 * insert an element only by throwing an exception. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #offerLast}. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 * @return true if the element was added to this deque, else 33.97/10.28 * false 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this deque 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements 33.97/10.28 * @throws IllegalArgumentException if some property of the specified 33.97/10.28 * element prevents it from being added to this deque 33.97/10.28 */ 33.97/10.28 boolean offer(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the head of the queue represented by this deque 33.97/10.28 * (in other words, the first element of this deque). 33.97/10.28 * This method differs from {@link #poll poll} only in that it throws an 33.97/10.28 * exception if this deque is empty. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #removeFirst()}. 33.97/10.28 * 33.97/10.28 * @return the head of the queue represented by this deque 33.97/10.28 * @throws NoSuchElementException if this deque is empty 33.97/10.28 */ 33.97/10.28 E remove(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the head of the queue represented by this deque 33.97/10.28 * (in other words, the first element of this deque), or returns 33.97/10.28 * null if this deque is empty. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #pollFirst()}. 33.97/10.28 * 33.97/10.28 * @return the first element of this deque, or null if 33.97/10.28 * this deque is empty 33.97/10.28 */ 33.97/10.28 E poll(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the head of the queue represented by 33.97/10.28 * this deque (in other words, the first element of this deque). 33.97/10.28 * This method differs from {@link #peek peek} only in that it throws an 33.97/10.28 * exception if this deque is empty. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #getFirst()}. 33.97/10.28 * 33.97/10.28 * @return the head of the queue represented by this deque 33.97/10.28 * @throws NoSuchElementException if this deque is empty 33.97/10.28 */ 33.97/10.28 E element(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the head of the queue represented by 33.97/10.28 * this deque (in other words, the first element of this deque), or 33.97/10.28 * returns null if this deque is empty. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #peekFirst()}. 33.97/10.28 * 33.97/10.28 * @return the head of the queue represented by this deque, or 33.97/10.28 * null if this deque is empty 33.97/10.28 */ 33.97/10.28 E peek(); 33.97/10.28 33.97/10.28 33.97/10.28 // *** Stack methods *** 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Pushes an element onto the stack represented by this deque (in other 33.97/10.28 * words, at the head of this deque) if it is possible to do so 33.97/10.28 * immediately without violating capacity restrictions, returning 33.97/10.28 * true upon success and throwing an 33.97/10.28 * IllegalStateException if no space is currently available. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #addFirst}. 33.97/10.28 * 33.97/10.28 * @param e the element to push 33.97/10.28 * @throws IllegalStateException if the element cannot be added at this 33.97/10.28 * time due to capacity restrictions 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this deque 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements 33.97/10.28 * @throws IllegalArgumentException if some property of the specified 33.97/10.28 * element prevents it from being added to this deque 33.97/10.28 */ 33.97/10.28 void push(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Pops an element from the stack represented by this deque. In other 33.97/10.28 * words, removes and returns the first element of this deque. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #removeFirst()}. 33.97/10.28 * 33.97/10.28 * @return the element at the front of this deque (which is the top 33.97/10.28 * of the stack represented by this deque) 33.97/10.28 * @throws NoSuchElementException if this deque is empty 33.97/10.28 */ 33.97/10.28 E pop(); 33.97/10.28 33.97/10.28 33.97/10.28 // *** Collection methods *** 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes the first occurrence of the specified element from this deque. 33.97/10.28 * If the deque does not contain the element, it is unchanged. 33.97/10.28 * More formally, removes the first element e such that 33.97/10.28 * (o==null ? e==null : o.equals(e)) 33.97/10.28 * (if such an element exists). 33.97/10.28 * Returns true if this deque contained the specified element 33.97/10.28 * (or equivalently, if this deque changed as a result of the call). 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #removeFirstOccurrence}. 33.97/10.28 * 33.97/10.28 * @param o element to be removed from this deque, if present 33.97/10.28 * @return true if an element was removed as a result of this call 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * is incompatible with this deque (optional) 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements (optional) 33.97/10.28 */ 33.97/10.28 boolean remove(Object o); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns true if this deque contains the specified element. 33.97/10.28 * More formally, returns true if and only if this deque contains 33.97/10.28 * at least one element e such that 33.97/10.28 * (o==null ? e==null : o.equals(e)). 33.97/10.28 * 33.97/10.28 * @param o element whose presence in this deque is to be tested 33.97/10.28 * @return true if this deque contains the specified element 33.97/10.28 * @throws ClassCastException if the type of the specified element 33.97/10.28 * is incompatible with this deque (optional) 33.97/10.28 * @throws NullPointerException if the specified element is null and this 33.97/10.28 * deque does not permit null elements (optional) 33.97/10.28 */ 33.97/10.28 boolean contains(Object o); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the number of elements in this deque. 33.97/10.28 * 33.97/10.28 * @return the number of elements in this deque 33.97/10.28 */ 33.97/10.28 public int size(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns an iterator over the elements in this deque in proper sequence. 33.97/10.28 * The elements will be returned in order from first (head) to last (tail). 33.97/10.28 * 33.97/10.28 * @return an iterator over the elements in this deque in proper sequence 33.97/10.28 */ 33.97/10.28 Iterator iterator(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns an iterator over the elements in this deque in reverse 33.97/10.28 * sequential order. The elements will be returned in order from 33.97/10.28 * last (tail) to first (head). 33.97/10.28 * 33.97/10.28 * @return an iterator over the elements in this deque in reverse 33.97/10.28 * sequence 33.97/10.28 */ 33.97/10.28 Iterator descendingIterator(); 33.97/10.28 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 /* 33.97/10.28 * Copyright 1994-2003 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.28 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.28 * 33.97/10.28 * This code is free software; you can redistribute it and/or modify it 33.97/10.28 * under the terms of the GNU General Public License version 2 only, as 33.97/10.28 * published by the Free Software Foundation. Sun designates this 33.97/10.28 * particular file as subject to the "Classpath" exception as provided 33.97/10.28 * by Sun in the LICENSE file that accompanied this code. 33.97/10.28 * 33.97/10.28 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.28 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.28 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.28 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.28 * accompanied this code). 33.97/10.28 * 33.97/10.28 * You should have received a copy of the GNU General Public License version 33.97/10.28 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.28 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.28 * 33.97/10.28 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.28 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.28 * have any questions. 33.97/10.28 */ 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Thrown to indicate that a method has been passed an illegal or 33.97/10.28 * inappropriate argument. 33.97/10.28 * 33.97/10.28 * @author unascribed 33.97/10.28 * @see java.lang.Thread#setPriority(int) 33.97/10.28 * @since JDK1.0 33.97/10.28 */ 33.97/10.28 public 33.97/10.28 class IllegalArgumentException extends RuntimeException { 33.97/10.28 /** 33.97/10.28 * Constructs an IllegalArgumentException with no 33.97/10.28 * detail message. 33.97/10.28 */ 33.97/10.28 public IllegalArgumentException() { 33.97/10.28 super(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs an IllegalArgumentException with the 33.97/10.28 * specified detail message. 33.97/10.28 * 33.97/10.28 * @param s the detail message. 33.97/10.28 */ 33.97/10.28 public IllegalArgumentException(String s) { 33.97/10.28 super(s); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs a new exception with the specified detail message and 33.97/10.28 * cause. 33.97/10.28 * 33.97/10.28 *

Note that the detail message associated with cause is 33.97/10.28 * not automatically incorporated in this exception's detail 33.97/10.28 * message. 33.97/10.28 * 33.97/10.28 * @param message the detail message (which is saved for later retrieval 33.97/10.28 * by the {@link Throwable#getMessage()} method). 33.97/10.28 * @param cause the cause (which is saved for later retrieval by the 33.97/10.28 * {@link Throwable#getCause()} method). (A null value 33.97/10.28 * is permitted, and indicates that the cause is nonexistent or 33.97/10.28 * unknown.) 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public IllegalArgumentException(String message, Throwable cause) { 33.97/10.28 super(message, cause); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs a new exception with the specified cause and a detail 33.97/10.28 * message of (cause==null ? null : cause.toString()) (which 33.97/10.28 * typically contains the class and detail message of cause). 33.97/10.28 * This constructor is useful for exceptions that are little more than 33.97/10.28 * wrappers for other throwables (for example, {@link 33.97/10.28 * java.security.PrivilegedActionException}). 33.97/10.28 * 33.97/10.28 * @param cause the cause (which is saved for later retrieval by the 33.97/10.28 * {@link Throwable#getCause()} method). (A null value is 33.97/10.28 * permitted, and indicates that the cause is nonexistent or 33.97/10.28 * unknown.) 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public IllegalArgumentException(Throwable cause) { 33.97/10.28 super(cause); 33.97/10.28 } 33.97/10.28 33.97/10.28 private static final long serialVersionUID = -5365630128856068164L; 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 /* 33.97/10.28 * Copyright 1996-2003 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.28 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.28 * 33.97/10.28 * This code is free software; you can redistribute it and/or modify it 33.97/10.28 * under the terms of the GNU General Public License version 2 only, as 33.97/10.28 * published by the Free Software Foundation. Sun designates this 33.97/10.28 * particular file as subject to the "Classpath" exception as provided 33.97/10.28 * by Sun in the LICENSE file that accompanied this code. 33.97/10.28 * 33.97/10.28 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.28 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.28 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.28 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.28 * accompanied this code). 33.97/10.28 * 33.97/10.28 * You should have received a copy of the GNU General Public License version 33.97/10.28 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.28 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.28 * 33.97/10.28 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.28 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.28 * have any questions. 33.97/10.28 */ 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Signals that a method has been invoked at an illegal or 33.97/10.28 * inappropriate time. In other words, the Java environment or 33.97/10.28 * Java application is not in an appropriate state for the requested 33.97/10.28 * operation. 33.97/10.28 * 33.97/10.28 * @author Jonni Kanerva 33.97/10.28 * @since JDK1.1 33.97/10.28 */ 33.97/10.28 public 33.97/10.28 class IllegalStateException extends RuntimeException { 33.97/10.28 /** 33.97/10.28 * Constructs an IllegalStateException with no detail message. 33.97/10.28 * A detail message is a String that describes this particular exception. 33.97/10.28 */ 33.97/10.28 public IllegalStateException() { 33.97/10.28 super(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs an IllegalStateException with the specified detail 33.97/10.28 * message. A detail message is a String that describes this particular 33.97/10.28 * exception. 33.97/10.28 * 33.97/10.28 * @param s the String that contains a detailed message 33.97/10.28 */ 33.97/10.28 public IllegalStateException(String s) { 33.97/10.28 super(s); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs a new exception with the specified detail message and 33.97/10.28 * cause. 33.97/10.28 * 33.97/10.28 *

Note that the detail message associated with cause is 33.97/10.28 * not automatically incorporated in this exception's detail 33.97/10.28 * message. 33.97/10.28 * 33.97/10.28 * @param message the detail message (which is saved for later retrieval 33.97/10.28 * by the {@link Throwable#getMessage()} method). 33.97/10.28 * @param cause the cause (which is saved for later retrieval by the 33.97/10.28 * {@link Throwable#getCause()} method). (A null value 33.97/10.28 * is permitted, and indicates that the cause is nonexistent or 33.97/10.28 * unknown.) 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public IllegalStateException(String message, Throwable cause) { 33.97/10.28 super(message, cause); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs a new exception with the specified cause and a detail 33.97/10.28 * message of (cause==null ? null : cause.toString()) (which 33.97/10.28 * typically contains the class and detail message of cause). 33.97/10.28 * This constructor is useful for exceptions that are little more than 33.97/10.28 * wrappers for other throwables (for example, {@link 33.97/10.28 * java.security.PrivilegedActionException}). 33.97/10.28 * 33.97/10.28 * @param cause the cause (which is saved for later retrieval by the 33.97/10.28 * {@link Throwable#getCause()} method). (A null value is 33.97/10.28 * permitted, and indicates that the cause is nonexistent or 33.97/10.28 * unknown.) 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public IllegalStateException(Throwable cause) { 33.97/10.28 super(cause); 33.97/10.28 } 33.97/10.28 33.97/10.28 static final long serialVersionUID = -1848914673093119416L; 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 /* 33.97/10.28 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.28 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.28 * 33.97/10.28 * This code is free software; you can redistribute it and/or modify it 33.97/10.28 * under the terms of the GNU General Public License version 2 only, as 33.97/10.28 * published by the Free Software Foundation. Sun designates this 33.97/10.28 * particular file as subject to the "Classpath" exception as provided 33.97/10.28 * by Sun in the LICENSE file that accompanied this code. 33.97/10.28 * 33.97/10.28 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.28 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.28 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.28 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.28 * accompanied this code). 33.97/10.28 * 33.97/10.28 * You should have received a copy of the GNU General Public License version 33.97/10.28 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.28 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.28 * 33.97/10.28 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.28 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.28 * have any questions. 33.97/10.28 */ 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * An iterator over a collection. {@code Iterator} takes the place of 33.97/10.28 * {@link Enumeration} in the Java Collections Framework. Iterators 33.97/10.28 * differ from enumerations in two ways: 33.97/10.28 * 33.97/10.28 *

33.97/10.28 * 33.97/10.28 *

This interface is a member of the 33.97/10.28 * 33.97/10.28 * Java Collections Framework. 33.97/10.28 * 33.97/10.28 * @author Josh Bloch 33.97/10.28 * @see Collection 33.97/10.28 * @see ListIterator 33.97/10.28 * @see Iterable 33.97/10.28 * @since 1.2 33.97/10.28 */ 33.97/10.28 public interface Iterator { 33.97/10.28 /** 33.97/10.28 * Returns {@code true} if the iteration has more elements. 33.97/10.28 * (In other words, returns {@code true} if {@link #next} would 33.97/10.28 * return an element rather than throwing an exception.) 33.97/10.28 * 33.97/10.28 * @return {@code true} if the iteration has more elements 33.97/10.28 */ 33.97/10.28 boolean hasNext(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the next element in the iteration. 33.97/10.28 * 33.97/10.28 * @return the next element in the iteration 33.97/10.28 * @throws NoSuchElementException if the iteration has no more elements 33.97/10.28 */ 33.97/10.28 E next(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes from the underlying collection the last element returned 33.97/10.28 * by this iterator (optional operation). This method can be called 33.97/10.28 * only once per call to {@link #next}. The behavior of an iterator 33.97/10.28 * is unspecified if the underlying collection is modified while the 33.97/10.28 * iteration is in progress in any way other than by calling this 33.97/10.28 * method. 33.97/10.28 * 33.97/10.28 * @throws UnsupportedOperationException if the {@code remove} 33.97/10.28 * operation is not supported by this iterator 33.97/10.28 * 33.97/10.28 * @throws IllegalStateException if the {@code next} method has not 33.97/10.28 * yet been called, or the {@code remove} method has already 33.97/10.28 * been called after the last call to the {@code next} 33.97/10.28 * method 33.97/10.28 */ 33.97/10.28 void remove(); 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 public class juLinkedListCreateRemoveFirstOccurrence { 33.97/10.28 public static void main(String[] args) { 33.97/10.28 Random.args = args; 33.97/10.28 33.97/10.28 LinkedList l = createList(Random.random()); 33.97/10.28 Content c = new Content(Random.random()); 33.97/10.28 if (Random.random() > 42) { 33.97/10.28 c = l.get(Random.random()); 33.97/10.28 } 33.97/10.28 l.removeFirstOccurrence(c); 33.97/10.28 } 33.97/10.28 33.97/10.28 public static LinkedList createList(int n) { 33.97/10.28 LinkedList l = new LinkedList(); 33.97/10.28 while (n > 0) { 33.97/10.28 l.addLast(new Content(Random.random())); 33.97/10.28 n--; 33.97/10.28 } 33.97/10.28 return l; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 33.97/10.28 final class Content { 33.97/10.28 int val; 33.97/10.28 33.97/10.28 public Content(int v) { 33.97/10.28 this.val = v; 33.97/10.28 } 33.97/10.28 33.97/10.28 public int hashCode() { 33.97/10.28 return val^31; 33.97/10.28 } 33.97/10.28 33.97/10.28 public boolean equals(Object o) { 33.97/10.28 if (o instanceof Content) { 33.97/10.28 return this.val == ((Content) o).val; 33.97/10.28 } 33.97/10.28 return false; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 /* 33.97/10.28 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.28 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.28 * 33.97/10.28 * This code is free software; you can redistribute it and/or modify it 33.97/10.28 * under the terms of the GNU General Public License version 2 only, as 33.97/10.28 * published by the Free Software Foundation. Sun designates this 33.97/10.28 * particular file as subject to the "Classpath" exception as provided 33.97/10.28 * by Sun in the LICENSE file that accompanied this code. 33.97/10.28 * 33.97/10.28 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.28 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.28 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.28 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.28 * accompanied this code). 33.97/10.28 * 33.97/10.28 * You should have received a copy of the GNU General Public License version 33.97/10.28 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.28 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.28 * 33.97/10.28 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.28 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.28 * have any questions. 33.97/10.28 */ 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Linked list implementation of the List interface. Implements all 33.97/10.28 * optional list operations, and permits all elements (including 33.97/10.28 * null). In addition to implementing the List interface, 33.97/10.28 * the LinkedList class provides uniformly named methods to 33.97/10.28 * get, remove and insert an element at the 33.97/10.28 * beginning and end of the list. These operations allow linked lists to be 33.97/10.28 * used as a stack, {@linkplain Queue queue}, or {@linkplain Deque 33.97/10.28 * double-ended queue}.

33.97/10.28 * 33.97/10.28 * The class implements the Deque interface, providing 33.97/10.28 * first-in-first-out queue operations for add, 33.97/10.28 * poll, along with other stack and deque operations.

33.97/10.28 * 33.97/10.28 * All of the operations perform as could be expected for a doubly-linked 33.97/10.28 * list. Operations that index into the list will traverse the list from 33.97/10.28 * the beginning or the end, whichever is closer to the specified index.

33.97/10.28 * 33.97/10.28 *

Note that this implementation is not synchronized. 33.97/10.28 * If multiple threads access a linked list concurrently, and at least 33.97/10.28 * one of the threads modifies the list structurally, it must be 33.97/10.28 * synchronized externally. (A structural modification is any operation 33.97/10.28 * that adds or deletes one or more elements; merely setting the value of 33.97/10.28 * an element is not a structural modification.) This is typically 33.97/10.28 * accomplished by synchronizing on some object that naturally 33.97/10.28 * encapsulates the list. 33.97/10.28 * 33.97/10.28 * If no such object exists, the list should be "wrapped" using the 33.97/10.28 * {@link Collections#synchronizedList Collections.synchronizedList} 33.97/10.28 * method. This is best done at creation time, to prevent accidental 33.97/10.28 * unsynchronized access to the list:

33.97/10.28	 *   List list = Collections.synchronizedList(new LinkedList(...));
33.97/10.28 * 33.97/10.28 *

The iterators returned by this class's iterator and 33.97/10.28 * listIterator methods are fail-fast: if the list is 33.97/10.28 * structurally modified at any time after the iterator is created, in 33.97/10.28 * any way except through the Iterator's own remove or 33.97/10.28 * add methods, the iterator will throw a {@link 33.97/10.28 * ConcurrentModificationException}. Thus, in the face of concurrent 33.97/10.28 * modification, the iterator fails quickly and cleanly, rather than 33.97/10.28 * risking arbitrary, non-deterministic behavior at an undetermined 33.97/10.28 * time in the future. 33.97/10.28 * 33.97/10.28 *

Note that the fail-fast behavior of an iterator cannot be guaranteed 33.97/10.28 * as it is, generally speaking, impossible to make any hard guarantees in the 33.97/10.28 * presence of unsynchronized concurrent modification. Fail-fast iterators 33.97/10.28 * throw ConcurrentModificationException on a best-effort basis. 33.97/10.28 * Therefore, it would be wrong to write a program that depended on this 33.97/10.28 * exception for its correctness: the fail-fast behavior of iterators 33.97/10.28 * should be used only to detect bugs. 33.97/10.28 * 33.97/10.28 *

This class is a member of the 33.97/10.28 * 33.97/10.28 * Java Collections Framework. 33.97/10.28 * 33.97/10.28 * @author Josh Bloch 33.97/10.28 * @see List 33.97/10.28 * @see ArrayList 33.97/10.28 * @see Vector 33.97/10.28 * @since 1.2 33.97/10.28 * @param the type of elements held in this collection 33.97/10.28 */ 33.97/10.28 33.97/10.28 public class LinkedList 33.97/10.28 extends AbstractSequentialList 33.97/10.28 implements List, Deque 33.97/10.28 { 33.97/10.28 private transient Entry header = new Entry(null, null, null); 33.97/10.28 private transient int size = 0; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs an empty list. 33.97/10.28 */ 33.97/10.28 public LinkedList() { 33.97/10.28 header.next = header.previous = header; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Constructs a list containing the elements of the specified 33.97/10.28 * collection, in the order they are returned by the collection's 33.97/10.28 * iterator. 33.97/10.28 * 33.97/10.28 * @param c the collection whose elements are to be placed into this list 33.97/10.28 * @throws NullPointerException if the specified collection is null 33.97/10.28 */ 33.97/10.28 public LinkedList(Collection c) { 33.97/10.28 this(); 33.97/10.28 addAll(c); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the first element in this list. 33.97/10.28 * 33.97/10.28 * @return the first element in this list 33.97/10.28 * @throws NoSuchElementException if this list is empty 33.97/10.28 */ 33.97/10.28 public E getFirst() { 33.97/10.28 if (size==0) 33.97/10.28 throw new NoSuchElementException(); 33.97/10.28 33.97/10.28 return header.next.element; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the last element in this list. 33.97/10.28 * 33.97/10.28 * @return the last element in this list 33.97/10.28 * @throws NoSuchElementException if this list is empty 33.97/10.28 */ 33.97/10.28 public E getLast() { 33.97/10.28 if (size==0) 33.97/10.28 throw new NoSuchElementException(); 33.97/10.28 33.97/10.28 return header.previous.element; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes and returns the first element from this list. 33.97/10.28 * 33.97/10.28 * @return the first element from this list 33.97/10.28 * @throws NoSuchElementException if this list is empty 33.97/10.28 */ 33.97/10.28 public E removeFirst() { 33.97/10.28 return remove(header.next); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes and returns the last element from this list. 33.97/10.28 * 33.97/10.28 * @return the last element from this list 33.97/10.28 * @throws NoSuchElementException if this list is empty 33.97/10.28 */ 33.97/10.28 public E removeLast() { 33.97/10.28 return remove(header.previous); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the beginning of this list. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 */ 33.97/10.28 public void addFirst(E e) { 33.97/10.28 addBefore(e, header.next); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Appends the specified element to the end of this list. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #add}. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 */ 33.97/10.28 public void addLast(E e) { 33.97/10.28 addBefore(e, header); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns true if this list contains the specified element. 33.97/10.28 * More formally, returns true if and only if this list contains 33.97/10.28 * at least one element e such that 33.97/10.28 * (o==null ? e==null : o.equals(e)). 33.97/10.28 * 33.97/10.28 * @param o element whose presence in this list is to be tested 33.97/10.28 * @return true if this list contains the specified element 33.97/10.28 */ 33.97/10.28 public boolean contains(Object o) { 33.97/10.28 return indexOf(o) != -1; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the number of elements in this list. 33.97/10.28 * 33.97/10.28 * @return the number of elements in this list 33.97/10.28 */ 33.97/10.28 public int size() { 33.97/10.28 return size; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Appends the specified element to the end of this list. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #addLast}. 33.97/10.28 * 33.97/10.28 * @param e element to be appended to this list 33.97/10.28 * @return true (as specified by {@link Collection#add}) 33.97/10.28 */ 33.97/10.28 public boolean add(E e) { 33.97/10.28 addBefore(e, header); 33.97/10.28 return true; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes the first occurrence of the specified element from this list, 33.97/10.28 * if it is present. If this list does not contain the element, it is 33.97/10.28 * unchanged. More formally, removes the element with the lowest index 33.97/10.28 * i such that 33.97/10.28 * (o==null ? get(i)==null : o.equals(get(i))) 33.97/10.28 * (if such an element exists). Returns true if this list 33.97/10.28 * contained the specified element (or equivalently, if this list 33.97/10.28 * changed as a result of the call). 33.97/10.28 * 33.97/10.28 * @param o element to be removed from this list, if present 33.97/10.28 * @return true if this list contained the specified element 33.97/10.28 */ 33.97/10.28 public boolean remove(Object o) { 33.97/10.28 if (o==null) { 33.97/10.28 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.28 if (e.element==null) { 33.97/10.28 remove(e); 33.97/10.28 return true; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 } else { 33.97/10.28 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.28 if (o.equals(e.element)) { 33.97/10.28 remove(e); 33.97/10.28 return true; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 } 33.97/10.28 return false; 33.97/10.28 } 33.97/10.28 /** 33.97/10.28 * Removes all of the elements from this list. 33.97/10.28 */ 33.97/10.28 public void clear() { 33.97/10.28 Entry e = header.next; 33.97/10.28 while (e != header) { 33.97/10.28 Entry next = e.next; 33.97/10.28 e.next = e.previous = null; 33.97/10.28 e.element = null; 33.97/10.28 e = next; 33.97/10.28 } 33.97/10.28 header.next = header.previous = header; 33.97/10.28 size = 0; 33.97/10.28 modCount++; 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 // Positional Access Operations 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the element at the specified position in this list. 33.97/10.28 * 33.97/10.28 * @param index index of the element to return 33.97/10.28 * @return the element at the specified position in this list 33.97/10.28 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.28 */ 33.97/10.28 public E get(int index) { 33.97/10.28 return entry(index).element; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Replaces the element at the specified position in this list with the 33.97/10.28 * specified element. 33.97/10.28 * 33.97/10.28 * @param index index of the element to replace 33.97/10.28 * @param element element to be stored at the specified position 33.97/10.28 * @return the element previously at the specified position 33.97/10.28 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.28 */ 33.97/10.28 public E set(int index, E element) { 33.97/10.28 Entry e = entry(index); 33.97/10.28 E oldVal = e.element; 33.97/10.28 e.element = element; 33.97/10.28 return oldVal; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the specified position in this list. 33.97/10.28 * Shifts the element currently at that position (if any) and any 33.97/10.28 * subsequent elements to the right (adds one to their indices). 33.97/10.28 * 33.97/10.28 * @param index index at which the specified element is to be inserted 33.97/10.28 * @param element element to be inserted 33.97/10.28 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.28 */ 33.97/10.28 public void add(int index, E element) { 33.97/10.28 addBefore(element, (index==size ? header : entry(index))); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes the element at the specified position in this list. Shifts any 33.97/10.28 * subsequent elements to the left (subtracts one from their indices). 33.97/10.28 * Returns the element that was removed from the list. 33.97/10.28 * 33.97/10.28 * @param index the index of the element to be removed 33.97/10.28 * @return the element previously at the specified position 33.97/10.28 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.28 */ 33.97/10.28 public E remove(int index) { 33.97/10.28 return remove(entry(index)); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the indexed entry. 33.97/10.28 */ 33.97/10.28 private Entry entry(int index) { 33.97/10.28 if (index < 0 || index >= size) 33.97/10.28 throw new IndexOutOfBoundsException(); 33.97/10.28 Entry e = header; 33.97/10.28 if (index < (size >> 1)) { 33.97/10.28 for (int i = 0; i <= index; i++) 33.97/10.28 e = e.next; 33.97/10.28 } else { 33.97/10.28 for (int i = size; i > index; i--) 33.97/10.28 e = e.previous; 33.97/10.28 } 33.97/10.28 return e; 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 // Search Operations 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the index of the first occurrence of the specified element 33.97/10.28 * in this list, or -1 if this list does not contain the element. 33.97/10.28 * More formally, returns the lowest index i such that 33.97/10.28 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.28 * or -1 if there is no such index. 33.97/10.28 * 33.97/10.28 * @param o element to search for 33.97/10.28 * @return the index of the first occurrence of the specified element in 33.97/10.28 * this list, or -1 if this list does not contain the element 33.97/10.28 */ 33.97/10.28 public int indexOf(Object o) { 33.97/10.28 int index = 0; 33.97/10.28 if (o==null) { 33.97/10.28 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.28 if (e.element==null) 33.97/10.28 return index; 33.97/10.28 index++; 33.97/10.28 } 33.97/10.28 } else { 33.97/10.28 for (Entry e = header.next; e != header; e = e.next) { 33.97/10.28 if (o.equals(e.element)) 33.97/10.28 return index; 33.97/10.28 index++; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 return -1; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the index of the last occurrence of the specified element 33.97/10.28 * in this list, or -1 if this list does not contain the element. 33.97/10.28 * More formally, returns the highest index i such that 33.97/10.28 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.28 * or -1 if there is no such index. 33.97/10.28 * 33.97/10.28 * @param o element to search for 33.97/10.28 * @return the index of the last occurrence of the specified element in 33.97/10.28 * this list, or -1 if this list does not contain the element 33.97/10.28 */ 33.97/10.28 public int lastIndexOf(Object o) { 33.97/10.28 int index = size; 33.97/10.28 if (o==null) { 33.97/10.28 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.28 index--; 33.97/10.28 if (e.element==null) 33.97/10.28 return index; 33.97/10.28 } 33.97/10.28 } else { 33.97/10.28 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.28 index--; 33.97/10.28 if (o.equals(e.element)) 33.97/10.28 return index; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 return -1; 33.97/10.28 } 33.97/10.28 33.97/10.28 // Queue operations. 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the head (first element) of this list. 33.97/10.28 * @return the head of this list, or null if this list is empty 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public E peek() { 33.97/10.28 if (size==0) 33.97/10.28 return null; 33.97/10.28 return getFirst(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the head (first element) of this list. 33.97/10.28 * @return the head of this list 33.97/10.28 * @throws NoSuchElementException if this list is empty 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public E element() { 33.97/10.28 return getFirst(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the head (first element) of this list 33.97/10.28 * @return the head of this list, or null if this list is empty 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public E poll() { 33.97/10.28 if (size==0) 33.97/10.28 return null; 33.97/10.28 return removeFirst(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the head (first element) of this list. 33.97/10.28 * 33.97/10.28 * @return the head of this list 33.97/10.28 * @throws NoSuchElementException if this list is empty 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public E remove() { 33.97/10.28 return removeFirst(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Adds the specified element as the tail (last element) of this list. 33.97/10.28 * 33.97/10.28 * @param e the element to add 33.97/10.28 * @return true (as specified by {@link Queue#offer}) 33.97/10.28 * @since 1.5 33.97/10.28 */ 33.97/10.28 public boolean offer(E e) { 33.97/10.28 return add(e); 33.97/10.28 } 33.97/10.28 33.97/10.28 // Deque operations 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the front of this list. 33.97/10.28 * 33.97/10.28 * @param e the element to insert 33.97/10.28 * @return true (as specified by {@link Deque#offerFirst}) 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public boolean offerFirst(E e) { 33.97/10.28 addFirst(e); 33.97/10.28 return true; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element at the end of this list. 33.97/10.28 * 33.97/10.28 * @param e the element to insert 33.97/10.28 * @return true (as specified by {@link Deque#offerLast}) 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public boolean offerLast(E e) { 33.97/10.28 addLast(e); 33.97/10.28 return true; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the first element of this list, 33.97/10.28 * or returns null if this list is empty. 33.97/10.28 * 33.97/10.28 * @return the first element of this list, or null 33.97/10.28 * if this list is empty 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public E peekFirst() { 33.97/10.28 if (size==0) 33.97/10.28 return null; 33.97/10.28 return getFirst(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves, but does not remove, the last element of this list, 33.97/10.28 * or returns null if this list is empty. 33.97/10.28 * 33.97/10.28 * @return the last element of this list, or null 33.97/10.28 * if this list is empty 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public E peekLast() { 33.97/10.28 if (size==0) 33.97/10.28 return null; 33.97/10.28 return getLast(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the first element of this list, 33.97/10.28 * or returns null if this list is empty. 33.97/10.28 * 33.97/10.28 * @return the first element of this list, or null if 33.97/10.28 * this list is empty 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public E pollFirst() { 33.97/10.28 if (size==0) 33.97/10.28 return null; 33.97/10.28 return removeFirst(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Retrieves and removes the last element of this list, 33.97/10.28 * or returns null if this list is empty. 33.97/10.28 * 33.97/10.28 * @return the last element of this list, or null if 33.97/10.28 * this list is empty 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public E pollLast() { 33.97/10.28 if (size==0) 33.97/10.28 return null; 33.97/10.28 return removeLast(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Pushes an element onto the stack represented by this list. In other 33.97/10.28 * words, inserts the element at the front of this list. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #addFirst}. 33.97/10.28 * 33.97/10.28 * @param e the element to push 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public void push(E e) { 33.97/10.28 addFirst(e); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Pops an element from the stack represented by this list. In other 33.97/10.28 * words, removes and returns the first element of this list. 33.97/10.28 * 33.97/10.28 *

This method is equivalent to {@link #removeFirst()}. 33.97/10.28 * 33.97/10.28 * @return the element at the front of this list (which is the top 33.97/10.28 * of the stack represented by this list) 33.97/10.28 * @throws NoSuchElementException if this list is empty 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public E pop() { 33.97/10.28 return removeFirst(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes the first occurrence of the specified element in this 33.97/10.28 * list (when traversing the list from head to tail). If the list 33.97/10.28 * does not contain the element, it is unchanged. 33.97/10.28 * 33.97/10.28 * @param o element to be removed from this list, if present 33.97/10.28 * @return true if the list contained the specified element 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public boolean removeFirstOccurrence(Object o) { 33.97/10.28 return remove(o); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes the last occurrence of the specified element in this 33.97/10.28 * list (when traversing the list from head to tail). If the list 33.97/10.28 * does not contain the element, it is unchanged. 33.97/10.28 * 33.97/10.28 * @param o element to be removed from this list, if present 33.97/10.28 * @return true if the list contained the specified element 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public boolean removeLastOccurrence(Object o) { 33.97/10.28 if (o==null) { 33.97/10.28 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.28 if (e.element==null) { 33.97/10.28 remove(e); 33.97/10.28 return true; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 } else { 33.97/10.28 for (Entry e = header.previous; e != header; e = e.previous) { 33.97/10.28 if (o.equals(e.element)) { 33.97/10.28 remove(e); 33.97/10.28 return true; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 } 33.97/10.28 return false; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns a list-iterator of the elements in this list (in proper 33.97/10.28 * sequence), starting at the specified position in the list. 33.97/10.28 * Obeys the general contract of List.listIterator(int).

33.97/10.28 * 33.97/10.28 * The list-iterator is fail-fast: if the list is structurally 33.97/10.28 * modified at any time after the Iterator is created, in any way except 33.97/10.28 * through the list-iterator's own remove or add 33.97/10.28 * methods, the list-iterator will throw a 33.97/10.28 * ConcurrentModificationException. Thus, in the face of 33.97/10.28 * concurrent modification, the iterator fails quickly and cleanly, rather 33.97/10.28 * than risking arbitrary, non-deterministic behavior at an undetermined 33.97/10.28 * time in the future. 33.97/10.28 * 33.97/10.28 * @param index index of the first element to be returned from the 33.97/10.28 * list-iterator (by a call to next) 33.97/10.28 * @return a ListIterator of the elements in this list (in proper 33.97/10.28 * sequence), starting at the specified position in the list 33.97/10.28 * @throws IndexOutOfBoundsException {@inheritDoc} 33.97/10.28 * @see List#listIterator(int) 33.97/10.28 */ 33.97/10.28 public ListIterator listIterator(int index) { 33.97/10.28 return new ListItr(index); 33.97/10.28 } 33.97/10.28 33.97/10.28 private class ListItr implements ListIterator { 33.97/10.28 private Entry lastReturned = header; 33.97/10.28 private Entry next; 33.97/10.28 private int nextIndex; 33.97/10.28 private int expectedModCount = modCount; 33.97/10.28 33.97/10.28 ListItr(int index) { 33.97/10.28 if (index < 0 || index > size) 33.97/10.28 throw new IndexOutOfBoundsException(); 33.97/10.28 if (index < (size >> 1)) { 33.97/10.28 next = header.next; 33.97/10.28 for (nextIndex=0; nextIndexindex; nextIndex--) 33.97/10.28 next = next.previous; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 33.97/10.28 public boolean hasNext() { 33.97/10.28 return nextIndex != size; 33.97/10.28 } 33.97/10.28 33.97/10.28 public E next() { 33.97/10.28 checkForComodification(); 33.97/10.28 if (nextIndex == size) 33.97/10.28 throw new NoSuchElementException(); 33.97/10.28 33.97/10.28 lastReturned = next; 33.97/10.28 next = next.next; 33.97/10.28 nextIndex++; 33.97/10.28 return lastReturned.element; 33.97/10.28 } 33.97/10.28 33.97/10.28 public boolean hasPrevious() { 33.97/10.28 return nextIndex != 0; 33.97/10.28 } 33.97/10.28 33.97/10.28 public E previous() { 33.97/10.28 if (nextIndex == 0) 33.97/10.28 throw new NoSuchElementException(); 33.97/10.28 33.97/10.28 lastReturned = next = next.previous; 33.97/10.28 nextIndex--; 33.97/10.28 checkForComodification(); 33.97/10.28 return lastReturned.element; 33.97/10.28 } 33.97/10.28 33.97/10.28 public int nextIndex() { 33.97/10.28 return nextIndex; 33.97/10.28 } 33.97/10.28 33.97/10.28 public int previousIndex() { 33.97/10.28 return nextIndex-1; 33.97/10.28 } 33.97/10.28 33.97/10.28 public void remove() { 33.97/10.28 checkForComodification(); 33.97/10.28 Entry lastNext = lastReturned.next; 33.97/10.28 try { 33.97/10.28 LinkedList.this.remove(lastReturned); 33.97/10.28 } catch (NoSuchElementException e) { 33.97/10.28 throw new IllegalStateException(); 33.97/10.28 } 33.97/10.28 if (next==lastReturned) 33.97/10.28 next = lastNext; 33.97/10.28 else 33.97/10.28 nextIndex--; 33.97/10.28 lastReturned = header; 33.97/10.28 expectedModCount++; 33.97/10.28 } 33.97/10.28 33.97/10.28 public void set(E e) { 33.97/10.28 if (lastReturned == header) 33.97/10.28 throw new IllegalStateException(); 33.97/10.28 checkForComodification(); 33.97/10.28 lastReturned.element = e; 33.97/10.28 } 33.97/10.28 33.97/10.28 public void add(E e) { 33.97/10.28 checkForComodification(); 33.97/10.28 lastReturned = header; 33.97/10.28 addBefore(e, next); 33.97/10.28 nextIndex++; 33.97/10.28 expectedModCount++; 33.97/10.28 } 33.97/10.28 33.97/10.28 final void checkForComodification() { 33.97/10.28 if (modCount != expectedModCount) 33.97/10.28 throw new ConcurrentModificationException(); 33.97/10.28 } 33.97/10.28 } 33.97/10.28 33.97/10.28 private static class Entry { 33.97/10.28 E element; 33.97/10.28 Entry next; 33.97/10.28 Entry previous; 33.97/10.28 33.97/10.28 Entry(E element, Entry next, Entry previous) { 33.97/10.28 this.element = element; 33.97/10.28 this.next = next; 33.97/10.28 this.previous = previous; 33.97/10.28 } 33.97/10.28 } 33.97/10.28 33.97/10.28 private Entry addBefore(E e, Entry entry) { 33.97/10.28 Entry newEntry = new Entry(e, entry, entry.previous); 33.97/10.28 newEntry.previous.next = newEntry; 33.97/10.28 newEntry.next.previous = newEntry; 33.97/10.28 size++; 33.97/10.28 modCount++; 33.97/10.28 return newEntry; 33.97/10.28 } 33.97/10.28 33.97/10.28 private E remove(Entry e) { 33.97/10.28 if (e == header) 33.97/10.28 throw new NoSuchElementException(); 33.97/10.28 33.97/10.28 E result = e.element; 33.97/10.28 e.previous.next = e.next; 33.97/10.28 e.next.previous = e.previous; 33.97/10.28 e.next = e.previous = null; 33.97/10.28 e.element = null; 33.97/10.28 size--; 33.97/10.28 modCount++; 33.97/10.28 return result; 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * @since 1.6 33.97/10.28 */ 33.97/10.28 public Iterator descendingIterator() { 33.97/10.28 return new DescendingIterator(); 33.97/10.28 } 33.97/10.28 33.97/10.28 /** Adapter to provide descending iterators via ListItr.previous */ 33.97/10.28 private class DescendingIterator implements Iterator { 33.97/10.28 final ListItr itr = new ListItr(size()); 33.97/10.28 public boolean hasNext() { 33.97/10.28 return itr.hasPrevious(); 33.97/10.28 } 33.97/10.28 public E next() { 33.97/10.28 return itr.previous(); 33.97/10.28 } 33.97/10.28 public void remove() { 33.97/10.28 itr.remove(); 33.97/10.28 } 33.97/10.28 } 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns an array containing all of the elements in this list 33.97/10.28 * in proper sequence (from first to last element). 33.97/10.28 * 33.97/10.28 *

The returned array will be "safe" in that no references to it are 33.97/10.28 * maintained by this list. (In other words, this method must allocate 33.97/10.28 * a new array). The caller is thus free to modify the returned array. 33.97/10.28 * 33.97/10.28 *

This method acts as bridge between array-based and collection-based 33.97/10.28 * APIs. 33.97/10.28 * 33.97/10.28 * @return an array containing all of the elements in this list 33.97/10.28 * in proper sequence 33.97/10.28 */ 33.97/10.28 public Object[] toArray() { 33.97/10.28 Object[] result = new Object[size]; 33.97/10.28 int i = 0; 33.97/10.28 for (Entry e = header.next; e != header; e = e.next) 33.97/10.28 result[i++] = e.element; 33.97/10.28 return result; 33.97/10.28 } 33.97/10.28 33.97/10.28 private static final long serialVersionUID = 876323262645176354L; 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 /* 33.97/10.28 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.28 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.28 * 33.97/10.28 * This code is free software; you can redistribute it and/or modify it 33.97/10.28 * under the terms of the GNU General Public License version 2 only, as 33.97/10.28 * published by the Free Software Foundation. Sun designates this 33.97/10.28 * particular file as subject to the "Classpath" exception as provided 33.97/10.28 * by Sun in the LICENSE file that accompanied this code. 33.97/10.28 * 33.97/10.28 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.28 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.28 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.28 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.28 * accompanied this code). 33.97/10.28 * 33.97/10.28 * You should have received a copy of the GNU General Public License version 33.97/10.28 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.28 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.28 * 33.97/10.28 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.28 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.28 * have any questions. 33.97/10.28 */ 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * An iterator for lists that allows the programmer 33.97/10.28 * to traverse the list in either direction, modify 33.97/10.28 * the list during iteration, and obtain the iterator's 33.97/10.28 * current position in the list. A {@code ListIterator} 33.97/10.28 * has no current element; its cursor position always 33.97/10.28 * lies between the element that would be returned by a call 33.97/10.28 * to {@code previous()} and the element that would be 33.97/10.28 * returned by a call to {@code next()}. 33.97/10.28 * An iterator for a list of length {@code n} has {@code n+1} possible 33.97/10.28 * cursor positions, as illustrated by the carets ({@code ^}) below: 33.97/10.28 *

33.97/10.28	 *                      Element(0)   Element(1)   Element(2)   ... Element(n-1)
33.97/10.28	 * cursor positions:  ^            ^            ^            ^                  ^
33.97/10.28	 * 
33.97/10.28 * Note that the {@link #remove} and {@link #set(Object)} methods are 33.97/10.28 * not defined in terms of the cursor position; they are defined to 33.97/10.28 * operate on the last element returned by a call to {@link #next} or 33.97/10.28 * {@link #previous()}. 33.97/10.28 * 33.97/10.28 *

This interface is a member of the 33.97/10.28 * 33.97/10.28 * Java Collections Framework. 33.97/10.28 * 33.97/10.28 * @author Josh Bloch 33.97/10.28 * @see Collection 33.97/10.28 * @see List 33.97/10.28 * @see Iterator 33.97/10.28 * @see Enumeration 33.97/10.28 * @see List#listIterator() 33.97/10.28 * @since 1.2 33.97/10.28 */ 33.97/10.28 public interface ListIterator extends Iterator { 33.97/10.28 // Query Operations 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns {@code true} if this list iterator has more elements when 33.97/10.28 * traversing the list in the forward direction. (In other words, 33.97/10.28 * returns {@code true} if {@link #next} would return an element rather 33.97/10.28 * than throwing an exception.) 33.97/10.28 * 33.97/10.28 * @return {@code true} if the list iterator has more elements when 33.97/10.28 * traversing the list in the forward direction 33.97/10.28 */ 33.97/10.28 boolean hasNext(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the next element in the list and advances the cursor position. 33.97/10.28 * This method may be called repeatedly to iterate through the list, 33.97/10.28 * or intermixed with calls to {@link #previous} to go back and forth. 33.97/10.28 * (Note that alternating calls to {@code next} and {@code previous} 33.97/10.28 * will return the same element repeatedly.) 33.97/10.28 * 33.97/10.28 * @return the next element in the list 33.97/10.28 * @throws NoSuchElementException if the iteration has no next element 33.97/10.28 */ 33.97/10.28 E next(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns {@code true} if this list iterator has more elements when 33.97/10.28 * traversing the list in the reverse direction. (In other words, 33.97/10.28 * returns {@code true} if {@link #previous} would return an element 33.97/10.28 * rather than throwing an exception.) 33.97/10.28 * 33.97/10.28 * @return {@code true} if the list iterator has more elements when 33.97/10.28 * traversing the list in the reverse direction 33.97/10.28 */ 33.97/10.28 boolean hasPrevious(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the previous element in the list and moves the cursor 33.97/10.28 * position backwards. This method may be called repeatedly to 33.97/10.28 * iterate through the list backwards, or intermixed with calls to 33.97/10.28 * {@link #next} to go back and forth. (Note that alternating calls 33.97/10.28 * to {@code next} and {@code previous} will return the same 33.97/10.28 * element repeatedly.) 33.97/10.28 * 33.97/10.28 * @return the previous element in the list 33.97/10.28 * @throws NoSuchElementException if the iteration has no previous 33.97/10.28 * element 33.97/10.28 */ 33.97/10.28 E previous(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the index of the element that would be returned by a 33.97/10.28 * subsequent call to {@link #next}. (Returns list size if the list 33.97/10.28 * iterator is at the end of the list.) 33.97/10.28 * 33.97/10.28 * @return the index of the element that would be returned by a 33.97/10.28 * subsequent call to {@code next}, or list size if the list 33.97/10.28 * iterator is at the end of the list 33.97/10.28 */ 33.97/10.28 int nextIndex(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Returns the index of the element that would be returned by a 33.97/10.28 * subsequent call to {@link #previous}. (Returns -1 if the list 33.97/10.28 * iterator is at the beginning of the list.) 33.97/10.28 * 33.97/10.28 * @return the index of the element that would be returned by a 33.97/10.28 * subsequent call to {@code previous}, or -1 if the list 33.97/10.28 * iterator is at the beginning of the list 33.97/10.28 */ 33.97/10.28 int previousIndex(); 33.97/10.28 33.97/10.28 33.97/10.28 // Modification Operations 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Removes from the list the last element that was returned by {@link 33.97/10.28 * #next} or {@link #previous} (optional operation). This call can 33.97/10.28 * only be made once per call to {@code next} or {@code previous}. 33.97/10.28 * It can be made only if {@link #add} has not been 33.97/10.28 * called after the last call to {@code next} or {@code previous}. 33.97/10.28 * 33.97/10.28 * @throws UnsupportedOperationException if the {@code remove} 33.97/10.28 * operation is not supported by this list iterator 33.97/10.28 * @throws IllegalStateException if neither {@code next} nor 33.97/10.28 * {@code previous} have been called, or {@code remove} or 33.97/10.28 * {@code add} have been called after the last call to 33.97/10.28 * {@code next} or {@code previous} 33.97/10.28 */ 33.97/10.28 void remove(); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Replaces the last element returned by {@link #next} or 33.97/10.28 * {@link #previous} with the specified element (optional operation). 33.97/10.28 * This call can be made only if neither {@link #remove} nor {@link 33.97/10.28 * #add} have been called after the last call to {@code next} or 33.97/10.28 * {@code previous}. 33.97/10.28 * 33.97/10.28 * @param e the element with which to replace the last element returned by 33.97/10.28 * {@code next} or {@code previous} 33.97/10.28 * @throws UnsupportedOperationException if the {@code set} operation 33.97/10.28 * is not supported by this list iterator 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this list 33.97/10.28 * @throws IllegalArgumentException if some aspect of the specified 33.97/10.28 * element prevents it from being added to this list 33.97/10.28 * @throws IllegalStateException if neither {@code next} nor 33.97/10.28 * {@code previous} have been called, or {@code remove} or 33.97/10.28 * {@code add} have been called after the last call to 33.97/10.28 * {@code next} or {@code previous} 33.97/10.28 */ 33.97/10.28 void set(E e); 33.97/10.28 33.97/10.28 /** 33.97/10.28 * Inserts the specified element into the list (optional operation). 33.97/10.28 * The element is inserted immediately before the next element that 33.97/10.28 * would be returned by {@link #next}, if any, and after the next 33.97/10.28 * element that would be returned by {@link #previous}, if any. (If the 33.97/10.28 * list contains no elements, the new element becomes the sole element 33.97/10.28 * on the list.) The new element is inserted before the implicit 33.97/10.28 * cursor: a subsequent call to {@code next} would be unaffected, and a 33.97/10.28 * subsequent call to {@code previous} would return the new element. 33.97/10.28 * (This call increases by one the value that would be returned by a 33.97/10.28 * call to {@code nextIndex} or {@code previousIndex}.) 33.97/10.28 * 33.97/10.28 * @param e the element to insert 33.97/10.28 * @throws UnsupportedOperationException if the {@code add} method is 33.97/10.28 * not supported by this list iterator 33.97/10.28 * @throws ClassCastException if the class of the specified element 33.97/10.28 * prevents it from being added to this list 33.97/10.28 * @throws IllegalArgumentException if some aspect of this element 33.97/10.28 * prevents it from being added to this list 33.97/10.28 */ 33.97/10.28 void add(E e); 33.97/10.28 } 33.97/10.28 33.97/10.28 33.97/10.28 /* 33.97/10.28 * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.28 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.28 * 33.97/10.28 * This code is free software; you can redistribute it and/or modify it 33.97/10.28 * under the terms of the GNU General Public License version 2 only, as 33.97/10.28 * published by the Free Software Foundation. Sun designates this 33.97/10.28 * particular file as subject to the "Classpath" exception as provided 33.97/10.28 * by Sun in the LICENSE file that accompanied this code. 33.97/10.28 * 33.97/10.28 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.28 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.28 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.28 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.28 * accompanied this code). 33.97/10.28 * 33.97/10.28 * You should have received a copy of the GNU General Public License version 33.97/10.28 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.28 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.28 * 33.97/10.28 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.28 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.28 * have any questions. 33.97/10.28 */ 33.97/10.28 33.97/10.28 package javaUtilEx; 33.97/10.28 33.97/10.28 /** 33.97/10.28 * An ordered collection (also known as a sequence). The user of this 33.97/10.28 * interface has precise control over where in the list each element is 33.97/10.28 * inserted. The user can access elements by their integer index (position in 33.97/10.28 * the list), and search for elements in the list.

33.97/10.28 * 33.97/10.28 * Unlike sets, lists typically allow duplicate elements. More formally, 33.97/10.28 * lists typically allow pairs of elements e1 and e2 33.97/10.28 * such that e1.equals(e2), and they typically allow multiple 33.97/10.28 * null elements if they allow null elements at all. It is not inconceivable 33.97/10.28 * that someone might wish to implement a list that prohibits duplicates, by 33.97/10.28 * throwing runtime exceptions when the user attempts to insert them, but we 33.97/10.28 * expect this usage to be rare.

33.97/10.28 * 33.97/10.28 * The List interface places additional stipulations, beyond those 33.97/10.28 * specified in the Collection interface, on the contracts of the 33.97/10.28 * iterator, add, remove, equals, and 33.97/10.28 * hashCode methods. Declarations for other inherited methods are 33.97/10.28 * also included here for convenience.

33.97/10.28 * 33.97/10.28 * The List interface provides four methods for positional (indexed) 33.97/10.28 * access to list elements. Lists (like Java arrays) are zero based. Note 33.97/10.28 * that these operations may execute in time proportional to the index value 33.97/10.28 * for some implementations (the LinkedList class, for 33.97/10.28 * example). Thus, iterating over the elements in a list is typically 33.97/10.28 * preferable to indexing through it if the caller does not know the 33.97/10.28 * implementation.

33.97/10.28 * 33.97/10.28 * The List interface provides a special iterator, called a 33.97/10.28 * ListIterator, that allows element insertion and replacement, and 33.97/10.28 * bidirectional access in addition to the normal operations that the 33.97/10.28 * Iterator interface provides. A method is provided to obtain a 33.97/10.28 * list iterator that starts at a specified position in the list.

33.97/10.28 * 33.97/10.28 * The List interface provides two methods to search for a specified 33.97/10.28 * object. From a performance standpoint, these methods should be used with 33.97/10.28 * caution. In many implementations they will perform costly linear 33.97/10.28 * searches.

33.97/10.28 * 33.97/10.28 * The List interface provides two methods to efficiently insert and 33.97/10.28 * remove multiple elements at an arbitrary point in the list.

33.97/10.29 * 33.97/10.29 * Note: While it is permissible for lists to contain themselves as elements, 33.97/10.29 * extreme caution is advised: the equals and hashCode 33.97/10.29 * methods are no longer well defined on such a list. 33.97/10.29 * 33.97/10.29 *

Some list implementations have restrictions on the elements that 33.97/10.29 * they may contain. For example, some implementations prohibit null elements, 33.97/10.29 * and some have restrictions on the types of their elements. Attempting to 33.97/10.29 * add an ineligible element throws an unchecked exception, typically 33.97/10.29 * NullPointerException or ClassCastException. Attempting 33.97/10.29 * to query the presence of an ineligible element may throw an exception, 33.97/10.29 * or it may simply return false; some implementations will exhibit the former 33.97/10.29 * behavior and some will exhibit the latter. More generally, attempting an 33.97/10.29 * operation on an ineligible element whose completion would not result in 33.97/10.29 * the insertion of an ineligible element into the list may throw an 33.97/10.29 * exception or it may succeed, at the option of the implementation. 33.97/10.29 * Such exceptions are marked as "optional" in the specification for this 33.97/10.29 * interface. 33.97/10.29 * 33.97/10.29 *

This interface is a member of the 33.97/10.29 * 33.97/10.29 * Java Collections Framework. 33.97/10.29 * 33.97/10.29 * @author Josh Bloch 33.97/10.29 * @author Neal Gafter 33.97/10.29 * @see Collection 33.97/10.29 * @see Set 33.97/10.29 * @see ArrayList 33.97/10.29 * @see LinkedList 33.97/10.29 * @see Vector 33.97/10.29 * @see Arrays#asList(Object[]) 33.97/10.29 * @see Collections#nCopies(int, Object) 33.97/10.29 * @see Collections#EMPTY_LIST 33.97/10.29 * @see AbstractList 33.97/10.29 * @see AbstractSequentialList 33.97/10.29 * @since 1.2 33.97/10.29 */ 33.97/10.29 33.97/10.29 public interface List extends Collection { 33.97/10.29 // Query Operations 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns the number of elements in this list. If this list contains 33.97/10.29 * more than Integer.MAX_VALUE elements, returns 33.97/10.29 * Integer.MAX_VALUE. 33.97/10.29 * 33.97/10.29 * @return the number of elements in this list 33.97/10.29 */ 33.97/10.29 int size(); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns true if this list contains no elements. 33.97/10.29 * 33.97/10.29 * @return true if this list contains no elements 33.97/10.29 */ 33.97/10.29 boolean isEmpty(); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns true if this list contains the specified element. 33.97/10.29 * More formally, returns true if and only if this list contains 33.97/10.29 * at least one element e such that 33.97/10.29 * (o==null ? e==null : o.equals(e)). 33.97/10.29 * 33.97/10.29 * @param o element whose presence in this list is to be tested 33.97/10.29 * @return true if this list contains the specified element 33.97/10.29 * @throws ClassCastException if the type of the specified element 33.97/10.29 * is incompatible with this list (optional) 33.97/10.29 * @throws NullPointerException if the specified element is null and this 33.97/10.29 * list does not permit null elements (optional) 33.97/10.29 */ 33.97/10.29 boolean contains(Object o); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns an iterator over the elements in this list in proper sequence. 33.97/10.29 * 33.97/10.29 * @return an iterator over the elements in this list in proper sequence 33.97/10.29 */ 33.97/10.29 Iterator iterator(); 33.97/10.29 33.97/10.29 // Modification Operations 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Appends the specified element to the end of this list (optional 33.97/10.29 * operation). 33.97/10.29 * 33.97/10.29 *

Lists that support this operation may place limitations on what 33.97/10.29 * elements may be added to this list. In particular, some 33.97/10.29 * lists will refuse to add null elements, and others will impose 33.97/10.29 * restrictions on the type of elements that may be added. List 33.97/10.29 * classes should clearly specify in their documentation any restrictions 33.97/10.29 * on what elements may be added. 33.97/10.29 * 33.97/10.29 * @param e element to be appended to this list 33.97/10.29 * @return true (as specified by {@link Collection#add}) 33.97/10.29 * @throws UnsupportedOperationException if the add operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws ClassCastException if the class of the specified element 33.97/10.29 * prevents it from being added to this list 33.97/10.29 * @throws NullPointerException if the specified element is null and this 33.97/10.29 * list does not permit null elements 33.97/10.29 * @throws IllegalArgumentException if some property of this element 33.97/10.29 * prevents it from being added to this list 33.97/10.29 */ 33.97/10.29 boolean add(E e); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Removes the first occurrence of the specified element from this list, 33.97/10.29 * if it is present (optional operation). If this list does not contain 33.97/10.29 * the element, it is unchanged. More formally, removes the element with 33.97/10.29 * the lowest index i such that 33.97/10.29 * (o==null ? get(i)==null : o.equals(get(i))) 33.97/10.29 * (if such an element exists). Returns true if this list 33.97/10.29 * contained the specified element (or equivalently, if this list changed 33.97/10.29 * as a result of the call). 33.97/10.29 * 33.97/10.29 * @param o element to be removed from this list, if present 33.97/10.29 * @return true if this list contained the specified element 33.97/10.29 * @throws ClassCastException if the type of the specified element 33.97/10.29 * is incompatible with this list (optional) 33.97/10.29 * @throws NullPointerException if the specified element is null and this 33.97/10.29 * list does not permit null elements (optional) 33.97/10.29 * @throws UnsupportedOperationException if the remove operation 33.97/10.29 * is not supported by this list 33.97/10.29 */ 33.97/10.29 boolean remove(Object o); 33.97/10.29 33.97/10.29 33.97/10.29 // Bulk Modification Operations 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns true if this list contains all of the elements of the 33.97/10.29 * specified collection. 33.97/10.29 * 33.97/10.29 * @param c collection to be checked for containment in this list 33.97/10.29 * @return true if this list contains all of the elements of the 33.97/10.29 * specified collection 33.97/10.29 * @throws ClassCastException if the types of one or more elements 33.97/10.29 * in the specified collection are incompatible with this 33.97/10.29 * list (optional) 33.97/10.29 * @throws NullPointerException if the specified collection contains one 33.97/10.29 * or more null elements and this list does not permit null 33.97/10.29 * elements (optional), or if the specified collection is null 33.97/10.29 * @see #contains(Object) 33.97/10.29 */ 33.97/10.29 boolean containsAll(Collection c); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Appends all of the elements in the specified collection to the end of 33.97/10.29 * this list, in the order that they are returned by the specified 33.97/10.29 * collection's iterator (optional operation). The behavior of this 33.97/10.29 * operation is undefined if the specified collection is modified while 33.97/10.29 * the operation is in progress. (Note that this will occur if the 33.97/10.29 * specified collection is this list, and it's nonempty.) 33.97/10.29 * 33.97/10.29 * @param c collection containing elements to be added to this list 33.97/10.29 * @return true if this list changed as a result of the call 33.97/10.29 * @throws UnsupportedOperationException if the addAll operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws ClassCastException if the class of an element of the specified 33.97/10.29 * collection prevents it from being added to this list 33.97/10.29 * @throws NullPointerException if the specified collection contains one 33.97/10.29 * or more null elements and this list does not permit null 33.97/10.29 * elements, or if the specified collection is null 33.97/10.29 * @throws IllegalArgumentException if some property of an element of the 33.97/10.29 * specified collection prevents it from being added to this list 33.97/10.29 * @see #add(Object) 33.97/10.29 */ 33.97/10.29 boolean addAll(Collection c); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Inserts all of the elements in the specified collection into this 33.97/10.29 * list at the specified position (optional operation). Shifts the 33.97/10.29 * element currently at that position (if any) and any subsequent 33.97/10.29 * elements to the right (increases their indices). The new elements 33.97/10.29 * will appear in this list in the order that they are returned by the 33.97/10.29 * specified collection's iterator. The behavior of this operation is 33.97/10.29 * undefined if the specified collection is modified while the 33.97/10.29 * operation is in progress. (Note that this will occur if the specified 33.97/10.29 * collection is this list, and it's nonempty.) 33.97/10.29 * 33.97/10.29 * @param index index at which to insert the first element from the 33.97/10.29 * specified collection 33.97/10.29 * @param c collection containing elements to be added to this list 33.97/10.29 * @return true if this list changed as a result of the call 33.97/10.29 * @throws UnsupportedOperationException if the addAll operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws ClassCastException if the class of an element of the specified 33.97/10.29 * collection prevents it from being added to this list 33.97/10.29 * @throws NullPointerException if the specified collection contains one 33.97/10.29 * or more null elements and this list does not permit null 33.97/10.29 * elements, or if the specified collection is null 33.97/10.29 * @throws IllegalArgumentException if some property of an element of the 33.97/10.29 * specified collection prevents it from being added to this list 33.97/10.29 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.29 * (index < 0 || index > size()) 33.97/10.29 */ 33.97/10.29 boolean addAll(int index, Collection c); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Removes from this list all of its elements that are contained in the 33.97/10.29 * specified collection (optional operation). 33.97/10.29 * 33.97/10.29 * @param c collection containing elements to be removed from this list 33.97/10.29 * @return true if this list changed as a result of the call 33.97/10.29 * @throws UnsupportedOperationException if the removeAll operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws ClassCastException if the class of an element of this list 33.97/10.29 * is incompatible with the specified collection (optional) 33.97/10.29 * @throws NullPointerException if this list contains a null element and the 33.97/10.29 * specified collection does not permit null elements (optional), 33.97/10.29 * or if the specified collection is null 33.97/10.29 * @see #remove(Object) 33.97/10.29 * @see #contains(Object) 33.97/10.29 */ 33.97/10.29 boolean removeAll(Collection c); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Retains only the elements in this list that are contained in the 33.97/10.29 * specified collection (optional operation). In other words, removes 33.97/10.29 * from this list all of its elements that are not contained in the 33.97/10.29 * specified collection. 33.97/10.29 * 33.97/10.29 * @param c collection containing elements to be retained in this list 33.97/10.29 * @return true if this list changed as a result of the call 33.97/10.29 * @throws UnsupportedOperationException if the retainAll operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws ClassCastException if the class of an element of this list 33.97/10.29 * is incompatible with the specified collection (optional) 33.97/10.29 * @throws NullPointerException if this list contains a null element and the 33.97/10.29 * specified collection does not permit null elements (optional), 33.97/10.29 * or if the specified collection is null 33.97/10.29 * @see #remove(Object) 33.97/10.29 * @see #contains(Object) 33.97/10.29 */ 33.97/10.29 boolean retainAll(Collection c); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Removes all of the elements from this list (optional operation). 33.97/10.29 * The list will be empty after this call returns. 33.97/10.29 * 33.97/10.29 * @throws UnsupportedOperationException if the clear operation 33.97/10.29 * is not supported by this list 33.97/10.29 */ 33.97/10.29 void clear(); 33.97/10.29 33.97/10.29 33.97/10.29 // Comparison and hashing 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Compares the specified object with this list for equality. Returns 33.97/10.29 * true if and only if the specified object is also a list, both 33.97/10.29 * lists have the same size, and all corresponding pairs of elements in 33.97/10.29 * the two lists are equal. (Two elements e1 and 33.97/10.29 * e2 are equal if (e1==null ? e2==null : 33.97/10.29 * e1.equals(e2)).) In other words, two lists are defined to be 33.97/10.29 * equal if they contain the same elements in the same order. This 33.97/10.29 * definition ensures that the equals method works properly across 33.97/10.29 * different implementations of the List interface. 33.97/10.29 * 33.97/10.29 * @param o the object to be compared for equality with this list 33.97/10.29 * @return true if the specified object is equal to this list 33.97/10.29 */ 33.97/10.29 boolean equals(Object o); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns the hash code value for this list. The hash code of a list 33.97/10.29 * is defined to be the result of the following calculation: 33.97/10.29 *

33.97/10.29	     *  int hashCode = 1;
33.97/10.29	     *  for (E e : list)
33.97/10.29	     *      hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
33.97/10.29	     * 
33.97/10.29 * This ensures that list1.equals(list2) implies that 33.97/10.29 * list1.hashCode()==list2.hashCode() for any two lists, 33.97/10.29 * list1 and list2, as required by the general 33.97/10.29 * contract of {@link Object#hashCode}. 33.97/10.29 * 33.97/10.29 * @return the hash code value for this list 33.97/10.29 * @see Object#equals(Object) 33.97/10.29 * @see #equals(Object) 33.97/10.29 */ 33.97/10.29 int hashCode(); 33.97/10.29 33.97/10.29 33.97/10.29 // Positional Access Operations 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns the element at the specified position in this list. 33.97/10.29 * 33.97/10.29 * @param index index of the element to return 33.97/10.29 * @return the element at the specified position in this list 33.97/10.29 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.29 * (index < 0 || index >= size()) 33.97/10.29 */ 33.97/10.29 E get(int index); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Replaces the element at the specified position in this list with the 33.97/10.29 * specified element (optional operation). 33.97/10.29 * 33.97/10.29 * @param index index of the element to replace 33.97/10.29 * @param element element to be stored at the specified position 33.97/10.29 * @return the element previously at the specified position 33.97/10.29 * @throws UnsupportedOperationException if the set operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws ClassCastException if the class of the specified element 33.97/10.29 * prevents it from being added to this list 33.97/10.29 * @throws NullPointerException if the specified element is null and 33.97/10.29 * this list does not permit null elements 33.97/10.29 * @throws IllegalArgumentException if some property of the specified 33.97/10.29 * element prevents it from being added to this list 33.97/10.29 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.29 * (index < 0 || index >= size()) 33.97/10.29 */ 33.97/10.29 E set(int index, E element); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Inserts the specified element at the specified position in this list 33.97/10.29 * (optional operation). Shifts the element currently at that position 33.97/10.29 * (if any) and any subsequent elements to the right (adds one to their 33.97/10.29 * indices). 33.97/10.29 * 33.97/10.29 * @param index index at which the specified element is to be inserted 33.97/10.29 * @param element element to be inserted 33.97/10.29 * @throws UnsupportedOperationException if the add operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws ClassCastException if the class of the specified element 33.97/10.29 * prevents it from being added to this list 33.97/10.29 * @throws NullPointerException if the specified element is null and 33.97/10.29 * this list does not permit null elements 33.97/10.29 * @throws IllegalArgumentException if some property of the specified 33.97/10.29 * element prevents it from being added to this list 33.97/10.29 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.29 * (index < 0 || index > size()) 33.97/10.29 */ 33.97/10.29 void add(int index, E element); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Removes the element at the specified position in this list (optional 33.97/10.29 * operation). Shifts any subsequent elements to the left (subtracts one 33.97/10.29 * from their indices). Returns the element that was removed from the 33.97/10.29 * list. 33.97/10.29 * 33.97/10.29 * @param index the index of the element to be removed 33.97/10.29 * @return the element previously at the specified position 33.97/10.29 * @throws UnsupportedOperationException if the remove operation 33.97/10.29 * is not supported by this list 33.97/10.29 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.29 * (index < 0 || index >= size()) 33.97/10.29 */ 33.97/10.29 E remove(int index); 33.97/10.29 33.97/10.29 33.97/10.29 // Search Operations 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns the index of the first occurrence of the specified element 33.97/10.29 * in this list, or -1 if this list does not contain the element. 33.97/10.29 * More formally, returns the lowest index i such that 33.97/10.29 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.29 * or -1 if there is no such index. 33.97/10.29 * 33.97/10.29 * @param o element to search for 33.97/10.29 * @return the index of the first occurrence of the specified element in 33.97/10.29 * this list, or -1 if this list does not contain the element 33.97/10.29 * @throws ClassCastException if the type of the specified element 33.97/10.29 * is incompatible with this list (optional) 33.97/10.29 * @throws NullPointerException if the specified element is null and this 33.97/10.29 * list does not permit null elements (optional) 33.97/10.29 */ 33.97/10.29 int indexOf(Object o); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns the index of the last occurrence of the specified element 33.97/10.29 * in this list, or -1 if this list does not contain the element. 33.97/10.29 * More formally, returns the highest index i such that 33.97/10.29 * (o==null ? get(i)==null : o.equals(get(i))), 33.97/10.29 * or -1 if there is no such index. 33.97/10.29 * 33.97/10.29 * @param o element to search for 33.97/10.29 * @return the index of the last occurrence of the specified element in 33.97/10.29 * this list, or -1 if this list does not contain the element 33.97/10.29 * @throws ClassCastException if the type of the specified element 33.97/10.29 * is incompatible with this list (optional) 33.97/10.29 * @throws NullPointerException if the specified element is null and this 33.97/10.29 * list does not permit null elements (optional) 33.97/10.29 */ 33.97/10.29 int lastIndexOf(Object o); 33.97/10.29 33.97/10.29 33.97/10.29 // List Iterators 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns a list iterator over the elements in this list (in proper 33.97/10.29 * sequence). 33.97/10.29 * 33.97/10.29 * @return a list iterator over the elements in this list (in proper 33.97/10.29 * sequence) 33.97/10.29 */ 33.97/10.29 ListIterator listIterator(); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns a list iterator over the elements in this list (in proper 33.97/10.29 * sequence), starting at the specified position in the list. 33.97/10.29 * The specified index indicates the first element that would be 33.97/10.29 * returned by an initial call to {@link ListIterator#next next}. 33.97/10.29 * An initial call to {@link ListIterator#previous previous} would 33.97/10.29 * return the element with the specified index minus one. 33.97/10.29 * 33.97/10.29 * @param index index of the first element to be returned from the 33.97/10.29 * list iterator (by a call to {@link ListIterator#next next}) 33.97/10.29 * @return a list iterator over the elements in this list (in proper 33.97/10.29 * sequence), starting at the specified position in the list 33.97/10.29 * @throws IndexOutOfBoundsException if the index is out of range 33.97/10.29 * ({@code index < 0 || index > size()}) 33.97/10.29 */ 33.97/10.29 ListIterator listIterator(int index); 33.97/10.29 33.97/10.29 // View 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Returns a view of the portion of this list between the specified 33.97/10.29 * fromIndex, inclusive, and toIndex, exclusive. (If 33.97/10.29 * fromIndex and toIndex are equal, the returned list is 33.97/10.29 * empty.) The returned list is backed by this list, so non-structural 33.97/10.29 * changes in the returned list are reflected in this list, and vice-versa. 33.97/10.29 * The returned list supports all of the optional list operations supported 33.97/10.29 * by this list.

33.97/10.29 * 33.97/10.29 * This method eliminates the need for explicit range operations (of 33.97/10.29 * the sort that commonly exist for arrays). Any operation that expects 33.97/10.29 * a list can be used as a range operation by passing a subList view 33.97/10.29 * instead of a whole list. For example, the following idiom 33.97/10.29 * removes a range of elements from a list: 33.97/10.29 *

33.97/10.29	     *      list.subList(from, to).clear();
33.97/10.29	     * 
33.97/10.29 * Similar idioms may be constructed for indexOf and 33.97/10.29 * lastIndexOf, and all of the algorithms in the 33.97/10.29 * Collections class can be applied to a subList.

33.97/10.29 * 33.97/10.29 * The semantics of the list returned by this method become undefined if 33.97/10.29 * the backing list (i.e., this list) is structurally modified in 33.97/10.29 * any way other than via the returned list. (Structural modifications are 33.97/10.29 * those that change the size of this list, or otherwise perturb it in such 33.97/10.29 * a fashion that iterations in progress may yield incorrect results.) 33.97/10.29 * 33.97/10.29 * @param fromIndex low endpoint (inclusive) of the subList 33.97/10.29 * @param toIndex high endpoint (exclusive) of the subList 33.97/10.29 * @return a view of the specified range within this list 33.97/10.29 * @throws IndexOutOfBoundsException for an illegal endpoint index value 33.97/10.29 * (fromIndex < 0 || toIndex > size || 33.97/10.29 * fromIndex > toIndex) 33.97/10.29 */ 33.97/10.29 List subList(int fromIndex, int toIndex); 33.97/10.29 } 33.97/10.29 33.97/10.29 33.97/10.29 /* 33.97/10.29 * Copyright 1994-1998 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.29 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.29 * 33.97/10.29 * This code is free software; you can redistribute it and/or modify it 33.97/10.29 * under the terms of the GNU General Public License version 2 only, as 33.97/10.29 * published by the Free Software Foundation. Sun designates this 33.97/10.29 * particular file as subject to the "Classpath" exception as provided 33.97/10.29 * by Sun in the LICENSE file that accompanied this code. 33.97/10.29 * 33.97/10.29 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.29 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.29 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.29 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.29 * accompanied this code). 33.97/10.29 * 33.97/10.29 * You should have received a copy of the GNU General Public License version 33.97/10.29 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.29 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.29 * 33.97/10.29 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.29 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.29 * have any questions. 33.97/10.29 */ 33.97/10.29 33.97/10.29 package javaUtilEx; 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Thrown by the nextElement method of an 33.97/10.29 * Enumeration to indicate that there are no more 33.97/10.29 * elements in the enumeration. 33.97/10.29 * 33.97/10.29 * @author unascribed 33.97/10.29 * @see java.util.Enumeration 33.97/10.29 * @see java.util.Enumeration#nextElement() 33.97/10.29 * @since JDK1.0 33.97/10.29 */ 33.97/10.29 public 33.97/10.29 class NoSuchElementException extends RuntimeException { 33.97/10.29 /** 33.97/10.29 * Constructs a NoSuchElementException with null 33.97/10.29 * as its error message string. 33.97/10.29 */ 33.97/10.29 public NoSuchElementException() { 33.97/10.29 super(); 33.97/10.29 } 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Constructs a NoSuchElementException, saving a reference 33.97/10.29 * to the error message string s for later retrieval by the 33.97/10.29 * getMessage method. 33.97/10.29 * 33.97/10.29 * @param s the detail message. 33.97/10.29 */ 33.97/10.29 public NoSuchElementException(String s) { 33.97/10.29 super(s); 33.97/10.29 } 33.97/10.29 } 33.97/10.29 33.97/10.29 33.97/10.29 /* 33.97/10.29 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.29 * 33.97/10.29 * This code is free software; you can redistribute it and/or modify it 33.97/10.29 * under the terms of the GNU General Public License version 2 only, as 33.97/10.29 * published by the Free Software Foundation. Sun designates this 33.97/10.29 * particular file as subject to the "Classpath" exception as provided 33.97/10.29 * by Sun in the LICENSE file that accompanied this code. 33.97/10.29 * 33.97/10.29 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.29 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.29 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.29 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.29 * accompanied this code). 33.97/10.29 * 33.97/10.29 * You should have received a copy of the GNU General Public License version 33.97/10.29 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.29 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.29 * 33.97/10.29 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.29 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.29 * have any questions. 33.97/10.29 */ 33.97/10.29 33.97/10.29 /* 33.97/10.29 * This file is available under and governed by the GNU General Public 33.97/10.29 * License version 2 only, as published by the Free Software Foundation. 33.97/10.29 * However, the following notice accompanied the original version of this 33.97/10.29 * file: 33.97/10.29 * 33.97/10.29 * Written by Doug Lea with assistance from members of JCP JSR-166 33.97/10.29 * Expert Group and released to the public domain, as explained at 33.97/10.29 * http://creativecommons.org/licenses/publicdomain 33.97/10.29 */ 33.97/10.29 33.97/10.29 package javaUtilEx; 33.97/10.29 33.97/10.29 /** 33.97/10.29 * A collection designed for holding elements prior to processing. 33.97/10.29 * Besides basic {@link java.util.Collection Collection} operations, 33.97/10.29 * queues provide additional insertion, extraction, and inspection 33.97/10.29 * operations. Each of these methods exists in two forms: one throws 33.97/10.29 * an exception if the operation fails, the other returns a special 33.97/10.29 * value (either null or false, depending on the 33.97/10.29 * operation). The latter form of the insert operation is designed 33.97/10.29 * specifically for use with capacity-restricted Queue 33.97/10.29 * implementations; in most implementations, insert operations cannot 33.97/10.29 * fail. 33.97/10.29 * 33.97/10.29 *

33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 * 33.97/10.29 *
Throws exceptionReturns special value
Insert{@link #add add(e)}{@link #offer offer(e)}
Remove{@link #remove remove()}{@link #poll poll()}
Examine{@link #element element()}{@link #peek peek()}
33.97/10.29 * 33.97/10.29 *

Queues typically, but do not necessarily, order elements in a 33.97/10.29 * FIFO (first-in-first-out) manner. Among the exceptions are 33.97/10.29 * priority queues, which order elements according to a supplied 33.97/10.29 * comparator, or the elements' natural ordering, and LIFO queues (or 33.97/10.29 * stacks) which order the elements LIFO (last-in-first-out). 33.97/10.29 * Whatever the ordering used, the head of the queue is that 33.97/10.29 * element which would be removed by a call to {@link #remove() } or 33.97/10.29 * {@link #poll()}. In a FIFO queue, all new elements are inserted at 33.97/10.29 * the tail of the queue. Other kinds of queues may use 33.97/10.29 * different placement rules. Every Queue implementation 33.97/10.29 * must specify its ordering properties. 33.97/10.29 * 33.97/10.29 *

The {@link #offer offer} method inserts an element if possible, 33.97/10.29 * otherwise returning false. This differs from the {@link 33.97/10.29 * java.util.Collection#add Collection.add} method, which can fail to 33.97/10.29 * add an element only by throwing an unchecked exception. The 33.97/10.29 * offer method is designed for use when failure is a normal, 33.97/10.29 * rather than exceptional occurrence, for example, in fixed-capacity 33.97/10.29 * (or "bounded") queues. 33.97/10.29 * 33.97/10.29 *

The {@link #remove()} and {@link #poll()} methods remove and 33.97/10.29 * return the head of the queue. 33.97/10.29 * Exactly which element is removed from the queue is a 33.97/10.29 * function of the queue's ordering policy, which differs from 33.97/10.29 * implementation to implementation. The remove() and 33.97/10.29 * poll() methods differ only in their behavior when the 33.97/10.29 * queue is empty: the remove() method throws an exception, 33.97/10.29 * while the poll() method returns null. 33.97/10.29 * 33.97/10.29 *

The {@link #element()} and {@link #peek()} methods return, but do 33.97/10.29 * not remove, the head of the queue. 33.97/10.29 * 33.97/10.29 *

The Queue interface does not define the blocking queue 33.97/10.29 * methods, which are common in concurrent programming. These methods, 33.97/10.29 * which wait for elements to appear or for space to become available, are 33.97/10.29 * defined in the {@link java.util.concurrent.BlockingQueue} interface, which 33.97/10.29 * extends this interface. 33.97/10.29 * 33.97/10.29 *

Queue implementations generally do not allow insertion 33.97/10.29 * of null elements, although some implementations, such as 33.97/10.29 * {@link LinkedList}, do not prohibit insertion of null. 33.97/10.29 * Even in the implementations that permit it, null should 33.97/10.29 * not be inserted into a Queue, as null is also 33.97/10.29 * used as a special return value by the poll method to 33.97/10.29 * indicate that the queue contains no elements. 33.97/10.29 * 33.97/10.29 *

Queue implementations generally do not define 33.97/10.29 * element-based versions of methods equals and 33.97/10.29 * hashCode but instead inherit the identity based versions 33.97/10.29 * from class Object, because element-based equality is not 33.97/10.29 * always well-defined for queues with the same elements but different 33.97/10.29 * ordering properties. 33.97/10.29 * 33.97/10.29 * 33.97/10.29 *

This interface is a member of the 33.97/10.29 * 33.97/10.29 * Java Collections Framework. 33.97/10.29 * 33.97/10.29 * @see java.util.Collection 33.97/10.29 * @see LinkedList 33.97/10.29 * @see PriorityQueue 33.97/10.29 * @see java.util.concurrent.LinkedBlockingQueue 33.97/10.29 * @see java.util.concurrent.BlockingQueue 33.97/10.29 * @see java.util.concurrent.ArrayBlockingQueue 33.97/10.29 * @see java.util.concurrent.LinkedBlockingQueue 33.97/10.29 * @see java.util.concurrent.PriorityBlockingQueue 33.97/10.29 * @since 1.5 33.97/10.29 * @author Doug Lea 33.97/10.29 * @param the type of elements held in this collection 33.97/10.29 */ 33.97/10.29 public interface Queue extends Collection { 33.97/10.29 /** 33.97/10.29 * Inserts the specified element into this queue if it is possible to do so 33.97/10.29 * immediately without violating capacity restrictions, returning 33.97/10.29 * true upon success and throwing an IllegalStateException 33.97/10.29 * if no space is currently available. 33.97/10.29 * 33.97/10.29 * @param e the element to add 33.97/10.29 * @return true (as specified by {@link Collection#add}) 33.97/10.29 * @throws IllegalStateException if the element cannot be added at this 33.97/10.29 * time due to capacity restrictions 33.97/10.29 * @throws ClassCastException if the class of the specified element 33.97/10.29 * prevents it from being added to this queue 33.97/10.29 * @throws NullPointerException if the specified element is null and 33.97/10.29 * this queue does not permit null elements 33.97/10.29 * @throws IllegalArgumentException if some property of this element 33.97/10.29 * prevents it from being added to this queue 33.97/10.29 */ 33.97/10.29 boolean add(E e); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Inserts the specified element into this queue if it is possible to do 33.97/10.29 * so immediately without violating capacity restrictions. 33.97/10.29 * When using a capacity-restricted queue, this method is generally 33.97/10.29 * preferable to {@link #add}, which can fail to insert an element only 33.97/10.29 * by throwing an exception. 33.97/10.29 * 33.97/10.29 * @param e the element to add 33.97/10.29 * @return true if the element was added to this queue, else 33.97/10.29 * false 33.97/10.29 * @throws ClassCastException if the class of the specified element 33.97/10.29 * prevents it from being added to this queue 33.97/10.29 * @throws NullPointerException if the specified element is null and 33.97/10.29 * this queue does not permit null elements 33.97/10.29 * @throws IllegalArgumentException if some property of this element 33.97/10.29 * prevents it from being added to this queue 33.97/10.29 */ 33.97/10.29 boolean offer(E e); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Retrieves and removes the head of this queue. This method differs 33.97/10.29 * from {@link #poll poll} only in that it throws an exception if this 33.97/10.29 * queue is empty. 33.97/10.29 * 33.97/10.29 * @return the head of this queue 33.97/10.29 * @throws NoSuchElementException if this queue is empty 33.97/10.29 */ 33.97/10.29 E remove(); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Retrieves and removes the head of this queue, 33.97/10.29 * or returns null if this queue is empty. 33.97/10.29 * 33.97/10.29 * @return the head of this queue, or null if this queue is empty 33.97/10.29 */ 33.97/10.29 E poll(); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Retrieves, but does not remove, the head of this queue. This method 33.97/10.29 * differs from {@link #peek peek} only in that it throws an exception 33.97/10.29 * if this queue is empty. 33.97/10.29 * 33.97/10.29 * @return the head of this queue 33.97/10.29 * @throws NoSuchElementException if this queue is empty 33.97/10.29 */ 33.97/10.29 E element(); 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Retrieves, but does not remove, the head of this queue, 33.97/10.29 * or returns null if this queue is empty. 33.97/10.29 * 33.97/10.29 * @return the head of this queue, or null if this queue is empty 33.97/10.29 */ 33.97/10.29 E peek(); 33.97/10.29 } 33.97/10.29 33.97/10.29 33.97/10.29 /* 33.97/10.29 * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.29 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.29 * 33.97/10.29 * This code is free software; you can redistribute it and/or modify it 33.97/10.29 * under the terms of the GNU General Public License version 2 only, as 33.97/10.29 * published by the Free Software Foundation. Sun designates this 33.97/10.29 * particular file as subject to the "Classpath" exception as provided 33.97/10.29 * by Sun in the LICENSE file that accompanied this code. 33.97/10.29 * 33.97/10.29 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.29 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.29 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.29 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.29 * accompanied this code). 33.97/10.29 * 33.97/10.29 * You should have received a copy of the GNU General Public License version 33.97/10.29 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.29 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.29 * 33.97/10.29 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.29 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.29 * have any questions. 33.97/10.29 */ 33.97/10.29 33.97/10.29 package javaUtilEx; 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Marker interface used by List implementations to indicate that 33.97/10.29 * they support fast (generally constant time) random access. The primary 33.97/10.29 * purpose of this interface is to allow generic algorithms to alter their 33.97/10.29 * behavior to provide good performance when applied to either random or 33.97/10.29 * sequential access lists. 33.97/10.29 * 33.97/10.29 *

The best algorithms for manipulating random access lists (such as 33.97/10.29 * ArrayList) can produce quadratic behavior when applied to 33.97/10.29 * sequential access lists (such as LinkedList). Generic list 33.97/10.29 * algorithms are encouraged to check whether the given list is an 33.97/10.29 * instanceof this interface before applying an algorithm that would 33.97/10.29 * provide poor performance if it were applied to a sequential access list, 33.97/10.29 * and to alter their behavior if necessary to guarantee acceptable 33.97/10.29 * performance. 33.97/10.29 * 33.97/10.29 *

It is recognized that the distinction between random and sequential 33.97/10.29 * access is often fuzzy. For example, some List implementations 33.97/10.29 * provide asymptotically linear access times if they get huge, but constant 33.97/10.29 * access times in practice. Such a List implementation 33.97/10.29 * should generally implement this interface. As a rule of thumb, a 33.97/10.29 * List implementation should implement this interface if, 33.97/10.29 * for typical instances of the class, this loop: 33.97/10.29 *

33.97/10.29	 *     for (int i=0, n=list.size(); i < n; i++)
33.97/10.29	 *         list.get(i);
33.97/10.29	 * 
33.97/10.29 * runs faster than this loop: 33.97/10.29 *
33.97/10.29	 *     for (Iterator i=list.iterator(); i.hasNext(); )
33.97/10.29	 *         i.next();
33.97/10.29	 * 
33.97/10.29 * 33.97/10.29 *

This interface is a member of the 33.97/10.29 * 33.97/10.29 * Java Collections Framework. 33.97/10.29 * 33.97/10.29 * @since 1.4 33.97/10.29 */ 33.97/10.29 public interface RandomAccess { 33.97/10.29 } 33.97/10.29 33.97/10.29 33.97/10.29 package javaUtilEx; 33.97/10.29 33.97/10.29 public class Random { 33.97/10.29 static String[] args; 33.97/10.29 static int index = 0; 33.97/10.29 33.97/10.29 public static int random() { 33.97/10.29 String string = args[index]; 33.97/10.29 index++; 33.97/10.29 return string.length(); 33.97/10.29 } 33.97/10.29 } 33.97/10.29 33.97/10.29 33.97/10.29 /* 33.97/10.29 * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved. 33.97/10.29 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 33.97/10.29 * 33.97/10.29 * This code is free software; you can redistribute it and/or modify it 33.97/10.29 * under the terms of the GNU General Public License version 2 only, as 33.97/10.29 * published by the Free Software Foundation. Sun designates this 33.97/10.29 * particular file as subject to the "Classpath" exception as provided 33.97/10.29 * by Sun in the LICENSE file that accompanied this code. 33.97/10.29 * 33.97/10.29 * This code is distributed in the hope that it will be useful, but WITHOUT 33.97/10.29 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 33.97/10.29 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 33.97/10.29 * version 2 for more details (a copy is included in the LICENSE file that 33.97/10.29 * accompanied this code). 33.97/10.29 * 33.97/10.29 * You should have received a copy of the GNU General Public License version 33.97/10.29 * 2 along with this work; if not, write to the Free Software Foundation, 33.97/10.29 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 33.97/10.29 * 33.97/10.29 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 33.97/10.29 * CA 95054 USA or visit www.sun.com if you need additional information or 33.97/10.29 * have any questions. 33.97/10.29 */ 33.97/10.29 33.97/10.29 package javaUtilEx; 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Thrown to indicate that the requested operation is not supported.

33.97/10.29 * 33.97/10.29 * This class is a member of the 33.97/10.29 * 33.97/10.29 * Java Collections Framework. 33.97/10.29 * 33.97/10.29 * @author Josh Bloch 33.97/10.29 * @since 1.2 33.97/10.29 */ 33.97/10.29 public class UnsupportedOperationException extends RuntimeException { 33.97/10.29 /** 33.97/10.29 * Constructs an UnsupportedOperationException with no detail message. 33.97/10.29 */ 33.97/10.29 public UnsupportedOperationException() { 33.97/10.29 } 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Constructs an UnsupportedOperationException with the specified 33.97/10.29 * detail message. 33.97/10.29 * 33.97/10.29 * @param message the detail message 33.97/10.29 */ 33.97/10.29 public UnsupportedOperationException(String message) { 33.97/10.29 super(message); 33.97/10.29 } 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Constructs a new exception with the specified detail message and 33.97/10.29 * cause. 33.97/10.29 * 33.97/10.29 *

Note that the detail message associated with cause is 33.97/10.29 * not automatically incorporated in this exception's detail 33.97/10.29 * message. 33.97/10.29 * 33.97/10.29 * @param message the detail message (which is saved for later retrieval 33.97/10.29 * by the {@link Throwable#getMessage()} method). 33.97/10.29 * @param cause the cause (which is saved for later retrieval by the 33.97/10.29 * {@link Throwable#getCause()} method). (A null value 33.97/10.29 * is permitted, and indicates that the cause is nonexistent or 33.97/10.29 * unknown.) 33.97/10.29 * @since 1.5 33.97/10.29 */ 33.97/10.29 public UnsupportedOperationException(String message, Throwable cause) { 33.97/10.29 super(message, cause); 33.97/10.29 } 33.97/10.29 33.97/10.29 /** 33.97/10.29 * Constructs a new exception with the specified cause and a detail 33.97/10.29 * message of (cause==null ? null : cause.toString()) (which 33.97/10.29 * typically contains the class and detail message of cause). 33.97/10.29 * This constructor is useful for exceptions that are little more than 33.97/10.29 * wrappers for other throwables (for example, {@link 33.97/10.29 * java.security.PrivilegedActionException}). 33.97/10.29 * 33.97/10.29 * @param cause the cause (which is saved for later retrieval by the 33.97/10.29 * {@link Throwable#getCause()} method). (A null value is 33.97/10.29 * permitted, and indicates that the cause is nonexistent or 33.97/10.29 * unknown.) 33.97/10.29 * @since 1.5 33.97/10.29 */ 33.97/10.29 public UnsupportedOperationException(Throwable cause) { 33.97/10.29 super(cause); 33.97/10.29 } 33.97/10.29 33.97/10.29 static final long serialVersionUID = -1242599979055084673L; 33.97/10.29 } 33.97/10.29 33.97/10.29 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (3) JBCToGraph (EQUIVALENT) 33.97/10.29 Constructed TerminationGraph. 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (4) 33.97/10.29 Obligation: 33.97/10.29 Termination Graph based on JBC Program: 33.97/10.29 javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V: Graph of 1478 nodes with 8 SCCs. 33.97/10.29 33.97/10.29 33.97/10.29 33.97/10.29 javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.createList(I)LjavaUtilEx/LinkedList;: Graph of 250 nodes with 1 SCC. 33.97/10.29 33.97/10.29 33.97/10.29 33.97/10.29 javaUtilEx.Content.equals(Ljava/lang/Object;)Z: Graph of 32 nodes with 0 SCCs. 33.97/10.29 33.97/10.29 33.97/10.29 33.97/10.29 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (5) TerminationGraphToSCCProof (SOUND) 33.97/10.29 Splitted TerminationGraph to 9 SCCss. 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (6) 33.97/10.29 Complex Obligation (AND) 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (7) 33.97/10.29 Obligation: 33.97/10.29 SCC of termination graph based on JBC Program. 33.97/10.29 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.createList(I)LjavaUtilEx/LinkedList; 33.97/10.29 SCC calls the following helper methods: 33.97/10.29 Performed SCC analyses: 33.97/10.29 *Used field analysis yielded the following read fields: 33.97/10.29 *java.lang.String: [count] 33.97/10.29 *javaUtilEx.LinkedList: [header, size] 33.97/10.29 *javaUtilEx.LinkedList$Entry: [previous, next] 33.97/10.29 *javaUtilEx.AbstractList: [modCount] 33.97/10.29 *Marker field analysis yielded the following relations that could be markers: 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (8) SCCToIRSProof (SOUND) 33.97/10.29 Transformed FIGraph SCCs to intTRSs. Log: 33.97/10.29 Generated rules. Obtained 118 IRulesP rules: 33.97/10.29 f7319_0_createList_LE(EOS(STATIC_7319(java.lang.Object(o11296sub), i3402)), i3417, i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7327_0_createList_LE(EOS(STATIC_7327(java.lang.Object(o11296sub), i3402)), i3417, i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7327_0_createList_LE(EOS(STATIC_7327(java.lang.Object(o11296sub), i3402)), i3417, i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7336_0_createList_Load(EOS(STATIC_7336(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: i3417 > 0 33.97/10.29 f7336_0_createList_Load(EOS(STATIC_7336(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7345_0_createList_New(EOS(STATIC_7345(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7345_0_createList_New(EOS(STATIC_7345(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7353_0_createList_Duplicate(EOS(STATIC_7353(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7353_0_createList_Duplicate(EOS(STATIC_7353(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7359_0_createList_InvokeMethod(EOS(STATIC_7359(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7359_0_createList_InvokeMethod(EOS(STATIC_7359(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7367_0_random_FieldAccess(EOS(STATIC_7367(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7367_0_random_FieldAccess(EOS(STATIC_7367(java.lang.Object(o11296sub), i3402)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7380_0_random_FieldAccess(EOS(STATIC_7380(java.lang.Object(o11296sub), i3402)), i3417, java.lang.Object(o11296sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7380_0_random_FieldAccess(EOS(STATIC_7380(java.lang.Object(o11296sub), i3402)), i3417, java.lang.Object(o11296sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7386_0_random_ArrayAccess(EOS(STATIC_7386(java.lang.Object(o11296sub), i3402)), i3417, java.lang.Object(o11296sub), i3402, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7386_0_random_ArrayAccess(EOS(STATIC_7386(java.lang.Object(ARRAY(i3452)), i3402)), i3417, java.lang.Object(ARRAY(i3452)), i3402, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7391_0_random_ArrayAccess(EOS(STATIC_7391(java.lang.Object(ARRAY(i3452)), i3402)), i3417, java.lang.Object(ARRAY(i3452)), i3402, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: i3452 >= 0 33.97/10.29 f7391_0_random_ArrayAccess(EOS(STATIC_7391(java.lang.Object(ARRAY(i3452)), i3456)), i3417, java.lang.Object(ARRAY(i3452)), i3456, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7399_0_random_ArrayAccess(EOS(STATIC_7399(java.lang.Object(ARRAY(i3452)), i3456)), i3417, java.lang.Object(ARRAY(i3452)), i3456, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7399_0_random_ArrayAccess(EOS(STATIC_7399(java.lang.Object(ARRAY(i3452)), i3456)), i3417, java.lang.Object(ARRAY(i3452)), i3456, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7408_0_random_ArrayAccess(EOS(STATIC_7408(java.lang.Object(ARRAY(i3452)), i3456)), i3417, java.lang.Object(ARRAY(i3452)), i3456, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7408_0_random_ArrayAccess(EOS(STATIC_7408(java.lang.Object(ARRAY(i3452)), i3456)), i3417, java.lang.Object(ARRAY(i3452)), i3456, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7418_0_random_Store(EOS(STATIC_7418(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: i3456 < i3452 33.97/10.29 f7418_0_random_Store(EOS(STATIC_7418(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7428_0_random_FieldAccess(EOS(STATIC_7428(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7428_0_random_FieldAccess(EOS(STATIC_7428(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7436_0_random_ConstantStackPush(EOS(STATIC_7436(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, i3456, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7436_0_random_ConstantStackPush(EOS(STATIC_7436(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, i3456, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7442_0_random_IntArithmetic(EOS(STATIC_7442(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, i3456, 1, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7442_0_random_IntArithmetic(EOS(STATIC_7442(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, i3456, matching1, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7452_0_random_FieldAccess(EOS(STATIC_7452(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, i3456 + 1, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: i3456 >= 0 && matching1 = 1 33.97/10.29 f7452_0_random_FieldAccess(EOS(STATIC_7452(java.lang.Object(ARRAY(i3452)), i3456)), i3417, o11671, i3510, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7461_0_random_Load(EOS(STATIC_7461(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11671, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7461_0_random_Load(EOS(STATIC_7461(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11671, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7468_0_random_InvokeMethod(EOS(STATIC_7468(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11671, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7468_0_random_InvokeMethod(EOS(STATIC_7468(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11908sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7476_0_random_InvokeMethod(EOS(STATIC_7476(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11908sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7476_0_random_InvokeMethod(EOS(STATIC_7476(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11918sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7487_0_random_InvokeMethod(EOS(STATIC_7487(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11918sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7487_0_random_InvokeMethod(EOS(STATIC_7487(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11918sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7500_0_length_Load(EOS(STATIC_7500(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11918sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7500_0_length_Load(EOS(STATIC_7500(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11918sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7529_0_length_FieldAccess(EOS(STATIC_7529(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(o11918sub), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7529_0_length_FieldAccess(EOS(STATIC_7529(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(java.lang.String(EOC, i3525)), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7545_0_length_FieldAccess(EOS(STATIC_7545(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(java.lang.String(EOC, i3525)), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7545_0_length_FieldAccess(EOS(STATIC_7545(java.lang.Object(ARRAY(i3452)), i3510)), i3417, java.lang.Object(java.lang.String(EOC, i3525)), o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7559_0_length_Return(EOS(STATIC_7559(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7559_0_length_Return(EOS(STATIC_7559(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7572_0_random_Return(EOS(STATIC_7572(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7572_0_random_Return(EOS(STATIC_7572(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7581_0_createList_InvokeMethod(EOS(STATIC_7581(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7581_0_createList_InvokeMethod(EOS(STATIC_7581(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7593_0__init__Load(EOS(STATIC_7593(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7593_0__init__Load(EOS(STATIC_7593(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7614_0__init__InvokeMethod(EOS(STATIC_7614(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7614_0__init__InvokeMethod(EOS(STATIC_7614(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7626_0__init__Load(EOS(STATIC_7626(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7626_0__init__Load(EOS(STATIC_7626(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7638_0__init__Load(EOS(STATIC_7638(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7638_0__init__Load(EOS(STATIC_7638(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7653_0__init__FieldAccess(EOS(STATIC_7653(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7653_0__init__FieldAccess(EOS(STATIC_7653(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7670_0__init__Return(EOS(STATIC_7670(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7670_0__init__Return(EOS(STATIC_7670(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7692_0_createList_InvokeMethod(EOS(STATIC_7692(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7692_0_createList_InvokeMethod(EOS(STATIC_7692(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7720_0_addLast_Load(EOS(STATIC_7720(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7720_0_addLast_Load(EOS(STATIC_7720(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7762_0_addLast_Load(EOS(STATIC_7762(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7762_0_addLast_Load(EOS(STATIC_7762(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7784_0_addLast_Load(EOS(STATIC_7784(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7784_0_addLast_Load(EOS(STATIC_7784(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7801_0_addLast_FieldAccess(EOS(STATIC_7801(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7801_0_addLast_FieldAccess(EOS(STATIC_7801(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7816_0_addLast_InvokeMethod(EOS(STATIC_7816(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7816_0_addLast_InvokeMethod(EOS(STATIC_7816(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7830_0_addBefore_New(EOS(STATIC_7830(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7830_0_addBefore_New(EOS(STATIC_7830(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7848_0_addBefore_Duplicate(EOS(STATIC_7848(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7848_0_addBefore_Duplicate(EOS(STATIC_7848(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7864_0_addBefore_Load(EOS(STATIC_7864(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7864_0_addBefore_Load(EOS(STATIC_7864(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7887_0_addBefore_Load(EOS(STATIC_7887(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7887_0_addBefore_Load(EOS(STATIC_7887(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7901_0_addBefore_Load(EOS(STATIC_7901(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7901_0_addBefore_Load(EOS(STATIC_7901(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7913_0_addBefore_FieldAccess(EOS(STATIC_7913(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7913_0_addBefore_FieldAccess(EOS(STATIC_7913(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7925_0_addBefore_FieldAccess(EOS(STATIC_7925(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: o11301[LinkedList$Entry.next]o11301 > 0 && o11301[LinkedList$Entry.next]o11299 > 0 && o11301[LinkedList$Entry.previous]o11299 > 0 && o11301[LinkedList$Entry.previous]o11301 > 0 33.97/10.29 f7925_0_addBefore_FieldAccess(EOS(STATIC_7925(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7940_0_addBefore_FieldAccess(EOS(STATIC_7940(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: o11300[LinkedList$Entry.previous]o11300 > 0 && o11300[LinkedList$Entry.previous]o11299 > 0 33.97/10.29 f7940_0_addBefore_FieldAccess(EOS(STATIC_7940(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7955_0_addBefore_FieldAccess(EOS(STATIC_7955(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: o11302[LinkedList$Entry.previous]o11299 > 0 && o11302[LinkedList$Entry.previous]o11302 > 0 33.97/10.29 f7955_0_addBefore_FieldAccess(EOS(STATIC_7955(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7968_0_addBefore_InvokeMethod(EOS(STATIC_7968(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7968_0_addBefore_InvokeMethod(EOS(STATIC_7968(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7978_0__init__Load(EOS(STATIC_7978(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f7978_0__init__Load(EOS(STATIC_7978(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8011_0__init__InvokeMethod(EOS(STATIC_8011(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8011_0__init__InvokeMethod(EOS(STATIC_8011(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8032_0__init__Load(EOS(STATIC_8032(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8032_0__init__Load(EOS(STATIC_8032(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8054_0__init__Load(EOS(STATIC_8054(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8054_0__init__Load(EOS(STATIC_8054(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8074_0__init__FieldAccess(EOS(STATIC_8074(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8074_0__init__FieldAccess(EOS(STATIC_8074(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8089_0__init__Load(EOS(STATIC_8089(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8089_0__init__Load(EOS(STATIC_8089(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8104_0__init__Load(EOS(STATIC_8104(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8104_0__init__Load(EOS(STATIC_8104(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8119_0__init__FieldAccess(EOS(STATIC_8119(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8119_0__init__FieldAccess(EOS(STATIC_8119(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8132_0__init__Load(EOS(STATIC_8132(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8132_0__init__Load(EOS(STATIC_8132(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8144_0__init__Load(EOS(STATIC_8144(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8144_0__init__Load(EOS(STATIC_8144(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8159_0__init__FieldAccess(EOS(STATIC_8159(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8159_0__init__FieldAccess(EOS(STATIC_8159(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8178_0__init__Return(EOS(STATIC_8178(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8178_0__init__Return(EOS(STATIC_8178(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8199_0_addBefore_Store(EOS(STATIC_8199(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8199_0_addBefore_Store(EOS(STATIC_8199(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8217_0_addBefore_Load(EOS(STATIC_8217(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8217_0_addBefore_Load(EOS(STATIC_8217(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8244_0_addBefore_FieldAccess(EOS(STATIC_8244(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8244_0_addBefore_FieldAccess(EOS(STATIC_8244(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8268_0_addBefore_Load(EOS(STATIC_8268(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8268_0_addBefore_Load(EOS(STATIC_8268(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8281_0_addBefore_FieldAccess(EOS(STATIC_8281(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8281_0_addBefore_FieldAccess(EOS(STATIC_8281(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f8300_0_addBefore_FieldAccess(EOS(STATIC_8300(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: o11301[LinkedList$Entry.next]o11301 > 0 && o11302[LinkedList$Entry.previous]o11301 > 0 && o11301[LinkedList$Entry.previous]o11301 > 0 && o11301[LinkedList$Entry.next]o11302 > 0 && o11301[LinkedList$Entry.previous]o11302 > 0 && o11302[LinkedList$Entry.previous]o11302 > 0 33.97/10.29 f8281_0_addBefore_FieldAccess(EOS(STATIC_8281(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.next]o11300, o16204[LinkedList$Entry.previous]o11300, o16204[LinkedList$Entry.previous]o11300, o16204[LinkedList$Entry.next]o16204, o16204[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.next]o16204, o16204[LinkedList$Entry.previous]o16204, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8301_0_addBefore_FieldAccess(EOS(STATIC_8301(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8300_0_addBefore_FieldAccess(EOS(STATIC_8300(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8311_0_addBefore_FieldAccess(EOS(STATIC_8311(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: o11302[LinkedList$Entry.previous]o11300 > 0 && o11300[LinkedList$Entry.previous]o11300 > 0 && o11300[LinkedList$Entry.previous]o11302 > 0 && o11302[LinkedList$Entry.previous]o11302 > 0 33.97/10.29 f8311_0_addBefore_FieldAccess(EOS(STATIC_8311(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8323_0_addBefore_Load(EOS(STATIC_8323(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8323_0_addBefore_Load(EOS(STATIC_8323(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8337_0_addBefore_FieldAccess(EOS(STATIC_8337(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8337_0_addBefore_FieldAccess(EOS(STATIC_8337(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8350_0_addBefore_Load(EOS(STATIC_8350(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8350_0_addBefore_Load(EOS(STATIC_8350(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8361_0_addBefore_FieldAccess(EOS(STATIC_8361(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8361_0_addBefore_FieldAccess(EOS(STATIC_8361(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8375_0_addBefore_Load(EOS(STATIC_8375(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8375_0_addBefore_Load(EOS(STATIC_8375(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8394_0_addBefore_Duplicate(EOS(STATIC_8394(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8394_0_addBefore_Duplicate(EOS(STATIC_8394(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8419_0_addBefore_FieldAccess(EOS(STATIC_8419(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8419_0_addBefore_FieldAccess(EOS(STATIC_8419(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8438_0_addBefore_ConstantStackPush(EOS(STATIC_8438(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8438_0_addBefore_ConstantStackPush(EOS(STATIC_8438(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8457_0_addBefore_IntArithmetic(EOS(STATIC_8457(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8457_0_addBefore_IntArithmetic(EOS(STATIC_8457(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8475_0_addBefore_FieldAccess(EOS(STATIC_8475(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8475_0_addBefore_FieldAccess(EOS(STATIC_8475(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8494_0_addBefore_Load(EOS(STATIC_8494(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8494_0_addBefore_Load(EOS(STATIC_8494(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8509_0_addBefore_Duplicate(EOS(STATIC_8509(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8509_0_addBefore_Duplicate(EOS(STATIC_8509(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8526_0_addBefore_FieldAccess(EOS(STATIC_8526(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8526_0_addBefore_FieldAccess(EOS(STATIC_8526(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8541_0_addBefore_ConstantStackPush(EOS(STATIC_8541(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8541_0_addBefore_ConstantStackPush(EOS(STATIC_8541(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8555_0_addBefore_IntArithmetic(EOS(STATIC_8555(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8555_0_addBefore_IntArithmetic(EOS(STATIC_8555(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8572_0_addBefore_FieldAccess(EOS(STATIC_8572(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8572_0_addBefore_FieldAccess(EOS(STATIC_8572(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8591_0_addBefore_Load(EOS(STATIC_8591(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8591_0_addBefore_Load(EOS(STATIC_8591(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8603_0_addBefore_Return(EOS(STATIC_8603(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8603_0_addBefore_Return(EOS(STATIC_8603(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8613_0_addLast_StackPop(EOS(STATIC_8613(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8613_0_addLast_StackPop(EOS(STATIC_8613(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8623_0_addLast_Return(EOS(STATIC_8623(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8623_0_addLast_Return(EOS(STATIC_8623(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8634_0_createList_Inc(EOS(STATIC_8634(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8634_0_createList_Inc(EOS(STATIC_8634(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8645_0_createList_JMP(EOS(STATIC_8645(java.lang.Object(ARRAY(i3452)), i3510)), i3417 + -1, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8645_0_createList_JMP(EOS(STATIC_8645(java.lang.Object(ARRAY(i3452)), i3510)), i4971, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f8656_0_createList_Load(EOS(STATIC_8656(java.lang.Object(ARRAY(i3452)), i3510)), i4971, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8656_0_createList_Load(EOS(STATIC_8656(java.lang.Object(ARRAY(i3452)), i3510)), i4971, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302, o11301[LinkedList$Entry.previous]o11302) -> f7313_0_createList_Load(EOS(STATIC_7313(java.lang.Object(ARRAY(i3452)), i3510)), i4971, o11301[LinkedList$Entry.next]o11300, o13150[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o13150[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o13150[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o13150, o11301[LinkedList$Entry.previous]o13150, o11300[LinkedList$Entry.previous]o13150, o13150[LinkedList$Entry.previous]o13150) :|: TRUE 33.97/10.29 f7313_0_createList_Load(EOS(STATIC_7313(java.lang.Object(o11296sub), i3402)), i3404, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) -> f7319_0_createList_LE(EOS(STATIC_7319(java.lang.Object(o11296sub), i3402)), i3404, i3404, o11301[LinkedList$Entry.next]o11300, o11302[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.previous]o11300, o11301[LinkedList$Entry.next]o11301, o11301[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o11302[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o11301, o11302[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.previous]o11299, o11301[LinkedList$Entry.previous]o11301, o11301[LinkedList$Entry.next]o11302, o11301[LinkedList$Entry.previous]o11302, o11300[LinkedList$Entry.previous]o11302, o11302[LinkedList$Entry.previous]o11302) :|: TRUE 33.97/10.29 f8301_0_addBefore_FieldAccess(EOS(STATIC_8301(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8313_0_addBefore_FieldAccess(EOS(STATIC_8313(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: o16204[LinkedList$Entry.previous]o11300 > 0 && o11300[LinkedList$Entry.previous]o11300 > 0 && o11300[LinkedList$Entry.previous]o16204 > 0 && o16204[LinkedList$Entry.previous]o16204 > 0 33.97/10.29 f8313_0_addBefore_FieldAccess(EOS(STATIC_8313(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8324_0_addBefore_Load(EOS(STATIC_8324(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8324_0_addBefore_Load(EOS(STATIC_8324(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8338_0_addBefore_FieldAccess(EOS(STATIC_8338(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8338_0_addBefore_FieldAccess(EOS(STATIC_8338(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8351_0_addBefore_Load(EOS(STATIC_8351(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8351_0_addBefore_Load(EOS(STATIC_8351(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8362_0_addBefore_FieldAccess(EOS(STATIC_8362(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8362_0_addBefore_FieldAccess(EOS(STATIC_8362(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8376_0_addBefore_Load(EOS(STATIC_8376(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8376_0_addBefore_Load(EOS(STATIC_8376(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8395_0_addBefore_Duplicate(EOS(STATIC_8395(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8395_0_addBefore_Duplicate(EOS(STATIC_8395(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8420_0_addBefore_FieldAccess(EOS(STATIC_8420(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8420_0_addBefore_FieldAccess(EOS(STATIC_8420(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8439_0_addBefore_ConstantStackPush(EOS(STATIC_8439(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8439_0_addBefore_ConstantStackPush(EOS(STATIC_8439(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8458_0_addBefore_IntArithmetic(EOS(STATIC_8458(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8458_0_addBefore_IntArithmetic(EOS(STATIC_8458(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8476_0_addBefore_FieldAccess(EOS(STATIC_8476(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8476_0_addBefore_FieldAccess(EOS(STATIC_8476(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8495_0_addBefore_Load(EOS(STATIC_8495(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8495_0_addBefore_Load(EOS(STATIC_8495(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8510_0_addBefore_Duplicate(EOS(STATIC_8510(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8510_0_addBefore_Duplicate(EOS(STATIC_8510(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8527_0_addBefore_FieldAccess(EOS(STATIC_8527(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8527_0_addBefore_FieldAccess(EOS(STATIC_8527(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8542_0_addBefore_ConstantStackPush(EOS(STATIC_8542(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8542_0_addBefore_ConstantStackPush(EOS(STATIC_8542(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8556_0_addBefore_IntArithmetic(EOS(STATIC_8556(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8556_0_addBefore_IntArithmetic(EOS(STATIC_8556(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8573_0_addBefore_FieldAccess(EOS(STATIC_8573(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8573_0_addBefore_FieldAccess(EOS(STATIC_8573(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8592_0_addBefore_Load(EOS(STATIC_8592(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8592_0_addBefore_Load(EOS(STATIC_8592(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8604_0_addBefore_Return(EOS(STATIC_8604(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8604_0_addBefore_Return(EOS(STATIC_8604(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8614_0_addLast_StackPop(EOS(STATIC_8614(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8614_0_addLast_StackPop(EOS(STATIC_8614(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8624_0_addLast_Return(EOS(STATIC_8624(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8624_0_addLast_Return(EOS(STATIC_8624(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8635_0_createList_Inc(EOS(STATIC_8635(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8635_0_createList_Inc(EOS(STATIC_8635(java.lang.Object(ARRAY(i3452)), i3510)), i3417, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8646_0_createList_JMP(EOS(STATIC_8646(java.lang.Object(ARRAY(i3452)), i3510)), i3417 + -1, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8646_0_createList_JMP(EOS(STATIC_8646(java.lang.Object(ARRAY(i3452)), i3510)), i4972, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f8657_0_createList_Load(EOS(STATIC_8657(java.lang.Object(ARRAY(i3452)), i3510)), i4972, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) :|: TRUE 33.97/10.29 f8657_0_createList_Load(EOS(STATIC_8657(java.lang.Object(ARRAY(i3452)), i3510)), i4972, o16204[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o16204) -> f7313_0_createList_Load(EOS(STATIC_7313(java.lang.Object(ARRAY(i3452)), i3510)), i4972, o16204[LinkedList$Entry.next]o11300, o13150[LinkedList$Entry.previous]o11300, o16204[LinkedList$Entry.previous]o11300, o16204[LinkedList$Entry.next]o16204, o16204[LinkedList$Entry.next]o11299, o11300[LinkedList$Entry.previous]o11300, o11300[LinkedList$Entry.previous]o11299, o13150[LinkedList$Entry.previous]o11299, o11300[LinkedList$Entry.previous]o16204, o13150[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.previous]o11299, o16204[LinkedList$Entry.previous]o16204, o16204[LinkedList$Entry.next]o13150, o16204[LinkedList$Entry.previous]o13150, o11300[LinkedList$Entry.previous]o13150, o13150[LinkedList$Entry.previous]o13150) :|: o16204[LinkedList$Entry.next]o16204 = 4 && o13150[LinkedList$Entry.previous]o16204 = 1 && o16204[LinkedList$Entry.next]o13150 = 1 33.97/10.29 Combined rules. Obtained 2 IRulesP rules: 33.97/10.29 f7319_0_createList_LE(EOS(STATIC_7319(java.lang.Object(ARRAY(i3452:0)), i3402:0)), i3417:0, i3417:0, o11301[LinkedList$Entry.next]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0) -> f7319_0_createList_LE(EOS(STATIC_7319(java.lang.Object(ARRAY(i3452:0)), i3402:0 + 1)), i3417:0 - 1, i3417:0 - 1, o16204[LinkedList$Entry.next]o11300:0, o13150[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, 4, o16204[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, 1, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, 1, o16204[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0) :|: i3417:0 > 0 && i3452:0 > -1 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 && o11300[LinkedList$Entry.previous]o11301:0 > 0 33.97/10.29 f7319_0_createList_LE(EOS(STATIC_7319(java.lang.Object(ARRAY(i3452:0)), i3402:0)), i3417:0, i3417:0, o11301[LinkedList$Entry.next]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.previous]o11299:0, o11301[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11302:0, o11301[LinkedList$Entry.previous]o11302:0, o11300[LinkedList$Entry.previous]o11302:0, o11302[LinkedList$Entry.previous]o11302:0) -> f7319_0_createList_LE(EOS(STATIC_7319(java.lang.Object(ARRAY(i3452:0)), i3402:0 + 1)), i3417:0 - 1, i3417:0 - 1, o11301[LinkedList$Entry.next]o11300:0, o13150[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o13150[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.previous]o11299:0, o11301[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o13150:0, o11301[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0) :|: i3417:0 > 0 && i3452:0 > -1 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11301[LinkedList$Entry.previous]o11299:0 > 0 && o11301[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11302[LinkedList$Entry.previous]o11302:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11301[LinkedList$Entry.next]o11302:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 && o11301[LinkedList$Entry.previous]o11302:0 > 0 && o11300[LinkedList$Entry.previous]o11302:0 > 0 33.97/10.29 Filtered duplicate arguments: 33.97/10.29 f7319_0_createList_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) -> f7319_0_createList_LE(x1, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18, x19) 33.97/10.29 Filtered unneeded arguments: 33.97/10.29 f7319_0_createList_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) -> f7319_0_createList_LE(x1, x2, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17, x18) 33.97/10.29 Finished conversion. Obtained 2 rules.P rules: 33.97/10.29 f7319_0_createList_LE(i3417:0, o11302[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, i3452:0, i3402:0) -> f7319_0_createList_LE(i3417:0 - 1, o13150[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, 4, o16204[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, 1, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, 1, o16204[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0, i3452:0, i3402:0 + 1) :|: i3452:0 > -1 && i3417:0 > 0 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11300[LinkedList$Entry.previous]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 33.97/10.29 f7319_0_createList_LE(i3417:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.previous]o11299:0, o11301[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11302:0, o11301[LinkedList$Entry.previous]o11302:0, o11300[LinkedList$Entry.previous]o11302:0, o11302[LinkedList$Entry.previous]o11302:0, i3452:0, i3402:0) -> f7319_0_createList_LE(i3417:0 - 1, o13150[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o13150[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.previous]o11299:0, o11301[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o13150:0, o11301[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0, i3452:0, i3402:0 + 1) :|: i3452:0 > -1 && i3417:0 > 0 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11301[LinkedList$Entry.previous]o11299:0 > 0 && o11301[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11302[LinkedList$Entry.previous]o11302:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11301[LinkedList$Entry.next]o11302:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 && o11300[LinkedList$Entry.previous]o11302:0 > 0 && o11301[LinkedList$Entry.previous]o11302:0 > 0 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (9) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f7319_0_createList_LE(i3417:0, o11302[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, i3452:0, i3402:0) -> f7319_0_createList_LE(i3417:0 - 1, o13150[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, 4, o16204[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, 1, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, 1, o16204[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0, i3452:0, i3402:0 + 1) :|: i3452:0 > -1 && i3417:0 > 0 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11300[LinkedList$Entry.previous]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 33.97/10.29 f7319_0_createList_LE(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17) -> f7319_0_createList_LE(x - 1, x18, x2, x3, x4, x5, x6, x19, x8, x20, x10, x11, x21, x22, x23, x24, x16, x17 + 1) :|: x16 > -1 && x > 0 && x16 > x17 && x17 > -1 && x4 > 0 && x3 > 0 && x10 > 0 && x11 > 0 && x6 > 0 && x5 > 0 && x15 > 0 && x7 > 0 && x9 > 0 && x12 > 0 && x1 > 0 && x14 > 0 && x13 > 0 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (10) IRSFormatTransformerProof (EQUIVALENT) 33.97/10.29 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (11) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f7319_0_createList_LE(i3417:0, o11302[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, i3452:0, i3402:0) -> f7319_0_createList_LE(arith, o13150[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, 4, o16204[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, 1, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, 1, o16204[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0, i3452:0, arith1) :|: i3452:0 > -1 && i3417:0 > 0 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11300[LinkedList$Entry.previous]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 && arith = i3417:0 - 1 && arith1 = i3402:0 + 1 33.97/10.29 f7319_0_createList_LE(x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42) -> f7319_0_createList_LE(x43, x44, x27, x28, x29, x30, x31, x45, x33, x46, x35, x36, x47, x48, x49, x50, x41, x51) :|: x41 > -1 && x25 > 0 && x41 > x42 && x42 > -1 && x29 > 0 && x28 > 0 && x35 > 0 && x36 > 0 && x31 > 0 && x30 > 0 && x40 > 0 && x32 > 0 && x34 > 0 && x37 > 0 && x26 > 0 && x39 > 0 && x38 > 0 && x43 = x25 - 1 && x51 = x42 + 1 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (12) IRSwTTerminationDigraphProof (EQUIVALENT) 33.97/10.29 Constructed termination digraph! 33.97/10.29 Nodes: 33.97/10.29 (1) f7319_0_createList_LE(i3417:0, o11302[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, i3452:0, i3402:0) -> f7319_0_createList_LE(arith, o13150[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, 4, o16204[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, 1, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, 1, o16204[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0, i3452:0, arith1) :|: i3452:0 > -1 && i3417:0 > 0 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11300[LinkedList$Entry.previous]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 && arith = i3417:0 - 1 && arith1 = i3402:0 + 1 33.97/10.29 (2) f7319_0_createList_LE(x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42) -> f7319_0_createList_LE(x43, x44, x27, x28, x29, x30, x31, x45, x33, x46, x35, x36, x47, x48, x49, x50, x41, x51) :|: x41 > -1 && x25 > 0 && x41 > x42 && x42 > -1 && x29 > 0 && x28 > 0 && x35 > 0 && x36 > 0 && x31 > 0 && x30 > 0 && x40 > 0 && x32 > 0 && x34 > 0 && x37 > 0 && x26 > 0 && x39 > 0 && x38 > 0 && x43 = x25 - 1 && x51 = x42 + 1 33.97/10.29 33.97/10.29 Arcs: 33.97/10.29 (1) -> (2) 33.97/10.29 (2) -> (1), (2) 33.97/10.29 33.97/10.29 This digraph is fully evaluated! 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (13) 33.97/10.29 Obligation: 33.97/10.29 33.97/10.29 Termination digraph: 33.97/10.29 Nodes: 33.97/10.29 (1) f7319_0_createList_LE(i3417:0, o11302[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, o11301[LinkedList$Entry.next]o11301:0, o11301[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, o11301[LinkedList$Entry.next]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, o11300[LinkedList$Entry.previous]o11301:0, o11302[LinkedList$Entry.previous]o11301:0, i3452:0, i3402:0) -> f7319_0_createList_LE(arith, o13150[LinkedList$Entry.previous]o11300:0, o11302[LinkedList$Entry.previous]o11300:0, 4, o16204[LinkedList$Entry.next]o11299:0, o11300[LinkedList$Entry.previous]o11300:0, o11300[LinkedList$Entry.previous]o11299:0, o13150[LinkedList$Entry.previous]o11299:0, o11300[LinkedList$Entry.previous]o11301:0, 1, o11302[LinkedList$Entry.previous]o11299:0, o11302[LinkedList$Entry.previous]o11301:0, 1, o16204[LinkedList$Entry.previous]o13150:0, o11300[LinkedList$Entry.previous]o13150:0, o13150[LinkedList$Entry.previous]o13150:0, i3452:0, arith1) :|: i3452:0 > -1 && i3417:0 > 0 && i3452:0 > i3402:0 && i3402:0 > -1 && o11301[LinkedList$Entry.next]o11299:0 > 0 && o11301[LinkedList$Entry.next]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0 > 0 && o11300[LinkedList$Entry.previous]o11301:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0 > 0 && arith = i3417:0 - 1 && arith1 = i3402:0 + 1 33.97/10.29 (2) f7319_0_createList_LE(x25, x26, x27, x28, x29, x30, x31, x32, x33, x34, x35, x36, x37, x38, x39, x40, x41, x42) -> f7319_0_createList_LE(x43, x44, x27, x28, x29, x30, x31, x45, x33, x46, x35, x36, x47, x48, x49, x50, x41, x51) :|: x41 > -1 && x25 > 0 && x41 > x42 && x42 > -1 && x29 > 0 && x28 > 0 && x35 > 0 && x36 > 0 && x31 > 0 && x30 > 0 && x40 > 0 && x32 > 0 && x34 > 0 && x37 > 0 && x26 > 0 && x39 > 0 && x38 > 0 && x43 = x25 - 1 && x51 = x42 + 1 33.97/10.29 33.97/10.29 Arcs: 33.97/10.29 (1) -> (2) 33.97/10.29 (2) -> (1), (2) 33.97/10.29 33.97/10.29 This digraph is fully evaluated! 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (14) IntTRSCompressionProof (EQUIVALENT) 33.97/10.29 Compressed rules. 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (15) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f7319_0_createList_LE(x25:0, x26:0, x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0, x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0, x41:0, x42:0) -> f7319_0_createList_LE(x25:0 - 1, x44:0, x27:0, x28:0, x29:0, x30:0, x31:0, x45:0, x33:0, x46:0, x35:0, x36:0, x47:0, x48:0, x49:0, x50:0, x41:0, x42:0 + 1) :|: x39:0 > 0 && x38:0 > 0 && x26:0 > 0 && x37:0 > 0 && x34:0 > 0 && x32:0 > 0 && x40:0 > 0 && x30:0 > 0 && x31:0 > 0 && x36:0 > 0 && x35:0 > 0 && x28:0 > 0 && x29:0 > 0 && x42:0 > -1 && x42:0 < x41:0 && x25:0 > 0 && x41:0 > -1 33.97/10.29 f7319_0_createList_LE(i3417:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11301[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, i3452:0:0, i3402:0:0) -> f7319_0_createList_LE(i3417:0:0 - 1, o13150[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, 4, o16204[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o13150[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, 1, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, 1, o16204[LinkedList$Entry.previous]o13150:0:0, o11300[LinkedList$Entry.previous]o13150:0:0, o13150[LinkedList$Entry.previous]o13150:0:0, i3452:0:0, i3402:0:0 + 1) :|: o11300[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0:0 > 0 && o11301[LinkedList$Entry.next]o11301:0:0 > 0 && o11301[LinkedList$Entry.next]o11299:0:0 > 0 && i3402:0:0 > -1 && i3452:0:0 > i3402:0:0 && i3417:0:0 > 0 && i3452:0:0 > -1 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (16) TempFilterProof (SOUND) 33.97/10.29 Used the following sort dictionary for filtering: 33.97/10.29 f7319_0_createList_LE(INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER) 33.97/10.29 Replaced non-predefined constructor symbols by 0. 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (17) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f7319_0_createList_LE(x25:0, x26:0, x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0, x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0, x41:0, x42:0) -> f7319_0_createList_LE(c, x44:0, x27:0, x28:0, x29:0, x30:0, x31:0, x45:0, x33:0, x46:0, x35:0, x36:0, x47:0, x48:0, x49:0, x50:0, x41:0, c1) :|: c1 = x42:0 + 1 && c = x25:0 - 1 && (x39:0 > 0 && x38:0 > 0 && x26:0 > 0 && x37:0 > 0 && x34:0 > 0 && x32:0 > 0 && x40:0 > 0 && x30:0 > 0 && x31:0 > 0 && x36:0 > 0 && x35:0 > 0 && x28:0 > 0 && x29:0 > 0 && x42:0 > -1 && x42:0 < x41:0 && x25:0 > 0 && x41:0 > -1) 33.97/10.29 f7319_0_createList_LE(i3417:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11301[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, i3452:0:0, i3402:0:0) -> f7319_0_createList_LE(c2, o13150[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, c3, o16204[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o13150[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, c4, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, c5, o16204[LinkedList$Entry.previous]o13150:0:0, o11300[LinkedList$Entry.previous]o13150:0:0, o13150[LinkedList$Entry.previous]o13150:0:0, i3452:0:0, c6) :|: c6 = i3402:0:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = i3417:0:0 - 1))) && (o11300[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0:0 > 0 && o11301[LinkedList$Entry.next]o11301:0:0 > 0 && o11301[LinkedList$Entry.next]o11299:0:0 > 0 && i3402:0:0 > -1 && i3452:0:0 > i3402:0:0 && i3417:0:0 > 0 && i3452:0:0 > -1) 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (18) PolynomialOrderProcessor (EQUIVALENT) 33.97/10.29 Found the following polynomial interpretation: 33.97/10.29 [f7319_0_createList_LE(x, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15, x16, x17)] = 3*x + x3 33.97/10.29 33.97/10.29 The following rules are decreasing: 33.97/10.29 f7319_0_createList_LE(x25:0, x26:0, x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0, x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0, x41:0, x42:0) -> f7319_0_createList_LE(c, x44:0, x27:0, x28:0, x29:0, x30:0, x31:0, x45:0, x33:0, x46:0, x35:0, x36:0, x47:0, x48:0, x49:0, x50:0, x41:0, c1) :|: c1 = x42:0 + 1 && c = x25:0 - 1 && (x39:0 > 0 && x38:0 > 0 && x26:0 > 0 && x37:0 > 0 && x34:0 > 0 && x32:0 > 0 && x40:0 > 0 && x30:0 > 0 && x31:0 > 0 && x36:0 > 0 && x35:0 > 0 && x28:0 > 0 && x29:0 > 0 && x42:0 > -1 && x42:0 < x41:0 && x25:0 > 0 && x41:0 > -1) 33.97/10.29 The following rules are bounded: 33.97/10.29 f7319_0_createList_LE(x25:0, x26:0, x27:0, x28:0, x29:0, x30:0, x31:0, x32:0, x33:0, x34:0, x35:0, x36:0, x37:0, x38:0, x39:0, x40:0, x41:0, x42:0) -> f7319_0_createList_LE(c, x44:0, x27:0, x28:0, x29:0, x30:0, x31:0, x45:0, x33:0, x46:0, x35:0, x36:0, x47:0, x48:0, x49:0, x50:0, x41:0, c1) :|: c1 = x42:0 + 1 && c = x25:0 - 1 && (x39:0 > 0 && x38:0 > 0 && x26:0 > 0 && x37:0 > 0 && x34:0 > 0 && x32:0 > 0 && x40:0 > 0 && x30:0 > 0 && x31:0 > 0 && x36:0 > 0 && x35:0 > 0 && x28:0 > 0 && x29:0 > 0 && x42:0 > -1 && x42:0 < x41:0 && x25:0 > 0 && x41:0 > -1) 33.97/10.29 f7319_0_createList_LE(i3417:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11301[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, i3452:0:0, i3402:0:0) -> f7319_0_createList_LE(c2, o13150[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, c3, o16204[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o13150[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, c4, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, c5, o16204[LinkedList$Entry.previous]o13150:0:0, o11300[LinkedList$Entry.previous]o13150:0:0, o13150[LinkedList$Entry.previous]o13150:0:0, i3452:0:0, c6) :|: c6 = i3402:0:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = i3417:0:0 - 1))) && (o11300[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0:0 > 0 && o11301[LinkedList$Entry.next]o11301:0:0 > 0 && o11301[LinkedList$Entry.next]o11299:0:0 > 0 && i3402:0:0 > -1 && i3452:0:0 > i3402:0:0 && i3417:0:0 > 0 && i3452:0:0 > -1) 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (19) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f7319_0_createList_LE(i3417:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11301[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, i3452:0:0, i3402:0:0) -> f7319_0_createList_LE(c2, o13150[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, c3, o16204[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o13150[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, c4, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, c5, o16204[LinkedList$Entry.previous]o13150:0:0, o11300[LinkedList$Entry.previous]o13150:0:0, o13150[LinkedList$Entry.previous]o13150:0:0, i3452:0:0, c6) :|: c6 = i3402:0:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = i3417:0:0 - 1))) && (o11300[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0:0 > 0 && o11301[LinkedList$Entry.next]o11301:0:0 > 0 && o11301[LinkedList$Entry.next]o11299:0:0 > 0 && i3402:0:0 > -1 && i3452:0:0 > i3402:0:0 && i3417:0:0 > 0 && i3452:0:0 > -1) 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (20) RankingReductionPairProof (EQUIVALENT) 33.97/10.29 Interpretation: 33.97/10.29 [ f7319_0_createList_LE ] = f7319_0_createList_LE_1 33.97/10.29 33.97/10.29 The following rules are decreasing: 33.97/10.29 f7319_0_createList_LE(i3417:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11301[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, i3452:0:0, i3402:0:0) -> f7319_0_createList_LE(c2, o13150[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, c3, o16204[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o13150[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, c4, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, c5, o16204[LinkedList$Entry.previous]o13150:0:0, o11300[LinkedList$Entry.previous]o13150:0:0, o13150[LinkedList$Entry.previous]o13150:0:0, i3452:0:0, c6) :|: c6 = i3402:0:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = i3417:0:0 - 1))) && (o11300[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0:0 > 0 && o11301[LinkedList$Entry.next]o11301:0:0 > 0 && o11301[LinkedList$Entry.next]o11299:0:0 > 0 && i3402:0:0 > -1 && i3452:0:0 > i3402:0:0 && i3417:0:0 > 0 && i3452:0:0 > -1) 33.97/10.29 33.97/10.29 The following rules are bounded: 33.97/10.29 f7319_0_createList_LE(i3417:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11301[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11301[LinkedList$Entry.next]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, i3452:0:0, i3402:0:0) -> f7319_0_createList_LE(c2, o13150[LinkedList$Entry.previous]o11300:0:0, o11302[LinkedList$Entry.previous]o11300:0:0, c3, o16204[LinkedList$Entry.next]o11299:0:0, o11300[LinkedList$Entry.previous]o11300:0:0, o11300[LinkedList$Entry.previous]o11299:0:0, o13150[LinkedList$Entry.previous]o11299:0:0, o11300[LinkedList$Entry.previous]o11301:0:0, c4, o11302[LinkedList$Entry.previous]o11299:0:0, o11302[LinkedList$Entry.previous]o11301:0:0, c5, o16204[LinkedList$Entry.previous]o13150:0:0, o11300[LinkedList$Entry.previous]o13150:0:0, o13150[LinkedList$Entry.previous]o13150:0:0, i3452:0:0, c6) :|: c6 = i3402:0:0 + 1 && (c5 = 1 && (c4 = 1 && (c3 = 4 && c2 = i3417:0:0 - 1))) && (o11300[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11300:0:0 > 0 && o11300[LinkedList$Entry.previous]o11299:0:0 > 0 && o11302[LinkedList$Entry.previous]o11301:0:0 > 0 && o11302[LinkedList$Entry.previous]o11299:0:0 > 0 && o11301[LinkedList$Entry.next]o11301:0:0 > 0 && o11301[LinkedList$Entry.next]o11299:0:0 > 0 && i3402:0:0 > -1 && i3452:0:0 > i3402:0:0 && i3417:0:0 > 0 && i3452:0:0 > -1) 33.97/10.29 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (21) 33.97/10.29 YES 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (22) 33.97/10.29 Obligation: 33.97/10.29 SCC of termination graph based on JBC Program. 33.97/10.29 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 33.97/10.29 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 33.97/10.29 Performed SCC analyses: 33.97/10.29 *Used field analysis yielded the following read fields: 33.97/10.29 *javaUtilEx.LinkedList$Entry: [element, next] 33.97/10.29 *javaUtilEx.LinkedList: [header] 33.97/10.29 *Marker field analysis yielded the following relations that could be markers: 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (23) SCCToIRSProof (SOUND) 33.97/10.29 Transformed FIGraph SCCs to intTRSs. Log: 33.97/10.29 Generated rules. Obtained 65 IRulesP rules: 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(o17832sub2127389552))), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) -> f8597_0_remove_Load(EOS(STATIC_8597), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) :|: TRUE 33.97/10.29 f8597_0_remove_Load(EOS(STATIC_8597), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) -> f8608_0_remove_Load(EOS(STATIC_8608), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17833sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) :|: TRUE 33.97/10.29 f8608_0_remove_Load(EOS(STATIC_8608), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17833sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) -> f8618_0_remove_FieldAccess(EOS(STATIC_8618), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) :|: TRUE 33.97/10.29 f8618_0_remove_FieldAccess(EOS(STATIC_8618), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) -> f8628_0_remove_FieldAccess(EOS(STATIC_8628), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) :|: o17832[LinkedList$Entry.next]o17834 > 0 && o17834[LinkedList$Entry.next]o17832 > 0 33.97/10.29 f8618_0_remove_FieldAccess(EOS(STATIC_8618), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o18838sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o18838sub0), java.lang.Object(o17833sub0), java.lang.Object(o18838sub0), o18838[LinkedList$Entry.next]o18838, o18838[LinkedList$Entry.next]o17830, o18838[LinkedList$Entry.next]o18838, o18838[LinkedList$Entry.next]o17830) -> f8629_0_remove_FieldAccess(EOS(STATIC_8629), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o18838sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o18838sub0), java.lang.Object(o17833sub0), java.lang.Object(o18838sub0), o18838[LinkedList$Entry.next]o17830, o18838[LinkedList$Entry.next]o18838) :|: TRUE 33.97/10.29 f8628_0_remove_FieldAccess(EOS(STATIC_8628), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), o17832[LinkedList$Entry.next]o18883, o17832[LinkedList$Entry.next]o17830, o18883[LinkedList$Entry.next]o17830, o18883[LinkedList$Entry.next]o17832) -> f8639_0_remove_FieldAccess(EOS(STATIC_8639), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: o18885[LinkedList$Entry.next]o17830 < o18883[LinkedList$Entry.next]o17830 && o18883[LinkedList$Entry.next]o17830 >= 0 && o18885[LinkedList$Entry.next]o17832 < o18883[LinkedList$Entry.next]o17832 && o18883[LinkedList$Entry.next]o17832 >= 0 33.97/10.29 f8639_0_remove_FieldAccess(EOS(STATIC_8639), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8650_0_remove_InvokeMethod(EOS(STATIC_8650), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o17833sub0), o188840, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8650_0_remove_InvokeMethod(EOS(STATIC_8650), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o17833sub0), o188840, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8661_0_equals_Load(EOS(STATIC_8661), java.lang.Object(o17833sub0), o188840, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(o17832sub2127389552))), java.lang.Object(o17832sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o18885sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), o188840, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: i4732 > 1 && i3151 >= 1 33.97/10.29 f8650_0_remove_InvokeMethod(EOS(STATIC_8650), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o17833sub0), o188840, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8661_1_equals_Load(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o17833sub0), o188840, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: i4732 > 1 && i3151 >= 1 33.97/10.29 f8661_0_equals_Load(EOS(STATIC_8661), java.lang.Object(o17833sub0), o188840, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(o17832sub2127389552))), java.lang.Object(o17832sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o18885sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), o188840, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f9252_0_equals_Load(EOS(STATIC_9252), java.lang.Object(o17833sub0), o188840, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(o17832sub2127389552))), java.lang.Object(o17832sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971, java.lang.Object(o18885sub2128317971))), java.lang.Object(o18885sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), o188840, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8739_0_equals_Return(EOS(STATIC_8739), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19785sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18885sub2128317971))), matching1, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8741_0_equals_Return(EOS(STATIC_8741), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19785sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18885sub2128317971))), 0, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE && matching1 = 0 33.97/10.29 f8741_0_equals_Return(EOS(STATIC_8741), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20060-2145649367, java.lang.Object(o20061sub-2145649367))), matching1, o20057[LinkedList$Entry.next]o20055, o20057[LinkedList$Entry.next]o20059, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) -> f8759_0_remove_EQ(EOS(STATIC_8759), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20060-2145649367, java.lang.Object(o20061sub-2145649367))), 0, o20057[LinkedList$Entry.next]o20055, o20057[LinkedList$Entry.next]o20059, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) :|: TRUE && matching1 = 0 33.97/10.29 f8759_0_remove_EQ(EOS(STATIC_8759), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20060-2145649367, java.lang.Object(o20061sub-2145649367))), matching1, o20057[LinkedList$Entry.next]o20055, o20057[LinkedList$Entry.next]o20059, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) -> f8776_0_remove_Load(EOS(STATIC_8776), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20060-2145649367, java.lang.Object(o20061sub-2145649367))), o20057[LinkedList$Entry.next]o20055, o20057[LinkedList$Entry.next]o20059, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) :|: TRUE && matching1 = 0 33.97/10.29 f8776_0_remove_Load(EOS(STATIC_8776), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20060-2145649367, java.lang.Object(o20061sub-2145649367))), o20057[LinkedList$Entry.next]o20055, o20057[LinkedList$Entry.next]o20059, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) -> f8795_0_remove_FieldAccess(EOS(STATIC_8795), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20060-2145649367, java.lang.Object(o20061sub-2145649367))), o20057[LinkedList$Entry.next]o20055, o20057[LinkedList$Entry.next]o20059, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) :|: TRUE 33.97/10.29 f8795_0_remove_FieldAccess(EOS(STATIC_8795), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20060-2145649367, java.lang.Object(o20061sub-2145649367))), o20057[LinkedList$Entry.next]o20055, o20057[LinkedList$Entry.next]o20059, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) -> f8810_0_remove_Store(EOS(STATIC_8810), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(o20061sub0), o20057[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057, o20057[LinkedList$Entry.next]o20061) :|: o20057[LinkedList$Entry.next]o20061 > o20057[LinkedList$Entry.next]o20059 && o20057[LinkedList$Entry.next]o20059 >= 0 33.97/10.29 f8810_0_remove_Store(EOS(STATIC_8810), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(o20061sub0), o20057[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057, o20057[LinkedList$Entry.next]o20061) -> f8828_0_remove_JMP(EOS(STATIC_8828), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(o20061sub0), o20057[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057, o20057[LinkedList$Entry.next]o20061) :|: TRUE 33.97/10.29 f8828_0_remove_JMP(EOS(STATIC_8828), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(o20061sub0), o20057[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057, o20057[LinkedList$Entry.next]o20061) -> f8847_0_remove_Load(EOS(STATIC_8847), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(o20061sub0), o20057[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057, o20057[LinkedList$Entry.next]o20061) :|: TRUE 33.97/10.29 f8847_0_remove_Load(EOS(STATIC_8847), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(o20061sub0), o20057[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057, o20057[LinkedList$Entry.next]o20061) -> f8521_0_remove_Load(EOS(STATIC_8521), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200563668283, java.lang.Object(o20057sub3668283)))))))), java.lang.Object(o20058sub0), java.lang.Object(o20061sub0), o20057[LinkedList$Entry.next]o20061, o20057[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20055, o20061[LinkedList$Entry.next]o20057) :|: TRUE 33.97/10.29 f8521_0_remove_Load(EOS(STATIC_8521), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) -> f8536_0_remove_Load(EOS(STATIC_8536), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8536_0_remove_Load(EOS(STATIC_8536), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) -> f8550_0_remove_FieldAccess(EOS(STATIC_8550), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8550_0_remove_FieldAccess(EOS(STATIC_8550), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) -> f8567_0_remove_EQ(EOS(STATIC_8567), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(o17832sub2127389552))), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8567_0_remove_EQ(EOS(STATIC_8567), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(o17832sub2127389552))), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832) -> f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o17833sub0), java.lang.Object(o17834sub0), java.lang.Object(o17834sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(o17832sub2127389552))), o17832[LinkedList$Entry.next]o17834, o17832[LinkedList$Entry.next]o17830, o17834[LinkedList$Entry.next]o17832, o17834[LinkedList$Entry.next]o17830) :|: o17834[LinkedList$Entry.next]o17830 > 0 33.97/10.29 f8740_0_equals_Return(EOS(STATIC_8740), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19798sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19800sub2128317971), java.lang.Object(o18885sub2128317971))), matching1, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8741_0_equals_Return(EOS(STATIC_8741), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19798sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19800sub2128317971), java.lang.Object(o18885sub2128317971))), 0, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE && matching1 = 0 33.97/10.29 f8742_0_equals_Return(EOS(STATIC_8742), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), matching1, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8744_0_equals_Return(EOS(STATIC_8744), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), 0, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE && matching1 = 0 33.97/10.29 f8744_0_equals_Return(EOS(STATIC_8744), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), i5197, o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) -> f8760_0_remove_EQ(EOS(STATIC_8760), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), i5197, o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) :|: TRUE 33.97/10.29 f8760_0_remove_EQ(EOS(STATIC_8760), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), matching1, o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) -> f8778_0_remove_EQ(EOS(STATIC_8778), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), 0, o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) :|: TRUE && matching1 = 0 33.97/10.29 f8778_0_remove_EQ(EOS(STATIC_8778), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), matching1, o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) -> f8797_0_remove_Load(EOS(STATIC_8797), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) :|: TRUE && matching1 = 0 33.97/10.29 f8797_0_remove_Load(EOS(STATIC_8797), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) -> f8812_0_remove_FieldAccess(EOS(STATIC_8812), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) :|: TRUE 33.97/10.29 f8812_0_remove_FieldAccess(EOS(STATIC_8812), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub-2145645647))), o20093[LinkedList$Entry.next]o20091, o20093[LinkedList$Entry.next]o20095, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) -> f8830_0_remove_Store(EOS(STATIC_8830), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0), o20093[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093, o20093[LinkedList$Entry.next]o20097) :|: o20093[LinkedList$Entry.next]o20097 > o20093[LinkedList$Entry.next]o20095 && o20093[LinkedList$Entry.next]o20095 >= 0 33.97/10.29 f8830_0_remove_Store(EOS(STATIC_8830), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0), o20093[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093, o20093[LinkedList$Entry.next]o20097) -> f8849_0_remove_JMP(EOS(STATIC_8849), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0), o20093[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093, o20093[LinkedList$Entry.next]o20097) :|: TRUE 33.97/10.29 f8849_0_remove_JMP(EOS(STATIC_8849), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0), o20093[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093, o20093[LinkedList$Entry.next]o20097) -> f8858_0_remove_Load(EOS(STATIC_8858), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0), o20093[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093, o20093[LinkedList$Entry.next]o20097) :|: TRUE 33.97/10.29 f8858_0_remove_Load(EOS(STATIC_8858), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0), o20093[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093, o20093[LinkedList$Entry.next]o20097) -> f8521_0_remove_Load(EOS(STATIC_8521), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200923675723, java.lang.Object(o20093sub3675723)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0), o20093[LinkedList$Entry.next]o20097, o20093[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20091, o20097[LinkedList$Entry.next]o20093) :|: TRUE 33.97/10.29 f8743_0_equals_Return(EOS(STATIC_8743), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), matching1, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8744_0_equals_Return(EOS(STATIC_8744), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), 1, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE && matching1 = 1 33.97/10.29 f8629_0_remove_FieldAccess(EOS(STATIC_8629), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), o18887[LinkedList$Entry.next]o17830, o18887[LinkedList$Entry.next]o18887) -> f8640_0_remove_FieldAccess(EOS(STATIC_8640), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: o18889[LinkedList$Entry.next]o17830 < o18887[LinkedList$Entry.next]o17830 && o18887[LinkedList$Entry.next]o17830 >= 0 && o18889[LinkedList$Entry.next]o18887 < o18887[LinkedList$Entry.next]o18887 && o18887[LinkedList$Entry.next]o18887 >= 0 33.97/10.29 f8640_0_remove_FieldAccess(EOS(STATIC_8640), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8651_0_remove_InvokeMethod(EOS(STATIC_8651), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o17833sub0), o188880, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE 33.97/10.29 f8651_0_remove_InvokeMethod(EOS(STATIC_8651), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o17833sub0), o188880, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8662_0_equals_Load(EOS(STATIC_8662), java.lang.Object(o17833sub0), o188880, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18888-39259649, java.lang.Object(o18889sub-39259649))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o18889sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), o188880, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: i4732 > 1 && i3151 >= 1 33.97/10.29 f8651_0_remove_InvokeMethod(EOS(STATIC_8651), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o17833sub0), o188880, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8662_1_equals_Load(EOS(STATIC_8662), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o17833sub0), o188880, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: i4732 > 1 && i3151 >= 1 33.97/10.29 f8662_0_equals_Load(EOS(STATIC_8662), java.lang.Object(o17833sub0), o188880, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18888-39259649, java.lang.Object(o18889sub-39259649))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o18889sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), o188880, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f9332_0_equals_Load(EOS(STATIC_9332), java.lang.Object(o17833sub0), o188880, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18888-39259649, java.lang.Object(o18889sub-39259649))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095, java.lang.Object(o18889sub2128318095))), java.lang.Object(o18889sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o17833sub0), o188880, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE 33.97/10.29 f8746_0_equals_Return(EOS(STATIC_8746), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19866sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2128318095))), matching1, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8748_0_equals_Return(EOS(STATIC_8748), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19866sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2128318095))), 0, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE && matching1 = 0 33.97/10.29 f8748_0_equals_Return(EOS(STATIC_8748), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2145622521, java.lang.Object(o20129sub-2145622521))), matching1, o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) -> f8761_0_remove_EQ(EOS(STATIC_8761), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2145622521, java.lang.Object(o20129sub-2145622521))), 0, o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) :|: TRUE && matching1 = 0 33.97/10.29 f8761_0_remove_EQ(EOS(STATIC_8761), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2145622521, java.lang.Object(o20129sub-2145622521))), matching1, o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) -> f8779_0_remove_Load(EOS(STATIC_8779), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2145622521, java.lang.Object(o20129sub-2145622521))), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) :|: TRUE && matching1 = 0 33.97/10.29 f8779_0_remove_Load(EOS(STATIC_8779), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2145622521, java.lang.Object(o20129sub-2145622521))), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) -> f8798_0_remove_FieldAccess(EOS(STATIC_8798), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2145622521, java.lang.Object(o20129sub-2145622521))), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) :|: TRUE 33.97/10.29 f8798_0_remove_FieldAccess(EOS(STATIC_8798), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2145622521, java.lang.Object(o20129sub-2145622521))), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) -> f8813_0_remove_Store(EOS(STATIC_8813), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(o20129sub0), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) :|: TRUE 33.97/10.29 f8813_0_remove_Store(EOS(STATIC_8813), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(o20129sub0), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) -> f8831_0_remove_JMP(EOS(STATIC_8831), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(o20129sub0), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) :|: TRUE 33.97/10.29 f8831_0_remove_JMP(EOS(STATIC_8831), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(o20129sub0), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) -> f8850_0_remove_Load(EOS(STATIC_8850), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(o20129sub0), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) :|: TRUE 33.97/10.29 f8850_0_remove_Load(EOS(STATIC_8850), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(o20129sub0), o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) -> f8521_0_remove_Load(EOS(STATIC_8521), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201263722099, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20128-2141900422, java.lang.Object(o20129sub-2141900422)))))))))), java.lang.Object(o20131sub0), java.lang.Object(o20129sub0), o20127[LinkedList$Entry.next]o20129, o20127[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20125, o20129[LinkedList$Entry.next]o20127) :|: o20127[LinkedList$Entry.next]o20129 = 1 33.97/10.29 f8747_0_equals_Return(EOS(STATIC_8747), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2088129221), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2128318095), java.lang.Object(o18889sub2128318095))), matching1, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8748_0_equals_Return(EOS(STATIC_8748), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2088129221), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2128318095), java.lang.Object(o18889sub2128318095))), 0, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE && matching1 = 0 33.97/10.29 f8749_0_equals_Return(EOS(STATIC_8749), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), matching1, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8751_0_equals_Return(EOS(STATIC_8751), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), 0, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE && matching1 = 0 33.97/10.29 f8751_0_equals_Return(EOS(STATIC_8751), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), i5217, o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8762_0_remove_EQ(EOS(STATIC_8762), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), i5217, o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: TRUE 33.97/10.29 f8762_0_remove_EQ(EOS(STATIC_8762), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), matching1, o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8781_0_remove_EQ(EOS(STATIC_8781), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), 0, o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: TRUE && matching1 = 0 33.97/10.29 f8781_0_remove_EQ(EOS(STATIC_8781), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), matching1, o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8800_0_remove_Load(EOS(STATIC_8800), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: TRUE && matching1 = 0 33.97/10.29 f8800_0_remove_Load(EOS(STATIC_8800), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8815_0_remove_FieldAccess(EOS(STATIC_8815), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: TRUE 33.97/10.29 f8815_0_remove_FieldAccess(EOS(STATIC_8815), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2145619700))), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8833_0_remove_Store(EOS(STATIC_8833), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: TRUE 33.97/10.29 f8833_0_remove_Store(EOS(STATIC_8833), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8852_0_remove_JMP(EOS(STATIC_8852), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: TRUE 33.97/10.29 f8852_0_remove_JMP(EOS(STATIC_8852), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8859_0_remove_Load(EOS(STATIC_8859), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: TRUE 33.97/10.29 f8859_0_remove_Load(EOS(STATIC_8859), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0), o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) -> f8521_0_remove_Load(EOS(STATIC_8521), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o201543727741, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub-2141891959)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0), o20155[LinkedList$Entry.next]o20157, o20155[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20153, o20157[LinkedList$Entry.next]o20155) :|: o20155[LinkedList$Entry.next]o20157 = 1 33.97/10.29 f8750_0_equals_Return(EOS(STATIC_8750), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), matching1, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8751_0_equals_Return(EOS(STATIC_8751), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), 1, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE && matching1 = 1 33.97/10.29 f8661_1_equals_Load(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19785sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18885sub2128317971))), java.lang.Object(o19785sub0), NULL, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8739_0_equals_Return(EOS(STATIC_8739), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19785sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18885sub2128317971))), 0, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8661_1_equals_Load(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19798sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19800sub2128317971), java.lang.Object(o18885sub2128317971))), java.lang.Object(o19798sub0), java.lang.Object(o19800sub0), o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8740_0_equals_Return(EOS(STATIC_8740), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(o19798sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19800sub2128317971), java.lang.Object(o18885sub2128317971))), 0, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8661_1_equals_Load(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8742_0_equals_Return(EOS(STATIC_8742), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), 0, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8661_1_equals_Load(EOS(STATIC_8661), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) -> f8743_0_equals_Return(EOS(STATIC_8743), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(o17832sub-40188874)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971))), 1, o17832[LinkedList$Entry.next]o17830, o17832[LinkedList$Entry.next]o18883, o18885[LinkedList$Entry.next]o17830, o18885[LinkedList$Entry.next]o17832) :|: TRUE 33.97/10.29 f8662_1_equals_Load(EOS(STATIC_8662), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19866sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2128318095))), java.lang.Object(o19866sub0), NULL, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8746_0_equals_Return(EOS(STATIC_8746), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19866sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2128318095))), 0, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE 33.97/10.29 f8662_1_equals_Load(EOS(STATIC_8662), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2088129221), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2128318095), java.lang.Object(o18889sub2128318095))), java.lang.Object(o19878sub0), java.lang.Object(o19880sub0), o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8747_0_equals_Return(EOS(STATIC_8747), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2088129221), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(o19878sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2128318095), java.lang.Object(o18889sub2128318095))), 0, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE 33.97/10.29 f8662_1_equals_Load(EOS(STATIC_8662), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8749_0_equals_Return(EOS(STATIC_8749), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), 0, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE 33.97/10.29 f8662_1_equals_Load(EOS(STATIC_8662), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) -> f8750_0_equals_Return(EOS(STATIC_8750), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095))), 1, o18889[LinkedList$Entry.next]o17830, o18889[LinkedList$Entry.next]o18887) :|: TRUE 33.97/10.29 Combined rules. Obtained 8 IRulesP rules: 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0) -> f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20097sub0:0), java.lang.Object(o20097sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(o17832sub2127389552:1))), o20093[LinkedList$Entry.next]o20097:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0) :|: o17834[LinkedList$Entry.next]o17832:0 > 0 && o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && o20093[LinkedList$Entry.next]o20097:0 > o17832[LinkedList$Entry.next]o17834:0 && i3151:0 > 0 && o18885[LinkedList$Entry.next]o17830:0 > 0 && i4732:0 > 1 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0) -> f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20129sub0:0), java.lang.Object(o20129sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(o17832sub2127389552:1))), 1, o20127[LinkedList$Entry.next]o20125:0, o18889[LinkedList$Entry.next]o18887:0, o18889[LinkedList$Entry.next]o17830:0) :|: o17832[LinkedList$Entry.next]o17830:0 > -1 && o18889[LinkedList$Entry.next]o17830:0 < o17832[LinkedList$Entry.next]o17830:0 && o18889[LinkedList$Entry.next]o18887:0 < o17832[LinkedList$Entry.next]o17834:0 && o17832[LinkedList$Entry.next]o17834:0 > -1 && i3151:0 > 0 && o18889[LinkedList$Entry.next]o17830:0 > 0 && i4732:0 > 1 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2088129221:0), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2128318095:0), java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2128318095:0), java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0) -> f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19880sub2088129221:0), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20129sub0:0), java.lang.Object(o20129sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(o17832sub2127389552:1))), 1, o20127[LinkedList$Entry.next]o20125:0, o18889[LinkedList$Entry.next]o18887:0, o18889[LinkedList$Entry.next]o17830:0) :|: o17832[LinkedList$Entry.next]o17830:0 > -1 && o18889[LinkedList$Entry.next]o17830:0 < o17832[LinkedList$Entry.next]o17830:0 && o18889[LinkedList$Entry.next]o18887:0 < o17832[LinkedList$Entry.next]o17834:0 && o17832[LinkedList$Entry.next]o17834:0 > -1 && i3151:0 > 0 && o18889[LinkedList$Entry.next]o17830:0 > 0 && i4732:0 > 1 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19800sub2128317971:0), java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19800sub2128317971:0), java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0) -> f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20061sub0:0), java.lang.Object(o20061sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(o17832sub2127389552:1))), o20057[LinkedList$Entry.next]o20061:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0) :|: o17834[LinkedList$Entry.next]o17832:0 > 0 && o17832[LinkedList$Entry.next]o17834:0 > 0 && o20057[LinkedList$Entry.next]o20061:0 > o17832[LinkedList$Entry.next]o17834:0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && i3151:0 > 0 && o18885[LinkedList$Entry.next]o17830:0 > 0 && i4732:0 > 1 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0) -> f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20157sub0:0), java.lang.Object(o20157sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(o17832sub2127389552:1))), 1, o20155[LinkedList$Entry.next]o20153:0, o18889[LinkedList$Entry.next]o18887:0, o18889[LinkedList$Entry.next]o17830:0) :|: o17832[LinkedList$Entry.next]o17830:0 > -1 && o18889[LinkedList$Entry.next]o17830:0 < o17832[LinkedList$Entry.next]o17830:0 && o18889[LinkedList$Entry.next]o18887:0 < o17832[LinkedList$Entry.next]o17834:0 && o17832[LinkedList$Entry.next]o17834:0 > -1 && i3151:0 > 0 && o18889[LinkedList$Entry.next]o17830:0 > 0 && i4732:0 > 1 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0) -> f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20061sub0:0), java.lang.Object(o20061sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(o17832sub2127389552:1))), o20057[LinkedList$Entry.next]o20061:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0) :|: o17834[LinkedList$Entry.next]o17832:0 > 0 && o17832[LinkedList$Entry.next]o17834:0 > 0 && o20057[LinkedList$Entry.next]o20061:0 > o17832[LinkedList$Entry.next]o17834:0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && i3151:0 > 0 && o18885[LinkedList$Entry.next]o17830:0 > 0 && i4732:0 > 1 33.97/10.29 Removed following non-SCC rules: 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971:0, java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971:0, java.lang.Object(o18885sub2128317971:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0) -> f9252_0_equals_Load(EOS(STATIC_9252), java.lang.Object(o17833sub0:0), o188840:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(o17832sub2127389552:1))), java.lang.Object(o17832sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188842128317971:0, java.lang.Object(o18885sub2128317971:0))), java.lang.Object(o18885sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), o188840:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o18885[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0) :|: o17834[LinkedList$Entry.next]o17832:0 > 0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && o17832[LinkedList$Entry.next]o17834:0 > 0 && i4732:0 > 1 && i3151:0 > 0 33.97/10.29 f8585_0_remove_EQ(EOS(STATIC_8585), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221:0, java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095:0, java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095:0, java.lang.Object(o18889sub2128318095:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:0, java.lang.Object(o17832sub2127389552:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0) -> f9332_0_equals_Load(EOS(STATIC_9332), java.lang.Object(o17833sub0:0), o188880:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o178312127389552:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18888-39259649:0, java.lang.Object(o18889sub-39259649:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882128318095:0, java.lang.Object(o18889sub2128318095:0))), java.lang.Object(o18889sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188882088129221:0, java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), o188880:0, o18889[LinkedList$Entry.next]o17830:0, o18889[LinkedList$Entry.next]o18887:0) :|: o17832[LinkedList$Entry.next]o17830:0 > -1 && o18889[LinkedList$Entry.next]o17830:0 < o17832[LinkedList$Entry.next]o17830:0 && o18889[LinkedList$Entry.next]o18887:0 < o17832[LinkedList$Entry.next]o17834:0 && o17832[LinkedList$Entry.next]o17834:0 > -1 && i4732:0 > 1 && i3151:0 > 0 33.97/10.29 Filtered constant ground arguments: 33.97/10.29 f8585_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8585_0_remove_EQ(x2, x3, x4, x5, x6, x7, x8, x9, x10) 33.97/10.29 EOS(x1) -> EOS 33.97/10.29 javaUtilEx.Content(x1) -> javaUtilEx.Content 33.97/10.29 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 33.97/10.29 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 33.97/10.29 Filtered duplicate arguments: 33.97/10.29 f8585_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8585_0_remove_EQ(x1, x2, x4, x5, x6, x7, x8, x9) 33.97/10.29 Filtered unneeded arguments: 33.97/10.29 f8585_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8585_0_remove_EQ(x1, x2, x3, x5, x6, x7, x8) 33.97/10.29 Finished conversion. Obtained 6 rules.P rules: 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18885sub2128317971:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20097sub0:0), o20093[LinkedList$Entry.next]o20097:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17832:0 > 0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && o20093[LinkedList$Entry.next]o20097:0 > o17832[LinkedList$Entry.next]o17834:0 && i3151:0 > 0 && i4732:0 > 1 && o18885[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18889sub2128318095:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20129sub0:0), 1, o20127[LinkedList$Entry.next]o20125:0, o18889[LinkedList$Entry.next]o18887:0, o18889[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o18889[LinkedList$Entry.next]o17830:0 < o17832[LinkedList$Entry.next]o17830:0 && o17832[LinkedList$Entry.next]o17830:0 > -1 && o18889[LinkedList$Entry.next]o18887:0 < o17832[LinkedList$Entry.next]o17834:0 && o17832[LinkedList$Entry.next]o17834:0 > -1 && i3151:0 > 0 && i4732:0 > 1 && o18889[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19880sub2088129221:0), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19880sub2128318095:0), java.lang.Object(o18889sub2128318095:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19880sub2088129221:0), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20129sub0:0), 1, o20127[LinkedList$Entry.next]o20125:0, o18889[LinkedList$Entry.next]o18887:0, o18889[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o18889[LinkedList$Entry.next]o17830:0 < o17832[LinkedList$Entry.next]o17830:0 && o17832[LinkedList$Entry.next]o17830:0 > -1 && o18889[LinkedList$Entry.next]o18887:0 < o17832[LinkedList$Entry.next]o17834:0 && o17832[LinkedList$Entry.next]o17834:0 > -1 && i3151:0 > 0 && i4732:0 > 1 && o18889[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19800sub2128317971:0), java.lang.Object(o18885sub2128317971:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20061sub0:0), o20057[LinkedList$Entry.next]o20061:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17832:0 > 0 && o20057[LinkedList$Entry.next]o20061:0 > o17832[LinkedList$Entry.next]o17834:0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && i3151:0 > 0 && i4732:0 > 1 && o18885[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18889sub2128318095:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18889sub2088129221:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20157sub0:0), 1, o20155[LinkedList$Entry.next]o20153:0, o18889[LinkedList$Entry.next]o18887:0, o18889[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o18889[LinkedList$Entry.next]o17830:0 < o17832[LinkedList$Entry.next]o17830:0 && o17832[LinkedList$Entry.next]o17830:0 > -1 && o18889[LinkedList$Entry.next]o18887:0 < o17832[LinkedList$Entry.next]o17834:0 && o17832[LinkedList$Entry.next]o17834:0 > -1 && i3151:0 > 0 && i4732:0 > 1 && o18889[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18885sub2128317971:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(o17833sub0:0), java.lang.Object(o20061sub0:0), o20057[LinkedList$Entry.next]o20061:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17832:0 > 0 && o20057[LinkedList$Entry.next]o20061:0 > o17832[LinkedList$Entry.next]o17834:0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && i3151:0 > 0 && i4732:0 > 1 && o18885[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (24) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18885sub2128317971:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20097sub0:0), o20093[LinkedList$Entry.next]o20097:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17832:0 > 0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && o20093[LinkedList$Entry.next]o20097:0 > o17832[LinkedList$Entry.next]o17834:0 && i3151:0 > 0 && i4732:0 > 1 && o18885[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x3))), x4, x5, x4, x5, x) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(x6), 1, x7, x8, x9, x) :|: x9 < x5 && x5 > -1 && x8 < x4 && x4 > -1 && x10 > 0 && x11 > 1 && x9 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(x17))), x18, x19, x18, x19, x12) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(x20), 1, x21, x22, x23, x12) :|: x23 < x19 && x19 > -1 && x22 < x18 && x18 > -1 && x24 > 0 && x25 > 1 && x23 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x33, x34, x26) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(x35), x36, x32, x37, x38, x26) :|: x31 > 0 && x33 > 0 && x36 > x31 && x34 > -1 && x38 < x34 && x37 < x33 && x39 > 0 && x40 > 1 && x38 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x43))), x44, x45, x44, x45, x41) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x46), 1, x47, x48, x49, x41) :|: x49 < x45 && x45 > -1 && x48 < x44 && x44 > -1 && x50 > 0 && x51 > 1 && x49 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x55))), x56, x57, x58, x59, x52) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(x60), x61, x57, x62, x63, x52) :|: x56 > 0 && x58 > 0 && x61 > x56 && x59 > -1 && x63 < x59 && x62 < x58 && x64 > 0 && x65 > 1 && x63 > 0 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (25) IRSFormatTransformerProof (EQUIVALENT) 33.97/10.29 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (26) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18885sub2128317971:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20097sub0:0), o20093[LinkedList$Entry.next]o20097:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17832:0 > 0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && o20093[LinkedList$Entry.next]o20097:0 > o17832[LinkedList$Entry.next]o17834:0 && i3151:0 > 0 && i4732:0 > 1 && o18885[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x3))), x4, x5, x4, x5, x) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(x6), 1, x7, x8, x9, x) :|: x9 < x5 && x5 > -1 && x8 < x4 && x4 > -1 && x10 > 0 && x11 > 1 && x9 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(x17))), x18, x19, x18, x19, x12) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(x20), 1, x21, x22, x23, x12) :|: x23 < x19 && x19 > -1 && x22 < x18 && x18 > -1 && x24 > 0 && x25 > 1 && x23 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x33, x34, x26) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(x35), x36, x32, x37, x38, x26) :|: x31 > 0 && x33 > 0 && x36 > x31 && x34 > -1 && x38 < x34 && x37 < x33 && x39 > 0 && x40 > 1 && x38 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x43))), x44, x45, x44, x45, x41) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x46), 1, x47, x48, x49, x41) :|: x49 < x45 && x45 > -1 && x48 < x44 && x44 > -1 && x50 > 0 && x51 > 1 && x49 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x55))), x56, x57, x58, x59, x52) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(x60), x61, x57, x62, x63, x52) :|: x56 > 0 && x58 > 0 && x61 > x56 && x59 > -1 && x63 < x59 && x62 < x58 && x64 > 0 && x65 > 1 && x63 > 0 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (27) IRSwTTerminationDigraphProof (EQUIVALENT) 33.97/10.29 Constructed termination digraph! 33.97/10.29 Nodes: 33.97/10.29 (1) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18885sub2128317971:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20097sub0:0), o20093[LinkedList$Entry.next]o20097:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17832:0 > 0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && o20093[LinkedList$Entry.next]o20097:0 > o17832[LinkedList$Entry.next]o17834:0 && i3151:0 > 0 && i4732:0 > 1 && o18885[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 (2) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x3))), x4, x5, x4, x5, x) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(x6), 1, x7, x8, x9, x) :|: x9 < x5 && x5 > -1 && x8 < x4 && x4 > -1 && x10 > 0 && x11 > 1 && x9 > 0 33.97/10.29 (3) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(x17))), x18, x19, x18, x19, x12) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(x20), 1, x21, x22, x23, x12) :|: x23 < x19 && x19 > -1 && x22 < x18 && x18 > -1 && x24 > 0 && x25 > 1 && x23 > 0 33.97/10.29 (4) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x33, x34, x26) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(x35), x36, x32, x37, x38, x26) :|: x31 > 0 && x33 > 0 && x36 > x31 && x34 > -1 && x38 < x34 && x37 < x33 && x39 > 0 && x40 > 1 && x38 > 0 33.97/10.29 (5) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x43))), x44, x45, x44, x45, x41) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x46), 1, x47, x48, x49, x41) :|: x49 < x45 && x45 > -1 && x48 < x44 && x44 > -1 && x50 > 0 && x51 > 1 && x49 > 0 33.97/10.29 (6) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x55))), x56, x57, x58, x59, x52) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(x60), x61, x57, x62, x63, x52) :|: x56 > 0 && x58 > 0 && x61 > x56 && x59 > -1 && x63 < x59 && x62 < x58 && x64 > 0 && x65 > 1 && x63 > 0 33.97/10.29 33.97/10.29 Arcs: 33.97/10.29 (1) -> (1), (2), (3), (4), (5), (6) 33.97/10.29 (2) -> (1), (2), (4), (6) 33.97/10.29 (3) -> (1), (3), (4), (5), (6) 33.97/10.29 (4) -> (1), (2), (3), (4), (5), (6) 33.97/10.29 (5) -> (1), (3), (4), (5), (6) 33.97/10.29 (6) -> (1), (2), (3), (4), (5), (6) 33.97/10.29 33.97/10.29 This digraph is fully evaluated! 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (28) 33.97/10.29 Obligation: 33.97/10.29 33.97/10.29 Termination digraph: 33.97/10.29 Nodes: 33.97/10.29 (1) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18885sub2128317971:0))), o17832[LinkedList$Entry.next]o17834:0, o17832[LinkedList$Entry.next]o17830:0, o17834[LinkedList$Entry.next]o17832:0, o17834[LinkedList$Entry.next]o17830:0, o17831-40188874:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0, java.lang.Object(o17832sub-40188874:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20097sub0:0), o20093[LinkedList$Entry.next]o20097:0, o17832[LinkedList$Entry.next]o17830:0, o18885[LinkedList$Entry.next]o17832:0, o18885[LinkedList$Entry.next]o17830:0, o17831-40188874:0) :|: o17832[LinkedList$Entry.next]o17834:0 > 0 && o17834[LinkedList$Entry.next]o17832:0 > 0 && o17834[LinkedList$Entry.next]o17830:0 > -1 && o18885[LinkedList$Entry.next]o17830:0 < o17834[LinkedList$Entry.next]o17830:0 && o18885[LinkedList$Entry.next]o17832:0 < o17834[LinkedList$Entry.next]o17832:0 && o20093[LinkedList$Entry.next]o20097:0 > o17832[LinkedList$Entry.next]o17834:0 && i3151:0 > 0 && i4732:0 > 1 && o18885[LinkedList$Entry.next]o17830:0 > 0 33.97/10.29 (2) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x3))), x4, x5, x4, x5, x) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1)))))))))), java.lang.Object(x2), java.lang.Object(x6), 1, x7, x8, x9, x) :|: x9 < x5 && x5 > -1 && x8 < x4 && x4 > -1 && x10 > 0 && x11 > 1 && x9 > 0 33.97/10.29 (3) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29), java.lang.Object(x30))), x31, x32, x33, x34, x26) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26, java.lang.Object(x27)))))))), java.lang.Object(x28), java.lang.Object(x35), x36, x32, x37, x38, x26) :|: x31 > 0 && x33 > 0 && x36 > x31 && x34 > -1 && x38 < x34 && x37 < x33 && x39 > 0 && x40 > 1 && x38 > 0 33.97/10.29 (4) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16), java.lang.Object(x17))), x18, x19, x18, x19, x12) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13), java.lang.Object(x14)))))))))), java.lang.Object(x15), java.lang.Object(x20), 1, x21, x22, x23, x12) :|: x23 < x19 && x19 > -1 && x22 < x18 && x18 > -1 && x24 > 0 && x25 > 1 && x23 > 0 33.97/10.29 (5) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x43))), x44, x45, x44, x45, x41) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x46), 1, x47, x48, x49, x41) :|: x49 < x45 && x45 > -1 && x48 < x44 && x44 > -1 && x50 > 0 && x51 > 1 && x49 > 0 33.97/10.29 (6) f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x55))), x56, x57, x58, x59, x52) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52, java.lang.Object(x53)))))))), java.lang.Object(x54), java.lang.Object(x60), x61, x57, x62, x63, x52) :|: x56 > 0 && x58 > 0 && x61 > x56 && x59 > -1 && x63 < x59 && x62 < x58 && x64 > 0 && x65 > 1 && x63 > 0 33.97/10.29 33.97/10.29 Arcs: 33.97/10.29 (1) -> (1), (2), (3), (4), (5), (6) 33.97/10.29 (2) -> (1), (2), (3), (6) 33.97/10.29 (3) -> (1), (2), (3), (4), (5), (6) 33.97/10.29 (4) -> (1), (3), (4), (5), (6) 33.97/10.29 (5) -> (1), (3), (4), (5), (6) 33.97/10.29 (6) -> (1), (2), (3), (4), (5), (6) 33.97/10.29 33.97/10.29 This digraph is fully evaluated! 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (29) IntTRSCompressionProof (EQUIVALENT) 33.97/10.29 Compressed rules. 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (30) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52:0, java.lang.Object(x53:0)))))))), java.lang.Object(x54:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x55:0))), x56:0, x57:0, x58:0, x59:0, x52:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x52:0, java.lang.Object(x53:0)))))))), java.lang.Object(x54:0), java.lang.Object(x60:0), x61:0, x57:0, x62:0, x63:0, x52:0) :|: x65:0 > 1 && x63:0 > 0 && x64:0 > 0 && x62:0 < x58:0 && x63:0 < x59:0 && x59:0 > -1 && x61:0 > x56:0 && x58:0 > 0 && x56:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x43:0))), x44:0, x45:0, x44:0, x45:0, x41:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x41:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x42:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x46:0), 1, x47:0, x48:0, x49:0, x41:0) :|: x51:0 > 1 && x49:0 > 0 && x50:0 > 0 && x44:0 > -1 && x48:0 < x44:0 && x45:0 > -1 && x49:0 < x45:0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26:0, java.lang.Object(x27:0)))))))), java.lang.Object(x28:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x29:0), java.lang.Object(x30:0))), x31:0, x32:0, x33:0, x34:0, x26:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x26:0, java.lang.Object(x27:0)))))))), java.lang.Object(x28:0), java.lang.Object(x35:0), x36:0, x32:0, x37:0, x38:0, x26:0) :|: x40:0 > 1 && x38:0 > 0 && x39:0 > 0 && x37:0 < x33:0 && x38:0 < x34:0 && x34:0 > -1 && x36:0 > x31:0 && x33:0 > 0 && x31:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1:0)))))))))), java.lang.Object(x2:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x3:0))), x4:0, x5:0, x4:0, x5:0, x:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x1:0)))))))))), java.lang.Object(x2:0), java.lang.Object(x6:0), 1, x7:0, x8:0, x9:0, x:0) :|: x11:0 > 1 && x9:0 > 0 && x10:0 > 0 && x4:0 > -1 && x8:0 < x4:0 && x5:0 > -1 && x9:0 < x5:0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0:0, java.lang.Object(o17832sub-40188874:0:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18885sub2128317971:0:0))), o17832[LinkedList$Entry.next]o17834:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o17834[LinkedList$Entry.next]o17832:0:0, o17834[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17831-40188874:0:0, java.lang.Object(o17832sub-40188874:0:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20097sub0:0:0), o20093[LinkedList$Entry.next]o20097:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o18885[LinkedList$Entry.next]o17832:0:0, o18885[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) :|: i4732:0:0 > 1 && o18885[LinkedList$Entry.next]o17830:0:0 > 0 && i3151:0:0 > 0 && o20093[LinkedList$Entry.next]o20097:0:0 > o17832[LinkedList$Entry.next]o17834:0:0 && o18885[LinkedList$Entry.next]o17832:0:0 < o17834[LinkedList$Entry.next]o17832:0:0 && o18885[LinkedList$Entry.next]o17830:0:0 < o17834[LinkedList$Entry.next]o17830:0:0 && o17834[LinkedList$Entry.next]o17830:0:0 > -1 && o17834[LinkedList$Entry.next]o17832:0:0 > 0 && o17832[LinkedList$Entry.next]o17834:0:0 > 0 33.97/10.29 f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13:0), java.lang.Object(x14:0)))))))))), java.lang.Object(x15:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x16:0), java.lang.Object(x17:0))), x18:0, x19:0, x18:0, x19:0, x12:0) -> f8585_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x13:0), java.lang.Object(x14:0)))))))))), java.lang.Object(x15:0), java.lang.Object(x20:0), 1, x21:0, x22:0, x23:0, x12:0) :|: x25:0 > 1 && x23:0 > 0 && x24:0 > 0 && x18:0 > -1 && x22:0 < x18:0 && x19:0 > -1 && x23:0 < x19:0 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (31) TempFilterProof (SOUND) 33.97/10.29 Used the following sort dictionary for filtering: 33.97/10.29 f8585_0_remove_EQ(VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE) 33.97/10.29 java.lang.Object(VARIABLE) 33.97/10.29 javaUtilEx.AbstractCollection(VARIABLE) 33.97/10.29 javaUtilEx.AbstractList(VARIABLE) 33.97/10.29 javaUtilEx.AbstractSequentialList(VARIABLE) 33.97/10.29 javaUtilEx.LinkedList(VARIABLE) 33.97/10.29 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 33.97/10.29 NULL() 33.97/10.29 javaUtilEx.Content() 33.97/10.29 Replaced non-predefined constructor symbols by 0. 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (32) 33.97/10.29 Obligation: 33.97/10.29 Rules: 33.97/10.29 f8585_0_remove_EQ(c, c1, c2, x56:0, x57:0, x58:0, x59:0, x52:0) -> f8585_0_remove_EQ(c3, c4, c5, x61:0, x57:0, x62:0, x63:0, x52:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x65:0 > 1 && x63:0 > 0 && x64:0 > 0 && x62:0 < x58:0 && x63:0 < x59:0 && x59:0 > -1 && x61:0 > x56:0 && x58:0 > 0 && x56:0 > 0) 33.97/10.29 f8585_0_remove_EQ(c6, c7, c8, x44:0, x45:0, x44:0, x45:0, x41:0) -> f8585_0_remove_EQ(c9, c10, c11, c12, x47:0, x48:0, x49:0, x41:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x51:0 > 1 && x49:0 > 0 && x50:0 > 0 && x44:0 > -1 && x48:0 < x44:0 && x45:0 > -1 && x49:0 < x45:0) 33.97/10.29 f8585_0_remove_EQ(c26, c27, c28, o17832[LinkedList$Entry.next]o17834:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o17834[LinkedList$Entry.next]o17832:0:0, o17834[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) -> f8585_0_remove_EQ(c29, c30, c31, o20093[LinkedList$Entry.next]o20097:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o18885[LinkedList$Entry.next]o17832:0:0, o18885[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) :|: c31 = 0 && (c30 = 0 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (i4732:0:0 > 1 && o18885[LinkedList$Entry.next]o17830:0:0 > 0 && i3151:0:0 > 0 && o20093[LinkedList$Entry.next]o20097:0:0 > o17832[LinkedList$Entry.next]o17834:0:0 && o18885[LinkedList$Entry.next]o17832:0:0 < o17834[LinkedList$Entry.next]o17832:0:0 && o18885[LinkedList$Entry.next]o17830:0:0 < o17834[LinkedList$Entry.next]o17830:0:0 && o17834[LinkedList$Entry.next]o17830:0:0 > -1 && o17834[LinkedList$Entry.next]o17832:0:0 > 0 && o17832[LinkedList$Entry.next]o17834:0:0 > 0) 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (33) RankingReductionPairProof (EQUIVALENT) 33.97/10.29 Interpretation: 33.97/10.29 [ f8585_0_remove_EQ ] = f8585_0_remove_EQ_7 33.97/10.29 33.97/10.29 The following rules are decreasing: 33.97/10.29 f8585_0_remove_EQ(c, c1, c2, x56:0, x57:0, x58:0, x59:0, x52:0) -> f8585_0_remove_EQ(c3, c4, c5, x61:0, x57:0, x62:0, x63:0, x52:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x65:0 > 1 && x63:0 > 0 && x64:0 > 0 && x62:0 < x58:0 && x63:0 < x59:0 && x59:0 > -1 && x61:0 > x56:0 && x58:0 > 0 && x56:0 > 0) 33.97/10.29 f8585_0_remove_EQ(c6, c7, c8, x44:0, x45:0, x44:0, x45:0, x41:0) -> f8585_0_remove_EQ(c9, c10, c11, c12, x47:0, x48:0, x49:0, x41:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x51:0 > 1 && x49:0 > 0 && x50:0 > 0 && x44:0 > -1 && x48:0 < x44:0 && x45:0 > -1 && x49:0 < x45:0) 33.97/10.29 f8585_0_remove_EQ(c26, c27, c28, o17832[LinkedList$Entry.next]o17834:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o17834[LinkedList$Entry.next]o17832:0:0, o17834[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) -> f8585_0_remove_EQ(c29, c30, c31, o20093[LinkedList$Entry.next]o20097:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o18885[LinkedList$Entry.next]o17832:0:0, o18885[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) :|: c31 = 0 && (c30 = 0 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (i4732:0:0 > 1 && o18885[LinkedList$Entry.next]o17830:0:0 > 0 && i3151:0:0 > 0 && o20093[LinkedList$Entry.next]o20097:0:0 > o17832[LinkedList$Entry.next]o17834:0:0 && o18885[LinkedList$Entry.next]o17832:0:0 < o17834[LinkedList$Entry.next]o17832:0:0 && o18885[LinkedList$Entry.next]o17830:0:0 < o17834[LinkedList$Entry.next]o17830:0:0 && o17834[LinkedList$Entry.next]o17830:0:0 > -1 && o17834[LinkedList$Entry.next]o17832:0:0 > 0 && o17832[LinkedList$Entry.next]o17834:0:0 > 0) 33.97/10.29 33.97/10.29 The following rules are bounded: 33.97/10.29 f8585_0_remove_EQ(c, c1, c2, x56:0, x57:0, x58:0, x59:0, x52:0) -> f8585_0_remove_EQ(c3, c4, c5, x61:0, x57:0, x62:0, x63:0, x52:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x65:0 > 1 && x63:0 > 0 && x64:0 > 0 && x62:0 < x58:0 && x63:0 < x59:0 && x59:0 > -1 && x61:0 > x56:0 && x58:0 > 0 && x56:0 > 0) 33.97/10.29 f8585_0_remove_EQ(c6, c7, c8, x44:0, x45:0, x44:0, x45:0, x41:0) -> f8585_0_remove_EQ(c9, c10, c11, c12, x47:0, x48:0, x49:0, x41:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && (c8 = 0 && (c7 = 0 && c6 = 0))))) && (x51:0 > 1 && x49:0 > 0 && x50:0 > 0 && x44:0 > -1 && x48:0 < x44:0 && x45:0 > -1 && x49:0 < x45:0) 33.97/10.29 f8585_0_remove_EQ(c26, c27, c28, o17832[LinkedList$Entry.next]o17834:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o17834[LinkedList$Entry.next]o17832:0:0, o17834[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) -> f8585_0_remove_EQ(c29, c30, c31, o20093[LinkedList$Entry.next]o20097:0:0, o17832[LinkedList$Entry.next]o17830:0:0, o18885[LinkedList$Entry.next]o17832:0:0, o18885[LinkedList$Entry.next]o17830:0:0, o17831-40188874:0:0) :|: c31 = 0 && (c30 = 0 && (c29 = 0 && (c28 = 0 && (c27 = 0 && c26 = 0)))) && (i4732:0:0 > 1 && o18885[LinkedList$Entry.next]o17830:0:0 > 0 && i3151:0:0 > 0 && o20093[LinkedList$Entry.next]o20097:0:0 > o17832[LinkedList$Entry.next]o17834:0:0 && o18885[LinkedList$Entry.next]o17832:0:0 < o17834[LinkedList$Entry.next]o17832:0:0 && o18885[LinkedList$Entry.next]o17830:0:0 < o17834[LinkedList$Entry.next]o17830:0:0 && o17834[LinkedList$Entry.next]o17830:0:0 > -1 && o17834[LinkedList$Entry.next]o17832:0:0 > 0 && o17832[LinkedList$Entry.next]o17834:0:0 > 0) 33.97/10.29 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (34) 33.97/10.29 YES 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (35) 33.97/10.29 Obligation: 33.97/10.29 SCC of termination graph based on JBC Program. 33.97/10.29 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 33.97/10.29 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 33.97/10.29 Performed SCC analyses: 33.97/10.29 *Used field analysis yielded the following read fields: 33.97/10.29 *javaUtilEx.LinkedList$Entry: [element, next] 33.97/10.29 *javaUtilEx.LinkedList: [header] 33.97/10.29 *Marker field analysis yielded the following relations that could be markers: 33.97/10.29 33.97/10.29 ---------------------------------------- 33.97/10.29 33.97/10.29 (36) SCCToIRSProof (SOUND) 33.97/10.29 Transformed FIGraph SCCs to intTRSs. Log: 33.97/10.30 Generated rules. Obtained 65 IRulesP rules: 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(o17698sub2127335922))), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) -> f8595_0_remove_Load(EOS(STATIC_8595), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) :|: TRUE 33.97/10.30 f8595_0_remove_Load(EOS(STATIC_8595), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) -> f8607_0_remove_Load(EOS(STATIC_8607), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17700sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) :|: TRUE 33.97/10.30 f8607_0_remove_Load(EOS(STATIC_8607), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17700sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) -> f8617_0_remove_FieldAccess(EOS(STATIC_8617), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) :|: TRUE 33.97/10.30 f8617_0_remove_FieldAccess(EOS(STATIC_8617), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) -> f8626_0_remove_FieldAccess(EOS(STATIC_8626), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) :|: o17698[LinkedList$Entry.next]o17701 > 0 && o17701[LinkedList$Entry.next]o17698 > 0 33.97/10.30 f8617_0_remove_FieldAccess(EOS(STATIC_8617), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o18835sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o18835sub0), java.lang.Object(o17700sub0), java.lang.Object(o18835sub0), o18835[LinkedList$Entry.next]o18835, o17699[LinkedList$Entry.previous]o17696, o18835[LinkedList$Entry.next]o17696, o18835[LinkedList$Entry.next]o18835, o18835[LinkedList$Entry.next]o17696) -> f8627_0_remove_FieldAccess(EOS(STATIC_8627), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o18835sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o18835sub0), java.lang.Object(o17700sub0), java.lang.Object(o18835sub0), o17699[LinkedList$Entry.previous]o17696, o18835[LinkedList$Entry.next]o17696, o18835[LinkedList$Entry.next]o18835) :|: TRUE 33.97/10.30 f8626_0_remove_FieldAccess(EOS(STATIC_8626), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), o17698[LinkedList$Entry.next]o18875, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o18875[LinkedList$Entry.next]o17696, o18875[LinkedList$Entry.next]o17698) -> f8637_0_remove_FieldAccess(EOS(STATIC_8637), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: o18877[LinkedList$Entry.next]o17696 < o18875[LinkedList$Entry.next]o17696 && o18875[LinkedList$Entry.next]o17696 >= 0 && o18877[LinkedList$Entry.next]o17698 < o18875[LinkedList$Entry.next]o17698 && o18875[LinkedList$Entry.next]o17698 >= 0 33.97/10.30 f8637_0_remove_FieldAccess(EOS(STATIC_8637), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8648_0_remove_InvokeMethod(EOS(STATIC_8648), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o17700sub0), o188760, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8648_0_remove_InvokeMethod(EOS(STATIC_8648), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o17700sub0), o188760, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8659_0_equals_Load(EOS(STATIC_8659), java.lang.Object(o17700sub0), o188760, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(o17698sub2127335922))), java.lang.Object(o17698sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o18877sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), o188760, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: i4703 > 1 && i3151 >= 1 33.97/10.30 f8648_0_remove_InvokeMethod(EOS(STATIC_8648), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o17700sub0), o188760, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8659_1_equals_Load(EOS(STATIC_8659), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o17700sub0), o188760, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: i4703 > 1 && i3151 >= 1 33.97/10.30 f8659_0_equals_Load(EOS(STATIC_8659), java.lang.Object(o17700sub0), o188760, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(o17698sub2127335922))), java.lang.Object(o17698sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o18877sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), o188760, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f9476_0_equals_Load(EOS(STATIC_9476), java.lang.Object(o17700sub0), o188760, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(o17698sub2127335922))), java.lang.Object(o17698sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072, java.lang.Object(o18877sub2128317072))), java.lang.Object(o18877sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), o188760, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8725_0_equals_Return(EOS(STATIC_8725), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18877sub2128317072))), matching1, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8727_0_equals_Return(EOS(STATIC_8727), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18877sub2128317072))), 0, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE && matching1 = 0 33.97/10.30 f8727_0_equals_Return(EOS(STATIC_8727), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o199922129272182, java.lang.Object(o19993sub2129272182))), matching1, o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19988[LinkedList$Entry.next]o19991, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) -> f8755_0_remove_EQ(EOS(STATIC_8755), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o199922129272182, java.lang.Object(o19993sub2129272182))), 0, o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19988[LinkedList$Entry.next]o19991, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) :|: TRUE && matching1 = 0 33.97/10.30 f8755_0_remove_EQ(EOS(STATIC_8755), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o199922129272182, java.lang.Object(o19993sub2129272182))), matching1, o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19988[LinkedList$Entry.next]o19991, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) -> f8770_0_remove_Load(EOS(STATIC_8770), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o199922129272182, java.lang.Object(o19993sub2129272182))), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19988[LinkedList$Entry.next]o19991, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) :|: TRUE && matching1 = 0 33.97/10.30 f8770_0_remove_Load(EOS(STATIC_8770), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o199922129272182, java.lang.Object(o19993sub2129272182))), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19988[LinkedList$Entry.next]o19991, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) -> f8789_0_remove_FieldAccess(EOS(STATIC_8789), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o199922129272182, java.lang.Object(o19993sub2129272182))), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19988[LinkedList$Entry.next]o19991, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) :|: TRUE 33.97/10.30 f8789_0_remove_FieldAccess(EOS(STATIC_8789), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o199922129272182, java.lang.Object(o19993sub2129272182))), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19988[LinkedList$Entry.next]o19991, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) -> f8804_0_remove_Store(EOS(STATIC_8804), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(o19993sub0), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988, o19988[LinkedList$Entry.next]o19993) :|: o19988[LinkedList$Entry.next]o19993 > o19988[LinkedList$Entry.next]o19991 && o19988[LinkedList$Entry.next]o19991 >= 0 33.97/10.30 f8804_0_remove_Store(EOS(STATIC_8804), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(o19993sub0), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988, o19988[LinkedList$Entry.next]o19993) -> f8822_0_remove_JMP(EOS(STATIC_8822), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(o19993sub0), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988, o19988[LinkedList$Entry.next]o19993) :|: TRUE 33.97/10.30 f8822_0_remove_JMP(EOS(STATIC_8822), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(o19993sub0), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988, o19988[LinkedList$Entry.next]o19993) -> f8841_0_remove_Load(EOS(STATIC_8841), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(o19993sub0), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988, o19988[LinkedList$Entry.next]o19993) :|: TRUE 33.97/10.30 f8841_0_remove_Load(EOS(STATIC_8841), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(o19993sub0), o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988, o19988[LinkedList$Entry.next]o19993) -> f8519_0_remove_Load(EOS(STATIC_8519), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o19987-36424575, java.lang.Object(o19988sub-36424575)))))))), java.lang.Object(o19990sub0), java.lang.Object(o19993sub0), o19988[LinkedList$Entry.next]o19993, o19989[LinkedList$Entry.previous]o19986, o19988[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19986, o19993[LinkedList$Entry.next]o19988) :|: TRUE 33.97/10.30 f8519_0_remove_Load(EOS(STATIC_8519), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) -> f8535_0_remove_Load(EOS(STATIC_8535), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8535_0_remove_Load(EOS(STATIC_8535), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) -> f8549_0_remove_FieldAccess(EOS(STATIC_8549), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8549_0_remove_FieldAccess(EOS(STATIC_8549), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) -> f8566_0_remove_EQ(EOS(STATIC_8566), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(o17698sub2127335922))), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8566_0_remove_EQ(EOS(STATIC_8566), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(o17698sub2127335922))), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698) -> f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o17700sub0), java.lang.Object(o17701sub0), java.lang.Object(o17701sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(o17698sub2127335922))), o17698[LinkedList$Entry.next]o17701, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17701[LinkedList$Entry.next]o17698, o17701[LinkedList$Entry.next]o17696) :|: o17701[LinkedList$Entry.next]o17696 > 0 33.97/10.30 f8726_0_equals_Return(EOS(STATIC_8726), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19632sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19634sub2128317072), java.lang.Object(o18877sub2128317072))), matching1, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8727_0_equals_Return(EOS(STATIC_8727), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19632sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19634sub2128317072), java.lang.Object(o18877sub2128317072))), 0, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE && matching1 = 0 33.97/10.30 f8728_0_equals_Return(EOS(STATIC_8728), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), matching1, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8730_0_equals_Return(EOS(STATIC_8730), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), 0, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE && matching1 = 0 33.97/10.30 f8730_0_equals_Return(EOS(STATIC_8730), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), i5174, o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) -> f8756_0_remove_EQ(EOS(STATIC_8756), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), i5174, o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) :|: TRUE 33.97/10.30 f8756_0_remove_EQ(EOS(STATIC_8756), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), matching1, o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) -> f8772_0_remove_EQ(EOS(STATIC_8772), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), 0, o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) :|: TRUE && matching1 = 0 33.97/10.30 f8772_0_remove_EQ(EOS(STATIC_8772), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), matching1, o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) -> f8791_0_remove_Load(EOS(STATIC_8791), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) :|: TRUE && matching1 = 0 33.97/10.30 f8791_0_remove_Load(EOS(STATIC_8791), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) -> f8806_0_remove_FieldAccess(EOS(STATIC_8806), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) :|: TRUE 33.97/10.30 f8806_0_remove_FieldAccess(EOS(STATIC_8806), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub-2145654172))), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20006[LinkedList$Entry.next]o20009, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) -> f8824_0_remove_Store(EOS(STATIC_8824), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006, o20006[LinkedList$Entry.next]o20011) :|: o20006[LinkedList$Entry.next]o20011 > o20006[LinkedList$Entry.next]o20009 && o20006[LinkedList$Entry.next]o20009 >= 0 33.97/10.30 f8824_0_remove_Store(EOS(STATIC_8824), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006, o20006[LinkedList$Entry.next]o20011) -> f8843_0_remove_JMP(EOS(STATIC_8843), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006, o20006[LinkedList$Entry.next]o20011) :|: TRUE 33.97/10.30 f8843_0_remove_JMP(EOS(STATIC_8843), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006, o20006[LinkedList$Entry.next]o20011) -> f8856_0_remove_Load(EOS(STATIC_8856), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006, o20006[LinkedList$Entry.next]o20011) :|: TRUE 33.97/10.30 f8856_0_remove_Load(EOS(STATIC_8856), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0), o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006, o20006[LinkedList$Entry.next]o20011) -> f8519_0_remove_Load(EOS(STATIC_8519), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200053658611, java.lang.Object(o20006sub3658611)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0), o20006[LinkedList$Entry.next]o20011, o20007[LinkedList$Entry.previous]o20004, o20006[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20004, o20011[LinkedList$Entry.next]o20006) :|: TRUE 33.97/10.30 f8729_0_equals_Return(EOS(STATIC_8729), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), matching1, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8730_0_equals_Return(EOS(STATIC_8730), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), 1, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE && matching1 = 1 33.97/10.30 f8627_0_remove_FieldAccess(EOS(STATIC_8627), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), o17699[LinkedList$Entry.previous]o17696, o18879[LinkedList$Entry.next]o17696, o18879[LinkedList$Entry.next]o18879) -> f8638_0_remove_FieldAccess(EOS(STATIC_8638), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: o18881[LinkedList$Entry.next]o17696 < o18879[LinkedList$Entry.next]o17696 && o18879[LinkedList$Entry.next]o17696 >= 0 && o18881[LinkedList$Entry.next]o18879 < o18879[LinkedList$Entry.next]o18879 && o18879[LinkedList$Entry.next]o18879 >= 0 33.97/10.30 f8638_0_remove_FieldAccess(EOS(STATIC_8638), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8649_0_remove_InvokeMethod(EOS(STATIC_8649), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o17700sub0), o188800, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE 33.97/10.30 f8649_0_remove_InvokeMethod(EOS(STATIC_8649), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o17700sub0), o188800, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8660_0_equals_Load(EOS(STATIC_8660), java.lang.Object(o17700sub0), o188800, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18880-39314178, java.lang.Object(o18881sub-39314178))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o18881sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), o188800, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: i4703 > 1 && i3151 >= 1 33.97/10.30 f8649_0_remove_InvokeMethod(EOS(STATIC_8649), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o17700sub0), o188800, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8660_1_equals_Load(EOS(STATIC_8660), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o17700sub0), o188800, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: i4703 > 1 && i3151 >= 1 33.97/10.30 f8660_0_equals_Load(EOS(STATIC_8660), java.lang.Object(o17700sub0), o188800, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18880-39314178, java.lang.Object(o18881sub-39314178))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o18881sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), o188800, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f9556_0_equals_Load(EOS(STATIC_9556), java.lang.Object(o17700sub0), o188800, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18880-39314178, java.lang.Object(o18881sub-39314178))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196, java.lang.Object(o18881sub2128317196))), java.lang.Object(o18881sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o17700sub0), o188800, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE 33.97/10.30 f8732_0_equals_Return(EOS(STATIC_8732), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19703sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2128317196))), matching1, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8734_0_equals_Return(EOS(STATIC_8734), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19703sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2128317196))), 0, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE && matching1 = 0 33.97/10.30 f8734_0_equals_Return(EOS(STATIC_8734), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2145652498, java.lang.Object(o20023sub-2145652498))), matching1, o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) -> f8757_0_remove_EQ(EOS(STATIC_8757), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2145652498, java.lang.Object(o20023sub-2145652498))), 0, o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) :|: TRUE && matching1 = 0 33.97/10.30 f8757_0_remove_EQ(EOS(STATIC_8757), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2145652498, java.lang.Object(o20023sub-2145652498))), matching1, o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) -> f8773_0_remove_Load(EOS(STATIC_8773), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2145652498, java.lang.Object(o20023sub-2145652498))), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) :|: TRUE && matching1 = 0 33.97/10.30 f8773_0_remove_Load(EOS(STATIC_8773), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2145652498, java.lang.Object(o20023sub-2145652498))), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) -> f8792_0_remove_FieldAccess(EOS(STATIC_8792), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2145652498, java.lang.Object(o20023sub-2145652498))), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) :|: TRUE 33.97/10.30 f8792_0_remove_FieldAccess(EOS(STATIC_8792), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2145652498, java.lang.Object(o20023sub-2145652498))), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) -> f8807_0_remove_Store(EOS(STATIC_8807), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(o20023sub0), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) :|: TRUE 33.97/10.30 f8807_0_remove_Store(EOS(STATIC_8807), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(o20023sub0), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) -> f8825_0_remove_JMP(EOS(STATIC_8825), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(o20023sub0), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) :|: TRUE 33.97/10.30 f8825_0_remove_JMP(EOS(STATIC_8825), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(o20023sub0), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) -> f8844_0_remove_Load(EOS(STATIC_8844), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(o20023sub0), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) :|: TRUE 33.97/10.30 f8844_0_remove_Load(EOS(STATIC_8844), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(o20023sub0), o20025[LinkedList$Entry.previous]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) -> f8519_0_remove_Load(EOS(STATIC_8519), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200203660843, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o20022-2141991655, java.lang.Object(o20023sub-2141991655)))))))))), java.lang.Object(o20026sub0), java.lang.Object(o20023sub0), o20021[LinkedList$Entry.next]o20023, o20025[LinkedList$Entry.previous]o20019, o20021[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20019, o20023[LinkedList$Entry.next]o20021) :|: o20021[LinkedList$Entry.next]o20023 = 1 33.97/10.30 f8733_0_equals_Return(EOS(STATIC_8733), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2088021713), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19716sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2128317196), java.lang.Object(o18881sub2128317196))), matching1, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8734_0_equals_Return(EOS(STATIC_8734), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2088021713), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19716sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2128317196), java.lang.Object(o18881sub2128317196))), 0, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE && matching1 = 0 33.97/10.30 f8735_0_equals_Return(EOS(STATIC_8735), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), matching1, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8737_0_equals_Return(EOS(STATIC_8737), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), 0, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE && matching1 = 0 33.97/10.30 f8737_0_equals_Return(EOS(STATIC_8737), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), i5184, o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8758_0_remove_EQ(EOS(STATIC_8758), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), i5184, o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: TRUE 33.97/10.30 f8758_0_remove_EQ(EOS(STATIC_8758), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), matching1, o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8775_0_remove_EQ(EOS(STATIC_8775), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), 0, o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: TRUE && matching1 = 0 33.97/10.30 f8775_0_remove_EQ(EOS(STATIC_8775), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), matching1, o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8794_0_remove_Load(EOS(STATIC_8794), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: TRUE && matching1 = 0 33.97/10.30 f8794_0_remove_Load(EOS(STATIC_8794), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8809_0_remove_FieldAccess(EOS(STATIC_8809), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: TRUE 33.97/10.30 f8809_0_remove_FieldAccess(EOS(STATIC_8809), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2145651320))), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8827_0_remove_Store(EOS(STATIC_8827), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: TRUE 33.97/10.30 f8827_0_remove_Store(EOS(STATIC_8827), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8846_0_remove_JMP(EOS(STATIC_8846), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: TRUE 33.97/10.30 f8846_0_remove_JMP(EOS(STATIC_8846), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8857_0_remove_Load(EOS(STATIC_8857), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: TRUE 33.97/10.30 f8857_0_remove_Load(EOS(STATIC_8857), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0), o20042[LinkedList$Entry.previous]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) -> f8519_0_remove_Load(EOS(STATIC_8519), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o200373664501, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub-2141986819)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0), o20038[LinkedList$Entry.next]o20040, o20042[LinkedList$Entry.previous]o20036, o20038[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20036, o20040[LinkedList$Entry.next]o20038) :|: o20038[LinkedList$Entry.next]o20040 = 1 33.97/10.30 f8736_0_equals_Return(EOS(STATIC_8736), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), matching1, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8737_0_equals_Return(EOS(STATIC_8737), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), 1, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE && matching1 = 1 33.97/10.30 f8659_1_equals_Load(EOS(STATIC_8659), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18877sub2128317072))), java.lang.Object(o19618sub0), NULL, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8725_0_equals_Return(EOS(STATIC_8725), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18877sub2128317072))), 0, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8659_1_equals_Load(EOS(STATIC_8659), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19632sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19634sub2128317072), java.lang.Object(o18877sub2128317072))), java.lang.Object(o19632sub0), java.lang.Object(o19634sub0), o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8726_0_equals_Return(EOS(STATIC_8726), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(o19632sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19634sub2128317072), java.lang.Object(o18877sub2128317072))), 0, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8659_1_equals_Load(EOS(STATIC_8659), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8728_0_equals_Return(EOS(STATIC_8728), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), 0, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8659_1_equals_Load(EOS(STATIC_8659), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) -> f8729_0_equals_Return(EOS(STATIC_8729), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(o17698sub-40295483)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072))), 1, o17699[LinkedList$Entry.previous]o17696, o17698[LinkedList$Entry.next]o17696, o17698[LinkedList$Entry.next]o18875, o18877[LinkedList$Entry.next]o17696, o18877[LinkedList$Entry.next]o17698) :|: TRUE 33.97/10.30 f8660_1_equals_Load(EOS(STATIC_8660), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19703sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2128317196))), java.lang.Object(o19703sub0), NULL, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8732_0_equals_Return(EOS(STATIC_8732), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19703sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2128317196))), 0, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE 33.97/10.30 f8660_1_equals_Load(EOS(STATIC_8660), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2088021713), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19716sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2128317196), java.lang.Object(o18881sub2128317196))), java.lang.Object(o19716sub0), java.lang.Object(o19718sub0), o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8733_0_equals_Return(EOS(STATIC_8733), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2088021713), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(o19716sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2128317196), java.lang.Object(o18881sub2128317196))), 0, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE 33.97/10.30 f8660_1_equals_Load(EOS(STATIC_8660), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8735_0_equals_Return(EOS(STATIC_8735), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), 0, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE 33.97/10.30 f8660_1_equals_Load(EOS(STATIC_8660), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) -> f8736_0_equals_Return(EOS(STATIC_8736), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196))), 1, o17699[LinkedList$Entry.previous]o17696, o18881[LinkedList$Entry.next]o17696, o18881[LinkedList$Entry.next]o18879) :|: TRUE 33.97/10.30 Combined rules. Obtained 8 IRulesP rules: 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2128317196:0), java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2128317196:0), java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0) -> f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), java.lang.Object(o20023sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(o17698sub2127335922:1))), 1, o17699[LinkedList$Entry.previous]o17696:0, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0) :|: o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && o18881[LinkedList$Entry.next]o17696:0 > 0 && i4703:0 > 1 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0) -> f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20040sub0:0), java.lang.Object(o20040sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(o17698sub2127335922:1))), 1, o17699[LinkedList$Entry.previous]o17696:0, o20038[LinkedList$Entry.next]o20036:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0) :|: o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && o18881[LinkedList$Entry.next]o17696:0 > 0 && i4703:0 > 1 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0) -> f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), java.lang.Object(o20023sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(o17698sub2127335922:1))), 1, o17699[LinkedList$Entry.previous]o17696:0, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0) :|: o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && o18881[LinkedList$Entry.next]o17696:0 > 0 && i4703:0 > 1 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17701[LinkedList$Entry.next]o17698:0, o17701[LinkedList$Entry.next]o17696:0) -> f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o20011sub0:0), java.lang.Object(o20011sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(o17698sub2127335922:1))), o20006[LinkedList$Entry.next]o20011:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o18877[LinkedList$Entry.next]o17698:0, o18877[LinkedList$Entry.next]o17696:0) :|: o17701[LinkedList$Entry.next]o17698:0 > 0 && o17698[LinkedList$Entry.next]o17701:0 > 0 && o17701[LinkedList$Entry.next]o17696:0 > -1 && o18877[LinkedList$Entry.next]o17696:0 < o17701[LinkedList$Entry.next]o17696:0 && o18877[LinkedList$Entry.next]o17698:0 < o17701[LinkedList$Entry.next]o17698:0 && o20006[LinkedList$Entry.next]o20011:0 > o17698[LinkedList$Entry.next]o17701:0 && i3151:0 > 0 && o18877[LinkedList$Entry.next]o17696:0 > 0 && i4703:0 > 1 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17701[LinkedList$Entry.next]o17698:0, o17701[LinkedList$Entry.next]o17696:0) -> f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o19993sub0:0), java.lang.Object(o19993sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(o17698sub2127335922:1))), o19988[LinkedList$Entry.next]o19993:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o18877[LinkedList$Entry.next]o17698:0, o18877[LinkedList$Entry.next]o17696:0) :|: o17701[LinkedList$Entry.next]o17698:0 > 0 && o17698[LinkedList$Entry.next]o17701:0 > 0 && o19988[LinkedList$Entry.next]o19993:0 > o17698[LinkedList$Entry.next]o17701:0 && o17701[LinkedList$Entry.next]o17696:0 > -1 && o18877[LinkedList$Entry.next]o17696:0 < o17701[LinkedList$Entry.next]o17696:0 && o18877[LinkedList$Entry.next]o17698:0 < o17701[LinkedList$Entry.next]o17698:0 && i3151:0 > 0 && o18877[LinkedList$Entry.next]o17696:0 > 0 && i4703:0 > 1 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19634sub2128317072:0), java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o19634sub2128317072:0), java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17701[LinkedList$Entry.next]o17698:0, o17701[LinkedList$Entry.next]o17696:0) -> f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o19993sub0:0), java.lang.Object(o19993sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(o17698sub2127335922:1))), o19988[LinkedList$Entry.next]o19993:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o18877[LinkedList$Entry.next]o17698:0, o18877[LinkedList$Entry.next]o17696:0) :|: o17701[LinkedList$Entry.next]o17698:0 > 0 && o17698[LinkedList$Entry.next]o17701:0 > 0 && o19988[LinkedList$Entry.next]o19993:0 > o17698[LinkedList$Entry.next]o17701:0 && o17701[LinkedList$Entry.next]o17696:0 > -1 && o18877[LinkedList$Entry.next]o17696:0 < o17701[LinkedList$Entry.next]o17696:0 && o18877[LinkedList$Entry.next]o17698:0 < o17701[LinkedList$Entry.next]o17698:0 && i3151:0 > 0 && o18877[LinkedList$Entry.next]o17696:0 > 0 && i4703:0 > 1 33.97/10.30 Removed following non-SCC rules: 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072:0, java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072:0, java.lang.Object(o18877sub2128317072:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17701[LinkedList$Entry.next]o17698:0, o17701[LinkedList$Entry.next]o17696:0) -> f9476_0_equals_Load(EOS(STATIC_9476), java.lang.Object(o17700sub0:0), o188760:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(o17698sub2127335922:1))), java.lang.Object(o17698sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188762128317072:0, java.lang.Object(o18877sub2128317072:0))), java.lang.Object(o18877sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), o188760:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o18877[LinkedList$Entry.next]o17696:0, o18877[LinkedList$Entry.next]o17698:0) :|: o17701[LinkedList$Entry.next]o17698:0 > 0 && o17701[LinkedList$Entry.next]o17696:0 > -1 && o18877[LinkedList$Entry.next]o17696:0 < o17701[LinkedList$Entry.next]o17696:0 && o18877[LinkedList$Entry.next]o17698:0 < o17701[LinkedList$Entry.next]o17698:0 && o17698[LinkedList$Entry.next]o17701:0 > 0 && i4703:0 > 1 && i3151:0 > 0 33.97/10.30 f8583_0_remove_EQ(EOS(STATIC_8583), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713:0, java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196:0, java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196:0, java.lang.Object(o18881sub2128317196:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:0, java.lang.Object(o17698sub2127335922:0))), o17698[LinkedList$Entry.next]o17701:0, o17699[LinkedList$Entry.previous]o17696:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0) -> f9556_0_equals_Load(EOS(STATIC_9556), java.lang.Object(o17700sub0:0), o188800:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o176972127335922:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o18880-39314178:0, java.lang.Object(o18881sub-39314178:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802128317196:0, java.lang.Object(o18881sub2128317196:0))), java.lang.Object(o18881sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o188802088021713:0, java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), o188800:0, o17699[LinkedList$Entry.previous]o17696:0, o18881[LinkedList$Entry.next]o17696:0, o18881[LinkedList$Entry.next]o18879:0) :|: o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i4703:0 > 1 && i3151:0 > 0 33.97/10.30 Filtered constant ground arguments: 33.97/10.30 f8583_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f8583_0_remove_EQ(x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) 33.97/10.30 EOS(x1) -> EOS 33.97/10.30 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 33.97/10.30 javaUtilEx.Content(x1) -> javaUtilEx.Content 33.97/10.30 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 33.97/10.30 Filtered duplicate arguments: 33.97/10.30 f8583_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8583_0_remove_EQ(x1, x2, x4, x5, x6, x7, x8, x9, x10) 33.97/10.30 Filtered unneeded arguments: 33.97/10.30 f8583_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8583_0_remove_EQ(x1, x2, x3, x5, x7, x8, x9) 33.97/10.30 Finished conversion. Obtained 6 rules.P rules: 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2128317196:0), java.lang.Object(o18881sub2128317196:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), 1, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && i4703:0 > 1 && o18881[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18881sub2128317196:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20040sub0:0), 1, o20038[LinkedList$Entry.next]o20036:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && i4703:0 > 1 && o18881[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18881sub2128317196:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), 1, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && i4703:0 > 1 && o18881[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o18877sub2128317072:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17701[LinkedList$Entry.next]o17698:0, o17701[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(o20011sub0:0), o20006[LinkedList$Entry.next]o20011:0, o17698[LinkedList$Entry.next]o17696:0, o18877[LinkedList$Entry.next]o17698:0, o18877[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o17698[LinkedList$Entry.next]o17701:0 > 0 && o17701[LinkedList$Entry.next]o17698:0 > 0 && o17701[LinkedList$Entry.next]o17696:0 > -1 && o18877[LinkedList$Entry.next]o17696:0 < o17701[LinkedList$Entry.next]o17696:0 && o18877[LinkedList$Entry.next]o17698:0 < o17701[LinkedList$Entry.next]o17698:0 && o20006[LinkedList$Entry.next]o20011:0 > o17698[LinkedList$Entry.next]o17701:0 && i3151:0 > 0 && i4703:0 > 1 && o18877[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o18877sub2128317072:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17701[LinkedList$Entry.next]o17698:0, o17701[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o19993sub0:0), o19988[LinkedList$Entry.next]o19993:0, o17698[LinkedList$Entry.next]o17696:0, o18877[LinkedList$Entry.next]o17698:0, o18877[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o17698[LinkedList$Entry.next]o17701:0 > 0 && o17701[LinkedList$Entry.next]o17698:0 > 0 && o19988[LinkedList$Entry.next]o19993:0 > o17698[LinkedList$Entry.next]o17701:0 && o17701[LinkedList$Entry.next]o17696:0 > -1 && o18877[LinkedList$Entry.next]o17696:0 < o17701[LinkedList$Entry.next]o17696:0 && o18877[LinkedList$Entry.next]o17698:0 < o17701[LinkedList$Entry.next]o17698:0 && i3151:0 > 0 && i4703:0 > 1 && o18877[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19634sub2128317072:0), java.lang.Object(o18877sub2128317072:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17701[LinkedList$Entry.next]o17698:0, o17701[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(o17698sub-40295483:0)))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o19993sub0:0), o19988[LinkedList$Entry.next]o19993:0, o17698[LinkedList$Entry.next]o17696:0, o18877[LinkedList$Entry.next]o17698:0, o18877[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o17698[LinkedList$Entry.next]o17701:0 > 0 && o17701[LinkedList$Entry.next]o17698:0 > 0 && o19988[LinkedList$Entry.next]o19993:0 > o17698[LinkedList$Entry.next]o17701:0 && o17701[LinkedList$Entry.next]o17696:0 > -1 && o18877[LinkedList$Entry.next]o17696:0 < o17701[LinkedList$Entry.next]o17696:0 && o18877[LinkedList$Entry.next]o17698:0 < o17701[LinkedList$Entry.next]o17698:0 && i3151:0 > 0 && i4703:0 > 1 && o18877[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (37) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2128317196:0), java.lang.Object(o18881sub2128317196:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), 1, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && i4703:0 > 1 && o18881[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x3, x4, x) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x5), 1, x6, x7, x8, x) :|: x8 < x4 && x4 > -1 && x7 < x3 && x3 > -1 && x9 > 0 && x10 > 1 && x8 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x15, x16, x11) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(x17), 1, x18, x19, x20, x11) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x21 > 0 && x22 > 1 && x20 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x25))), x26, x27, x28, x29, x23) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x30), x31, x27, x32, x33, x23) :|: x26 > 0 && x28 > 0 && x29 > -1 && x33 < x29 && x32 < x28 && x31 > x26 && x34 > 0 && x35 > 1 && x33 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x42, x43, x36) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(x44), x45, x41, x46, x47, x36) :|: x40 > 0 && x42 > 0 && x45 > x40 && x43 > -1 && x47 < x43 && x46 < x42 && x48 > 0 && x49 > 1 && x47 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x53), java.lang.Object(x54))), x55, x56, x57, x58, x50) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(x59), x60, x56, x61, x62, x50) :|: x55 > 0 && x57 > 0 && x60 > x55 && x58 > -1 && x62 < x58 && x61 < x57 && x63 > 0 && x64 > 1 && x62 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (38) IRSFormatTransformerProof (EQUIVALENT) 33.97/10.30 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (39) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2128317196:0), java.lang.Object(o18881sub2128317196:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), 1, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && i4703:0 > 1 && o18881[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x3, x4, x) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x5), 1, x6, x7, x8, x) :|: x8 < x4 && x4 > -1 && x7 < x3 && x3 > -1 && x9 > 0 && x10 > 1 && x8 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x15, x16, x11) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(x17), 1, x18, x19, x20, x11) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x21 > 0 && x22 > 1 && x20 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x25))), x26, x27, x28, x29, x23) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x30), x31, x27, x32, x33, x23) :|: x26 > 0 && x28 > 0 && x29 > -1 && x33 < x29 && x32 < x28 && x31 > x26 && x34 > 0 && x35 > 1 && x33 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x42, x43, x36) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(x44), x45, x41, x46, x47, x36) :|: x40 > 0 && x42 > 0 && x45 > x40 && x43 > -1 && x47 < x43 && x46 < x42 && x48 > 0 && x49 > 1 && x47 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x53), java.lang.Object(x54))), x55, x56, x57, x58, x50) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(x59), x60, x56, x61, x62, x50) :|: x55 > 0 && x57 > 0 && x60 > x55 && x58 > -1 && x62 < x58 && x61 < x57 && x63 > 0 && x64 > 1 && x62 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (40) IRSwTTerminationDigraphProof (EQUIVALENT) 33.97/10.30 Constructed termination digraph! 33.97/10.30 Nodes: 33.97/10.30 (1) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2128317196:0), java.lang.Object(o18881sub2128317196:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), 1, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && i4703:0 > 1 && o18881[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 (2) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x3, x4, x) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x5), 1, x6, x7, x8, x) :|: x8 < x4 && x4 > -1 && x7 < x3 && x3 > -1 && x9 > 0 && x10 > 1 && x8 > 0 33.97/10.30 (3) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x15, x16, x11) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(x17), 1, x18, x19, x20, x11) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x21 > 0 && x22 > 1 && x20 > 0 33.97/10.30 (4) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x25))), x26, x27, x28, x29, x23) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x30), x31, x27, x32, x33, x23) :|: x26 > 0 && x28 > 0 && x29 > -1 && x33 < x29 && x32 < x28 && x31 > x26 && x34 > 0 && x35 > 1 && x33 > 0 33.97/10.30 (5) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x42, x43, x36) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(x44), x45, x41, x46, x47, x36) :|: x40 > 0 && x42 > 0 && x45 > x40 && x43 > -1 && x47 < x43 && x46 < x42 && x48 > 0 && x49 > 1 && x47 > 0 33.97/10.30 (6) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x53), java.lang.Object(x54))), x55, x56, x57, x58, x50) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(x59), x60, x56, x61, x62, x50) :|: x55 > 0 && x57 > 0 && x60 > x55 && x58 > -1 && x62 < x58 && x61 < x57 && x63 > 0 && x64 > 1 && x62 > 0 33.97/10.30 33.97/10.30 Arcs: 33.97/10.30 (1) -> (1), (2), (4), (5), (6) 33.97/10.30 (2) -> (1), (2), (4), (5), (6) 33.97/10.30 (3) -> (3), (4), (5), (6) 33.97/10.30 (4) -> (1), (2), (3), (4), (5), (6) 33.97/10.30 (5) -> (1), (2), (3), (4), (5), (6) 33.97/10.30 (6) -> (1), (2), (3), (4), (5), (6) 33.97/10.30 33.97/10.30 This digraph is fully evaluated! 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (41) 33.97/10.30 Obligation: 33.97/10.30 33.97/10.30 Termination digraph: 33.97/10.30 Nodes: 33.97/10.30 (1) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2128317196:0), java.lang.Object(o18881sub2128317196:0))), o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17698[LinkedList$Entry.next]o17701:0, o17698[LinkedList$Entry.next]o17696:0, o17697-40295483:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0), java.lang.Object(o18881sub2088021713:0)))))))))), java.lang.Object(o17700sub0:0), java.lang.Object(o20023sub0:0), 1, o20021[LinkedList$Entry.next]o20019:0, o18881[LinkedList$Entry.next]o18879:0, o18881[LinkedList$Entry.next]o17696:0, o17697-40295483:0) :|: o18881[LinkedList$Entry.next]o17696:0 < o17698[LinkedList$Entry.next]o17696:0 && o17698[LinkedList$Entry.next]o17696:0 > -1 && o18881[LinkedList$Entry.next]o18879:0 < o17698[LinkedList$Entry.next]o17701:0 && o17698[LinkedList$Entry.next]o17701:0 > -1 && i3151:0 > 0 && i4703:0 > 1 && o18881[LinkedList$Entry.next]o17696:0 > 0 33.97/10.30 (2) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x3, x4, x) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x5), 1, x6, x7, x8, x) :|: x8 < x4 && x4 > -1 && x7 < x3 && x3 > -1 && x9 > 0 && x10 > 1 && x8 > 0 33.97/10.30 (3) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x25))), x26, x27, x28, x29, x23) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23, java.lang.Object(x24)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x30), x31, x27, x32, x33, x23) :|: x26 > 0 && x28 > 0 && x29 > -1 && x33 < x29 && x32 < x28 && x31 > x26 && x34 > 0 && x35 > 1 && x33 > 0 33.97/10.30 (4) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14))), x15, x16, x15, x16, x11) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12)))))))))), java.lang.Object(x13), java.lang.Object(x17), 1, x18, x19, x20, x11) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x21 > 0 && x22 > 1 && x20 > 0 33.97/10.30 (5) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39))), x40, x41, x42, x43, x36) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36, java.lang.Object(x37)))))))), java.lang.Object(x38), java.lang.Object(x44), x45, x41, x46, x47, x36) :|: x40 > 0 && x42 > 0 && x45 > x40 && x43 > -1 && x47 < x43 && x46 < x42 && x48 > 0 && x49 > 1 && x47 > 0 33.97/10.30 (6) f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x53), java.lang.Object(x54))), x55, x56, x57, x58, x50) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50, java.lang.Object(x51)))))))), java.lang.Object(x52), java.lang.Object(x59), x60, x56, x61, x62, x50) :|: x55 > 0 && x57 > 0 && x60 > x55 && x58 > -1 && x62 < x58 && x61 < x57 && x63 > 0 && x64 > 1 && x62 > 0 33.97/10.30 33.97/10.30 Arcs: 33.97/10.30 (1) -> (1), (2), (3), (5), (6) 33.97/10.30 (2) -> (1), (2), (3), (5), (6) 33.97/10.30 (3) -> (1), (2), (3), (4), (5), (6) 33.97/10.30 (4) -> (3), (4), (5), (6) 33.97/10.30 (5) -> (1), (2), (3), (4), (5), (6) 33.97/10.30 (6) -> (1), (2), (3), (4), (5), (6) 33.97/10.30 33.97/10.30 This digraph is fully evaluated! 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (42) IntTRSCompressionProof (EQUIVALENT) 33.97/10.30 Compressed rules. 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (43) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36:0, java.lang.Object(x37:0)))))))), java.lang.Object(x38:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x39:0))), x40:0, x41:0, x42:0, x43:0, x36:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x36:0, java.lang.Object(x37:0)))))))), java.lang.Object(x38:0), java.lang.Object(x44:0), x45:0, x41:0, x46:0, x47:0, x36:0) :|: x49:0 > 1 && x47:0 > 0 && x48:0 > 0 && x46:0 < x42:0 && x47:0 < x43:0 && x43:0 > -1 && x45:0 > x40:0 && x42:0 > 0 && x40:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50:0, java.lang.Object(x51:0)))))))), java.lang.Object(x52:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x53:0), java.lang.Object(x54:0))), x55:0, x56:0, x57:0, x58:0, x50:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x50:0, java.lang.Object(x51:0)))))))), java.lang.Object(x52:0), java.lang.Object(x59:0), x60:0, x56:0, x61:0, x62:0, x50:0) :|: x64:0 > 1 && x62:0 > 0 && x63:0 > 0 && x61:0 < x57:0 && x62:0 < x58:0 && x58:0 > -1 && x60:0 > x55:0 && x57:0 > 0 && x55:0 > 0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12:0)))))))))), java.lang.Object(x13:0), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x14:0))), x15:0, x16:0, x15:0, x16:0, x11:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x11:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x12:0)))))))))), java.lang.Object(x13:0), java.lang.Object(x17:0), 1, x18:0, x19:0, x20:0, x11:0) :|: x22:0 > 1 && x20:0 > 0 && x21:0 > 0 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2:0))), x3:0, x4:0, x3:0, x4:0, x:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x1:0)))))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x5:0), 1, x6:0, x7:0, x8:0, x:0) :|: x10:0 > 1 && x8:0 > 0 && x9:0 > 0 && x3:0 > -1 && x7:0 < x3:0 && x4:0 > -1 && x8:0 < x4:0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0:0), java.lang.Object(o18881sub2088021713:0:0)))))))))), java.lang.Object(o17700sub0:0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2128317196:0:0), java.lang.Object(o18881sub2128317196:0:0))), o17698[LinkedList$Entry.next]o17701:0:0, o17698[LinkedList$Entry.next]o17696:0:0, o17698[LinkedList$Entry.next]o17701:0:0, o17698[LinkedList$Entry.next]o17696:0:0, o17697-40295483:0:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o17697-40295483:0:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o19718sub2088021713:0:0), java.lang.Object(o18881sub2088021713:0:0)))))))))), java.lang.Object(o17700sub0:0:0), java.lang.Object(o20023sub0:0:0), 1, o20021[LinkedList$Entry.next]o20019:0:0, o18881[LinkedList$Entry.next]o18879:0:0, o18881[LinkedList$Entry.next]o17696:0:0, o17697-40295483:0:0) :|: i4703:0:0 > 1 && o18881[LinkedList$Entry.next]o17696:0:0 > 0 && i3151:0:0 > 0 && o17698[LinkedList$Entry.next]o17701:0:0 > -1 && o18881[LinkedList$Entry.next]o18879:0:0 < o17698[LinkedList$Entry.next]o17701:0:0 && o17698[LinkedList$Entry.next]o17696:0:0 > -1 && o18881[LinkedList$Entry.next]o17696:0:0 < o17698[LinkedList$Entry.next]o17696:0:0 33.97/10.30 f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23:0, java.lang.Object(x24:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x25:0))), x26:0, x27:0, x28:0, x29:0, x23:0) -> f8583_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x23:0, java.lang.Object(x24:0)))))))), java.lang.Object(javaUtilEx.Content), java.lang.Object(x30:0), x31:0, x27:0, x32:0, x33:0, x23:0) :|: x35:0 > 1 && x33:0 > 0 && x34:0 > 0 && x31:0 > x26:0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x28:0 > 0 && x26:0 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (44) TempFilterProof (SOUND) 33.97/10.30 Used the following sort dictionary for filtering: 33.97/10.30 f8583_0_remove_EQ(VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE) 33.97/10.30 java.lang.Object(VARIABLE) 33.97/10.30 javaUtilEx.AbstractCollection(VARIABLE) 33.97/10.30 javaUtilEx.AbstractList(VARIABLE) 33.97/10.30 javaUtilEx.AbstractSequentialList(VARIABLE) 33.97/10.30 javaUtilEx.LinkedList(VARIABLE) 33.97/10.30 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 33.97/10.30 NULL() 33.97/10.30 javaUtilEx.Content() 33.97/10.30 Replaced non-predefined constructor symbols by 0. 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (45) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8583_0_remove_EQ(c, c1, c2, x40:0, x41:0, x42:0, x43:0, x36:0) -> f8583_0_remove_EQ(c3, c4, c5, x45:0, x41:0, x46:0, x47:0, x36:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x49:0 > 1 && x47:0 > 0 && x48:0 > 0 && x46:0 < x42:0 && x47:0 < x43:0 && x43:0 > -1 && x45:0 > x40:0 && x42:0 > 0 && x40:0 > 0) 33.97/10.30 f8583_0_remove_EQ(c12, c13, c14, x15:0, x16:0, x15:0, x16:0, x11:0) -> f8583_0_remove_EQ(c15, c16, c17, c18, x18:0, x19:0, x20:0, x11:0) :|: c18 = 1 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && (c13 = 0 && c12 = 0))))) && (x22:0 > 1 && x20:0 > 0 && x21:0 > 0 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0) 33.97/10.30 f8583_0_remove_EQ(c33, c34, c35, x26:0, x27:0, x28:0, x29:0, x23:0) -> f8583_0_remove_EQ(c36, c37, c38, x31:0, x27:0, x32:0, x33:0, x23:0) :|: c38 = 0 && (c37 = 0 && (c36 = 0 && (c35 = 0 && (c34 = 0 && c33 = 0)))) && (x35:0 > 1 && x33:0 > 0 && x34:0 > 0 && x31:0 > x26:0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x28:0 > 0 && x26:0 > 0) 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (46) RankingReductionPairProof (EQUIVALENT) 33.97/10.30 Interpretation: 33.97/10.30 [ f8583_0_remove_EQ ] = f8583_0_remove_EQ_7 33.97/10.30 33.97/10.30 The following rules are decreasing: 33.97/10.30 f8583_0_remove_EQ(c, c1, c2, x40:0, x41:0, x42:0, x43:0, x36:0) -> f8583_0_remove_EQ(c3, c4, c5, x45:0, x41:0, x46:0, x47:0, x36:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x49:0 > 1 && x47:0 > 0 && x48:0 > 0 && x46:0 < x42:0 && x47:0 < x43:0 && x43:0 > -1 && x45:0 > x40:0 && x42:0 > 0 && x40:0 > 0) 33.97/10.30 f8583_0_remove_EQ(c12, c13, c14, x15:0, x16:0, x15:0, x16:0, x11:0) -> f8583_0_remove_EQ(c15, c16, c17, c18, x18:0, x19:0, x20:0, x11:0) :|: c18 = 1 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && (c13 = 0 && c12 = 0))))) && (x22:0 > 1 && x20:0 > 0 && x21:0 > 0 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0) 33.97/10.30 f8583_0_remove_EQ(c33, c34, c35, x26:0, x27:0, x28:0, x29:0, x23:0) -> f8583_0_remove_EQ(c36, c37, c38, x31:0, x27:0, x32:0, x33:0, x23:0) :|: c38 = 0 && (c37 = 0 && (c36 = 0 && (c35 = 0 && (c34 = 0 && c33 = 0)))) && (x35:0 > 1 && x33:0 > 0 && x34:0 > 0 && x31:0 > x26:0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x28:0 > 0 && x26:0 > 0) 33.97/10.30 33.97/10.30 The following rules are bounded: 33.97/10.30 f8583_0_remove_EQ(c, c1, c2, x40:0, x41:0, x42:0, x43:0, x36:0) -> f8583_0_remove_EQ(c3, c4, c5, x45:0, x41:0, x46:0, x47:0, x36:0) :|: c5 = 0 && (c4 = 0 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)))) && (x49:0 > 1 && x47:0 > 0 && x48:0 > 0 && x46:0 < x42:0 && x47:0 < x43:0 && x43:0 > -1 && x45:0 > x40:0 && x42:0 > 0 && x40:0 > 0) 33.97/10.30 f8583_0_remove_EQ(c12, c13, c14, x15:0, x16:0, x15:0, x16:0, x11:0) -> f8583_0_remove_EQ(c15, c16, c17, c18, x18:0, x19:0, x20:0, x11:0) :|: c18 = 1 && (c17 = 0 && (c16 = 0 && (c15 = 0 && (c14 = 0 && (c13 = 0 && c12 = 0))))) && (x22:0 > 1 && x20:0 > 0 && x21:0 > 0 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0) 33.97/10.30 f8583_0_remove_EQ(c33, c34, c35, x26:0, x27:0, x28:0, x29:0, x23:0) -> f8583_0_remove_EQ(c36, c37, c38, x31:0, x27:0, x32:0, x33:0, x23:0) :|: c38 = 0 && (c37 = 0 && (c36 = 0 && (c35 = 0 && (c34 = 0 && c33 = 0)))) && (x35:0 > 1 && x33:0 > 0 && x34:0 > 0 && x31:0 > x26:0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x28:0 > 0 && x26:0 > 0) 33.97/10.30 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (47) 33.97/10.30 YES 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (48) 33.97/10.30 Obligation: 33.97/10.30 SCC of termination graph based on JBC Program. 33.97/10.30 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 33.97/10.30 SCC calls the following helper methods: 33.97/10.30 Performed SCC analyses: 33.97/10.30 *Used field analysis yielded the following read fields: 33.97/10.30 *javaUtilEx.LinkedList$Entry: [element, next] 33.97/10.30 *javaUtilEx.LinkedList: [header] 33.97/10.30 *Marker field analysis yielded the following relations that could be markers: 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (49) SCCToIRSProof (SOUND) 33.97/10.30 Transformed FIGraph SCCs to intTRSs. Log: 33.97/10.30 Generated rules. Obtained 26 IRulesP rules: 33.97/10.30 f8321_0_remove_EQ(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534, java.lang.Object(o15917sub2125570534))), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917, o15918[LinkedList$Entry.next]o15915) -> f8335_0_remove_Load(EOS(STATIC_8335), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917, o15918[LinkedList$Entry.next]o15915) :|: TRUE 33.97/10.30 f8335_0_remove_Load(EOS(STATIC_8335), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917, o15918[LinkedList$Entry.next]o15915) -> f8349_0_remove_FieldAccess(EOS(STATIC_8349), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917, o15918[LinkedList$Entry.next]o15915) :|: TRUE 33.97/10.30 f8349_0_remove_FieldAccess(EOS(STATIC_8349), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917, o15918[LinkedList$Entry.next]o15915) -> f8359_0_remove_FieldAccess(EOS(STATIC_8359), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) :|: o15917[LinkedList$Entry.next]o15918 > 0 && o15918[LinkedList$Entry.next]o15917 > 0 33.97/10.30 f8349_0_remove_FieldAccess(EOS(STATIC_8349), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o16431sub-43826259)))))))), java.lang.Object(o16431sub0), java.lang.Object(o16431sub0), o16431[LinkedList$Entry.next]o16431, o16431[LinkedList$Entry.next]o15915, o16431[LinkedList$Entry.next]o16431, o16431[LinkedList$Entry.next]o15915) -> f8360_0_remove_FieldAccess(EOS(STATIC_8360), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o16431sub-43826259)))))))), java.lang.Object(o16431sub0), java.lang.Object(o16431sub0), o16431[LinkedList$Entry.next]o15915, o16431[LinkedList$Entry.next]o16431) :|: TRUE 33.97/10.30 f8359_0_remove_FieldAccess(EOS(STATIC_8359), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165612126379541, java.lang.Object(o16562sub2126379541))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165612126379541, java.lang.Object(o16562sub2126379541))), o15917[LinkedList$Entry.next]o16560, o15917[LinkedList$Entry.next]o15915, o16560[LinkedList$Entry.next]o15915, o16560[LinkedList$Entry.next]o15917) -> f8373_0_remove_FieldAccess(EOS(STATIC_8373), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165612126379541, java.lang.Object(o16562sub2126379541))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165612126379541, java.lang.Object(o16562sub2126379541))), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) :|: o16562[LinkedList$Entry.next]o15915 < o16560[LinkedList$Entry.next]o15915 && o16560[LinkedList$Entry.next]o15915 >= 0 && o16562[LinkedList$Entry.next]o15917 < o16560[LinkedList$Entry.next]o15917 && o16560[LinkedList$Entry.next]o15917 >= 0 33.97/10.30 f8373_0_remove_FieldAccess(EOS(STATIC_8373), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165612126379541, java.lang.Object(o16562sub2126379541))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165612126379541, java.lang.Object(o16562sub2126379541))), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) -> f8392_0_remove_NONNULL(EOS(STATIC_8392), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165612126379541, java.lang.Object(o16562sub2126379541))), o165610, o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8392_0_remove_NONNULL(EOS(STATIC_8392), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541), java.lang.Object(o16562sub2126379541))), java.lang.Object(o17009sub0), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) -> f8415_0_remove_NONNULL(EOS(STATIC_8415), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541), java.lang.Object(o16562sub2126379541))), java.lang.Object(o17009sub0), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8415_0_remove_NONNULL(EOS(STATIC_8415), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541), java.lang.Object(o16562sub2126379541))), java.lang.Object(o17009sub0), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) -> f8434_0_remove_Load(EOS(STATIC_8434), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541), java.lang.Object(o16562sub2126379541))), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8434_0_remove_Load(EOS(STATIC_8434), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541), java.lang.Object(o16562sub2126379541))), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) -> f8453_0_remove_FieldAccess(EOS(STATIC_8453), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541), java.lang.Object(o16562sub2126379541))), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8453_0_remove_FieldAccess(EOS(STATIC_8453), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541), java.lang.Object(o16562sub2126379541))), o15917[LinkedList$Entry.next]o15915, o15917[LinkedList$Entry.next]o16560, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) -> f8471_0_remove_Store(EOS(STATIC_8471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o16562sub0), o15917[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917, o15917[LinkedList$Entry.next]o16562) :|: o15917[LinkedList$Entry.next]o16562 > o15917[LinkedList$Entry.next]o16560 && o15917[LinkedList$Entry.next]o16560 >= 0 33.97/10.30 f8471_0_remove_Store(EOS(STATIC_8471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o16562sub0), o15917[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917, o15917[LinkedList$Entry.next]o16562) -> f8490_0_remove_JMP(EOS(STATIC_8490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o16562sub0), o15917[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917, o15917[LinkedList$Entry.next]o16562) :|: TRUE 33.97/10.30 f8490_0_remove_JMP(EOS(STATIC_8490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o16562sub0), o15917[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917, o15917[LinkedList$Entry.next]o16562) -> f8507_0_remove_Load(EOS(STATIC_8507), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o16562sub0), o15917[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917, o15917[LinkedList$Entry.next]o16562) :|: TRUE 33.97/10.30 f8507_0_remove_Load(EOS(STATIC_8507), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o16562sub0), o15917[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917, o15917[LinkedList$Entry.next]o16562) -> f8258_0_remove_Load(EOS(STATIC_8258), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o16562sub0), o15917[LinkedList$Entry.next]o16562, o15917[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15915, o16562[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8258_0_remove_Load(EOS(STATIC_8258), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) -> f8272_0_remove_Load(EOS(STATIC_8272), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8272_0_remove_Load(EOS(STATIC_8272), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) -> f8291_0_remove_FieldAccess(EOS(STATIC_8291), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8291_0_remove_FieldAccess(EOS(STATIC_8291), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) -> f8310_0_remove_EQ(EOS(STATIC_8310), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534, java.lang.Object(o15917sub2125570534))), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) :|: TRUE 33.97/10.30 f8310_0_remove_EQ(EOS(STATIC_8310), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534, java.lang.Object(o15917sub2125570534))), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917) -> f8321_0_remove_EQ(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(o15917sub-43826259)))))))), java.lang.Object(o15918sub0), java.lang.Object(o15918sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534, java.lang.Object(o15917sub2125570534))), o15917[LinkedList$Entry.next]o15918, o15917[LinkedList$Entry.next]o15915, o15918[LinkedList$Entry.next]o15917, o15918[LinkedList$Entry.next]o15915) :|: o15918[LinkedList$Entry.next]o15915 > 0 33.97/10.30 f8360_0_remove_FieldAccess(EOS(STATIC_8360), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652082553406, java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652126379665, java.lang.Object(o16566sub2126379665))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652126379665, java.lang.Object(o16566sub2126379665))), o16564[LinkedList$Entry.next]o15915, o16564[LinkedList$Entry.next]o16564) -> f8374_0_remove_FieldAccess(EOS(STATIC_8374), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652082553406, java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652126379665, java.lang.Object(o16566sub2126379665))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652126379665, java.lang.Object(o16566sub2126379665))), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: o16566[LinkedList$Entry.next]o15915 < o16564[LinkedList$Entry.next]o15915 && o16564[LinkedList$Entry.next]o15915 >= 0 && o16566[LinkedList$Entry.next]o16564 < o16564[LinkedList$Entry.next]o16564 && o16564[LinkedList$Entry.next]o16564 >= 0 33.97/10.30 f8374_0_remove_FieldAccess(EOS(STATIC_8374), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652082553406, java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652126379665, java.lang.Object(o16566sub2126379665))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652126379665, java.lang.Object(o16566sub2126379665))), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8393_0_remove_NONNULL(EOS(STATIC_8393), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652082553406, java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165652126379665, java.lang.Object(o16566sub2126379665))), o165650, o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: TRUE 33.97/10.30 f8393_0_remove_NONNULL(EOS(STATIC_8393), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665), java.lang.Object(o16566sub2126379665))), java.lang.Object(o17010sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8417_0_remove_NONNULL(EOS(STATIC_8417), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665), java.lang.Object(o16566sub2126379665))), java.lang.Object(o17010sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: TRUE 33.97/10.30 f8417_0_remove_NONNULL(EOS(STATIC_8417), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665), java.lang.Object(o16566sub2126379665))), java.lang.Object(o17010sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8436_0_remove_Load(EOS(STATIC_8436), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665), java.lang.Object(o16566sub2126379665))), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: TRUE 33.97/10.30 f8436_0_remove_Load(EOS(STATIC_8436), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665), java.lang.Object(o16566sub2126379665))), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8455_0_remove_FieldAccess(EOS(STATIC_8455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665), java.lang.Object(o16566sub2126379665))), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: TRUE 33.97/10.30 f8455_0_remove_FieldAccess(EOS(STATIC_8455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665), java.lang.Object(o16566sub2126379665))), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8473_0_remove_Store(EOS(STATIC_8473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(o16566sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: TRUE 33.97/10.30 f8473_0_remove_Store(EOS(STATIC_8473), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(o16566sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8492_0_remove_JMP(EOS(STATIC_8492), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(o16566sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: TRUE 33.97/10.30 f8492_0_remove_JMP(EOS(STATIC_8492), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(o16566sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8508_0_remove_Load(EOS(STATIC_8508), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(o16566sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: TRUE 33.97/10.30 f8508_0_remove_Load(EOS(STATIC_8508), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(o16566sub0), o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) -> f8258_0_remove_Load(EOS(STATIC_8258), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406), java.lang.Object(o16566sub2082553406)))))))))), java.lang.Object(o16566sub0), o16564[LinkedList$Entry.next]o16566, o16564[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o15915, o16566[LinkedList$Entry.next]o16564) :|: o16564[LinkedList$Entry.next]o16566 = 1 33.97/10.30 Combined rules. Obtained 2 IRulesP rules: 33.97/10.30 f8321_0_remove_EQ(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541:0), java.lang.Object(o16562sub2126379541:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17009sub2126379541:0), java.lang.Object(o16562sub2126379541:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534:0, java.lang.Object(o15917sub2125570534:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15918[LinkedList$Entry.next]o15917:0, o15918[LinkedList$Entry.next]o15915:0) -> f8321_0_remove_EQ(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(o16562sub0:0), java.lang.Object(o16562sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534:1, java.lang.Object(o15917sub2125570534:1))), o15917[LinkedList$Entry.next]o16562:0, o15917[LinkedList$Entry.next]o15915:0, o16562[LinkedList$Entry.next]o15917:0, o16562[LinkedList$Entry.next]o15915:0) :|: o15918[LinkedList$Entry.next]o15917:0 > 0 && o15917[LinkedList$Entry.next]o15918:0 > 0 && o15918[LinkedList$Entry.next]o15915:0 > -1 && o16562[LinkedList$Entry.next]o15915:0 < o15918[LinkedList$Entry.next]o15915:0 && o16562[LinkedList$Entry.next]o15917:0 < o15918[LinkedList$Entry.next]o15917:0 && o16562[LinkedList$Entry.next]o15915:0 > 0 && o15917[LinkedList$Entry.next]o16562:0 > o15917[LinkedList$Entry.next]o15918:0 33.97/10.30 f8321_0_remove_EQ(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406:0), java.lang.Object(o16566sub2082553406:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665:0), java.lang.Object(o16566sub2126379665:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2126379665:0), java.lang.Object(o16566sub2126379665:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534:0, java.lang.Object(o15917sub2125570534:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0) -> f8321_0_remove_EQ(EOS(STATIC_8321), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15916-43826259:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17010sub2082553406:0), java.lang.Object(o16566sub2082553406:0)))))))))), java.lang.Object(o16566sub0:0), java.lang.Object(o16566sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o159162125570534:1, java.lang.Object(o15917sub2125570534:1))), 1, o16564[LinkedList$Entry.next]o15915:0, o16566[LinkedList$Entry.next]o16564:0, o16566[LinkedList$Entry.next]o15915:0) :|: o15917[LinkedList$Entry.next]o15915:0 > -1 && o16566[LinkedList$Entry.next]o15915:0 < o15917[LinkedList$Entry.next]o15915:0 && o16566[LinkedList$Entry.next]o16564:0 < o15917[LinkedList$Entry.next]o15918:0 && o16566[LinkedList$Entry.next]o15915:0 > 0 && o15917[LinkedList$Entry.next]o15918:0 > -1 33.97/10.30 Filtered constant ground arguments: 33.97/10.30 f8321_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8321_0_remove_EQ(x2, x3, x4, x5, x6, x7, x8, x9) 33.97/10.30 EOS(x1) -> EOS 33.97/10.30 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 33.97/10.30 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 33.97/10.30 Filtered duplicate arguments: 33.97/10.30 f8321_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8321_0_remove_EQ(x1, x3, x4, x5, x6, x7, x8) 33.97/10.30 Filtered unneeded arguments: 33.97/10.30 f8321_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7) -> f8321_0_remove_EQ(x1, x2, x4, x5, x6, x7) 33.97/10.30 Finished conversion. Obtained 2 rules.P rules: 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17009sub2126379541:0), java.lang.Object(o16562sub2126379541:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15918[LinkedList$Entry.next]o15917:0, o15918[LinkedList$Entry.next]o15915:0, o15916-43826259:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(o16562sub0:0), o15917[LinkedList$Entry.next]o16562:0, o15917[LinkedList$Entry.next]o15915:0, o16562[LinkedList$Entry.next]o15917:0, o16562[LinkedList$Entry.next]o15915:0, o15916-43826259:0) :|: o15917[LinkedList$Entry.next]o15918:0 > 0 && o15918[LinkedList$Entry.next]o15917:0 > 0 && o15918[LinkedList$Entry.next]o15915:0 > -1 && o16562[LinkedList$Entry.next]o15915:0 < o15918[LinkedList$Entry.next]o15915:0 && o16562[LinkedList$Entry.next]o15917:0 < o15918[LinkedList$Entry.next]o15917:0 && o15917[LinkedList$Entry.next]o16562:0 > o15917[LinkedList$Entry.next]o15918:0 && o16562[LinkedList$Entry.next]o15915:0 > 0 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17010sub2082553406:0), java.lang.Object(o16566sub2082553406:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17010sub2126379665:0), java.lang.Object(o16566sub2126379665:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15916-43826259:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17010sub2082553406:0), java.lang.Object(o16566sub2082553406:0)))))))))), java.lang.Object(o16566sub0:0), 1, o16564[LinkedList$Entry.next]o15915:0, o16566[LinkedList$Entry.next]o16564:0, o16566[LinkedList$Entry.next]o15915:0, o15916-43826259:0) :|: o16566[LinkedList$Entry.next]o15915:0 < o15917[LinkedList$Entry.next]o15915:0 && o15917[LinkedList$Entry.next]o15915:0 > -1 && o16566[LinkedList$Entry.next]o16564:0 < o15917[LinkedList$Entry.next]o15918:0 && o15917[LinkedList$Entry.next]o15918:0 > -1 && o16566[LinkedList$Entry.next]o15915:0 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (50) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17009sub2126379541:0), java.lang.Object(o16562sub2126379541:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15918[LinkedList$Entry.next]o15917:0, o15918[LinkedList$Entry.next]o15915:0, o15916-43826259:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(o16562sub0:0), o15917[LinkedList$Entry.next]o16562:0, o15917[LinkedList$Entry.next]o15915:0, o16562[LinkedList$Entry.next]o15917:0, o16562[LinkedList$Entry.next]o15915:0, o15916-43826259:0) :|: o15917[LinkedList$Entry.next]o15918:0 > 0 && o15918[LinkedList$Entry.next]o15917:0 > 0 && o15918[LinkedList$Entry.next]o15915:0 > -1 && o16562[LinkedList$Entry.next]o15915:0 < o15918[LinkedList$Entry.next]o15915:0 && o16562[LinkedList$Entry.next]o15917:0 < o15918[LinkedList$Entry.next]o15917:0 && o15917[LinkedList$Entry.next]o16562:0 > o15917[LinkedList$Entry.next]o15918:0 && o16562[LinkedList$Entry.next]o15915:0 > 0 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (51) IRSFormatTransformerProof (EQUIVALENT) 33.97/10.30 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (52) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17009sub2126379541:0), java.lang.Object(o16562sub2126379541:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15918[LinkedList$Entry.next]o15917:0, o15918[LinkedList$Entry.next]o15915:0, o15916-43826259:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(o16562sub0:0), o15917[LinkedList$Entry.next]o16562:0, o15917[LinkedList$Entry.next]o15915:0, o16562[LinkedList$Entry.next]o15917:0, o16562[LinkedList$Entry.next]o15915:0, o15916-43826259:0) :|: o15917[LinkedList$Entry.next]o15918:0 > 0 && o15918[LinkedList$Entry.next]o15917:0 > 0 && o15918[LinkedList$Entry.next]o15915:0 > -1 && o16562[LinkedList$Entry.next]o15915:0 < o15918[LinkedList$Entry.next]o15915:0 && o16562[LinkedList$Entry.next]o15917:0 < o15918[LinkedList$Entry.next]o15917:0 && o15917[LinkedList$Entry.next]o16562:0 > o15917[LinkedList$Entry.next]o15918:0 && o16562[LinkedList$Entry.next]o15915:0 > 0 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (53) IRSwTTerminationDigraphProof (EQUIVALENT) 33.97/10.30 Constructed termination digraph! 33.97/10.30 Nodes: 33.97/10.30 (1) f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17009sub2126379541:0), java.lang.Object(o16562sub2126379541:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15918[LinkedList$Entry.next]o15917:0, o15918[LinkedList$Entry.next]o15915:0, o15916-43826259:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(o16562sub0:0), o15917[LinkedList$Entry.next]o16562:0, o15917[LinkedList$Entry.next]o15915:0, o16562[LinkedList$Entry.next]o15917:0, o16562[LinkedList$Entry.next]o15915:0, o15916-43826259:0) :|: o15917[LinkedList$Entry.next]o15918:0 > 0 && o15918[LinkedList$Entry.next]o15917:0 > 0 && o15918[LinkedList$Entry.next]o15915:0 > -1 && o16562[LinkedList$Entry.next]o15915:0 < o15918[LinkedList$Entry.next]o15915:0 && o16562[LinkedList$Entry.next]o15917:0 < o15918[LinkedList$Entry.next]o15917:0 && o15917[LinkedList$Entry.next]o16562:0 > o15917[LinkedList$Entry.next]o15918:0 && o16562[LinkedList$Entry.next]o15915:0 > 0 33.97/10.30 (2) f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 33.97/10.30 33.97/10.30 Arcs: 33.97/10.30 (1) -> (1), (2) 33.97/10.30 (2) -> (1), (2) 33.97/10.30 33.97/10.30 This digraph is fully evaluated! 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (54) 33.97/10.30 Obligation: 33.97/10.30 33.97/10.30 Termination digraph: 33.97/10.30 Nodes: 33.97/10.30 (1) f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17009sub2126379541:0), java.lang.Object(o16562sub2126379541:0))), o15917[LinkedList$Entry.next]o15918:0, o15917[LinkedList$Entry.next]o15915:0, o15918[LinkedList$Entry.next]o15917:0, o15918[LinkedList$Entry.next]o15915:0, o15916-43826259:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0, java.lang.Object(o15917sub-43826259:0)))))))), java.lang.Object(o16562sub0:0), o15917[LinkedList$Entry.next]o16562:0, o15917[LinkedList$Entry.next]o15915:0, o16562[LinkedList$Entry.next]o15917:0, o16562[LinkedList$Entry.next]o15915:0, o15916-43826259:0) :|: o15917[LinkedList$Entry.next]o15918:0 > 0 && o15918[LinkedList$Entry.next]o15917:0 > 0 && o15918[LinkedList$Entry.next]o15915:0 > -1 && o16562[LinkedList$Entry.next]o15915:0 < o15918[LinkedList$Entry.next]o15915:0 && o16562[LinkedList$Entry.next]o15917:0 < o15918[LinkedList$Entry.next]o15917:0 && o15917[LinkedList$Entry.next]o16562:0 > o15917[LinkedList$Entry.next]o15918:0 && o16562[LinkedList$Entry.next]o15915:0 > 0 33.97/10.30 (2) f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 33.97/10.30 33.97/10.30 Arcs: 33.97/10.30 (1) -> (1), (2) 33.97/10.30 (2) -> (1), (2) 33.97/10.30 33.97/10.30 This digraph is fully evaluated! 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (55) IntTRSCompressionProof (EQUIVALENT) 33.97/10.30 Compressed rules. 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (56) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0:0, java.lang.Object(o15917sub-43826259:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17009sub2126379541:0:0), java.lang.Object(o16562sub2126379541:0:0))), o15917[LinkedList$Entry.next]o15918:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o15918[LinkedList$Entry.next]o15917:0:0, o15918[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15916-43826259:0:0, java.lang.Object(o15917sub-43826259:0:0)))))))), java.lang.Object(o16562sub0:0:0), o15917[LinkedList$Entry.next]o16562:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o16562[LinkedList$Entry.next]o15917:0:0, o16562[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) :|: o15917[LinkedList$Entry.next]o16562:0:0 > o15917[LinkedList$Entry.next]o15918:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 > 0 && o16562[LinkedList$Entry.next]o15917:0:0 < o15918[LinkedList$Entry.next]o15917:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 < o15918[LinkedList$Entry.next]o15915:0:0 && o15918[LinkedList$Entry.next]o15915:0:0 > -1 && o15918[LinkedList$Entry.next]o15917:0:0 > 0 && o15917[LinkedList$Entry.next]o15918:0:0 > 0 33.97/10.30 f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3:0), java.lang.Object(x4:0))), x5:0, x6:0, x5:0, x6:0, x:0) -> f8321_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(x7:0), 1, x8:0, x9:0, x10:0, x:0) :|: x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (57) TempFilterProof (SOUND) 33.97/10.30 Used the following sort dictionary for filtering: 33.97/10.30 f8321_0_remove_EQ(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE) 33.97/10.30 java.lang.Object(VARIABLE) 33.97/10.30 javaUtilEx.AbstractCollection(VARIABLE) 33.97/10.30 javaUtilEx.AbstractList(VARIABLE) 33.97/10.30 javaUtilEx.AbstractSequentialList(VARIABLE) 33.97/10.30 javaUtilEx.LinkedList(VARIABLE) 33.97/10.30 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 33.97/10.30 Replaced non-predefined constructor symbols by 0. 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (58) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8321_0_remove_EQ(c, c1, o15917[LinkedList$Entry.next]o15918:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o15918[LinkedList$Entry.next]o15917:0:0, o15918[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) -> f8321_0_remove_EQ(c2, c3, o15917[LinkedList$Entry.next]o16562:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o16562[LinkedList$Entry.next]o15917:0:0, o16562[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o15917[LinkedList$Entry.next]o16562:0:0 > o15917[LinkedList$Entry.next]o15918:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 > 0 && o16562[LinkedList$Entry.next]o15917:0:0 < o15918[LinkedList$Entry.next]o15917:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 < o15918[LinkedList$Entry.next]o15915:0:0 && o15918[LinkedList$Entry.next]o15915:0:0 > -1 && o15918[LinkedList$Entry.next]o15917:0:0 > 0 && o15917[LinkedList$Entry.next]o15918:0:0 > 0) 33.97/10.30 f8321_0_remove_EQ(c4, c5, x5:0, x6:0, x5:0, x6:0, x:0) -> f8321_0_remove_EQ(c6, c7, c8, x8:0, x9:0, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (59) PolynomialOrderProcessor (EQUIVALENT) 33.97/10.30 Found the following polynomial interpretation: 33.97/10.30 [f8321_0_remove_EQ(x, x1, x2, x3, x4, x5, x6)] = -1 + c*x + c1*x1 + x4 33.97/10.30 33.97/10.30 The following rules are decreasing: 33.97/10.30 f8321_0_remove_EQ(c, c1, o15917[LinkedList$Entry.next]o15918:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o15918[LinkedList$Entry.next]o15917:0:0, o15918[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) -> f8321_0_remove_EQ(c2, c3, o15917[LinkedList$Entry.next]o16562:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o16562[LinkedList$Entry.next]o15917:0:0, o16562[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o15917[LinkedList$Entry.next]o16562:0:0 > o15917[LinkedList$Entry.next]o15918:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 > 0 && o16562[LinkedList$Entry.next]o15917:0:0 < o15918[LinkedList$Entry.next]o15917:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 < o15918[LinkedList$Entry.next]o15915:0:0 && o15918[LinkedList$Entry.next]o15915:0:0 > -1 && o15918[LinkedList$Entry.next]o15917:0:0 > 0 && o15917[LinkedList$Entry.next]o15918:0:0 > 0) 33.97/10.30 f8321_0_remove_EQ(c4, c5, x5:0, x6:0, x5:0, x6:0, x:0) -> f8321_0_remove_EQ(c6, c7, c8, x8:0, x9:0, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 33.97/10.30 The following rules are bounded: 33.97/10.30 f8321_0_remove_EQ(c, c1, o15917[LinkedList$Entry.next]o15918:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o15918[LinkedList$Entry.next]o15917:0:0, o15918[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) -> f8321_0_remove_EQ(c2, c3, o15917[LinkedList$Entry.next]o16562:0:0, o15917[LinkedList$Entry.next]o15915:0:0, o16562[LinkedList$Entry.next]o15917:0:0, o16562[LinkedList$Entry.next]o15915:0:0, o15916-43826259:0:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (o15917[LinkedList$Entry.next]o16562:0:0 > o15917[LinkedList$Entry.next]o15918:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 > 0 && o16562[LinkedList$Entry.next]o15917:0:0 < o15918[LinkedList$Entry.next]o15917:0:0 && o16562[LinkedList$Entry.next]o15915:0:0 < o15918[LinkedList$Entry.next]o15915:0:0 && o15918[LinkedList$Entry.next]o15915:0:0 > -1 && o15918[LinkedList$Entry.next]o15917:0:0 > 0 && o15917[LinkedList$Entry.next]o15918:0:0 > 0) 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (60) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8321_0_remove_EQ(c4, c5, x5:0, x6:0, x5:0, x6:0, x:0) -> f8321_0_remove_EQ(c6, c7, c8, x8:0, x9:0, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (61) RankingReductionPairProof (EQUIVALENT) 33.97/10.30 Interpretation: 33.97/10.30 [ f8321_0_remove_EQ ] = f8321_0_remove_EQ_6 33.97/10.30 33.97/10.30 The following rules are decreasing: 33.97/10.30 f8321_0_remove_EQ(c4, c5, x5:0, x6:0, x5:0, x6:0, x:0) -> f8321_0_remove_EQ(c6, c7, c8, x8:0, x9:0, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 33.97/10.30 33.97/10.30 The following rules are bounded: 33.97/10.30 f8321_0_remove_EQ(c4, c5, x5:0, x6:0, x5:0, x6:0, x:0) -> f8321_0_remove_EQ(c6, c7, c8, x8:0, x9:0, x10:0, x:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 33.97/10.30 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (62) 33.97/10.30 YES 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (63) 33.97/10.30 Obligation: 33.97/10.30 SCC of termination graph based on JBC Program. 33.97/10.30 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 33.97/10.30 SCC calls the following helper methods: 33.97/10.30 Performed SCC analyses: 33.97/10.30 *Used field analysis yielded the following read fields: 33.97/10.30 *javaUtilEx.LinkedList$Entry: [element, next] 33.97/10.30 *javaUtilEx.LinkedList: [header] 33.97/10.30 *Marker field analysis yielded the following relations that could be markers: 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (64) SCCToIRSProof (SOUND) 33.97/10.30 Transformed FIGraph SCCs to intTRSs. Log: 33.97/10.30 Generated rules. Obtained 26 IRulesP rules: 33.97/10.30 f8319_0_remove_EQ(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603, java.lang.Object(o15835sub2125542603))), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835, o15837[LinkedList$Entry.next]o15833) -> f8333_0_remove_Load(EOS(STATIC_8333), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835, o15837[LinkedList$Entry.next]o15833) :|: TRUE 33.97/10.30 f8333_0_remove_Load(EOS(STATIC_8333), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835, o15837[LinkedList$Entry.next]o15833) -> f8348_0_remove_FieldAccess(EOS(STATIC_8348), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835, o15837[LinkedList$Entry.next]o15833) :|: TRUE 33.97/10.30 f8348_0_remove_FieldAccess(EOS(STATIC_8348), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835, o15837[LinkedList$Entry.next]o15833) -> f8357_0_remove_FieldAccess(EOS(STATIC_8357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) :|: o15835[LinkedList$Entry.next]o15837 > 0 && o15837[LinkedList$Entry.next]o15835 > 0 33.97/10.30 f8348_0_remove_FieldAccess(EOS(STATIC_8348), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o16428sub-43882121)))))))), java.lang.Object(o16428sub0), java.lang.Object(o16428sub0), o16428[LinkedList$Entry.next]o16428, o15836[LinkedList$Entry.previous]o15833, o16428[LinkedList$Entry.next]o15833, o16428[LinkedList$Entry.next]o16428, o16428[LinkedList$Entry.next]o15833) -> f8358_0_remove_FieldAccess(EOS(STATIC_8358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o16428sub-43882121)))))))), java.lang.Object(o16428sub0), java.lang.Object(o16428sub0), o15836[LinkedList$Entry.previous]o15833, o16428[LinkedList$Entry.next]o15833, o16428[LinkedList$Entry.next]o16428) :|: TRUE 33.97/10.30 f8357_0_remove_FieldAccess(EOS(STATIC_8357), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165532126378642, java.lang.Object(o16554sub2126378642))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165532126378642, java.lang.Object(o16554sub2126378642))), o15835[LinkedList$Entry.next]o16552, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16552[LinkedList$Entry.next]o15833, o16552[LinkedList$Entry.next]o15835) -> f8371_0_remove_FieldAccess(EOS(STATIC_8371), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165532126378642, java.lang.Object(o16554sub2126378642))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165532126378642, java.lang.Object(o16554sub2126378642))), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) :|: o16554[LinkedList$Entry.next]o15833 < o16552[LinkedList$Entry.next]o15833 && o16552[LinkedList$Entry.next]o15833 >= 0 && o16554[LinkedList$Entry.next]o15835 < o16552[LinkedList$Entry.next]o15835 && o16552[LinkedList$Entry.next]o15835 >= 0 33.97/10.30 f8371_0_remove_FieldAccess(EOS(STATIC_8371), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165532126378642, java.lang.Object(o16554sub2126378642))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165532126378642, java.lang.Object(o16554sub2126378642))), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) -> f8390_0_remove_NONNULL(EOS(STATIC_8390), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165532126378642, java.lang.Object(o16554sub2126378642))), o165530, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8390_0_remove_NONNULL(EOS(STATIC_8390), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642), java.lang.Object(o16554sub2126378642))), java.lang.Object(o17007sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) -> f8411_0_remove_NONNULL(EOS(STATIC_8411), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642), java.lang.Object(o16554sub2126378642))), java.lang.Object(o17007sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8411_0_remove_NONNULL(EOS(STATIC_8411), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642), java.lang.Object(o16554sub2126378642))), java.lang.Object(o17007sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) -> f8430_0_remove_Load(EOS(STATIC_8430), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642), java.lang.Object(o16554sub2126378642))), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8430_0_remove_Load(EOS(STATIC_8430), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642), java.lang.Object(o16554sub2126378642))), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) -> f8449_0_remove_FieldAccess(EOS(STATIC_8449), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642), java.lang.Object(o16554sub2126378642))), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8449_0_remove_FieldAccess(EOS(STATIC_8449), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642), java.lang.Object(o16554sub2126378642))), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15835[LinkedList$Entry.next]o16552, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) -> f8467_0_remove_Store(EOS(STATIC_8467), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o16554sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835, o15835[LinkedList$Entry.next]o16554) :|: o15835[LinkedList$Entry.next]o16554 > o15835[LinkedList$Entry.next]o16552 && o15835[LinkedList$Entry.next]o16552 >= 0 33.97/10.30 f8467_0_remove_Store(EOS(STATIC_8467), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o16554sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835, o15835[LinkedList$Entry.next]o16554) -> f8486_0_remove_JMP(EOS(STATIC_8486), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o16554sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835, o15835[LinkedList$Entry.next]o16554) :|: TRUE 33.97/10.30 f8486_0_remove_JMP(EOS(STATIC_8486), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o16554sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835, o15835[LinkedList$Entry.next]o16554) -> f8505_0_remove_Load(EOS(STATIC_8505), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o16554sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835, o15835[LinkedList$Entry.next]o16554) :|: TRUE 33.97/10.30 f8505_0_remove_Load(EOS(STATIC_8505), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o16554sub0), o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835, o15835[LinkedList$Entry.next]o16554) -> f8256_0_remove_Load(EOS(STATIC_8256), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o16554sub0), o15835[LinkedList$Entry.next]o16554, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15833, o16554[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8256_0_remove_Load(EOS(STATIC_8256), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) -> f8271_0_remove_Load(EOS(STATIC_8271), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8271_0_remove_Load(EOS(STATIC_8271), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) -> f8290_0_remove_FieldAccess(EOS(STATIC_8290), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8290_0_remove_FieldAccess(EOS(STATIC_8290), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) -> f8309_0_remove_EQ(EOS(STATIC_8309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603, java.lang.Object(o15835sub2125542603))), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) :|: TRUE 33.97/10.30 f8309_0_remove_EQ(EOS(STATIC_8309), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603, java.lang.Object(o15835sub2125542603))), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835) -> f8319_0_remove_EQ(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(o15835sub-43882121)))))))), java.lang.Object(o15837sub0), java.lang.Object(o15837sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603, java.lang.Object(o15835sub2125542603))), o15835[LinkedList$Entry.next]o15837, o15836[LinkedList$Entry.previous]o15833, o15835[LinkedList$Entry.next]o15833, o15837[LinkedList$Entry.next]o15835, o15837[LinkedList$Entry.next]o15833) :|: o15837[LinkedList$Entry.next]o15833 > 0 33.97/10.30 f8358_0_remove_FieldAccess(EOS(STATIC_8358), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572082496645, java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572126378766, java.lang.Object(o16558sub2126378766))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572126378766, java.lang.Object(o16558sub2126378766))), o15836[LinkedList$Entry.previous]o15833, o16556[LinkedList$Entry.next]o15833, o16556[LinkedList$Entry.next]o16556) -> f8372_0_remove_FieldAccess(EOS(STATIC_8372), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572082496645, java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572126378766, java.lang.Object(o16558sub2126378766))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572126378766, java.lang.Object(o16558sub2126378766))), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: o16558[LinkedList$Entry.next]o15833 < o16556[LinkedList$Entry.next]o15833 && o16556[LinkedList$Entry.next]o15833 >= 0 && o16558[LinkedList$Entry.next]o16556 < o16556[LinkedList$Entry.next]o16556 && o16556[LinkedList$Entry.next]o16556 >= 0 33.97/10.30 f8372_0_remove_FieldAccess(EOS(STATIC_8372), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572082496645, java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572126378766, java.lang.Object(o16558sub2126378766))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572126378766, java.lang.Object(o16558sub2126378766))), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8391_0_remove_NONNULL(EOS(STATIC_8391), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572082496645, java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o165572126378766, java.lang.Object(o16558sub2126378766))), o165570, o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: TRUE 33.97/10.30 f8391_0_remove_NONNULL(EOS(STATIC_8391), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766), java.lang.Object(o16558sub2126378766))), java.lang.Object(o17008sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8413_0_remove_NONNULL(EOS(STATIC_8413), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766), java.lang.Object(o16558sub2126378766))), java.lang.Object(o17008sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: TRUE 33.97/10.30 f8413_0_remove_NONNULL(EOS(STATIC_8413), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766), java.lang.Object(o16558sub2126378766))), java.lang.Object(o17008sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8432_0_remove_Load(EOS(STATIC_8432), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766), java.lang.Object(o16558sub2126378766))), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: TRUE 33.97/10.30 f8432_0_remove_Load(EOS(STATIC_8432), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766), java.lang.Object(o16558sub2126378766))), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8451_0_remove_FieldAccess(EOS(STATIC_8451), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766), java.lang.Object(o16558sub2126378766))), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: TRUE 33.97/10.30 f8451_0_remove_FieldAccess(EOS(STATIC_8451), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766), java.lang.Object(o16558sub2126378766))), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8469_0_remove_Store(EOS(STATIC_8469), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(o16558sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: TRUE 33.97/10.30 f8469_0_remove_Store(EOS(STATIC_8469), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(o16558sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8488_0_remove_JMP(EOS(STATIC_8488), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(o16558sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: TRUE 33.97/10.30 f8488_0_remove_JMP(EOS(STATIC_8488), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(o16558sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8506_0_remove_Load(EOS(STATIC_8506), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(o16558sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: TRUE 33.97/10.30 f8506_0_remove_Load(EOS(STATIC_8506), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(o16558sub0), o15836[LinkedList$Entry.previous]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) -> f8256_0_remove_Load(EOS(STATIC_8256), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645), java.lang.Object(o16558sub2082496645)))))))))), java.lang.Object(o16558sub0), o16556[LinkedList$Entry.next]o16558, o15836[LinkedList$Entry.previous]o15833, o16556[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o15833, o16558[LinkedList$Entry.next]o16556) :|: o16556[LinkedList$Entry.next]o16558 = 1 33.97/10.30 Combined rules. Obtained 2 IRulesP rules: 33.97/10.30 f8319_0_remove_EQ(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642:0), java.lang.Object(o16554sub2126378642:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17007sub2126378642:0), java.lang.Object(o16554sub2126378642:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603:0, java.lang.Object(o15835sub2125542603:0))), o15835[LinkedList$Entry.next]o15837:0, o15836[LinkedList$Entry.previous]o15833:0, o15835[LinkedList$Entry.next]o15833:0, o15837[LinkedList$Entry.next]o15835:0, o15837[LinkedList$Entry.next]o15833:0) -> f8319_0_remove_EQ(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(o16554sub0:0), java.lang.Object(o16554sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603:1, java.lang.Object(o15835sub2125542603:1))), o15835[LinkedList$Entry.next]o16554:0, o15836[LinkedList$Entry.previous]o15833:0, o15835[LinkedList$Entry.next]o15833:0, o16554[LinkedList$Entry.next]o15835:0, o16554[LinkedList$Entry.next]o15833:0) :|: o15837[LinkedList$Entry.next]o15835:0 > 0 && o15835[LinkedList$Entry.next]o15837:0 > 0 && o15837[LinkedList$Entry.next]o15833:0 > -1 && o16554[LinkedList$Entry.next]o15833:0 < o15837[LinkedList$Entry.next]o15833:0 && o16554[LinkedList$Entry.next]o15835:0 < o15837[LinkedList$Entry.next]o15835:0 && o16554[LinkedList$Entry.next]o15833:0 > 0 && o15835[LinkedList$Entry.next]o16554:0 > o15835[LinkedList$Entry.next]o15837:0 33.97/10.30 f8319_0_remove_EQ(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645:0), java.lang.Object(o16558sub2082496645:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766:0), java.lang.Object(o16558sub2126378766:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2126378766:0), java.lang.Object(o16558sub2126378766:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603:0, java.lang.Object(o15835sub2125542603:0))), o15835[LinkedList$Entry.next]o15837:0, o15836[LinkedList$Entry.previous]o15833:0, o15835[LinkedList$Entry.next]o15833:0, o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0) -> f8319_0_remove_EQ(EOS(STATIC_8319), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o15834-43882121:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o17008sub2082496645:0), java.lang.Object(o16558sub2082496645:0)))))))))), java.lang.Object(o16558sub0:0), java.lang.Object(o16558sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o158342125542603:1, java.lang.Object(o15835sub2125542603:1))), 1, o15836[LinkedList$Entry.previous]o15833:0, o16556[LinkedList$Entry.next]o15833:0, o16558[LinkedList$Entry.next]o16556:0, o16558[LinkedList$Entry.next]o15833:0) :|: o15835[LinkedList$Entry.next]o15833:0 > -1 && o16558[LinkedList$Entry.next]o15833:0 < o15835[LinkedList$Entry.next]o15833:0 && o16558[LinkedList$Entry.next]o16556:0 < o15835[LinkedList$Entry.next]o15837:0 && o16558[LinkedList$Entry.next]o15833:0 > 0 && o15835[LinkedList$Entry.next]o15837:0 > -1 33.97/10.30 Filtered constant ground arguments: 33.97/10.30 f8319_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8319_0_remove_EQ(x2, x3, x4, x5, x6, x7, x8, x9, x10) 33.97/10.30 EOS(x1) -> EOS 33.97/10.30 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 33.97/10.30 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 33.97/10.30 Filtered duplicate arguments: 33.97/10.30 f8319_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8319_0_remove_EQ(x1, x3, x4, x5, x6, x7, x8, x9) 33.97/10.30 Filtered unneeded arguments: 33.97/10.30 f8319_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f8319_0_remove_EQ(x1, x2, x4, x6, x7, x8) 33.97/10.30 Finished conversion. Obtained 2 rules.P rules: 33.97/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17007sub2126378642:0), java.lang.Object(o16554sub2126378642:0))), o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0, o15837[LinkedList$Entry.next]o15835:0, o15837[LinkedList$Entry.next]o15833:0, o15834-43882121:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(o16554sub0:0), o15835[LinkedList$Entry.next]o16554:0, o15835[LinkedList$Entry.next]o15833:0, o16554[LinkedList$Entry.next]o15835:0, o16554[LinkedList$Entry.next]o15833:0, o15834-43882121:0) :|: o15835[LinkedList$Entry.next]o15837:0 > 0 && o15837[LinkedList$Entry.next]o15835:0 > 0 && o15837[LinkedList$Entry.next]o15833:0 > -1 && o16554[LinkedList$Entry.next]o15833:0 < o15837[LinkedList$Entry.next]o15833:0 && o16554[LinkedList$Entry.next]o15835:0 < o15837[LinkedList$Entry.next]o15835:0 && o15835[LinkedList$Entry.next]o16554:0 > o15835[LinkedList$Entry.next]o15837:0 && o16554[LinkedList$Entry.next]o15833:0 > 0 33.97/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17008sub2082496645:0), java.lang.Object(o16558sub2082496645:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17008sub2126378766:0), java.lang.Object(o16558sub2126378766:0))), o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0, o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0, o15834-43882121:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17008sub2082496645:0), java.lang.Object(o16558sub2082496645:0)))))))))), java.lang.Object(o16558sub0:0), 1, o16556[LinkedList$Entry.next]o15833:0, o16558[LinkedList$Entry.next]o16556:0, o16558[LinkedList$Entry.next]o15833:0, o15834-43882121:0) :|: o16558[LinkedList$Entry.next]o15833:0 < o15835[LinkedList$Entry.next]o15833:0 && o15835[LinkedList$Entry.next]o15833:0 > -1 && o16558[LinkedList$Entry.next]o16556:0 < o15835[LinkedList$Entry.next]o15837:0 && o15835[LinkedList$Entry.next]o15837:0 > -1 && o16558[LinkedList$Entry.next]o15833:0 > 0 33.97/10.30 33.97/10.30 ---------------------------------------- 33.97/10.30 33.97/10.30 (65) 33.97/10.30 Obligation: 33.97/10.30 Rules: 33.97/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17007sub2126378642:0), java.lang.Object(o16554sub2126378642:0))), o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0, o15837[LinkedList$Entry.next]o15835:0, o15837[LinkedList$Entry.next]o15833:0, o15834-43882121:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(o16554sub0:0), o15835[LinkedList$Entry.next]o16554:0, o15835[LinkedList$Entry.next]o15833:0, o16554[LinkedList$Entry.next]o15835:0, o16554[LinkedList$Entry.next]o15833:0, o15834-43882121:0) :|: o15835[LinkedList$Entry.next]o15837:0 > 0 && o15837[LinkedList$Entry.next]o15835:0 > 0 && o15837[LinkedList$Entry.next]o15833:0 > -1 && o16554[LinkedList$Entry.next]o15833:0 < o15837[LinkedList$Entry.next]o15833:0 && o16554[LinkedList$Entry.next]o15835:0 < o15837[LinkedList$Entry.next]o15835:0 && o15835[LinkedList$Entry.next]o16554:0 > o15835[LinkedList$Entry.next]o15837:0 && o16554[LinkedList$Entry.next]o15833:0 > 0 34.17/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (66) IRSFormatTransformerProof (EQUIVALENT) 34.17/10.30 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (67) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17007sub2126378642:0), java.lang.Object(o16554sub2126378642:0))), o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0, o15837[LinkedList$Entry.next]o15835:0, o15837[LinkedList$Entry.next]o15833:0, o15834-43882121:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(o16554sub0:0), o15835[LinkedList$Entry.next]o16554:0, o15835[LinkedList$Entry.next]o15833:0, o16554[LinkedList$Entry.next]o15835:0, o16554[LinkedList$Entry.next]o15833:0, o15834-43882121:0) :|: o15835[LinkedList$Entry.next]o15837:0 > 0 && o15837[LinkedList$Entry.next]o15835:0 > 0 && o15837[LinkedList$Entry.next]o15833:0 > -1 && o16554[LinkedList$Entry.next]o15833:0 < o15837[LinkedList$Entry.next]o15833:0 && o16554[LinkedList$Entry.next]o15835:0 < o15837[LinkedList$Entry.next]o15835:0 && o15835[LinkedList$Entry.next]o16554:0 > o15835[LinkedList$Entry.next]o15837:0 && o16554[LinkedList$Entry.next]o15833:0 > 0 34.17/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (68) IRSwTTerminationDigraphProof (EQUIVALENT) 34.17/10.30 Constructed termination digraph! 34.17/10.30 Nodes: 34.17/10.30 (1) f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17007sub2126378642:0), java.lang.Object(o16554sub2126378642:0))), o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0, o15837[LinkedList$Entry.next]o15835:0, o15837[LinkedList$Entry.next]o15833:0, o15834-43882121:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(o16554sub0:0), o15835[LinkedList$Entry.next]o16554:0, o15835[LinkedList$Entry.next]o15833:0, o16554[LinkedList$Entry.next]o15835:0, o16554[LinkedList$Entry.next]o15833:0, o15834-43882121:0) :|: o15835[LinkedList$Entry.next]o15837:0 > 0 && o15837[LinkedList$Entry.next]o15835:0 > 0 && o15837[LinkedList$Entry.next]o15833:0 > -1 && o16554[LinkedList$Entry.next]o15833:0 < o15837[LinkedList$Entry.next]o15833:0 && o16554[LinkedList$Entry.next]o15835:0 < o15837[LinkedList$Entry.next]o15835:0 && o15835[LinkedList$Entry.next]o16554:0 > o15835[LinkedList$Entry.next]o15837:0 && o16554[LinkedList$Entry.next]o15833:0 > 0 34.17/10.30 (2) f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (1), (2) 34.17/10.30 (2) -> (1), (2) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (69) 34.17/10.30 Obligation: 34.17/10.30 34.17/10.30 Termination digraph: 34.17/10.30 Nodes: 34.17/10.30 (1) f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17007sub2126378642:0), java.lang.Object(o16554sub2126378642:0))), o15835[LinkedList$Entry.next]o15837:0, o15835[LinkedList$Entry.next]o15833:0, o15837[LinkedList$Entry.next]o15835:0, o15837[LinkedList$Entry.next]o15833:0, o15834-43882121:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0, java.lang.Object(o15835sub-43882121:0)))))))), java.lang.Object(o16554sub0:0), o15835[LinkedList$Entry.next]o16554:0, o15835[LinkedList$Entry.next]o15833:0, o16554[LinkedList$Entry.next]o15835:0, o16554[LinkedList$Entry.next]o15833:0, o15834-43882121:0) :|: o15835[LinkedList$Entry.next]o15837:0 > 0 && o15837[LinkedList$Entry.next]o15835:0 > 0 && o15837[LinkedList$Entry.next]o15833:0 > -1 && o16554[LinkedList$Entry.next]o15833:0 < o15837[LinkedList$Entry.next]o15833:0 && o16554[LinkedList$Entry.next]o15835:0 < o15837[LinkedList$Entry.next]o15835:0 && o15835[LinkedList$Entry.next]o16554:0 > o15835[LinkedList$Entry.next]o15837:0 && o16554[LinkedList$Entry.next]o15833:0 > 0 34.17/10.30 (2) f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (1), (2) 34.17/10.30 (2) -> (1), (2) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (70) IntTRSCompressionProof (EQUIVALENT) 34.17/10.30 Compressed rules. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (71) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3:0), java.lang.Object(x4:0))), x5:0, x6:0, x5:0, x6:0, x:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(x7:0), 1, x8:0, x9:0, x10:0, x:0) :|: x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0 34.17/10.30 f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0:0, java.lang.Object(o15835sub-43882121:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o17007sub2126378642:0:0), java.lang.Object(o16554sub2126378642:0:0))), o15835[LinkedList$Entry.next]o15837:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o15837[LinkedList$Entry.next]o15835:0:0, o15837[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) -> f8319_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o15834-43882121:0:0, java.lang.Object(o15835sub-43882121:0:0)))))))), java.lang.Object(o16554sub0:0:0), o15835[LinkedList$Entry.next]o16554:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o16554[LinkedList$Entry.next]o15835:0:0, o16554[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) :|: o15835[LinkedList$Entry.next]o16554:0:0 > o15835[LinkedList$Entry.next]o15837:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 > 0 && o16554[LinkedList$Entry.next]o15835:0:0 < o15837[LinkedList$Entry.next]o15835:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 < o15837[LinkedList$Entry.next]o15833:0:0 && o15837[LinkedList$Entry.next]o15833:0:0 > -1 && o15837[LinkedList$Entry.next]o15835:0:0 > 0 && o15835[LinkedList$Entry.next]o15837:0:0 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (72) TempFilterProof (SOUND) 34.17/10.30 Used the following sort dictionary for filtering: 34.17/10.30 f8319_0_remove_EQ(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE) 34.17/10.30 java.lang.Object(VARIABLE) 34.17/10.30 javaUtilEx.AbstractCollection(VARIABLE) 34.17/10.30 javaUtilEx.AbstractList(VARIABLE) 34.17/10.30 javaUtilEx.AbstractSequentialList(VARIABLE) 34.17/10.30 javaUtilEx.LinkedList(VARIABLE) 34.17/10.30 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 34.17/10.30 Replaced non-predefined constructor symbols by 0. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (73) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8319_0_remove_EQ(c, c1, x5:0, x6:0, x5:0, x6:0, x:0) -> f8319_0_remove_EQ(c2, c3, c4, x8:0, x9:0, x10:0, x:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 f8319_0_remove_EQ(c5, c6, o15835[LinkedList$Entry.next]o15837:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o15837[LinkedList$Entry.next]o15835:0:0, o15837[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) -> f8319_0_remove_EQ(c7, c8, o15835[LinkedList$Entry.next]o16554:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o16554[LinkedList$Entry.next]o15835:0:0, o16554[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (o15835[LinkedList$Entry.next]o16554:0:0 > o15835[LinkedList$Entry.next]o15837:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 > 0 && o16554[LinkedList$Entry.next]o15835:0:0 < o15837[LinkedList$Entry.next]o15835:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 < o15837[LinkedList$Entry.next]o15833:0:0 && o15837[LinkedList$Entry.next]o15833:0:0 > -1 && o15837[LinkedList$Entry.next]o15835:0:0 > 0 && o15835[LinkedList$Entry.next]o15837:0:0 > 0) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (74) PolynomialOrderProcessor (EQUIVALENT) 34.17/10.30 Found the following polynomial interpretation: 34.17/10.30 [f8319_0_remove_EQ(x, x1, x2, x3, x4, x5, x6)] = -1 + c*x + c1*x1 + 2*x4 34.17/10.30 34.17/10.30 The following rules are decreasing: 34.17/10.30 f8319_0_remove_EQ(c, c1, x5:0, x6:0, x5:0, x6:0, x:0) -> f8319_0_remove_EQ(c2, c3, c4, x8:0, x9:0, x10:0, x:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 f8319_0_remove_EQ(c5, c6, o15835[LinkedList$Entry.next]o15837:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o15837[LinkedList$Entry.next]o15835:0:0, o15837[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) -> f8319_0_remove_EQ(c7, c8, o15835[LinkedList$Entry.next]o16554:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o16554[LinkedList$Entry.next]o15835:0:0, o16554[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (o15835[LinkedList$Entry.next]o16554:0:0 > o15835[LinkedList$Entry.next]o15837:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 > 0 && o16554[LinkedList$Entry.next]o15835:0:0 < o15837[LinkedList$Entry.next]o15835:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 < o15837[LinkedList$Entry.next]o15833:0:0 && o15837[LinkedList$Entry.next]o15833:0:0 > -1 && o15837[LinkedList$Entry.next]o15835:0:0 > 0 && o15835[LinkedList$Entry.next]o15837:0:0 > 0) 34.17/10.30 The following rules are bounded: 34.17/10.30 f8319_0_remove_EQ(c5, c6, o15835[LinkedList$Entry.next]o15837:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o15837[LinkedList$Entry.next]o15835:0:0, o15837[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) -> f8319_0_remove_EQ(c7, c8, o15835[LinkedList$Entry.next]o16554:0:0, o15835[LinkedList$Entry.next]o15833:0:0, o16554[LinkedList$Entry.next]o15835:0:0, o16554[LinkedList$Entry.next]o15833:0:0, o15834-43882121:0:0) :|: c8 = 0 && (c7 = 0 && (c6 = 0 && c5 = 0)) && (o15835[LinkedList$Entry.next]o16554:0:0 > o15835[LinkedList$Entry.next]o15837:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 > 0 && o16554[LinkedList$Entry.next]o15835:0:0 < o15837[LinkedList$Entry.next]o15835:0:0 && o16554[LinkedList$Entry.next]o15833:0:0 < o15837[LinkedList$Entry.next]o15833:0:0 && o15837[LinkedList$Entry.next]o15833:0:0 > -1 && o15837[LinkedList$Entry.next]o15835:0:0 > 0 && o15835[LinkedList$Entry.next]o15837:0:0 > 0) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (75) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8319_0_remove_EQ(c, c1, x5:0, x6:0, x5:0, x6:0, x:0) -> f8319_0_remove_EQ(c2, c3, c4, x8:0, x9:0, x10:0, x:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (76) RankingReductionPairProof (EQUIVALENT) 34.17/10.30 Interpretation: 34.17/10.30 [ f8319_0_remove_EQ ] = f8319_0_remove_EQ_6 34.17/10.30 34.17/10.30 The following rules are decreasing: 34.17/10.30 f8319_0_remove_EQ(c, c1, x5:0, x6:0, x5:0, x6:0, x:0) -> f8319_0_remove_EQ(c2, c3, c4, x8:0, x9:0, x10:0, x:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 34.17/10.30 The following rules are bounded: 34.17/10.30 f8319_0_remove_EQ(c, c1, x5:0, x6:0, x5:0, x6:0, x:0) -> f8319_0_remove_EQ(c2, c3, c4, x8:0, x9:0, x10:0, x:0) :|: c4 = 1 && (c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0))) && (x5:0 > -1 && x10:0 > 0 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (77) 34.17/10.30 YES 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (78) 34.17/10.30 Obligation: 34.17/10.30 SCC of termination graph based on JBC Program. 34.17/10.30 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 34.17/10.30 SCC calls the following helper methods: 34.17/10.30 Performed SCC analyses: 34.17/10.30 *Used field analysis yielded the following read fields: 34.17/10.30 *javaUtilEx.LinkedList$Entry: [next] 34.17/10.30 *Marker field analysis yielded the following relations that could be markers: 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (79) SCCToIRSProof (SOUND) 34.17/10.30 Transformed FIGraph SCCs to intTRSs. Log: 34.17/10.30 Generated rules. Obtained 40 IRulesP rules: 34.17/10.30 f8118_0_entry_GT(EOS(STATIC_8118), i3386, i4169, i4169, i3386, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) -> f8131_0_entry_Load(EOS(STATIC_8131), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) :|: i4169 <= i3386 34.17/10.30 f8131_0_entry_Load(EOS(STATIC_8131), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) -> f8143_0_entry_FieldAccess(EOS(STATIC_8143), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) :|: TRUE 34.17/10.30 f8143_0_entry_FieldAccess(EOS(STATIC_8143), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) -> f8157_0_entry_FieldAccess(EOS(STATIC_8157), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14921) :|: o14921[LinkedList$Entry.next]o14921 > 0 && o14921[LinkedList$Entry.previous]o14921 > 0 && o14919[LinkedList$Entry.next]o14921 > 0 && o14921[LinkedList$Entry.next]o14919 > 0 && o14919[LinkedList$Entry.next]o14919 > 0 34.17/10.30 f8143_0_entry_FieldAccess(EOS(STATIC_8143), i3386, i4169, o15486[LinkedList$Entry.next]o15486, o15486[LinkedList$Entry.previous]o15486, o15486[LinkedList$Entry.next]o15486, o15486[LinkedList$Entry.next]o15486, o15486[LinkedList$Entry.next]o15486) -> f8158_0_entry_FieldAccess(EOS(STATIC_8158), i3386, i4169, o15486[LinkedList$Entry.next]o15486, o15486[LinkedList$Entry.previous]o15486) :|: TRUE 34.17/10.30 f8157_0_entry_FieldAccess(EOS(STATIC_8157), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14921[LinkedList$Entry.next]o15524, o15524[LinkedList$Entry.next]o15524, o15524[LinkedList$Entry.next]o14921) -> f8176_0_entry_FieldAccess(EOS(STATIC_8176), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14921[LinkedList$Entry.next]o15524, o15526[LinkedList$Entry.next]o14921, o15526[LinkedList$Entry.next]o15524) :|: o15526[LinkedList$Entry.next]o15524 < o15524[LinkedList$Entry.next]o15524 && o15524[LinkedList$Entry.next]o15524 >= 0 && o15526[LinkedList$Entry.next]o14921 < o15524[LinkedList$Entry.next]o14921 && o15524[LinkedList$Entry.next]o14921 >= 0 34.17/10.30 f8176_0_entry_FieldAccess(EOS(STATIC_8176), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14921[LinkedList$Entry.next]o15524, o15526[LinkedList$Entry.next]o14921, o15526[LinkedList$Entry.next]o15524) -> f8196_0_entry_Store(EOS(STATIC_8196), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) :|: o14921[LinkedList$Entry.next]o15526 > o14921[LinkedList$Entry.next]o15524 && o14921[LinkedList$Entry.next]o15524 >= 0 && o15526[LinkedList$Entry.next]o15526 > o15526[LinkedList$Entry.next]o15524 && o15526[LinkedList$Entry.next]o15524 >= 0 34.17/10.30 f8196_0_entry_Store(EOS(STATIC_8196), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) -> f8212_0_entry_Inc(EOS(STATIC_8212), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) :|: TRUE 34.17/10.30 f8212_0_entry_Inc(EOS(STATIC_8212), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) -> f8239_0_entry_JMP(EOS(STATIC_8239), i3386, i4169 + 1, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) :|: TRUE 34.17/10.30 f8239_0_entry_JMP(EOS(STATIC_8239), i3386, i4282, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) -> f8263_0_entry_Load(EOS(STATIC_8263), i3386, i4282, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) :|: TRUE 34.17/10.30 f8263_0_entry_Load(EOS(STATIC_8263), i3386, i4282, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) -> f8073_0_entry_Load(EOS(STATIC_8073), i3386, i4282, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o15526[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o15526, o15526[LinkedList$Entry.next]o15526) :|: TRUE 34.17/10.30 f8073_0_entry_Load(EOS(STATIC_8073), i3386, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) -> f8088_0_entry_Load(EOS(STATIC_8088), i3386, i4169, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) :|: TRUE 34.17/10.30 f8088_0_entry_Load(EOS(STATIC_8088), i3386, i4169, i4169, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) -> f8103_0_entry_GT(EOS(STATIC_8103), i3386, i4169, i4169, i3386, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) :|: TRUE 34.17/10.30 f8103_0_entry_GT(EOS(STATIC_8103), i3386, i4169, i4169, i3386, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) -> f8118_0_entry_GT(EOS(STATIC_8118), i3386, i4169, i4169, i3386, o14921[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.previous]o14921, o14919[LinkedList$Entry.next]o14921, o14921[LinkedList$Entry.next]o14919, o14919[LinkedList$Entry.next]o14919) :|: i4169 <= i3386 34.17/10.30 f8158_0_entry_FieldAccess(EOS(STATIC_8158), i3386, i4169, o15528[LinkedList$Entry.next]o15528, o15528[LinkedList$Entry.previous]o15528) -> f8177_0_entry_FieldAccess(EOS(STATIC_8177), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) :|: o15530[LinkedList$Entry.next]o15528 < o15528[LinkedList$Entry.next]o15528 && o15528[LinkedList$Entry.next]o15528 >= 0 && o15531[LinkedList$Entry.previous]o15528 < o15528[LinkedList$Entry.previous]o15528 && o15528[LinkedList$Entry.previous]o15528 >= 0 34.17/10.30 f8177_0_entry_FieldAccess(EOS(STATIC_8177), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) -> f8197_0_entry_FieldAccess(EOS(STATIC_8197), i3386, i4169, o15531[LinkedList$Entry.previous]o15528, o15530[LinkedList$Entry.next]o15528) :|: o15530[LinkedList$Entry.next]o15528 > 0 34.17/10.30 f8177_0_entry_FieldAccess(EOS(STATIC_8177), i3386, i4169, o15530[LinkedList$Entry.next]o15584, o15531[LinkedList$Entry.previous]o15584) -> f8198_0_entry_FieldAccess(EOS(STATIC_8198), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) :|: TRUE 34.17/10.30 f8197_0_entry_FieldAccess(EOS(STATIC_8197), i3386, i4169, o15531[LinkedList$Entry.previous]o15528, o15530[LinkedList$Entry.next]o15528) -> f8213_0_entry_FieldAccess(EOS(STATIC_8213), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) :|: o15531[LinkedList$Entry.previous]o15528 > 0 34.17/10.30 f8197_0_entry_FieldAccess(EOS(STATIC_8197), i3386, i4169, o15531[LinkedList$Entry.previous]o15626, o15530[LinkedList$Entry.next]o15626) -> f8214_0_entry_FieldAccess(EOS(STATIC_8214), i3386, i4169, o15530[LinkedList$Entry.next]o15626) :|: TRUE 34.17/10.30 f8213_0_entry_FieldAccess(EOS(STATIC_8213), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) -> f8240_0_entry_Store(EOS(STATIC_8240), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) :|: TRUE 34.17/10.30 f8240_0_entry_Store(EOS(STATIC_8240), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) -> f8264_0_entry_Inc(EOS(STATIC_8264), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) :|: TRUE 34.17/10.30 f8264_0_entry_Inc(EOS(STATIC_8264), i3386, i4169, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) -> f8277_0_entry_JMP(EOS(STATIC_8277), i3386, i4169 + 1, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) :|: TRUE 34.17/10.30 f8277_0_entry_JMP(EOS(STATIC_8277), i3386, i4296, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) -> f8296_0_entry_Load(EOS(STATIC_8296), i3386, i4296, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) :|: TRUE 34.17/10.30 f8296_0_entry_Load(EOS(STATIC_8296), i3386, i4296, o15530[LinkedList$Entry.next]o15528, o15531[LinkedList$Entry.previous]o15528) -> f8073_0_entry_Load(EOS(STATIC_8073), i3386, i4296, o15528[LinkedList$Entry.next]o15528, o15528[LinkedList$Entry.previous]o15528, o15530[LinkedList$Entry.next]o15528, o15528[LinkedList$Entry.next]o15530, o15530[LinkedList$Entry.next]o15530) :|: o15528[LinkedList$Entry.next]o15530 = 1 34.17/10.30 f8214_0_entry_FieldAccess(EOS(STATIC_8214), i3386, i4169, o15530[LinkedList$Entry.next]o15626) -> f8241_0_entry_Store(EOS(STATIC_8241), i3386, i4169, o15530[LinkedList$Entry.next]o15626) :|: TRUE 34.17/10.30 f8241_0_entry_Store(EOS(STATIC_8241), i3386, i4169, o15530[LinkedList$Entry.next]o15626) -> f8265_0_entry_Inc(EOS(STATIC_8265), i3386, i4169, o15530[LinkedList$Entry.next]o15626) :|: TRUE 34.17/10.30 f8265_0_entry_Inc(EOS(STATIC_8265), i3386, i4169, o15530[LinkedList$Entry.next]o15626) -> f8278_0_entry_JMP(EOS(STATIC_8278), i3386, i4169 + 1, o15530[LinkedList$Entry.next]o15626) :|: TRUE 34.17/10.30 f8278_0_entry_JMP(EOS(STATIC_8278), i3386, i4298, o15530[LinkedList$Entry.next]o15626) -> f8297_0_entry_Load(EOS(STATIC_8297), i3386, i4298, o15530[LinkedList$Entry.next]o15626) :|: TRUE 34.17/10.30 f8297_0_entry_Load(EOS(STATIC_8297), i3386, i4298, o15530[LinkedList$Entry.next]o15626) -> f8073_0_entry_Load(EOS(STATIC_8073), i3386, i4298, o15626[LinkedList$Entry.next]o15626, o15626[LinkedList$Entry.previous]o15626, o15530[LinkedList$Entry.next]o15626, o15626[LinkedList$Entry.next]o15530, o15530[LinkedList$Entry.next]o15530) :|: o15626[LinkedList$Entry.previous]o15626 = 1 && o15626[LinkedList$Entry.next]o15530 = 1 34.17/10.30 f8198_0_entry_FieldAccess(EOS(STATIC_8198), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) -> f8215_0_entry_FieldAccess(EOS(STATIC_8215), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) :|: o15531[LinkedList$Entry.previous]o15584 > 0 34.17/10.30 f8198_0_entry_FieldAccess(EOS(STATIC_8198), i3386, i4169, o15531[LinkedList$Entry.previous]o15629) -> f8216_0_entry_FieldAccess(EOS(STATIC_8216), i3386, i4169) :|: TRUE 34.17/10.30 f8215_0_entry_FieldAccess(EOS(STATIC_8215), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) -> f8242_0_entry_Store(EOS(STATIC_8242), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) :|: TRUE 34.17/10.30 f8242_0_entry_Store(EOS(STATIC_8242), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) -> f8266_0_entry_Inc(EOS(STATIC_8266), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) :|: TRUE 34.17/10.30 f8266_0_entry_Inc(EOS(STATIC_8266), i3386, i4169, o15531[LinkedList$Entry.previous]o15584) -> f8279_0_entry_JMP(EOS(STATIC_8279), i3386, i4169 + 1, o15531[LinkedList$Entry.previous]o15584) :|: TRUE 34.17/10.30 f8279_0_entry_JMP(EOS(STATIC_8279), i3386, i4301, o15531[LinkedList$Entry.previous]o15584) -> f8298_0_entry_Load(EOS(STATIC_8298), i3386, i4301, o15531[LinkedList$Entry.previous]o15584) :|: TRUE 34.17/10.30 f8298_0_entry_Load(EOS(STATIC_8298), i3386, i4301, o15531[LinkedList$Entry.previous]o15584) -> f8073_0_entry_Load(EOS(STATIC_8073), i3386, i4301, o15584[LinkedList$Entry.next]o15584, o15584[LinkedList$Entry.previous]o15584, o15584[LinkedList$Entry.next]o15584, o15584[LinkedList$Entry.next]o15584, o15584[LinkedList$Entry.next]o15584) :|: o15584[LinkedList$Entry.next]o15584 = 1 && o15584[LinkedList$Entry.next]o15584 = 1 && o15584[LinkedList$Entry.next]o15584 = 1 && o15584[LinkedList$Entry.next]o15584 = 1 34.17/10.30 f8216_0_entry_FieldAccess(EOS(STATIC_8216), i3386, i4169) -> f8243_0_entry_Store(EOS(STATIC_8243), i3386, i4169) :|: TRUE 34.17/10.30 f8243_0_entry_Store(EOS(STATIC_8243), i3386, i4169) -> f8267_0_entry_Inc(EOS(STATIC_8267), i3386, i4169) :|: TRUE 34.17/10.30 f8267_0_entry_Inc(EOS(STATIC_8267), i3386, i4169) -> f8280_0_entry_JMP(EOS(STATIC_8280), i3386, i4169 + 1) :|: TRUE 34.17/10.30 f8280_0_entry_JMP(EOS(STATIC_8280), i3386, i4302) -> f8299_0_entry_Load(EOS(STATIC_8299), i3386, i4302) :|: TRUE 34.17/10.30 f8299_0_entry_Load(EOS(STATIC_8299), i3386, i4302) -> f8073_0_entry_Load(EOS(STATIC_8073), i3386, i4302, o15629[LinkedList$Entry.next]o15629, o15629[LinkedList$Entry.previous]o15629, o15629[LinkedList$Entry.next]o15629, o15629[LinkedList$Entry.next]o15629, o15629[LinkedList$Entry.next]o15629) :|: o15629[LinkedList$Entry.next]o15629 = 1 && o15629[LinkedList$Entry.previous]o15629 = 1 && o15629[LinkedList$Entry.next]o15629 = 1 && o15629[LinkedList$Entry.next]o15629 = 1 && o15629[LinkedList$Entry.next]o15629 = 1 34.17/10.30 Combined rules. Obtained 5 IRulesP rules: 34.17/10.30 f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0, i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0 + 1, i4169:0 + 1, i3386:0, 1, o15584[LinkedList$Entry.previous]o15584:0, 1, 1, 1) :|: i4169:0 + 1 <= i3386:0 && o14921[LinkedList$Entry.next]o14921:0 > -1 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 > 0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 34.17/10.30 f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0, i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0 + 1, i4169:0 + 1, i3386:0, 1, 1, 1, 1, 1) :|: i4169:0 + 1 <= i3386:0 && o14921[LinkedList$Entry.next]o14921:0 > -1 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 34.17/10.30 f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0, i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0 + 1, i4169:0 + 1, i3386:0, o15528[LinkedList$Entry.next]o15528:0, o15528[LinkedList$Entry.previous]o15528:0, o15530[LinkedList$Entry.next]o15528:0, 1, o15530[LinkedList$Entry.next]o15530:0) :|: i4169:0 + 1 <= i3386:0 && o14921[LinkedList$Entry.next]o14921:0 > -1 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0 > 0 && o15530[LinkedList$Entry.next]o15528:0 > 0 34.17/10.30 f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0, i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0 + 1, i4169:0 + 1, i3386:0, o15626[LinkedList$Entry.next]o15626:0, 1, o15530[LinkedList$Entry.next]o15528:0, 1, o15530[LinkedList$Entry.next]o15530:0) :|: i4169:0 + 1 <= i3386:0 && o14921[LinkedList$Entry.next]o14921:0 > -1 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o15530[LinkedList$Entry.next]o15528:0 > 0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 34.17/10.30 f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0, i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14919[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14919:0, o14919[LinkedList$Entry.next]o14919:0) -> f8118_0_entry_GT(EOS(STATIC_8118), i3386:0, i4169:0 + 1, i4169:0 + 1, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o15526[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o15526:0, o15526[LinkedList$Entry.next]o15526:0) :|: o14919[LinkedList$Entry.next]o14921:0 > 0 && o14921[LinkedList$Entry.next]o14919:0 > 0 && o14919[LinkedList$Entry.next]o14919:0 > 0 && i4169:0 + 1 <= i3386:0 && o14921[LinkedList$Entry.previous]o14921:0 > 0 && o14921[LinkedList$Entry.next]o14921:0 > 0 && o15526[LinkedList$Entry.next]o15524:0 < o14919[LinkedList$Entry.next]o14919:0 && o14921[LinkedList$Entry.next]o15526:0 > o14921[LinkedList$Entry.next]o14919:0 && o15526[LinkedList$Entry.next]o14921:0 < o14919[LinkedList$Entry.next]o14921:0 && o15526[LinkedList$Entry.next]o15524:0 > -1 && o15526[LinkedList$Entry.next]o15526:0 > o15526[LinkedList$Entry.next]o15524:0 34.17/10.30 Filtered constant ground arguments: 34.17/10.30 f8118_0_entry_GT(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f8118_0_entry_GT(x2, x3, x4, x5, x6, x7, x8, x9, x10) 34.17/10.30 EOS(x1) -> EOS 34.17/10.30 Filtered duplicate arguments: 34.17/10.30 f8118_0_entry_GT(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f8118_0_entry_GT(x3, x4, x5, x6, x7, x8, x9) 34.17/10.30 Finished conversion. Obtained 5 rules.P rules: 34.17/10.30 f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(i4169:0 + 1, i3386:0, 1, o15584[LinkedList$Entry.previous]o15584:0, 1, 1, 1) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0 > 0 34.17/10.30 f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(i4169:0 + 1, i3386:0, 1, 1, 1, 1, 1) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 34.17/10.30 f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(i4169:0 + 1, i3386:0, o15528[LinkedList$Entry.next]o15528:0, o15528[LinkedList$Entry.previous]o15528:0, o15530[LinkedList$Entry.next]o15528:0, 1, o15530[LinkedList$Entry.next]o15530:0) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15530[LinkedList$Entry.next]o15528:0 > 0 && o15531[LinkedList$Entry.previous]o15528:0 > 0 34.17/10.30 f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(i4169:0 + 1, i3386:0, o15626[LinkedList$Entry.next]o15626:0, 1, o15530[LinkedList$Entry.next]o15528:0, 1, o15530[LinkedList$Entry.next]o15530:0) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15530[LinkedList$Entry.next]o15528:0 > 0 34.17/10.30 f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14919[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14919:0, o14919[LinkedList$Entry.next]o14919:0) -> f8118_0_entry_GT(i4169:0 + 1, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o15526[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o15526:0, o15526[LinkedList$Entry.next]o15526:0) :|: o14921[LinkedList$Entry.next]o14919:0 > 0 && o14919[LinkedList$Entry.next]o14921:0 > 0 && o14919[LinkedList$Entry.next]o14919:0 > 0 && i4169:0 + 1 <= i3386:0 && o14921[LinkedList$Entry.previous]o14921:0 > 0 && o14921[LinkedList$Entry.next]o14921:0 > 0 && o15526[LinkedList$Entry.next]o15524:0 < o14919[LinkedList$Entry.next]o14919:0 && o14921[LinkedList$Entry.next]o15526:0 > o14921[LinkedList$Entry.next]o14919:0 && o15526[LinkedList$Entry.next]o14921:0 < o14919[LinkedList$Entry.next]o14921:0 && o15526[LinkedList$Entry.next]o15526:0 > o15526[LinkedList$Entry.next]o15524:0 && o15526[LinkedList$Entry.next]o15524:0 > -1 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (80) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(i4169:0 + 1, i3386:0, 1, o15584[LinkedList$Entry.previous]o15584:0, 1, 1, 1) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0 > 0 34.17/10.30 f8118_0_entry_GT(x, x1, x2, x3, x2, x2, x2) -> f8118_0_entry_GT(x + 1, x1, 1, 1, 1, 1, 1) :|: x2 > -1 && x + 1 <= x1 && x4 < x2 && x5 < x3 && x3 > -1 34.17/10.30 f8118_0_entry_GT(x6, x7, x8, x9, x8, x8, x8) -> f8118_0_entry_GT(x6 + 1, x7, x10, x11, x12, 1, x13) :|: x8 > -1 && x6 + 1 <= x7 && x12 < x8 && x14 < x9 && x9 > -1 && x12 > 0 && x14 > 0 34.17/10.30 f8118_0_entry_GT(x15, x16, x17, x18, x17, x17, x17) -> f8118_0_entry_GT(x15 + 1, x16, x19, 1, x20, 1, x21) :|: x17 > -1 && x15 + 1 <= x16 && x20 < x17 && x22 < x18 && x18 > -1 && x20 > 0 34.17/10.30 f8118_0_entry_GT(x23, x24, x25, x26, x27, x28, x29) -> f8118_0_entry_GT(x23 + 1, x24, x25, x26, x30, x31, x32) :|: x28 > 0 && x27 > 0 && x29 > 0 && x23 + 1 <= x24 && x26 > 0 && x25 > 0 && x33 < x29 && x31 > x28 && x30 < x27 && x32 > x33 && x33 > -1 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (81) IRSFormatTransformerProof (EQUIVALENT) 34.17/10.30 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (82) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(arith, i3386:0, 1, o15584[LinkedList$Entry.previous]o15584:0, 1, 1, 1) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0 > 0 && arith = i4169:0 + 1 34.17/10.30 f8118_0_entry_GT(x34, x35, x36, x37, x36, x36, x36) -> f8118_0_entry_GT(x38, x35, 1, 1, 1, 1, 1) :|: x36 > -1 && x34 + 1 <= x35 && x39 < x36 && x40 < x37 && x37 > -1 && x38 = x34 + 1 34.17/10.30 f8118_0_entry_GT(x41, x42, x43, x44, x43, x43, x43) -> f8118_0_entry_GT(x45, x42, x46, x47, x48, 1, x49) :|: x43 > -1 && x41 + 1 <= x42 && x48 < x43 && x50 < x44 && x44 > -1 && x48 > 0 && x50 > 0 && x45 = x41 + 1 34.17/10.30 f8118_0_entry_GT(x51, x52, x53, x54, x53, x53, x53) -> f8118_0_entry_GT(x55, x52, x56, 1, x57, 1, x58) :|: x53 > -1 && x51 + 1 <= x52 && x57 < x53 && x59 < x54 && x54 > -1 && x57 > 0 && x55 = x51 + 1 34.17/10.30 f8118_0_entry_GT(x60, x61, x62, x63, x64, x65, x66) -> f8118_0_entry_GT(x67, x61, x62, x63, x68, x69, x70) :|: x65 > 0 && x64 > 0 && x66 > 0 && x60 + 1 <= x61 && x63 > 0 && x62 > 0 && x71 < x66 && x69 > x65 && x68 < x64 && x70 > x71 && x71 > -1 && x67 = x60 + 1 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (83) IRSwTTerminationDigraphProof (EQUIVALENT) 34.17/10.30 Constructed termination digraph! 34.17/10.30 Nodes: 34.17/10.30 (1) f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(arith, i3386:0, 1, o15584[LinkedList$Entry.previous]o15584:0, 1, 1, 1) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0 > 0 && arith = i4169:0 + 1 34.17/10.30 (2) f8118_0_entry_GT(x34, x35, x36, x37, x36, x36, x36) -> f8118_0_entry_GT(x38, x35, 1, 1, 1, 1, 1) :|: x36 > -1 && x34 + 1 <= x35 && x39 < x36 && x40 < x37 && x37 > -1 && x38 = x34 + 1 34.17/10.30 (3) f8118_0_entry_GT(x41, x42, x43, x44, x43, x43, x43) -> f8118_0_entry_GT(x45, x42, x46, x47, x48, 1, x49) :|: x43 > -1 && x41 + 1 <= x42 && x48 < x43 && x50 < x44 && x44 > -1 && x48 > 0 && x50 > 0 && x45 = x41 + 1 34.17/10.30 (4) f8118_0_entry_GT(x51, x52, x53, x54, x53, x53, x53) -> f8118_0_entry_GT(x55, x52, x56, 1, x57, 1, x58) :|: x53 > -1 && x51 + 1 <= x52 && x57 < x53 && x59 < x54 && x54 > -1 && x57 > 0 && x55 = x51 + 1 34.17/10.30 (5) f8118_0_entry_GT(x60, x61, x62, x63, x64, x65, x66) -> f8118_0_entry_GT(x67, x61, x62, x63, x68, x69, x70) :|: x65 > 0 && x64 > 0 && x66 > 0 && x60 + 1 <= x61 && x63 > 0 && x62 > 0 && x71 < x66 && x69 > x65 && x68 < x64 && x70 > x71 && x71 > -1 && x67 = x60 + 1 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (1), (2), (5) 34.17/10.30 (2) -> (2), (5) 34.17/10.30 (3) -> (1), (2), (5) 34.17/10.30 (4) -> (2), (5) 34.17/10.30 (5) -> (1), (2), (3), (4), (5) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (84) 34.17/10.30 Obligation: 34.17/10.30 34.17/10.30 Termination digraph: 34.17/10.30 Nodes: 34.17/10.30 (1) f8118_0_entry_GT(i4169:0, i3386:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.previous]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0, o14921[LinkedList$Entry.next]o14921:0) -> f8118_0_entry_GT(arith, i3386:0, 1, o15584[LinkedList$Entry.previous]o15584:0, 1, 1, 1) :|: o14921[LinkedList$Entry.next]o14921:0 > -1 && i4169:0 + 1 <= i3386:0 && o15530[LinkedList$Entry.next]o15528:0 < o14921[LinkedList$Entry.next]o14921:0 && o15531[LinkedList$Entry.previous]o15528:0 < o14921[LinkedList$Entry.previous]o14921:0 && o14921[LinkedList$Entry.previous]o14921:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0 > 0 && arith = i4169:0 + 1 34.17/10.30 (2) f8118_0_entry_GT(x41, x42, x43, x44, x43, x43, x43) -> f8118_0_entry_GT(x45, x42, x46, x47, x48, 1, x49) :|: x43 > -1 && x41 + 1 <= x42 && x48 < x43 && x50 < x44 && x44 > -1 && x48 > 0 && x50 > 0 && x45 = x41 + 1 34.17/10.30 (3) f8118_0_entry_GT(x60, x61, x62, x63, x64, x65, x66) -> f8118_0_entry_GT(x67, x61, x62, x63, x68, x69, x70) :|: x65 > 0 && x64 > 0 && x66 > 0 && x60 + 1 <= x61 && x63 > 0 && x62 > 0 && x71 < x66 && x69 > x65 && x68 < x64 && x70 > x71 && x71 > -1 && x67 = x60 + 1 34.17/10.30 (4) f8118_0_entry_GT(x34, x35, x36, x37, x36, x36, x36) -> f8118_0_entry_GT(x38, x35, 1, 1, 1, 1, 1) :|: x36 > -1 && x34 + 1 <= x35 && x39 < x36 && x40 < x37 && x37 > -1 && x38 = x34 + 1 34.17/10.30 (5) f8118_0_entry_GT(x51, x52, x53, x54, x53, x53, x53) -> f8118_0_entry_GT(x55, x52, x56, 1, x57, 1, x58) :|: x53 > -1 && x51 + 1 <= x52 && x57 < x53 && x59 < x54 && x54 > -1 && x57 > 0 && x55 = x51 + 1 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (1), (3), (4) 34.17/10.30 (2) -> (1), (3), (4) 34.17/10.30 (3) -> (1), (2), (3), (4), (5) 34.17/10.30 (4) -> (3), (4) 34.17/10.30 (5) -> (3), (4) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (85) IntTRSCompressionProof (EQUIVALENT) 34.17/10.30 Compressed rules. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (86) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8118_0_entry_GT(x60:0, x61:0, x62:0, x63:0, x64:0, x65:0, x66:0) -> f8118_0_entry_GT(x60:0 + 1, x61:0, x62:0, x63:0, x68:0, x69:0, x70:0) :|: x71:0 < x70:0 && x71:0 > -1 && x68:0 < x64:0 && x69:0 > x65:0 && x71:0 < x66:0 && x62:0 > 0 && x63:0 > 0 && x61:0 >= x60:0 + 1 && x66:0 > 0 && x64:0 > 0 && x65:0 > 0 34.17/10.30 f8118_0_entry_GT(i4169:0:0, i3386:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.previous]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0) -> f8118_0_entry_GT(i4169:0:0 + 1, i3386:0:0, 1, o15584[LinkedList$Entry.previous]o15584:0:0, 1, 1, 1) :|: o14921[LinkedList$Entry.previous]o14921:0:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0:0 > 0 && o15531[LinkedList$Entry.previous]o15528:0:0 < o14921[LinkedList$Entry.previous]o14921:0:0 && o15530[LinkedList$Entry.next]o15528:0:0 < o14921[LinkedList$Entry.next]o14921:0:0 && i4169:0:0 + 1 <= i3386:0:0 && o14921[LinkedList$Entry.next]o14921:0:0 > -1 34.17/10.30 f8118_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8118_0_entry_GT(x41:0 + 1, x42:0, x46:0, x47:0, x48:0, 1, x49:0) :|: x48:0 > 0 && x50:0 > 0 && x44:0 > -1 && x50:0 < x44:0 && x48:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1 34.17/10.30 f8118_0_entry_GT(x51:0, x52:0, x53:0, x54:0, x53:0, x53:0, x53:0) -> f8118_0_entry_GT(x51:0 + 1, x52:0, x56:0, 1, x57:0, 1, x58:0) :|: x54:0 > -1 && x57:0 > 0 && x59:0 < x54:0 && x57:0 < x53:0 && x52:0 >= x51:0 + 1 && x53:0 > -1 34.17/10.30 f8118_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8118_0_entry_GT(x34:0 + 1, x35:0, 1, 1, 1, 1, 1) :|: x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (87) TempFilterProof (SOUND) 34.17/10.30 Used the following sort dictionary for filtering: 34.17/10.30 f8118_0_entry_GT(INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 34.17/10.30 Replaced non-predefined constructor symbols by 0. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (88) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8118_0_entry_GT(x60:0, x61:0, x62:0, x63:0, x64:0, x65:0, x66:0) -> f8118_0_entry_GT(c, x61:0, x62:0, x63:0, x68:0, x69:0, x70:0) :|: c = x60:0 + 1 && (x71:0 < x70:0 && x71:0 > -1 && x68:0 < x64:0 && x69:0 > x65:0 && x71:0 < x66:0 && x62:0 > 0 && x63:0 > 0 && x61:0 >= x60:0 + 1 && x66:0 > 0 && x64:0 > 0 && x65:0 > 0) 34.17/10.30 f8118_0_entry_GT(i4169:0:0, i3386:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.previous]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0) -> f8118_0_entry_GT(c1, i3386:0:0, c2, o15584[LinkedList$Entry.previous]o15584:0:0, c3, c4, c5) :|: c5 = 1 && (c4 = 1 && (c3 = 1 && (c2 = 1 && c1 = i4169:0:0 + 1))) && (o14921[LinkedList$Entry.previous]o14921:0:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0:0 > 0 && o15531[LinkedList$Entry.previous]o15528:0:0 < o14921[LinkedList$Entry.previous]o14921:0:0 && o15530[LinkedList$Entry.next]o15528:0:0 < o14921[LinkedList$Entry.next]o14921:0:0 && i4169:0:0 + 1 <= i3386:0:0 && o14921[LinkedList$Entry.next]o14921:0:0 > -1) 34.17/10.30 f8118_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8118_0_entry_GT(c6, x42:0, x46:0, x47:0, x48:0, c7, x49:0) :|: c7 = 1 && c6 = x41:0 + 1 && (x48:0 > 0 && x50:0 > 0 && x44:0 > -1 && x50:0 < x44:0 && x48:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1) 34.17/10.30 f8118_0_entry_GT(x51:0, x52:0, x53:0, x54:0, x53:0, x53:0, x53:0) -> f8118_0_entry_GT(c8, x52:0, x56:0, c9, x57:0, c10, x58:0) :|: c10 = 1 && (c9 = 1 && c8 = x51:0 + 1) && (x54:0 > -1 && x57:0 > 0 && x59:0 < x54:0 && x57:0 < x53:0 && x52:0 >= x51:0 + 1 && x53:0 > -1) 34.17/10.30 f8118_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8118_0_entry_GT(c11, x35:0, c12, c13, c14, c15, c16) :|: c16 = 1 && (c15 = 1 && (c14 = 1 && (c13 = 1 && (c12 = 1 && c11 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (89) PolynomialOrderProcessor (EQUIVALENT) 34.17/10.30 Found the following polynomial interpretation: 34.17/10.30 [f8118_0_entry_GT(x, x1, x2, x3, x4, x5, x6)] = -x + x1 + x4 34.17/10.30 34.17/10.30 The following rules are decreasing: 34.17/10.30 f8118_0_entry_GT(x60:0, x61:0, x62:0, x63:0, x64:0, x65:0, x66:0) -> f8118_0_entry_GT(c, x61:0, x62:0, x63:0, x68:0, x69:0, x70:0) :|: c = x60:0 + 1 && (x71:0 < x70:0 && x71:0 > -1 && x68:0 < x64:0 && x69:0 > x65:0 && x71:0 < x66:0 && x62:0 > 0 && x63:0 > 0 && x61:0 >= x60:0 + 1 && x66:0 > 0 && x64:0 > 0 && x65:0 > 0) 34.17/10.30 f8118_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8118_0_entry_GT(c6, x42:0, x46:0, x47:0, x48:0, c7, x49:0) :|: c7 = 1 && c6 = x41:0 + 1 && (x48:0 > 0 && x50:0 > 0 && x44:0 > -1 && x50:0 < x44:0 && x48:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1) 34.17/10.30 f8118_0_entry_GT(x51:0, x52:0, x53:0, x54:0, x53:0, x53:0, x53:0) -> f8118_0_entry_GT(c8, x52:0, x56:0, c9, x57:0, c10, x58:0) :|: c10 = 1 && (c9 = 1 && c8 = x51:0 + 1) && (x54:0 > -1 && x57:0 > 0 && x59:0 < x54:0 && x57:0 < x53:0 && x52:0 >= x51:0 + 1 && x53:0 > -1) 34.17/10.30 The following rules are bounded: 34.17/10.30 f8118_0_entry_GT(x60:0, x61:0, x62:0, x63:0, x64:0, x65:0, x66:0) -> f8118_0_entry_GT(c, x61:0, x62:0, x63:0, x68:0, x69:0, x70:0) :|: c = x60:0 + 1 && (x71:0 < x70:0 && x71:0 > -1 && x68:0 < x64:0 && x69:0 > x65:0 && x71:0 < x66:0 && x62:0 > 0 && x63:0 > 0 && x61:0 >= x60:0 + 1 && x66:0 > 0 && x64:0 > 0 && x65:0 > 0) 34.17/10.30 f8118_0_entry_GT(i4169:0:0, i3386:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.previous]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0) -> f8118_0_entry_GT(c1, i3386:0:0, c2, o15584[LinkedList$Entry.previous]o15584:0:0, c3, c4, c5) :|: c5 = 1 && (c4 = 1 && (c3 = 1 && (c2 = 1 && c1 = i4169:0:0 + 1))) && (o14921[LinkedList$Entry.previous]o14921:0:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0:0 > 0 && o15531[LinkedList$Entry.previous]o15528:0:0 < o14921[LinkedList$Entry.previous]o14921:0:0 && o15530[LinkedList$Entry.next]o15528:0:0 < o14921[LinkedList$Entry.next]o14921:0:0 && i4169:0:0 + 1 <= i3386:0:0 && o14921[LinkedList$Entry.next]o14921:0:0 > -1) 34.17/10.30 f8118_0_entry_GT(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f8118_0_entry_GT(c6, x42:0, x46:0, x47:0, x48:0, c7, x49:0) :|: c7 = 1 && c6 = x41:0 + 1 && (x48:0 > 0 && x50:0 > 0 && x44:0 > -1 && x50:0 < x44:0 && x48:0 < x43:0 && x42:0 >= x41:0 + 1 && x43:0 > -1) 34.17/10.30 f8118_0_entry_GT(x51:0, x52:0, x53:0, x54:0, x53:0, x53:0, x53:0) -> f8118_0_entry_GT(c8, x52:0, x56:0, c9, x57:0, c10, x58:0) :|: c10 = 1 && (c9 = 1 && c8 = x51:0 + 1) && (x54:0 > -1 && x57:0 > 0 && x59:0 < x54:0 && x57:0 < x53:0 && x52:0 >= x51:0 + 1 && x53:0 > -1) 34.17/10.30 f8118_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8118_0_entry_GT(c11, x35:0, c12, c13, c14, c15, c16) :|: c16 = 1 && (c15 = 1 && (c14 = 1 && (c13 = 1 && (c12 = 1 && c11 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (90) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f8118_0_entry_GT(i4169:0:0, i3386:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.previous]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0) -> f8118_0_entry_GT(c1, i3386:0:0, c2, o15584[LinkedList$Entry.previous]o15584:0:0, c3, c4, c5) :|: c5 = 1 && (c4 = 1 && (c3 = 1 && (c2 = 1 && c1 = i4169:0:0 + 1))) && (o14921[LinkedList$Entry.previous]o14921:0:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0:0 > 0 && o15531[LinkedList$Entry.previous]o15528:0:0 < o14921[LinkedList$Entry.previous]o14921:0:0 && o15530[LinkedList$Entry.next]o15528:0:0 < o14921[LinkedList$Entry.next]o14921:0:0 && i4169:0:0 + 1 <= i3386:0:0 && o14921[LinkedList$Entry.next]o14921:0:0 > -1) 34.17/10.30 f8118_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8118_0_entry_GT(c11, x35:0, c12, c13, c14, c15, c16) :|: c16 = 1 && (c15 = 1 && (c14 = 1 && (c13 = 1 && (c12 = 1 && c11 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (91) RankingReductionPairProof (EQUIVALENT) 34.17/10.30 Interpretation: 34.17/10.30 [ f8118_0_entry_GT ] = -1*f8118_0_entry_GT_1 + f8118_0_entry_GT_2 34.17/10.30 34.17/10.30 The following rules are decreasing: 34.17/10.30 f8118_0_entry_GT(i4169:0:0, i3386:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.previous]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0) -> f8118_0_entry_GT(c1, i3386:0:0, c2, o15584[LinkedList$Entry.previous]o15584:0:0, c3, c4, c5) :|: c5 = 1 && (c4 = 1 && (c3 = 1 && (c2 = 1 && c1 = i4169:0:0 + 1))) && (o14921[LinkedList$Entry.previous]o14921:0:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0:0 > 0 && o15531[LinkedList$Entry.previous]o15528:0:0 < o14921[LinkedList$Entry.previous]o14921:0:0 && o15530[LinkedList$Entry.next]o15528:0:0 < o14921[LinkedList$Entry.next]o14921:0:0 && i4169:0:0 + 1 <= i3386:0:0 && o14921[LinkedList$Entry.next]o14921:0:0 > -1) 34.17/10.30 f8118_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8118_0_entry_GT(c11, x35:0, c12, c13, c14, c15, c16) :|: c16 = 1 && (c15 = 1 && (c14 = 1 && (c13 = 1 && (c12 = 1 && c11 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 34.17/10.30 34.17/10.30 The following rules are bounded: 34.17/10.30 f8118_0_entry_GT(i4169:0:0, i3386:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.previous]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0, o14921[LinkedList$Entry.next]o14921:0:0) -> f8118_0_entry_GT(c1, i3386:0:0, c2, o15584[LinkedList$Entry.previous]o15584:0:0, c3, c4, c5) :|: c5 = 1 && (c4 = 1 && (c3 = 1 && (c2 = 1 && c1 = i4169:0:0 + 1))) && (o14921[LinkedList$Entry.previous]o14921:0:0 > -1 && o15531[LinkedList$Entry.previous]o15528:0:0 > 0 && o15531[LinkedList$Entry.previous]o15528:0:0 < o14921[LinkedList$Entry.previous]o14921:0:0 && o15530[LinkedList$Entry.next]o15528:0:0 < o14921[LinkedList$Entry.next]o14921:0:0 && i4169:0:0 + 1 <= i3386:0:0 && o14921[LinkedList$Entry.next]o14921:0:0 > -1) 34.17/10.30 f8118_0_entry_GT(x34:0, x35:0, x36:0, x37:0, x36:0, x36:0, x36:0) -> f8118_0_entry_GT(c11, x35:0, c12, c13, c14, c15, c16) :|: c16 = 1 && (c15 = 1 && (c14 = 1 && (c13 = 1 && (c12 = 1 && c11 = x34:0 + 1)))) && (x40:0 < x37:0 && x37:0 > -1 && x39:0 < x36:0 && x35:0 >= x34:0 + 1 && x36:0 > -1) 34.17/10.30 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (92) 34.17/10.30 YES 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (93) 34.17/10.30 Obligation: 34.17/10.30 SCC of termination graph based on JBC Program. 34.17/10.30 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 34.17/10.30 SCC calls the following helper methods: 34.17/10.30 Performed SCC analyses: 34.17/10.30 *Used field analysis yielded the following read fields: 34.17/10.30 *javaUtilEx.LinkedList$Entry: [previous] 34.17/10.30 *Marker field analysis yielded the following relations that could be markers: 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (94) SCCToIRSProof (SOUND) 34.17/10.30 Transformed FIGraph SCCs to intTRSs. Log: 34.17/10.30 Generated rules. Obtained 40 IRulesP rules: 34.17/10.30 f7609_0_entry_LE(EOS(STATIC_7609), i3386, i3544, i3544, i3386, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) -> f7620_0_entry_Load(EOS(STATIC_7620), i3386, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) :|: i3544 > i3386 34.17/10.30 f7620_0_entry_Load(EOS(STATIC_7620), i3386, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) -> f7633_0_entry_FieldAccess(EOS(STATIC_7633), i3386, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) :|: TRUE 34.17/10.30 f7633_0_entry_FieldAccess(EOS(STATIC_7633), i3386, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) -> f7645_0_entry_FieldAccess(EOS(STATIC_7645), i3386, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) :|: o12235[LinkedList$Entry.previous]o12233 > 0 && o12235[LinkedList$Entry.next]o12235 > 0 && o12233[LinkedList$Entry.previous]o12235 > 0 && o12235[LinkedList$Entry.previous]o12235 > 0 && o12233[LinkedList$Entry.previous]o12233 > 0 34.17/10.30 f7633_0_entry_FieldAccess(EOS(STATIC_7633), i3386, i3544, o12286[LinkedList$Entry.previous]o12286, o12286[LinkedList$Entry.next]o12286, o12286[LinkedList$Entry.previous]o12286, o12286[LinkedList$Entry.previous]o12286, o12286[LinkedList$Entry.previous]o12286) -> f7646_0_entry_FieldAccess(EOS(STATIC_7646), i3386, i3544, o12286[LinkedList$Entry.next]o12286, o12286[LinkedList$Entry.previous]o12286) :|: TRUE 34.17/10.30 f7645_0_entry_FieldAccess(EOS(STATIC_7645), i3386, i3544, o12235[LinkedList$Entry.previous]o12345, o12235[LinkedList$Entry.next]o12235, o12345[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12345[LinkedList$Entry.previous]o12345) -> f7660_0_entry_FieldAccess(EOS(STATIC_7660), i3386, i3544, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12345, o12348[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12345) :|: o12348[LinkedList$Entry.previous]o12235 < o12345[LinkedList$Entry.previous]o12235 && o12345[LinkedList$Entry.previous]o12235 >= 0 && o12348[LinkedList$Entry.previous]o12345 < o12345[LinkedList$Entry.previous]o12345 && o12345[LinkedList$Entry.previous]o12345 >= 0 34.17/10.30 f7660_0_entry_FieldAccess(EOS(STATIC_7660), i3386, i3544, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12345, o12348[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12345) -> f7680_0_entry_Store(EOS(STATIC_7680), i3386, i3544, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) :|: o12235[LinkedList$Entry.previous]o12348 > o12235[LinkedList$Entry.previous]o12345 && o12235[LinkedList$Entry.previous]o12345 >= 0 && o12348[LinkedList$Entry.previous]o12348 > o12348[LinkedList$Entry.previous]o12345 && o12348[LinkedList$Entry.previous]o12345 >= 0 34.17/10.30 f7680_0_entry_Store(EOS(STATIC_7680), i3386, i3544, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) -> f7707_0_entry_Inc(EOS(STATIC_7707), i3386, i3544, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) :|: TRUE 34.17/10.30 f7707_0_entry_Inc(EOS(STATIC_7707), i3386, i3544, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) -> f7732_0_entry_JMP(EOS(STATIC_7732), i3386, i3544 + -1, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) :|: TRUE 34.17/10.30 f7732_0_entry_JMP(EOS(STATIC_7732), i3386, i3598, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) -> f7752_0_entry_Load(EOS(STATIC_7752), i3386, i3598, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) :|: TRUE 34.17/10.30 f7752_0_entry_Load(EOS(STATIC_7752), i3386, i3598, o12235[LinkedList$Entry.next]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12348, o12348[LinkedList$Entry.previous]o12348) -> f7577_0_entry_Load(EOS(STATIC_7577), i3386, i3598, o12235[LinkedList$Entry.previous]o12348, o12235[LinkedList$Entry.next]o12235, o12348[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12348[LinkedList$Entry.previous]o12348) :|: TRUE 34.17/10.30 f7577_0_entry_Load(EOS(STATIC_7577), i3386, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) -> f7588_0_entry_Load(EOS(STATIC_7588), i3386, i3544, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) :|: TRUE 34.17/10.30 f7588_0_entry_Load(EOS(STATIC_7588), i3386, i3544, i3544, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) -> f7598_0_entry_LE(EOS(STATIC_7598), i3386, i3544, i3544, i3386, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) :|: TRUE 34.17/10.30 f7598_0_entry_LE(EOS(STATIC_7598), i3386, i3544, i3544, i3386, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) -> f7609_0_entry_LE(EOS(STATIC_7609), i3386, i3544, i3544, i3386, o12235[LinkedList$Entry.previous]o12233, o12235[LinkedList$Entry.next]o12235, o12233[LinkedList$Entry.previous]o12235, o12235[LinkedList$Entry.previous]o12235, o12233[LinkedList$Entry.previous]o12233) :|: i3544 > i3386 34.17/10.30 f7646_0_entry_FieldAccess(EOS(STATIC_7646), i3386, i3544, o12349[LinkedList$Entry.next]o12349, o12349[LinkedList$Entry.previous]o12349) -> f7661_0_entry_FieldAccess(EOS(STATIC_7661), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) :|: o12351[LinkedList$Entry.next]o12349 < o12349[LinkedList$Entry.next]o12349 && o12349[LinkedList$Entry.next]o12349 >= 0 && o12352[LinkedList$Entry.previous]o12349 < o12349[LinkedList$Entry.previous]o12349 && o12349[LinkedList$Entry.previous]o12349 >= 0 34.17/10.30 f7661_0_entry_FieldAccess(EOS(STATIC_7661), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) -> f7681_0_entry_FieldAccess(EOS(STATIC_7681), i3386, i3544, o12352[LinkedList$Entry.previous]o12349, o12351[LinkedList$Entry.next]o12349) :|: o12351[LinkedList$Entry.next]o12349 > 0 34.17/10.30 f7661_0_entry_FieldAccess(EOS(STATIC_7661), i3386, i3544, o12351[LinkedList$Entry.next]o12437, o12352[LinkedList$Entry.previous]o12437) -> f7682_0_entry_FieldAccess(EOS(STATIC_7682), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) :|: TRUE 34.17/10.30 f7681_0_entry_FieldAccess(EOS(STATIC_7681), i3386, i3544, o12352[LinkedList$Entry.previous]o12349, o12351[LinkedList$Entry.next]o12349) -> f7708_0_entry_FieldAccess(EOS(STATIC_7708), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) :|: o12352[LinkedList$Entry.previous]o12349 > 0 34.17/10.30 f7681_0_entry_FieldAccess(EOS(STATIC_7681), i3386, i3544, o12352[LinkedList$Entry.previous]o12586, o12351[LinkedList$Entry.next]o12586) -> f7709_0_entry_FieldAccess(EOS(STATIC_7709), i3386, i3544, o12351[LinkedList$Entry.next]o12586) :|: TRUE 34.17/10.30 f7708_0_entry_FieldAccess(EOS(STATIC_7708), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) -> f7733_0_entry_Store(EOS(STATIC_7733), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) :|: TRUE 34.17/10.30 f7733_0_entry_Store(EOS(STATIC_7733), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) -> f7753_0_entry_Inc(EOS(STATIC_7753), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) :|: TRUE 34.17/10.30 f7753_0_entry_Inc(EOS(STATIC_7753), i3386, i3544, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) -> f7774_0_entry_JMP(EOS(STATIC_7774), i3386, i3544 + -1, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) :|: TRUE 34.17/10.30 f7774_0_entry_JMP(EOS(STATIC_7774), i3386, i3613, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) -> f7793_0_entry_Load(EOS(STATIC_7793), i3386, i3613, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) :|: TRUE 34.17/10.30 f7793_0_entry_Load(EOS(STATIC_7793), i3386, i3613, o12351[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349) -> f7577_0_entry_Load(EOS(STATIC_7577), i3386, i3613, o12349[LinkedList$Entry.previous]o12352, o12349[LinkedList$Entry.next]o12349, o12352[LinkedList$Entry.previous]o12349, o12349[LinkedList$Entry.previous]o12349, o12352[LinkedList$Entry.previous]o12352) :|: o12349[LinkedList$Entry.previous]o12352 = 1 34.17/10.30 f7709_0_entry_FieldAccess(EOS(STATIC_7709), i3386, i3544, o12351[LinkedList$Entry.next]o12586) -> f7734_0_entry_Store(EOS(STATIC_7734), i3386, i3544, o12351[LinkedList$Entry.next]o12586) :|: TRUE 34.17/10.30 f7734_0_entry_Store(EOS(STATIC_7734), i3386, i3544, o12351[LinkedList$Entry.next]o12586) -> f7754_0_entry_Inc(EOS(STATIC_7754), i3386, i3544, o12351[LinkedList$Entry.next]o12586) :|: TRUE 34.17/10.30 f7754_0_entry_Inc(EOS(STATIC_7754), i3386, i3544, o12351[LinkedList$Entry.next]o12586) -> f7775_0_entry_JMP(EOS(STATIC_7775), i3386, i3544 + -1, o12351[LinkedList$Entry.next]o12586) :|: TRUE 34.17/10.30 f7775_0_entry_JMP(EOS(STATIC_7775), i3386, i3615, o12351[LinkedList$Entry.next]o12586) -> f7794_0_entry_Load(EOS(STATIC_7794), i3386, i3615, o12351[LinkedList$Entry.next]o12586) :|: TRUE 34.17/10.30 f7794_0_entry_Load(EOS(STATIC_7794), i3386, i3615, o12351[LinkedList$Entry.next]o12586) -> f7577_0_entry_Load(EOS(STATIC_7577), i3386, i3615, o12586[LinkedList$Entry.previous]o12586, o12586[LinkedList$Entry.next]o12586, o12586[LinkedList$Entry.previous]o12586, o12586[LinkedList$Entry.previous]o12586, o12586[LinkedList$Entry.previous]o12586) :|: o12586[LinkedList$Entry.previous]o12586 = 1 && o12586[LinkedList$Entry.previous]o12586 = 1 && o12586[LinkedList$Entry.previous]o12586 = 1 && o12586[LinkedList$Entry.previous]o12586 = 1 34.17/10.30 f7682_0_entry_FieldAccess(EOS(STATIC_7682), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) -> f7710_0_entry_FieldAccess(EOS(STATIC_7710), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) :|: o12352[LinkedList$Entry.previous]o12437 > 0 34.17/10.30 f7682_0_entry_FieldAccess(EOS(STATIC_7682), i3386, i3544, o12352[LinkedList$Entry.previous]o12589) -> f7711_0_entry_FieldAccess(EOS(STATIC_7711), i3386, i3544) :|: TRUE 34.17/10.30 f7710_0_entry_FieldAccess(EOS(STATIC_7710), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) -> f7735_0_entry_Store(EOS(STATIC_7735), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) :|: TRUE 34.17/10.30 f7735_0_entry_Store(EOS(STATIC_7735), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) -> f7755_0_entry_Inc(EOS(STATIC_7755), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) :|: TRUE 34.17/10.30 f7755_0_entry_Inc(EOS(STATIC_7755), i3386, i3544, o12352[LinkedList$Entry.previous]o12437) -> f7776_0_entry_JMP(EOS(STATIC_7776), i3386, i3544 + -1, o12352[LinkedList$Entry.previous]o12437) :|: TRUE 34.17/10.30 f7776_0_entry_JMP(EOS(STATIC_7776), i3386, i3616, o12352[LinkedList$Entry.previous]o12437) -> f7795_0_entry_Load(EOS(STATIC_7795), i3386, i3616, o12352[LinkedList$Entry.previous]o12437) :|: TRUE 34.17/10.30 f7795_0_entry_Load(EOS(STATIC_7795), i3386, i3616, o12352[LinkedList$Entry.previous]o12437) -> f7577_0_entry_Load(EOS(STATIC_7577), i3386, i3616, o12437[LinkedList$Entry.previous]o12352, o12437[LinkedList$Entry.next]o12437, o12352[LinkedList$Entry.previous]o12437, o12437[LinkedList$Entry.previous]o12437, o12352[LinkedList$Entry.previous]o12352) :|: o12437[LinkedList$Entry.previous]o12352 = 1 && o12437[LinkedList$Entry.next]o12437 = 1 34.17/10.30 f7711_0_entry_FieldAccess(EOS(STATIC_7711), i3386, i3544) -> f7736_0_entry_Store(EOS(STATIC_7736), i3386, i3544) :|: TRUE 34.17/10.30 f7736_0_entry_Store(EOS(STATIC_7736), i3386, i3544) -> f7756_0_entry_Inc(EOS(STATIC_7756), i3386, i3544) :|: TRUE 34.17/10.30 f7756_0_entry_Inc(EOS(STATIC_7756), i3386, i3544) -> f7777_0_entry_JMP(EOS(STATIC_7777), i3386, i3544 + -1) :|: TRUE 34.17/10.30 f7777_0_entry_JMP(EOS(STATIC_7777), i3386, i3620) -> f7796_0_entry_Load(EOS(STATIC_7796), i3386, i3620) :|: TRUE 34.17/10.30 f7796_0_entry_Load(EOS(STATIC_7796), i3386, i3620) -> f7577_0_entry_Load(EOS(STATIC_7577), i3386, i3620, o12589[LinkedList$Entry.previous]o12589, o12589[LinkedList$Entry.next]o12589, o12589[LinkedList$Entry.previous]o12589, o12589[LinkedList$Entry.previous]o12589, o12589[LinkedList$Entry.previous]o12589) :|: o12589[LinkedList$Entry.previous]o12589 = 1 && o12589[LinkedList$Entry.next]o12589 = 1 && o12589[LinkedList$Entry.previous]o12589 = 1 && o12589[LinkedList$Entry.previous]o12589 = 1 && o12589[LinkedList$Entry.previous]o12589 = 1 34.17/10.30 Combined rules. Obtained 5 IRulesP rules: 34.17/10.30 f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0, i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0 - 1, i3544:0 - 1, i3386:0, 1, o12349[LinkedList$Entry.next]o12349:0, o12352[LinkedList$Entry.previous]o12349:0, o12349[LinkedList$Entry.previous]o12349:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12235[LinkedList$Entry.next]o12235:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 > 0 && i3544:0 - 1 > i3386:0 && o12352[LinkedList$Entry.previous]o12349:0 > 0 34.17/10.30 f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0, i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0 - 1, i3544:0 - 1, i3386:0, 1, 1, o12352[LinkedList$Entry.previous]o12349:0, o12437[LinkedList$Entry.previous]o12437:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12235[LinkedList$Entry.next]o12235:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && i3544:0 - 1 > i3386:0 && o12352[LinkedList$Entry.previous]o12349:0 > 0 34.17/10.30 f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0, i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0 - 1, i3544:0 - 1, i3386:0, 1, 1, 1, 1, 1) :|: o12235[LinkedList$Entry.next]o12235:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && i3544:0 - 1 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 34.17/10.30 f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0, i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12233[LinkedList$Entry.previous]o12235:0, o12235[LinkedList$Entry.previous]o12235:0, o12233[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0 - 1, i3544:0 - 1, i3386:0, o12235[LinkedList$Entry.previous]o12348:0, o12235[LinkedList$Entry.next]o12235:0, o12348[LinkedList$Entry.previous]o12235:0, o12235[LinkedList$Entry.previous]o12235:0, o12348[LinkedList$Entry.previous]o12348:0) :|: o12235[LinkedList$Entry.previous]o12233:0 > 0 && o12233[LinkedList$Entry.previous]o12235:0 > 0 && o12233[LinkedList$Entry.previous]o12233:0 > 0 && o12235[LinkedList$Entry.next]o12235:0 > 0 && o12348[LinkedList$Entry.previous]o12235:0 < o12233[LinkedList$Entry.previous]o12235:0 && o12235[LinkedList$Entry.previous]o12235:0 > 0 && o12235[LinkedList$Entry.previous]o12348:0 > o12235[LinkedList$Entry.previous]o12233:0 && o12348[LinkedList$Entry.previous]o12345:0 < o12233[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12348[LinkedList$Entry.previous]o12348:0 > o12348[LinkedList$Entry.previous]o12345:0 && i3544:0 - 1 > i3386:0 && o12348[LinkedList$Entry.previous]o12345:0 > -1 34.17/10.30 f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0, i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(EOS(STATIC_7609), i3386:0, i3544:0 - 1, i3544:0 - 1, i3386:0, 1, o12586[LinkedList$Entry.next]o12586:0, 1, 1, 1) :|: o12235[LinkedList$Entry.next]o12235:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && i3544:0 - 1 > i3386:0 && o12351[LinkedList$Entry.next]o12349:0 > 0 34.17/10.30 Filtered constant ground arguments: 34.17/10.30 f7609_0_entry_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f7609_0_entry_LE(x2, x3, x4, x5, x6, x7, x8, x9, x10) 34.17/10.30 EOS(x1) -> EOS 34.17/10.30 Filtered duplicate arguments: 34.17/10.30 f7609_0_entry_LE(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f7609_0_entry_LE(x3, x4, x5, x6, x7, x8, x9) 34.17/10.30 Finished conversion. Obtained 5 rules.P rules: 34.17/10.30 f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(i3544:0 - 1, i3386:0, 1, o12349[LinkedList$Entry.next]o12349:0, o12352[LinkedList$Entry.previous]o12349:0, o12349[LinkedList$Entry.previous]o12349:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 > 0 && o12352[LinkedList$Entry.previous]o12349:0 > 0 && i3544:0 - 1 > i3386:0 34.17/10.30 f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(i3544:0 - 1, i3386:0, 1, 1, o12352[LinkedList$Entry.previous]o12349:0, o12437[LinkedList$Entry.previous]o12437:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 > 0 && i3544:0 - 1 > i3386:0 34.17/10.30 f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(i3544:0 - 1, i3386:0, 1, 1, 1, 1, 1) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && i3544:0 - 1 > i3386:0 34.17/10.30 f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12233[LinkedList$Entry.previous]o12235:0, o12235[LinkedList$Entry.previous]o12235:0, o12233[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(i3544:0 - 1, i3386:0, o12235[LinkedList$Entry.previous]o12348:0, o12235[LinkedList$Entry.next]o12235:0, o12348[LinkedList$Entry.previous]o12235:0, o12235[LinkedList$Entry.previous]o12235:0, o12348[LinkedList$Entry.previous]o12348:0) :|: o12233[LinkedList$Entry.previous]o12235:0 > 0 && o12235[LinkedList$Entry.previous]o12233:0 > 0 && o12233[LinkedList$Entry.previous]o12233:0 > 0 && o12235[LinkedList$Entry.next]o12235:0 > 0 && o12348[LinkedList$Entry.previous]o12235:0 < o12233[LinkedList$Entry.previous]o12235:0 && o12235[LinkedList$Entry.previous]o12235:0 > 0 && o12235[LinkedList$Entry.previous]o12348:0 > o12235[LinkedList$Entry.previous]o12233:0 && o12348[LinkedList$Entry.previous]o12345:0 < o12233[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12348[LinkedList$Entry.previous]o12348:0 > o12348[LinkedList$Entry.previous]o12345:0 && o12348[LinkedList$Entry.previous]o12345:0 > -1 && i3544:0 - 1 > i3386:0 34.17/10.30 f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(i3544:0 - 1, i3386:0, 1, o12586[LinkedList$Entry.next]o12586:0, 1, 1, 1) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 > 0 && i3544:0 - 1 > i3386:0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (95) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(i3544:0 - 1, i3386:0, 1, o12349[LinkedList$Entry.next]o12349:0, o12352[LinkedList$Entry.previous]o12349:0, o12349[LinkedList$Entry.previous]o12349:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 > 0 && o12352[LinkedList$Entry.previous]o12349:0 > 0 && i3544:0 - 1 > i3386:0 34.17/10.30 f7609_0_entry_LE(x, x1, x2, x3, x2, x2, x2) -> f7609_0_entry_LE(x - 1, x1, 1, 1, x4, x5, x6) :|: x7 < x3 && x3 > -1 && x4 < x2 && x > x1 && x2 > -1 && x4 > 0 && x - 1 > x1 34.17/10.30 f7609_0_entry_LE(x8, x9, x10, x11, x10, x10, x10) -> f7609_0_entry_LE(x8 - 1, x9, 1, 1, 1, 1, 1) :|: x12 < x11 && x11 > -1 && x13 < x10 && x8 > x9 && x10 > -1 && x8 - 1 > x9 34.17/10.30 f7609_0_entry_LE(x14, x15, x16, x17, x18, x19, x20) -> f7609_0_entry_LE(x14 - 1, x15, x21, x17, x22, x19, x23) :|: x18 > 0 && x16 > 0 && x20 > 0 && x17 > 0 && x22 < x18 && x19 > 0 && x21 > x16 && x24 < x20 && x14 > x15 && x23 > x24 && x24 > -1 && x14 - 1 > x15 34.17/10.30 f7609_0_entry_LE(x25, x26, x27, x28, x27, x27, x27) -> f7609_0_entry_LE(x25 - 1, x26, 1, x29, 1, 1, 1) :|: x30 < x28 && x28 > -1 && x31 < x27 && x25 > x26 && x27 > -1 && x30 > 0 && x25 - 1 > x26 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (96) IRSFormatTransformerProof (EQUIVALENT) 34.17/10.30 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (97) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(arith, i3386:0, 1, o12349[LinkedList$Entry.next]o12349:0, o12352[LinkedList$Entry.previous]o12349:0, o12349[LinkedList$Entry.previous]o12349:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 > 0 && o12352[LinkedList$Entry.previous]o12349:0 > 0 && i3544:0 - 1 > i3386:0 && arith = i3544:0 - 1 34.17/10.30 f7609_0_entry_LE(x32, x33, x34, x35, x34, x34, x34) -> f7609_0_entry_LE(x36, x33, 1, 1, x37, x38, x39) :|: x40 < x35 && x35 > -1 && x37 < x34 && x32 > x33 && x34 > -1 && x37 > 0 && x32 - 1 > x33 && x36 = x32 - 1 34.17/10.30 f7609_0_entry_LE(x41, x42, x43, x44, x43, x43, x43) -> f7609_0_entry_LE(x45, x42, 1, 1, 1, 1, 1) :|: x46 < x44 && x44 > -1 && x47 < x43 && x41 > x42 && x43 > -1 && x41 - 1 > x42 && x45 = x41 - 1 34.17/10.30 f7609_0_entry_LE(x48, x49, x50, x51, x52, x53, x54) -> f7609_0_entry_LE(x55, x49, x56, x51, x57, x53, x58) :|: x52 > 0 && x50 > 0 && x54 > 0 && x51 > 0 && x57 < x52 && x53 > 0 && x56 > x50 && x59 < x54 && x48 > x49 && x58 > x59 && x59 > -1 && x48 - 1 > x49 && x55 = x48 - 1 34.17/10.30 f7609_0_entry_LE(x60, x61, x62, x63, x62, x62, x62) -> f7609_0_entry_LE(x64, x61, 1, x65, 1, 1, 1) :|: x66 < x63 && x63 > -1 && x67 < x62 && x60 > x61 && x62 > -1 && x66 > 0 && x60 - 1 > x61 && x64 = x60 - 1 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (98) IRSwTTerminationDigraphProof (EQUIVALENT) 34.17/10.30 Constructed termination digraph! 34.17/10.30 Nodes: 34.17/10.30 (1) f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(arith, i3386:0, 1, o12349[LinkedList$Entry.next]o12349:0, o12352[LinkedList$Entry.previous]o12349:0, o12349[LinkedList$Entry.previous]o12349:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 > 0 && o12352[LinkedList$Entry.previous]o12349:0 > 0 && i3544:0 - 1 > i3386:0 && arith = i3544:0 - 1 34.17/10.30 (2) f7609_0_entry_LE(x32, x33, x34, x35, x34, x34, x34) -> f7609_0_entry_LE(x36, x33, 1, 1, x37, x38, x39) :|: x40 < x35 && x35 > -1 && x37 < x34 && x32 > x33 && x34 > -1 && x37 > 0 && x32 - 1 > x33 && x36 = x32 - 1 34.17/10.30 (3) f7609_0_entry_LE(x41, x42, x43, x44, x43, x43, x43) -> f7609_0_entry_LE(x45, x42, 1, 1, 1, 1, 1) :|: x46 < x44 && x44 > -1 && x47 < x43 && x41 > x42 && x43 > -1 && x41 - 1 > x42 && x45 = x41 - 1 34.17/10.30 (4) f7609_0_entry_LE(x48, x49, x50, x51, x52, x53, x54) -> f7609_0_entry_LE(x55, x49, x56, x51, x57, x53, x58) :|: x52 > 0 && x50 > 0 && x54 > 0 && x51 > 0 && x57 < x52 && x53 > 0 && x56 > x50 && x59 < x54 && x48 > x49 && x58 > x59 && x59 > -1 && x48 - 1 > x49 && x55 = x48 - 1 34.17/10.30 (5) f7609_0_entry_LE(x60, x61, x62, x63, x62, x62, x62) -> f7609_0_entry_LE(x64, x61, 1, x65, 1, 1, 1) :|: x66 < x63 && x63 > -1 && x67 < x62 && x60 > x61 && x62 > -1 && x66 > 0 && x60 - 1 > x61 && x64 = x60 - 1 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (3), (4), (5) 34.17/10.30 (2) -> (3), (4) 34.17/10.30 (3) -> (3), (4) 34.17/10.30 (4) -> (1), (2), (3), (4), (5) 34.17/10.30 (5) -> (3), (4), (5) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (99) 34.17/10.30 Obligation: 34.17/10.30 34.17/10.30 Termination digraph: 34.17/10.30 Nodes: 34.17/10.30 (1) f7609_0_entry_LE(i3544:0, i3386:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.next]o12235:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0, o12235[LinkedList$Entry.previous]o12233:0) -> f7609_0_entry_LE(arith, i3386:0, 1, o12349[LinkedList$Entry.next]o12349:0, o12352[LinkedList$Entry.previous]o12349:0, o12349[LinkedList$Entry.previous]o12349:0, o12352[LinkedList$Entry.previous]o12352:0) :|: o12351[LinkedList$Entry.next]o12349:0 < o12235[LinkedList$Entry.next]o12235:0 && o12235[LinkedList$Entry.next]o12235:0 > -1 && o12352[LinkedList$Entry.previous]o12349:0 < o12235[LinkedList$Entry.previous]o12233:0 && i3544:0 > i3386:0 && o12235[LinkedList$Entry.previous]o12233:0 > -1 && o12351[LinkedList$Entry.next]o12349:0 > 0 && o12352[LinkedList$Entry.previous]o12349:0 > 0 && i3544:0 - 1 > i3386:0 && arith = i3544:0 - 1 34.17/10.30 (2) f7609_0_entry_LE(x48, x49, x50, x51, x52, x53, x54) -> f7609_0_entry_LE(x55, x49, x56, x51, x57, x53, x58) :|: x52 > 0 && x50 > 0 && x54 > 0 && x51 > 0 && x57 < x52 && x53 > 0 && x56 > x50 && x59 < x54 && x48 > x49 && x58 > x59 && x59 > -1 && x48 - 1 > x49 && x55 = x48 - 1 34.17/10.30 (3) f7609_0_entry_LE(x41, x42, x43, x44, x43, x43, x43) -> f7609_0_entry_LE(x45, x42, 1, 1, 1, 1, 1) :|: x46 < x44 && x44 > -1 && x47 < x43 && x41 > x42 && x43 > -1 && x41 - 1 > x42 && x45 = x41 - 1 34.17/10.30 (4) f7609_0_entry_LE(x60, x61, x62, x63, x62, x62, x62) -> f7609_0_entry_LE(x64, x61, 1, x65, 1, 1, 1) :|: x66 < x63 && x63 > -1 && x67 < x62 && x60 > x61 && x62 > -1 && x66 > 0 && x60 - 1 > x61 && x64 = x60 - 1 34.17/10.30 (5) f7609_0_entry_LE(x32, x33, x34, x35, x34, x34, x34) -> f7609_0_entry_LE(x36, x33, 1, 1, x37, x38, x39) :|: x40 < x35 && x35 > -1 && x37 < x34 && x32 > x33 && x34 > -1 && x37 > 0 && x32 - 1 > x33 && x36 = x32 - 1 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (2), (3), (4) 34.17/10.30 (2) -> (1), (2), (3), (4), (5) 34.17/10.30 (3) -> (2), (3) 34.17/10.30 (4) -> (2), (3), (4) 34.17/10.30 (5) -> (2), (3) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (100) IntTRSCompressionProof (EQUIVALENT) 34.17/10.30 Compressed rules. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (101) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7609_0_entry_LE(x32:0, x33:0, x34:0, x35:0, x34:0, x34:0, x34:0) -> f7609_0_entry_LE(x32:0 - 1, x33:0, 1, 1, x37:0, x38:0, x39:0) :|: x37:0 > 0 && x33:0 < x32:0 - 1 && x34:0 > -1 && x33:0 < x32:0 && x37:0 < x34:0 && x35:0 > -1 && x40:0 < x35:0 34.17/10.30 f7609_0_entry_LE(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f7609_0_entry_LE(x41:0 - 1, x42:0, 1, 1, 1, 1, 1) :|: x43:0 > -1 && x42:0 < x41:0 - 1 && x42:0 < x41:0 && x47:0 < x43:0 && x44:0 > -1 && x46:0 < x44:0 34.17/10.30 f7609_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7609_0_entry_LE(x60:0 - 1, x61:0, 1, x65:0, 1, 1, 1) :|: x66:0 > 0 && x61:0 < x60:0 - 1 && x62:0 > -1 && x61:0 < x60:0 && x67:0 < x62:0 && x63:0 > -1 && x66:0 < x63:0 34.17/10.30 f7609_0_entry_LE(i3544:0:0, i3386:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.next]o12235:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0) -> f7609_0_entry_LE(i3544:0:0 - 1, i3386:0:0, 1, o12349[LinkedList$Entry.next]o12349:0:0, o12352[LinkedList$Entry.previous]o12349:0:0, o12349[LinkedList$Entry.previous]o12349:0:0, o12352[LinkedList$Entry.previous]o12352:0:0) :|: o12352[LinkedList$Entry.previous]o12349:0:0 > 0 && i3544:0:0 - 1 > i3386:0:0 && o12351[LinkedList$Entry.next]o12349:0:0 > 0 && o12235[LinkedList$Entry.previous]o12233:0:0 > -1 && i3544:0:0 > i3386:0:0 && o12352[LinkedList$Entry.previous]o12349:0:0 < o12235[LinkedList$Entry.previous]o12233:0:0 && o12235[LinkedList$Entry.next]o12235:0:0 > -1 && o12351[LinkedList$Entry.next]o12349:0:0 < o12235[LinkedList$Entry.next]o12235:0:0 34.17/10.30 f7609_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7609_0_entry_LE(x48:0 - 1, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (102) TempFilterProof (SOUND) 34.17/10.30 Used the following sort dictionary for filtering: 34.17/10.30 f7609_0_entry_LE(INTEGER, INTEGER, VARIABLE, VARIABLE, VARIABLE, VARIABLE, VARIABLE) 34.17/10.30 Replaced non-predefined constructor symbols by 0. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (103) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7609_0_entry_LE(x32:0, x33:0, x34:0, x35:0, x34:0, x34:0, x34:0) -> f7609_0_entry_LE(c, x33:0, c1, c2, x37:0, x38:0, x39:0) :|: c2 = 1 && (c1 = 1 && c = x32:0 - 1) && (x37:0 > 0 && x33:0 < x32:0 - 1 && x34:0 > -1 && x33:0 < x32:0 && x37:0 < x34:0 && x35:0 > -1 && x40:0 < x35:0) 34.17/10.30 f7609_0_entry_LE(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f7609_0_entry_LE(c3, x42:0, c4, c5, c6, c7, c8) :|: c8 = 1 && (c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x41:0 - 1)))) && (x43:0 > -1 && x42:0 < x41:0 - 1 && x42:0 < x41:0 && x47:0 < x43:0 && x44:0 > -1 && x46:0 < x44:0) 34.17/10.30 f7609_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7609_0_entry_LE(c9, x61:0, c10, x65:0, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && c9 = x60:0 - 1))) && (x66:0 > 0 && x61:0 < x60:0 - 1 && x62:0 > -1 && x61:0 < x60:0 && x67:0 < x62:0 && x63:0 > -1 && x66:0 < x63:0) 34.17/10.30 f7609_0_entry_LE(i3544:0:0, i3386:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.next]o12235:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0) -> f7609_0_entry_LE(c14, i3386:0:0, c15, o12349[LinkedList$Entry.next]o12349:0:0, o12352[LinkedList$Entry.previous]o12349:0:0, o12349[LinkedList$Entry.previous]o12349:0:0, o12352[LinkedList$Entry.previous]o12352:0:0) :|: c15 = 1 && c14 = i3544:0:0 - 1 && (o12352[LinkedList$Entry.previous]o12349:0:0 > 0 && i3544:0:0 - 1 > i3386:0:0 && o12351[LinkedList$Entry.next]o12349:0:0 > 0 && o12235[LinkedList$Entry.previous]o12233:0:0 > -1 && i3544:0:0 > i3386:0:0 && o12352[LinkedList$Entry.previous]o12349:0:0 < o12235[LinkedList$Entry.previous]o12233:0:0 && o12235[LinkedList$Entry.next]o12235:0:0 > -1 && o12351[LinkedList$Entry.next]o12349:0:0 < o12235[LinkedList$Entry.next]o12235:0:0) 34.17/10.30 f7609_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7609_0_entry_LE(c16, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: c16 = x48:0 - 1 && (x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (104) RankingReductionPairProof (EQUIVALENT) 34.17/10.30 Interpretation: 34.17/10.30 [ f7609_0_entry_LE ] = -1*f7609_0_entry_LE_2 + f7609_0_entry_LE_1 34.17/10.30 34.17/10.30 The following rules are decreasing: 34.17/10.30 f7609_0_entry_LE(x32:0, x33:0, x34:0, x35:0, x34:0, x34:0, x34:0) -> f7609_0_entry_LE(c, x33:0, c1, c2, x37:0, x38:0, x39:0) :|: c2 = 1 && (c1 = 1 && c = x32:0 - 1) && (x37:0 > 0 && x33:0 < x32:0 - 1 && x34:0 > -1 && x33:0 < x32:0 && x37:0 < x34:0 && x35:0 > -1 && x40:0 < x35:0) 34.17/10.30 f7609_0_entry_LE(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f7609_0_entry_LE(c3, x42:0, c4, c5, c6, c7, c8) :|: c8 = 1 && (c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x41:0 - 1)))) && (x43:0 > -1 && x42:0 < x41:0 - 1 && x42:0 < x41:0 && x47:0 < x43:0 && x44:0 > -1 && x46:0 < x44:0) 34.17/10.30 f7609_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7609_0_entry_LE(c9, x61:0, c10, x65:0, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && c9 = x60:0 - 1))) && (x66:0 > 0 && x61:0 < x60:0 - 1 && x62:0 > -1 && x61:0 < x60:0 && x67:0 < x62:0 && x63:0 > -1 && x66:0 < x63:0) 34.17/10.30 f7609_0_entry_LE(i3544:0:0, i3386:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.next]o12235:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0) -> f7609_0_entry_LE(c14, i3386:0:0, c15, o12349[LinkedList$Entry.next]o12349:0:0, o12352[LinkedList$Entry.previous]o12349:0:0, o12349[LinkedList$Entry.previous]o12349:0:0, o12352[LinkedList$Entry.previous]o12352:0:0) :|: c15 = 1 && c14 = i3544:0:0 - 1 && (o12352[LinkedList$Entry.previous]o12349:0:0 > 0 && i3544:0:0 - 1 > i3386:0:0 && o12351[LinkedList$Entry.next]o12349:0:0 > 0 && o12235[LinkedList$Entry.previous]o12233:0:0 > -1 && i3544:0:0 > i3386:0:0 && o12352[LinkedList$Entry.previous]o12349:0:0 < o12235[LinkedList$Entry.previous]o12233:0:0 && o12235[LinkedList$Entry.next]o12235:0:0 > -1 && o12351[LinkedList$Entry.next]o12349:0:0 < o12235[LinkedList$Entry.next]o12235:0:0) 34.17/10.30 f7609_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7609_0_entry_LE(c16, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: c16 = x48:0 - 1 && (x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0) 34.17/10.30 34.17/10.30 The following rules are bounded: 34.17/10.30 f7609_0_entry_LE(x32:0, x33:0, x34:0, x35:0, x34:0, x34:0, x34:0) -> f7609_0_entry_LE(c, x33:0, c1, c2, x37:0, x38:0, x39:0) :|: c2 = 1 && (c1 = 1 && c = x32:0 - 1) && (x37:0 > 0 && x33:0 < x32:0 - 1 && x34:0 > -1 && x33:0 < x32:0 && x37:0 < x34:0 && x35:0 > -1 && x40:0 < x35:0) 34.17/10.30 f7609_0_entry_LE(x41:0, x42:0, x43:0, x44:0, x43:0, x43:0, x43:0) -> f7609_0_entry_LE(c3, x42:0, c4, c5, c6, c7, c8) :|: c8 = 1 && (c7 = 1 && (c6 = 1 && (c5 = 1 && (c4 = 1 && c3 = x41:0 - 1)))) && (x43:0 > -1 && x42:0 < x41:0 - 1 && x42:0 < x41:0 && x47:0 < x43:0 && x44:0 > -1 && x46:0 < x44:0) 34.17/10.30 f7609_0_entry_LE(x60:0, x61:0, x62:0, x63:0, x62:0, x62:0, x62:0) -> f7609_0_entry_LE(c9, x61:0, c10, x65:0, c11, c12, c13) :|: c13 = 1 && (c12 = 1 && (c11 = 1 && (c10 = 1 && c9 = x60:0 - 1))) && (x66:0 > 0 && x61:0 < x60:0 - 1 && x62:0 > -1 && x61:0 < x60:0 && x67:0 < x62:0 && x63:0 > -1 && x66:0 < x63:0) 34.17/10.30 f7609_0_entry_LE(i3544:0:0, i3386:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.next]o12235:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0, o12235[LinkedList$Entry.previous]o12233:0:0) -> f7609_0_entry_LE(c14, i3386:0:0, c15, o12349[LinkedList$Entry.next]o12349:0:0, o12352[LinkedList$Entry.previous]o12349:0:0, o12349[LinkedList$Entry.previous]o12349:0:0, o12352[LinkedList$Entry.previous]o12352:0:0) :|: c15 = 1 && c14 = i3544:0:0 - 1 && (o12352[LinkedList$Entry.previous]o12349:0:0 > 0 && i3544:0:0 - 1 > i3386:0:0 && o12351[LinkedList$Entry.next]o12349:0:0 > 0 && o12235[LinkedList$Entry.previous]o12233:0:0 > -1 && i3544:0:0 > i3386:0:0 && o12352[LinkedList$Entry.previous]o12349:0:0 < o12235[LinkedList$Entry.previous]o12233:0:0 && o12235[LinkedList$Entry.next]o12235:0:0 > -1 && o12351[LinkedList$Entry.next]o12349:0:0 < o12235[LinkedList$Entry.next]o12235:0:0) 34.17/10.30 f7609_0_entry_LE(x48:0, x49:0, x50:0, x51:0, x52:0, x53:0, x54:0) -> f7609_0_entry_LE(c16, x49:0, x56:0, x51:0, x57:0, x53:0, x58:0) :|: c16 = x48:0 - 1 && (x59:0 > -1 && x49:0 < x48:0 - 1 && x59:0 < x58:0 && x49:0 < x48:0 && x59:0 < x54:0 && x56:0 > x50:0 && x53:0 > 0 && x57:0 < x52:0 && x51:0 > 0 && x54:0 > 0 && x50:0 > 0 && x52:0 > 0) 34.17/10.30 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (105) 34.17/10.30 YES 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (106) 34.17/10.30 Obligation: 34.17/10.30 SCC of termination graph based on JBC Program. 34.17/10.30 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 34.17/10.30 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 34.17/10.30 Performed SCC analyses: 34.17/10.30 *Used field analysis yielded the following read fields: 34.17/10.30 *javaUtilEx.LinkedList$Entry: [element, next] 34.17/10.30 *javaUtilEx.LinkedList: [header] 34.17/10.30 *Marker field analysis yielded the following relations that could be markers: 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (107) SCCToIRSProof (SOUND) 34.17/10.30 Transformed FIGraph SCCs to intTRSs. Log: 34.17/10.30 Generated rules. Obtained 61 IRulesP rules: 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(o11616sub2121787046))), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) -> f7455_0_remove_Load(EOS(STATIC_7455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) :|: TRUE 34.17/10.30 f7455_0_remove_Load(EOS(STATIC_7455), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) -> f7464_0_remove_Load(EOS(STATIC_7464), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.Content(EOC)), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) :|: TRUE 34.17/10.30 f7464_0_remove_Load(EOS(STATIC_7464), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.Content(EOC)), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) -> f7471_0_remove_FieldAccess(EOS(STATIC_7471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) :|: TRUE 34.17/10.30 f7471_0_remove_FieldAccess(EOS(STATIC_7471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) -> f7480_0_remove_FieldAccess(EOS(STATIC_7480), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) :|: o11616[LinkedList$Entry.next]o11618 > 0 && o11618[LinkedList$Entry.next]o11616 > 0 34.17/10.30 f7471_0_remove_FieldAccess(EOS(STATIC_7471), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11914sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11914sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11914sub0), o11914[LinkedList$Entry.next]o11914, o11914[LinkedList$Entry.next]o11614, o11914[LinkedList$Entry.next]o11914, o11914[LinkedList$Entry.next]o11614) -> f7481_0_remove_FieldAccess(EOS(STATIC_7481), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11914sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11914sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11914sub0), o11914[LinkedList$Entry.next]o11614, o11914[LinkedList$Entry.next]o11914) :|: TRUE 34.17/10.30 f7480_0_remove_FieldAccess(EOS(STATIC_7480), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), o11616[LinkedList$Entry.next]o11928, o11616[LinkedList$Entry.next]o11614, o11928[LinkedList$Entry.next]o11614, o11928[LinkedList$Entry.next]o11616) -> f7492_0_remove_FieldAccess(EOS(STATIC_7492), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: o11930[LinkedList$Entry.next]o11614 < o11928[LinkedList$Entry.next]o11614 && o11928[LinkedList$Entry.next]o11614 >= 0 && o11930[LinkedList$Entry.next]o11616 < o11928[LinkedList$Entry.next]o11616 && o11928[LinkedList$Entry.next]o11616 >= 0 34.17/10.30 f7492_0_remove_FieldAccess(EOS(STATIC_7492), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f7504_0_remove_InvokeMethod(EOS(STATIC_7504), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), o119290, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7504_0_remove_InvokeMethod(EOS(STATIC_7504), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), o119290, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f7517_0_equals_Load(EOS(STATIC_7517), java.lang.Object(javaUtilEx.Content(EOC)), o119290, java.lang.Object(o11616sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(o11616sub2121787046))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(o11930sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119290, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: i3475 > 1 34.17/10.30 f7504_0_remove_InvokeMethod(EOS(STATIC_7504), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), o119290, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f7517_1_equals_Load(EOS(STATIC_7517), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), o119290, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: i3475 > 1 34.17/10.30 f7517_0_equals_Load(EOS(STATIC_7517), java.lang.Object(javaUtilEx.Content(EOC)), o119290, java.lang.Object(o11616sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(o11616sub2121787046))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(o11930sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119290, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f9964_0_equals_Load(EOS(STATIC_9964), java.lang.Object(javaUtilEx.Content(EOC)), o119290, java.lang.Object(o11616sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(o11616sub2121787046))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504, java.lang.Object(o11930sub2121877504))), java.lang.Object(o11930sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119290, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f8386_0_equals_Return(EOS(STATIC_8386), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11930sub2121877504))), matching1, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f7701_0_equals_Return(EOS(STATIC_7701), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11930sub2121877504))), 0, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE && matching1 = 0 34.17/10.30 f7701_0_equals_Return(EOS(STATIC_7701), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125152122680776, java.lang.Object(o12516sub2122680776))), matching1, o12512[LinkedList$Entry.next]o12510, o12512[LinkedList$Entry.next]o12514, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) -> f7726_0_remove_EQ(EOS(STATIC_7726), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125152122680776, java.lang.Object(o12516sub2122680776))), 0, o12512[LinkedList$Entry.next]o12510, o12512[LinkedList$Entry.next]o12514, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) :|: TRUE && matching1 = 0 34.17/10.30 f7726_0_remove_EQ(EOS(STATIC_7726), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125152122680776, java.lang.Object(o12516sub2122680776))), matching1, o12512[LinkedList$Entry.next]o12510, o12512[LinkedList$Entry.next]o12514, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) -> f7746_0_remove_Load(EOS(STATIC_7746), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125152122680776, java.lang.Object(o12516sub2122680776))), o12512[LinkedList$Entry.next]o12510, o12512[LinkedList$Entry.next]o12514, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) :|: TRUE && matching1 = 0 34.17/10.30 f7746_0_remove_Load(EOS(STATIC_7746), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125152122680776, java.lang.Object(o12516sub2122680776))), o12512[LinkedList$Entry.next]o12510, o12512[LinkedList$Entry.next]o12514, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) -> f7768_0_remove_FieldAccess(EOS(STATIC_7768), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125152122680776, java.lang.Object(o12516sub2122680776))), o12512[LinkedList$Entry.next]o12510, o12512[LinkedList$Entry.next]o12514, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) :|: TRUE 34.17/10.30 f7768_0_remove_FieldAccess(EOS(STATIC_7768), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125152122680776, java.lang.Object(o12516sub2122680776))), o12512[LinkedList$Entry.next]o12510, o12512[LinkedList$Entry.next]o12514, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) -> f7791_0_remove_Store(EOS(STATIC_7791), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0), o12512[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512, o12512[LinkedList$Entry.next]o12516) :|: o12512[LinkedList$Entry.next]o12516 > o12512[LinkedList$Entry.next]o12514 && o12512[LinkedList$Entry.next]o12514 >= 0 34.17/10.30 f7791_0_remove_Store(EOS(STATIC_7791), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0), o12512[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512, o12512[LinkedList$Entry.next]o12516) -> f7808_0_remove_JMP(EOS(STATIC_7808), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0), o12512[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512, o12512[LinkedList$Entry.next]o12516) :|: TRUE 34.17/10.30 f7808_0_remove_JMP(EOS(STATIC_7808), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0), o12512[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512, o12512[LinkedList$Entry.next]o12516) -> f7822_0_remove_Load(EOS(STATIC_7822), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0), o12512[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512, o12512[LinkedList$Entry.next]o12516) :|: TRUE 34.17/10.30 f7822_0_remove_Load(EOS(STATIC_7822), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0), o12512[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512, o12512[LinkedList$Entry.next]o12516) -> f7415_0_remove_Load(EOS(STATIC_7415), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12511-49606674, java.lang.Object(o12512sub-49606674)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0), o12512[LinkedList$Entry.next]o12516, o12512[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12510, o12516[LinkedList$Entry.next]o12512) :|: TRUE 34.17/10.30 f7415_0_remove_Load(EOS(STATIC_7415), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) -> f7423_0_remove_Load(EOS(STATIC_7423), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7423_0_remove_Load(EOS(STATIC_7423), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) -> f7431_0_remove_FieldAccess(EOS(STATIC_7431), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7431_0_remove_FieldAccess(EOS(STATIC_7431), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) -> f7439_0_remove_EQ(EOS(STATIC_7439), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(o11616sub2121787046))), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7439_0_remove_EQ(EOS(STATIC_7439), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(o11616sub2121787046))), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616) -> f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11618sub0), java.lang.Object(o11618sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(o11616sub2121787046))), o11616[LinkedList$Entry.next]o11618, o11616[LinkedList$Entry.next]o11614, o11618[LinkedList$Entry.next]o11616, o11618[LinkedList$Entry.next]o11614) :|: o11618[LinkedList$Entry.next]o11614 > 0 34.17/10.30 f8405_0_equals_Return(EOS(STATIC_8405), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16661sub2121877504), java.lang.Object(o11930sub2121877504))), matching1, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f7701_0_equals_Return(EOS(STATIC_7701), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16661sub2121877504), java.lang.Object(o11930sub2121877504))), 0, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE && matching1 = 0 34.17/10.30 f8564_0_equals_Return(EOS(STATIC_8564), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), matching1, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f7874_0_equals_Return(EOS(STATIC_7874), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), 0, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE && matching1 = 0 34.17/10.30 f7874_0_equals_Return(EOS(STATIC_7874), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), i3798, o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) -> f7891_0_remove_EQ(EOS(STATIC_7891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), i3798, o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) :|: TRUE 34.17/10.30 f7891_0_remove_EQ(EOS(STATIC_7891), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), matching1, o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) -> f7907_0_remove_EQ(EOS(STATIC_7907), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), 0, o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) :|: TRUE && matching1 = 0 34.17/10.30 f7907_0_remove_EQ(EOS(STATIC_7907), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), matching1, o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) -> f7919_0_remove_Load(EOS(STATIC_7919), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) :|: TRUE && matching1 = 0 34.17/10.30 f7919_0_remove_Load(EOS(STATIC_7919), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) -> f7932_0_remove_FieldAccess(EOS(STATIC_7932), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) :|: TRUE 34.17/10.30 f7932_0_remove_FieldAccess(EOS(STATIC_7932), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub2123551318))), o13378[LinkedList$Entry.next]o13376, o13378[LinkedList$Entry.next]o13380, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378) -> f7947_0_remove_Store(EOS(STATIC_7947), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub0), o13378[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378, o13378[LinkedList$Entry.next]o13382) :|: o13378[LinkedList$Entry.next]o13382 > o13378[LinkedList$Entry.next]o13380 && o13378[LinkedList$Entry.next]o13380 >= 0 34.17/10.30 f7947_0_remove_Store(EOS(STATIC_7947), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub0), o13378[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378, o13378[LinkedList$Entry.next]o13382) -> f7791_0_remove_Store(EOS(STATIC_7791), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13377-47866241, java.lang.Object(o13378sub-47866241)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub0), o13378[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13376, o13382[LinkedList$Entry.next]o13378, o13378[LinkedList$Entry.next]o13382) :|: TRUE 34.17/10.30 f8581_0_equals_Return(EOS(STATIC_8581), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), matching1, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f7874_0_equals_Return(EOS(STATIC_7874), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), 1, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE && matching1 = 1 34.17/10.30 f7481_0_remove_FieldAccess(EOS(STATIC_7481), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), o11932[LinkedList$Entry.next]o11614, o11932[LinkedList$Entry.next]o11932) -> f7493_0_remove_FieldAccess(EOS(STATIC_7493), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: o11934[LinkedList$Entry.next]o11614 < o11932[LinkedList$Entry.next]o11614 && o11932[LinkedList$Entry.next]o11614 >= 0 && o11934[LinkedList$Entry.next]o11932 < o11932[LinkedList$Entry.next]o11932 && o11932[LinkedList$Entry.next]o11932 >= 0 34.17/10.30 f7493_0_remove_FieldAccess(EOS(STATIC_7493), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f7505_0_remove_InvokeMethod(EOS(STATIC_7505), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), o119330, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE 34.17/10.30 f7505_0_remove_InvokeMethod(EOS(STATIC_7505), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), o119330, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f7518_0_equals_Load(EOS(STATIC_7518), java.lang.Object(javaUtilEx.Content(EOC)), o119330, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11933-51301971, java.lang.Object(o11934sub-51301971))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(o11934sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119330, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: i3475 > 1 34.17/10.30 f7505_0_remove_InvokeMethod(EOS(STATIC_7505), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), o119330, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f7518_1_equals_Load(EOS(STATIC_7518), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), o119330, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: i3475 > 1 34.17/10.30 f7518_0_equals_Load(EOS(STATIC_7518), java.lang.Object(javaUtilEx.Content(EOC)), o119330, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11933-51301971, java.lang.Object(o11934sub-51301971))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(o11934sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119330, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f10040_0_equals_Load(EOS(STATIC_10040), java.lang.Object(javaUtilEx.Content(EOC)), o119330, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11933-51301971, java.lang.Object(o11934sub-51301971))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279, java.lang.Object(o11934sub2121878279))), java.lang.Object(o11934sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119330, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE 34.17/10.30 f8387_0_equals_Return(EOS(STATIC_8387), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2121878279))), matching1, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f7703_0_equals_Return(EOS(STATIC_7703), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2121878279))), 0, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE && matching1 = 0 34.17/10.30 f7703_0_equals_Return(EOS(STATIC_7703), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542122684589, java.lang.Object(o12555sub2122684589))), matching1, o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) -> f7727_0_remove_EQ(EOS(STATIC_7727), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542122684589, java.lang.Object(o12555sub2122684589))), 0, o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) :|: TRUE && matching1 = 0 34.17/10.30 f7727_0_remove_EQ(EOS(STATIC_7727), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542122684589, java.lang.Object(o12555sub2122684589))), matching1, o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) -> f7747_0_remove_Load(EOS(STATIC_7747), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542122684589, java.lang.Object(o12555sub2122684589))), o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) :|: TRUE && matching1 = 0 34.17/10.30 f7747_0_remove_Load(EOS(STATIC_7747), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542122684589, java.lang.Object(o12555sub2122684589))), o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) -> f7769_0_remove_FieldAccess(EOS(STATIC_7769), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542122684589, java.lang.Object(o12555sub2122684589))), o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) :|: TRUE 34.17/10.30 f7769_0_remove_FieldAccess(EOS(STATIC_7769), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542122684589, java.lang.Object(o12555sub2122684589))), o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) -> f7792_0_remove_Store(EOS(STATIC_7792), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12555sub0), o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) :|: TRUE 34.17/10.30 f7792_0_remove_Store(EOS(STATIC_7792), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12555sub0), o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553) -> f7947_0_remove_Store(EOS(STATIC_7947), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12552-49598273, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o125542073086316, java.lang.Object(o12555sub2073086316)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12555sub0), o12553[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12551, o12555[LinkedList$Entry.next]o12553, o12553[LinkedList$Entry.next]o12555) :|: o12553[LinkedList$Entry.next]o12555 = 1 34.17/10.30 f8406_0_equals_Return(EOS(STATIC_8406), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2070485044), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2121878279), java.lang.Object(o11934sub2121878279))), matching1, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f7703_0_equals_Return(EOS(STATIC_7703), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2070485044), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2121878279), java.lang.Object(o11934sub2121878279))), 0, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE && matching1 = 0 34.17/10.30 f8565_0_equals_Return(EOS(STATIC_8565), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), matching1, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f7876_0_equals_Return(EOS(STATIC_7876), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), 0, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE && matching1 = 0 34.17/10.30 f7876_0_equals_Return(EOS(STATIC_7876), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), i3812, o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7892_0_remove_EQ(EOS(STATIC_7892), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), i3812, o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: TRUE 34.17/10.30 f7892_0_remove_EQ(EOS(STATIC_7892), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), matching1, o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7909_0_remove_EQ(EOS(STATIC_7909), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), 0, o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: TRUE && matching1 = 0 34.17/10.30 f7909_0_remove_EQ(EOS(STATIC_7909), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), matching1, o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7921_0_remove_Load(EOS(STATIC_7921), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: TRUE && matching1 = 0 34.17/10.30 f7921_0_remove_Load(EOS(STATIC_7921), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7934_0_remove_FieldAccess(EOS(STATIC_7934), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: TRUE 34.17/10.30 f7934_0_remove_FieldAccess(EOS(STATIC_7934), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2123573638))), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7949_0_remove_Store(EOS(STATIC_7949), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: TRUE 34.17/10.30 f7949_0_remove_Store(EOS(STATIC_7949), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7962_0_remove_JMP(EOS(STATIC_7962), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: TRUE 34.17/10.30 f7962_0_remove_JMP(EOS(STATIC_7962), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7970_0_remove_Load(EOS(STATIC_7970), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: TRUE 34.17/10.30 f7970_0_remove_Load(EOS(STATIC_7970), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0), o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) -> f7415_0_remove_Load(EOS(STATIC_7415), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13406-47820175, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub2075753463)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0), o13407[LinkedList$Entry.next]o13409, o13407[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13405, o13409[LinkedList$Entry.next]o13407) :|: o13407[LinkedList$Entry.next]o13409 = 1 34.17/10.30 f8582_0_equals_Return(EOS(STATIC_8582), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), matching1, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f7876_0_equals_Return(EOS(STATIC_7876), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), 1, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE && matching1 = 1 34.17/10.30 f7517_1_equals_Load(EOS(STATIC_7517), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f8386_0_equals_Return(EOS(STATIC_8386), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11930sub2121877504))), 0, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7517_1_equals_Load(EOS(STATIC_7517), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16661sub2121877504), java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16661sub0), o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f8405_0_equals_Return(EOS(STATIC_8405), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16661sub2121877504), java.lang.Object(o11930sub2121877504))), 0, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7517_1_equals_Load(EOS(STATIC_7517), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f8564_0_equals_Return(EOS(STATIC_8564), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), 0, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7517_1_equals_Load(EOS(STATIC_7517), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) -> f8581_0_equals_Return(EOS(STATIC_8581), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(o11616sub-51393235)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504))), 1, o11616[LinkedList$Entry.next]o11614, o11616[LinkedList$Entry.next]o11928, o11930[LinkedList$Entry.next]o11614, o11930[LinkedList$Entry.next]o11616) :|: TRUE 34.17/10.30 f7518_1_equals_Load(EOS(STATIC_7518), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f8387_0_equals_Return(EOS(STATIC_8387), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2121878279))), 0, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE 34.17/10.30 f7518_1_equals_Load(EOS(STATIC_7518), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2070485044), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2121878279), java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16675sub0), o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f8406_0_equals_Return(EOS(STATIC_8406), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2070485044), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2121878279), java.lang.Object(o11934sub2121878279))), 0, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE 34.17/10.30 f7518_1_equals_Load(EOS(STATIC_7518), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f8565_0_equals_Return(EOS(STATIC_8565), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), 0, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE 34.17/10.30 f7518_1_equals_Load(EOS(STATIC_7518), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) -> f8582_0_equals_Return(EOS(STATIC_8582), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279))), 1, o11934[LinkedList$Entry.next]o11614, o11934[LinkedList$Entry.next]o11932) :|: TRUE 34.17/10.30 Combined rules. Obtained 8 IRulesP rules: 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0) -> f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13382sub0:0), java.lang.Object(o13382sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(o11616sub2121787046:1))), o13378[LinkedList$Entry.next]o13382:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0) :|: o11618[LinkedList$Entry.next]o11616:0 > 0 && o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o13378[LinkedList$Entry.next]o13382:0 > o11616[LinkedList$Entry.next]o11618:0 && i3475:0 > 1 && o11930[LinkedList$Entry.next]o11614:0 > 0 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2070485044:0), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2121878279:0), java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2121878279:0), java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0) -> f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16675sub2070485044:0), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12555sub0:0), java.lang.Object(o12555sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(o11616sub2121787046:1))), 1, o12553[LinkedList$Entry.next]o12551:0, o11934[LinkedList$Entry.next]o11932:0, o11934[LinkedList$Entry.next]o11614:0) :|: o11616[LinkedList$Entry.next]o11614:0 > -1 && o11934[LinkedList$Entry.next]o11614:0 < o11616[LinkedList$Entry.next]o11614:0 && o11934[LinkedList$Entry.next]o11932:0 < o11616[LinkedList$Entry.next]o11618:0 && o11616[LinkedList$Entry.next]o11618:0 > -1 && i3475:0 > 1 && o11934[LinkedList$Entry.next]o11614:0 > 0 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0) -> f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13409sub0:0), java.lang.Object(o13409sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(o11616sub2121787046:1))), 1, o13407[LinkedList$Entry.next]o13405:0, o11934[LinkedList$Entry.next]o11932:0, o11934[LinkedList$Entry.next]o11614:0) :|: o11616[LinkedList$Entry.next]o11614:0 > -1 && o11934[LinkedList$Entry.next]o11614:0 < o11616[LinkedList$Entry.next]o11614:0 && o11934[LinkedList$Entry.next]o11932:0 < o11616[LinkedList$Entry.next]o11618:0 && o11616[LinkedList$Entry.next]o11618:0 > -1 && i3475:0 > 1 && o11934[LinkedList$Entry.next]o11614:0 > 0 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0) -> f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12555sub0:0), java.lang.Object(o12555sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(o11616sub2121787046:1))), 1, o12553[LinkedList$Entry.next]o12551:0, o11934[LinkedList$Entry.next]o11932:0, o11934[LinkedList$Entry.next]o11614:0) :|: o11616[LinkedList$Entry.next]o11614:0 > -1 && o11934[LinkedList$Entry.next]o11614:0 < o11616[LinkedList$Entry.next]o11614:0 && o11934[LinkedList$Entry.next]o11932:0 < o11616[LinkedList$Entry.next]o11618:0 && o11616[LinkedList$Entry.next]o11618:0 > -1 && i3475:0 > 1 && o11934[LinkedList$Entry.next]o11614:0 > 0 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0) -> f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0:0), java.lang.Object(o12516sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(o11616sub2121787046:1))), o12512[LinkedList$Entry.next]o12516:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0) :|: o11618[LinkedList$Entry.next]o11616:0 > 0 && o11616[LinkedList$Entry.next]o11618:0 > 0 && o12512[LinkedList$Entry.next]o12516:0 > o11616[LinkedList$Entry.next]o11618:0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o11930[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16661sub2121877504:0), java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16661sub2121877504:0), java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0) -> f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12516sub0:0), java.lang.Object(o12516sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(o11616sub2121787046:1))), o12512[LinkedList$Entry.next]o12516:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0) :|: o11618[LinkedList$Entry.next]o11616:0 > 0 && o11616[LinkedList$Entry.next]o11618:0 > 0 && o12512[LinkedList$Entry.next]o12516:0 > o11616[LinkedList$Entry.next]o11618:0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o11930[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 Removed following non-SCC rules: 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504:0, java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504:0, java.lang.Object(o11930sub2121877504:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0) -> f9964_0_equals_Load(EOS(STATIC_9964), java.lang.Object(javaUtilEx.Content(EOC)), o119290:0, java.lang.Object(o11616sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(o11616sub2121787046:1))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119292121877504:0, java.lang.Object(o11930sub2121877504:0))), java.lang.Object(o11930sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119290:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11930[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0) :|: o11618[LinkedList$Entry.next]o11616:0 > 0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && i3475:0 > 1 && o11616[LinkedList$Entry.next]o11618:0 > 0 34.17/10.30 f7446_0_remove_EQ(EOS(STATIC_7446), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044:0, java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279:0, java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279:0, java.lang.Object(o11934sub2121878279:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:0, java.lang.Object(o11616sub2121787046:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0) -> f10040_0_equals_Load(EOS(STATIC_10040), java.lang.Object(javaUtilEx.Content(EOC)), o119330:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o116152121787046:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11933-51301971:0, java.lang.Object(o11934sub-51301971:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332121878279:0, java.lang.Object(o11934sub2121878279:0))), java.lang.Object(o11934sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119332070485044:0, java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119330:0, o11934[LinkedList$Entry.next]o11614:0, o11934[LinkedList$Entry.next]o11932:0) :|: o11616[LinkedList$Entry.next]o11614:0 > -1 && o11934[LinkedList$Entry.next]o11614:0 < o11616[LinkedList$Entry.next]o11614:0 && o11934[LinkedList$Entry.next]o11932:0 < o11616[LinkedList$Entry.next]o11618:0 && i3475:0 > 1 && o11616[LinkedList$Entry.next]o11618:0 > -1 34.17/10.30 Filtered constant ground arguments: 34.17/10.30 f7446_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10) -> f7446_0_remove_EQ(x2, x4, x5, x6, x7, x8, x9, x10) 34.17/10.30 EOS(x1) -> EOS 34.17/10.30 javaUtilEx.Content(x1) -> javaUtilEx.Content 34.17/10.30 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 34.17/10.30 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 34.17/10.30 Filtered duplicate arguments: 34.17/10.30 f7446_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f7446_0_remove_EQ(x1, x3, x4, x5, x6, x7, x8) 34.17/10.30 Filtered unneeded arguments: 34.17/10.30 f7446_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7) -> f7446_0_remove_EQ(x1, x2, x4, x5, x6, x7) 34.17/10.30 Finished conversion. Obtained 6 rules.P rules: 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11930sub2121877504:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(o13382sub0:0), o13378[LinkedList$Entry.next]o13382:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11616:0 > 0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o13378[LinkedList$Entry.next]o13382:0 > o11616[LinkedList$Entry.next]o11618:0 && o11930[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16675sub2070485044:0), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16675sub2121878279:0), java.lang.Object(o11934sub2121878279:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16675sub2070485044:0), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(o12555sub0:0), 1, o12553[LinkedList$Entry.next]o12551:0, o11934[LinkedList$Entry.next]o11932:0, o11934[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11934[LinkedList$Entry.next]o11614:0 < o11616[LinkedList$Entry.next]o11614:0 && o11616[LinkedList$Entry.next]o11614:0 > -1 && o11934[LinkedList$Entry.next]o11932:0 < o11616[LinkedList$Entry.next]o11618:0 && o11616[LinkedList$Entry.next]o11618:0 > -1 && o11934[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11934sub2121878279:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(o13409sub0:0), 1, o13407[LinkedList$Entry.next]o13405:0, o11934[LinkedList$Entry.next]o11932:0, o11934[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11934[LinkedList$Entry.next]o11614:0 < o11616[LinkedList$Entry.next]o11614:0 && o11616[LinkedList$Entry.next]o11614:0 > -1 && o11934[LinkedList$Entry.next]o11932:0 < o11616[LinkedList$Entry.next]o11618:0 && o11616[LinkedList$Entry.next]o11618:0 > -1 && o11934[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11934sub2121878279:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11934sub2070485044:0)))))))))), java.lang.Object(o12555sub0:0), 1, o12553[LinkedList$Entry.next]o12551:0, o11934[LinkedList$Entry.next]o11932:0, o11934[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11934[LinkedList$Entry.next]o11614:0 < o11616[LinkedList$Entry.next]o11614:0 && o11616[LinkedList$Entry.next]o11614:0 > -1 && o11934[LinkedList$Entry.next]o11932:0 < o11616[LinkedList$Entry.next]o11618:0 && o11616[LinkedList$Entry.next]o11618:0 > -1 && o11934[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11930sub2121877504:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(o12516sub0:0), o12512[LinkedList$Entry.next]o12516:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11616:0 > 0 && o12512[LinkedList$Entry.next]o12516:0 > o11616[LinkedList$Entry.next]o11618:0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && i3475:0 > 1 && o11930[LinkedList$Entry.next]o11614:0 > 0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16661sub2121877504:0), java.lang.Object(o11930sub2121877504:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(o12516sub0:0), o12512[LinkedList$Entry.next]o12516:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11616:0 > 0 && o12512[LinkedList$Entry.next]o12516:0 > o11616[LinkedList$Entry.next]o11618:0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && i3475:0 > 1 && o11930[LinkedList$Entry.next]o11614:0 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (108) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11930sub2121877504:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(o13382sub0:0), o13378[LinkedList$Entry.next]o13382:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11616:0 > 0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o13378[LinkedList$Entry.next]o13382:0 > o11616[LinkedList$Entry.next]o11618:0 && o11930[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 && x11 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x24))), x25, x26, x25, x26, x22) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(x27), 1, x28, x29, x30, x22) :|: x30 < x26 && x26 > -1 && x29 < x25 && x25 > -1 && x30 > 0 && x31 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x34))), x35, x36, x37, x38, x32) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(x39), x40, x36, x41, x42, x32) :|: x35 > 0 && x37 > 0 && x40 > x35 && x38 > -1 && x42 < x38 && x41 < x37 && x43 > 1 && x42 > 0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x53, x49, x54, x55, x44) :|: x48 > 0 && x50 > 0 && x53 > x48 && x51 > -1 && x55 < x51 && x54 < x50 && x56 > 1 && x55 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (109) IRSFormatTransformerProof (EQUIVALENT) 34.17/10.30 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (110) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11930sub2121877504:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(o13382sub0:0), o13378[LinkedList$Entry.next]o13382:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11616:0 > 0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o13378[LinkedList$Entry.next]o13382:0 > o11616[LinkedList$Entry.next]o11618:0 && o11930[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 && x11 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x24))), x25, x26, x25, x26, x22) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(x27), 1, x28, x29, x30, x22) :|: x30 < x26 && x26 > -1 && x29 < x25 && x25 > -1 && x30 > 0 && x31 > 1 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x34))), x35, x36, x37, x38, x32) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(x39), x40, x36, x41, x42, x32) :|: x35 > 0 && x37 > 0 && x40 > x35 && x38 > -1 && x42 < x38 && x41 < x37 && x43 > 1 && x42 > 0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x53, x49, x54, x55, x44) :|: x48 > 0 && x50 > 0 && x53 > x48 && x51 > -1 && x55 < x51 && x54 < x50 && x56 > 1 && x55 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (111) IRSwTTerminationDigraphProof (EQUIVALENT) 34.17/10.30 Constructed termination digraph! 34.17/10.30 Nodes: 34.17/10.30 (1) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11930sub2121877504:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(o13382sub0:0), o13378[LinkedList$Entry.next]o13382:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11616:0 > 0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o13378[LinkedList$Entry.next]o13382:0 > o11616[LinkedList$Entry.next]o11618:0 && o11930[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 (2) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 && x11 > 1 34.17/10.30 (3) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.30 (4) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x24))), x25, x26, x25, x26, x22) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(x27), 1, x28, x29, x30, x22) :|: x30 < x26 && x26 > -1 && x29 < x25 && x25 > -1 && x30 > 0 && x31 > 1 34.17/10.30 (5) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x34))), x35, x36, x37, x38, x32) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(x39), x40, x36, x41, x42, x32) :|: x35 > 0 && x37 > 0 && x40 > x35 && x38 > -1 && x42 < x38 && x41 < x37 && x43 > 1 && x42 > 0 34.17/10.30 (6) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x53, x49, x54, x55, x44) :|: x48 > 0 && x50 > 0 && x53 > x48 && x51 > -1 && x55 < x51 && x54 < x50 && x56 > 1 && x55 > 0 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (1), (2), (3), (4), (5), (6) 34.17/10.30 (2) -> (1), (2), (3), (5), (6) 34.17/10.30 (3) -> (1), (2), (3), (5), (6) 34.17/10.30 (4) -> (1), (4), (5), (6) 34.17/10.30 (5) -> (1), (2), (3), (4), (5), (6) 34.17/10.30 (6) -> (1), (2), (3), (4), (5), (6) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (112) 34.17/10.30 Obligation: 34.17/10.30 34.17/10.30 Termination digraph: 34.17/10.30 Nodes: 34.17/10.30 (1) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11930sub2121877504:0))), o11616[LinkedList$Entry.next]o11618:0, o11616[LinkedList$Entry.next]o11614:0, o11618[LinkedList$Entry.next]o11616:0, o11618[LinkedList$Entry.next]o11614:0, o11615-51393235:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0, java.lang.Object(o11616sub-51393235:0)))))))), java.lang.Object(o13382sub0:0), o13378[LinkedList$Entry.next]o13382:0, o11616[LinkedList$Entry.next]o11614:0, o11930[LinkedList$Entry.next]o11616:0, o11930[LinkedList$Entry.next]o11614:0, o11615-51393235:0) :|: o11616[LinkedList$Entry.next]o11618:0 > 0 && o11618[LinkedList$Entry.next]o11616:0 > 0 && o11618[LinkedList$Entry.next]o11614:0 > -1 && o11930[LinkedList$Entry.next]o11614:0 < o11618[LinkedList$Entry.next]o11614:0 && o11930[LinkedList$Entry.next]o11616:0 < o11618[LinkedList$Entry.next]o11616:0 && o13378[LinkedList$Entry.next]o13382:0 > o11616[LinkedList$Entry.next]o11618:0 && o11930[LinkedList$Entry.next]o11614:0 > 0 && i3475:0 > 1 34.17/10.30 (2) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3), java.lang.Object(x4))), x5, x6, x5, x6, x) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1), java.lang.Object(x2)))))))))), java.lang.Object(x7), 1, x8, x9, x10, x) :|: x10 < x6 && x6 > -1 && x9 < x5 && x5 > -1 && x10 > 0 && x11 > 1 34.17/10.30 (3) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.30 (4) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x34))), x35, x36, x37, x38, x32) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32, java.lang.Object(x33)))))))), java.lang.Object(x39), x40, x36, x41, x42, x32) :|: x35 > 0 && x37 > 0 && x40 > x35 && x38 > -1 && x42 < x38 && x41 < x37 && x43 > 1 && x42 > 0 34.17/10.30 (5) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x24))), x25, x26, x25, x26, x22) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23)))))))))), java.lang.Object(x27), 1, x28, x29, x30, x22) :|: x30 < x26 && x26 > -1 && x29 < x25 && x25 > -1 && x30 > 0 && x31 > 1 34.17/10.30 (6) f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46), java.lang.Object(x47))), x48, x49, x50, x51, x44) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44, java.lang.Object(x45)))))))), java.lang.Object(x52), x53, x49, x54, x55, x44) :|: x48 > 0 && x50 > 0 && x53 > x48 && x51 > -1 && x55 < x51 && x54 < x50 && x56 > 1 && x55 > 0 34.17/10.30 34.17/10.30 Arcs: 34.17/10.30 (1) -> (1), (2), (3), (4), (5), (6) 34.17/10.30 (2) -> (1), (2), (3), (4), (6) 34.17/10.30 (3) -> (1), (2), (3), (4), (6) 34.17/10.30 (4) -> (1), (2), (3), (4), (5), (6) 34.17/10.30 (5) -> (1), (4), (5), (6) 34.17/10.30 (6) -> (1), (2), (3), (4), (5), (6) 34.17/10.30 34.17/10.30 This digraph is fully evaluated! 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (113) IntTRSCompressionProof (EQUIVALENT) 34.17/10.30 Compressed rules. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (114) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44:0, java.lang.Object(x45:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x46:0), java.lang.Object(x47:0))), x48:0, x49:0, x50:0, x51:0, x44:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x44:0, java.lang.Object(x45:0)))))))), java.lang.Object(x52:0), x53:0, x49:0, x54:0, x55:0, x44:0) :|: x56:0 > 1 && x55:0 > 0 && x54:0 < x50:0 && x55:0 < x51:0 && x51:0 > -1 && x53:0 > x48:0 && x50:0 > 0 && x48:0 > 0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0:0, java.lang.Object(o11616sub-51393235:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11930sub2121877504:0:0))), o11616[LinkedList$Entry.next]o11618:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11618[LinkedList$Entry.next]o11616:0:0, o11618[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11615-51393235:0:0, java.lang.Object(o11616sub-51393235:0:0)))))))), java.lang.Object(o13382sub0:0:0), o13378[LinkedList$Entry.next]o13382:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11930[LinkedList$Entry.next]o11616:0:0, o11930[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) :|: o11930[LinkedList$Entry.next]o11614:0:0 > 0 && i3475:0:0 > 1 && o13378[LinkedList$Entry.next]o13382:0:0 > o11616[LinkedList$Entry.next]o11618:0:0 && o11930[LinkedList$Entry.next]o11616:0:0 < o11618[LinkedList$Entry.next]o11616:0:0 && o11930[LinkedList$Entry.next]o11614:0:0 < o11618[LinkedList$Entry.next]o11614:0:0 && o11618[LinkedList$Entry.next]o11614:0:0 > -1 && o11618[LinkedList$Entry.next]o11616:0:0 > 0 && o11616[LinkedList$Entry.next]o11618:0:0 > 0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x24:0))), x25:0, x26:0, x25:0, x26:0, x22:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x23:0)))))))))), java.lang.Object(x27:0), 1, x28:0, x29:0, x30:0, x22:0) :|: x30:0 > 0 && x31:0 > 1 && x25:0 > -1 && x29:0 < x25:0 && x26:0 > -1 && x30:0 < x26:0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x3:0), java.lang.Object(x4:0))), x5:0, x6:0, x5:0, x6:0, x:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x1:0), java.lang.Object(x2:0)))))))))), java.lang.Object(x7:0), 1, x8:0, x9:0, x10:0, x:0) :|: x10:0 > 0 && x11:0 > 1 && x5:0 > -1 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14:0))), x15:0, x16:0, x15:0, x16:0, x12:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13:0)))))))))), java.lang.Object(x17:0), 1, x18:0, x19:0, x20:0, x12:0) :|: x20:0 > 0 && x21:0 > 1 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0 34.17/10.30 f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32:0, java.lang.Object(x33:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x34:0))), x35:0, x36:0, x37:0, x38:0, x32:0) -> f7446_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x32:0, java.lang.Object(x33:0)))))))), java.lang.Object(x39:0), x40:0, x36:0, x41:0, x42:0, x32:0) :|: x43:0 > 1 && x42:0 > 0 && x41:0 < x37:0 && x42:0 < x38:0 && x38:0 > -1 && x40:0 > x35:0 && x37:0 > 0 && x35:0 > 0 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (115) TempFilterProof (SOUND) 34.17/10.30 Used the following sort dictionary for filtering: 34.17/10.30 f7446_0_remove_EQ(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE) 34.17/10.30 java.lang.Object(VARIABLE) 34.17/10.30 javaUtilEx.AbstractCollection(VARIABLE) 34.17/10.30 javaUtilEx.AbstractList(VARIABLE) 34.17/10.30 javaUtilEx.AbstractSequentialList(VARIABLE) 34.17/10.30 javaUtilEx.LinkedList(VARIABLE) 34.17/10.30 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 34.17/10.30 javaUtilEx.Content() 34.17/10.30 NULL() 34.17/10.30 Replaced non-predefined constructor symbols by 0. 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (116) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7446_0_remove_EQ(c, c1, x48:0, x49:0, x50:0, x51:0, x44:0) -> f7446_0_remove_EQ(c2, c3, x53:0, x49:0, x54:0, x55:0, x44:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x56:0 > 1 && x55:0 > 0 && x54:0 < x50:0 && x55:0 < x51:0 && x51:0 > -1 && x53:0 > x48:0 && x50:0 > 0 && x48:0 > 0) 34.17/10.30 f7446_0_remove_EQ(c4, c5, o11616[LinkedList$Entry.next]o11618:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11618[LinkedList$Entry.next]o11616:0:0, o11618[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) -> f7446_0_remove_EQ(c6, c7, o13378[LinkedList$Entry.next]o13382:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11930[LinkedList$Entry.next]o11616:0:0, o11930[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) :|: c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0)) && (o11930[LinkedList$Entry.next]o11614:0:0 > 0 && i3475:0:0 > 1 && o13378[LinkedList$Entry.next]o13382:0:0 > o11616[LinkedList$Entry.next]o11618:0:0 && o11930[LinkedList$Entry.next]o11616:0:0 < o11618[LinkedList$Entry.next]o11616:0:0 && o11930[LinkedList$Entry.next]o11614:0:0 < o11618[LinkedList$Entry.next]o11614:0:0 && o11618[LinkedList$Entry.next]o11614:0:0 > -1 && o11618[LinkedList$Entry.next]o11616:0:0 > 0 && o11616[LinkedList$Entry.next]o11618:0:0 > 0) 34.17/10.30 f7446_0_remove_EQ(c8, c9, x25:0, x26:0, x25:0, x26:0, x22:0) -> f7446_0_remove_EQ(c10, c11, c12, x28:0, x29:0, x30:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x30:0 > 0 && x31:0 > 1 && x25:0 > -1 && x29:0 < x25:0 && x26:0 > -1 && x30:0 < x26:0) 34.17/10.30 f7446_0_remove_EQ(c13, c14, x5:0, x6:0, x5:0, x6:0, x:0) -> f7446_0_remove_EQ(c15, c16, c17, x8:0, x9:0, x10:0, x:0) :|: c17 = 1 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0))) && (x10:0 > 0 && x11:0 > 1 && x5:0 > -1 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (117) PolynomialOrderProcessor (EQUIVALENT) 34.17/10.30 Found the following polynomial interpretation: 34.17/10.30 [f7446_0_remove_EQ(x, x1, x2, x3, x4, x5, x6)] = -1 + c*x + c1*x1 + x4 34.17/10.30 34.17/10.30 The following rules are decreasing: 34.17/10.30 f7446_0_remove_EQ(c, c1, x48:0, x49:0, x50:0, x51:0, x44:0) -> f7446_0_remove_EQ(c2, c3, x53:0, x49:0, x54:0, x55:0, x44:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x56:0 > 1 && x55:0 > 0 && x54:0 < x50:0 && x55:0 < x51:0 && x51:0 > -1 && x53:0 > x48:0 && x50:0 > 0 && x48:0 > 0) 34.17/10.30 f7446_0_remove_EQ(c4, c5, o11616[LinkedList$Entry.next]o11618:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11618[LinkedList$Entry.next]o11616:0:0, o11618[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) -> f7446_0_remove_EQ(c6, c7, o13378[LinkedList$Entry.next]o13382:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11930[LinkedList$Entry.next]o11616:0:0, o11930[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) :|: c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0)) && (o11930[LinkedList$Entry.next]o11614:0:0 > 0 && i3475:0:0 > 1 && o13378[LinkedList$Entry.next]o13382:0:0 > o11616[LinkedList$Entry.next]o11618:0:0 && o11930[LinkedList$Entry.next]o11616:0:0 < o11618[LinkedList$Entry.next]o11616:0:0 && o11930[LinkedList$Entry.next]o11614:0:0 < o11618[LinkedList$Entry.next]o11614:0:0 && o11618[LinkedList$Entry.next]o11614:0:0 > -1 && o11618[LinkedList$Entry.next]o11616:0:0 > 0 && o11616[LinkedList$Entry.next]o11618:0:0 > 0) 34.17/10.30 f7446_0_remove_EQ(c8, c9, x25:0, x26:0, x25:0, x26:0, x22:0) -> f7446_0_remove_EQ(c10, c11, c12, x28:0, x29:0, x30:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x30:0 > 0 && x31:0 > 1 && x25:0 > -1 && x29:0 < x25:0 && x26:0 > -1 && x30:0 < x26:0) 34.17/10.30 f7446_0_remove_EQ(c13, c14, x5:0, x6:0, x5:0, x6:0, x:0) -> f7446_0_remove_EQ(c15, c16, c17, x8:0, x9:0, x10:0, x:0) :|: c17 = 1 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0))) && (x10:0 > 0 && x11:0 > 1 && x5:0 > -1 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 The following rules are bounded: 34.17/10.30 f7446_0_remove_EQ(c, c1, x48:0, x49:0, x50:0, x51:0, x44:0) -> f7446_0_remove_EQ(c2, c3, x53:0, x49:0, x54:0, x55:0, x44:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x56:0 > 1 && x55:0 > 0 && x54:0 < x50:0 && x55:0 < x51:0 && x51:0 > -1 && x53:0 > x48:0 && x50:0 > 0 && x48:0 > 0) 34.17/10.30 f7446_0_remove_EQ(c4, c5, o11616[LinkedList$Entry.next]o11618:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11618[LinkedList$Entry.next]o11616:0:0, o11618[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) -> f7446_0_remove_EQ(c6, c7, o13378[LinkedList$Entry.next]o13382:0:0, o11616[LinkedList$Entry.next]o11614:0:0, o11930[LinkedList$Entry.next]o11616:0:0, o11930[LinkedList$Entry.next]o11614:0:0, o11615-51393235:0:0) :|: c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0)) && (o11930[LinkedList$Entry.next]o11614:0:0 > 0 && i3475:0:0 > 1 && o13378[LinkedList$Entry.next]o13382:0:0 > o11616[LinkedList$Entry.next]o11618:0:0 && o11930[LinkedList$Entry.next]o11616:0:0 < o11618[LinkedList$Entry.next]o11616:0:0 && o11930[LinkedList$Entry.next]o11614:0:0 < o11618[LinkedList$Entry.next]o11614:0:0 && o11618[LinkedList$Entry.next]o11614:0:0 > -1 && o11618[LinkedList$Entry.next]o11616:0:0 > 0 && o11616[LinkedList$Entry.next]o11618:0:0 > 0) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (118) 34.17/10.30 Obligation: 34.17/10.30 Rules: 34.17/10.30 f7446_0_remove_EQ(c8, c9, x25:0, x26:0, x25:0, x26:0, x22:0) -> f7446_0_remove_EQ(c10, c11, c12, x28:0, x29:0, x30:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x30:0 > 0 && x31:0 > 1 && x25:0 > -1 && x29:0 < x25:0 && x26:0 > -1 && x30:0 < x26:0) 34.17/10.30 f7446_0_remove_EQ(c13, c14, x5:0, x6:0, x5:0, x6:0, x:0) -> f7446_0_remove_EQ(c15, c16, c17, x8:0, x9:0, x10:0, x:0) :|: c17 = 1 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0))) && (x10:0 > 0 && x11:0 > 1 && x5:0 > -1 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (119) RankingReductionPairProof (EQUIVALENT) 34.17/10.30 Interpretation: 34.17/10.30 [ f7446_0_remove_EQ ] = f7446_0_remove_EQ_6 34.17/10.30 34.17/10.30 The following rules are decreasing: 34.17/10.30 f7446_0_remove_EQ(c8, c9, x25:0, x26:0, x25:0, x26:0, x22:0) -> f7446_0_remove_EQ(c10, c11, c12, x28:0, x29:0, x30:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x30:0 > 0 && x31:0 > 1 && x25:0 > -1 && x29:0 < x25:0 && x26:0 > -1 && x30:0 < x26:0) 34.17/10.30 f7446_0_remove_EQ(c13, c14, x5:0, x6:0, x5:0, x6:0, x:0) -> f7446_0_remove_EQ(c15, c16, c17, x8:0, x9:0, x10:0, x:0) :|: c17 = 1 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0))) && (x10:0 > 0 && x11:0 > 1 && x5:0 > -1 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 34.17/10.30 The following rules are bounded: 34.17/10.30 f7446_0_remove_EQ(c8, c9, x25:0, x26:0, x25:0, x26:0, x22:0) -> f7446_0_remove_EQ(c10, c11, c12, x28:0, x29:0, x30:0, x22:0) :|: c12 = 1 && (c11 = 0 && (c10 = 0 && (c9 = 0 && c8 = 0))) && (x30:0 > 0 && x31:0 > 1 && x25:0 > -1 && x29:0 < x25:0 && x26:0 > -1 && x30:0 < x26:0) 34.17/10.30 f7446_0_remove_EQ(c13, c14, x5:0, x6:0, x5:0, x6:0, x:0) -> f7446_0_remove_EQ(c15, c16, c17, x8:0, x9:0, x10:0, x:0) :|: c17 = 1 && (c16 = 0 && (c15 = 0 && (c14 = 0 && c13 = 0))) && (x10:0 > 0 && x11:0 > 1 && x5:0 > -1 && x9:0 < x5:0 && x6:0 > -1 && x6:0 > x10:0) 34.17/10.30 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (120) 34.17/10.30 YES 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (121) 34.17/10.30 Obligation: 34.17/10.30 SCC of termination graph based on JBC Program. 34.17/10.30 SCC contains nodes from the following methods: javaUtilEx.juLinkedListCreateRemoveFirstOccurrence.main([Ljava/lang/String;)V 34.17/10.30 SCC calls the following helper methods: javaUtilEx.Content.equals(Ljava/lang/Object;)Z 34.17/10.30 Performed SCC analyses: 34.17/10.30 *Used field analysis yielded the following read fields: 34.17/10.30 *javaUtilEx.LinkedList$Entry: [element, next] 34.17/10.30 *javaUtilEx.LinkedList: [header] 34.17/10.30 *Marker field analysis yielded the following relations that could be markers: 34.17/10.30 34.17/10.30 ---------------------------------------- 34.17/10.30 34.17/10.30 (122) SCCToIRSProof (SOUND) 34.17/10.30 Transformed FIGraph SCCs to intTRSs. Log: 34.17/10.30 Generated rules. Obtained 61 IRulesP rules: 34.17/10.30 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(o11527sub2121758247))), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) -> f7453_0_remove_Load(EOS(STATIC_7453), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) :|: TRUE 34.17/10.30 f7453_0_remove_Load(EOS(STATIC_7453), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) -> f7463_0_remove_Load(EOS(STATIC_7463), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.Content(EOC)), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) :|: TRUE 34.17/10.30 f7463_0_remove_Load(EOS(STATIC_7463), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.Content(EOC)), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) -> f7470_0_remove_FieldAccess(EOS(STATIC_7470), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) :|: TRUE 34.17/10.30 f7470_0_remove_FieldAccess(EOS(STATIC_7470), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) -> f7478_0_remove_FieldAccess(EOS(STATIC_7478), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) :|: o11527[LinkedList$Entry.next]o11530 > 0 && o11530[LinkedList$Entry.next]o11527 > 0 34.17/10.30 f7470_0_remove_FieldAccess(EOS(STATIC_7470), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11911sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11911sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11911sub0), o11911[LinkedList$Entry.next]o11911, o11528[LinkedList$Entry.previous]o11525, o11911[LinkedList$Entry.next]o11525, o11911[LinkedList$Entry.next]o11911, o11911[LinkedList$Entry.next]o11525) -> f7479_0_remove_FieldAccess(EOS(STATIC_7479), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11911sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11911sub0), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11911sub0), o11528[LinkedList$Entry.previous]o11525, o11911[LinkedList$Entry.next]o11525, o11911[LinkedList$Entry.next]o11911) :|: TRUE 34.17/10.30 f7478_0_remove_FieldAccess(EOS(STATIC_7478), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), o11527[LinkedList$Entry.next]o11920, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11920[LinkedList$Entry.next]o11525, o11920[LinkedList$Entry.next]o11527) -> f7490_0_remove_FieldAccess(EOS(STATIC_7490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: o11922[LinkedList$Entry.next]o11525 < o11920[LinkedList$Entry.next]o11525 && o11920[LinkedList$Entry.next]o11525 >= 0 && o11922[LinkedList$Entry.next]o11527 < o11920[LinkedList$Entry.next]o11527 && o11920[LinkedList$Entry.next]o11527 >= 0 34.17/10.30 f7490_0_remove_FieldAccess(EOS(STATIC_7490), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f7502_0_remove_InvokeMethod(EOS(STATIC_7502), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), o119210, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.30 f7502_0_remove_InvokeMethod(EOS(STATIC_7502), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), o119210, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f7515_0_equals_Load(EOS(STATIC_7515), java.lang.Object(javaUtilEx.Content(EOC)), o119210, java.lang.Object(o11527sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(o11527sub2121758247))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(o11922sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119210, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: i3462 > 1 34.17/10.30 f7502_0_remove_InvokeMethod(EOS(STATIC_7502), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), o119210, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f7515_1_equals_Load(EOS(STATIC_7515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), o119210, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: i3462 > 1 34.17/10.30 f7515_0_equals_Load(EOS(STATIC_7515), java.lang.Object(javaUtilEx.Content(EOC)), o119210, java.lang.Object(o11527sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(o11527sub2121758247))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(o11922sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119210, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f10180_0_equals_Load(EOS(STATIC_10180), java.lang.Object(javaUtilEx.Content(EOC)), o119210, java.lang.Object(o11527sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(o11527sub2121758247))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256, java.lang.Object(o11922sub2121877256))), java.lang.Object(o11922sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119210, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.30 f8384_0_equals_Return(EOS(STATIC_8384), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11922sub2121877256))), matching1, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f7697_0_equals_Return(EOS(STATIC_7697), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11922sub2121877256))), 0, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE && matching1 = 0 34.17/10.30 f7697_0_equals_Return(EOS(STATIC_7697), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124692122655914, java.lang.Object(o12470sub2122655914))), matching1, o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12465[LinkedList$Entry.next]o12468, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) -> f7724_0_remove_EQ(EOS(STATIC_7724), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124692122655914, java.lang.Object(o12470sub2122655914))), 0, o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12465[LinkedList$Entry.next]o12468, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) :|: TRUE && matching1 = 0 34.17/10.30 f7724_0_remove_EQ(EOS(STATIC_7724), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124692122655914, java.lang.Object(o12470sub2122655914))), matching1, o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12465[LinkedList$Entry.next]o12468, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) -> f7744_0_remove_Load(EOS(STATIC_7744), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124692122655914, java.lang.Object(o12470sub2122655914))), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12465[LinkedList$Entry.next]o12468, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) :|: TRUE && matching1 = 0 34.17/10.30 f7744_0_remove_Load(EOS(STATIC_7744), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124692122655914, java.lang.Object(o12470sub2122655914))), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12465[LinkedList$Entry.next]o12468, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) -> f7766_0_remove_FieldAccess(EOS(STATIC_7766), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124692122655914, java.lang.Object(o12470sub2122655914))), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12465[LinkedList$Entry.next]o12468, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) :|: TRUE 34.17/10.30 f7766_0_remove_FieldAccess(EOS(STATIC_7766), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124692122655914, java.lang.Object(o12470sub2122655914))), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12465[LinkedList$Entry.next]o12468, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) -> f7789_0_remove_Store(EOS(STATIC_7789), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465, o12465[LinkedList$Entry.next]o12470) :|: o12465[LinkedList$Entry.next]o12470 > o12465[LinkedList$Entry.next]o12468 && o12465[LinkedList$Entry.next]o12468 >= 0 34.17/10.31 f7789_0_remove_Store(EOS(STATIC_7789), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465, o12465[LinkedList$Entry.next]o12470) -> f7806_0_remove_JMP(EOS(STATIC_7806), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465, o12465[LinkedList$Entry.next]o12470) :|: TRUE 34.17/10.31 f7806_0_remove_JMP(EOS(STATIC_7806), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465, o12465[LinkedList$Entry.next]o12470) -> f7820_0_remove_Load(EOS(STATIC_7820), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465, o12465[LinkedList$Entry.next]o12470) :|: TRUE 34.17/10.31 f7820_0_remove_Load(EOS(STATIC_7820), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0), o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465, o12465[LinkedList$Entry.next]o12470) -> f7413_0_remove_Load(EOS(STATIC_7413), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12464-49655809, java.lang.Object(o12465sub-49655809)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0), o12465[LinkedList$Entry.next]o12470, o12466[LinkedList$Entry.previous]o12463, o12465[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12463, o12470[LinkedList$Entry.next]o12465) :|: TRUE 34.17/10.31 f7413_0_remove_Load(EOS(STATIC_7413), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) -> f7422_0_remove_Load(EOS(STATIC_7422), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.31 f7422_0_remove_Load(EOS(STATIC_7422), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) -> f7430_0_remove_FieldAccess(EOS(STATIC_7430), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.31 f7430_0_remove_FieldAccess(EOS(STATIC_7430), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) -> f7438_0_remove_EQ(EOS(STATIC_7438), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(o11527sub2121758247))), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.31 f7438_0_remove_EQ(EOS(STATIC_7438), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(o11527sub2121758247))), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527) -> f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11530sub0), java.lang.Object(o11530sub0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(o11527sub2121758247))), o11527[LinkedList$Entry.next]o11530, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11530[LinkedList$Entry.next]o11527, o11530[LinkedList$Entry.next]o11525) :|: o11530[LinkedList$Entry.next]o11525 > 0 34.17/10.31 f8403_0_equals_Return(EOS(STATIC_8403), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16631sub2121877256), java.lang.Object(o11922sub2121877256))), matching1, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f7697_0_equals_Return(EOS(STATIC_7697), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16631sub2121877256), java.lang.Object(o11922sub2121877256))), 0, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE && matching1 = 0 34.17/10.31 f8562_0_equals_Return(EOS(STATIC_8562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), matching1, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f7870_0_equals_Return(EOS(STATIC_7870), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), 0, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE && matching1 = 0 34.17/10.31 f7870_0_equals_Return(EOS(STATIC_7870), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), i3784, o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) -> f7889_0_remove_EQ(EOS(STATIC_7889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), i3784, o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) :|: TRUE 34.17/10.31 f7889_0_remove_EQ(EOS(STATIC_7889), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), matching1, o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) -> f7903_0_remove_EQ(EOS(STATIC_7903), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), 0, o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) :|: TRUE && matching1 = 0 34.17/10.31 f7903_0_remove_EQ(EOS(STATIC_7903), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), matching1, o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) -> f7915_0_remove_Load(EOS(STATIC_7915), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) :|: TRUE && matching1 = 0 34.17/10.31 f7915_0_remove_Load(EOS(STATIC_7915), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) -> f7928_0_remove_FieldAccess(EOS(STATIC_7928), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) :|: TRUE 34.17/10.31 f7928_0_remove_FieldAccess(EOS(STATIC_7928), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub2123548714))), o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13356[LinkedList$Entry.next]o13359, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356) -> f7943_0_remove_Store(EOS(STATIC_7943), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub0), o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356, o13356[LinkedList$Entry.next]o13361) :|: o13356[LinkedList$Entry.next]o13361 > o13356[LinkedList$Entry.next]o13359 && o13356[LinkedList$Entry.next]o13359 >= 0 34.17/10.31 f7943_0_remove_Store(EOS(STATIC_7943), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub0), o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356, o13356[LinkedList$Entry.next]o13361) -> f7789_0_remove_Store(EOS(STATIC_7789), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13355-47870209, java.lang.Object(o13356sub-47870209)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub0), o13357[LinkedList$Entry.previous]o13354, o13356[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13354, o13361[LinkedList$Entry.next]o13356, o13356[LinkedList$Entry.next]o13361) :|: TRUE 34.17/10.31 f8579_0_equals_Return(EOS(STATIC_8579), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), matching1, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f7870_0_equals_Return(EOS(STATIC_7870), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), 1, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE && matching1 = 1 34.17/10.31 f7479_0_remove_FieldAccess(EOS(STATIC_7479), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), o11528[LinkedList$Entry.previous]o11525, o11924[LinkedList$Entry.next]o11525, o11924[LinkedList$Entry.next]o11924) -> f7491_0_remove_FieldAccess(EOS(STATIC_7491), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: o11926[LinkedList$Entry.next]o11525 < o11924[LinkedList$Entry.next]o11525 && o11924[LinkedList$Entry.next]o11525 >= 0 && o11926[LinkedList$Entry.next]o11924 < o11924[LinkedList$Entry.next]o11924 && o11924[LinkedList$Entry.next]o11924 >= 0 34.17/10.31 f7491_0_remove_FieldAccess(EOS(STATIC_7491), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f7503_0_remove_InvokeMethod(EOS(STATIC_7503), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), o119250, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE 34.17/10.31 f7503_0_remove_InvokeMethod(EOS(STATIC_7503), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), o119250, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f7516_0_equals_Load(EOS(STATIC_7516), java.lang.Object(javaUtilEx.Content(EOC)), o119250, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11925-51331669, java.lang.Object(o11926sub-51331669))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(o11926sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119250, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: i3462 > 1 34.17/10.31 f7503_0_remove_InvokeMethod(EOS(STATIC_7503), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), o119250, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f7516_1_equals_Load(EOS(STATIC_7516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), o119250, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: i3462 > 1 34.17/10.31 f7516_0_equals_Load(EOS(STATIC_7516), java.lang.Object(javaUtilEx.Content(EOC)), o119250, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11925-51331669, java.lang.Object(o11926sub-51331669))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(o11926sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119250, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f10256_0_equals_Load(EOS(STATIC_10256), java.lang.Object(javaUtilEx.Content(EOC)), o119250, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11925-51331669, java.lang.Object(o11926sub-51331669))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380, java.lang.Object(o11926sub2121877380))), java.lang.Object(o11926sub0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119250, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE 34.17/10.31 f8385_0_equals_Return(EOS(STATIC_8385), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2121877380))), matching1, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f7699_0_equals_Return(EOS(STATIC_7699), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2121877380))), 0, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE && matching1 = 0 34.17/10.31 f7699_0_equals_Return(EOS(STATIC_7699), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892122657836, java.lang.Object(o12490sub2122657836))), matching1, o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) -> f7725_0_remove_EQ(EOS(STATIC_7725), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892122657836, java.lang.Object(o12490sub2122657836))), 0, o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) :|: TRUE && matching1 = 0 34.17/10.31 f7725_0_remove_EQ(EOS(STATIC_7725), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892122657836, java.lang.Object(o12490sub2122657836))), matching1, o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) -> f7745_0_remove_Load(EOS(STATIC_7745), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892122657836, java.lang.Object(o12490sub2122657836))), o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) :|: TRUE && matching1 = 0 34.17/10.31 f7745_0_remove_Load(EOS(STATIC_7745), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892122657836, java.lang.Object(o12490sub2122657836))), o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) -> f7767_0_remove_FieldAccess(EOS(STATIC_7767), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892122657836, java.lang.Object(o12490sub2122657836))), o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) :|: TRUE 34.17/10.31 f7767_0_remove_FieldAccess(EOS(STATIC_7767), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892122657836, java.lang.Object(o12490sub2122657836))), o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) -> f7790_0_remove_Store(EOS(STATIC_7790), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12490sub0), o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) :|: TRUE 34.17/10.31 f7790_0_remove_Store(EOS(STATIC_7790), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12490sub0), o12492[LinkedList$Entry.previous]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488) -> f7943_0_remove_Store(EOS(STATIC_7943), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o12487-49651779, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o124892073006057, java.lang.Object(o12490sub2073006057)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12490sub0), o12492[LinkedList$Entry.previous]o12486, o12488[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12486, o12490[LinkedList$Entry.next]o12488, o12488[LinkedList$Entry.next]o12490) :|: o12488[LinkedList$Entry.next]o12490 = 1 34.17/10.31 f8404_0_equals_Return(EOS(STATIC_8404), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2070426547), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2121877380), java.lang.Object(o11926sub2121877380))), matching1, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f7699_0_equals_Return(EOS(STATIC_7699), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2070426547), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2121877380), java.lang.Object(o11926sub2121877380))), 0, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE && matching1 = 0 34.17/10.31 f8563_0_equals_Return(EOS(STATIC_8563), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), matching1, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f7872_0_equals_Return(EOS(STATIC_7872), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), 0, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE && matching1 = 0 34.17/10.31 f7872_0_equals_Return(EOS(STATIC_7872), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), i3790, o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7890_0_remove_EQ(EOS(STATIC_7890), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), i3790, o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: TRUE 34.17/10.31 f7890_0_remove_EQ(EOS(STATIC_7890), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), matching1, o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7905_0_remove_EQ(EOS(STATIC_7905), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), 0, o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: TRUE && matching1 = 0 34.17/10.31 f7905_0_remove_EQ(EOS(STATIC_7905), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), matching1, o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7917_0_remove_Load(EOS(STATIC_7917), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: TRUE && matching1 = 0 34.17/10.31 f7917_0_remove_Load(EOS(STATIC_7917), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7930_0_remove_FieldAccess(EOS(STATIC_7930), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: TRUE 34.17/10.31 f7930_0_remove_FieldAccess(EOS(STATIC_7930), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2123549582))), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7945_0_remove_Store(EOS(STATIC_7945), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: TRUE 34.17/10.31 f7945_0_remove_Store(EOS(STATIC_7945), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7959_0_remove_JMP(EOS(STATIC_7959), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: TRUE 34.17/10.31 f7959_0_remove_JMP(EOS(STATIC_7959), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7969_0_remove_Load(EOS(STATIC_7969), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: TRUE 34.17/10.31 f7969_0_remove_Load(EOS(STATIC_7969), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0), o13370[LinkedList$Entry.previous]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) -> f7413_0_remove_Load(EOS(STATIC_7413), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o13365-47868287, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub2075681295)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0), o13366[LinkedList$Entry.next]o13368, o13370[LinkedList$Entry.previous]o13364, o13366[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13364, o13368[LinkedList$Entry.next]o13366) :|: o13366[LinkedList$Entry.next]o13368 = 1 34.17/10.31 f8580_0_equals_Return(EOS(STATIC_8580), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), matching1, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f7872_0_equals_Return(EOS(STATIC_7872), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), 1, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE && matching1 = 1 34.17/10.31 f7515_1_equals_Load(EOS(STATIC_7515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f8384_0_equals_Return(EOS(STATIC_8384), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11922sub2121877256))), 0, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.31 f7515_1_equals_Load(EOS(STATIC_7515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16631sub2121877256), java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16631sub0), o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f8403_0_equals_Return(EOS(STATIC_8403), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16631sub2121877256), java.lang.Object(o11922sub2121877256))), 0, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.31 f7515_1_equals_Load(EOS(STATIC_7515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f8562_0_equals_Return(EOS(STATIC_8562), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), 0, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.31 f7515_1_equals_Load(EOS(STATIC_7515), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) -> f8579_0_equals_Return(EOS(STATIC_8579), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(o11527sub-51450833)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256))), 1, o11528[LinkedList$Entry.previous]o11525, o11527[LinkedList$Entry.next]o11525, o11527[LinkedList$Entry.next]o11920, o11922[LinkedList$Entry.next]o11525, o11922[LinkedList$Entry.next]o11527) :|: TRUE 34.17/10.31 f7516_1_equals_Load(EOS(STATIC_7516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), NULL, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f8385_0_equals_Return(EOS(STATIC_8385), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2121877380))), 0, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE 34.17/10.31 f7516_1_equals_Load(EOS(STATIC_7516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2070426547), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2121877380), java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o16646sub0), o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f8404_0_equals_Return(EOS(STATIC_8404), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2070426547), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2121877380), java.lang.Object(o11926sub2121877380))), 0, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE 34.17/10.31 f7516_1_equals_Load(EOS(STATIC_7516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f8563_0_equals_Return(EOS(STATIC_8563), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), 0, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE 34.17/10.31 f7516_1_equals_Load(EOS(STATIC_7516), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.Content(EOC)), o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) -> f8580_0_equals_Return(EOS(STATIC_8580), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380))), 1, o11528[LinkedList$Entry.previous]o11525, o11926[LinkedList$Entry.next]o11525, o11926[LinkedList$Entry.next]o11924) :|: TRUE 34.17/10.31 Combined rules. Obtained 8 IRulesP rules: 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0) -> f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0:0), java.lang.Object(o12470sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(o11527sub2121758247:1))), o12465[LinkedList$Entry.next]o12470:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0) :|: o11530[LinkedList$Entry.next]o11527:0 > 0 && o11527[LinkedList$Entry.next]o11530:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && o11922[LinkedList$Entry.next]o11525:0 > 0 && i3462:0 > 1 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0) -> f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13361sub0:0), java.lang.Object(o13361sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(o11527sub2121758247:1))), o13356[LinkedList$Entry.next]o13361:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0) :|: o11530[LinkedList$Entry.next]o11527:0 > 0 && o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && o13356[LinkedList$Entry.next]o13361:0 > o11527[LinkedList$Entry.next]o11530:0 && i3462:0 > 1 && o11922[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0) -> f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o13368sub0:0), java.lang.Object(o13368sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(o11527sub2121758247:1))), 1, o11528[LinkedList$Entry.previous]o11525:0, o13366[LinkedList$Entry.next]o13364:0, o11926[LinkedList$Entry.next]o11924:0, o11926[LinkedList$Entry.next]o11525:0) :|: o11527[LinkedList$Entry.next]o11525:0 > -1 && o11926[LinkedList$Entry.next]o11525:0 < o11527[LinkedList$Entry.next]o11525:0 && o11926[LinkedList$Entry.next]o11924:0 < o11527[LinkedList$Entry.next]o11530:0 && o11527[LinkedList$Entry.next]o11530:0 > -1 && i3462:0 > 1 && o11926[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16631sub2121877256:0), java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16631sub2121877256:0), java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0) -> f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12470sub0:0), java.lang.Object(o12470sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(o11527sub2121758247:1))), o12465[LinkedList$Entry.next]o12470:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0) :|: o11530[LinkedList$Entry.next]o11527:0 > 0 && o11527[LinkedList$Entry.next]o11530:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && o11922[LinkedList$Entry.next]o11525:0 > 0 && i3462:0 > 1 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2070426547:0), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2121877380:0), java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2121877380:0), java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0) -> f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, java.lang.Object(o16646sub2070426547:0), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12490sub0:0), java.lang.Object(o12490sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(o11527sub2121758247:1))), 1, o11528[LinkedList$Entry.previous]o11525:0, o12488[LinkedList$Entry.next]o12486:0, o11926[LinkedList$Entry.next]o11924:0, o11926[LinkedList$Entry.next]o11525:0) :|: o11527[LinkedList$Entry.next]o11525:0 > -1 && o11926[LinkedList$Entry.next]o11525:0 < o11527[LinkedList$Entry.next]o11525:0 && o11926[LinkedList$Entry.next]o11924:0 < o11527[LinkedList$Entry.next]o11530:0 && o11527[LinkedList$Entry.next]o11530:0 > -1 && i3462:0 > 1 && o11926[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0) -> f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, NULL, java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(o12490sub0:0), java.lang.Object(o12490sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(o11527sub2121758247:1))), 1, o11528[LinkedList$Entry.previous]o11525:0, o12488[LinkedList$Entry.next]o12486:0, o11926[LinkedList$Entry.next]o11924:0, o11926[LinkedList$Entry.next]o11525:0) :|: o11527[LinkedList$Entry.next]o11525:0 > -1 && o11926[LinkedList$Entry.next]o11525:0 < o11527[LinkedList$Entry.next]o11525:0 && o11926[LinkedList$Entry.next]o11924:0 < o11527[LinkedList$Entry.next]o11530:0 && o11527[LinkedList$Entry.next]o11530:0 > -1 && i3462:0 > 1 && o11926[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 Removed following non-SCC rules: 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256:0, java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256:0, java.lang.Object(o11922sub2121877256:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0) -> f10180_0_equals_Load(EOS(STATIC_10180), java.lang.Object(javaUtilEx.Content(EOC)), o119210:0, java.lang.Object(o11527sub0:0), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(o11527sub2121758247:1))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119212121877256:0, java.lang.Object(o11922sub2121877256:0))), java.lang.Object(o11922sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119210:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11922[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0) :|: o11530[LinkedList$Entry.next]o11527:0 > 0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && i3462:0 > 1 && o11527[LinkedList$Entry.next]o11530:0 > 0 34.17/10.31 f7444_0_remove_EQ(EOS(STATIC_7444), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547:0, java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380:0, java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380:0, java.lang.Object(o11926sub2121877380:0))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:0, java.lang.Object(o11527sub2121758247:0))), o11527[LinkedList$Entry.next]o11530:0, o11528[LinkedList$Entry.previous]o11525:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0) -> f10256_0_equals_Load(EOS(STATIC_10256), java.lang.Object(javaUtilEx.Content(EOC)), o119250:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o115262121758247:1, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11925-51331669:0, java.lang.Object(o11926sub-51331669:0))))), java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252121877380:0, java.lang.Object(o11926sub2121877380:0))), java.lang.Object(o11926sub0:0), java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(EOC, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(EOC, o119252070426547:0, java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.Content(EOC)), o119250:0, o11528[LinkedList$Entry.previous]o11525:0, o11926[LinkedList$Entry.next]o11525:0, o11926[LinkedList$Entry.next]o11924:0) :|: o11527[LinkedList$Entry.next]o11525:0 > -1 && o11926[LinkedList$Entry.next]o11525:0 < o11527[LinkedList$Entry.next]o11525:0 && o11926[LinkedList$Entry.next]o11924:0 < o11527[LinkedList$Entry.next]o11530:0 && i3462:0 > 1 && o11527[LinkedList$Entry.next]o11530:0 > -1 34.17/10.31 Filtered constant ground arguments: 34.17/10.31 f7444_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) -> f7444_0_remove_EQ(x2, x4, x5, x6, x7, x8, x9, x10, x11) 34.17/10.31 EOS(x1) -> EOS 34.17/10.31 javaUtilEx.Content(x1) -> javaUtilEx.Content 34.17/10.31 javaUtilEx.LinkedList$Entry(x1, x2, x3) -> javaUtilEx.LinkedList$Entry(x2, x3) 34.17/10.31 javaUtilEx.LinkedList(x1, x2) -> javaUtilEx.LinkedList(x2) 34.17/10.31 Filtered duplicate arguments: 34.17/10.31 f7444_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8, x9) -> f7444_0_remove_EQ(x1, x3, x4, x5, x6, x7, x8, x9) 34.17/10.31 Filtered unneeded arguments: 34.17/10.31 f7444_0_remove_EQ(x1, x2, x3, x4, x5, x6, x7, x8) -> f7444_0_remove_EQ(x1, x2, x4, x6, x7, x8) 34.17/10.31 Finished conversion. Obtained 6 rules.P rules: 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11922sub2121877256:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(o12470sub0:0), o12465[LinkedList$Entry.next]o12470:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11527:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && i3462:0 > 1 && o11922[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11922sub2121877256:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(o13361sub0:0), o13356[LinkedList$Entry.next]o13361:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11527:0 > 0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && o13356[LinkedList$Entry.next]o13361:0 > o11527[LinkedList$Entry.next]o11530:0 && o11922[LinkedList$Entry.next]o11525:0 > 0 && i3462:0 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11926sub2121877380:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(o13368sub0:0), 1, o13366[LinkedList$Entry.next]o13364:0, o11926[LinkedList$Entry.next]o11924:0, o11926[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11926[LinkedList$Entry.next]o11525:0 < o11527[LinkedList$Entry.next]o11525:0 && o11527[LinkedList$Entry.next]o11525:0 > -1 && o11926[LinkedList$Entry.next]o11924:0 < o11527[LinkedList$Entry.next]o11530:0 && o11527[LinkedList$Entry.next]o11530:0 > -1 && o11926[LinkedList$Entry.next]o11525:0 > 0 && i3462:0 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16631sub2121877256:0), java.lang.Object(o11922sub2121877256:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(o12470sub0:0), o12465[LinkedList$Entry.next]o12470:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11527:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && i3462:0 > 1 && o11922[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16646sub2070426547:0), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16646sub2121877380:0), java.lang.Object(o11926sub2121877380:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(o16646sub2070426547:0), java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(o12490sub0:0), 1, o12488[LinkedList$Entry.next]o12486:0, o11926[LinkedList$Entry.next]o11924:0, o11926[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11926[LinkedList$Entry.next]o11525:0 < o11527[LinkedList$Entry.next]o11525:0 && o11527[LinkedList$Entry.next]o11525:0 > -1 && o11926[LinkedList$Entry.next]o11924:0 < o11527[LinkedList$Entry.next]o11530:0 && o11527[LinkedList$Entry.next]o11530:0 > -1 && o11926[LinkedList$Entry.next]o11525:0 > 0 && i3462:0 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11926sub2121877380:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11926sub2070426547:0)))))))))), java.lang.Object(o12490sub0:0), 1, o12488[LinkedList$Entry.next]o12486:0, o11926[LinkedList$Entry.next]o11924:0, o11926[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11926[LinkedList$Entry.next]o11525:0 < o11527[LinkedList$Entry.next]o11525:0 && o11527[LinkedList$Entry.next]o11525:0 > -1 && o11926[LinkedList$Entry.next]o11924:0 < o11527[LinkedList$Entry.next]o11530:0 && o11527[LinkedList$Entry.next]o11530:0 > -1 && o11926[LinkedList$Entry.next]o11525:0 > 0 && i3462:0 > 1 34.17/10.31 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (123) 34.17/10.31 Obligation: 34.17/10.31 Rules: 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11922sub2121877256:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(o12470sub0:0), o12465[LinkedList$Entry.next]o12470:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11527:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && i3462:0 > 1 && o11922[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x8, x4, x9, x10, x) :|: x3 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x9 < x5 && x8 > x3 && x10 > 0 && x11 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x31, x27, x32, x33, x22) :|: x26 > 0 && x28 > 0 && x31 > x26 && x29 > -1 && x33 < x29 && x32 < x28 && x34 > 1 && x33 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x40, x41, x35) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), 1, x43, x44, x45, x35) :|: x45 < x41 && x41 > -1 && x44 < x40 && x40 > -1 && x45 > 0 && x46 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x49))), x50, x51, x50, x51, x47) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(x52), 1, x53, x54, x55, x47) :|: x55 < x51 && x51 > -1 && x54 < x50 && x50 > -1 && x55 > 0 && x56 > 1 34.17/10.31 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (124) IRSFormatTransformerProof (EQUIVALENT) 34.17/10.31 Reformatted IRS to match normalized format (transformed away non-linear left-hand sides, !=, / and %). 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (125) 34.17/10.31 Obligation: 34.17/10.31 Rules: 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11922sub2121877256:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(o12470sub0:0), o12465[LinkedList$Entry.next]o12470:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11527:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && i3462:0 > 1 && o11922[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x8, x4, x9, x10, x) :|: x3 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x9 < x5 && x8 > x3 && x10 > 0 && x11 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x31, x27, x32, x33, x22) :|: x26 > 0 && x28 > 0 && x31 > x26 && x29 > -1 && x33 < x29 && x32 < x28 && x34 > 1 && x33 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x40, x41, x35) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), 1, x43, x44, x45, x35) :|: x45 < x41 && x41 > -1 && x44 < x40 && x40 > -1 && x45 > 0 && x46 > 1 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x49))), x50, x51, x50, x51, x47) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(x52), 1, x53, x54, x55, x47) :|: x55 < x51 && x51 > -1 && x54 < x50 && x50 > -1 && x55 > 0 && x56 > 1 34.17/10.31 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (126) IRSwTTerminationDigraphProof (EQUIVALENT) 34.17/10.31 Constructed termination digraph! 34.17/10.31 Nodes: 34.17/10.31 (1) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11922sub2121877256:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(o12470sub0:0), o12465[LinkedList$Entry.next]o12470:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11527:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && i3462:0 > 1 && o11922[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 (2) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x8, x4, x9, x10, x) :|: x3 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x9 < x5 && x8 > x3 && x10 > 0 && x11 > 1 34.17/10.31 (3) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.31 (4) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x31, x27, x32, x33, x22) :|: x26 > 0 && x28 > 0 && x31 > x26 && x29 > -1 && x33 < x29 && x32 < x28 && x34 > 1 && x33 > 0 34.17/10.31 (5) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x40, x41, x35) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), 1, x43, x44, x45, x35) :|: x45 < x41 && x41 > -1 && x44 < x40 && x40 > -1 && x45 > 0 && x46 > 1 34.17/10.31 (6) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x49))), x50, x51, x50, x51, x47) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(x52), 1, x53, x54, x55, x47) :|: x55 < x51 && x51 > -1 && x54 < x50 && x50 > -1 && x55 > 0 && x56 > 1 34.17/10.31 34.17/10.31 Arcs: 34.17/10.31 (1) -> (1), (2), (3), (4), (5), (6) 34.17/10.31 (2) -> (1), (2), (3), (4), (5), (6) 34.17/10.31 (3) -> (1), (2), (3), (4), (5) 34.17/10.31 (4) -> (1), (2), (3), (4), (5), (6) 34.17/10.31 (5) -> (1), (2), (3), (4), (5) 34.17/10.31 (6) -> (1), (2), (4), (6) 34.17/10.31 34.17/10.31 This digraph is fully evaluated! 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (127) 34.17/10.31 Obligation: 34.17/10.31 34.17/10.31 Termination digraph: 34.17/10.31 Nodes: 34.17/10.31 (1) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11922sub2121877256:0))), o11527[LinkedList$Entry.next]o11530:0, o11527[LinkedList$Entry.next]o11525:0, o11530[LinkedList$Entry.next]o11527:0, o11530[LinkedList$Entry.next]o11525:0, o11526-51450833:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0, java.lang.Object(o11527sub-51450833:0)))))))), java.lang.Object(o12470sub0:0), o12465[LinkedList$Entry.next]o12470:0, o11527[LinkedList$Entry.next]o11525:0, o11922[LinkedList$Entry.next]o11527:0, o11922[LinkedList$Entry.next]o11525:0, o11526-51450833:0) :|: o11527[LinkedList$Entry.next]o11530:0 > 0 && o11530[LinkedList$Entry.next]o11527:0 > 0 && o12465[LinkedList$Entry.next]o12470:0 > o11527[LinkedList$Entry.next]o11530:0 && o11530[LinkedList$Entry.next]o11525:0 > -1 && o11922[LinkedList$Entry.next]o11525:0 < o11530[LinkedList$Entry.next]o11525:0 && o11922[LinkedList$Entry.next]o11527:0 < o11530[LinkedList$Entry.next]o11527:0 && i3462:0 > 1 && o11922[LinkedList$Entry.next]o11525:0 > 0 34.17/10.31 (2) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2))), x3, x4, x5, x6, x) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x, java.lang.Object(x1)))))))), java.lang.Object(x7), x8, x4, x9, x10, x) :|: x3 > 0 && x5 > 0 && x6 > -1 && x10 < x6 && x9 < x5 && x8 > x3 && x10 > 0 && x11 > 1 34.17/10.31 (3) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14))), x15, x16, x15, x16, x12) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13)))))))))), java.lang.Object(x17), 1, x18, x19, x20, x12) :|: x20 < x16 && x16 > -1 && x19 < x15 && x15 > -1 && x20 > 0 && x21 > 1 34.17/10.31 (4) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24), java.lang.Object(x25))), x26, x27, x28, x29, x22) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22, java.lang.Object(x23)))))))), java.lang.Object(x30), x31, x27, x32, x33, x22) :|: x26 > 0 && x28 > 0 && x31 > x26 && x29 > -1 && x33 < x29 && x32 < x28 && x34 > 1 && x33 > 0 34.17/10.31 (5) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x49))), x50, x51, x50, x51, x47) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48)))))))))), java.lang.Object(x52), 1, x53, x54, x55, x47) :|: x55 < x51 && x51 > -1 && x54 < x50 && x50 > -1 && x55 > 0 && x56 > 1 34.17/10.31 (6) f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38), java.lang.Object(x39))), x40, x41, x40, x41, x35) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36), java.lang.Object(x37)))))))))), java.lang.Object(x42), 1, x43, x44, x45, x35) :|: x45 < x41 && x41 > -1 && x44 < x40 && x40 > -1 && x45 > 0 && x46 > 1 34.17/10.31 34.17/10.31 Arcs: 34.17/10.31 (1) -> (1), (2), (3), (4), (5), (6) 34.17/10.31 (2) -> (1), (2), (3), (4), (5), (6) 34.17/10.31 (3) -> (1), (2), (3), (4), (6) 34.17/10.31 (4) -> (1), (2), (3), (4), (5), (6) 34.17/10.31 (5) -> (1), (2), (4), (5) 34.17/10.31 (6) -> (1), (2), (3), (4), (6) 34.17/10.31 34.17/10.31 This digraph is fully evaluated! 34.17/10.31 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (128) IntTRSCompressionProof (EQUIVALENT) 34.17/10.31 Compressed rules. 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (129) 34.17/10.31 Obligation: 34.17/10.31 Rules: 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(x23:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x24:0), java.lang.Object(x25:0))), x26:0, x27:0, x28:0, x29:0, x22:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x22:0, java.lang.Object(x23:0)))))))), java.lang.Object(x30:0), x31:0, x27:0, x32:0, x33:0, x22:0) :|: x34:0 > 1 && x33:0 > 0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x31:0 > x26:0 && x28:0 > 0 && x26:0 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x14:0))), x15:0, x16:0, x15:0, x16:0, x12:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x12:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x13:0)))))))))), java.lang.Object(x17:0), 1, x18:0, x19:0, x20:0, x12:0) :|: x20:0 > 0 && x21:0 > 1 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(x1:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(javaUtilEx.Content), java.lang.Object(x2:0))), x3:0, x4:0, x5:0, x6:0, x:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x:0, java.lang.Object(x1:0)))))))), java.lang.Object(x7:0), x8:0, x4:0, x9:0, x10:0, x:0) :|: x10:0 > 0 && x11:0 > 1 && x8:0 > x3:0 && x9:0 < x5:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x3:0 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x49:0))), x50:0, x51:0, x50:0, x51:0, x47:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x47:0, java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(x48:0)))))))))), java.lang.Object(x52:0), 1, x53:0, x54:0, x55:0, x47:0) :|: x55:0 > 0 && x56:0 > 1 && x50:0 > -1 && x54:0 < x50:0 && x51:0 > -1 && x55:0 < x51:0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0:0, java.lang.Object(o11527sub-51450833:0:0)))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(NULL, java.lang.Object(o11922sub2121877256:0:0))), o11527[LinkedList$Entry.next]o11530:0:0, o11527[LinkedList$Entry.next]o11525:0:0, o11530[LinkedList$Entry.next]o11527:0:0, o11530[LinkedList$Entry.next]o11525:0:0, o11526-51450833:0:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(o11526-51450833:0:0, java.lang.Object(o11527sub-51450833:0:0)))))))), java.lang.Object(o12470sub0:0:0), o12465[LinkedList$Entry.next]o12470:0:0, o11527[LinkedList$Entry.next]o11525:0:0, o11922[LinkedList$Entry.next]o11527:0:0, o11922[LinkedList$Entry.next]o11525:0:0, o11526-51450833:0:0) :|: i3462:0:0 > 1 && o11922[LinkedList$Entry.next]o11525:0:0 > 0 && o11922[LinkedList$Entry.next]o11527:0:0 < o11530[LinkedList$Entry.next]o11527:0:0 && o11922[LinkedList$Entry.next]o11525:0:0 < o11530[LinkedList$Entry.next]o11525:0:0 && o11530[LinkedList$Entry.next]o11525:0:0 > -1 && o12465[LinkedList$Entry.next]o12470:0:0 > o11527[LinkedList$Entry.next]o11530:0:0 && o11530[LinkedList$Entry.next]o11527:0:0 > 0 && o11527[LinkedList$Entry.next]o11530:0:0 > 0 34.17/10.31 f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36:0), java.lang.Object(x37:0)))))))))), java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x38:0), java.lang.Object(x39:0))), x40:0, x41:0, x40:0, x41:0, x35:0) -> f7444_0_remove_EQ(java.lang.Object(javaUtilEx.AbstractCollection(javaUtilEx.AbstractList(javaUtilEx.AbstractSequentialList(javaUtilEx.LinkedList(java.lang.Object(javaUtilEx.LinkedList$Entry(x35:0, java.lang.Object(javaUtilEx.LinkedList$Entry(java.lang.Object(x36:0), java.lang.Object(x37:0)))))))))), java.lang.Object(x42:0), 1, x43:0, x44:0, x45:0, x35:0) :|: x45:0 > 0 && x46:0 > 1 && x40:0 > -1 && x44:0 < x40:0 && x41:0 > -1 && x45:0 < x41:0 34.17/10.31 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (130) TempFilterProof (SOUND) 34.17/10.31 Used the following sort dictionary for filtering: 34.17/10.31 f7444_0_remove_EQ(VARIABLE, VARIABLE, VARIABLE, VARIABLE, INTEGER, INTEGER, VARIABLE) 34.17/10.31 java.lang.Object(VARIABLE) 34.17/10.31 javaUtilEx.AbstractCollection(VARIABLE) 34.17/10.31 javaUtilEx.AbstractList(VARIABLE) 34.17/10.31 javaUtilEx.AbstractSequentialList(VARIABLE) 34.17/10.31 javaUtilEx.LinkedList(VARIABLE) 34.17/10.31 javaUtilEx.LinkedList$Entry(VARIABLE, VARIABLE) 34.17/10.31 javaUtilEx.Content() 34.17/10.31 NULL() 34.17/10.31 Replaced non-predefined constructor symbols by 0. 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (131) 34.17/10.31 Obligation: 34.17/10.31 Rules: 34.17/10.31 f7444_0_remove_EQ(c, c1, x26:0, x27:0, x28:0, x29:0, x22:0) -> f7444_0_remove_EQ(c2, c3, x31:0, x27:0, x32:0, x33:0, x22:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x34:0 > 1 && x33:0 > 0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x31:0 > x26:0 && x28:0 > 0 && x26:0 > 0) 34.17/10.31 f7444_0_remove_EQ(c4, c5, x15:0, x16:0, x15:0, x16:0, x12:0) -> f7444_0_remove_EQ(c6, c7, c8, x18:0, x19:0, x20:0, x12:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x20:0 > 0 && x21:0 > 1 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0) 34.17/10.31 f7444_0_remove_EQ(c9, c10, x3:0, x4:0, x5:0, x6:0, x:0) -> f7444_0_remove_EQ(c11, c12, x8:0, x4:0, x9:0, x10:0, x:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (x10:0 > 0 && x11:0 > 1 && x8:0 > x3:0 && x9:0 < x5:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x3:0 > 0) 34.17/10.31 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (132) RankingReductionPairProof (EQUIVALENT) 34.17/10.31 Interpretation: 34.17/10.31 [ f7444_0_remove_EQ ] = f7444_0_remove_EQ_6 34.17/10.31 34.17/10.31 The following rules are decreasing: 34.17/10.31 f7444_0_remove_EQ(c, c1, x26:0, x27:0, x28:0, x29:0, x22:0) -> f7444_0_remove_EQ(c2, c3, x31:0, x27:0, x32:0, x33:0, x22:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x34:0 > 1 && x33:0 > 0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x31:0 > x26:0 && x28:0 > 0 && x26:0 > 0) 34.17/10.31 f7444_0_remove_EQ(c4, c5, x15:0, x16:0, x15:0, x16:0, x12:0) -> f7444_0_remove_EQ(c6, c7, c8, x18:0, x19:0, x20:0, x12:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x20:0 > 0 && x21:0 > 1 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0) 34.17/10.31 f7444_0_remove_EQ(c9, c10, x3:0, x4:0, x5:0, x6:0, x:0) -> f7444_0_remove_EQ(c11, c12, x8:0, x4:0, x9:0, x10:0, x:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (x10:0 > 0 && x11:0 > 1 && x8:0 > x3:0 && x9:0 < x5:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x3:0 > 0) 34.17/10.31 34.17/10.31 The following rules are bounded: 34.17/10.31 f7444_0_remove_EQ(c, c1, x26:0, x27:0, x28:0, x29:0, x22:0) -> f7444_0_remove_EQ(c2, c3, x31:0, x27:0, x32:0, x33:0, x22:0) :|: c3 = 0 && (c2 = 0 && (c1 = 0 && c = 0)) && (x34:0 > 1 && x33:0 > 0 && x32:0 < x28:0 && x33:0 < x29:0 && x29:0 > -1 && x31:0 > x26:0 && x28:0 > 0 && x26:0 > 0) 34.17/10.31 f7444_0_remove_EQ(c4, c5, x15:0, x16:0, x15:0, x16:0, x12:0) -> f7444_0_remove_EQ(c6, c7, c8, x18:0, x19:0, x20:0, x12:0) :|: c8 = 1 && (c7 = 0 && (c6 = 0 && (c5 = 0 && c4 = 0))) && (x20:0 > 0 && x21:0 > 1 && x15:0 > -1 && x19:0 < x15:0 && x16:0 > -1 && x20:0 < x16:0) 34.17/10.31 f7444_0_remove_EQ(c9, c10, x3:0, x4:0, x5:0, x6:0, x:0) -> f7444_0_remove_EQ(c11, c12, x8:0, x4:0, x9:0, x10:0, x:0) :|: c12 = 0 && (c11 = 0 && (c10 = 0 && c9 = 0)) && (x10:0 > 0 && x11:0 > 1 && x8:0 > x3:0 && x9:0 < x5:0 && x6:0 > x10:0 && x6:0 > -1 && x5:0 > 0 && x3:0 > 0) 34.17/10.31 34.17/10.31 34.17/10.31 ---------------------------------------- 34.17/10.31 34.17/10.31 (133) 34.17/10.31 YES 34.17/10.37 EOF