(0) Obligation:

Need to prove time_complexity of the following program:
/*
 * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * This class provides a skeletal implementation of the <tt>Collection</tt>
 * interface, to minimize the effort required to implement this interface. <p>
 *
 * To implement an unmodifiable collection, the programmer needs only to
 * extend this class and provide implementations for the <tt>iterator</tt> and
 * <tt>size</tt> methods.  (The iterator returned by the <tt>iterator</tt>
 * method must implement <tt>hasNext</tt> and <tt>next</tt>.)<p>
 *
 * To implement a modifiable collection, the programmer must additionally
 * override this class's <tt>add</tt> method (which otherwise throws an
 * <tt>UnsupportedOperationException</tt>), and the iterator returned by the
 * <tt>iterator</tt> method must additionally implement its <tt>remove</tt>
 * method.<p>
 *
 * The programmer should generally provide a void (no argument) and
 * <tt>Collection</tt> constructor, as per the recommendation in the
 * <tt>Collection</tt> interface specification.<p>
 *
 * The documentation for each non-abstract method in this class describes its
 * implementation in detail.  Each of these methods may be overridden if
 * the collection being implemented admits a more efficient implementation.<p>
 *
 * This class is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @author  Neal Gafter
 * @see Collection
 * @since 1.2
 */

public abstract class AbstractCollection<E> implements Collection<E> {
    /**
     * Sole constructor.  (For invocation by subclass constructors, typically
     * implicit.)
     */
    protected AbstractCollection() {
    }

    // Query Operations

    /**
     * Returns an iterator over the elements contained in this collection.
     *
     * @return an iterator over the elements contained in this collection
     */
    public abstract Iterator<E> iterator();

    public abstract int size();

    /**
     * {@inheritDoc}
     *
     * <p>This implementation returns <tt>size() == 0</tt>.
     */
    public boolean isEmpty() {
        return size() == 0;
    }

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

    // Modification Operations

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

    /**
     * {@inheritDoc}
     *
     * <p>This implementation iterates over the collection looking for the
     * specified element.  If it finds the element, it removes the element
     * from the collection using the iterator's remove method.
     *
     * <p>Note that this implementation throws an
     * <tt>UnsupportedOperationException</tt> if the iterator returned by this
     * collection's iterator method does not implement the <tt>remove</tt>
     * method and this collection contains the specified object.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     */
    public boolean remove(Object o) {
        Iterator<E> e = iterator();
        if (o==null) {
            while (e.hasNext()) {
                if (e.next()==null) {
                    e.remove();
                    return true;
                }
            }
        } else {
            while (e.hasNext()) {
                if (o.equals(e.next())) {
                    e.remove();
                    return true;
                }
            }
        }
        return false;
    }


    // Bulk Operations

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

    /**
     * {@inheritDoc}
     *
     * <p>This implementation iterates over the specified collection, and adds
     * each object returned by the iterator to this collection, in turn.
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> unless <tt>add</tt> is
     * overridden (assuming the specified collection is non-empty).
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     * @throws IllegalArgumentException      {@inheritDoc}
     * @throws IllegalStateException         {@inheritDoc}
     *
     * @see #add(Object)
     */
    public boolean addAll(Collection<? extends E> c) {
        boolean modified = false;
        Iterator<? extends E> e = c.iterator();
        while (e.hasNext()) {
            if (add(e.next()))
                modified = true;
        }
        return modified;
    }

    /**
     * {@inheritDoc}
     *
     * <p>This implementation iterates over this collection, checking each
     * element returned by the iterator in turn to see if it's contained
     * in the specified collection.  If it's so contained, it's removed from
     * this collection with the iterator's <tt>remove</tt> method.
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> if the iterator returned by the
     * <tt>iterator</tt> method does not implement the <tt>remove</tt> method
     * and this collection contains one or more elements in common with the
     * specified collection.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     *
     * @see #remove(Object)
     * @see #contains(Object)
     */
    public boolean removeAll(Collection<?> c) {
        boolean modified = false;
        Iterator<?> e = iterator();
        while (e.hasNext()) {
            if (c.contains(e.next())) {
                e.remove();
                modified = true;
            }
        }
        return modified;
    }

    /**
     * {@inheritDoc}
     *
     * <p>This implementation iterates over this collection, checking each
     * element returned by the iterator in turn to see if it's contained
     * in the specified collection.  If it's not so contained, it's removed
     * from this collection with the iterator's <tt>remove</tt> method.
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> if the iterator returned by the
     * <tt>iterator</tt> method does not implement the <tt>remove</tt> method
     * and this collection contains one or more elements not present in the
     * specified collection.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     *
     * @see #remove(Object)
     * @see #contains(Object)
     */
    public boolean retainAll(Collection<?> c) {
        boolean modified = false;
        Iterator<E> e = iterator();
        while (e.hasNext()) {
            if (!c.contains(e.next())) {
                e.remove();
                modified = true;
            }
        }
        return modified;
    }

    /**
     * {@inheritDoc}
     *
     * <p>This implementation iterates over this collection, removing each
     * element using the <tt>Iterator.remove</tt> operation.  Most
     * implementations will probably choose to override this method for
     * efficiency.
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> if the iterator returned by this
     * collection's <tt>iterator</tt> method does not implement the
     * <tt>remove</tt> method and this collection is non-empty.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     */
    public void clear() {
        Iterator<E> e = iterator();
        while (e.hasNext()) {
            e.next();
            e.remove();
        }
    }


    //  String conversion

    /**
     * Returns a string representation of this collection.  The string
     * representation consists of a list of the collection's elements in the
     * order they are returned by its iterator, enclosed in square brackets
     * (<tt>"[]"</tt>).  Adjacent elements are separated by the characters
     * <tt>", "</tt> (comma and space).  Elements are converted to strings as
     * by {@link String#valueOf(Object)}.
     *
     * @return a string representation of this collection
     */
    public String toString() {
        Iterator<E> i = iterator();
        if (! i.hasNext())
            return "[]";

        String sb = "";
        sb = sb + "[";
        for (;;) {
            E e = i.next();
            sb = sb + (e == this ? "(this Collection)" : e);
            if (! i.hasNext()) {
                sb = sb + "]";
		return sb;
            }
            sb = sb + ", ";
        }
    }

}


/*
 * Copyright 1997-2007 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * This class provides a skeletal implementation of the {@link List}
 * interface to minimize the effort required to implement this interface
 * backed by a "random access" data store (such as an array).  For sequential
 * access data (such as a linked list), {@link AbstractSequentialList} should
 * be used in preference to this class.
 *
 * <p>To implement an unmodifiable list, the programmer needs only to extend
 * this class and provide implementations for the {@link #get(int)} and
 * {@link List#size() size()} methods.
 *
 * <p>To implement a modifiable list, the programmer must additionally
 * override the {@link #set(int, Object) set(int, E)} method (which otherwise
 * throws an {@code UnsupportedOperationException}).  If the list is
 * variable-size the programmer must additionally override the
 * {@link #add(int, Object) add(int, E)} and {@link #remove(int)} methods.
 *
 * <p>The programmer should generally provide a void (no argument) and collection
 * constructor, as per the recommendation in the {@link Collection} interface
 * specification.
 *
 * <p>Unlike the other abstract collection implementations, the programmer does
 * <i>not</i> have to provide an iterator implementation; the iterator and
 * list iterator are implemented by this class, on top of the "random access"
 * methods:
 * {@link #get(int)},
 * {@link #set(int, Object) set(int, E)},
 * {@link #add(int, Object) add(int, E)} and
 * {@link #remove(int)}.
 *
 * <p>The documentation for each non-abstract method in this class describes its
 * implementation in detail.  Each of these methods may be overridden if the
 * collection being implemented admits a more efficient implementation.
 *
 * <p>This class is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @author  Neal Gafter
 * @since 1.2
 */

public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E> {
    /**
     * Sole constructor.  (For invocation by subclass constructors, typically
     * implicit.)
     */
    protected AbstractList() {
    }

    /**
     * Appends the specified element to the end of this list (optional
     * operation).
     *
     * <p>Lists that support this operation may place limitations on what
     * elements may be added to this list.  In particular, some
     * lists will refuse to add null elements, and others will impose
     * restrictions on the type of elements that may be added.  List
     * classes should clearly specify in their documentation any restrictions
     * on what elements may be added.
     *
     * <p>This implementation calls {@code add(size(), e)}.
     *
     * <p>Note that this implementation throws an
     * {@code UnsupportedOperationException} unless
     * {@link #add(int, Object) add(int, E)} is overridden.
     *
     * @param e element to be appended to this list
     * @return {@code true} (as specified by {@link Collection#add})
     * @throws UnsupportedOperationException if the {@code add} operation
     *         is not supported by this list
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this list
     * @throws NullPointerException if the specified element is null and this
     *         list does not permit null elements
     * @throws IllegalArgumentException if some property of this element
     *         prevents it from being added to this list
     */
    public boolean add(E e) {
        add(size(), e);
        return true;
    }

    /**
     * {@inheritDoc}
     *
     * @throws IndexOutOfBoundsException {@inheritDoc}
     */
    abstract public E get(int index);

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

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

    /**
     * {@inheritDoc}
     *
     * <p>This implementation always throws an
     * {@code UnsupportedOperationException}.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws IndexOutOfBoundsException     {@inheritDoc}
     */
    public E remove(int index) {
        throw new UnsupportedOperationException();
    }


    // Search Operations

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

    /**
     * {@inheritDoc}
     *
     * <p>This implementation first gets a list iterator that points to the end
     * of the list (with {@code listIterator(size())}).  Then, it iterates
     * backwards over the list until the specified element is found, or the
     * beginning of the list is reached.
     *
     * @throws ClassCastException   {@inheritDoc}
     * @throws NullPointerException {@inheritDoc}
     */
    public int lastIndexOf(Object o) {
        ListIterator<E> e = listIterator(size());
        if (o==null) {
            while (e.hasPrevious())
                if (e.previous()==null)
                    return e.nextIndex();
        } else {
            while (e.hasPrevious())
                if (o.equals(e.previous()))
                    return e.nextIndex();
        }
        return -1;
    }


    // Bulk Operations

    /**
     * Removes all of the elements from this list (optional operation).
     * The list will be empty after this call returns.
     *
     * <p>This implementation calls {@code removeRange(0, size())}.
     *
     * <p>Note that this implementation throws an
     * {@code UnsupportedOperationException} unless {@code remove(int
     * index)} or {@code removeRange(int fromIndex, int toIndex)} is
     * overridden.
     *
     * @throws UnsupportedOperationException if the {@code clear} operation
     *         is not supported by this list
     */
    public void clear() {
        removeRange(0, size());
    }

    /**
     * {@inheritDoc}
     *
     * <p>This implementation gets an iterator over the specified collection
     * and iterates over it, inserting the elements obtained from the
     * iterator into this list at the appropriate position, one at a time,
     * using {@code add(int, E)}.
     * Many implementations will override this method for efficiency.
     *
     * <p>Note that this implementation throws an
     * {@code UnsupportedOperationException} unless
     * {@link #add(int, Object) add(int, E)} is overridden.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     * @throws IllegalArgumentException      {@inheritDoc}
     * @throws IndexOutOfBoundsException     {@inheritDoc}
     */
    public boolean addAll(int index, Collection<? extends E> c) {
        rangeCheckForAdd(index);
        boolean modified = false;
        Iterator<? extends E> e = c.iterator();
        while (e.hasNext()) {
            add(index++, e.next());
            modified = true;
        }
        return modified;
    }


    // Iterators

    /**
     * Returns an iterator over the elements in this list in proper sequence.
     *
     * <p>This implementation returns a straightforward implementation of the
     * iterator interface, relying on the backing list's {@code size()},
     * {@code get(int)}, and {@code remove(int)} methods.
     *
     * <p>Note that the iterator returned by this method will throw an
     * {@link UnsupportedOperationException} in response to its
     * {@code remove} method unless the list's {@code remove(int)} method is
     * overridden.
     *
     * <p>This implementation can be made to throw runtime exceptions in the
     * face of concurrent modification, as described in the specification
     * for the (protected) {@link #modCount} field.
     *
     * @return an iterator over the elements in this list in proper sequence
     */
    public Iterator<E> iterator() {
        return new Itr();
    }

    /**
     * {@inheritDoc}
     *
     * <p>This implementation returns {@code listIterator(0)}.
     *
     * @see #listIterator(int)
     */
    public ListIterator<E> listIterator() {
        return listIterator(0);
    }

    /**
     * {@inheritDoc}
     *
     * <p>This implementation returns a straightforward implementation of the
     * {@code ListIterator} interface that extends the implementation of the
     * {@code Iterator} interface returned by the {@code iterator()} method.
     * The {@code ListIterator} implementation relies on the backing list's
     * {@code get(int)}, {@code set(int, E)}, {@code add(int, E)}
     * and {@code remove(int)} methods.
     *
     * <p>Note that the list iterator returned by this implementation will
     * throw an {@link UnsupportedOperationException} in response to its
     * {@code remove}, {@code set} and {@code add} methods unless the
     * list's {@code remove(int)}, {@code set(int, E)}, and
     * {@code add(int, E)} methods are overridden.
     *
     * <p>This implementation can be made to throw runtime exceptions in the
     * face of concurrent modification, as described in the specification for
     * the (protected) {@link #modCount} field.
     *
     * @throws IndexOutOfBoundsException {@inheritDoc}
     */
    public ListIterator<E> listIterator(final int index) {
        rangeCheckForAdd(index);

        return new ListItr(index);
    }

    private class Itr implements Iterator<E> {
        /**
         * Index of element to be returned by subsequent call to next.
         */
        int cursor = 0;

        /**
         * Index of element returned by most recent call to next or
         * previous.  Reset to -1 if this element is deleted by a call
         * to remove.
         */
        int lastRet = -1;

        /**
         * The modCount value that the iterator believes that the backing
         * List should have.  If this expectation is violated, the iterator
         * has detected concurrent modification.
         */
        int expectedModCount = modCount;

        public boolean hasNext() {
            return cursor != size();
        }

        public E next() {
            checkForComodification();
            try {
                int i = cursor;
                E next = get(i);
                lastRet = i;
                cursor = i + 1;
                return next;
            } catch (IndexOutOfBoundsException e) {
                checkForComodification();
                throw new NoSuchElementException();
            }
        }

        public void remove() {
            if (lastRet < 0)
                throw new IllegalStateException();
            checkForComodification();

            try {
                AbstractList.this.remove(lastRet);
                if (lastRet < cursor)
                    cursor--;
                lastRet = -1;
                expectedModCount = modCount;
            } catch (IndexOutOfBoundsException e) {
                throw new ConcurrentModificationException();
            }
        }

        final void checkForComodification() {
            if (modCount != expectedModCount)
                throw new ConcurrentModificationException();
        }
    }

    private class ListItr extends Itr implements ListIterator<E> {
        ListItr(int index) {
            cursor = index;
        }

        public boolean hasPrevious() {
            return cursor != 0;
        }

        public E previous() {
            checkForComodification();
            try {
                int i = cursor - 1;
                E previous = get(i);
                lastRet = cursor = i;
                return previous;
            } catch (IndexOutOfBoundsException e) {
                checkForComodification();
                throw new NoSuchElementException();
            }
        }

        public int nextIndex() {
            return cursor;
        }

        public int previousIndex() {
            return cursor-1;
        }

        public void set(E e) {
            if (lastRet < 0)
                throw new IllegalStateException();
            checkForComodification();

            try {
                AbstractList.this.set(lastRet, e);
                expectedModCount = modCount;
            } catch (IndexOutOfBoundsException ex) {
                throw new ConcurrentModificationException();
            }
        }

        public void add(E e) {
            checkForComodification();

            try {
                int i = cursor;
                AbstractList.this.add(i, e);
                lastRet = -1;
                cursor = i + 1;
                expectedModCount = modCount;
            } catch (IndexOutOfBoundsException ex) {
                throw new ConcurrentModificationException();
            }
        }
    }

    /**
     * {@inheritDoc}
     *
     * <p>This implementation returns a list that subclasses
     * {@code AbstractList}.  The subclass stores, in private fields, the
     * offset of the subList within the backing list, the size of the subList
     * (which can change over its lifetime), and the expected
     * {@code modCount} value of the backing list.  There are two variants
     * of the subclass, one of which implements {@code RandomAccess}.
     * If this list implements {@code RandomAccess} the returned list will
     * be an instance of the subclass that implements {@code RandomAccess}.
     *
     * <p>The subclass's {@code set(int, E)}, {@code get(int)},
     * {@code add(int, E)}, {@code remove(int)}, {@code addAll(int,
     * Collection)} and {@code removeRange(int, int)} methods all
     * delegate to the corresponding methods on the backing abstract list,
     * after bounds-checking the index and adjusting for the offset.  The
     * {@code addAll(Collection c)} method merely returns {@code addAll(size,
     * c)}.
     *
     * <p>The {@code listIterator(int)} method returns a "wrapper object"
     * over a list iterator on the backing list, which is created with the
     * corresponding method on the backing list.  The {@code iterator} method
     * merely returns {@code listIterator()}, and the {@code size} method
     * merely returns the subclass's {@code size} field.
     *
     * <p>All methods first check to see if the actual {@code modCount} of
     * the backing list is equal to its expected value, and throw a
     * {@code ConcurrentModificationException} if it is not.
     *
     * @throws IndexOutOfBoundsException if an endpoint index value is out of range
     *         {@code (fromIndex < 0 || toIndex > size)}
     * @throws IllegalArgumentException if the endpoint indices are out of order
     *         {@code (fromIndex > toIndex)}
     */
    public List<E> subList(int fromIndex, int toIndex) {
        return (this instanceof RandomAccess ?
                new RandomAccessSubList<E>(this, fromIndex, toIndex) :
                new SubList<E>(this, fromIndex, toIndex));
    }

    // Comparison and hashing

    /**
     * Compares the specified object with this list for equality.  Returns
     * {@code true} if and only if the specified object is also a list, both
     * lists have the same size, and all corresponding pairs of elements in
     * the two lists are <i>equal</i>.  (Two elements {@code e1} and
     * {@code e2} are <i>equal</i> if {@code (e1==null ? e2==null :
     * e1.equals(e2))}.)  In other words, two lists are defined to be
     * equal if they contain the same elements in the same order.<p>
     *
     * This implementation first checks if the specified object is this
     * list. If so, it returns {@code true}; if not, it checks if the
     * specified object is a list. If not, it returns {@code false}; if so,
     * it iterates over both lists, comparing corresponding pairs of elements.
     * If any comparison returns {@code false}, this method returns
     * {@code false}.  If either iterator runs out of elements before the
     * other it returns {@code false} (as the lists are of unequal length);
     * otherwise it returns {@code true} when the iterations complete.
     *
     * @param o the object to be compared for equality with this list
     * @return {@code true} if the specified object is equal to this list
     */
    public boolean equals(Object o) {
        if (o == this)
            return true;
        if (!(o instanceof List))
            return false;

        ListIterator<E> e1 = listIterator();
        ListIterator e2 = ((List) o).listIterator();
        while(e1.hasNext() && e2.hasNext()) {
            E o1 = e1.next();
            Object o2 = e2.next();
            if (!(o1==null ? o2==null : o1.equals(o2)))
                return false;
        }
        return !(e1.hasNext() || e2.hasNext());
    }

    /**
     * Returns the hash code value for this list.
     *
     * <p>This implementation uses exactly the code that is used to define the
     * list hash function in the documentation for the {@link List#hashCode}
     * method.
     *
     * @return the hash code value for this list
     */
    public int hashCode() {
        int hashCode = 1;
        Iterator<E> it = this.iterator();
        while (it.hasNext()) {
            E e = it.next();
            hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
        }
        return hashCode;
    }

    /**
     * Removes from this list all of the elements whose index is between
     * {@code fromIndex}, inclusive, and {@code toIndex}, exclusive.
     * Shifts any succeeding elements to the left (reduces their index).
     * This call shortens the list by {@code (toIndex - fromIndex)} elements.
     * (If {@code toIndex==fromIndex}, this operation has no effect.)
     *
     * <p>This method is called by the {@code clear} operation on this list
     * and its subLists.  Overriding this method to take advantage of
     * the internals of the list implementation can <i>substantially</i>
     * improve the performance of the {@code clear} operation on this list
     * and its subLists.
     *
     * <p>This implementation gets a list iterator positioned before
     * {@code fromIndex}, and repeatedly calls {@code ListIterator.next}
     * followed by {@code ListIterator.remove} until the entire range has
     * been removed.  <b>Note: if {@code ListIterator.remove} requires linear
     * time, this implementation requires quadratic time.</b>
     *
     * @param fromIndex index of first element to be removed
     * @param toIndex index after last element to be removed
     */
    protected void removeRange(int fromIndex, int toIndex) {
        ListIterator<E> it = listIterator(fromIndex);
        for (int i=0, n=toIndex-fromIndex; i<n; i++) {
            it.next();
            it.remove();
        }
    }

    /**
     * The number of times this list has been <i>structurally modified</i>.
     * Structural modifications are those that change the size of the
     * list, or otherwise perturb it in such a fashion that iterations in
     * progress may yield incorrect results.
     *
     * <p>This field is used by the iterator and list iterator implementation
     * returned by the {@code iterator} and {@code listIterator} methods.
     * If the value of this field changes unexpectedly, the iterator (or list
     * iterator) will throw a {@code ConcurrentModificationException} in
     * response to the {@code next}, {@code remove}, {@code previous},
     * {@code set} or {@code add} operations.  This provides
     * <i>fail-fast</i> behavior, rather than non-deterministic behavior in
     * the face of concurrent modification during iteration.
     *
     * <p><b>Use of this field by subclasses is optional.</b> If a subclass
     * wishes to provide fail-fast iterators (and list iterators), then it
     * merely has to increment this field in its {@code add(int, E)} and
     * {@code remove(int)} methods (and any other methods that it overrides
     * that result in structural modifications to the list).  A single call to
     * {@code add(int, E)} or {@code remove(int)} must add no more than
     * one to this field, or the iterators (and list iterators) will throw
     * bogus {@code ConcurrentModificationExceptions}.  If an implementation
     * does not wish to provide fail-fast iterators, this field may be
     * ignored.
     */
    protected transient int modCount = 0;

    private void rangeCheckForAdd(int index) {
        if (index < 0 || index > size())
            throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
    }

    private String outOfBoundsMsg(int index) {
        return "";
    }
}

class SubList<E> extends AbstractList<E> {
    private final AbstractList<E> l;
    private final int offset;
    private int size;

    SubList(AbstractList<E> list, int fromIndex, int toIndex) {
        if (fromIndex < 0)
            throw new IndexOutOfBoundsException();
        if (toIndex > list.size())
            throw new IndexOutOfBoundsException();
        if (fromIndex > toIndex)
            throw new IllegalArgumentException();
        l = list;
        offset = fromIndex;
        size = toIndex - fromIndex;
        this.modCount = l.modCount;
    }

    public E set(int index, E element) {
        rangeCheck(index);
        checkForComodification();
        return l.set(index+offset, element);
    }

    public E get(int index) {
        rangeCheck(index);
        checkForComodification();
        return l.get(index+offset);
    }

    public int size() {
        checkForComodification();
        return size;
    }

    public void add(int index, E element) {
        rangeCheckForAdd(index);
        checkForComodification();
        l.add(index+offset, element);
        this.modCount = l.modCount;
        size++;
    }

    public E remove(int index) {
        rangeCheck(index);
        checkForComodification();
        E result = l.remove(index+offset);
        this.modCount = l.modCount;
        size--;
        return result;
    }

    protected void removeRange(int fromIndex, int toIndex) {
        checkForComodification();
        l.removeRange(fromIndex+offset, toIndex+offset);
        this.modCount = l.modCount;
        size -= (toIndex-fromIndex);
    }

    public boolean addAll(Collection<? extends E> c) {
        return addAll(size, c);
    }

    public boolean addAll(int index, Collection<? extends E> c) {
        rangeCheckForAdd(index);
        int cSize = c.size();
        if (cSize==0)
            return false;

        checkForComodification();
        l.addAll(offset+index, c);
        this.modCount = l.modCount;
        size += cSize;
        return true;
    }

    public Iterator<E> iterator() {
        return listIterator();
    }

    public ListIterator<E> listIterator(final int index) {
        checkForComodification();
        rangeCheckForAdd(index);

        return new ListIterator<E>() {
            private final ListIterator<E> i = l.listIterator(index+offset);

            public boolean hasNext() {
                return nextIndex() < size;
            }

            public E next() {
                if (hasNext())
                    return i.next();
                else
                    throw new NoSuchElementException();
            }

            public boolean hasPrevious() {
                return previousIndex() >= 0;
            }

            public E previous() {
                if (hasPrevious())
                    return i.previous();
                else
                    throw new NoSuchElementException();
            }

            public int nextIndex() {
                return i.nextIndex() - offset;
            }

            public int previousIndex() {
                return i.previousIndex() - offset;
            }

            public void remove() {
                i.remove();
                SubList.this.modCount = l.modCount;
                size--;
            }

            public void set(E e) {
                i.set(e);
            }

            public void add(E e) {
                i.add(e);
                SubList.this.modCount = l.modCount;
                size++;
            }
        };
    }

    public List<E> subList(int fromIndex, int toIndex) {
        return new SubList<E>(this, fromIndex, toIndex);
    }

    private void rangeCheck(int index) {
        if (index < 0 || index >= size)
            throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
    }

    private void rangeCheckForAdd(int index) {
        if (index < 0 || index > size)
            throw new IndexOutOfBoundsException(outOfBoundsMsg(index));
    }

    private String outOfBoundsMsg(int index) {
        return "";
    }

    private void checkForComodification() {
        if (this.modCount != l.modCount)
            throw new ConcurrentModificationException();
    }
}

class RandomAccessSubList<E> extends SubList<E> implements RandomAccess {
    RandomAccessSubList(AbstractList<E> list, int fromIndex, int toIndex) {
        super(list, fromIndex, toIndex);
    }

    public List<E> subList(int fromIndex, int toIndex) {
        return new RandomAccessSubList<E>(this, fromIndex, toIndex);
    }
}


/*
 * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * This class provides a skeletal implementation of the <tt>List</tt>
 * interface to minimize the effort required to implement this interface
 * backed by a "sequential access" data store (such as a linked list).  For
 * random access data (such as an array), <tt>AbstractList</tt> should be used
 * in preference to this class.<p>
 *
 * This class is the opposite of the <tt>AbstractList</tt> class in the sense
 * that it implements the "random access" methods (<tt>get(int index)</tt>,
 * <tt>set(int index, E element)</tt>, <tt>add(int index, E element)</tt> and
 * <tt>remove(int index)</tt>) on top of the list's list iterator, instead of
 * the other way around.<p>
 *
 * To implement a list the programmer needs only to extend this class and
 * provide implementations for the <tt>listIterator</tt> and <tt>size</tt>
 * methods.  For an unmodifiable list, the programmer need only implement the
 * list iterator's <tt>hasNext</tt>, <tt>next</tt>, <tt>hasPrevious</tt>,
 * <tt>previous</tt> and <tt>index</tt> methods.<p>
 *
 * For a modifiable list the programmer should additionally implement the list
 * iterator's <tt>set</tt> method.  For a variable-size list the programmer
 * should additionally implement the list iterator's <tt>remove</tt> and
 * <tt>add</tt> methods.<p>
 *
 * The programmer should generally provide a void (no argument) and collection
 * constructor, as per the recommendation in the <tt>Collection</tt> interface
 * specification.<p>
 *
 * This class is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @author  Neal Gafter
 * @see Collection
 * @see List
 * @see AbstractList
 * @see AbstractCollection
 * @since 1.2
 */

public abstract class AbstractSequentialList<E> extends AbstractList<E> {
    /**
     * Sole constructor.  (For invocation by subclass constructors, typically
     * implicit.)
     */
    protected AbstractSequentialList() {
    }

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

    /**
     * Replaces the element at the specified position in this list with the
     * specified element (optional operation).
     *
     * <p>This implementation first gets a list iterator pointing to the
     * indexed element (with <tt>listIterator(index)</tt>).  Then, it gets
     * the current element using <tt>ListIterator.next</tt> and replaces it
     * with <tt>ListIterator.set</tt>.
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> if the list iterator does not
     * implement the <tt>set</tt> operation.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     * @throws IllegalArgumentException      {@inheritDoc}
     * @throws IndexOutOfBoundsException     {@inheritDoc}
     */
    public E set(int index, E element) {
        try {
            ListIterator<E> e = listIterator(index);
            E oldVal = e.next();
            e.set(element);
            return oldVal;
        } catch (NoSuchElementException exc) {
            throw new IndexOutOfBoundsException();
        }
    }

    /**
     * Inserts the specified element at the specified position in this list
     * (optional operation).  Shifts the element currently at that position
     * (if any) and any subsequent elements to the right (adds one to their
     * indices).
     *
     * <p>This implementation first gets a list iterator pointing to the
     * indexed element (with <tt>listIterator(index)</tt>).  Then, it
     * inserts the specified element with <tt>ListIterator.add</tt>.
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> if the list iterator does not
     * implement the <tt>add</tt> operation.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     * @throws IllegalArgumentException      {@inheritDoc}
     * @throws IndexOutOfBoundsException     {@inheritDoc}
     */
    public void add(int index, E element) {
        try {
            listIterator(index).add(element);
        } catch (NoSuchElementException exc) {
            throw new IndexOutOfBoundsException();
        }
    }

    /**
     * Removes the element at the specified position in this list (optional
     * operation).  Shifts any subsequent elements to the left (subtracts one
     * from their indices).  Returns the element that was removed from the
     * list.
     *
     * <p>This implementation first gets a list iterator pointing to the
     * indexed element (with <tt>listIterator(index)</tt>).  Then, it removes
     * the element with <tt>ListIterator.remove</tt>.
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> if the list iterator does not
     * implement the <tt>remove</tt> operation.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws IndexOutOfBoundsException     {@inheritDoc}
     */
    public E remove(int index) {
        try {
            ListIterator<E> e = listIterator(index);
            E outCast = e.next();
            e.remove();
            return outCast;
        } catch (NoSuchElementException exc) {
            throw new IndexOutOfBoundsException();
        }
    }


    // Bulk Operations

    /**
     * Inserts all of the elements in the specified collection into this
     * list at the specified position (optional operation).  Shifts the
     * element currently at that position (if any) and any subsequent
     * elements to the right (increases their indices).  The new elements
     * will appear in this list in the order that they are returned by the
     * specified collection's iterator.  The behavior of this operation is
     * undefined if the specified collection is modified while the
     * operation is in progress.  (Note that this will occur if the specified
     * collection is this list, and it's nonempty.)
     *
     * <p>This implementation gets an iterator over the specified collection and
     * a list iterator over this list pointing to the indexed element (with
     * <tt>listIterator(index)</tt>).  Then, it iterates over the specified
     * collection, inserting the elements obtained from the iterator into this
     * list, one at a time, using <tt>ListIterator.add</tt> followed by
     * <tt>ListIterator.next</tt> (to skip over the added element).
     *
     * <p>Note that this implementation will throw an
     * <tt>UnsupportedOperationException</tt> if the list iterator returned by
     * the <tt>listIterator</tt> method does not implement the <tt>add</tt>
     * operation.
     *
     * @throws UnsupportedOperationException {@inheritDoc}
     * @throws ClassCastException            {@inheritDoc}
     * @throws NullPointerException          {@inheritDoc}
     * @throws IllegalArgumentException      {@inheritDoc}
     * @throws IndexOutOfBoundsException     {@inheritDoc}
     */
    public boolean addAll(int index, Collection<? extends E> c) {
        try {
            boolean modified = false;
            ListIterator<E> e1 = listIterator(index);
            Iterator<? extends E> e2 = c.iterator();
            while (e2.hasNext()) {
                e1.add(e2.next());
                modified = true;
            }
            return modified;
        } catch (NoSuchElementException exc) {
            throw new IndexOutOfBoundsException();
        }
    }


    // Iterators

    /**
     * Returns an iterator over the elements in this list (in proper
     * sequence).<p>
     *
     * This implementation merely returns a list iterator over the list.
     *
     * @return an iterator over the elements in this list (in proper sequence)
     */
    public Iterator<E> iterator() {
        return listIterator();
    }

    /**
     * Returns a list iterator over the elements in this list (in proper
     * sequence).
     *
     * @param  index index of first element to be returned from the list
     *         iterator (by a call to the <code>next</code> method)
     * @return a list iterator over the elements in this list (in proper
     *         sequence)
     * @throws IndexOutOfBoundsException {@inheritDoc}
     */
    public abstract ListIterator<E> listIterator(int index);
}


/*
 * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * The root interface in the <i>collection hierarchy</i>.  A collection
 * represents a group of objects, known as its <i>elements</i>.  Some
 * collections allow duplicate elements and others do not.  Some are ordered
 * and others unordered.  The JDK does not provide any <i>direct</i>
 * implementations of this interface: it provides implementations of more
 * specific subinterfaces like <tt>Set</tt> and <tt>List</tt>.  This interface
 * is typically used to pass collections around and manipulate them where
 * maximum generality is desired.
 *
 * <p><i>Bags</i> or <i>multisets</i> (unordered collections that may contain
 * duplicate elements) should implement this interface directly.
 *
 * <p>All general-purpose <tt>Collection</tt> implementation classes (which
 * typically implement <tt>Collection</tt> indirectly through one of its
 * subinterfaces) should provide two "standard" constructors: a void (no
 * arguments) constructor, which creates an empty collection, and a
 * constructor with a single argument of type <tt>Collection</tt>, which
 * creates a new collection with the same elements as its argument.  In
 * effect, the latter constructor allows the user to copy any collection,
 * producing an equivalent collection of the desired implementation type.
 * There is no way to enforce this convention (as interfaces cannot contain
 * constructors) but all of the general-purpose <tt>Collection</tt>
 * implementations in the Java platform libraries comply.
 *
 * <p>The "destructive" methods contained in this interface, that is, the
 * methods that modify the collection on which they operate, are specified to
 * throw <tt>UnsupportedOperationException</tt> if this collection does not
 * support the operation.  If this is the case, these methods may, but are not
 * required to, throw an <tt>UnsupportedOperationException</tt> if the
 * invocation would have no effect on the collection.  For example, invoking
 * the {@link #addAll(Collection)} method on an unmodifiable collection may,
 * but is not required to, throw the exception if the collection to be added
 * is empty.
 *
 * <p>Some collection implementations have restrictions on the elements that
 * they may contain.  For example, some implementations prohibit null elements,
 * and some have restrictions on the types of their elements.  Attempting to
 * add an ineligible element throws an unchecked exception, typically
 * <tt>NullPointerException</tt> or <tt>ClassCastException</tt>.  Attempting
 * to query the presence of an ineligible element may throw an exception,
 * or it may simply return false; some implementations will exhibit the former
 * behavior and some will exhibit the latter.  More generally, attempting an
 * operation on an ineligible element whose completion would not result in
 * the insertion of an ineligible element into the collection may throw an
 * exception or it may succeed, at the option of the implementation.
 * Such exceptions are marked as "optional" in the specification for this
 * interface.
 *
 * <p>It is up to each collection to determine its own synchronization
 * policy.  In the absence of a stronger guarantee by the
 * implementation, undefined behavior may result from the invocation
 * of any method on a collection that is being mutated by another
 * thread; this includes direct invocations, passing the collection to
 * a method that might perform invocations, and using an existing
 * iterator to examine the collection.
 *
 * <p>Many methods in Collections Framework interfaces are defined in
 * terms of the {@link Object#equals(Object) equals} method.  For example,
 * the specification for the {@link #contains(Object) contains(Object o)}
 * method says: "returns <tt>true</tt> if and only if this collection
 * contains at least one element <tt>e</tt> such that
 * <tt>(o==null ? e==null : o.equals(e))</tt>."  This specification should
 * <i>not</i> be construed to imply that invoking <tt>Collection.contains</tt>
 * with a non-null argument <tt>o</tt> will cause <tt>o.equals(e)</tt> to be
 * invoked for any element <tt>e</tt>.  Implementations are free to implement
 * optimizations whereby the <tt>equals</tt> invocation is avoided, for
 * example, by first comparing the hash codes of the two elements.  (The
 * {@link Object#hashCode()} specification guarantees that two objects with
 * unequal hash codes cannot be equal.)  More generally, implementations of
 * the various Collections Framework interfaces are free to take advantage of
 * the specified behavior of underlying {@link Object} methods wherever the
 * implementor deems it appropriate.
 *
 * <p>This interface is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @author  Neal Gafter
 * @see     Set
 * @see     List
 * @see     Map
 * @see     SortedSet
 * @see     SortedMap
 * @see     HashSet
 * @see     TreeSet
 * @see     ArrayList
 * @see     LinkedList
 * @see     Vector
 * @see     Collections
 * @see     Arrays
 * @see     AbstractCollection
 * @since 1.2
 */

public interface Collection<E> {
    // Query Operations

    /**
     * Returns the number of elements in this collection.  If this collection
     * contains more than <tt>Integer.MAX_VALUE</tt> elements, returns
     * <tt>Integer.MAX_VALUE</tt>.
     *
     * @return the number of elements in this collection
     */
    int size();

    /**
     * Returns <tt>true</tt> if this collection contains no elements.
     *
     * @return <tt>true</tt> if this collection contains no elements
     */
    boolean isEmpty();

    /**
     * Returns <tt>true</tt> if this collection contains the specified element.
     * More formally, returns <tt>true</tt> if and only if this collection
     * contains at least one element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>.
     *
     * @param o element whose presence in this collection is to be tested
     * @return <tt>true</tt> if this collection contains the specified
     *         element
     * @throws ClassCastException if the type of the specified element
     *         is incompatible with this collection (optional)
     * @throws NullPointerException if the specified element is null and this
     *         collection does not permit null elements (optional)
     */
    boolean contains(Object o);

    /**
     * Returns an iterator over the elements in this collection.  There are no
     * guarantees concerning the order in which the elements are returned
     * (unless this collection is an instance of some class that provides a
     * guarantee).
     *
     * @return an <tt>Iterator</tt> over the elements in this collection
     */
    Iterator<E> iterator();

    // Modification Operations

    /**
     * Ensures that this collection contains the specified element (optional
     * operation).  Returns <tt>true</tt> if this collection changed as a
     * result of the call.  (Returns <tt>false</tt> if this collection does
     * not permit duplicates and already contains the specified element.)<p>
     *
     * Collections that support this operation may place limitations on what
     * elements may be added to this collection.  In particular, some
     * collections will refuse to add <tt>null</tt> elements, and others will
     * impose restrictions on the type of elements that may be added.
     * Collection classes should clearly specify in their documentation any
     * restrictions on what elements may be added.<p>
     *
     * If a collection refuses to add a particular element for any reason
     * other than that it already contains the element, it <i>must</i> throw
     * an exception (rather than returning <tt>false</tt>).  This preserves
     * the invariant that a collection always contains the specified element
     * after this call returns.
     *
     * @param e element whose presence in this collection is to be ensured
     * @return <tt>true</tt> if this collection changed as a result of the
     *         call
     * @throws UnsupportedOperationException if the <tt>add</tt> operation
     *         is not supported by this collection
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this collection
     * @throws NullPointerException if the specified element is null and this
     *         collection does not permit null elements
     * @throws IllegalArgumentException if some property of the element
     *         prevents it from being added to this collection
     * @throws IllegalStateException if the element cannot be added at this
     *         time due to insertion restrictions
     */
    boolean add(E e);

    /**
     * Removes a single instance of the specified element from this
     * collection, if it is present (optional operation).  More formally,
     * removes an element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>, if
     * this collection contains one or more such elements.  Returns
     * <tt>true</tt> if this collection contained the specified element (or
     * equivalently, if this collection changed as a result of the call).
     *
     * @param o element to be removed from this collection, if present
     * @return <tt>true</tt> if an element was removed as a result of this call
     * @throws ClassCastException if the type of the specified element
     *         is incompatible with this collection (optional)
     * @throws NullPointerException if the specified element is null and this
     *         collection does not permit null elements (optional)
     * @throws UnsupportedOperationException if the <tt>remove</tt> operation
     *         is not supported by this collection
     */
    boolean remove(Object o);


    // Bulk Operations

    /**
     * Returns <tt>true</tt> if this collection contains all of the elements
     * in the specified collection.
     *
     * @param  c collection to be checked for containment in this collection
     * @return <tt>true</tt> if this collection contains all of the elements
     *         in the specified collection
     * @throws ClassCastException if the types of one or more elements
     *         in the specified collection are incompatible with this
     *         collection (optional)
     * @throws NullPointerException if the specified collection contains one
     *         or more null elements and this collection does not permit null
     *         elements (optional), or if the specified collection is null
     * @see    #contains(Object)
     */
    boolean containsAll(Collection<?> c);

    /**
     * Adds all of the elements in the specified collection to this collection
     * (optional operation).  The behavior of this operation is undefined if
     * the specified collection is modified while the operation is in progress.
     * (This implies that the behavior of this call is undefined if the
     * specified collection is this collection, and this collection is
     * nonempty.)
     *
     * @param c collection containing elements to be added to this collection
     * @return <tt>true</tt> if this collection changed as a result of the call
     * @throws UnsupportedOperationException if the <tt>addAll</tt> operation
     *         is not supported by this collection
     * @throws ClassCastException if the class of an element of the specified
     *         collection prevents it from being added to this collection
     * @throws NullPointerException if the specified collection contains a
     *         null element and this collection does not permit null elements,
     *         or if the specified collection is null
     * @throws IllegalArgumentException if some property of an element of the
     *         specified collection prevents it from being added to this
     *         collection
     * @throws IllegalStateException if not all the elements can be added at
     *         this time due to insertion restrictions
     * @see #add(Object)
     */
    boolean addAll(Collection<? extends E> c);

    /**
     * Removes all of this collection's elements that are also contained in the
     * specified collection (optional operation).  After this call returns,
     * this collection will contain no elements in common with the specified
     * collection.
     *
     * @param c collection containing elements to be removed from this collection
     * @return <tt>true</tt> if this collection changed as a result of the
     *         call
     * @throws UnsupportedOperationException if the <tt>removeAll</tt> method
     *         is not supported by this collection
     * @throws ClassCastException if the types of one or more elements
     *         in this collection are incompatible with the specified
     *         collection (optional)
     * @throws NullPointerException if this collection contains one or more
     *         null elements and the specified collection does not support
     *         null elements (optional), or if the specified collection is null
     * @see #remove(Object)
     * @see #contains(Object)
     */
    boolean removeAll(Collection<?> c);

    /**
     * Retains only the elements in this collection that are contained in the
     * specified collection (optional operation).  In other words, removes from
     * this collection all of its elements that are not contained in the
     * specified collection.
     *
     * @param c collection containing elements to be retained in this collection
     * @return <tt>true</tt> if this collection changed as a result of the call
     * @throws UnsupportedOperationException if the <tt>retainAll</tt> operation
     *         is not supported by this collection
     * @throws ClassCastException if the types of one or more elements
     *         in this collection are incompatible with the specified
     *         collection (optional)
     * @throws NullPointerException if this collection contains one or more
     *         null elements and the specified collection does not permit null
     *         elements (optional), or if the specified collection is null
     * @see #remove(Object)
     * @see #contains(Object)
     */
    boolean retainAll(Collection<?> c);

    /**
     * Removes all of the elements from this collection (optional operation).
     * The collection will be empty after this method returns.
     *
     * @throws UnsupportedOperationException if the <tt>clear</tt> operation
     *         is not supported by this collection
     */
    void clear();


    // Comparison and hashing

    /**
     * Compares the specified object with this collection for equality. <p>
     *
     * While the <tt>Collection</tt> interface adds no stipulations to the
     * general contract for the <tt>Object.equals</tt>, programmers who
     * implement the <tt>Collection</tt> interface "directly" (in other words,
     * create a class that is a <tt>Collection</tt> but is not a <tt>Set</tt>
     * or a <tt>List</tt>) must exercise care if they choose to override the
     * <tt>Object.equals</tt>.  It is not necessary to do so, and the simplest
     * course of action is to rely on <tt>Object</tt>'s implementation, but
     * the implementor may wish to implement a "value comparison" in place of
     * the default "reference comparison."  (The <tt>List</tt> and
     * <tt>Set</tt> interfaces mandate such value comparisons.)<p>
     *
     * The general contract for the <tt>Object.equals</tt> method states that
     * equals must be symmetric (in other words, <tt>a.equals(b)</tt> if and
     * only if <tt>b.equals(a)</tt>).  The contracts for <tt>List.equals</tt>
     * and <tt>Set.equals</tt> state that lists are only equal to other lists,
     * and sets to other sets.  Thus, a custom <tt>equals</tt> method for a
     * collection class that implements neither the <tt>List</tt> nor
     * <tt>Set</tt> interface must return <tt>false</tt> when this collection
     * is compared to any list or set.  (By the same logic, it is not possible
     * to write a class that correctly implements both the <tt>Set</tt> and
     * <tt>List</tt> interfaces.)
     *
     * @param o object to be compared for equality with this collection
     * @return <tt>true</tt> if the specified object is equal to this
     * collection
     *
     * @see Object#equals(Object)
     * @see Set#equals(Object)
     * @see List#equals(Object)
     */
    boolean equals(Object o);

    /**
     * Returns the hash code value for this collection.  While the
     * <tt>Collection</tt> interface adds no stipulations to the general
     * contract for the <tt>Object.hashCode</tt> method, programmers should
     * take note that any class that overrides the <tt>Object.equals</tt>
     * method must also override the <tt>Object.hashCode</tt> method in order
     * to satisfy the general contract for the <tt>Object.hashCode</tt>method.
     * In particular, <tt>c1.equals(c2)</tt> implies that
     * <tt>c1.hashCode()==c2.hashCode()</tt>.
     *
     * @return the hash code value for this collection
     *
     * @see Object#hashCode()
     * @see Object#equals(Object)
     */
    int hashCode();
}


/*
 * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * This exception may be thrown by methods that have detected concurrent
 * modification of an object when such modification is not permissible.
 * <p>
 * For example, it is not generally permissible for one thread to modify a Collection
 * while another thread is iterating over it.  In general, the results of the
 * iteration are undefined under these circumstances.  Some Iterator
 * implementations (including those of all the general purpose collection implementations
 * provided by the JRE) may choose to throw this exception if this behavior is
 * detected.  Iterators that do this are known as <i>fail-fast</i> iterators,
 * as they fail quickly and cleanly, rather that risking arbitrary,
 * non-deterministic behavior at an undetermined time in the future.
 * <p>
 * Note that this exception does not always indicate that an object has
 * been concurrently modified by a <i>different</i> thread.  If a single
 * thread issues a sequence of method invocations that violates the
 * contract of an object, the object may throw this exception.  For
 * example, if a thread modifies a collection directly while it is
 * iterating over the collection with a fail-fast iterator, the iterator
 * will throw this exception.
 *
 * <p>Note that fail-fast behavior cannot be guaranteed as it is, generally
 * speaking, impossible to make any hard guarantees in the presence of
 * unsynchronized concurrent modification.  Fail-fast operations
 * throw <tt>ConcurrentModificationException</tt> on a best-effort basis.
 * Therefore, it would be wrong to write a program that depended on this
 * exception for its correctness: <i><tt>ConcurrentModificationException</tt>
 * should be used only to detect bugs.</i>
 *
 * @author  Josh Bloch
 * @see     Collection
 * @see     Iterator
 * @see     ListIterator
 * @see     Vector
 * @see     LinkedList
 * @see     HashSet
 * @see     Hashtable
 * @see     TreeMap
 * @see     AbstractList
 * @since   1.2
 */
public class ConcurrentModificationException extends RuntimeException {
    /**
     * Constructs a ConcurrentModificationException with no
     * detail message.
     */
    public ConcurrentModificationException() {
    }

    /**
     * Constructs a <tt>ConcurrentModificationException</tt> with the
     * specified detail message.
     *
     * @param message the detail message pertaining to this exception.
     */
    public ConcurrentModificationException(String message) {
        super(message);
    }
}


/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

/*
 * This file is available under and governed by the GNU General Public
 * License version 2 only, as published by the Free Software Foundation.
 * However, the following notice accompanied the original version of this
 * file:
 *
 * Written by Doug Lea and Josh Bloch with assistance from members of
 * JCP JSR-166 Expert Group and released to the public domain, as explained
 * at http://creativecommons.org/licenses/publicdomain
 */

package javaUtilEx;

/**
 * A linear collection that supports element insertion and removal at
 * both ends.  The name <i>deque</i> is short for "double ended queue"
 * and is usually pronounced "deck".  Most <tt>Deque</tt>
 * implementations place no fixed limits on the number of elements
 * they may contain, but this interface supports capacity-restricted
 * deques as well as those with no fixed size limit.
 *
 * <p>This interface defines methods to access the elements at both
 * ends of the deque.  Methods are provided to insert, remove, and
 * examine the element.  Each of these methods exists in two forms:
 * one throws an exception if the operation fails, the other returns a
 * special value (either <tt>null</tt> or <tt>false</tt>, depending on
 * the operation).  The latter form of the insert operation is
 * designed specifically for use with capacity-restricted
 * <tt>Deque</tt> implementations; in most implementations, insert
 * operations cannot fail.
 *
 * <p>The twelve methods described above are summarized in the
 * following table:
 *
 * <p>
 * <table BORDER CELLPADDING=3 CELLSPACING=1>
 *  <tr>
 *    <td></td>
 *    <td ALIGN=CENTER COLSPAN = 2> <b>First Element (Head)</b></td>
 *    <td ALIGN=CENTER COLSPAN = 2> <b>Last Element (Tail)</b></td>
 *  </tr>
 *  <tr>
 *    <td></td>
 *    <td ALIGN=CENTER><em>Throws exception</em></td>
 *    <td ALIGN=CENTER><em>Special value</em></td>
 *    <td ALIGN=CENTER><em>Throws exception</em></td>
 *    <td ALIGN=CENTER><em>Special value</em></td>
 *  </tr>
 *  <tr>
 *    <td><b>Insert</b></td>
 *    <td>{@link #addFirst addFirst(e)}</td>
 *    <td>{@link #offerFirst offerFirst(e)}</td>
 *    <td>{@link #addLast addLast(e)}</td>
 *    <td>{@link #offerLast offerLast(e)}</td>
 *  </tr>
 *  <tr>
 *    <td><b>Remove</b></td>
 *    <td>{@link #removeFirst removeFirst()}</td>
 *    <td>{@link #pollFirst pollFirst()}</td>
 *    <td>{@link #removeLast removeLast()}</td>
 *    <td>{@link #pollLast pollLast()}</td>
 *  </tr>
 *  <tr>
 *    <td><b>Examine</b></td>
 *    <td>{@link #getFirst getFirst()}</td>
 *    <td>{@link #peekFirst peekFirst()}</td>
 *    <td>{@link #getLast getLast()}</td>
 *    <td>{@link #peekLast peekLast()}</td>
 *  </tr>
 * </table>
 *
 * <p>This interface extends the {@link Queue} interface.  When a deque is
 * used as a queue, FIFO (First-In-First-Out) behavior results.  Elements are
 * added at the end of the deque and removed from the beginning.  The methods
 * inherited from the <tt>Queue</tt> interface are precisely equivalent to
 * <tt>Deque</tt> methods as indicated in the following table:
 *
 * <p>
 * <table BORDER CELLPADDING=3 CELLSPACING=1>
 *  <tr>
 *    <td ALIGN=CENTER> <b><tt>Queue</tt> Method</b></td>
 *    <td ALIGN=CENTER> <b>Equivalent <tt>Deque</tt> Method</b></td>
 *  </tr>
 *  <tr>
 *    <td>{@link java.util.Queue#add add(e)}</td>
 *    <td>{@link #addLast addLast(e)}</td>
 *  </tr>
 *  <tr>
 *    <td>{@link java.util.Queue#offer offer(e)}</td>
 *    <td>{@link #offerLast offerLast(e)}</td>
 *  </tr>
 *  <tr>
 *    <td>{@link java.util.Queue#remove remove()}</td>
 *    <td>{@link #removeFirst removeFirst()}</td>
 *  </tr>
 *  <tr>
 *    <td>{@link java.util.Queue#poll poll()}</td>
 *    <td>{@link #pollFirst pollFirst()}</td>
 *  </tr>
 *  <tr>
 *    <td>{@link java.util.Queue#element element()}</td>
 *    <td>{@link #getFirst getFirst()}</td>
 *  </tr>
 *  <tr>
 *    <td>{@link java.util.Queue#peek peek()}</td>
 *    <td>{@link #peek peekFirst()}</td>
 *  </tr>
 * </table>
 *
 * <p>Deques can also be used as LIFO (Last-In-First-Out) stacks.  This
 * interface should be used in preference to the legacy {@link Stack} class.
 * When a deque is used as a stack, elements are pushed and popped from the
 * beginning of the deque.  Stack methods are precisely equivalent to
 * <tt>Deque</tt> methods as indicated in the table below:
 *
 * <p>
 * <table BORDER CELLPADDING=3 CELLSPACING=1>
 *  <tr>
 *    <td ALIGN=CENTER> <b>Stack Method</b></td>
 *    <td ALIGN=CENTER> <b>Equivalent <tt>Deque</tt> Method</b></td>
 *  </tr>
 *  <tr>
 *    <td>{@link #push push(e)}</td>
 *    <td>{@link #addFirst addFirst(e)}</td>
 *  </tr>
 *  <tr>
 *    <td>{@link #pop pop()}</td>
 *    <td>{@link #removeFirst removeFirst()}</td>
 *  </tr>
 *  <tr>
 *    <td>{@link #peek peek()}</td>
 *    <td>{@link #peekFirst peekFirst()}</td>
 *  </tr>
 * </table>
 *
 * <p>Note that the {@link #peek peek} method works equally well when
 * a deque is used as a queue or a stack; in either case, elements are
 * drawn from the beginning of the deque.
 *
 * <p>This interface provides two methods to remove interior
 * elements, {@link #removeFirstOccurrence removeFirstOccurrence} and
 * {@link #removeLastOccurrence removeLastOccurrence}.
 *
 * <p>Unlike the {@link List} interface, this interface does not
 * provide support for indexed access to elements.
 *
 * <p>While <tt>Deque</tt> implementations are not strictly required
 * to prohibit the insertion of null elements, they are strongly
 * encouraged to do so.  Users of any <tt>Deque</tt> implementations
 * that do allow null elements are strongly encouraged <i>not</i> to
 * take advantage of the ability to insert nulls.  This is so because
 * <tt>null</tt> is used as a special return value by various methods
 * to indicated that the deque is empty.
 *
 * <p><tt>Deque</tt> implementations generally do not define
 * element-based versions of the <tt>equals</tt> and <tt>hashCode</tt>
 * methods, but instead inherit the identity-based versions from class
 * <tt>Object</tt>.
 *
 * <p>This interface is a member of the <a
 * href="{@docRoot}/../technotes/guides/collections/index.html"> Java Collections
 * Framework</a>.
 *
 * @author Doug Lea
 * @author Josh Bloch
 * @since  1.6
 * @param <E> the type of elements held in this collection
 */

public interface Deque<E> extends Queue<E> {
    /**
     * Inserts the specified element at the front of this deque if it is
     * possible to do so immediately without violating capacity restrictions.
     * When using a capacity-restricted deque, it is generally preferable to
     * use method {@link #offerFirst}.
     *
     * @param e the element to add
     * @throws IllegalStateException if the element cannot be added at this
     *         time due to capacity restrictions
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this deque
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements
     * @throws IllegalArgumentException if some property of the specified
     *         element prevents it from being added to this deque
     */
    void addFirst(E e);

    /**
     * Inserts the specified element at the end of this deque if it is
     * possible to do so immediately without violating capacity restrictions.
     * When using a capacity-restricted deque, it is generally preferable to
     * use method {@link #offerLast}.
     *
     * <p>This method is equivalent to {@link #add}.
     *
     * @param e the element to add
     * @throws IllegalStateException if the element cannot be added at this
     *         time due to capacity restrictions
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this deque
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements
     * @throws IllegalArgumentException if some property of the specified
     *         element prevents it from being added to this deque
     */
    void addLast(E e);

    /**
     * Inserts the specified element at the front of this deque unless it would
     * violate capacity restrictions.  When using a capacity-restricted deque,
     * this method is generally preferable to the {@link #addFirst} method,
     * which can fail to insert an element only by throwing an exception.
     *
     * @param e the element to add
     * @return <tt>true</tt> if the element was added to this deque, else
     *         <tt>false</tt>
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this deque
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements
     * @throws IllegalArgumentException if some property of the specified
     *         element prevents it from being added to this deque
     */
    boolean offerFirst(E e);

    /**
     * Inserts the specified element at the end of this deque unless it would
     * violate capacity restrictions.  When using a capacity-restricted deque,
     * this method is generally preferable to the {@link #addLast} method,
     * which can fail to insert an element only by throwing an exception.
     *
     * @param e the element to add
     * @return <tt>true</tt> if the element was added to this deque, else
     *         <tt>false</tt>
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this deque
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements
     * @throws IllegalArgumentException if some property of the specified
     *         element prevents it from being added to this deque
     */
    boolean offerLast(E e);

    /**
     * Retrieves and removes the first element of this deque.  This method
     * differs from {@link #pollFirst pollFirst} only in that it throws an
     * exception if this deque is empty.
     *
     * @return the head of this deque
     * @throws NoSuchElementException if this deque is empty
     */
    E removeFirst();

    /**
     * Retrieves and removes the last element of this deque.  This method
     * differs from {@link #pollLast pollLast} only in that it throws an
     * exception if this deque is empty.
     *
     * @return the tail of this deque
     * @throws NoSuchElementException if this deque is empty
     */
    E removeLast();

    /**
     * Retrieves and removes the first element of this deque,
     * or returns <tt>null</tt> if this deque is empty.
     *
     * @return the head of this deque, or <tt>null</tt> if this deque is empty
     */
    E pollFirst();

    /**
     * Retrieves and removes the last element of this deque,
     * or returns <tt>null</tt> if this deque is empty.
     *
     * @return the tail of this deque, or <tt>null</tt> if this deque is empty
     */
    E pollLast();

    /**
     * Retrieves, but does not remove, the first element of this deque.
     *
     * This method differs from {@link #peekFirst peekFirst} only in that it
     * throws an exception if this deque is empty.
     *
     * @return the head of this deque
     * @throws NoSuchElementException if this deque is empty
     */
    E getFirst();

    /**
     * Retrieves, but does not remove, the last element of this deque.
     * This method differs from {@link #peekLast peekLast} only in that it
     * throws an exception if this deque is empty.
     *
     * @return the tail of this deque
     * @throws NoSuchElementException if this deque is empty
     */
    E getLast();

    /**
     * Retrieves, but does not remove, the first element of this deque,
     * or returns <tt>null</tt> if this deque is empty.
     *
     * @return the head of this deque, or <tt>null</tt> if this deque is empty
     */
    E peekFirst();

    /**
     * Retrieves, but does not remove, the last element of this deque,
     * or returns <tt>null</tt> if this deque is empty.
     *
     * @return the tail of this deque, or <tt>null</tt> if this deque is empty
     */
    E peekLast();

    /**
     * Removes the first occurrence of the specified element from this deque.
     * If the deque does not contain the element, it is unchanged.
     * More formally, removes the first element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>
     * (if such an element exists).
     * Returns <tt>true</tt> if this deque contained the specified element
     * (or equivalently, if this deque changed as a result of the call).
     *
     * @param o element to be removed from this deque, if present
     * @return <tt>true</tt> if an element was removed as a result of this call
     * @throws ClassCastException if the class of the specified element
     *         is incompatible with this deque (optional)
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements (optional)
     */
    boolean removeFirstOccurrence(Object o);

    /**
     * Removes the last occurrence of the specified element from this deque.
     * If the deque does not contain the element, it is unchanged.
     * More formally, removes the last element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>
     * (if such an element exists).
     * Returns <tt>true</tt> if this deque contained the specified element
     * (or equivalently, if this deque changed as a result of the call).
     *
     * @param o element to be removed from this deque, if present
     * @return <tt>true</tt> if an element was removed as a result of this call
     * @throws ClassCastException if the class of the specified element
     *         is incompatible with this deque (optional)
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements (optional)
     */
    boolean removeLastOccurrence(Object o);

    // *** Queue methods ***

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

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

    /**
     * Retrieves and removes the head of the queue represented by this deque
     * (in other words, the first element of this deque).
     * This method differs from {@link #poll poll} only in that it throws an
     * exception if this deque is empty.
     *
     * <p>This method is equivalent to {@link #removeFirst()}.
     *
     * @return the head of the queue represented by this deque
     * @throws NoSuchElementException if this deque is empty
     */
    E remove();

    /**
     * Retrieves and removes the head of the queue represented by this deque
     * (in other words, the first element of this deque), or returns
     * <tt>null</tt> if this deque is empty.
     *
     * <p>This method is equivalent to {@link #pollFirst()}.
     *
     * @return the first element of this deque, or <tt>null</tt> if
     *         this deque is empty
     */
    E poll();

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

    /**
     * Retrieves, but does not remove, the head of the queue represented by
     * this deque (in other words, the first element of this deque), or
     * returns <tt>null</tt> if this deque is empty.
     *
     * <p>This method is equivalent to {@link #peekFirst()}.
     *
     * @return the head of the queue represented by this deque, or
     *         <tt>null</tt> if this deque is empty
     */
    E peek();


    // *** Stack methods ***

    /**
     * Pushes an element onto the stack represented by this deque (in other
     * words, at the head of this deque) if it is possible to do so
     * immediately without violating capacity restrictions, returning
     * <tt>true</tt> upon success and throwing an
     * <tt>IllegalStateException</tt> if no space is currently available.
     *
     * <p>This method is equivalent to {@link #addFirst}.
     *
     * @param e the element to push
     * @throws IllegalStateException if the element cannot be added at this
     *         time due to capacity restrictions
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this deque
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements
     * @throws IllegalArgumentException if some property of the specified
     *         element prevents it from being added to this deque
     */
    void push(E e);

    /**
     * Pops an element from the stack represented by this deque.  In other
     * words, removes and returns the first element of this deque.
     *
     * <p>This method is equivalent to {@link #removeFirst()}.
     *
     * @return the element at the front of this deque (which is the top
     *         of the stack represented by this deque)
     * @throws NoSuchElementException if this deque is empty
     */
    E pop();


    // *** Collection methods ***

    /**
     * Removes the first occurrence of the specified element from this deque.
     * If the deque does not contain the element, it is unchanged.
     * More formally, removes the first element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>
     * (if such an element exists).
     * Returns <tt>true</tt> if this deque contained the specified element
     * (or equivalently, if this deque changed as a result of the call).
     *
     * <p>This method is equivalent to {@link #removeFirstOccurrence}.
     *
     * @param o element to be removed from this deque, if present
     * @return <tt>true</tt> if an element was removed as a result of this call
     * @throws ClassCastException if the class of the specified element
     *         is incompatible with this deque (optional)
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements (optional)
     */
    boolean remove(Object o);

    /**
     * Returns <tt>true</tt> if this deque contains the specified element.
     * More formally, returns <tt>true</tt> if and only if this deque contains
     * at least one element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>.
     *
     * @param o element whose presence in this deque is to be tested
     * @return <tt>true</tt> if this deque contains the specified element
     * @throws ClassCastException if the type of the specified element
     *         is incompatible with this deque (optional)
     * @throws NullPointerException if the specified element is null and this
     *         deque does not permit null elements (optional)
     */
    boolean contains(Object o);

    /**
     * Returns the number of elements in this deque.
     *
     * @return the number of elements in this deque
     */
    public int size();

    /**
     * Returns an iterator over the elements in this deque in proper sequence.
     * The elements will be returned in order from first (head) to last (tail).
     *
     * @return an iterator over the elements in this deque in proper sequence
     */
    Iterator<E> iterator();

    /**
     * Returns an iterator over the elements in this deque in reverse
     * sequential order.  The elements will be returned in order from
     * last (tail) to first (head).
     *
     * @return an iterator over the elements in this deque in reverse
     * sequence
     */
    Iterator<E> descendingIterator();

}


/*
 * Copyright 1994-2003 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * Thrown to indicate that a method has been passed an illegal or
 * inappropriate argument.
 *
 * @author  unascribed
 * @see     java.lang.Thread#setPriority(int)
 * @since   JDK1.0
 */
public
class IllegalArgumentException extends RuntimeException {
    /**
     * Constructs an <code>IllegalArgumentException</code> with no
     * detail message.
     */
    public IllegalArgumentException() {
        super();
    }

    /**
     * Constructs an <code>IllegalArgumentException</code> with the
     * specified detail message.
     *
     * @param   s   the detail message.
     */
    public IllegalArgumentException(String s) {
        super(s);
    }

    /**
     * Constructs a new exception with the specified detail message and
     * cause.
     *
     * <p>Note that the detail message associated with <code>cause</code> is
     * <i>not</i> automatically incorporated in this exception's detail
     * message.
     *
     * @param  message the detail message (which is saved for later retrieval
     *         by the {@link Throwable#getMessage()} method).
     * @param  cause the cause (which is saved for later retrieval by the
     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value
     *         is permitted, and indicates that the cause is nonexistent or
     *         unknown.)
     * @since 1.5
     */
    public IllegalArgumentException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Constructs a new exception with the specified cause and a detail
     * message of <tt>(cause==null ? null : cause.toString())</tt> (which
     * typically contains the class and detail message of <tt>cause</tt>).
     * This constructor is useful for exceptions that are little more than
     * wrappers for other throwables (for example, {@link
     * java.security.PrivilegedActionException}).
     *
     * @param  cause the cause (which is saved for later retrieval by the
     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value is
     *         permitted, and indicates that the cause is nonexistent or
     *         unknown.)
     * @since  1.5
     */
    public IllegalArgumentException(Throwable cause) {
        super(cause);
    }

    private static final long serialVersionUID = -5365630128856068164L;
}


/*
 * Copyright 1996-2003 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * Signals that a method has been invoked at an illegal or
 * inappropriate time.  In other words, the Java environment or
 * Java application is not in an appropriate state for the requested
 * operation.
 *
 * @author  Jonni Kanerva
 * @since   JDK1.1
 */
public
class IllegalStateException extends RuntimeException {
    /**
     * Constructs an IllegalStateException with no detail message.
     * A detail message is a String that describes this particular exception.
     */
    public IllegalStateException() {
        super();
    }

    /**
     * Constructs an IllegalStateException with the specified detail
     * message.  A detail message is a String that describes this particular
     * exception.
     *
     * @param s the String that contains a detailed message
     */
    public IllegalStateException(String s) {
        super(s);
    }

    /**
     * Constructs a new exception with the specified detail message and
     * cause.
     *
     * <p>Note that the detail message associated with <code>cause</code> is
     * <i>not</i> automatically incorporated in this exception's detail
     * message.
     *
     * @param  message the detail message (which is saved for later retrieval
     *         by the {@link Throwable#getMessage()} method).
     * @param  cause the cause (which is saved for later retrieval by the
     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value
     *         is permitted, and indicates that the cause is nonexistent or
     *         unknown.)
     * @since 1.5
     */
    public IllegalStateException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Constructs a new exception with the specified cause and a detail
     * message of <tt>(cause==null ? null : cause.toString())</tt> (which
     * typically contains the class and detail message of <tt>cause</tt>).
     * This constructor is useful for exceptions that are little more than
     * wrappers for other throwables (for example, {@link
     * java.security.PrivilegedActionException}).
     *
     * @param  cause the cause (which is saved for later retrieval by the
     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value is
     *         permitted, and indicates that the cause is nonexistent or
     *         unknown.)
     * @since  1.5
     */
    public IllegalStateException(Throwable cause) {
        super(cause);
    }

    static final long serialVersionUID = -1848914673093119416L;
}


/*
 * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * An iterator over a collection.  {@code Iterator} takes the place of
 * {@link Enumeration} in the Java Collections Framework.  Iterators
 * differ from enumerations in two ways:
 *
 * <ul>
 *      <li> Iterators allow the caller to remove elements from the
 *           underlying collection during the iteration with well-defined
 *           semantics.
 *      <li> Method names have been improved.
 * </ul>
 *
 * <p>This interface is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @see Collection
 * @see ListIterator
 * @see Iterable
 * @since 1.2
 */
public interface Iterator<E> {
    /**
     * Returns {@code true} if the iteration has more elements.
     * (In other words, returns {@code true} if {@link #next} would
     * return an element rather than throwing an exception.)
     *
     * @return {@code true} if the iteration has more elements
     */
    boolean hasNext();

    /**
     * Returns the next element in the iteration.
     *
     * @return the next element in the iteration
     * @throws NoSuchElementException if the iteration has no more elements
     */
    E next();

    /**
     * Removes from the underlying collection the last element returned
     * by this iterator (optional operation).  This method can be called
     * only once per call to {@link #next}.  The behavior of an iterator
     * is unspecified if the underlying collection is modified while the
     * iteration is in progress in any way other than by calling this
     * method.
     *
     * @throws UnsupportedOperationException if the {@code remove}
     *         operation is not supported by this iterator
     *
     * @throws IllegalStateException if the {@code next} method has not
     *         yet been called, or the {@code remove} method has already
     *         been called after the last call to the {@code next}
     *         method
     */
    void remove();
}


package javaUtilEx;

public class juLinkedListCreateOfferLast {
    public static void main(int i, int j) {

		LinkedList<Content> l = createList(i);
		l.offerLast(new Content(j));
	}

	public static LinkedList<Content> createList(int n) {
		LinkedList<Content> l = new LinkedList<Content>();
		while (n > 0) {
			l.addLast(new Content(n));
			n--;
		}
		return l;
	}
}

final class Content {
	int val;

	public Content(int v) {
		this.val = v;
	}

	public int hashCode() {
		return val^31;
	}

	public boolean equals(Object o) {
		if (o instanceof Content) {
			return this.val == ((Content) o).val;
		}
		return false;
	}
}


/*
 * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * Linked list implementation of the <tt>List</tt> interface.  Implements all
 * optional list operations, and permits all elements (including
 * <tt>null</tt>).  In addition to implementing the <tt>List</tt> interface,
 * the <tt>LinkedList</tt> class provides uniformly named methods to
 * <tt>get</tt>, <tt>remove</tt> and <tt>insert</tt> an element at the
 * beginning and end of the list.  These operations allow linked lists to be
 * used as a stack, {@linkplain Queue queue}, or {@linkplain Deque
 * double-ended queue}. <p>
 *
 * The class implements the <tt>Deque</tt> interface, providing
 * first-in-first-out queue operations for <tt>add</tt>,
 * <tt>poll</tt>, along with other stack and deque operations.<p>
 *
 * All of the operations perform as could be expected for a doubly-linked
 * list.  Operations that index into the list will traverse the list from
 * the beginning or the end, whichever is closer to the specified index.<p>
 *
 * <p><strong>Note that this implementation is not synchronized.</strong>
 * If multiple threads access a linked list concurrently, and at least
 * one of the threads modifies the list structurally, it <i>must</i> be
 * synchronized externally.  (A structural modification is any operation
 * that adds or deletes one or more elements; merely setting the value of
 * an element is not a structural modification.)  This is typically
 * accomplished by synchronizing on some object that naturally
 * encapsulates the list.
 *
 * If no such object exists, the list should be "wrapped" using the
 * {@link Collections#synchronizedList Collections.synchronizedList}
 * method.  This is best done at creation time, to prevent accidental
 * unsynchronized access to the list:<pre>
 *   List list = Collections.synchronizedList(new LinkedList(...));</pre>
 *
 * <p>The iterators returned by this class's <tt>iterator</tt> and
 * <tt>listIterator</tt> methods are <i>fail-fast</i>: if the list is
 * structurally modified at any time after the iterator is created, in
 * any way except through the Iterator's own <tt>remove</tt> or
 * <tt>add</tt> methods, the iterator will throw a {@link
 * ConcurrentModificationException}.  Thus, in the face of concurrent
 * modification, the iterator fails quickly and cleanly, rather than
 * risking arbitrary, non-deterministic behavior at an undetermined
 * time in the future.
 *
 * <p>Note that the fail-fast behavior of an iterator cannot be guaranteed
 * as it is, generally speaking, impossible to make any hard guarantees in the
 * presence of unsynchronized concurrent modification.  Fail-fast iterators
 * throw <tt>ConcurrentModificationException</tt> on a best-effort basis.
 * Therefore, it would be wrong to write a program that depended on this
 * exception for its correctness:   <i>the fail-fast behavior of iterators
 * should be used only to detect bugs.</i>
 *
 * <p>This class is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @see     List
 * @see     ArrayList
 * @see     Vector
 * @since 1.2
 * @param <E> the type of elements held in this collection
 */

public class LinkedList<E>
    extends AbstractSequentialList<E>
    implements List<E>, Deque<E>
{
    private transient Entry<E> header = new Entry<E>(null, null, null);
    private transient int size = 0;

    /**
     * Constructs an empty list.
     */
    public LinkedList() {
        header.next = header.previous = header;
    }

    /**
     * Constructs a list containing the elements of the specified
     * collection, in the order they are returned by the collection's
     * iterator.
     *
     * @param  c the collection whose elements are to be placed into this list
     * @throws NullPointerException if the specified collection is null
     */
    public LinkedList(Collection<? extends E> c) {
        this();
        addAll(c);
    }

    /**
     * Returns the first element in this list.
     *
     * @return the first element in this list
     * @throws NoSuchElementException if this list is empty
     */
    public E getFirst() {
        if (size==0)
            throw new NoSuchElementException();

        return header.next.element;
    }

    /**
     * Returns the last element in this list.
     *
     * @return the last element in this list
     * @throws NoSuchElementException if this list is empty
     */
    public E getLast()  {
        if (size==0)
            throw new NoSuchElementException();

        return header.previous.element;
    }

    /**
     * Removes and returns the first element from this list.
     *
     * @return the first element from this list
     * @throws NoSuchElementException if this list is empty
     */
    public E removeFirst() {
        return remove(header.next);
    }

    /**
     * Removes and returns the last element from this list.
     *
     * @return the last element from this list
     * @throws NoSuchElementException if this list is empty
     */
    public E removeLast() {
        return remove(header.previous);
    }

    /**
     * Inserts the specified element at the beginning of this list.
     *
     * @param e the element to add
     */
    public void addFirst(E e) {
        addBefore(e, header.next);
    }

    /**
     * Appends the specified element to the end of this list.
     *
     * <p>This method is equivalent to {@link #add}.
     *
     * @param e the element to add
     */
    public void addLast(E e) {
        addBefore(e, header);
    }

    /**
     * Returns <tt>true</tt> if this list contains the specified element.
     * More formally, returns <tt>true</tt> if and only if this list contains
     * at least one element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>.
     *
     * @param o element whose presence in this list is to be tested
     * @return <tt>true</tt> if this list contains the specified element
     */
    public boolean contains(Object o) {
        return indexOf(o) != -1;
    }

    /**
     * Returns the number of elements in this list.
     *
     * @return the number of elements in this list
     */
    public int size() {
        return size;
    }

    /**
     * Appends the specified element to the end of this list.
     *
     * <p>This method is equivalent to {@link #addLast}.
     *
     * @param e element to be appended to this list
     * @return <tt>true</tt> (as specified by {@link Collection#add})
     */
    public boolean add(E e) {
        addBefore(e, header);
        return true;
    }

    /**
     * Removes the first occurrence of the specified element from this list,
     * if it is present.  If this list does not contain the element, it is
     * unchanged.  More formally, removes the element with the lowest index
     * <tt>i</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;get(i)==null&nbsp;:&nbsp;o.equals(get(i)))</tt>
     * (if such an element exists).  Returns <tt>true</tt> if this list
     * contained the specified element (or equivalently, if this list
     * changed as a result of the call).
     *
     * @param o element to be removed from this list, if present
     * @return <tt>true</tt> if this list contained the specified element
     */
    public boolean remove(Object o) {
        if (o==null) {
            for (Entry<E> e = header.next; e != header; e = e.next) {
                if (e.element==null) {
                    remove(e);
                    return true;
                }
            }
        } else {
            for (Entry<E> e = header.next; e != header; e = e.next) {
                if (o.equals(e.element)) {
                    remove(e);
                    return true;
                }
            }
        }
        return false;
    }
    /**
     * Removes all of the elements from this list.
     */
    public void clear() {
        Entry<E> e = header.next;
        while (e != header) {
            Entry<E> next = e.next;
            e.next = e.previous = null;
            e.element = null;
            e = next;
        }
        header.next = header.previous = header;
        size = 0;
        modCount++;
    }


    // Positional Access Operations

    /**
     * Returns the element at the specified position in this list.
     *
     * @param index index of the element to return
     * @return the element at the specified position in this list
     * @throws IndexOutOfBoundsException {@inheritDoc}
     */
    public E get(int index) {
        return entry(index).element;
    }

    /**
     * Replaces the element at the specified position in this list with the
     * specified element.
     *
     * @param index index of the element to replace
     * @param element element to be stored at the specified position
     * @return the element previously at the specified position
     * @throws IndexOutOfBoundsException {@inheritDoc}
     */
    public E set(int index, E element) {
        Entry<E> e = entry(index);
        E oldVal = e.element;
        e.element = element;
        return oldVal;
    }

    /**
     * Inserts the specified element at the specified position in this list.
     * Shifts the element currently at that position (if any) and any
     * subsequent elements to the right (adds one to their indices).
     *
     * @param index index at which the specified element is to be inserted
     * @param element element to be inserted
     * @throws IndexOutOfBoundsException {@inheritDoc}
     */
    public void add(int index, E element) {
        addBefore(element, (index==size ? header : entry(index)));
    }

    /**
     * Removes the element at the specified position in this list.  Shifts any
     * subsequent elements to the left (subtracts one from their indices).
     * Returns the element that was removed from the list.
     *
     * @param index the index of the element to be removed
     * @return the element previously at the specified position
     * @throws IndexOutOfBoundsException {@inheritDoc}
     */
    public E remove(int index) {
        return remove(entry(index));
    }

    /**
     * Returns the indexed entry.
     */
    private Entry<E> entry(int index) {
        if (index < 0 || index >= size)
            throw new IndexOutOfBoundsException();
        Entry<E> e = header;
        if (index < (size >> 1)) {
            for (int i = 0; i <= index; i++)
                e = e.next;
        } else {
            for (int i = size; i > index; i--)
                e = e.previous;
        }
        return e;
    }


    // Search Operations

    /**
     * Returns the index of the first occurrence of the specified element
     * in this list, or -1 if this list does not contain the element.
     * More formally, returns the lowest index <tt>i</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;get(i)==null&nbsp;:&nbsp;o.equals(get(i)))</tt>,
     * or -1 if there is no such index.
     *
     * @param o element to search for
     * @return the index of the first occurrence of the specified element in
     *         this list, or -1 if this list does not contain the element
     */
    public int indexOf(Object o) {
        int index = 0;
        if (o==null) {
            for (Entry e = header.next; e != header; e = e.next) {
                if (e.element==null)
                    return index;
                index++;
            }
        } else {
            for (Entry e = header.next; e != header; e = e.next) {
                if (o.equals(e.element))
                    return index;
                index++;
            }
        }
        return -1;
    }

    /**
     * Returns the index of the last occurrence of the specified element
     * in this list, or -1 if this list does not contain the element.
     * More formally, returns the highest index <tt>i</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;get(i)==null&nbsp;:&nbsp;o.equals(get(i)))</tt>,
     * or -1 if there is no such index.
     *
     * @param o element to search for
     * @return the index of the last occurrence of the specified element in
     *         this list, or -1 if this list does not contain the element
     */
    public int lastIndexOf(Object o) {
        int index = size;
        if (o==null) {
            for (Entry e = header.previous; e != header; e = e.previous) {
                index--;
                if (e.element==null)
                    return index;
            }
        } else {
            for (Entry e = header.previous; e != header; e = e.previous) {
                index--;
                if (o.equals(e.element))
                    return index;
            }
        }
        return -1;
    }

    // Queue operations.

    /**
     * Retrieves, but does not remove, the head (first element) of this list.
     * @return the head of this list, or <tt>null</tt> if this list is empty
     * @since 1.5
     */
    public E peek() {
        if (size==0)
            return null;
        return getFirst();
    }

    /**
     * Retrieves, but does not remove, the head (first element) of this list.
     * @return the head of this list
     * @throws NoSuchElementException if this list is empty
     * @since 1.5
     */
    public E element() {
        return getFirst();
    }

    /**
     * Retrieves and removes the head (first element) of this list
     * @return the head of this list, or <tt>null</tt> if this list is empty
     * @since 1.5
     */
    public E poll() {
        if (size==0)
            return null;
        return removeFirst();
    }

    /**
     * Retrieves and removes the head (first element) of this list.
     *
     * @return the head of this list
     * @throws NoSuchElementException if this list is empty
     * @since 1.5
     */
    public E remove() {
        return removeFirst();
    }

    /**
     * Adds the specified element as the tail (last element) of this list.
     *
     * @param e the element to add
     * @return <tt>true</tt> (as specified by {@link Queue#offer})
     * @since 1.5
     */
    public boolean offer(E e) {
        return add(e);
    }

    // Deque operations
    /**
     * Inserts the specified element at the front of this list.
     *
     * @param e the element to insert
     * @return <tt>true</tt> (as specified by {@link Deque#offerFirst})
     * @since 1.6
     */
    public boolean offerFirst(E e) {
        addFirst(e);
        return true;
    }

    /**
     * Inserts the specified element at the end of this list.
     *
     * @param e the element to insert
     * @return <tt>true</tt> (as specified by {@link Deque#offerLast})
     * @since 1.6
     */
    public boolean offerLast(E e) {
        addLast(e);
        return true;
    }

    /**
     * Retrieves, but does not remove, the first element of this list,
     * or returns <tt>null</tt> if this list is empty.
     *
     * @return the first element of this list, or <tt>null</tt>
     *         if this list is empty
     * @since 1.6
     */
    public E peekFirst() {
        if (size==0)
            return null;
        return getFirst();
    }

    /**
     * Retrieves, but does not remove, the last element of this list,
     * or returns <tt>null</tt> if this list is empty.
     *
     * @return the last element of this list, or <tt>null</tt>
     *         if this list is empty
     * @since 1.6
     */
    public E peekLast() {
        if (size==0)
            return null;
        return getLast();
    }

    /**
     * Retrieves and removes the first element of this list,
     * or returns <tt>null</tt> if this list is empty.
     *
     * @return the first element of this list, or <tt>null</tt> if
     *     this list is empty
     * @since 1.6
     */
    public E pollFirst() {
        if (size==0)
            return null;
        return removeFirst();
    }

    /**
     * Retrieves and removes the last element of this list,
     * or returns <tt>null</tt> if this list is empty.
     *
     * @return the last element of this list, or <tt>null</tt> if
     *     this list is empty
     * @since 1.6
     */
    public E pollLast() {
        if (size==0)
            return null;
        return removeLast();
    }

    /**
     * Pushes an element onto the stack represented by this list.  In other
     * words, inserts the element at the front of this list.
     *
     * <p>This method is equivalent to {@link #addFirst}.
     *
     * @param e the element to push
     * @since 1.6
     */
    public void push(E e) {
        addFirst(e);
    }

    /**
     * Pops an element from the stack represented by this list.  In other
     * words, removes and returns the first element of this list.
     *
     * <p>This method is equivalent to {@link #removeFirst()}.
     *
     * @return the element at the front of this list (which is the top
     *         of the stack represented by this list)
     * @throws NoSuchElementException if this list is empty
     * @since 1.6
     */
    public E pop() {
        return removeFirst();
    }

    /**
     * Removes the first occurrence of the specified element in this
     * list (when traversing the list from head to tail).  If the list
     * does not contain the element, it is unchanged.
     *
     * @param o element to be removed from this list, if present
     * @return <tt>true</tt> if the list contained the specified element
     * @since 1.6
     */
    public boolean removeFirstOccurrence(Object o) {
        return remove(o);
    }

    /**
     * Removes the last occurrence of the specified element in this
     * list (when traversing the list from head to tail).  If the list
     * does not contain the element, it is unchanged.
     *
     * @param o element to be removed from this list, if present
     * @return <tt>true</tt> if the list contained the specified element
     * @since 1.6
     */
    public boolean removeLastOccurrence(Object o) {
        if (o==null) {
            for (Entry<E> e = header.previous; e != header; e = e.previous) {
                if (e.element==null) {
                    remove(e);
                    return true;
                }
            }
        } else {
            for (Entry<E> e = header.previous; e != header; e = e.previous) {
                if (o.equals(e.element)) {
                    remove(e);
                    return true;
                }
            }
        }
        return false;
    }

    /**
     * Returns a list-iterator of the elements in this list (in proper
     * sequence), starting at the specified position in the list.
     * Obeys the general contract of <tt>List.listIterator(int)</tt>.<p>
     *
     * The list-iterator is <i>fail-fast</i>: if the list is structurally
     * modified at any time after the Iterator is created, in any way except
     * through the list-iterator's own <tt>remove</tt> or <tt>add</tt>
     * methods, the list-iterator will throw a
     * <tt>ConcurrentModificationException</tt>.  Thus, in the face of
     * concurrent modification, the iterator fails quickly and cleanly, rather
     * than risking arbitrary, non-deterministic behavior at an undetermined
     * time in the future.
     *
     * @param index index of the first element to be returned from the
     *              list-iterator (by a call to <tt>next</tt>)
     * @return a ListIterator of the elements in this list (in proper
     *         sequence), starting at the specified position in the list
     * @throws IndexOutOfBoundsException {@inheritDoc}
     * @see List#listIterator(int)
     */
    public ListIterator<E> listIterator(int index) {
        return new ListItr(index);
    }

    private class ListItr implements ListIterator<E> {
        private Entry<E> lastReturned = header;
        private Entry<E> next;
        private int nextIndex;
        private int expectedModCount = modCount;

        ListItr(int index) {
            if (index < 0 || index > size)
                throw new IndexOutOfBoundsException();
            if (index < (size >> 1)) {
                next = header.next;
                for (nextIndex=0; nextIndex<index; nextIndex++)
                    next = next.next;
            } else {
                next = header;
                for (nextIndex=size; nextIndex>index; nextIndex--)
                    next = next.previous;
            }
        }

        public boolean hasNext() {
            return nextIndex != size;
        }

        public E next() {
            checkForComodification();
            if (nextIndex == size)
                throw new NoSuchElementException();

            lastReturned = next;
            next = next.next;
            nextIndex++;
            return lastReturned.element;
        }

        public boolean hasPrevious() {
            return nextIndex != 0;
        }

        public E previous() {
            if (nextIndex == 0)
                throw new NoSuchElementException();

            lastReturned = next = next.previous;
            nextIndex--;
            checkForComodification();
            return lastReturned.element;
        }

        public int nextIndex() {
            return nextIndex;
        }

        public int previousIndex() {
            return nextIndex-1;
        }

        public void remove() {
            checkForComodification();
            Entry<E> lastNext = lastReturned.next;
            try {
                LinkedList.this.remove(lastReturned);
            } catch (NoSuchElementException e) {
                throw new IllegalStateException();
            }
            if (next==lastReturned)
                next = lastNext;
            else
                nextIndex--;
            lastReturned = header;
            expectedModCount++;
        }

        public void set(E e) {
            if (lastReturned == header)
                throw new IllegalStateException();
            checkForComodification();
            lastReturned.element = e;
        }

        public void add(E e) {
            checkForComodification();
            lastReturned = header;
            addBefore(e, next);
            nextIndex++;
            expectedModCount++;
        }

        final void checkForComodification() {
            if (modCount != expectedModCount)
                throw new ConcurrentModificationException();
        }
    }

    private static class Entry<E> {
        E element;
        Entry<E> next;
        Entry<E> previous;

        Entry(E element, Entry<E> next, Entry<E> previous) {
            this.element = element;
            this.next = next;
            this.previous = previous;
        }
    }

    private Entry<E> addBefore(E e, Entry<E> entry) {
        Entry<E> newEntry = new Entry<E>(e, entry, entry.previous);
        newEntry.previous.next = newEntry;
        newEntry.next.previous = newEntry;
        size++;
        modCount++;
        return newEntry;
    }

    private E remove(Entry<E> e) {
        if (e == header)
            throw new NoSuchElementException();

        E result = e.element;
        e.previous.next = e.next;
        e.next.previous = e.previous;
        e.next = e.previous = null;
        e.element = null;
        size--;
        modCount++;
        return result;
    }

    /**
     * @since 1.6
     */
    public Iterator<E> descendingIterator() {
        return new DescendingIterator();
    }

    /** Adapter to provide descending iterators via ListItr.previous */
    private class DescendingIterator implements Iterator {
        final ListItr itr = new ListItr(size());
        public boolean hasNext() {
            return itr.hasPrevious();
        }
        public E next() {
            return itr.previous();
        }
        public void remove() {
            itr.remove();
        }
    }

    /**
     * Returns an array containing all of the elements in this list
     * in proper sequence (from first to last element).
     *
     * <p>The returned array will be "safe" in that no references to it are
     * maintained by this list.  (In other words, this method must allocate
     * a new array).  The caller is thus free to modify the returned array.
     *
     * <p>This method acts as bridge between array-based and collection-based
     * APIs.
     *
     * @return an array containing all of the elements in this list
     *         in proper sequence
     */
    public Object[] toArray() {
        Object[] result = new Object[size];
        int i = 0;
        for (Entry<E> e = header.next; e != header; e = e.next)
            result[i++] = e.element;
        return result;
    }

    private static final long serialVersionUID = 876323262645176354L;
}


/*
 * Copyright 1997-2007 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * An iterator for lists that allows the programmer
 * to traverse the list in either direction, modify
 * the list during iteration, and obtain the iterator's
 * current position in the list. A {@code ListIterator}
 * has no current element; its <I>cursor position</I> always
 * lies between the element that would be returned by a call
 * to {@code previous()} and the element that would be
 * returned by a call to {@code next()}.
 * An iterator for a list of length {@code n} has {@code n+1} possible
 * cursor positions, as illustrated by the carets ({@code ^}) below:
 * <PRE>
 *                      Element(0)   Element(1)   Element(2)   ... Element(n-1)
 * cursor positions:  ^            ^            ^            ^                  ^
 * </PRE>
 * Note that the {@link #remove} and {@link #set(Object)} methods are
 * <i>not</i> defined in terms of the cursor position;  they are defined to
 * operate on the last element returned by a call to {@link #next} or
 * {@link #previous()}.
 *
 * <p>This interface is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @see Collection
 * @see List
 * @see Iterator
 * @see Enumeration
 * @see List#listIterator()
 * @since   1.2
 */
public interface ListIterator<E> extends Iterator<E> {
    // Query Operations

    /**
     * Returns {@code true} if this list iterator has more elements when
     * traversing the list in the forward direction. (In other words,
     * returns {@code true} if {@link #next} would return an element rather
     * than throwing an exception.)
     *
     * @return {@code true} if the list iterator has more elements when
     *         traversing the list in the forward direction
     */
    boolean hasNext();

    /**
     * Returns the next element in the list and advances the cursor position.
     * This method may be called repeatedly to iterate through the list,
     * or intermixed with calls to {@link #previous} to go back and forth.
     * (Note that alternating calls to {@code next} and {@code previous}
     * will return the same element repeatedly.)
     *
     * @return the next element in the list
     * @throws NoSuchElementException if the iteration has no next element
     */
    E next();

    /**
     * Returns {@code true} if this list iterator has more elements when
     * traversing the list in the reverse direction.  (In other words,
     * returns {@code true} if {@link #previous} would return an element
     * rather than throwing an exception.)
     *
     * @return {@code true} if the list iterator has more elements when
     *         traversing the list in the reverse direction
     */
    boolean hasPrevious();

    /**
     * Returns the previous element in the list and moves the cursor
     * position backwards.  This method may be called repeatedly to
     * iterate through the list backwards, or intermixed with calls to
     * {@link #next} to go back and forth.  (Note that alternating calls
     * to {@code next} and {@code previous} will return the same
     * element repeatedly.)
     *
     * @return the previous element in the list
     * @throws NoSuchElementException if the iteration has no previous
     *         element
     */
    E previous();

    /**
     * Returns the index of the element that would be returned by a
     * subsequent call to {@link #next}. (Returns list size if the list
     * iterator is at the end of the list.)
     *
     * @return the index of the element that would be returned by a
     *         subsequent call to {@code next}, or list size if the list
     *         iterator is at the end of the list
     */
    int nextIndex();

    /**
     * Returns the index of the element that would be returned by a
     * subsequent call to {@link #previous}. (Returns -1 if the list
     * iterator is at the beginning of the list.)
     *
     * @return the index of the element that would be returned by a
     *         subsequent call to {@code previous}, or -1 if the list
     *         iterator is at the beginning of the list
     */
    int previousIndex();


    // Modification Operations

    /**
     * Removes from the list the last element that was returned by {@link
     * #next} or {@link #previous} (optional operation).  This call can
     * only be made once per call to {@code next} or {@code previous}.
     * It can be made only if {@link #add} has not been
     * called after the last call to {@code next} or {@code previous}.
     *
     * @throws UnsupportedOperationException if the {@code remove}
     *         operation is not supported by this list iterator
     * @throws IllegalStateException if neither {@code next} nor
     *         {@code previous} have been called, or {@code remove} or
     *         {@code add} have been called after the last call to
     *         {@code next} or {@code previous}
     */
    void remove();

    /**
     * Replaces the last element returned by {@link #next} or
     * {@link #previous} with the specified element (optional operation).
     * This call can be made only if neither {@link #remove} nor {@link
     * #add} have been called after the last call to {@code next} or
     * {@code previous}.
     *
     * @param e the element with which to replace the last element returned by
     *          {@code next} or {@code previous}
     * @throws UnsupportedOperationException if the {@code set} operation
     *         is not supported by this list iterator
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this list
     * @throws IllegalArgumentException if some aspect of the specified
     *         element prevents it from being added to this list
     * @throws IllegalStateException if neither {@code next} nor
     *         {@code previous} have been called, or {@code remove} or
     *         {@code add} have been called after the last call to
     *         {@code next} or {@code previous}
     */
    void set(E e);

    /**
     * Inserts the specified element into the list (optional operation).
     * The element is inserted immediately before the next element that
     * would be returned by {@link #next}, if any, and after the next
     * element that would be returned by {@link #previous}, if any.  (If the
     * list contains no elements, the new element becomes the sole element
     * on the list.)  The new element is inserted before the implicit
     * cursor: a subsequent call to {@code next} would be unaffected, and a
     * subsequent call to {@code previous} would return the new element.
     * (This call increases by one the value that would be returned by a
     * call to {@code nextIndex} or {@code previousIndex}.)
     *
     * @param e the element to insert
     * @throws UnsupportedOperationException if the {@code add} method is
     *         not supported by this list iterator
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this list
     * @throws IllegalArgumentException if some aspect of this element
     *         prevents it from being added to this list
     */
    void add(E e);
}


/*
 * Copyright 1997-2007 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * An ordered collection (also known as a <i>sequence</i>).  The user of this
 * interface has precise control over where in the list each element is
 * inserted.  The user can access elements by their integer index (position in
 * the list), and search for elements in the list.<p>
 *
 * Unlike sets, lists typically allow duplicate elements.  More formally,
 * lists typically allow pairs of elements <tt>e1</tt> and <tt>e2</tt>
 * such that <tt>e1.equals(e2)</tt>, and they typically allow multiple
 * null elements if they allow null elements at all.  It is not inconceivable
 * that someone might wish to implement a list that prohibits duplicates, by
 * throwing runtime exceptions when the user attempts to insert them, but we
 * expect this usage to be rare.<p>
 *
 * The <tt>List</tt> interface places additional stipulations, beyond those
 * specified in the <tt>Collection</tt> interface, on the contracts of the
 * <tt>iterator</tt>, <tt>add</tt>, <tt>remove</tt>, <tt>equals</tt>, and
 * <tt>hashCode</tt> methods.  Declarations for other inherited methods are
 * also included here for convenience.<p>
 *
 * The <tt>List</tt> interface provides four methods for positional (indexed)
 * access to list elements.  Lists (like Java arrays) are zero based.  Note
 * that these operations may execute in time proportional to the index value
 * for some implementations (the <tt>LinkedList</tt> class, for
 * example). Thus, iterating over the elements in a list is typically
 * preferable to indexing through it if the caller does not know the
 * implementation.<p>
 *
 * The <tt>List</tt> interface provides a special iterator, called a
 * <tt>ListIterator</tt>, that allows element insertion and replacement, and
 * bidirectional access in addition to the normal operations that the
 * <tt>Iterator</tt> interface provides.  A method is provided to obtain a
 * list iterator that starts at a specified position in the list.<p>
 *
 * The <tt>List</tt> interface provides two methods to search for a specified
 * object.  From a performance standpoint, these methods should be used with
 * caution.  In many implementations they will perform costly linear
 * searches.<p>
 *
 * The <tt>List</tt> interface provides two methods to efficiently insert and
 * remove multiple elements at an arbitrary point in the list.<p>
 *
 * Note: While it is permissible for lists to contain themselves as elements,
 * extreme caution is advised: the <tt>equals</tt> and <tt>hashCode</tt>
 * methods are no longer well defined on such a list.
 *
 * <p>Some list implementations have restrictions on the elements that
 * they may contain.  For example, some implementations prohibit null elements,
 * and some have restrictions on the types of their elements.  Attempting to
 * add an ineligible element throws an unchecked exception, typically
 * <tt>NullPointerException</tt> or <tt>ClassCastException</tt>.  Attempting
 * to query the presence of an ineligible element may throw an exception,
 * or it may simply return false; some implementations will exhibit the former
 * behavior and some will exhibit the latter.  More generally, attempting an
 * operation on an ineligible element whose completion would not result in
 * the insertion of an ineligible element into the list may throw an
 * exception or it may succeed, at the option of the implementation.
 * Such exceptions are marked as "optional" in the specification for this
 * interface.
 *
 * <p>This interface is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @author  Neal Gafter
 * @see Collection
 * @see Set
 * @see ArrayList
 * @see LinkedList
 * @see Vector
 * @see Arrays#asList(Object[])
 * @see Collections#nCopies(int, Object)
 * @see Collections#EMPTY_LIST
 * @see AbstractList
 * @see AbstractSequentialList
 * @since 1.2
 */

public interface List<E> extends Collection<E> {
    // Query Operations

    /**
     * Returns the number of elements in this list.  If this list contains
     * more than <tt>Integer.MAX_VALUE</tt> elements, returns
     * <tt>Integer.MAX_VALUE</tt>.
     *
     * @return the number of elements in this list
     */
    int size();

    /**
     * Returns <tt>true</tt> if this list contains no elements.
     *
     * @return <tt>true</tt> if this list contains no elements
     */
    boolean isEmpty();

    /**
     * Returns <tt>true</tt> if this list contains the specified element.
     * More formally, returns <tt>true</tt> if and only if this list contains
     * at least one element <tt>e</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;e==null&nbsp;:&nbsp;o.equals(e))</tt>.
     *
     * @param o element whose presence in this list is to be tested
     * @return <tt>true</tt> if this list contains the specified element
     * @throws ClassCastException if the type of the specified element
     *         is incompatible with this list (optional)
     * @throws NullPointerException if the specified element is null and this
     *         list does not permit null elements (optional)
     */
    boolean contains(Object o);

    /**
     * Returns an iterator over the elements in this list in proper sequence.
     *
     * @return an iterator over the elements in this list in proper sequence
     */
    Iterator<E> iterator();

    // Modification Operations

    /**
     * Appends the specified element to the end of this list (optional
     * operation).
     *
     * <p>Lists that support this operation may place limitations on what
     * elements may be added to this list.  In particular, some
     * lists will refuse to add null elements, and others will impose
     * restrictions on the type of elements that may be added.  List
     * classes should clearly specify in their documentation any restrictions
     * on what elements may be added.
     *
     * @param e element to be appended to this list
     * @return <tt>true</tt> (as specified by {@link Collection#add})
     * @throws UnsupportedOperationException if the <tt>add</tt> operation
     *         is not supported by this list
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this list
     * @throws NullPointerException if the specified element is null and this
     *         list does not permit null elements
     * @throws IllegalArgumentException if some property of this element
     *         prevents it from being added to this list
     */
    boolean add(E e);

    /**
     * Removes the first occurrence of the specified element from this list,
     * if it is present (optional operation).  If this list does not contain
     * the element, it is unchanged.  More formally, removes the element with
     * the lowest index <tt>i</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;get(i)==null&nbsp;:&nbsp;o.equals(get(i)))</tt>
     * (if such an element exists).  Returns <tt>true</tt> if this list
     * contained the specified element (or equivalently, if this list changed
     * as a result of the call).
     *
     * @param o element to be removed from this list, if present
     * @return <tt>true</tt> if this list contained the specified element
     * @throws ClassCastException if the type of the specified element
     *         is incompatible with this list (optional)
     * @throws NullPointerException if the specified element is null and this
     *         list does not permit null elements (optional)
     * @throws UnsupportedOperationException if the <tt>remove</tt> operation
     *         is not supported by this list
     */
    boolean remove(Object o);


    // Bulk Modification Operations

    /**
     * Returns <tt>true</tt> if this list contains all of the elements of the
     * specified collection.
     *
     * @param  c collection to be checked for containment in this list
     * @return <tt>true</tt> if this list contains all of the elements of the
     *         specified collection
     * @throws ClassCastException if the types of one or more elements
     *         in the specified collection are incompatible with this
     *         list (optional)
     * @throws NullPointerException if the specified collection contains one
     *         or more null elements and this list does not permit null
     *         elements (optional), or if the specified collection is null
     * @see #contains(Object)
     */
    boolean containsAll(Collection<?> c);

    /**
     * Appends all of the elements in the specified collection to the end of
     * this list, in the order that they are returned by the specified
     * collection's iterator (optional operation).  The behavior of this
     * operation is undefined if the specified collection is modified while
     * the operation is in progress.  (Note that this will occur if the
     * specified collection is this list, and it's nonempty.)
     *
     * @param c collection containing elements to be added to this list
     * @return <tt>true</tt> if this list changed as a result of the call
     * @throws UnsupportedOperationException if the <tt>addAll</tt> operation
     *         is not supported by this list
     * @throws ClassCastException if the class of an element of the specified
     *         collection prevents it from being added to this list
     * @throws NullPointerException if the specified collection contains one
     *         or more null elements and this list does not permit null
     *         elements, or if the specified collection is null
     * @throws IllegalArgumentException if some property of an element of the
     *         specified collection prevents it from being added to this list
     * @see #add(Object)
     */
    boolean addAll(Collection<? extends E> c);

    /**
     * Inserts all of the elements in the specified collection into this
     * list at the specified position (optional operation).  Shifts the
     * element currently at that position (if any) and any subsequent
     * elements to the right (increases their indices).  The new elements
     * will appear in this list in the order that they are returned by the
     * specified collection's iterator.  The behavior of this operation is
     * undefined if the specified collection is modified while the
     * operation is in progress.  (Note that this will occur if the specified
     * collection is this list, and it's nonempty.)
     *
     * @param index index at which to insert the first element from the
     *              specified collection
     * @param c collection containing elements to be added to this list
     * @return <tt>true</tt> if this list changed as a result of the call
     * @throws UnsupportedOperationException if the <tt>addAll</tt> operation
     *         is not supported by this list
     * @throws ClassCastException if the class of an element of the specified
     *         collection prevents it from being added to this list
     * @throws NullPointerException if the specified collection contains one
     *         or more null elements and this list does not permit null
     *         elements, or if the specified collection is null
     * @throws IllegalArgumentException if some property of an element of the
     *         specified collection prevents it from being added to this list
     * @throws IndexOutOfBoundsException if the index is out of range
     *         (<tt>index &lt; 0 || index &gt; size()</tt>)
     */
    boolean addAll(int index, Collection<? extends E> c);

    /**
     * Removes from this list all of its elements that are contained in the
     * specified collection (optional operation).
     *
     * @param c collection containing elements to be removed from this list
     * @return <tt>true</tt> if this list changed as a result of the call
     * @throws UnsupportedOperationException if the <tt>removeAll</tt> operation
     *         is not supported by this list
     * @throws ClassCastException if the class of an element of this list
     *         is incompatible with the specified collection (optional)
     * @throws NullPointerException if this list contains a null element and the
     *         specified collection does not permit null elements (optional),
     *         or if the specified collection is null
     * @see #remove(Object)
     * @see #contains(Object)
     */
    boolean removeAll(Collection<?> c);

    /**
     * Retains only the elements in this list that are contained in the
     * specified collection (optional operation).  In other words, removes
     * from this list all of its elements that are not contained in the
     * specified collection.
     *
     * @param c collection containing elements to be retained in this list
     * @return <tt>true</tt> if this list changed as a result of the call
     * @throws UnsupportedOperationException if the <tt>retainAll</tt> operation
     *         is not supported by this list
     * @throws ClassCastException if the class of an element of this list
     *         is incompatible with the specified collection (optional)
     * @throws NullPointerException if this list contains a null element and the
     *         specified collection does not permit null elements (optional),
     *         or if the specified collection is null
     * @see #remove(Object)
     * @see #contains(Object)
     */
    boolean retainAll(Collection<?> c);

    /**
     * Removes all of the elements from this list (optional operation).
     * The list will be empty after this call returns.
     *
     * @throws UnsupportedOperationException if the <tt>clear</tt> operation
     *         is not supported by this list
     */
    void clear();


    // Comparison and hashing

    /**
     * Compares the specified object with this list for equality.  Returns
     * <tt>true</tt> if and only if the specified object is also a list, both
     * lists have the same size, and all corresponding pairs of elements in
     * the two lists are <i>equal</i>.  (Two elements <tt>e1</tt> and
     * <tt>e2</tt> are <i>equal</i> if <tt>(e1==null ? e2==null :
     * e1.equals(e2))</tt>.)  In other words, two lists are defined to be
     * equal if they contain the same elements in the same order.  This
     * definition ensures that the equals method works properly across
     * different implementations of the <tt>List</tt> interface.
     *
     * @param o the object to be compared for equality with this list
     * @return <tt>true</tt> if the specified object is equal to this list
     */
    boolean equals(Object o);

    /**
     * Returns the hash code value for this list.  The hash code of a list
     * is defined to be the result of the following calculation:
     * <pre>
     *  int hashCode = 1;
     *  for (E e : list)
     *      hashCode = 31*hashCode + (e==null ? 0 : e.hashCode());
     * </pre>
     * This ensures that <tt>list1.equals(list2)</tt> implies that
     * <tt>list1.hashCode()==list2.hashCode()</tt> for any two lists,
     * <tt>list1</tt> and <tt>list2</tt>, as required by the general
     * contract of {@link Object#hashCode}.
     *
     * @return the hash code value for this list
     * @see Object#equals(Object)
     * @see #equals(Object)
     */
    int hashCode();


    // Positional Access Operations

    /**
     * Returns the element at the specified position in this list.
     *
     * @param index index of the element to return
     * @return the element at the specified position in this list
     * @throws IndexOutOfBoundsException if the index is out of range
     *         (<tt>index &lt; 0 || index &gt;= size()</tt>)
     */
    E get(int index);

    /**
     * Replaces the element at the specified position in this list with the
     * specified element (optional operation).
     *
     * @param index index of the element to replace
     * @param element element to be stored at the specified position
     * @return the element previously at the specified position
     * @throws UnsupportedOperationException if the <tt>set</tt> operation
     *         is not supported by this list
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this list
     * @throws NullPointerException if the specified element is null and
     *         this list does not permit null elements
     * @throws IllegalArgumentException if some property of the specified
     *         element prevents it from being added to this list
     * @throws IndexOutOfBoundsException if the index is out of range
     *         (<tt>index &lt; 0 || index &gt;= size()</tt>)
     */
    E set(int index, E element);

    /**
     * Inserts the specified element at the specified position in this list
     * (optional operation).  Shifts the element currently at that position
     * (if any) and any subsequent elements to the right (adds one to their
     * indices).
     *
     * @param index index at which the specified element is to be inserted
     * @param element element to be inserted
     * @throws UnsupportedOperationException if the <tt>add</tt> operation
     *         is not supported by this list
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this list
     * @throws NullPointerException if the specified element is null and
     *         this list does not permit null elements
     * @throws IllegalArgumentException if some property of the specified
     *         element prevents it from being added to this list
     * @throws IndexOutOfBoundsException if the index is out of range
     *         (<tt>index &lt; 0 || index &gt; size()</tt>)
     */
    void add(int index, E element);

    /**
     * Removes the element at the specified position in this list (optional
     * operation).  Shifts any subsequent elements to the left (subtracts one
     * from their indices).  Returns the element that was removed from the
     * list.
     *
     * @param index the index of the element to be removed
     * @return the element previously at the specified position
     * @throws UnsupportedOperationException if the <tt>remove</tt> operation
     *         is not supported by this list
     * @throws IndexOutOfBoundsException if the index is out of range
     *         (<tt>index &lt; 0 || index &gt;= size()</tt>)
     */
    E remove(int index);


    // Search Operations

    /**
     * Returns the index of the first occurrence of the specified element
     * in this list, or -1 if this list does not contain the element.
     * More formally, returns the lowest index <tt>i</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;get(i)==null&nbsp;:&nbsp;o.equals(get(i)))</tt>,
     * or -1 if there is no such index.
     *
     * @param o element to search for
     * @return the index of the first occurrence of the specified element in
     *         this list, or -1 if this list does not contain the element
     * @throws ClassCastException if the type of the specified element
     *         is incompatible with this list (optional)
     * @throws NullPointerException if the specified element is null and this
     *         list does not permit null elements (optional)
     */
    int indexOf(Object o);

    /**
     * Returns the index of the last occurrence of the specified element
     * in this list, or -1 if this list does not contain the element.
     * More formally, returns the highest index <tt>i</tt> such that
     * <tt>(o==null&nbsp;?&nbsp;get(i)==null&nbsp;:&nbsp;o.equals(get(i)))</tt>,
     * or -1 if there is no such index.
     *
     * @param o element to search for
     * @return the index of the last occurrence of the specified element in
     *         this list, or -1 if this list does not contain the element
     * @throws ClassCastException if the type of the specified element
     *         is incompatible with this list (optional)
     * @throws NullPointerException if the specified element is null and this
     *         list does not permit null elements (optional)
     */
    int lastIndexOf(Object o);


    // List Iterators

    /**
     * Returns a list iterator over the elements in this list (in proper
     * sequence).
     *
     * @return a list iterator over the elements in this list (in proper
     *         sequence)
     */
    ListIterator<E> listIterator();

    /**
     * Returns a list iterator over the elements in this list (in proper
     * sequence), starting at the specified position in the list.
     * The specified index indicates the first element that would be
     * returned by an initial call to {@link ListIterator#next next}.
     * An initial call to {@link ListIterator#previous previous} would
     * return the element with the specified index minus one.
     *
     * @param index index of the first element to be returned from the
     *        list iterator (by a call to {@link ListIterator#next next})
     * @return a list iterator over the elements in this list (in proper
     *         sequence), starting at the specified position in the list
     * @throws IndexOutOfBoundsException if the index is out of range
     *         ({@code index < 0 || index > size()})
     */
    ListIterator<E> listIterator(int index);

    // View

    /**
     * Returns a view of the portion of this list between the specified
     * <tt>fromIndex</tt>, inclusive, and <tt>toIndex</tt>, exclusive.  (If
     * <tt>fromIndex</tt> and <tt>toIndex</tt> are equal, the returned list is
     * empty.)  The returned list is backed by this list, so non-structural
     * changes in the returned list are reflected in this list, and vice-versa.
     * The returned list supports all of the optional list operations supported
     * by this list.<p>
     *
     * This method eliminates the need for explicit range operations (of
     * the sort that commonly exist for arrays).  Any operation that expects
     * a list can be used as a range operation by passing a subList view
     * instead of a whole list.  For example, the following idiom
     * removes a range of elements from a list:
     * <pre>
     *      list.subList(from, to).clear();
     * </pre>
     * Similar idioms may be constructed for <tt>indexOf</tt> and
     * <tt>lastIndexOf</tt>, and all of the algorithms in the
     * <tt>Collections</tt> class can be applied to a subList.<p>
     *
     * The semantics of the list returned by this method become undefined if
     * the backing list (i.e., this list) is <i>structurally modified</i> in
     * any way other than via the returned list.  (Structural modifications are
     * those that change the size of this list, or otherwise perturb it in such
     * a fashion that iterations in progress may yield incorrect results.)
     *
     * @param fromIndex low endpoint (inclusive) of the subList
     * @param toIndex high endpoint (exclusive) of the subList
     * @return a view of the specified range within this list
     * @throws IndexOutOfBoundsException for an illegal endpoint index value
     *         (<tt>fromIndex &lt; 0 || toIndex &gt; size ||
     *         fromIndex &gt; toIndex</tt>)
     */
    List<E> subList(int fromIndex, int toIndex);
}


/*
 * Copyright 1994-1998 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * Thrown by the <code>nextElement</code> method of an
 * <code>Enumeration</code> to indicate that there are no more
 * elements in the enumeration.
 *
 * @author  unascribed
 * @see     java.util.Enumeration
 * @see     java.util.Enumeration#nextElement()
 * @since   JDK1.0
 */
public
class NoSuchElementException extends RuntimeException {
    /**
     * Constructs a <code>NoSuchElementException</code> with <tt>null</tt>
     * as its error message string.
     */
    public NoSuchElementException() {
        super();
    }

    /**
     * Constructs a <code>NoSuchElementException</code>, saving a reference
     * to the error message string <tt>s</tt> for later retrieval by the
     * <tt>getMessage</tt> method.
     *
     * @param   s   the detail message.
     */
    public NoSuchElementException(String s) {
        super(s);
    }
}


/*
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

/*
 * This file is available under and governed by the GNU General Public
 * License version 2 only, as published by the Free Software Foundation.
 * However, the following notice accompanied the original version of this
 * file:
 *
 * Written by Doug Lea with assistance from members of JCP JSR-166
 * Expert Group and released to the public domain, as explained at
 * http://creativecommons.org/licenses/publicdomain
 */

package javaUtilEx;

/**
 * A collection designed for holding elements prior to processing.
 * Besides basic {@link java.util.Collection Collection} operations,
 * queues provide additional insertion, extraction, and inspection
 * operations.  Each of these methods exists in two forms: one throws
 * an exception if the operation fails, the other returns a special
 * value (either <tt>null</tt> or <tt>false</tt>, depending on the
 * operation).  The latter form of the insert operation is designed
 * specifically for use with capacity-restricted <tt>Queue</tt>
 * implementations; in most implementations, insert operations cannot
 * fail.
 *
 * <p>
 * <table BORDER CELLPADDING=3 CELLSPACING=1>
 *  <tr>
 *    <td></td>
 *    <td ALIGN=CENTER><em>Throws exception</em></td>
 *    <td ALIGN=CENTER><em>Returns special value</em></td>
 *  </tr>
 *  <tr>
 *    <td><b>Insert</b></td>
 *    <td>{@link #add add(e)}</td>
 *    <td>{@link #offer offer(e)}</td>
 *  </tr>
 *  <tr>
 *    <td><b>Remove</b></td>
 *    <td>{@link #remove remove()}</td>
 *    <td>{@link #poll poll()}</td>
 *  </tr>
 *  <tr>
 *    <td><b>Examine</b></td>
 *    <td>{@link #element element()}</td>
 *    <td>{@link #peek peek()}</td>
 *  </tr>
 * </table>
 *
 * <p>Queues typically, but do not necessarily, order elements in a
 * FIFO (first-in-first-out) manner.  Among the exceptions are
 * priority queues, which order elements according to a supplied
 * comparator, or the elements' natural ordering, and LIFO queues (or
 * stacks) which order the elements LIFO (last-in-first-out).
 * Whatever the ordering used, the <em>head</em> of the queue is that
 * element which would be removed by a call to {@link #remove() } or
 * {@link #poll()}.  In a FIFO queue, all new elements are inserted at
 * the <em> tail</em> of the queue. Other kinds of queues may use
 * different placement rules.  Every <tt>Queue</tt> implementation
 * must specify its ordering properties.
 *
 * <p>The {@link #offer offer} method inserts an element if possible,
 * otherwise returning <tt>false</tt>.  This differs from the {@link
 * java.util.Collection#add Collection.add} method, which can fail to
 * add an element only by throwing an unchecked exception.  The
 * <tt>offer</tt> method is designed for use when failure is a normal,
 * rather than exceptional occurrence, for example, in fixed-capacity
 * (or &quot;bounded&quot;) queues.
 *
 * <p>The {@link #remove()} and {@link #poll()} methods remove and
 * return the head of the queue.
 * Exactly which element is removed from the queue is a
 * function of the queue's ordering policy, which differs from
 * implementation to implementation. The <tt>remove()</tt> and
 * <tt>poll()</tt> methods differ only in their behavior when the
 * queue is empty: the <tt>remove()</tt> method throws an exception,
 * while the <tt>poll()</tt> method returns <tt>null</tt>.
 *
 * <p>The {@link #element()} and {@link #peek()} methods return, but do
 * not remove, the head of the queue.
 *
 * <p>The <tt>Queue</tt> interface does not define the <i>blocking queue
 * methods</i>, which are common in concurrent programming.  These methods,
 * which wait for elements to appear or for space to become available, are
 * defined in the {@link java.util.concurrent.BlockingQueue} interface, which
 * extends this interface.
 *
 * <p><tt>Queue</tt> implementations generally do not allow insertion
 * of <tt>null</tt> elements, although some implementations, such as
 * {@link LinkedList}, do not prohibit insertion of <tt>null</tt>.
 * Even in the implementations that permit it, <tt>null</tt> should
 * not be inserted into a <tt>Queue</tt>, as <tt>null</tt> is also
 * used as a special return value by the <tt>poll</tt> method to
 * indicate that the queue contains no elements.
 *
 * <p><tt>Queue</tt> implementations generally do not define
 * element-based versions of methods <tt>equals</tt> and
 * <tt>hashCode</tt> but instead inherit the identity based versions
 * from class <tt>Object</tt>, because element-based equality is not
 * always well-defined for queues with the same elements but different
 * ordering properties.
 *
 *
 * <p>This interface is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @see java.util.Collection
 * @see LinkedList
 * @see PriorityQueue
 * @see java.util.concurrent.LinkedBlockingQueue
 * @see java.util.concurrent.BlockingQueue
 * @see java.util.concurrent.ArrayBlockingQueue
 * @see java.util.concurrent.LinkedBlockingQueue
 * @see java.util.concurrent.PriorityBlockingQueue
 * @since 1.5
 * @author Doug Lea
 * @param <E> the type of elements held in this collection
 */
public interface Queue<E> extends Collection<E> {
    /**
     * Inserts the specified element into this queue if it is possible to do so
     * immediately without violating capacity restrictions, returning
     * <tt>true</tt> upon success and throwing an <tt>IllegalStateException</tt>
     * if no space is currently available.
     *
     * @param e the element to add
     * @return <tt>true</tt> (as specified by {@link Collection#add})
     * @throws IllegalStateException if the element cannot be added at this
     *         time due to capacity restrictions
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this queue
     * @throws NullPointerException if the specified element is null and
     *         this queue does not permit null elements
     * @throws IllegalArgumentException if some property of this element
     *         prevents it from being added to this queue
     */
    boolean add(E e);

    /**
     * Inserts the specified element into this queue if it is possible to do
     * so immediately without violating capacity restrictions.
     * When using a capacity-restricted queue, this method is generally
     * preferable to {@link #add}, which can fail to insert an element only
     * by throwing an exception.
     *
     * @param e the element to add
     * @return <tt>true</tt> if the element was added to this queue, else
     *         <tt>false</tt>
     * @throws ClassCastException if the class of the specified element
     *         prevents it from being added to this queue
     * @throws NullPointerException if the specified element is null and
     *         this queue does not permit null elements
     * @throws IllegalArgumentException if some property of this element
     *         prevents it from being added to this queue
     */
    boolean offer(E e);

    /**
     * Retrieves and removes the head of this queue.  This method differs
     * from {@link #poll poll} only in that it throws an exception if this
     * queue is empty.
     *
     * @return the head of this queue
     * @throws NoSuchElementException if this queue is empty
     */
    E remove();

    /**
     * Retrieves and removes the head of this queue,
     * or returns <tt>null</tt> if this queue is empty.
     *
     * @return the head of this queue, or <tt>null</tt> if this queue is empty
     */
    E poll();

    /**
     * Retrieves, but does not remove, the head of this queue.  This method
     * differs from {@link #peek peek} only in that it throws an exception
     * if this queue is empty.
     *
     * @return the head of this queue
     * @throws NoSuchElementException if this queue is empty
     */
    E element();

    /**
     * Retrieves, but does not remove, the head of this queue,
     * or returns <tt>null</tt> if this queue is empty.
     *
     * @return the head of this queue, or <tt>null</tt> if this queue is empty
     */
    E peek();
}


/*
 * Copyright 2000-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * Marker interface used by <tt>List</tt> implementations to indicate that
 * they support fast (generally constant time) random access.  The primary
 * purpose of this interface is to allow generic algorithms to alter their
 * behavior to provide good performance when applied to either random or
 * sequential access lists.
 *
 * <p>The best algorithms for manipulating random access lists (such as
 * <tt>ArrayList</tt>) can produce quadratic behavior when applied to
 * sequential access lists (such as <tt>LinkedList</tt>).  Generic list
 * algorithms are encouraged to check whether the given list is an
 * <tt>instanceof</tt> this interface before applying an algorithm that would
 * provide poor performance if it were applied to a sequential access list,
 * and to alter their behavior if necessary to guarantee acceptable
 * performance.
 *
 * <p>It is recognized that the distinction between random and sequential
 * access is often fuzzy.  For example, some <tt>List</tt> implementations
 * provide asymptotically linear access times if they get huge, but constant
 * access times in practice.  Such a <tt>List</tt> implementation
 * should generally implement this interface.  As a rule of thumb, a
 * <tt>List</tt> implementation should implement this interface if,
 * for typical instances of the class, this loop:
 * <pre>
 *     for (int i=0, n=list.size(); i &lt; n; i++)
 *         list.get(i);
 * </pre>
 * runs faster than this loop:
 * <pre>
 *     for (Iterator i=list.iterator(); i.hasNext(); )
 *         i.next();
 * </pre>
 *
 * <p>This interface is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @since 1.4
 */
public interface RandomAccess {
}


/*
 * Copyright 1997-2006 Sun Microsystems, Inc.  All Rights Reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.  Sun designates this
 * particular file as subject to the "Classpath" exception as provided
 * by Sun in the LICENSE file that accompanied this code.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
 * CA 95054 USA or visit www.sun.com if you need additional information or
 * have any questions.
 */

package javaUtilEx;

/**
 * Thrown to indicate that the requested operation is not supported.<p>
 *
 * This class is a member of the
 * <a href="{@docRoot}/../technotes/guides/collections/index.html">
 * Java Collections Framework</a>.
 *
 * @author  Josh Bloch
 * @since   1.2
 */
public class UnsupportedOperationException extends RuntimeException {
    /**
     * Constructs an UnsupportedOperationException with no detail message.
     */
    public UnsupportedOperationException() {
    }

    /**
     * Constructs an UnsupportedOperationException with the specified
     * detail message.
     *
     * @param message the detail message
     */
    public UnsupportedOperationException(String message) {
        super(message);
    }

    /**
     * Constructs a new exception with the specified detail message and
     * cause.
     *
     * <p>Note that the detail message associated with <code>cause</code> is
     * <i>not</i> automatically incorporated in this exception's detail
     * message.
     *
     * @param  message the detail message (which is saved for later retrieval
     *         by the {@link Throwable#getMessage()} method).
     * @param  cause the cause (which is saved for later retrieval by the
     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value
     *         is permitted, and indicates that the cause is nonexistent or
     *         unknown.)
     * @since 1.5
     */
    public UnsupportedOperationException(String message, Throwable cause) {
        super(message, cause);
    }

    /**
     * Constructs a new exception with the specified cause and a detail
     * message of <tt>(cause==null ? null : cause.toString())</tt> (which
     * typically contains the class and detail message of <tt>cause</tt>).
     * This constructor is useful for exceptions that are little more than
     * wrappers for other throwables (for example, {@link
     * java.security.PrivilegedActionException}).
     *
     * @param  cause the cause (which is saved for later retrieval by the
     *         {@link Throwable#getCause()} method).  (A <tt>null</tt> value is
     *         permitted, and indicates that the cause is nonexistent or
     *         unknown.)
     * @since  1.5
     */
    public UnsupportedOperationException(Throwable cause) {
        super(cause);
    }

    static final long serialVersionUID = -1242599979055084673L;
}


(1) JBCToGraph (BOTH CONCRETE BOUNDS(ID, ID) transformation)

Constructed TerminationGraph.

(2) Obligation:

Termination Graph based on JBC Program:
javaUtilEx.juLinkedListCreateOfferLast.main(II)V: Graph of 280 nodes with 1 SCC.


(3) TerminationGraphToComplexityProof (BOTH CONCRETE BOUNDS(ID, ADD(42)) transformation)

Extracted set of 236 edges for the analysis of TIME complexity. Kept leaves.

(4) Obligation:

Set of 236 edges based on JBC Program.
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • javaUtilEx.LinkedList: [header, size]
    • javaUtilEx.LinkedList$Entry: [previous, next]
    • javaUtilEx.AbstractList: [modCount]

Considered paths: nonterm paths and paths from start to sinks

(5) JBCGraphEdgesToCpxIntTrsProof (CONCRETE UPPER BOUND(ID) transformation)

Transformed 236 jbc graph edges to a weighted ITS with 236 rules.
Used simplified encoding of division and modulo.
Filtered conditions with variables that do not depend on the variables on the lhs or rhs without taking transitive dependencies into account.
Did no encode lower bounds for putfield and astore.

(6) Obligation:

IntTrs with 236 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
main_Load_2(i2, i3, env, static) -{0,0}> main_Load_4(i2, i3, env, static) :|: 0 >= 0
main_Load_4(i2, i3, env, static) -{0,0}> langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) -{1,1}> langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) :|: iconst_0 = 0
langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) :|: a2 = 2 && iconst_0 = 0 && 0 < a2
langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) -{1,1}> langle_clinit_rangle_New_16(i2, i3, env, static') :|: 0 <= a2 && iconst_0 = 0 && static' <= static + a2 && 0 <= static && 0 < a2
langle_clinit_rangle_New_16(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_18(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_New_18(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_19(i2, i3, env, static) :|: 0 <= static
langle_clinit_rangle_New_19(i2, i3, env, static) -{1,1}> langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) :|: 0 < o2 && o2 = 1
langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_25(o2, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_init_rangle_Load_25(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_30(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Load_30(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_36(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_36(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_37(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_37(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_Return_39(i2, i3, env, static') :|: 0 < o2 && 0 <= o2 && 0 <= static && static' <= static + o2
langle_clinit_rangle_Return_39(i2, i3, env, static) -{1,1}> main_Load_41(i2, i3, env, static) :|: 0 >= 0
main_Load_41(i2, i3, env, static) -{0,0}> main_Load_42(i2, i3, env, static) :|: 0 >= 0
main_Load_42(i2, i3, env, static) -{0,0}> main_Load_43(i2, i3, env, static) :|: 0 <= static
main_Load_43(i2, i3, env, static) -{0,0}> main_Load_45(i2, i3, env, static) :|: 0 >= 0
main_Load_45(i2, i3, env, static) -{0,0}> main_Load_47(i2, i3, env, static) :|: 0 >= 0
main_Load_47(i2, i3, env, static) -{1,1}> main_InvokeMethod_50(i2, i3, env, static) :|: 0 >= 0
main_InvokeMethod_50(i2, i3, env, static) -{1,1}> createList_New_52(i2, i3, env, static) :|: 0 >= 0
createList_New_52(i2, i3, env, static) -{0,0}> createList_New_54(i2, i3, env, static) :|: 0 >= 0
createList_New_54(i2, i3, env, static) -{0,0}> createList_New_56(i2, i3, env, static) :|: 0 <= static
createList_New_56(i2, i3, env, static) -{1,1}> createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4 = 1 && 0 < o4 && iconst_0 = 0
createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) -{1,1}> langle_init_rangle_Return_86(o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Return_86(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) -{0,0}> langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o6 = 1
langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_126(o6', NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Load_126(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_129(o4, o6', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Return_129(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_132(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' = o4 + o6 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o4'
langle_init_rangle_Load_132(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) -{1,1}> langle_init_rangle_Load_139(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o6 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Load_139(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_154(o6', o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4' && o6' = o6
langle_init_rangle_FieldAccess_154(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_159(o4', i2, i3, o6', iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4'
langle_init_rangle_Return_159(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) -{0,0}> createList_Load_585(i2, o4, i2, i3, o6, iconst_0, iconst_0, o396, env, static) :|: 0 <= iconst_0 && 0 < o6 && 0 < o396 && 0 < o4 && iconst_0 <= 1 && iconst_0 = 0
createList_Load_585(i67, o394, i70, i3, o395, i68, i69, o396, env, static) -{0,0}> createList_Load_1184(i67, o394, i70, i3, o395, i68, i69, o396, o396, o1267, env, static) :|: 0 < o395 && 0 < o396 && 0 < o1267 && 0 < o394 && 0 <= i68 && 0 <= i69 && i69 <= 2 && i68 <= 2 && i68 <= 1 && i69 <= 1
createList_Load_1184(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) -{0,0}> createList_Load_1733(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) :|: 0 <= i219 && i220 <= 2 && 0 < o1267 && 0 < o1268 && 0 <= i220 && 0 < o1266 && 0 < o1265 && i219 <= 2 && 0 < o1264
createList_Load_1733(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) -{0,0}> createList_Load_1961(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) :|: 0 < o2994 && 0 < o2998 && 0 <= i439 && 0 <= i440 && 0 < o2995 && 0 < o2997 && 0 < o2996
createList_Load_1961(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) -{0,0}> createList_Load_2190(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) :|: 0 < o4716 && 0 <= i653 && 0 < o4719 && 0 <= i654 && 0 < o4718 && 0 < o4720 && 0 < o4717
createList_Load_2190(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) -{0,0}> createList_Load_2383(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) :|: 0 < o6478 && 0 <= i889 && 0 < o6476 && 0 <= i890 && 0 < o6477 && 0 < o6479 && 0 < o6480
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < i1035 && 0 < o7563 && 0 < o7562
createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7579 = 1 && 0 < o7563 && 0 < o7562
main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && o7580 = 1 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7586 && o7586 = 1 && 0 < o7563 && 0 < o7562
addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7621 = 1 && 0 < o7580 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2463(o7586', o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && o7586' <= o7586 + o7563 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7586' && o7586' = o7586 + o7563 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2463(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2469(o7586', o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && o7586' <= o7586 + o7566 && 0 < o7586' && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Return_2469(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2476(o7621', o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && o7621' <= o7621 + o7563 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' = o7621 + o7563 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2476(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2483(o7621', o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' <= o7621 + o7566 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{0,0}> addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2483(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2489(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2490(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2489(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2490(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_Load_2501(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_Load_2502(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2501(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2502(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && i1026 + iconst_1 = i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1026 + iconst_1 = i1083 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2527(o7562', o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 <= i1027 && o7562' <= o7562 + i1082 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2528(o7562', o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7562' && 0 < o7949 && o7562' <= o7562 + i1083 && 0 < o7563 && 0 < o7562
addBefore_Load_2527(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Load_2528(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && i1027 + iconst_1 = i1102 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 1 <= i1103 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1027 + iconst_1 = i1103 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2551(o7586, i1035, o7562', i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && o7562' <= o7562 + i1102 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2552(o7586, i1035, o7562', i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && o7562' <= o7562 + i1103 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 1 <= i1103 && 0 < o7586 && 0 < o7562' && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2551(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Load_2552(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && i1035 + -1 = i1146 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && i1035 + -1 = i1147 && 0 < o7563 && 0 < o7562
createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562
createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{0,0}> createList_Load_2383(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, env, static) :|: 0 <= i1102 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562 && 0 <= i1082
createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{0,0}> createList_Load_2383(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 <= i1083 && 0 < o7564 && 0 <= i1103 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562

(7) StraightLineCodeCompressionProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

obtained
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
by chaining
main_Load_2(i2, i3, env, static) -{0,0}> main_Load_4(i2, i3, env, static) :|: 0 >= 0
main_Load_4(i2, i3, env, static) -{0,0}> langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) -{1,1}> langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) :|: iconst_0 = 0
langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) :|: a2 = 2 && iconst_0 = 0 && 0 < a2
langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) -{1,1}> langle_clinit_rangle_New_16(i2, i3, env, static') :|: 0 <= a2 && iconst_0 = 0 && static' <= static + a2 && 0 <= static && 0 < a2
langle_clinit_rangle_New_16(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_18(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_New_18(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_19(i2, i3, env, static) :|: 0 <= static
langle_clinit_rangle_New_19(i2, i3, env, static) -{1,1}> langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) :|: 0 < o2 && o2 = 1
langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_25(o2, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_init_rangle_Load_25(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_30(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Load_30(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_36(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_36(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_37(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_37(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_Return_39(i2, i3, env, static') :|: 0 < o2 && 0 <= o2 && 0 <= static && static' <= static + o2
langle_clinit_rangle_Return_39(i2, i3, env, static) -{1,1}> main_Load_41(i2, i3, env, static) :|: 0 >= 0
main_Load_41(i2, i3, env, static) -{0,0}> main_Load_42(i2, i3, env, static) :|: 0 >= 0
main_Load_42(i2, i3, env, static) -{0,0}> main_Load_43(i2, i3, env, static) :|: 0 <= static
main_Load_43(i2, i3, env, static) -{0,0}> main_Load_45(i2, i3, env, static) :|: 0 >= 0
main_Load_45(i2, i3, env, static) -{0,0}> main_Load_47(i2, i3, env, static) :|: 0 >= 0
main_Load_47(i2, i3, env, static) -{1,1}> main_InvokeMethod_50(i2, i3, env, static) :|: 0 >= 0
main_InvokeMethod_50(i2, i3, env, static) -{1,1}> createList_New_52(i2, i3, env, static) :|: 0 >= 0
createList_New_52(i2, i3, env, static) -{0,0}> createList_New_54(i2, i3, env, static) :|: 0 >= 0
createList_New_54(i2, i3, env, static) -{0,0}> createList_New_56(i2, i3, env, static) :|: 0 <= static
createList_New_56(i2, i3, env, static) -{1,1}> createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4 = 1 && 0 < o4 && iconst_0 = 0
createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) -{1,1}> langle_init_rangle_Return_86(o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Return_86(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) -{0,0}> langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o6 = 1
langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_126(o6', NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Load_126(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_129(o4, o6', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Return_129(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_132(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' = o4 + o6 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o4'
langle_init_rangle_Load_132(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) -{1,1}> langle_init_rangle_Load_139(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o6 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Load_139(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_154(o6', o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4' && o6' = o6
langle_init_rangle_FieldAccess_154(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_159(o4', i2, i3, o6', iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4'
langle_init_rangle_Return_159(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) -{0,0}> createList_Load_585(i2, o4, i2, i3, o6, iconst_0, iconst_0, o396, env, static) :|: 0 <= iconst_0 && 0 < o6 && 0 < o396 && 0 < o4 && iconst_0 <= 1 && iconst_0 = 0
createList_Load_585(i67, o394, i70, i3, o395, i68, i69, o396, env, static) -{0,0}> createList_Load_1184(i67, o394, i70, i3, o395, i68, i69, o396, o396, o1267, env, static) :|: 0 < o395 && 0 < o396 && 0 < o1267 && 0 < o394 && 0 <= i68 && 0 <= i69 && i69 <= 2 && i68 <= 2 && i68 <= 1 && i69 <= 1
createList_Load_1184(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) -{0,0}> createList_Load_1733(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) :|: 0 <= i219 && i220 <= 2 && 0 < o1267 && 0 < o1268 && 0 <= i220 && 0 < o1266 && 0 < o1265 && i219 <= 2 && 0 < o1264
createList_Load_1733(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) -{0,0}> createList_Load_1961(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) :|: 0 < o2994 && 0 < o2998 && 0 <= i439 && 0 <= i440 && 0 < o2995 && 0 < o2997 && 0 < o2996
createList_Load_1961(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) -{0,0}> createList_Load_2190(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) :|: 0 < o4716 && 0 <= i653 && 0 < o4719 && 0 <= i654 && 0 < o4718 && 0 < o4720 && 0 < o4717
createList_Load_2190(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) -{0,0}> createList_Load_2383(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) :|: 0 < o6478 && 0 <= i889 && 0 < o6476 && 0 <= i890 && 0 < o6477 && 0 < o6479 && 0 < o6480

obtained
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563
by chaining
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < i1035 && 0 < o7563 && 0 < o7562
createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7579 = 1 && 0 < o7563 && 0 < o7562
createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7586 && o7586 = 1 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2463(o7586', o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && o7586' <= o7586 + o7563 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7586' && o7586' = o7586 + o7563 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2463(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2469(o7586', o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && o7586' <= o7586 + o7566 && 0 < o7586' && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2469(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562

obtained
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
by chaining
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{0,0}> addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2490(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2490(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_Load_2502(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2502(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1026 + iconst_1 = i1083 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2528(o7562', o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7562' && 0 < o7949 && o7562' <= o7562 + i1083 && 0 < o7563 && 0 < o7562
addBefore_Load_2528(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 1 <= i1103 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1027 + iconst_1 = i1103 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2552(o7586, i1035, o7562', i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && o7562' <= o7562 + i1103 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 1 <= i1103 && 0 < o7586 && 0 < o7562' && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2552(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && i1035 + -1 = i1147 && 0 < o7563 && 0 < o7562
createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562
createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{0,0}> createList_Load_2383(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 <= i1083 && 0 < o7564 && 0 <= i1103 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562

obtained
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
by chaining
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2489(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2489(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_Load_2501(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2501(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && i1026 + iconst_1 = i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2527(o7562', o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 <= i1027 && o7562' <= o7562 + i1082 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_Load_2527(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && i1027 + iconst_1 = i1102 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2551(o7586, i1035, o7562', i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && o7562' <= o7562 + i1102 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_Load_2551(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && i1035 + -1 = i1146 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{0,0}> createList_Load_2383(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, env, static) :|: 0 <= i1102 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562 && 0 <= i1082

obtained
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
by chaining
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && o7580 = 1 && 0 < o7563 && 0 < o7562
main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7621 = 1 && 0 < o7580 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2476(o7621', o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && o7621' <= o7621 + o7563 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' = o7621 + o7563 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2476(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2483(o7621', o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' <= o7621 + o7566 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Return_2483(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562 && 0 < o7621

(8) Obligation:

IntTrs with 8 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562

(9) MovedArithmeticFromConstraintsProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

Moved arithmethic from constraints to rhss.

addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
was transformed to
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2

addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
was transformed to
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

(10) Obligation:

IntTrs with 8 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563

(11) ExpressionSimplificationProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

Simplified expressions.

addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
was transformed to
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 - 1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= 2 * o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= 2 * o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2

main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
was transformed to
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < o6'3 && o6'3 <= 2 * o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' && 0 < o4'3 && 0 < o6'2 && o4'2 = 1 + o6'2 && static''' <= static + 2 && 0 < o6''' && 0 < o4'2 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 && o6''' = 1 && o6'2 <= 2 * o6'2 && static'1 <= static''' + 1

createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
was transformed to
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621'''

createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563
was transformed to
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035

addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
was transformed to
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 - 1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= 2 * o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= 2 * o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

(12) Obligation:

IntTrs with 8 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 - 1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= 2 * o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= 2 * o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 - 1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= 2 * o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= 2 * o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < o6'3 && o6'3 <= 2 * o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' && 0 < o4'3 && 0 < o6'2 && o4'2 = 1 + o6'2 && static''' <= static + 2 && 0 < o6''' && 0 < o4'2 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 && o6''' = 1 && o6'2 <= 2 * o6'2 && static'1 <= static''' + 1
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621'''
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035

(13) JBCGraphEdgesToCpxIntTrsProof (CONCRETE UPPER BOUND(ID) transformation)

Transformed 236 jbc graph edges to a weighted ITS with 236 rules.
Filtered conditions with variables that do not depend on the variables on the lhs or rhs without taking transitive dependencies into account.
Did no encode lower bounds for putfield and astore.

(14) Obligation:

IntTrs with 236 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
main_Load_2(i2, i3, env, static) -{0,0}> main_Load_4(i2, i3, env, static) :|: 0 >= 0
main_Load_4(i2, i3, env, static) -{0,0}> langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) -{1,1}> langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) :|: iconst_0 = 0
langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) :|: a2 = 2 && iconst_0 = 0 && 0 < a2
langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) -{1,1}> langle_clinit_rangle_New_16(i2, i3, env, static') :|: 0 <= a2 && iconst_0 = 0 && static' <= static + a2 && 0 <= static && 0 < a2
langle_clinit_rangle_New_16(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_18(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_New_18(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_19(i2, i3, env, static) :|: 0 <= static
langle_clinit_rangle_New_19(i2, i3, env, static) -{1,1}> langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) :|: 0 < o2 && o2 = 1
langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_25(o2, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_init_rangle_Load_25(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_30(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Load_30(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_36(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_36(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_37(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_37(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_Return_39(i2, i3, env, static') :|: 0 < o2 && 0 <= o2 && 0 <= static && static' <= static + o2
langle_clinit_rangle_Return_39(i2, i3, env, static) -{1,1}> main_Load_41(i2, i3, env, static) :|: 0 >= 0
main_Load_41(i2, i3, env, static) -{0,0}> main_Load_42(i2, i3, env, static) :|: 0 >= 0
main_Load_42(i2, i3, env, static) -{0,0}> main_Load_43(i2, i3, env, static) :|: 0 <= static
main_Load_43(i2, i3, env, static) -{0,0}> main_Load_45(i2, i3, env, static) :|: 0 >= 0
main_Load_45(i2, i3, env, static) -{0,0}> main_Load_47(i2, i3, env, static) :|: 0 >= 0
main_Load_47(i2, i3, env, static) -{1,1}> main_InvokeMethod_50(i2, i3, env, static) :|: 0 >= 0
main_InvokeMethod_50(i2, i3, env, static) -{1,1}> createList_New_52(i2, i3, env, static) :|: 0 >= 0
createList_New_52(i2, i3, env, static) -{0,0}> createList_New_54(i2, i3, env, static) :|: 0 >= 0
createList_New_54(i2, i3, env, static) -{0,0}> createList_New_56(i2, i3, env, static) :|: 0 <= static
createList_New_56(i2, i3, env, static) -{1,1}> createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4 = 1 && 0 < o4 && iconst_0 = 0
createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) -{1,1}> langle_init_rangle_Return_86(o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Return_86(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) -{0,0}> langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o6 = 1
langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_126(o6', NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Load_126(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_129(o4, o6', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Return_129(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_132(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' = o4 + o6 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o4'
langle_init_rangle_Load_132(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) -{1,1}> langle_init_rangle_Load_139(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o6 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Load_139(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_154(o6', o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4' && o6' = o6
langle_init_rangle_FieldAccess_154(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_159(o4', i2, i3, o6', iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4'
langle_init_rangle_Return_159(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) -{0,0}> createList_Load_585(i2, o4, i2, i3, o6, iconst_0, iconst_0, o396, env, static) :|: 0 <= iconst_0 && 0 < o6 && 0 < o396 && 0 < o4 && iconst_0 <= 1 && iconst_0 = 0
createList_Load_585(i67, o394, i70, i3, o395, i68, i69, o396, env, static) -{0,0}> createList_Load_1184(i67, o394, i70, i3, o395, i68, i69, o396, o396, o1267, env, static) :|: 0 < o395 && 0 < o396 && 0 < o1267 && 0 < o394 && 0 <= i68 && 0 <= i69 && i69 <= 2 && i68 <= 2 && i68 <= 1 && i69 <= 1
createList_Load_1184(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) -{0,0}> createList_Load_1733(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) :|: 0 <= i219 && i220 <= 2 && 0 < o1267 && 0 < o1268 && 0 <= i220 && 0 < o1266 && 0 < o1265 && i219 <= 2 && 0 < o1264
createList_Load_1733(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) -{0,0}> createList_Load_1961(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) :|: 0 < o2994 && 0 < o2998 && 0 <= i439 && 0 <= i440 && 0 < o2995 && 0 < o2997 && 0 < o2996
createList_Load_1961(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) -{0,0}> createList_Load_2190(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) :|: 0 < o4716 && 0 <= i653 && 0 < o4719 && 0 <= i654 && 0 < o4718 && 0 < o4720 && 0 < o4717
createList_Load_2190(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) -{0,0}> createList_Load_2383(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) :|: 0 < o6478 && 0 <= i889 && 0 < o6476 && 0 <= i890 && 0 < o6477 && 0 < o6479 && 0 < o6480
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < i1035 && 0 < o7563 && 0 < o7562
createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7579 = 1 && 0 < o7563 && 0 < o7562
main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && o7580 = 1 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7586 && o7586 = 1 && 0 < o7563 && 0 < o7562
addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7621 = 1 && 0 < o7580 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2463(o7586', o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && o7586' <= o7586 + o7563 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7586' && o7586' = o7586 + o7563 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2463(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2469(o7586', o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && o7586' <= o7586 + o7566 && 0 < o7586' && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Return_2469(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2476(o7621', o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && o7621' <= o7621 + o7563 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' = o7621 + o7563 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2476(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2483(o7621', o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' <= o7621 + o7566 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{0,0}> addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2483(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2489(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2490(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2489(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2490(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_Load_2501(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_Load_2502(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2501(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2502(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && i1026 + iconst_1 = i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1026 + iconst_1 = i1083 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2527(o7562', o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 <= i1027 && o7562' <= o7562 + i1082 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2528(o7562', o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7562' && 0 < o7949 && o7562' <= o7562 + i1083 && 0 < o7563 && 0 < o7562
addBefore_Load_2527(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Load_2528(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && i1027 + iconst_1 = i1102 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 1 <= i1103 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1027 + iconst_1 = i1103 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2551(o7586, i1035, o7562', i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && o7562' <= o7562 + i1102 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2552(o7586, i1035, o7562', i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && o7562' <= o7562 + i1103 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 1 <= i1103 && 0 < o7586 && 0 < o7562' && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2551(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Load_2552(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && i1035 + -1 = i1146 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && i1035 + -1 = i1147 && 0 < o7563 && 0 < o7562
createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562
createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{0,0}> createList_Load_2383(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, env, static) :|: 0 <= i1102 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562 && 0 <= i1082
createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{0,0}> createList_Load_2383(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 <= i1083 && 0 < o7564 && 0 <= i1103 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562

(15) StraightLineCodeCompressionProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

obtained
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
by chaining
main_Load_2(i2, i3, env, static) -{0,0}> main_Load_4(i2, i3, env, static) :|: 0 >= 0
main_Load_4(i2, i3, env, static) -{0,0}> langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) -{1,1}> langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) :|: iconst_0 = 0
langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) :|: a2 = 2 && iconst_0 = 0 && 0 < a2
langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) -{1,1}> langle_clinit_rangle_New_16(i2, i3, env, static') :|: 0 <= a2 && iconst_0 = 0 && static' <= static + a2 && 0 <= static && 0 < a2
langle_clinit_rangle_New_16(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_18(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_New_18(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_19(i2, i3, env, static) :|: 0 <= static
langle_clinit_rangle_New_19(i2, i3, env, static) -{1,1}> langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) :|: 0 < o2 && o2 = 1
langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_25(o2, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_init_rangle_Load_25(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_30(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Load_30(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_36(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_36(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_37(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_37(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_Return_39(i2, i3, env, static') :|: 0 < o2 && 0 <= o2 && 0 <= static && static' <= static + o2
langle_clinit_rangle_Return_39(i2, i3, env, static) -{1,1}> main_Load_41(i2, i3, env, static) :|: 0 >= 0
main_Load_41(i2, i3, env, static) -{0,0}> main_Load_42(i2, i3, env, static) :|: 0 >= 0
main_Load_42(i2, i3, env, static) -{0,0}> main_Load_43(i2, i3, env, static) :|: 0 <= static
main_Load_43(i2, i3, env, static) -{0,0}> main_Load_45(i2, i3, env, static) :|: 0 >= 0
main_Load_45(i2, i3, env, static) -{0,0}> main_Load_47(i2, i3, env, static) :|: 0 >= 0
main_Load_47(i2, i3, env, static) -{1,1}> main_InvokeMethod_50(i2, i3, env, static) :|: 0 >= 0
main_InvokeMethod_50(i2, i3, env, static) -{1,1}> createList_New_52(i2, i3, env, static) :|: 0 >= 0
createList_New_52(i2, i3, env, static) -{0,0}> createList_New_54(i2, i3, env, static) :|: 0 >= 0
createList_New_54(i2, i3, env, static) -{0,0}> createList_New_56(i2, i3, env, static) :|: 0 <= static
createList_New_56(i2, i3, env, static) -{1,1}> createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4 = 1 && 0 < o4 && iconst_0 = 0
createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) -{1,1}> langle_init_rangle_Return_86(o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Return_86(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) -{0,0}> langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o6 = 1
langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_126(o6', NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Load_126(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_129(o4, o6', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Return_129(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_132(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' = o4 + o6 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o4'
langle_init_rangle_Load_132(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) -{1,1}> langle_init_rangle_Load_139(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o6 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Load_139(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_154(o6', o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4' && o6' = o6
langle_init_rangle_FieldAccess_154(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_159(o4', i2, i3, o6', iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4'
langle_init_rangle_Return_159(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) -{0,0}> createList_Load_585(i2, o4, i2, i3, o6, iconst_0, iconst_0, o396, env, static) :|: 0 <= iconst_0 && 0 < o6 && 0 < o396 && 0 < o4 && iconst_0 <= 1 && iconst_0 = 0
createList_Load_585(i67, o394, i70, i3, o395, i68, i69, o396, env, static) -{0,0}> createList_Load_1184(i67, o394, i70, i3, o395, i68, i69, o396, o396, o1267, env, static) :|: 0 < o395 && 0 < o396 && 0 < o1267 && 0 < o394 && 0 <= i68 && 0 <= i69 && i69 <= 2 && i68 <= 2 && i68 <= 1 && i69 <= 1
createList_Load_1184(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) -{0,0}> createList_Load_1733(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) :|: 0 <= i219 && i220 <= 2 && 0 < o1267 && 0 < o1268 && 0 <= i220 && 0 < o1266 && 0 < o1265 && i219 <= 2 && 0 < o1264
createList_Load_1733(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) -{0,0}> createList_Load_1961(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) :|: 0 < o2994 && 0 < o2998 && 0 <= i439 && 0 <= i440 && 0 < o2995 && 0 < o2997 && 0 < o2996
createList_Load_1961(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) -{0,0}> createList_Load_2190(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) :|: 0 < o4716 && 0 <= i653 && 0 < o4719 && 0 <= i654 && 0 < o4718 && 0 < o4720 && 0 < o4717
createList_Load_2190(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) -{0,0}> createList_Load_2383(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) :|: 0 < o6478 && 0 <= i889 && 0 < o6476 && 0 <= i890 && 0 < o6477 && 0 < o6479 && 0 < o6480

obtained
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563
by chaining
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < i1035 && 0 < o7563 && 0 < o7562
createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7579 = 1 && 0 < o7563 && 0 < o7562
createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7586 && o7586 = 1 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2463(o7586', o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && o7586' <= o7586 + o7563 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7586' && o7586' = o7586 + o7563 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2463(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2469(o7586', o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && o7586' <= o7586 + o7566 && 0 < o7586' && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2469(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562

obtained
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
by chaining
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{0,0}> addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2490(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2490(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_Load_2502(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2502(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1026 + iconst_1 = i1083 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2528(o7562', o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7562' && 0 < o7949 && o7562' <= o7562 + i1083 && 0 < o7563 && 0 < o7562
addBefore_Load_2528(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 1 <= i1103 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1027 + iconst_1 = i1103 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2552(o7586, i1035, o7562', i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && o7562' <= o7562 + i1103 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 1 <= i1103 && 0 < o7586 && 0 < o7562' && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2552(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && i1035 + -1 = i1147 && 0 < o7563 && 0 < o7562
createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562
createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{0,0}> createList_Load_2383(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 <= i1083 && 0 < o7564 && 0 <= i1103 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562

obtained
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
by chaining
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2489(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2489(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_Load_2501(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2501(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && i1026 + iconst_1 = i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2527(o7562', o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 <= i1027 && o7562' <= o7562 + i1082 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_Load_2527(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && i1027 + iconst_1 = i1102 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2551(o7586, i1035, o7562', i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && o7562' <= o7562 + i1102 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_Load_2551(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && i1035 + -1 = i1146 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{0,0}> createList_Load_2383(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, env, static) :|: 0 <= i1102 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562 && 0 <= i1082

obtained
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
by chaining
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2385(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && i1034 <= 0 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2387(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Return_2389(o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Store_2391(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_Load_2393(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
main_New_2395(i70, i3, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && o7580 = 1 && 0 < o7563 && 0 < o7562
main_Duplicate_2397(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_Load_2399(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2400(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2402(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2405(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2407(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2409(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2411(o7580, i3, i70, o7562, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2413(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
main_InvokeMethod_2414(i70, i3, o7562, o7580, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
offerLast_Load_2416(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
offerLast_Load_2419(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
offerLast_InvokeMethod_2421(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2423(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2425(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_Load_2427(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2429(o7562, o7580, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2431(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7562
addBefore_New_2433(o7562, o7580, o7563, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7621 = 1 && 0 < o7580 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_Duplicate_2438(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2441(o7621, o7562, o7580, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2443(o7621, o7580, o7562, o7563, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2445(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2446(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2448(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2451(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2454(o7621, o7580, o7563, o7562, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_InvokeMethod_2457(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2459(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_InvokeMethod_2462(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2464(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2466(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2468(o7621, o7580, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7580 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2470(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2472(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2474(o7621, o7563, o7566, o7562, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2476(o7621', o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && o7621' <= o7621 + o7563 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' = o7621 + o7563 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2476(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Load_2478(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_FieldAccess_2480(o7621, o7566, o7562, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2483(o7621', o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7621' && 0 < o7566 && 0 <= i1026 && o7621' <= o7621 + o7566 && 0 < o7563 && 0 < o7621 && 0 < o7562
langle_init_rangle_Return_2483(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Store_2488(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2491(o7562, o7621, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562 && 0 < o7621
addBefore_FieldAccess_2494(o7621, o7562, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_Load_2497(o7566, o7562, o7621, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562 && 0 < o7621

(16) Obligation:

IntTrs with 8 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562

(17) MovedArithmeticFromConstraintsProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

Moved arithmethic from constraints to rhss.

addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
was transformed to
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2

addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
was transformed to
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

(18) Obligation:

IntTrs with 8 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563

(19) ExpressionSimplificationProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

Simplified expressions.

addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
was transformed to
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 - 1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= 2 * o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= 2 * o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2

main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
was transformed to
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < o6'3 && o6'3 <= 2 * o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' && 0 < o4'3 && 0 < o6'2 && o4'2 = 1 + o6'2 && static''' <= static + 2 && 0 < o6''' && 0 < o4'2 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 && o6''' = 1 && o6'2 <= 2 * o6'2 && static'1 <= static''' + 1

createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < 1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621''' && o7621''' <= 1 + o7563
was transformed to
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621'''

createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035 && o7586''' <= 1 + o7563
was transformed to
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035

addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
was transformed to
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 - 1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= 2 * o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= 2 * o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

(20) Obligation:

IntTrs with 8 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: nonterm paths and paths from start to sinks
Rules:
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'3, i70, i3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 - 1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= 2 * o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= 2 * o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1035 - 1, o7562'7, i70, i3, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 - 1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= 2 * o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= 2 * o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < o6'3 && o6'3 <= 2 * o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' && 0 < o4'3 && 0 < o6'2 && o4'2 = 1 + o6'2 && static''' <= static + 2 && 0 < o6''' && 0 < o4'2 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 && o6''' = 1 && o6'2 <= 2 * o6'2 && static'1 <= static''' + 1
addBefore_FieldAccess_2500(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2504(o8050, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o8050 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
createList_LE_2384(i1034, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{47,47}> addBefore_FieldAccess_2500(o7566, o7621'1, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: i1034 <= 0 && 0 < o7621'1 && 0 < o7562 && 0 < o7565 && 0 < o7563 && 0 < o7564 && 0 <= i1026 && 0 < o7566 && 0 <= i1027 && o7621'1 <= o7621''' + o7566 && o7621''' = 1 + o7563 && 0 < o7621'''
addBefore_FieldAccess_2500(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2503(o7566, o7621, o7562, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7621 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{41,41}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < o7562 && 0 < o7564 && 0 < o7563 && 1 <= i1035 && 0 <= i1026 && 0 < o7565 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586''' = 1 + o7563 && o7586'1 <= o7586''' + o7566 && 0 < o7586''' && 0 < i1035

(21) TerminationGraphToComplexityProof (BOTH CONCRETE BOUNDS(ID, ADD(89)) transformation)

Extracted set of 183 edges for the analysis of TIME complexity. Dropped leaves.

(22) Obligation:

Set of 183 edges based on JBC Program.
Performed SCC analyses:
  • Used field analysis yielded the following read fields:
    • javaUtilEx.LinkedList: [header, size]
    • javaUtilEx.LinkedList$Entry: [previous, next]
    • javaUtilEx.AbstractList: [modCount]

Considered paths: all paths from start

(23) JBCGraphEdgesToCpxIntTrsProof (CONCRETE UPPER BOUND(ID) transformation)

Transformed 183 jbc graph edges to a weighted ITS with 183 rules.
Used simplified encoding of division and modulo.
Filtered conditions with variables that do not depend on the variables on the lhs or rhs without taking transitive dependencies into account.
Filtered fields of type java.lang.Object.
Did no encode lower bounds for putfield and astore.

(24) Obligation:

IntTrs with 183 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: all paths from start
Rules:
main_Load_2(i2, i3, env, static) -{0,0}> main_Load_4(i2, i3, env, static) :|: 0 >= 0
main_Load_4(i2, i3, env, static) -{0,0}> langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) -{1,1}> langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) :|: iconst_0 = 0
langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) :|: a2 = 2 && iconst_0 = 0 && 0 < a2
langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) -{1,1}> langle_clinit_rangle_New_16(i2, i3, env, static') :|: 0 <= a2 && iconst_0 = 0 && static' <= static + a2 && 0 <= static && 0 < a2
langle_clinit_rangle_New_16(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_18(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_New_18(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_19(i2, i3, env, static) :|: 0 <= static
langle_clinit_rangle_New_19(i2, i3, env, static) -{1,1}> langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) :|: 0 < o2 && o2 = 1
langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_25(o2, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_init_rangle_Load_25(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_30(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Load_30(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_36(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_36(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_37(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_37(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_Return_39(i2, i3, env, static') :|: 0 < o2 && 0 <= o2 && 0 <= static && static' <= static + o2
langle_clinit_rangle_Return_39(i2, i3, env, static) -{1,1}> main_Load_41(i2, i3, env, static) :|: 0 >= 0
main_Load_41(i2, i3, env, static) -{0,0}> main_Load_42(i2, i3, env, static) :|: 0 >= 0
main_Load_42(i2, i3, env, static) -{0,0}> main_Load_43(i2, i3, env, static) :|: 0 <= static
main_Load_43(i2, i3, env, static) -{0,0}> main_Load_45(i2, i3, env, static) :|: 0 >= 0
main_Load_45(i2, i3, env, static) -{0,0}> main_Load_47(i2, i3, env, static) :|: 0 >= 0
main_Load_47(i2, i3, env, static) -{1,1}> main_InvokeMethod_50(i2, i3, env, static) :|: 0 >= 0
main_InvokeMethod_50(i2, i3, env, static) -{1,1}> createList_New_52(i2, i3, env, static) :|: 0 >= 0
createList_New_52(i2, i3, env, static) -{0,0}> createList_New_54(i2, i3, env, static) :|: 0 >= 0
createList_New_54(i2, i3, env, static) -{0,0}> createList_New_56(i2, i3, env, static) :|: 0 <= static
createList_New_56(i2, i3, env, static) -{1,1}> createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4 = 1 && 0 < o4 && iconst_0 = 0
createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) -{1,1}> langle_init_rangle_Return_86(o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Return_86(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) -{0,0}> langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o6 = 1
langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_126(o6', NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Load_126(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_129(o4, o6', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Return_129(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_132(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' = o4 + o6 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o4'
langle_init_rangle_Load_132(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) -{1,1}> langle_init_rangle_Load_139(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o6 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Load_139(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_154(o6', o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4' && o6' = o6
langle_init_rangle_FieldAccess_154(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_159(o4', i2, i3, o6', iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4'
langle_init_rangle_Return_159(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) -{0,0}> createList_Load_585(i2, o4, i2, i3, o6, iconst_0, iconst_0, o396, env, static) :|: 0 <= iconst_0 && 0 < o6 && 0 < o396 && 0 < o4 && iconst_0 <= 1 && iconst_0 = 0
createList_Load_585(i67, o394, i70, i3, o395, i68, i69, o396, env, static) -{0,0}> createList_Load_1184(i67, o394, i70, i3, o395, i68, i69, o396, o396, o1267, env, static) :|: 0 < o395 && 0 < o396 && 0 < o1267 && 0 < o394 && 0 <= i68 && 0 <= i69 && i69 <= 2 && i68 <= 2 && i68 <= 1 && i69 <= 1
createList_Load_1184(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) -{0,0}> createList_Load_1733(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) :|: 0 <= i219 && i220 <= 2 && 0 < o1267 && 0 < o1268 && 0 <= i220 && 0 < o1266 && 0 < o1265 && i219 <= 2 && 0 < o1264
createList_Load_1733(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) -{0,0}> createList_Load_1961(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) :|: 0 < o2994 && 0 < o2998 && 0 <= i439 && 0 <= i440 && 0 < o2995 && 0 < o2997 && 0 < o2996
createList_Load_1961(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) -{0,0}> createList_Load_2190(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) :|: 0 < o4716 && 0 <= i653 && 0 < o4719 && 0 <= i654 && 0 < o4718 && 0 < o4720 && 0 < o4717
createList_Load_2190(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) -{0,0}> createList_Load_2383(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) :|: 0 < o6478 && 0 <= i889 && 0 < o6476 && 0 <= i890 && 0 < o6477 && 0 < o6479 && 0 < o6480
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < i1035 && 0 < o7563 && 0 < o7562
createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7579 = 1 && 0 < o7563 && 0 < o7562
createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7586 && o7586 = 1 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2463(o7586', o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && o7586' <= o7586 + o7563 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7586' && o7586' = o7586 + o7563 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2463(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2469(o7586', o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && o7586' <= o7586 + o7566 && 0 < o7586' && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2469(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{0,0}> addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2489(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2490(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2489(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2490(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_Load_2501(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_Load_2502(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2501(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2502(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && i1026 + iconst_1 = i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1026 + iconst_1 = i1083 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2527(o7562', o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 <= i1027 && o7562' <= o7562 + i1082 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2528(o7562', o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7562' && 0 < o7949 && o7562' <= o7562 + i1083 && 0 < o7563 && 0 < o7562
addBefore_Load_2527(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Load_2528(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && i1027 + iconst_1 = i1102 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 1 <= i1103 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1027 + iconst_1 = i1103 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2551(o7586, i1035, o7562', i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && o7562' <= o7562 + i1102 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2552(o7586, i1035, o7562', i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && o7562' <= o7562 + i1103 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 1 <= i1103 && 0 < o7586 && 0 < o7562' && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2551(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Load_2552(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && i1035 + -1 = i1146 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && i1035 + -1 = i1147 && 0 < o7563 && 0 < o7562
createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562
createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{0,0}> createList_Load_2383(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, env, static) :|: 0 <= i1102 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562 && 0 <= i1082
createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{0,0}> createList_Load_2383(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 <= i1083 && 0 < o7564 && 0 <= i1103 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562

(25) StraightLineCodeCompressionProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

obtained
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
by chaining
main_Load_2(i2, i3, env, static) -{0,0}> main_Load_4(i2, i3, env, static) :|: 0 >= 0
main_Load_4(i2, i3, env, static) -{0,0}> langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_ConstantStackPush_6(i2, i3, env, static) -{1,1}> langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) :|: iconst_0 = 0
langle_clinit_rangle_ArrayCreate_12(iconst_0, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) :|: a2 = 2 && iconst_0 = 0 && 0 < a2
langle_clinit_rangle_FieldAccess_14(a2, i2, i3, iconst_0, env, static) -{1,1}> langle_clinit_rangle_New_16(i2, i3, env, static') :|: 0 <= a2 && iconst_0 = 0 && static' <= static + a2 && 0 <= static && 0 < a2
langle_clinit_rangle_New_16(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_18(i2, i3, env, static) :|: 0 >= 0
langle_clinit_rangle_New_18(i2, i3, env, static) -{0,0}> langle_clinit_rangle_New_19(i2, i3, env, static) :|: 0 <= static
langle_clinit_rangle_New_19(i2, i3, env, static) -{1,1}> langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) :|: 0 < o2 && o2 = 1
langle_clinit_rangle_Duplicate_20(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_ConstantStackPush_22(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_clinit_rangle_InvokeMethod_23(o2, NULL, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_25(o2, i2, i3, env, static) :|: NULL = 0 && 0 < o2
langle_init_rangle_Load_25(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_28(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Load_30(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Load_30(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_InvokeMethod_34(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_36(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_36(o2, i2, i3, env, static) -{1,1}> langle_init_rangle_Return_37(o2, i2, i3, env, static) :|: 0 < o2
langle_init_rangle_Return_37(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) :|: 0 < o2
langle_clinit_rangle_FieldAccess_38(o2, i2, i3, env, static) -{1,1}> langle_clinit_rangle_Return_39(i2, i3, env, static') :|: 0 < o2 && 0 <= o2 && 0 <= static && static' <= static + o2
langle_clinit_rangle_Return_39(i2, i3, env, static) -{1,1}> main_Load_41(i2, i3, env, static) :|: 0 >= 0
main_Load_41(i2, i3, env, static) -{0,0}> main_Load_42(i2, i3, env, static) :|: 0 >= 0
main_Load_42(i2, i3, env, static) -{0,0}> main_Load_43(i2, i3, env, static) :|: 0 <= static
main_Load_43(i2, i3, env, static) -{0,0}> main_Load_45(i2, i3, env, static) :|: 0 >= 0
main_Load_45(i2, i3, env, static) -{0,0}> main_Load_47(i2, i3, env, static) :|: 0 >= 0
main_Load_47(i2, i3, env, static) -{1,1}> main_InvokeMethod_50(i2, i3, env, static) :|: 0 >= 0
main_InvokeMethod_50(i2, i3, env, static) -{1,1}> createList_New_52(i2, i3, env, static) :|: 0 >= 0
createList_New_52(i2, i3, env, static) -{0,0}> createList_New_54(i2, i3, env, static) :|: 0 >= 0
createList_New_54(i2, i3, env, static) -{0,0}> createList_New_56(i2, i3, env, static) :|: 0 <= static
createList_New_56(i2, i3, env, static) -{1,1}> createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4 = 1 && 0 < o4 && iconst_0 = 0
createList_Duplicate_58(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
createList_InvokeMethod_60(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_62(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_64(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_66(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_69(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_71(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_73(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_75(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_80(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_81(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_82(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_83(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_84(o4, iconst_0, i2, i3, NULL, env, static) -{1,1}> langle_init_rangle_Return_86(o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Return_86(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Return_88(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_90(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_93(o4, i2, i3, NULL, iconst_0, env, static) -{0,0}> langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o4 && iconst_0 = 0
langle_init_rangle_New_95(o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o6 = 1
langle_init_rangle_Duplicate_97(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_100(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_103(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_105(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_107(o4, o6, NULL, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_109(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_InvokeMethod_111(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_114(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_116(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_119(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_122(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_124(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_125(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_126(o6', NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Load_126(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_127(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_128(o6, NULL, o4, i2, i3, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_129(o4, o6', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && o6' <= o6 + NULL && 0 < o4 && o6' = o6 + NULL && iconst_0 = 0 && 0 < o6'
langle_init_rangle_Return_129(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_130(o4, o6, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_132(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' = o4 + o6 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o4'
langle_init_rangle_Load_132(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_ConstantStackPush_135(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_137(o4, iconst_0, i2, i3, o6, NULL, env, static) -{1,1}> langle_init_rangle_Load_139(o4', i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && o4' <= o4 && 0 < o6 && 0 < o4 && o4' <= o4 + iconst_0 && iconst_0 = 0 && o4' = o4 && 0 < o4'
langle_init_rangle_Load_139(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_142(o4, i2, i3, o6, iconst_0, NULL, env, static) -{1,1}> langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_144(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_147(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Load_149(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_150(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_Duplicate_151(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0
langle_init_rangle_FieldAccess_152(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_FieldAccess_154(o6', o4', i2, i3, NULL, iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4' && o6' = o6
langle_init_rangle_FieldAccess_154(o6, o4, i2, i3, NULL, iconst_0, env, static) -{1,1}> langle_init_rangle_Return_159(o4', i2, i3, o6', iconst_0, env, static) :|: NULL = 0 && 0 < o6 && 0 < o4 && iconst_0 = 0 && o4' <= o4 + o6 && 0 < o6' && o6' <= o6 + o6 && 0 < o4'
langle_init_rangle_Return_159(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Store_160(o4, i2, i3, o6, iconst_0, env, static) -{1,1}> createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) :|: 0 < o6 && 0 < o4 && iconst_0 = 0
createList_Load_161(i2, o4, i3, o6, iconst_0, env, static) -{0,0}> createList_Load_585(i2, o4, i2, i3, o6, iconst_0, iconst_0, o396, env, static) :|: 0 <= iconst_0 && 0 < o6 && 0 < o396 && 0 < o4 && iconst_0 <= 1 && iconst_0 = 0
createList_Load_585(i67, o394, i70, i3, o395, i68, i69, o396, env, static) -{0,0}> createList_Load_1184(i67, o394, i70, i3, o395, i68, i69, o396, o396, o1267, env, static) :|: 0 < o395 && 0 < o396 && 0 < o1267 && 0 < o394 && 0 <= i68 && 0 <= i69 && i69 <= 2 && i68 <= 2 && i68 <= 1 && i69 <= 1
createList_Load_1184(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) -{0,0}> createList_Load_1733(i218, o1264, i70, i3, o1265, i219, i220, o1266, o1268, o1267, env, static) :|: 0 <= i219 && i220 <= 2 && 0 < o1267 && 0 < o1268 && 0 <= i220 && 0 < o1266 && 0 < o1265 && i219 <= 2 && 0 < o1264
createList_Load_1733(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) -{0,0}> createList_Load_1961(i438, o2994, i70, i3, o2995, i439, i440, o2996, o2998, o2997, env, static) :|: 0 < o2994 && 0 < o2998 && 0 <= i439 && 0 <= i440 && 0 < o2995 && 0 < o2997 && 0 < o2996
createList_Load_1961(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) -{0,0}> createList_Load_2190(i652, o4716, i70, i3, o4717, i653, i654, o4718, o4720, o4719, env, static) :|: 0 < o4716 && 0 <= i653 && 0 < o4719 && 0 <= i654 && 0 < o4718 && 0 < o4720 && 0 < o4717
createList_Load_2190(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) -{0,0}> createList_Load_2383(i888, o6476, i70, i3, o6477, i889, i890, o6478, o6480, o6479, env, static) :|: 0 < o6478 && 0 <= i889 && 0 < o6476 && 0 <= i890 && 0 < o6477 && 0 < o6479 && 0 < o6480

obtained
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{42,42}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1025, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < i1025 && 0 < o7563 && 0 < o7565 && 0 <= i1026 && 1 <= i1025 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586'1 <= o7586''' + o7566 && 0 < o7564 && 0 < o7586''' && o7586''' = 1 + o7563 && o7586''' <= 1 + o7563
by chaining
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_LE_2384(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2384(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{0,0}> createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_LE_2386(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < i1035 && 0 < o7563 && 0 < o7562
createList_Load_2388(i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_New_2390(o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && o7579 = 1 && 0 < o7563 && 0 < o7562
createList_Duplicate_2392(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_Load_2394(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2396(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2398(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2401(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2403(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2404(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2406(o7579, i1035, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2408(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
createList_InvokeMethod_2410(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2412(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2415(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_Load_2417(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_FieldAccess_2418(o7562, o7579, i1035, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addLast_InvokeMethod_2420(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) :|: 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_New_2422(o7562, o7579, o7563, i1035, i70, i3, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7566 && 0 < o7586 && o7586 = 1 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2424(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2426(o7586, o7562, o7579, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2428(o7586, o7579, o7562, o7563, i1035, i70, i3, NULL, i1026, i1027, o7564, o7566, o7565, env, static) -{1,1}> addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Load_2430(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2432(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2434(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2436(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{0,0}> addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2439(o7586, o7579, o7563, o7562, i1035, i70, i3, NULL, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_InvokeMethod_2442(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2444(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_InvokeMethod_2447(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2450(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2453(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2456(o7586, o7579, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 0 < o7579 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2458(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2460(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2461(o7586, o7563, o7566, o7562, i1035, i70, i3, NULL, o7564, i1026, i1027, o7565, env, static) -{1,1}> langle_init_rangle_Load_2463(o7586', o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 0 < o7564 && o7586' <= o7586 + o7563 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7586' && o7586' = o7586 + o7563 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2463(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_Load_2465(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
langle_init_rangle_FieldAccess_2467(o7586, o7566, o7562, i1035, i70, i3, o7563, NULL, i1026, i1027, o7564, o7565, env, static) -{1,1}> langle_init_rangle_Return_2469(o7586', o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: NULL = 0 && 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && o7586' <= o7586 + o7566 && 0 < o7586' && 0 < o7563 && 0 < o7562
langle_init_rangle_Return_2469(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Store_2471(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2473(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2475(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2477(o7566, o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562

obtained
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
by chaining
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2482(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{0,0}> addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2486(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2490(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2490(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2493(o7586, o7562, i1035, i70, i3, o7563, o7949, i1026, i1027, o7564, env, static) -{1,1}> addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2496(o7563, o7562, o7586, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2499(o7563, o7586, o7562, i1035, i70, i3, o7564, o7949, i1026, i1027, env, static) -{1,1}> addBefore_Load_2502(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7949', o7564', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7562' && 0 < o7949 && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && 1 <= i1035 && 0 < o7949' && o7586' <= o7586 + o7586 && 0 < o7564' && o7949' <= o7949 + o7586 && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2502(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2506(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2512(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2516(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2520(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1026 + iconst_1 = i1083 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2524(o7562, i1083, o7586, i1035, i70, i3, o7563, i1026, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2528(o7562', o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7562' && 0 < o7949 && o7562' <= o7562 + i1083 && 0 < o7563 && 0 < o7562
addBefore_Load_2528(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2532(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2536(o7562, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2540(o7562, i1027, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2544(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1083, o7949, o7564, env, static) -{1,1}> addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && 1 <= i1103 && 0 < o7586 && iconst_1 = 1 && 0 < o7949 && i1027 + iconst_1 = i1103 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2548(o7562, i1103, o7586, i1035, i70, i3, o7563, i1083, i1027, o7949, o7564, env, static) -{1,1}> addBefore_Load_2552(o7586, i1035, o7562', i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && o7562' <= o7562 + i1103 && 0 < o7564 && 1 <= i1083 && 0 <= i1027 && o7562 < o7562' && 1 <= i1103 && 0 < o7586 && 0 < o7562' && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Load_2552(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addBefore_Return_2556(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_StackPop_2560(o7586, i1035, o7562, i70, i3, o7563, o7949, i1083, i1103, o7564, env, static) -{1,1}> addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
addLast_Return_2564(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 < o7563 && 0 < o7562
createList_Inc_2568(i1035, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && i1035 + -1 = i1147 && 0 < o7563 && 0 < o7562
createList_JMP_2572(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{1,1}> createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 < o7564 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562
createList_Load_2576(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) -{0,0}> createList_Load_2383(i1147, o7562, i70, i3, o7563, i1083, i1103, o7564, o7586, o7949, env, static) :|: 0 <= i1083 && 0 < o7564 && 0 <= i1103 && 1 <= i1083 && 1 <= i1103 && 0 < o7586 && 0 < o7949 && 0 <= i1147 && 0 < o7563 && 0 < o7562

obtained
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
by chaining
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2481(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{0,0}> addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2484(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2489(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7566 && 0 < o7586 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2489(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2492(o7586, o7562, i1035, i70, i3, o7563, o7566, i1026, i1027, o7564, o7565, env, static) -{1,1}> addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_Load_2495(o7563, o7562, o7586, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2498(o7563, o7586, o7562, i1035, i70, i3, o7564, o7566, i1026, i1027, o7565, env, static) -{1,1}> addBefore_Load_2501(o7562', o7586', i1035, i70, i3, o7563', i1026, i1027, o7566', o7564', o7565', env, static) :|: 0 < o7564 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 0 <= i1026 && 0 < o7563' && 0 < o7565' && 0 < o7562' && 0 < o7586' && o7562' <= o7562 + o7586 && o7564' <= o7564 + o7586 && o7565' <= o7565 + o7586 && o7566' <= o7566 + o7586 && 1 <= i1035 && 0 < o7565 && o7586' <= o7586 + o7586 && 0 < o7566' && 0 < o7564' && o7563' <= o7563 + o7586 && 0 < o7563 && 0 < o7562
addBefore_Load_2501(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2505(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2511(o7562, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2515(o7562, i1026, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2519(o7562, i1026, iconst_1, o7586, i1035, i70, i3, o7563, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 <= i1026 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && i1026 + iconst_1 = i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2523(o7562, i1082, o7586, i1035, i70, i3, o7563, i1026, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2527(o7562', o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 0 < o7564 && 0 <= i1027 && o7562' <= o7562 + i1082 && o7562 < o7562' && 0 < o7586 && 0 <= i1026 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_Load_2527(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Duplicate_2531(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2535(o7562, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_ConstantStackPush_2539(o7562, i1027, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_IntArithmetic_2543(o7562, i1027, iconst_1, o7586, i1035, i70, i3, o7563, i1082, o7566, o7564, o7565, env, static) -{1,1}> addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 <= i1027 && 0 < o7586 && 0 < o7566 && iconst_1 = 1 && i1027 + iconst_1 = i1102 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_FieldAccess_2547(o7562, i1102, o7586, i1035, i70, i3, o7563, i1082, i1027, o7566, o7564, o7565, env, static) -{1,1}> addBefore_Load_2551(o7586, i1035, o7562', i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 <= i1027 && o7562 < o7562' && 0 < o7586 && 0 < o7566 && 0 < o7562' && 1 <= i1082 && 1 <= i1035 && o7562' <= o7562 + i1102 && 0 < o7565 && 0 < o7563 && 0 < o7562
addBefore_Load_2551(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addBefore_Return_2555(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_StackPop_2559(o7586, i1035, o7562, i70, i3, o7563, o7566, i1082, i1102, o7564, o7565, env, static) -{1,1}> addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
addLast_Return_2563(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Inc_2567(i1035, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 1 <= i1035 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && i1035 + -1 = i1146 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_JMP_2571(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{1,1}> createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) :|: 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562
createList_Load_2575(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, o7566, env, static) -{0,0}> createList_Load_2383(i1146, o7562, i70, i3, o7563, i1082, i1102, o7564, o7586, o7565, env, static) :|: 0 <= i1102 && 0 < o7564 && 1 <= i1102 && 0 < o7565 && 0 < o7586 && 0 < o7566 && 0 <= i1146 && 1 <= i1082 && 0 < o7563 && 0 < o7562 && 0 <= i1082

(26) Obligation:

IntTrs with 4 rules
Start term: main_Load_2(#0, #1, env, static)
Considered paths: all paths from start
Rules:
main_Load_2(i2, i3, env, static) -{68,68}> createList_Load_2383(i2, o4'4, i2, i3, o6'3, 0, 0, o396', o396', o1267', env, static'1) :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
createList_Load_2383(i1025, o7562, i70, i3, o7563, i1026, i1027, o7564, o7566, o7565, env, static) -{42,42}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1025, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) :|: 0 < 1 && 0 < o7562 && 0 < i1025 && 0 < o7563 && 0 < o7565 && 0 <= i1026 && 1 <= i1025 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586'1 <= o7586''' + o7566 && 0 < o7564 && 0 < o7586''' && o7586''' = 1 + o7563 && o7586''' <= 1 + o7563
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1147', o7562'3, i70, i3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1, env, static) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, i70, i3, o7563, i1026, i1027, o7564, o7565, env, static) -{23,23}> createList_Load_2383(i1146', o7562'7, i70, i3, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1, env, static) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

(27) WeightedIntTrsUnneededArgumentFilterProof (CONCRETE UPPER BOUND(ID) transformation)

Some arguments are removed because they cannot influence termination. We removed arguments according to the following replacements:

main_Load_2(x1, x2, x3, x4) → main_Load_2(x1, x4)
createList_Load_2383(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) → createList_Load_2383(x1, x2, x5, x6, x7, x8, x9, x10)
addBefore_FieldAccess_2479(x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13) → addBefore_FieldAccess_2479(x1, x2, x3, x4, x7, x8, x9, x10, x11)

(28) Obligation:

IntTrs with 4 rules
Start term: main_Load_2(#0, static)
Considered paths: all paths from start
Rules:
main_Load_2(i2, static) -{68,68}> createList_Load_2383(i2, o4'4, o6'3, 0, 0, o396', o396', o1267') :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
createList_Load_2383(i1025, o7562, o7563, i1026, i1027, o7564, o7566, o7565) -{42,42}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1025, o7563, i1026, i1027, o7564, o7565) :|: 0 < 1 && 0 < o7562 && 0 < i1025 && 0 < o7563 && 0 < o7565 && 0 <= i1026 && 1 <= i1025 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586'1 <= o7586''' + o7566 && 0 < o7564 && 0 < o7586''' && o7586''' = 1 + o7563 && o7586''' <= 1 + o7563
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1147', o7562'3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1146', o7562'7, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

(29) MovedArithmeticFromConstraintsProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

Moved arithmethic from constraints to rhss.

addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1146', o7562'7, o7563'3, i1082', i1102', o7564'3, o7586'5, o7565'1) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
was transformed to
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1147', o7562'3, o7563'1, i1083', i1103', o7564'1, o7586'3, o7949'1) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
was transformed to
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2

(30) Obligation:

IntTrs with 4 rules
Start term: main_Load_2(#0, static)
Considered paths: all paths from start
Rules:
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
createList_Load_2383(i1025, o7562, o7563, i1026, i1027, o7564, o7566, o7565) -{42,42}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1025, o7563, i1026, i1027, o7564, o7565) :|: 0 < 1 && 0 < o7562 && 0 < i1025 && 0 < o7563 && 0 < o7565 && 0 <= i1026 && 1 <= i1025 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586'1 <= o7586''' + o7566 && 0 < o7564 && 0 < o7586''' && o7586''' = 1 + o7563 && o7586''' <= 1 + o7563
main_Load_2(i2, static) -{68,68}> createList_Load_2383(i2, o4'4, o6'3, 0, 0, o396', o396', o1267') :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1

(31) ExpressionSimplificationProof (BOTH CONCRETE BOUNDS(ID, ID) transformation)

Simplified expressions.

addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 + -1, o7562'7, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 + -1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= o7586 + o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= o7586'4 + o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
was transformed to
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 - 1, o7562'7, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 - 1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= 2 * o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= 2 * o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6

addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 + -1, o7562'3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 + -1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= o7586 + o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= o7586'2 + o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
was transformed to
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 - 1, o7562'3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 - 1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= 2 * o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= 2 * o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2

main_Load_2(i2, static) -{68,68}> createList_Load_2383(i2, o4'4, o6'3, 0, 0, o396', o396', o1267') :|: 0 <= 1 && 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < 2 && 0 < o6'3 && o6'3 <= o6'2 + o6'2 && 0 <= 0 && o4'2 <= 1 + o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' + 0 && 0 < 1 && 0 < o4'3 && 1 <= 1 && 0 < o6'2 && o4'2 = 1 + o6'2 && o6'2 <= o6''' + 0 && static''' <= static + 2 && 0 < o6''' && o4'2 <= o4'2 && o6''' <= 1 + 0 && 0 < o4'2 && 1 <= 1 + 0 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 + 0 && o6''' = 1 + 0 && o6'2 <= o6'2 + o6'2 && 0 <= 2 && 0 >= 0 && static'1 <= static''' + 1
was transformed to
main_Load_2(i2, static) -{68,68}> createList_Load_2383(i2, o4'4, o6'3, 0, 0, o396', o396', o1267') :|: 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < o6'3 && o6'3 <= 2 * o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' && 0 < o4'3 && 0 < o6'2 && o4'2 = 1 + o6'2 && static''' <= static + 2 && 0 < o6''' && 0 < o4'2 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 && o6''' = 1 && o6'2 <= 2 * o6'2 && static'1 <= static''' + 1

createList_Load_2383(i1025, o7562, o7563, i1026, i1027, o7564, o7566, o7565) -{42,42}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1025, o7563, i1026, i1027, o7564, o7565) :|: 0 < 1 && 0 < o7562 && 0 < i1025 && 0 < o7563 && 0 < o7565 && 0 <= i1026 && 1 <= i1025 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586'1 <= o7586''' + o7566 && 0 < o7564 && 0 < o7586''' && o7586''' = 1 + o7563 && o7586''' <= 1 + o7563
was transformed to
createList_Load_2383(i1025, o7562, o7563, i1026, i1027, o7564, o7566, o7565) -{42,42}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1025, o7563, i1026, i1027, o7564, o7565) :|: 0 < o7562 && 0 < i1025 && 0 < o7563 && 0 < o7565 && 0 <= i1026 && 1 <= i1025 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586'1 <= o7586''' + o7566 && 0 < o7564 && 0 < o7586''' && o7586''' = 1 + o7563

(32) Obligation:

IntTrs with 4 rules
Start term: main_Load_2(#0, static)
Considered paths: all paths from start
Rules:
createList_Load_2383(i1025, o7562, o7563, i1026, i1027, o7564, o7566, o7565) -{42,42}> addBefore_FieldAccess_2479(o7566, o7586'1, o7562, i1025, o7563, i1026, i1027, o7564, o7565) :|: 0 < o7562 && 0 < i1025 && 0 < o7563 && 0 < o7565 && 0 <= i1026 && 1 <= i1025 && 0 < o7586'1 && 0 <= i1027 && 0 < o7566 && o7586'1 <= o7586''' + o7566 && 0 < o7564 && 0 < o7586''' && o7586''' = 1 + o7563
addBefore_FieldAccess_2479(o7949, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 - 1, o7562'3, o7563'1, i1026 + 1, i1027 + 1, o7564'1, o7586'3, o7949'1) :|: o7562''' <= o7562 + o7586 && 0 < o7562'3 && o7564''' <= o7564 + o7586 && 0 < o7563'1 && 0 < o7949 && 0 <= i1147' && i1035 - 1 = i1147' && 0 < o7949'1 && i1027 + 1 = i1103' && 0 < o7586'3 && i1026 + 1 = i1083' && 1 <= i1103' && o7586'2 <= 2 * o7586 && 1 <= i1083' && 0 < o7949''' && 0 <= i1103' && 0 < o7564''' && 0 <= i1083' && 0 < o7564'1 && o7562'1 <= o7562''' + o7586'2 && 1 <= i1035 && 0 < o7586'2 && o7564'1 <= o7564''' + o7586'2 && 0 < o7586 && o7586'3 <= 2 * o7586'2 && o7949''' <= o7949 + o7586 && o7563''' <= o7563 + o7586 && o7562'1 < o7562'2 && o7562'3 <= o7562'2 + i1103' && o7949'1 <= o7949''' + o7586'2 && 0 < o7565 && 0 <= i1026 && 0 <= i1027 && o7563'1 <= o7563''' + o7586'2 && o7562'2 < o7562'3 && 0 < o7563 && 0 < o7563''' && o7562'2 <= o7562'1 + i1083' && 0 < o7564 && 0 < o7562 && 0 < o7562''' && 0 < o7562'1 && 0 < o7562'2
addBefore_FieldAccess_2479(o7566, o7586, o7562, i1035, o7563, i1026, i1027, o7564, o7565) -{23,23}> createList_Load_2383(i1035 - 1, o7562'7, o7563'3, i1026 + 1, i1027 + 1, o7564'3, o7586'5, o7565'1) :|: o7562'4 <= o7562 + o7586 && 0 <= i1082' && o7564'2 <= o7564 + o7586 && 0 < o7562'7 && o7565''' <= o7565 + o7586 && 0 < o7563'3 && i1026 + 1 = i1082' && 1 <= i1082' && i1027 + 1 = i1102' && 0 <= i1146' && i1035 - 1 = i1146' && 0 < o7566'1 && o7566''' <= o7566 + o7586 && 0 < o7586'5 && 0 < o7566''' && 0 < o7565'1 && 0 < o7564'2 && 1 <= i1102' && o7562'5 <= o7562'4 + o7586'4 && 0 <= i1102' && 0 < o7564'3 && 0 < o7586'4 && 1 <= i1035 && o7564'3 <= o7564'2 + o7586'4 && o7565'1 <= o7565''' + o7586'4 && o7566'1 <= o7566''' + o7586'4 && o7586'4 <= 2 * o7586 && 0 < o7565''' && o7562'6 <= o7562'5 + i1082' && 0 < o7586 && o7562'5 < o7562'6 && o7586'5 <= 2 * o7586'4 && 0 <= i1027 && 0 < o7566 && o7562'6 < o7562'7 && 0 <= i1026 && o7563'2 <= o7563 + o7586 && 0 < o7565 && o7563'3 <= o7563'2 + o7586'4 && 0 < o7563 && 0 < o7563'2 && o7562'7 <= o7562'6 + i1102' && 0 < o7564 && 0 < o7562 && 0 < o7562'4 && 0 < o7562'5 && 0 < o7562'6
main_Load_2(i2, static) -{68,68}> createList_Load_2383(i2, o4'4, o6'3, 0, 0, o396', o396', o1267') :|: 0 < o396' && 0 <= static'1 && 0 < o1267' && 0 < o6'3 && o6'3 <= 2 * o6'2 && 0 < o4'4 && 0 <= static && o4'4 <= o4'3 + o6'2 && o6'2 = o6''' && 0 < o4'3 && 0 < o6'2 && o4'2 = 1 + o6'2 && static''' <= static + 2 && 0 < o6''' && 0 < o4'2 && 0 <= static''' && o4'3 <= o4'2 + o6'2 && o4'2 <= o4'2 && o6''' = 1 && o6'2 <= 2 * o6'2 && static'1 <= static''' + 1

(33) koat Proof (EQUIVALENT transformation)

YES(?, 176*ar_0 + 68)

Initial complexity problem:
1: T:
(Comp: ?, Cost: 42) createList_Load_2383(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(addBefore_FieldAccess_2479(ar_6, o7586'1, ar_1, ar_0, ar_2, ar_3, ar_4, ar_5, ar_7)) [ 0 < ar_1 /\ 0 < ar_0 /\ 0 < ar_2 /\ 0 < ar_7 /\ 0 <= ar_3 /\ 1 <= ar_0 /\ 0 < o7586'1 /\ 0 <= ar_4 /\ 0 < ar_6 /\ o7586'1 <= o7586''' + ar_6 /\ 0 < ar_5 /\ 0 < o7586''' /\ o7586''' = ar_2 + 1 ]
(Comp: ?, Cost: 23) addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'3, o7563'1, ar_5 + 1, ar_6 + 1, o7564'1, o7586'3, o7949'1, arityPad)) [ o7562''' <= ar_2 + ar_1 /\ 0 < o7562'3 /\ o7564''' <= ar_7 + ar_1 /\ 0 < o7563'1 /\ 0 < ar_0 /\ 0 <= i1147' /\ ar_3 - 1 = i1147' /\ 0 < o7949'1 /\ ar_6 + 1 = i1103' /\ 0 < o7586'3 /\ ar_5 + 1 = i1083' /\ 1 <= i1103' /\ o7586'2 <= 2*ar_1 /\ 1 <= i1083' /\ 0 < o7949''' /\ 0 <= i1103' /\ 0 < o7564''' /\ 0 <= i1083' /\ 0 < o7564'1 /\ o7562'1 <= o7562''' + o7586'2 /\ 1 <= ar_3 /\ 0 < o7586'2 /\ o7564'1 <= o7564''' + o7586'2 /\ 0 < ar_1 /\ o7586'3 <= 2*o7586'2 /\ o7949''' <= ar_0 + ar_1 /\ o7563''' <= ar_4 + ar_1 /\ o7562'1 < o7562'2 /\ o7562'3 <= o7562'2 + i1103' /\ o7949'1 <= o7949''' + o7586'2 /\ 0 < ar_8 /\ 0 <= ar_5 /\ 0 <= ar_6 /\ o7563'1 <= o7563''' + o7586'2 /\ o7562'2 < o7562'3 /\ 0 < ar_4 /\ 0 < o7563''' /\ o7562'2 <= o7562'1 + i1083' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562''' /\ 0 < o7562'1 /\ 0 < o7562'2 ]
(Comp: ?, Cost: 23) addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'7, o7563'3, ar_5 + 1, ar_6 + 1, o7564'3, o7586'5, o7565'1, arityPad)) [ o7562'4 <= ar_2 + ar_1 /\ 0 <= i1082' /\ o7564'2 <= ar_7 + ar_1 /\ 0 < o7562'7 /\ o7565''' <= ar_8 + ar_1 /\ 0 < o7563'3 /\ ar_5 + 1 = i1082' /\ 1 <= i1082' /\ ar_6 + 1 = i1102' /\ 0 <= i1146' /\ ar_3 - 1 = i1146' /\ 0 < o7566'1 /\ o7566''' <= ar_0 + ar_1 /\ 0 < o7586'5 /\ 0 < o7566''' /\ 0 < o7565'1 /\ 0 < o7564'2 /\ 1 <= i1102' /\ o7562'5 <= o7562'4 + o7586'4 /\ 0 <= i1102' /\ 0 < o7564'3 /\ 0 < o7586'4 /\ 1 <= ar_3 /\ o7564'3 <= o7564'2 + o7586'4 /\ o7565'1 <= o7565''' + o7586'4 /\ o7566'1 <= o7566''' + o7586'4 /\ o7586'4 <= 2*ar_1 /\ 0 < o7565''' /\ o7562'6 <= o7562'5 + i1082' /\ 0 < ar_1 /\ o7562'5 < o7562'6 /\ o7586'5 <= 2*o7586'4 /\ 0 <= ar_6 /\ 0 < ar_0 /\ o7562'6 < o7562'7 /\ 0 <= ar_5 /\ o7563'2 <= ar_4 + ar_1 /\ 0 < ar_8 /\ o7563'3 <= o7563'2 + o7586'4 /\ 0 < ar_4 /\ 0 < o7563'2 /\ o7562'7 <= o7562'6 + i1102' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562'4 /\ 0 < o7562'5 /\ 0 < o7562'6 ]
(Comp: ?, Cost: 68) main_Load_2(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_0, o4'4, o6'3, 0, 0, o396', o396', o1267', arityPad)) [ 0 < o396' /\ 0 <= static'1 /\ 0 < o1267' /\ 0 < o6'3 /\ o6'3 <= 2*o6'2 /\ 0 < o4'4 /\ 0 <= ar_1 /\ o4'4 <= o4'3 + o6'2 /\ o6'2 = o6''' /\ 0 < o4'3 /\ 0 < o6'2 /\ o4'2 = o6'2 + 1 /\ static''' <= ar_1 + 2 /\ 0 < o6''' /\ 0 < o4'2 /\ 0 <= static''' /\ o4'3 <= o4'2 + o6'2 /\ o4'2 <= o4'2 /\ o6''' = 1 /\ o6'2 <= 2*o6'2 /\ static'1 <= static''' + 1 ]
(Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(main_Load_2(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8)) [ 0 <= 0 ]
start location: koat_start
leaf cost: 0

Repeatedly propagating knowledge in problem 1 produces the following problem:
2: T:
(Comp: ?, Cost: 42) createList_Load_2383(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(addBefore_FieldAccess_2479(ar_6, o7586'1, ar_1, ar_0, ar_2, ar_3, ar_4, ar_5, ar_7)) [ 0 < ar_1 /\ 0 < ar_0 /\ 0 < ar_2 /\ 0 < ar_7 /\ 0 <= ar_3 /\ 1 <= ar_0 /\ 0 < o7586'1 /\ 0 <= ar_4 /\ 0 < ar_6 /\ o7586'1 <= o7586''' + ar_6 /\ 0 < ar_5 /\ 0 < o7586''' /\ o7586''' = ar_2 + 1 ]
(Comp: ?, Cost: 23) addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'3, o7563'1, ar_5 + 1, ar_6 + 1, o7564'1, o7586'3, o7949'1, arityPad)) [ o7562''' <= ar_2 + ar_1 /\ 0 < o7562'3 /\ o7564''' <= ar_7 + ar_1 /\ 0 < o7563'1 /\ 0 < ar_0 /\ 0 <= i1147' /\ ar_3 - 1 = i1147' /\ 0 < o7949'1 /\ ar_6 + 1 = i1103' /\ 0 < o7586'3 /\ ar_5 + 1 = i1083' /\ 1 <= i1103' /\ o7586'2 <= 2*ar_1 /\ 1 <= i1083' /\ 0 < o7949''' /\ 0 <= i1103' /\ 0 < o7564''' /\ 0 <= i1083' /\ 0 < o7564'1 /\ o7562'1 <= o7562''' + o7586'2 /\ 1 <= ar_3 /\ 0 < o7586'2 /\ o7564'1 <= o7564''' + o7586'2 /\ 0 < ar_1 /\ o7586'3 <= 2*o7586'2 /\ o7949''' <= ar_0 + ar_1 /\ o7563''' <= ar_4 + ar_1 /\ o7562'1 < o7562'2 /\ o7562'3 <= o7562'2 + i1103' /\ o7949'1 <= o7949''' + o7586'2 /\ 0 < ar_8 /\ 0 <= ar_5 /\ 0 <= ar_6 /\ o7563'1 <= o7563''' + o7586'2 /\ o7562'2 < o7562'3 /\ 0 < ar_4 /\ 0 < o7563''' /\ o7562'2 <= o7562'1 + i1083' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562''' /\ 0 < o7562'1 /\ 0 < o7562'2 ]
(Comp: ?, Cost: 23) addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'7, o7563'3, ar_5 + 1, ar_6 + 1, o7564'3, o7586'5, o7565'1, arityPad)) [ o7562'4 <= ar_2 + ar_1 /\ 0 <= i1082' /\ o7564'2 <= ar_7 + ar_1 /\ 0 < o7562'7 /\ o7565''' <= ar_8 + ar_1 /\ 0 < o7563'3 /\ ar_5 + 1 = i1082' /\ 1 <= i1082' /\ ar_6 + 1 = i1102' /\ 0 <= i1146' /\ ar_3 - 1 = i1146' /\ 0 < o7566'1 /\ o7566''' <= ar_0 + ar_1 /\ 0 < o7586'5 /\ 0 < o7566''' /\ 0 < o7565'1 /\ 0 < o7564'2 /\ 1 <= i1102' /\ o7562'5 <= o7562'4 + o7586'4 /\ 0 <= i1102' /\ 0 < o7564'3 /\ 0 < o7586'4 /\ 1 <= ar_3 /\ o7564'3 <= o7564'2 + o7586'4 /\ o7565'1 <= o7565''' + o7586'4 /\ o7566'1 <= o7566''' + o7586'4 /\ o7586'4 <= 2*ar_1 /\ 0 < o7565''' /\ o7562'6 <= o7562'5 + i1082' /\ 0 < ar_1 /\ o7562'5 < o7562'6 /\ o7586'5 <= 2*o7586'4 /\ 0 <= ar_6 /\ 0 < ar_0 /\ o7562'6 < o7562'7 /\ 0 <= ar_5 /\ o7563'2 <= ar_4 + ar_1 /\ 0 < ar_8 /\ o7563'3 <= o7563'2 + o7586'4 /\ 0 < ar_4 /\ 0 < o7563'2 /\ o7562'7 <= o7562'6 + i1102' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562'4 /\ 0 < o7562'5 /\ 0 < o7562'6 ]
(Comp: 1, Cost: 68) main_Load_2(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_0, o4'4, o6'3, 0, 0, o396', o396', o1267', arityPad)) [ 0 < o396' /\ 0 <= static'1 /\ 0 < o1267' /\ 0 < o6'3 /\ o6'3 <= 2*o6'2 /\ 0 < o4'4 /\ 0 <= ar_1 /\ o4'4 <= o4'3 + o6'2 /\ o6'2 = o6''' /\ 0 < o4'3 /\ 0 < o6'2 /\ o4'2 = o6'2 + 1 /\ static''' <= ar_1 + 2 /\ 0 < o6''' /\ 0 < o4'2 /\ 0 <= static''' /\ o4'3 <= o4'2 + o6'2 /\ o4'2 <= o4'2 /\ o6''' = 1 /\ o6'2 <= 2*o6'2 /\ static'1 <= static''' + 1 ]
(Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(main_Load_2(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8)) [ 0 <= 0 ]
start location: koat_start
leaf cost: 0

A polynomial rank function with
Pol(createList_Load_2383) = 2*V_1
Pol(addBefore_FieldAccess_2479) = 2*V_4 - 1
Pol(main_Load_2) = 2*V_1
Pol(koat_start) = 2*V_1
orients all transitions weakly and the transitions
createList_Load_2383(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(addBefore_FieldAccess_2479(ar_6, o7586'1, ar_1, ar_0, ar_2, ar_3, ar_4, ar_5, ar_7)) [ 0 < ar_1 /\ 0 < ar_0 /\ 0 < ar_2 /\ 0 < ar_7 /\ 0 <= ar_3 /\ 1 <= ar_0 /\ 0 < o7586'1 /\ 0 <= ar_4 /\ 0 < ar_6 /\ o7586'1 <= o7586''' + ar_6 /\ 0 < ar_5 /\ 0 < o7586''' /\ o7586''' = ar_2 + 1 ]
addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'7, o7563'3, ar_5 + 1, ar_6 + 1, o7564'3, o7586'5, o7565'1, arityPad)) [ o7562'4 <= ar_2 + ar_1 /\ 0 <= i1082' /\ o7564'2 <= ar_7 + ar_1 /\ 0 < o7562'7 /\ o7565''' <= ar_8 + ar_1 /\ 0 < o7563'3 /\ ar_5 + 1 = i1082' /\ 1 <= i1082' /\ ar_6 + 1 = i1102' /\ 0 <= i1146' /\ ar_3 - 1 = i1146' /\ 0 < o7566'1 /\ o7566''' <= ar_0 + ar_1 /\ 0 < o7586'5 /\ 0 < o7566''' /\ 0 < o7565'1 /\ 0 < o7564'2 /\ 1 <= i1102' /\ o7562'5 <= o7562'4 + o7586'4 /\ 0 <= i1102' /\ 0 < o7564'3 /\ 0 < o7586'4 /\ 1 <= ar_3 /\ o7564'3 <= o7564'2 + o7586'4 /\ o7565'1 <= o7565''' + o7586'4 /\ o7566'1 <= o7566''' + o7586'4 /\ o7586'4 <= 2*ar_1 /\ 0 < o7565''' /\ o7562'6 <= o7562'5 + i1082' /\ 0 < ar_1 /\ o7562'5 < o7562'6 /\ o7586'5 <= 2*o7586'4 /\ 0 <= ar_6 /\ 0 < ar_0 /\ o7562'6 < o7562'7 /\ 0 <= ar_5 /\ o7563'2 <= ar_4 + ar_1 /\ 0 < ar_8 /\ o7563'3 <= o7563'2 + o7586'4 /\ 0 < ar_4 /\ 0 < o7563'2 /\ o7562'7 <= o7562'6 + i1102' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562'4 /\ 0 < o7562'5 /\ 0 < o7562'6 ]
addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'3, o7563'1, ar_5 + 1, ar_6 + 1, o7564'1, o7586'3, o7949'1, arityPad)) [ o7562''' <= ar_2 + ar_1 /\ 0 < o7562'3 /\ o7564''' <= ar_7 + ar_1 /\ 0 < o7563'1 /\ 0 < ar_0 /\ 0 <= i1147' /\ ar_3 - 1 = i1147' /\ 0 < o7949'1 /\ ar_6 + 1 = i1103' /\ 0 < o7586'3 /\ ar_5 + 1 = i1083' /\ 1 <= i1103' /\ o7586'2 <= 2*ar_1 /\ 1 <= i1083' /\ 0 < o7949''' /\ 0 <= i1103' /\ 0 < o7564''' /\ 0 <= i1083' /\ 0 < o7564'1 /\ o7562'1 <= o7562''' + o7586'2 /\ 1 <= ar_3 /\ 0 < o7586'2 /\ o7564'1 <= o7564''' + o7586'2 /\ 0 < ar_1 /\ o7586'3 <= 2*o7586'2 /\ o7949''' <= ar_0 + ar_1 /\ o7563''' <= ar_4 + ar_1 /\ o7562'1 < o7562'2 /\ o7562'3 <= o7562'2 + i1103' /\ o7949'1 <= o7949''' + o7586'2 /\ 0 < ar_8 /\ 0 <= ar_5 /\ 0 <= ar_6 /\ o7563'1 <= o7563''' + o7586'2 /\ o7562'2 < o7562'3 /\ 0 < ar_4 /\ 0 < o7563''' /\ o7562'2 <= o7562'1 + i1083' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562''' /\ 0 < o7562'1 /\ 0 < o7562'2 ]
strictly and produces the following problem:
3: T:
(Comp: 2*ar_0, Cost: 42) createList_Load_2383(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(addBefore_FieldAccess_2479(ar_6, o7586'1, ar_1, ar_0, ar_2, ar_3, ar_4, ar_5, ar_7)) [ 0 < ar_1 /\ 0 < ar_0 /\ 0 < ar_2 /\ 0 < ar_7 /\ 0 <= ar_3 /\ 1 <= ar_0 /\ 0 < o7586'1 /\ 0 <= ar_4 /\ 0 < ar_6 /\ o7586'1 <= o7586''' + ar_6 /\ 0 < ar_5 /\ 0 < o7586''' /\ o7586''' = ar_2 + 1 ]
(Comp: 2*ar_0, Cost: 23) addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'3, o7563'1, ar_5 + 1, ar_6 + 1, o7564'1, o7586'3, o7949'1, arityPad)) [ o7562''' <= ar_2 + ar_1 /\ 0 < o7562'3 /\ o7564''' <= ar_7 + ar_1 /\ 0 < o7563'1 /\ 0 < ar_0 /\ 0 <= i1147' /\ ar_3 - 1 = i1147' /\ 0 < o7949'1 /\ ar_6 + 1 = i1103' /\ 0 < o7586'3 /\ ar_5 + 1 = i1083' /\ 1 <= i1103' /\ o7586'2 <= 2*ar_1 /\ 1 <= i1083' /\ 0 < o7949''' /\ 0 <= i1103' /\ 0 < o7564''' /\ 0 <= i1083' /\ 0 < o7564'1 /\ o7562'1 <= o7562''' + o7586'2 /\ 1 <= ar_3 /\ 0 < o7586'2 /\ o7564'1 <= o7564''' + o7586'2 /\ 0 < ar_1 /\ o7586'3 <= 2*o7586'2 /\ o7949''' <= ar_0 + ar_1 /\ o7563''' <= ar_4 + ar_1 /\ o7562'1 < o7562'2 /\ o7562'3 <= o7562'2 + i1103' /\ o7949'1 <= o7949''' + o7586'2 /\ 0 < ar_8 /\ 0 <= ar_5 /\ 0 <= ar_6 /\ o7563'1 <= o7563''' + o7586'2 /\ o7562'2 < o7562'3 /\ 0 < ar_4 /\ 0 < o7563''' /\ o7562'2 <= o7562'1 + i1083' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562''' /\ 0 < o7562'1 /\ 0 < o7562'2 ]
(Comp: 2*ar_0, Cost: 23) addBefore_FieldAccess_2479(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_3 - 1, o7562'7, o7563'3, ar_5 + 1, ar_6 + 1, o7564'3, o7586'5, o7565'1, arityPad)) [ o7562'4 <= ar_2 + ar_1 /\ 0 <= i1082' /\ o7564'2 <= ar_7 + ar_1 /\ 0 < o7562'7 /\ o7565''' <= ar_8 + ar_1 /\ 0 < o7563'3 /\ ar_5 + 1 = i1082' /\ 1 <= i1082' /\ ar_6 + 1 = i1102' /\ 0 <= i1146' /\ ar_3 - 1 = i1146' /\ 0 < o7566'1 /\ o7566''' <= ar_0 + ar_1 /\ 0 < o7586'5 /\ 0 < o7566''' /\ 0 < o7565'1 /\ 0 < o7564'2 /\ 1 <= i1102' /\ o7562'5 <= o7562'4 + o7586'4 /\ 0 <= i1102' /\ 0 < o7564'3 /\ 0 < o7586'4 /\ 1 <= ar_3 /\ o7564'3 <= o7564'2 + o7586'4 /\ o7565'1 <= o7565''' + o7586'4 /\ o7566'1 <= o7566''' + o7586'4 /\ o7586'4 <= 2*ar_1 /\ 0 < o7565''' /\ o7562'6 <= o7562'5 + i1082' /\ 0 < ar_1 /\ o7562'5 < o7562'6 /\ o7586'5 <= 2*o7586'4 /\ 0 <= ar_6 /\ 0 < ar_0 /\ o7562'6 < o7562'7 /\ 0 <= ar_5 /\ o7563'2 <= ar_4 + ar_1 /\ 0 < ar_8 /\ o7563'3 <= o7563'2 + o7586'4 /\ 0 < ar_4 /\ 0 < o7563'2 /\ o7562'7 <= o7562'6 + i1102' /\ 0 < ar_7 /\ 0 < ar_2 /\ 0 < o7562'4 /\ 0 < o7562'5 /\ 0 < o7562'6 ]
(Comp: 1, Cost: 68) main_Load_2(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(createList_Load_2383(ar_0, o4'4, o6'3, 0, 0, o396', o396', o1267', arityPad)) [ 0 < o396' /\ 0 <= static'1 /\ 0 < o1267' /\ 0 < o6'3 /\ o6'3 <= 2*o6'2 /\ 0 < o4'4 /\ 0 <= ar_1 /\ o4'4 <= o4'3 + o6'2 /\ o6'2 = o6''' /\ 0 < o4'3 /\ 0 < o6'2 /\ o4'2 = o6'2 + 1 /\ static''' <= ar_1 + 2 /\ 0 < o6''' /\ 0 < o4'2 /\ 0 <= static''' /\ o4'3 <= o4'2 + o6'2 /\ o4'2 <= o4'2 /\ o6''' = 1 /\ o6'2 <= 2*o6'2 /\ static'1 <= static''' + 1 ]
(Comp: 1, Cost: 0) koat_start(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8) -> Com_1(main_Load_2(ar_0, ar_1, ar_2, ar_3, ar_4, ar_5, ar_6, ar_7, ar_8)) [ 0 <= 0 ]
start location: koat_start
leaf cost: 0

Complexity upper bound 176*ar_0 + 68

Time: 2.046 sec (SMT: 1.696 sec)

(34) BOUNDS(CONSTANT, 68 + 176 * |#0|)