(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_20 (Apple Inc.) Main-Class: BubbleSortR
class BubbleSortR {
public static void main(String[] args) {
Random.args = args;
int dim = Random.random()*Random.random();
int[] t = new int[dim] ;
for(int i = 0; i < t.length; i++)
t[i] = Random.random();
sort(t);
}

public static void sort(int[] x) {
int n = x.length;
for (int pass=1; pass < n; pass++) // count how many times
// This next loop becomes shorter and shorter
aux(0,n-pass,x);
//for (int i = 0; i < x.length; i++)
// System.out.print(x[i]+ " ");
}

private static void aux(int min, int max, int[] x) {
if (min >= max) return;
int i = min;
if (x[i] > x[i+1]) {
// exchange elements
int temp = x[i]; x[i] = x[i+1]; x[i+1] = temp;
}
aux(min+1,max,x);
}
}


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

public static int random() {
if (index >= args.length)
return 0;

String string = args[index];
index++;
return string.length();
}
}


(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

Termination Graph based on JBC Program:
BubbleSortR.main([Ljava/lang/String;)V: Graph of 442 nodes with 2 SCCs.

BubbleSortR.aux(II[I)V: Graph of 248 nodes with 0 SCCs.


(3) TerminationGraphToSCCProof (SOUND transformation)

Splitted TerminationGraph to 3 SCCss.

(4) Complex Obligation (AND)

(5) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: BubbleSortR.aux(II[I)V
SCC calls the following helper methods: BubbleSortR.aux(II[I)V
Performed SCC analyses: UsedFieldsAnalysis

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 52 rules for P and 200 rules for R.


P rules:
3933_0_aux_Load(EOS(STATIC_3933), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693) → 3934_0_aux_LT(EOS(STATIC_3934), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694)
3934_0_aux_LT(EOS(STATIC_3934), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3936_0_aux_LT(EOS(STATIC_3936), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694)
3936_0_aux_LT(EOS(STATIC_3936), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3938_0_aux_Load(EOS(STATIC_3938), i1693, i1694, java.lang.Object(ARRAY(i1695))) | <(i1693, i1694)
3938_0_aux_Load(EOS(STATIC_3938), i1693, i1694, java.lang.Object(ARRAY(i1695))) → 3940_0_aux_Store(EOS(STATIC_3940), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693)
3940_0_aux_Store(EOS(STATIC_3940), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693) → 3943_0_aux_Load(EOS(STATIC_3943), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693)
3943_0_aux_Load(EOS(STATIC_3943), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693) → 3946_0_aux_Load(EOS(STATIC_3946), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, java.lang.Object(ARRAY(i1695)))
3946_0_aux_Load(EOS(STATIC_3946), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, java.lang.Object(ARRAY(i1695))) → 3949_0_aux_ArrayAccess(EOS(STATIC_3949), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, java.lang.Object(ARRAY(i1695)), i1693)
3949_0_aux_ArrayAccess(EOS(STATIC_3949), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3952_0_aux_ArrayAccess(EOS(STATIC_3952), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3952_0_aux_ArrayAccess(EOS(STATIC_3952), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3956_0_aux_ArrayAccess(EOS(STATIC_3956), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3956_0_aux_ArrayAccess(EOS(STATIC_3956), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3965_0_aux_Load(EOS(STATIC_3965), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722) | <(i1705, i1695)
3965_0_aux_Load(EOS(STATIC_3965), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722) → 3970_0_aux_Load(EOS(STATIC_3970), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)))
3970_0_aux_Load(EOS(STATIC_3970), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695))) → 3975_0_aux_ConstantStackPush(EOS(STATIC_3975), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705)
3975_0_aux_ConstantStackPush(EOS(STATIC_3975), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705) → 3981_0_aux_IntArithmetic(EOS(STATIC_3981), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705, 1)
3981_0_aux_IntArithmetic(EOS(STATIC_3981), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705, matching1) → 3988_0_aux_ArrayAccess(EOS(STATIC_3988), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), +(i1705, 1)) | &&(>=(i1705, 0), =(matching1, 1))
3988_0_aux_ArrayAccess(EOS(STATIC_3988), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 3993_0_aux_ArrayAccess(EOS(STATIC_3993), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
3993_0_aux_ArrayAccess(EOS(STATIC_3993), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4000_0_aux_LE(EOS(STATIC_4000), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) | <(i1731, i1695)
4000_0_aux_LE(EOS(STATIC_4000), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4006_0_aux_LE(EOS(STATIC_4006), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734)
4000_0_aux_LE(EOS(STATIC_4000), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4007_0_aux_LE(EOS(STATIC_4007), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734)
4006_0_aux_LE(EOS(STATIC_4006), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4011_0_aux_Load(EOS(STATIC_4011), i1705, i1694, java.lang.Object(ARRAY(i1695))) | <=(i1722, i1734)
4011_0_aux_Load(EOS(STATIC_4011), i1705, i1694, java.lang.Object(ARRAY(i1695))) → 4252_0_aux_Load(EOS(STATIC_4252), i1705, i1694, java.lang.Object(ARRAY(i1695)))
4252_0_aux_Load(EOS(STATIC_4252), i1705, i1694, java.lang.Object(ARRAY(i1695))) → 4268_0_aux_ConstantStackPush(EOS(STATIC_4268), i1694, java.lang.Object(ARRAY(i1695)), i1705)
4268_0_aux_ConstantStackPush(EOS(STATIC_4268), i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4282_0_aux_IntArithmetic(EOS(STATIC_4282), i1694, java.lang.Object(ARRAY(i1695)), i1705, 1)
4282_0_aux_IntArithmetic(EOS(STATIC_4282), i1694, java.lang.Object(ARRAY(i1695)), i1705, matching1) → 4300_0_aux_Load(EOS(STATIC_4300), i1694, java.lang.Object(ARRAY(i1695)), +(i1705, 1)) | &&(>=(i1705, 0), =(matching1, 1))
4300_0_aux_Load(EOS(STATIC_4300), i1694, java.lang.Object(ARRAY(i1695)), i1872) → 4312_0_aux_Load(EOS(STATIC_4312), java.lang.Object(ARRAY(i1695)), i1872, i1694)
4312_0_aux_Load(EOS(STATIC_4312), java.lang.Object(ARRAY(i1695)), i1872, i1694) → 4321_0_aux_InvokeMethod(EOS(STATIC_4321), i1872, i1694, java.lang.Object(ARRAY(i1695)))
4321_0_aux_InvokeMethod(EOS(STATIC_4321), i1872, i1694, java.lang.Object(ARRAY(i1695))) → 4334_1_aux_InvokeMethod(4334_0_aux_Load(EOS(STATIC_4334), i1872, i1694, java.lang.Object(ARRAY(i1695))), i1872, i1694, java.lang.Object(ARRAY(i1695)))
4334_0_aux_Load(EOS(STATIC_4334), i1872, i1694, java.lang.Object(ARRAY(i1695))) → 4345_0_aux_Load(EOS(STATIC_4345), i1872, i1694, java.lang.Object(ARRAY(i1695)))
4345_0_aux_Load(EOS(STATIC_4345), i1872, i1694, java.lang.Object(ARRAY(i1695))) → 3931_0_aux_Load(EOS(STATIC_3931), i1872, i1694, java.lang.Object(ARRAY(i1695)))
3931_0_aux_Load(EOS(STATIC_3931), i1693, i1694, java.lang.Object(ARRAY(i1695))) → 3933_0_aux_Load(EOS(STATIC_3933), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693)
4007_0_aux_LE(EOS(STATIC_4007), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4012_0_aux_Load(EOS(STATIC_4012), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) | >(i1722, i1734)
4012_0_aux_Load(EOS(STATIC_4012), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4019_0_aux_Load(EOS(STATIC_4019), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4019_0_aux_Load(EOS(STATIC_4019), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4027_0_aux_ArrayAccess(EOS(STATIC_4027), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4027_0_aux_ArrayAccess(EOS(STATIC_4027), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4032_0_aux_ArrayAccess(EOS(STATIC_4032), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4032_0_aux_ArrayAccess(EOS(STATIC_4032), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4039_0_aux_Store(EOS(STATIC_4039), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) | <(i1705, i1695)
4039_0_aux_Store(EOS(STATIC_4039), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4049_0_aux_Load(EOS(STATIC_4049), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705)
4049_0_aux_Load(EOS(STATIC_4049), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4054_0_aux_Load(EOS(STATIC_4054), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4054_0_aux_Load(EOS(STATIC_4054), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4065_0_aux_Load(EOS(STATIC_4065), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4065_0_aux_Load(EOS(STATIC_4065), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4073_0_aux_Load(EOS(STATIC_4073), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4073_0_aux_Load(EOS(STATIC_4073), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4087_0_aux_ConstantStackPush(EOS(STATIC_4087), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4087_0_aux_ConstantStackPush(EOS(STATIC_4087), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4099_0_aux_IntArithmetic(EOS(STATIC_4099), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, 1)
4099_0_aux_IntArithmetic(EOS(STATIC_4099), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, matching1) → 4110_0_aux_ArrayAccess(EOS(STATIC_4110), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), +(i1705, 1)) | &&(>=(i1705, 0), =(matching1, 1))
4110_0_aux_ArrayAccess(EOS(STATIC_4110), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4118_0_aux_ArrayAccess(EOS(STATIC_4118), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4118_0_aux_ArrayAccess(EOS(STATIC_4118), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4132_0_aux_ArrayAccess(EOS(STATIC_4132), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | <(i1784, i1695)
4132_0_aux_ArrayAccess(EOS(STATIC_4132), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4145_0_aux_ArrayAccess(EOS(STATIC_4145), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4145_0_aux_ArrayAccess(EOS(STATIC_4145), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4156_0_aux_Load(EOS(STATIC_4156), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) | <(i1705, i1695)
4156_0_aux_Load(EOS(STATIC_4156), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4171_0_aux_Load(EOS(STATIC_4171), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4171_0_aux_Load(EOS(STATIC_4171), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4184_0_aux_ConstantStackPush(EOS(STATIC_4184), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705)
4184_0_aux_ConstantStackPush(EOS(STATIC_4184), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705) → 4196_0_aux_IntArithmetic(EOS(STATIC_4196), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705, 1)
4196_0_aux_IntArithmetic(EOS(STATIC_4196), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705, matching1) → 4209_0_aux_Load(EOS(STATIC_4209), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), +(i1705, 1)) | &&(>=(i1705, 0), =(matching1, 1))
4209_0_aux_Load(EOS(STATIC_4209), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4220_0_aux_ArrayAccess(EOS(STATIC_4220), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4220_0_aux_ArrayAccess(EOS(STATIC_4220), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4231_0_aux_ArrayAccess(EOS(STATIC_4231), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4231_0_aux_ArrayAccess(EOS(STATIC_4231), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4252_0_aux_Load(EOS(STATIC_4252), i1705, i1694, java.lang.Object(ARRAY(i1695))) | <(i1820, i1695)
R rules:
3934_0_aux_LT(EOS(STATIC_3934), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3937_0_aux_LT(EOS(STATIC_3937), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694)
3937_0_aux_LT(EOS(STATIC_3937), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3939_0_aux_Return(EOS(STATIC_3939), i1693, i1694, java.lang.Object(ARRAY(i1695))) | >=(i1693, i1694)
3949_0_aux_ArrayAccess(EOS(STATIC_3949), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3951_0_aux_ArrayAccess(EOS(STATIC_3951), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3951_0_aux_ArrayAccess(EOS(STATIC_3951), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3955_0_<init>_Load(EOS(STATIC_3955), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) | <=(i1704, -1)
3952_0_aux_ArrayAccess(EOS(STATIC_3952), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3957_0_aux_ArrayAccess(EOS(STATIC_3957), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3955_0_<init>_Load(EOS(STATIC_3955), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3969_0_<init>_InvokeMethod(EOS(STATIC_3969), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3957_0_aux_ArrayAccess(EOS(STATIC_3957), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3966_0_<init>_Load(EOS(STATIC_3966), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | >=(i1705, i1695)
3966_0_<init>_Load(EOS(STATIC_3966), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3977_0_<init>_InvokeMethod(EOS(STATIC_3977), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3969_0_<init>_InvokeMethod(EOS(STATIC_3969), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3974_0_<init>_Load(EOS(STATIC_3974), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3974_0_<init>_Load(EOS(STATIC_3974), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3986_0_<init>_InvokeMethod(EOS(STATIC_3986), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3977_0_<init>_InvokeMethod(EOS(STATIC_3977), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3982_0_<init>_Load(EOS(STATIC_3982), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3982_0_<init>_Load(EOS(STATIC_3982), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3996_0_<init>_InvokeMethod(EOS(STATIC_3996), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3986_0_<init>_InvokeMethod(EOS(STATIC_3986), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3992_0_<init>_Load(EOS(STATIC_3992), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3988_0_aux_ArrayAccess(EOS(STATIC_3988), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 3994_0_aux_ArrayAccess(EOS(STATIC_3994), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
3992_0_<init>_Load(EOS(STATIC_3992), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4005_0_<init>_InvokeMethod(EOS(STATIC_4005), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3994_0_aux_ArrayAccess(EOS(STATIC_3994), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4001_0_<init>_Load(EOS(STATIC_4001), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) | >=(i1731, i1695)
3996_0_<init>_InvokeMethod(EOS(STATIC_3996), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4002_0_<init>_Load(EOS(STATIC_4002), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4001_0_<init>_Load(EOS(STATIC_4001), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4014_0_<init>_InvokeMethod(EOS(STATIC_4014), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4002_0_<init>_Load(EOS(STATIC_4002), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4015_0_<init>_InvokeMethod(EOS(STATIC_4015), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4005_0_<init>_InvokeMethod(EOS(STATIC_4005), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4010_0_<init>_Load(EOS(STATIC_4010), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4010_0_<init>_Load(EOS(STATIC_4010), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4024_0_<init>_InvokeMethod(EOS(STATIC_4024), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4014_0_<init>_InvokeMethod(EOS(STATIC_4014), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4020_0_<init>_Load(EOS(STATIC_4020), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4015_0_<init>_InvokeMethod(EOS(STATIC_4015), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4021_0_<init>_Load(EOS(STATIC_4021), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4020_0_<init>_Load(EOS(STATIC_4020), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4035_0_<init>_InvokeMethod(EOS(STATIC_4035), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4021_0_<init>_Load(EOS(STATIC_4021), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4036_0_<init>_InvokeMethod(EOS(STATIC_4036), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4024_0_<init>_InvokeMethod(EOS(STATIC_4024), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4029_0_<init>_Load(EOS(STATIC_4029), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4027_0_aux_ArrayAccess(EOS(STATIC_4027), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4033_0_aux_ArrayAccess(EOS(STATIC_4033), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4029_0_<init>_Load(EOS(STATIC_4029), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4047_0_<init>_InvokeMethod(EOS(STATIC_4047), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4033_0_aux_ArrayAccess(EOS(STATIC_4033), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4040_0_<init>_Load(EOS(STATIC_4040), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | >=(i1705, i1695)
4035_0_<init>_InvokeMethod(EOS(STATIC_4035), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4041_0_<init>_Load(EOS(STATIC_4041), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4036_0_<init>_InvokeMethod(EOS(STATIC_4036), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4043_0_<init>_Load(EOS(STATIC_4043), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4040_0_<init>_Load(EOS(STATIC_4040), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4057_0_<init>_InvokeMethod(EOS(STATIC_4057), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4041_0_<init>_Load(EOS(STATIC_4041), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4059_0_<init>_InvokeMethod(EOS(STATIC_4059), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4043_0_<init>_Load(EOS(STATIC_4043), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4060_0_<init>_InvokeMethod(EOS(STATIC_4060), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4047_0_<init>_InvokeMethod(EOS(STATIC_4047), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4052_0_<init>_Load(EOS(STATIC_4052), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4052_0_<init>_Load(EOS(STATIC_4052), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4063_0_<init>_Load(EOS(STATIC_4063), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4057_0_<init>_InvokeMethod(EOS(STATIC_4057), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4066_0_<init>_Load(EOS(STATIC_4066), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4059_0_<init>_InvokeMethod(EOS(STATIC_4059), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4068_0_<init>_Load(EOS(STATIC_4068), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4060_0_<init>_InvokeMethod(EOS(STATIC_4060), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4069_0_<init>_Load(EOS(STATIC_4069), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4063_0_<init>_Load(EOS(STATIC_4063), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4072_0_<init>_FieldAccess(EOS(STATIC_4072), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4066_0_<init>_Load(EOS(STATIC_4066), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4090_0_<init>_InvokeMethod(EOS(STATIC_4090), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4068_0_<init>_Load(EOS(STATIC_4068), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4092_0_<init>_InvokeMethod(EOS(STATIC_4092), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4069_0_<init>_Load(EOS(STATIC_4069), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4075_0_<init>_Load(EOS(STATIC_4075), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4072_0_<init>_FieldAccess(EOS(STATIC_4072), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4083_0_<init>_Load(EOS(STATIC_4083), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4075_0_<init>_Load(EOS(STATIC_4075), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4093_0_<init>_FieldAccess(EOS(STATIC_4093), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4083_0_<init>_Load(EOS(STATIC_4083), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4096_0_<init>_InvokeMethod(EOS(STATIC_4096), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4090_0_<init>_InvokeMethod(EOS(STATIC_4090), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4100_0_<init>_Load(EOS(STATIC_4100), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4092_0_<init>_InvokeMethod(EOS(STATIC_4092), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4101_0_<init>_Load(EOS(STATIC_4101), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4093_0_<init>_FieldAccess(EOS(STATIC_4093), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4104_0_<init>_Load(EOS(STATIC_4104), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4096_0_<init>_InvokeMethod(EOS(STATIC_4096), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4107_0_<init>_StackPop(EOS(STATIC_4107), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4100_0_<init>_Load(EOS(STATIC_4100), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4121_0_<init>_InvokeMethod(EOS(STATIC_4121), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4101_0_<init>_Load(EOS(STATIC_4101), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4123_0_<init>_InvokeMethod(EOS(STATIC_4123), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4104_0_<init>_Load(EOS(STATIC_4104), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4112_0_<init>_InvokeMethod(EOS(STATIC_4112), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4107_0_<init>_StackPop(EOS(STATIC_4107), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4115_0_<init>_Return(EOS(STATIC_4115), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4110_0_aux_ArrayAccess(EOS(STATIC_4110), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4119_0_aux_ArrayAccess(EOS(STATIC_4119), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4112_0_<init>_InvokeMethod(EOS(STATIC_4112), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4125_0_<init>_StackPop(EOS(STATIC_4125), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4115_0_<init>_Return(EOS(STATIC_4115), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4129_0_<init>_Return(EOS(STATIC_4129), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4119_0_aux_ArrayAccess(EOS(STATIC_4119), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4134_0_<init>_Load(EOS(STATIC_4134), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) | >=(i1784, i1695)
4121_0_<init>_InvokeMethod(EOS(STATIC_4121), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4135_0_<init>_Load(EOS(STATIC_4135), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4123_0_<init>_InvokeMethod(EOS(STATIC_4123), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4137_0_<init>_Load(EOS(STATIC_4137), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4125_0_<init>_StackPop(EOS(STATIC_4125), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4138_0_<init>_Return(EOS(STATIC_4138), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4129_0_<init>_Return(EOS(STATIC_4129), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4143_0_<init>_Return(EOS(STATIC_4143), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4132_0_aux_ArrayAccess(EOS(STATIC_4132), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4146_0_aux_ArrayAccess(EOS(STATIC_4146), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4134_0_<init>_Load(EOS(STATIC_4134), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4161_0_<init>_InvokeMethod(EOS(STATIC_4161), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4135_0_<init>_Load(EOS(STATIC_4135), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4163_0_<init>_InvokeMethod(EOS(STATIC_4163), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4137_0_<init>_Load(EOS(STATIC_4137), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4148_0_<init>_Load(EOS(STATIC_4148), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4138_0_<init>_Return(EOS(STATIC_4138), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4150_0_<init>_Return(EOS(STATIC_4150), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4143_0_<init>_Return(EOS(STATIC_4143), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4153_0_<init>_Return(EOS(STATIC_4153), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4146_0_aux_ArrayAccess(EOS(STATIC_4146), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4158_0_<init>_Load(EOS(STATIC_4158), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | >=(i1705, i1695)
4148_0_<init>_Load(EOS(STATIC_4148), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4165_0_<init>_FieldAccess(EOS(STATIC_4165), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4150_0_<init>_Return(EOS(STATIC_4150), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4166_0_<init>_Return(EOS(STATIC_4166), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4153_0_<init>_Return(EOS(STATIC_4153), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4169_0_<init>_Return(EOS(STATIC_4169), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4158_0_<init>_Load(EOS(STATIC_4158), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4187_0_<init>_InvokeMethod(EOS(STATIC_4187), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4161_0_<init>_InvokeMethod(EOS(STATIC_4161), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4173_0_<init>_Load(EOS(STATIC_4173), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4163_0_<init>_InvokeMethod(EOS(STATIC_4163), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4174_0_<init>_Load(EOS(STATIC_4174), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4165_0_<init>_FieldAccess(EOS(STATIC_4165), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4177_0_<init>_Load(EOS(STATIC_4177), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4166_0_<init>_Return(EOS(STATIC_4166), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4178_0_<init>_Return(EOS(STATIC_4178), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4169_0_<init>_Return(EOS(STATIC_4169), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4181_0_aux_ArrayAccess(EOS(STATIC_4181), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4173_0_<init>_Load(EOS(STATIC_4173), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4201_0_<init>_InvokeMethod(EOS(STATIC_4201), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4174_0_<init>_Load(EOS(STATIC_4174), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4203_0_<init>_InvokeMethod(EOS(STATIC_4203), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4177_0_<init>_Load(EOS(STATIC_4177), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4189_0_<init>_InvokeMethod(EOS(STATIC_4189), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4178_0_<init>_Return(EOS(STATIC_4178), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4191_0_<init>_Return(EOS(STATIC_4191), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4187_0_<init>_InvokeMethod(EOS(STATIC_4187), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4198_0_<init>_Load(EOS(STATIC_4198), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4189_0_<init>_InvokeMethod(EOS(STATIC_4189), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4205_0_<init>_StackPop(EOS(STATIC_4205), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4191_0_<init>_Return(EOS(STATIC_4191), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4206_0_aux_ArrayAccess(EOS(STATIC_4206), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4198_0_<init>_Load(EOS(STATIC_4198), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4223_0_<init>_InvokeMethod(EOS(STATIC_4223), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4201_0_<init>_InvokeMethod(EOS(STATIC_4201), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4211_0_<init>_Load(EOS(STATIC_4211), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4203_0_<init>_InvokeMethod(EOS(STATIC_4203), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4213_0_<init>_Load(EOS(STATIC_4213), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4205_0_<init>_StackPop(EOS(STATIC_4205), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4215_0_<init>_Return(EOS(STATIC_4215), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4211_0_<init>_Load(EOS(STATIC_4211), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4236_0_<init>_InvokeMethod(EOS(STATIC_4236), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4213_0_<init>_Load(EOS(STATIC_4213), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4226_0_<init>_Load(EOS(STATIC_4226), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4215_0_<init>_Return(EOS(STATIC_4215), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4228_0_<init>_Return(EOS(STATIC_4228), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4220_0_aux_ArrayAccess(EOS(STATIC_4220), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4232_0_aux_ArrayAccess(EOS(STATIC_4232), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4223_0_<init>_InvokeMethod(EOS(STATIC_4223), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4233_0_<init>_Load(EOS(STATIC_4233), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4226_0_<init>_Load(EOS(STATIC_4226), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4239_0_<init>_FieldAccess(EOS(STATIC_4239), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4228_0_<init>_Return(EOS(STATIC_4228), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4241_0_<init>_Return(EOS(STATIC_4241), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4232_0_aux_ArrayAccess(EOS(STATIC_4232), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4253_0_<init>_Load(EOS(STATIC_4253), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) | >=(i1820, i1695)
4233_0_<init>_Load(EOS(STATIC_4233), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4272_0_<init>_InvokeMethod(EOS(STATIC_4272), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4236_0_<init>_InvokeMethod(EOS(STATIC_4236), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4255_0_<init>_Load(EOS(STATIC_4255), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4239_0_<init>_FieldAccess(EOS(STATIC_4239), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4258_0_<init>_Load(EOS(STATIC_4258), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4241_0_<init>_Return(EOS(STATIC_4241), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4260_0_<init>_Return(EOS(STATIC_4260), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4253_0_<init>_Load(EOS(STATIC_4253), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4286_0_<init>_InvokeMethod(EOS(STATIC_4286), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4255_0_<init>_Load(EOS(STATIC_4255), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4291_0_<init>_InvokeMethod(EOS(STATIC_4291), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4258_0_<init>_Load(EOS(STATIC_4258), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4274_0_<init>_InvokeMethod(EOS(STATIC_4274), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4260_0_<init>_Return(EOS(STATIC_4260), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4276_0_<init>_Return(EOS(STATIC_4276), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4272_0_<init>_InvokeMethod(EOS(STATIC_4272), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4288_0_<init>_Load(EOS(STATIC_4288), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4274_0_<init>_InvokeMethod(EOS(STATIC_4274), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4293_0_<init>_StackPop(EOS(STATIC_4293), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4276_0_<init>_Return(EOS(STATIC_4276), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4295_0_aux_ArrayAccess(EOS(STATIC_4295), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4286_0_<init>_InvokeMethod(EOS(STATIC_4286), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4301_0_<init>_Load(EOS(STATIC_4301), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4288_0_<init>_Load(EOS(STATIC_4288), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4315_0_<init>_InvokeMethod(EOS(STATIC_4315), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4291_0_<init>_InvokeMethod(EOS(STATIC_4291), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4303_0_<init>_Load(EOS(STATIC_4303), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4293_0_<init>_StackPop(EOS(STATIC_4293), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4305_0_<init>_Return(EOS(STATIC_4305), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4301_0_<init>_Load(EOS(STATIC_4301), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4325_0_<init>_InvokeMethod(EOS(STATIC_4325), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4303_0_<init>_Load(EOS(STATIC_4303), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4329_0_<init>_InvokeMethod(EOS(STATIC_4329), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4305_0_<init>_Return(EOS(STATIC_4305), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4318_0_<init>_Return(EOS(STATIC_4318), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4315_0_<init>_InvokeMethod(EOS(STATIC_4315), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4326_0_<init>_Load(EOS(STATIC_4326), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4318_0_<init>_Return(EOS(STATIC_4318), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4332_0_<init>_Return(EOS(STATIC_4332), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4325_0_<init>_InvokeMethod(EOS(STATIC_4325), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4335_0_<init>_Load(EOS(STATIC_4335), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4326_0_<init>_Load(EOS(STATIC_4326), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4349_0_<init>_InvokeMethod(EOS(STATIC_4349), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4329_0_<init>_InvokeMethod(EOS(STATIC_4329), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4338_0_<init>_Load(EOS(STATIC_4338), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4332_0_<init>_Return(EOS(STATIC_4332), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4341_0_<init>_Return(EOS(STATIC_4341), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4334_1_aux_InvokeMethod(3939_0_aux_Return(EOS(STATIC_3939), i1902, i1903, java.lang.Object(ARRAY(i1904))), i1902, i1903, java.lang.Object(ARRAY(i1904))) → 4388_0_aux_Return(EOS(STATIC_4388), i1902, i1903, java.lang.Object(ARRAY(i1904)), i1902, i1903, java.lang.Object(ARRAY(i1904)))
4334_1_aux_InvokeMethod(4206_0_aux_ArrayAccess(EOS(STATIC_4206), i1916, i1917, java.lang.Object(ARRAY(i1918)), i1916, java.lang.Object(ARRAY(i1918)), i1916), i1916, i1917, java.lang.Object(ARRAY(i1918))) → 4390_0_aux_ArrayAccess(EOS(STATIC_4390), i1916, i1917, java.lang.Object(ARRAY(i1918)), i1916, i1917, java.lang.Object(ARRAY(i1918)), i1916, java.lang.Object(ARRAY(i1918)), i1916)
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(EOS(STATIC_4295), i1926, i1927, java.lang.Object(ARRAY(i1928)), i1926, i1722, java.lang.Object(ARRAY(i1928)), i1731), i1926, i1927, java.lang.Object(ARRAY(i1928))) → 4391_0_aux_ArrayAccess(EOS(STATIC_4391), i1926, i1927, java.lang.Object(ARRAY(i1928)), i1926, i1927, java.lang.Object(ARRAY(i1928)), i1926, i1722, java.lang.Object(ARRAY(i1928)), i1731)
4334_1_aux_InvokeMethod(4368_0_aux_ArrayAccess(EOS(STATIC_4368), i1943, i1944, java.lang.Object(ARRAY(i1945)), i1943, java.lang.Object(ARRAY(i1945)), i1943), i1943, i1944, java.lang.Object(ARRAY(i1945))) → 4422_0_aux_ArrayAccess(EOS(STATIC_4422), i1943, i1944, java.lang.Object(ARRAY(i1945)), i1943, i1944, java.lang.Object(ARRAY(i1945)), i1943, java.lang.Object(ARRAY(i1945)), i1943)
4334_1_aux_InvokeMethod(4403_0_aux_Return(EOS(STATIC_4403)), i1983, i1984, java.lang.Object(ARRAY(i1695))) → 4460_0_aux_Return(EOS(STATIC_4460), i1983, i1984, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1926, i1994, java.lang.Object(ARRAY(i1695))), i1993, i1994, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i1993, i1994, java.lang.Object(ARRAY(i1695)), i1926, i1994, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4439_0_aux_InvokeMethod(EOS(STATIC_4439), i1943, i2012, java.lang.Object(ARRAY(i1695))), i2011, i2012, java.lang.Object(ARRAY(i1695))) → 4542_0_aux_InvokeMethod(EOS(STATIC_4542), i2011, i2012, java.lang.Object(ARRAY(i1695)), i1943, i2012, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4521_0_aux_Return(EOS(STATIC_4521)), i2059, i2060, java.lang.Object(ARRAY(i1695))) → 4575_0_aux_Return(EOS(STATIC_4575), i2059, i2060, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4527_0_aux_InvokeMethod(EOS(STATIC_4527), i1993, i2071, java.lang.Object(ARRAY(i1695))), i2070, i2071, java.lang.Object(ARRAY(i1695))) → 4580_0_aux_InvokeMethod(EOS(STATIC_4580), i2070, i2071, java.lang.Object(ARRAY(i1695)), i1993, i2071, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4571_0_aux_ArrayAccess(EOS(STATIC_4571), i2106, i2107, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i1784), i2106, i2107, java.lang.Object(ARRAY(i2108))) → 4652_0_aux_ArrayAccess(EOS(STATIC_4652), i2106, i2107, java.lang.Object(ARRAY(i2108)), i2106, i2107, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i1784)
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(EOS(STATIC_4640), i2121, i2122, java.lang.Object(ARRAY(i2123)), i2121, java.lang.Object(ARRAY(i2123)), i2121), i2121, i2122, java.lang.Object(ARRAY(i2123))) → 4673_0_aux_ArrayAccess(EOS(STATIC_4673), i2121, i2122, java.lang.Object(ARRAY(i2123)), i2121, i2122, java.lang.Object(ARRAY(i2123)), i2121, java.lang.Object(ARRAY(i2123)), i2121)
4334_1_aux_InvokeMethod(4667_0_aux_InvokeMethod(EOS(STATIC_4667), i2106, i2176, java.lang.Object(ARRAY(i1695))), i2174, i2176, java.lang.Object(ARRAY(i1695))) → 4702_0_aux_InvokeMethod(EOS(STATIC_4702), i2174, i2176, java.lang.Object(ARRAY(i1695)), i2106, i2176, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2121, i2204, java.lang.Object(ARRAY(i1695))), i2203, i2204, java.lang.Object(ARRAY(i1695))) → 4717_0_aux_InvokeMethod(EOS(STATIC_4717), i2203, i2204, java.lang.Object(ARRAY(i1695)), i2121, i2204, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(EOS(STATIC_4712), i2226, i2227, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820), i2226, i2227, java.lang.Object(ARRAY(i1695))) → 4725_0_aux_ArrayAccess(EOS(STATIC_4725), i2226, i2227, java.lang.Object(ARRAY(i1695)), i2226, i2227, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(EOS(STATIC_4730), i2226, i2259, java.lang.Object(ARRAY(i1695))), i2258, i2259, java.lang.Object(ARRAY(i1695))) → 4744_0_aux_InvokeMethod(EOS(STATIC_4744), i2258, i2259, java.lang.Object(ARRAY(i1695)), i2226, i2259, java.lang.Object(ARRAY(i1695)))
4335_0_<init>_Load(EOS(STATIC_4335), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4360_0_<init>_InvokeMethod(EOS(STATIC_4360), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4338_0_<init>_Load(EOS(STATIC_4338), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4352_0_<init>_Load(EOS(STATIC_4352), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4341_0_<init>_Return(EOS(STATIC_4341), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4354_0_<init>_Return(EOS(STATIC_4354), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4349_0_<init>_InvokeMethod(EOS(STATIC_4349), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4363_0_<init>_Load(EOS(STATIC_4363), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4352_0_<init>_Load(EOS(STATIC_4352), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4366_0_<init>_FieldAccess(EOS(STATIC_4366), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4354_0_<init>_Return(EOS(STATIC_4354), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4368_0_aux_ArrayAccess(EOS(STATIC_4368), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4360_0_<init>_InvokeMethod(EOS(STATIC_4360), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4377_0_<init>_Load(EOS(STATIC_4377), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4363_0_<init>_Load(EOS(STATIC_4363), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4381_0_<init>_Load(EOS(STATIC_4381), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4366_0_<init>_FieldAccess(EOS(STATIC_4366), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4386_0_<init>_Load(EOS(STATIC_4386), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4377_0_<init>_Load(EOS(STATIC_4377), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4412_0_<init>_InvokeMethod(EOS(STATIC_4412), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4381_0_<init>_Load(EOS(STATIC_4381), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4395_0_<init>_FieldAccess(EOS(STATIC_4395), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4386_0_<init>_Load(EOS(STATIC_4386), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4398_0_<init>_InvokeMethod(EOS(STATIC_4398), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4388_0_aux_Return(EOS(STATIC_4388), i1902, i1903, java.lang.Object(ARRAY(i1904)), i1902, i1903, java.lang.Object(ARRAY(i1904))) → 4403_0_aux_Return(EOS(STATIC_4403))
4390_0_aux_ArrayAccess(EOS(STATIC_4390), i1916, i1917, java.lang.Object(ARRAY(i1918)), i1916, i1917, java.lang.Object(ARRAY(i1918)), i1916, java.lang.Object(ARRAY(i1918)), i1916) → 4405_0_aux_InvokeMethod(EOS(STATIC_4405), i1916, i1917, java.lang.Object(ARRAY(i1918)))
4391_0_aux_ArrayAccess(EOS(STATIC_4391), i1926, i1927, java.lang.Object(ARRAY(i1928)), i1926, i1927, java.lang.Object(ARRAY(i1928)), i1926, i1722, java.lang.Object(ARRAY(i1928)), i1731) → 4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1926, i1927, java.lang.Object(ARRAY(i1928)))
4395_0_<init>_FieldAccess(EOS(STATIC_4395), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4417_0_<init>_Load(EOS(STATIC_4417), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4398_0_<init>_InvokeMethod(EOS(STATIC_4398), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4420_0_<init>_StackPop(EOS(STATIC_4420), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4403_0_aux_Return(EOS(STATIC_4403)) → 4521_0_aux_Return(EOS(STATIC_4521))
4405_0_aux_InvokeMethod(EOS(STATIC_4405), i1916, i1917, java.lang.Object(ARRAY(i1918))) → 4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1916, i1917, java.lang.Object(ARRAY(i1918)))
4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1926, i1927, java.lang.Object(ARRAY(i1928))) → 4439_0_aux_InvokeMethod(EOS(STATIC_4439), i1926, i1927, java.lang.Object(ARRAY(i1928)))
4412_0_<init>_InvokeMethod(EOS(STATIC_4412), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4426_0_<init>_Load(EOS(STATIC_4426), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4417_0_<init>_Load(EOS(STATIC_4417), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4430_0_<init>_InvokeMethod(EOS(STATIC_4430), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4420_0_<init>_StackPop(EOS(STATIC_4420), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4433_0_<init>_Return(EOS(STATIC_4433), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4422_0_aux_ArrayAccess(EOS(STATIC_4422), i1943, i1944, java.lang.Object(ARRAY(i1945)), i1943, i1944, java.lang.Object(ARRAY(i1945)), i1943, java.lang.Object(ARRAY(i1945)), i1943) → 4439_0_aux_InvokeMethod(EOS(STATIC_4439), i1943, i1944, java.lang.Object(ARRAY(i1945)))
4426_0_<init>_Load(EOS(STATIC_4426), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4466_0_<init>_InvokeMethod(EOS(STATIC_4466), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4430_0_<init>_InvokeMethod(EOS(STATIC_4430), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4450_0_<init>_StackPop(EOS(STATIC_4450), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4433_0_<init>_Return(EOS(STATIC_4433), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4453_0_<init>_Return(EOS(STATIC_4453), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4439_0_aux_InvokeMethod(EOS(STATIC_4439), i1943, i1944, java.lang.Object(ARRAY(i1945))) → 4527_0_aux_InvokeMethod(EOS(STATIC_4527), i1943, i1944, java.lang.Object(ARRAY(i1945)))
4450_0_<init>_StackPop(EOS(STATIC_4450), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4470_0_<init>_Return(EOS(STATIC_4470), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4453_0_<init>_Return(EOS(STATIC_4453), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4473_0_<init>_Return(EOS(STATIC_4473), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4460_0_aux_Return(EOS(STATIC_4460), i1983, i1984, java.lang.Object(ARRAY(i1695))) → 4521_0_aux_Return(EOS(STATIC_4521))
4462_0_aux_InvokeMethod(EOS(STATIC_4462), i1993, i1994, java.lang.Object(ARRAY(i1695)), i1926, i1994, java.lang.Object(ARRAY(i1695))) → 4527_0_aux_InvokeMethod(EOS(STATIC_4527), i1993, i1994, java.lang.Object(ARRAY(i1695)))
4466_0_<init>_InvokeMethod(EOS(STATIC_4466), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4531_0_<init>_Load(EOS(STATIC_4531), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4470_0_<init>_Return(EOS(STATIC_4470), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4534_0_<init>_Return(EOS(STATIC_4534), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4473_0_<init>_Return(EOS(STATIC_4473), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4537_0_<init>_Return(EOS(STATIC_4537), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4527_0_aux_InvokeMethod(EOS(STATIC_4527), i1993, i1994, java.lang.Object(ARRAY(i1695))) → 4667_0_aux_InvokeMethod(EOS(STATIC_4667), i1993, i1994, java.lang.Object(ARRAY(i1695)))
4531_0_<init>_Load(EOS(STATIC_4531), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4549_0_<init>_Load(EOS(STATIC_4549), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4534_0_<init>_Return(EOS(STATIC_4534), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4552_0_<init>_Return(EOS(STATIC_4552), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4537_0_<init>_Return(EOS(STATIC_4537), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4554_0_<init>_Return(EOS(STATIC_4554), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4542_0_aux_InvokeMethod(EOS(STATIC_4542), i2011, i2012, java.lang.Object(ARRAY(i1695)), i1943, i2012, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2011, i2012, java.lang.Object(ARRAY(i1695)), i1943, i2012, java.lang.Object(ARRAY(i1695)))
4549_0_<init>_Load(EOS(STATIC_4549), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4567_0_<init>_FieldAccess(EOS(STATIC_4567), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4552_0_<init>_Return(EOS(STATIC_4552), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4570_0_<init>_Return(EOS(STATIC_4570), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4554_0_<init>_Return(EOS(STATIC_4554), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4571_0_aux_ArrayAccess(EOS(STATIC_4571), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4567_0_<init>_FieldAccess(EOS(STATIC_4567), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4584_0_<init>_Load(EOS(STATIC_4584), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4570_0_<init>_Return(EOS(STATIC_4570), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4586_0_<init>_Return(EOS(STATIC_4586), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4575_0_aux_Return(EOS(STATIC_4575), i2059, i2060, java.lang.Object(ARRAY(i1695))) → 4460_0_aux_Return(EOS(STATIC_4460), i2059, i2060, java.lang.Object(ARRAY(i1695)))
4580_0_aux_InvokeMethod(EOS(STATIC_4580), i2070, i2071, java.lang.Object(ARRAY(i1695)), i1993, i2071, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2070, i2071, java.lang.Object(ARRAY(i1695)), i1993, i2071, java.lang.Object(ARRAY(i1695)))
4584_0_<init>_Load(EOS(STATIC_4584), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4639_0_<init>_InvokeMethod(EOS(STATIC_4639), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4586_0_<init>_Return(EOS(STATIC_4586), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4640_0_aux_ArrayAccess(EOS(STATIC_4640), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4639_0_<init>_InvokeMethod(EOS(STATIC_4639), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4648_0_<init>_StackPop(EOS(STATIC_4648), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4648_0_<init>_StackPop(EOS(STATIC_4648), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4655_0_<init>_Return(EOS(STATIC_4655), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4652_0_aux_ArrayAccess(EOS(STATIC_4652), i2106, i2107, java.lang.Object(ARRAY(i2108)), i2106, i2107, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i1784) → 4667_0_aux_InvokeMethod(EOS(STATIC_4667), i2106, i2107, java.lang.Object(ARRAY(i2108)))
4655_0_<init>_Return(EOS(STATIC_4655), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4670_0_<init>_Return(EOS(STATIC_4670), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4667_0_aux_InvokeMethod(EOS(STATIC_4667), i2106, i2107, java.lang.Object(ARRAY(i2108))) → 4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2106, i2107, java.lang.Object(ARRAY(i2108)))
4670_0_<init>_Return(EOS(STATIC_4670), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4680_0_<init>_Return(EOS(STATIC_4680), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4673_0_aux_ArrayAccess(EOS(STATIC_4673), i2121, i2122, java.lang.Object(ARRAY(i2123)), i2121, i2122, java.lang.Object(ARRAY(i2123)), i2121, java.lang.Object(ARRAY(i2123)), i2121) → 4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2121, i2122, java.lang.Object(ARRAY(i2123)))
4680_0_<init>_Return(EOS(STATIC_4680), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4694_0_<init>_Return(EOS(STATIC_4694), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2121, i2122, java.lang.Object(ARRAY(i2123))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), i2121, i2122, java.lang.Object(ARRAY(i2123)))
4694_0_<init>_Return(EOS(STATIC_4694), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4705_0_<init>_Return(EOS(STATIC_4705), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4702_0_aux_InvokeMethod(EOS(STATIC_4702), i2174, i2176, java.lang.Object(ARRAY(i1695)), i2106, i2176, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2174, i2176, java.lang.Object(ARRAY(i1695)), i2106, i2176, java.lang.Object(ARRAY(i1695)))
4705_0_<init>_Return(EOS(STATIC_4705), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4712_0_aux_ArrayAccess(EOS(STATIC_4712), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4717_0_aux_InvokeMethod(EOS(STATIC_4717), i2203, i2204, java.lang.Object(ARRAY(i1695)), i2121, i2204, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2203, i2204, java.lang.Object(ARRAY(i1695)), i2121, i2204, java.lang.Object(ARRAY(i1695)))
4725_0_aux_ArrayAccess(EOS(STATIC_4725), i2226, i2227, java.lang.Object(ARRAY(i1695)), i2226, i2227, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), i2226, i2227, java.lang.Object(ARRAY(i1695)))
4744_0_aux_InvokeMethod(EOS(STATIC_4744), i2258, i2259, java.lang.Object(ARRAY(i1695)), i2226, i2259, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2258, i2259, java.lang.Object(ARRAY(i1695)), i2226, i2259, java.lang.Object(ARRAY(i1695)))

Combined rules. Obtained 1 conditional rules for P and 15 conditional rules for R.


P rules:
3933_0_aux_Load(EOS(STATIC_3933), x0, x1, java.lang.Object(ARRAY(x2)), x0) → 4334_1_aux_InvokeMethod(3933_0_aux_Load(EOS(STATIC_3933), +(x0, 1), x1, java.lang.Object(ARRAY(x2)), +(x0, 1)), +(x0, 1), x1, java.lang.Object(ARRAY(x2))) | &&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(+(x0, 1), 0))
R rules:
4334_1_aux_InvokeMethod(4403_0_aux_Return(EOS(STATIC_4403)), x0, x1, java.lang.Object(ARRAY(x2))) → 4521_0_aux_Return(EOS(STATIC_4521))
4334_1_aux_InvokeMethod(4521_0_aux_Return(EOS(STATIC_4521)), x0, x1, java.lang.Object(ARRAY(x2))) → 4521_0_aux_Return(EOS(STATIC_4521))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(EOS(STATIC_4712), x0, x1, java.lang.Object(ARRAY(x2)), java.lang.Object(ARRAY(x2)), x3), x0, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(EOS(STATIC_3939), x0, x1, java.lang.Object(ARRAY(x2))), x0, x1, java.lang.Object(ARRAY(x2))) → 4521_0_aux_Return(EOS(STATIC_4521))
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(EOS(STATIC_4640), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0), x0, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4571_0_aux_ArrayAccess(EOS(STATIC_4571), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x3), x0, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4408_0_aux_InvokeMethod(EOS(STATIC_4408), x0, x1, java.lang.Object(ARRAY(x2))), x3, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4439_0_aux_InvokeMethod(EOS(STATIC_4439), x0, x1, java.lang.Object(ARRAY(x2))), x3, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4527_0_aux_InvokeMethod(EOS(STATIC_4527), x0, x1, java.lang.Object(ARRAY(x2))), x3, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4667_0_aux_InvokeMethod(EOS(STATIC_4667), x0, x1, java.lang.Object(ARRAY(x2))), x3, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4685_0_aux_InvokeMethod(EOS(STATIC_4685), x0, x1, java.lang.Object(ARRAY(x2))), x3, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, x1, java.lang.Object(ARRAY(x2))), x3, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4368_0_aux_ArrayAccess(EOS(STATIC_4368), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0), x0, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(EOS(STATIC_4295), x0, x1, java.lang.Object(ARRAY(x2)), x0, x3, java.lang.Object(ARRAY(x2)), x4), x0, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4206_0_aux_ArrayAccess(EOS(STATIC_4206), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0), x0, x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, x1, java.lang.Object(ARRAY(x2)))

Filtered ground terms:



3933_0_aux_Load(x1, x2, x3, x4, x5) → 3933_0_aux_Load(x2, x3, x4, x5)
Cond_3933_0_aux_Load(x1, x2, x3, x4, x5, x6) → Cond_3933_0_aux_Load(x1, x3, x4, x5, x6)
4730_0_aux_InvokeMethod(x1, x2, x3, x4) → 4730_0_aux_InvokeMethod(x2, x3, x4)
4206_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4206_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7)
4295_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 4295_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
4368_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4368_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7)
4685_0_aux_InvokeMethod(x1, x2, x3, x4) → 4685_0_aux_InvokeMethod(x2, x3, x4)
4667_0_aux_InvokeMethod(x1, x2, x3, x4) → 4667_0_aux_InvokeMethod(x2, x3, x4)
4527_0_aux_InvokeMethod(x1, x2, x3, x4) → 4527_0_aux_InvokeMethod(x2, x3, x4)
4439_0_aux_InvokeMethod(x1, x2, x3, x4) → 4439_0_aux_InvokeMethod(x2, x3, x4)
4408_0_aux_InvokeMethod(x1, x2, x3, x4) → 4408_0_aux_InvokeMethod(x2, x3, x4)
4571_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 4571_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9)
4640_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4640_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7)
4521_0_aux_Return(x1) → 4521_0_aux_Return
3939_0_aux_Return(x1, x2, x3, x4) → 3939_0_aux_Return(x2, x3, x4)
4712_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4712_0_aux_ArrayAccess(x2, x3, x4, x5, x6)
4403_0_aux_Return(x1) → 4403_0_aux_Return

Filtered duplicate args:



3933_0_aux_Load(x1, x2, x3, x4) → 3933_0_aux_Load(x2, x3, x4)
Cond_3933_0_aux_Load(x1, x2, x3, x4, x5) → Cond_3933_0_aux_Load(x1, x3, x4, x5)
4712_0_aux_ArrayAccess(x1, x2, x3, x4, x5) → 4712_0_aux_ArrayAccess(x1, x2, x4, x5)
4640_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4640_0_aux_ArrayAccess(x2, x5, x6)
4571_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 4571_0_aux_ArrayAccess(x2, x6, x7, x8)
4368_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4368_0_aux_ArrayAccess(x2, x5, x6)
4295_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4295_0_aux_ArrayAccess(x2, x4, x5, x6, x7)
4206_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4206_0_aux_ArrayAccess(x2, x5, x6)

Filtered unneeded arguments:



4334_1_aux_InvokeMethod(x1, x2, x3, x4) → 4334_1_aux_InvokeMethod(x1)

Combined rules. Obtained 1 conditional rules for P and 15 conditional rules for R.


P rules:
3933_0_aux_Load(x1, java.lang.Object(ARRAY(x2)), x0) → 4334_1_aux_InvokeMethod(3933_0_aux_Load(x1, java.lang.Object(ARRAY(x2)), +(x0, 1))) | &&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(x0, -1))
R rules:
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4521_0_aux_Return
4334_1_aux_InvokeMethod(4521_0_aux_Return) → 4521_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, x1, java.lang.Object(ARRAY(x2)))) → 4521_0_aux_Return
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4571_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4408_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4439_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4527_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4667_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4685_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4368_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4206_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))

Performed bisimulation on rules. Used the following equivalence classes: {[4403_0_aux_Return, 4521_0_aux_Return]=4403_0_aux_Return, [4712_0_aux_ArrayAccess_4, 4571_0_aux_ArrayAccess_4]=4712_0_aux_ArrayAccess_4, [4640_0_aux_ArrayAccess_3, 4368_0_aux_ArrayAccess_3, 4206_0_aux_ArrayAccess_3]=4640_0_aux_ArrayAccess_3, [4730_0_aux_InvokeMethod_3, 3939_0_aux_Return_3, 4408_0_aux_InvokeMethod_3, 4439_0_aux_InvokeMethod_3, 4527_0_aux_InvokeMethod_3, 4667_0_aux_InvokeMethod_3, 4685_0_aux_InvokeMethod_3]=4730_0_aux_InvokeMethod_3}


Finished conversion. Obtained 2 rules for P and 7 rules for R. System has predefined symbols.


P rules:
3933_0_AUX_LOAD(x1, java.lang.Object(ARRAY(x2)), x0) → COND_3933_0_AUX_LOAD(&&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(x0, -1)), x1, java.lang.Object(ARRAY(x2)), x0)
COND_3933_0_AUX_LOAD(TRUE, x1, java.lang.Object(ARRAY(x2)), x0) → 3933_0_AUX_LOAD(x1, java.lang.Object(ARRAY(x2)), +(x0, 1))
R rules:
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))

(7) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(0): 3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0]) → COND_3933_0_AUX_LOAD(x2[0] > x0[0] + 1 && x1[0] > x0[0] && x0[0] > -1, x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])
(1): COND_3933_0_AUX_LOAD(TRUE, x1[1], java.lang.Object(ARRAY(x2[1])), x0[1]) → 3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), x0[1] + 1)

(0) -> (1), if (x2[0] > x0[0] + 1 && x1[0] > x0[0] && x0[0] > -1x1[0]* x1[1]java.lang.Object(ARRAY(x2[0])) →* java.lang.Object(ARRAY(x2[1]))∧x0[0]* x0[1])


(1) -> (0), if (x1[1]* x1[0]java.lang.Object(ARRAY(x2[1])) →* java.lang.Object(ARRAY(x2[0]))∧x0[1] + 1* x0[0])



The set Q consists of the following terms:
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2))))
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(8) IDPNonInfProof (SOUND transformation)

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

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


For Pair 3933_0_AUX_LOAD(x1, java.lang.Object(ARRAY(x2)), x0) → COND_3933_0_AUX_LOAD(&&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(x0, -1)), x1, java.lang.Object(ARRAY(x2)), x0) the following chains were created:
  • We consider the chain 3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0]) → COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0]), COND_3933_0_AUX_LOAD(TRUE, x1[1], java.lang.Object(ARRAY(x2[1])), x0[1]) → 3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1)) which results in the following constraint:

    (1)    (&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1))=TRUEx1[0]=x1[1]java.lang.Object(ARRAY(x2[0]))=java.lang.Object(ARRAY(x2[1]))∧x0[0]=x0[1]3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])≥NonInfC∧3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])≥COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])∧(UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥))



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

    (2)    (>(x0[0], -1)=TRUE>(x2[0], +(x0[0], 1))=TRUE>(x1[0], x0[0])=TRUE3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])≥NonInfC∧3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])≥COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])∧(UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥))



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

    (3)    (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] + [-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x0[0] + [(2)bni_16]x2[0] + [(2)bni_16]x1[0] ≥ 0∧[(-1)bso_17] ≥ 0)



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

    (4)    (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] + [-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x0[0] + [(2)bni_16]x2[0] + [(2)bni_16]x1[0] ≥ 0∧[(-1)bso_17] ≥ 0)



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

    (5)    (x0[0] ≥ 0∧x2[0] + [-2] + [-1]x0[0] ≥ 0∧x1[0] + [-1] + [-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥)∧[(-1)bni_16 + (-1)Bound*bni_16] + [(-1)bni_16]x0[0] + [(2)bni_16]x2[0] + [(2)bni_16]x1[0] ≥ 0∧[(-1)bso_17] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x0[0] ≥ 0 ⇒ (UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥)∧[(3)bni_16 + (-1)Bound*bni_16] + [bni_16]x0[0] + [(2)bni_16]x2[0] + [(2)bni_16]x1[0] ≥ 0∧[(-1)bso_17] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥)∧[(5)bni_16 + (-1)Bound*bni_16] + [(3)bni_16]x0[0] + [(2)bni_16]x2[0] + [(2)bni_16]x1[0] ≥ 0∧[(-1)bso_17] ≥ 0)







For Pair COND_3933_0_AUX_LOAD(TRUE, x1, java.lang.Object(ARRAY(x2)), x0) → 3933_0_AUX_LOAD(x1, java.lang.Object(ARRAY(x2)), +(x0, 1)) the following chains were created:
  • We consider the chain COND_3933_0_AUX_LOAD(TRUE, x1[1], java.lang.Object(ARRAY(x2[1])), x0[1]) → 3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1)) which results in the following constraint:

    (8)    (COND_3933_0_AUX_LOAD(TRUE, x1[1], java.lang.Object(ARRAY(x2[1])), x0[1])≥NonInfC∧COND_3933_0_AUX_LOAD(TRUE, x1[1], java.lang.Object(ARRAY(x2[1])), x0[1])≥3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))∧(UIncreasing(3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))), ≥))



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

    (9)    ((UIncreasing(3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)



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

    (10)    ((UIncreasing(3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)



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

    (11)    ((UIncreasing(3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))), ≥)∧[bni_18] = 0∧[1 + (-1)bso_19] ≥ 0)



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

    (12)    ((UIncreasing(3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))), ≥)∧[bni_18] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_19] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 3933_0_AUX_LOAD(x1, java.lang.Object(ARRAY(x2)), x0) → COND_3933_0_AUX_LOAD(&&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(x0, -1)), x1, java.lang.Object(ARRAY(x2)), x0)
    • (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])), ≥)∧[(5)bni_16 + (-1)Bound*bni_16] + [(3)bni_16]x0[0] + [(2)bni_16]x2[0] + [(2)bni_16]x1[0] ≥ 0∧[(-1)bso_17] ≥ 0)

  • COND_3933_0_AUX_LOAD(TRUE, x1, java.lang.Object(ARRAY(x2)), x0) → 3933_0_AUX_LOAD(x1, java.lang.Object(ARRAY(x2)), +(x0, 1))
    • ((UIncreasing(3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))), ≥)∧[bni_18] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_19] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(4334_1_aux_InvokeMethod(x1)) = [-1]   
POL(4403_0_aux_Return) = [-1]   
POL(4712_0_aux_ArrayAccess(x1, x2, x3, x4)) = [-1]   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(4730_0_aux_InvokeMethod(x1, x2, x3)) = [-1]   
POL(4640_0_aux_ArrayAccess(x1, x2, x3)) = [-1]   
POL(4295_0_aux_ArrayAccess(x1, x2, x3, x4, x5)) = [-1]   
POL(3933_0_AUX_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2 + [2]x1   
POL(COND_3933_0_AUX_LOAD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3 + [2]x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(-1) = [-1]   

The following pairs are in P>:

COND_3933_0_AUX_LOAD(TRUE, x1[1], java.lang.Object(ARRAY(x2[1])), x0[1]) → 3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), +(x0[1], 1))

The following pairs are in Pbound:

3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0]) → COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])

The following pairs are in P:

3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0]) → COND_3933_0_AUX_LOAD(&&(&&(>(x2[0], +(x0[0], 1)), >(x1[0], x0[0])), >(x0[0], -1)), x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])

There are no usable rules.

(9) Complex Obligation (AND)

(10) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


The ITRS R consists of the following rules:
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(0): 3933_0_AUX_LOAD(x1[0], java.lang.Object(ARRAY(x2[0])), x0[0]) → COND_3933_0_AUX_LOAD(x2[0] > x0[0] + 1 && x1[0] > x0[0] && x0[0] > -1, x1[0], java.lang.Object(ARRAY(x2[0])), x0[0])


The set Q consists of the following terms:
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2))))
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(11) IDependencyGraphProof (EQUIVALENT transformation)

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

(12) TRUE

(13) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


The ITRS R consists of the following rules:
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))) → 4730_0_aux_InvokeMethod(x3, x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(1): COND_3933_0_AUX_LOAD(TRUE, x1[1], java.lang.Object(ARRAY(x2[1])), x0[1]) → 3933_0_AUX_LOAD(x1[1], java.lang.Object(ARRAY(x2[1])), x0[1] + 1)


The set Q consists of the following terms:
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, x1, java.lang.Object(ARRAY(x2))))
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(14) IDependencyGraphProof (EQUIVALENT transformation)

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

(15) TRUE

(16) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: BubbleSortR.main([Ljava/lang/String;)V
SCC calls the following helper methods: BubbleSortR.aux(II[I)V
Performed SCC analyses: UsedFieldsAnalysis

(17) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 21 rules for P and 254 rules for R.


P rules:
4095_0_sort_Load(EOS(STATIC_4095), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, i1757) → 4106_0_sort_GE(EOS(STATIC_4106), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, i1757, i1756)
4106_0_sort_GE(EOS(STATIC_4106), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, i1757, i1756) → 4114_0_sort_GE(EOS(STATIC_4114), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, i1757, i1756)
4114_0_sort_GE(EOS(STATIC_4114), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, i1757, i1756) → 4128_0_sort_ConstantStackPush(EOS(STATIC_4128), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757) | <(i1757, i1756)
4128_0_sort_ConstantStackPush(EOS(STATIC_4128), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757) → 4141_0_sort_Load(EOS(STATIC_4141), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0)
4141_0_sort_Load(EOS(STATIC_4141), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, matching1) → 4152_0_sort_Load(EOS(STATIC_4152), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i1756) | =(matching1, 0)
4152_0_sort_Load(EOS(STATIC_4152), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, matching1, i1756) → 4168_0_sort_IntArithmetic(EOS(STATIC_4168), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i1756, i1757) | =(matching1, 0)
4168_0_sort_IntArithmetic(EOS(STATIC_4168), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, matching1, i1756, i1757) → 4180_0_sort_Load(EOS(STATIC_4180), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, -(i1756, i1757)) | &&(&&(>=(i1756, 0), >(i1757, 0)), =(matching1, 0))
4180_0_sort_Load(EOS(STATIC_4180), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, matching1, i1800) → 4192_0_sort_InvokeMethod(EOS(STATIC_4192), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i1800, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
4192_0_sort_InvokeMethod(EOS(STATIC_4192), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, matching1, i1800, java.lang.Object(ARRAY(i1756))) → 4208_1_sort_InvokeMethod(4208_0_aux_Load(EOS(STATIC_4208), 0, i1800, java.lang.Object(ARRAY(i1756))), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i1800, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
4208_1_sort_InvokeMethod(3939_0_aux_Return(EOS(STATIC_3939), matching1, i1838, java.lang.Object(ARRAY(i1839))), java.lang.Object(ARRAY(i1839)), java.lang.Object(ARRAY(i1839)), i1839, i1757, matching2, i1838, java.lang.Object(ARRAY(i1839))) → 4261_0_aux_Return(EOS(STATIC_4261), java.lang.Object(ARRAY(i1839)), java.lang.Object(ARRAY(i1839)), i1839, i1757, 0, i1838, java.lang.Object(ARRAY(i1839)), 0, i1838, java.lang.Object(ARRAY(i1839))) | &&(=(matching1, 0), =(matching2, 0))
4208_1_sort_InvokeMethod(4403_0_aux_Return(EOS(STATIC_4403)), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1979, i1757, matching1, i1978, java.lang.Object(ARRAY(i1756))) → 4459_0_aux_Return(EOS(STATIC_4459), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i1978, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
4208_1_sort_InvokeMethod(4521_0_aux_Return(EOS(STATIC_4521)), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i2054, i1757, matching1, i2053, java.lang.Object(ARRAY(i1756))) → 4574_0_aux_Return(EOS(STATIC_4574), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i2053, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
4261_0_aux_Return(EOS(STATIC_4261), java.lang.Object(ARRAY(i1839)), java.lang.Object(ARRAY(i1839)), i1839, i1757, matching1, i1838, java.lang.Object(ARRAY(i1839)), matching2, i1838, java.lang.Object(ARRAY(i1839))) → 4277_0_sort_Inc(EOS(STATIC_4277), java.lang.Object(ARRAY(i1839)), java.lang.Object(ARRAY(i1839)), i1839, i1757) | &&(=(matching1, 0), =(matching2, 0))
4277_0_sort_Inc(EOS(STATIC_4277), java.lang.Object(ARRAY(i1839)), java.lang.Object(ARRAY(i1839)), i1839, i1757) → 4279_0_sort_Inc(EOS(STATIC_4279), java.lang.Object(ARRAY(i1839)), java.lang.Object(ARRAY(i1839)), i1839, i1757)
4279_0_sort_Inc(EOS(STATIC_4279), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, i1757) → 4297_0_sort_JMP(EOS(STATIC_4297), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, +(i1757, 1)) | >(i1757, 0)
4297_0_sort_JMP(EOS(STATIC_4297), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, i1867) → 4309_0_sort_Load(EOS(STATIC_4309), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, i1867)
4309_0_sort_Load(EOS(STATIC_4309), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, i1867) → 4080_0_sort_Load(EOS(STATIC_4080), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, i1867)
4080_0_sort_Load(EOS(STATIC_4080), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757) → 4095_0_sort_Load(EOS(STATIC_4095), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, i1757)
4459_0_aux_Return(EOS(STATIC_4459), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, matching1, i1978, java.lang.Object(ARRAY(i1756))) → 4262_0_aux_Return(EOS(STATIC_4262), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i1978, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
4262_0_aux_Return(EOS(STATIC_4262), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, i1757, matching1, i1842, java.lang.Object(ARRAY(i1843))) → 4279_0_sort_Inc(EOS(STATIC_4279), java.lang.Object(ARRAY(i1843)), java.lang.Object(ARRAY(i1843)), i1843, i1757) | =(matching1, 0)
4574_0_aux_Return(EOS(STATIC_4574), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, matching1, i2053, java.lang.Object(ARRAY(i1756))) → 4262_0_aux_Return(EOS(STATIC_4262), java.lang.Object(ARRAY(i1756)), java.lang.Object(ARRAY(i1756)), i1756, i1757, 0, i2053, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
R rules:
4208_0_aux_Load(EOS(STATIC_4208), matching1, i1800, java.lang.Object(ARRAY(i1756))) → 4218_0_aux_Load(EOS(STATIC_4218), 0, i1800, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
4218_0_aux_Load(EOS(STATIC_4218), matching1, i1800, java.lang.Object(ARRAY(i1756))) → 3931_0_aux_Load(EOS(STATIC_3931), 0, i1800, java.lang.Object(ARRAY(i1756))) | =(matching1, 0)
4345_0_aux_Load(EOS(STATIC_4345), i1694, java.lang.Object(ARRAY(i1695))) → 3931_0_aux_Load(EOS(STATIC_3931), i1872, i1694, java.lang.Object(ARRAY(i1695)))
3931_0_aux_Load(EOS(STATIC_3931), i1693, i1694, java.lang.Object(ARRAY(i1695))) → 3933_0_aux_Load(EOS(STATIC_3933), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693)
3933_0_aux_Load(EOS(STATIC_3933), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693) → 3934_0_aux_LT(EOS(STATIC_3934), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694)
3934_0_aux_LT(EOS(STATIC_3934), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3936_0_aux_LT(EOS(STATIC_3936), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694)
3934_0_aux_LT(EOS(STATIC_3934), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3937_0_aux_LT(EOS(STATIC_3937), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694)
3936_0_aux_LT(EOS(STATIC_3936), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3938_0_aux_Load(EOS(STATIC_3938), i1693, i1694, java.lang.Object(ARRAY(i1695))) | <(i1693, i1694)
3937_0_aux_LT(EOS(STATIC_3937), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, i1694) → 3939_0_aux_Return(EOS(STATIC_3939), i1693, i1694, java.lang.Object(ARRAY(i1695))) | >=(i1693, i1694)
3938_0_aux_Load(EOS(STATIC_3938), i1693, i1694, java.lang.Object(ARRAY(i1695))) → 3940_0_aux_Store(EOS(STATIC_3940), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693)
3940_0_aux_Store(EOS(STATIC_3940), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693) → 3943_0_aux_Load(EOS(STATIC_3943), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693)
3943_0_aux_Load(EOS(STATIC_3943), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693) → 3946_0_aux_Load(EOS(STATIC_3946), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, java.lang.Object(ARRAY(i1695)))
3946_0_aux_Load(EOS(STATIC_3946), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, java.lang.Object(ARRAY(i1695))) → 3949_0_aux_ArrayAccess(EOS(STATIC_3949), i1693, i1694, java.lang.Object(ARRAY(i1695)), i1693, java.lang.Object(ARRAY(i1695)), i1693)
3949_0_aux_ArrayAccess(EOS(STATIC_3949), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3951_0_aux_ArrayAccess(EOS(STATIC_3951), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3949_0_aux_ArrayAccess(EOS(STATIC_3949), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3952_0_aux_ArrayAccess(EOS(STATIC_3952), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3951_0_aux_ArrayAccess(EOS(STATIC_3951), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3955_0_<init>_Load(EOS(STATIC_3955), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) | <=(i1704, -1)
3952_0_aux_ArrayAccess(EOS(STATIC_3952), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3956_0_aux_ArrayAccess(EOS(STATIC_3956), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3952_0_aux_ArrayAccess(EOS(STATIC_3952), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3957_0_aux_ArrayAccess(EOS(STATIC_3957), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3955_0_<init>_Load(EOS(STATIC_3955), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3969_0_<init>_InvokeMethod(EOS(STATIC_3969), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3956_0_aux_ArrayAccess(EOS(STATIC_3956), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3965_0_aux_Load(EOS(STATIC_3965), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722) | <(i1705, i1695)
3957_0_aux_ArrayAccess(EOS(STATIC_3957), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3966_0_<init>_Load(EOS(STATIC_3966), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | >=(i1705, i1695)
3965_0_aux_Load(EOS(STATIC_3965), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722) → 3970_0_aux_Load(EOS(STATIC_3970), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)))
3966_0_<init>_Load(EOS(STATIC_3966), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3977_0_<init>_InvokeMethod(EOS(STATIC_3977), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3969_0_<init>_InvokeMethod(EOS(STATIC_3969), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3974_0_<init>_Load(EOS(STATIC_3974), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3970_0_aux_Load(EOS(STATIC_3970), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695))) → 3975_0_aux_ConstantStackPush(EOS(STATIC_3975), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705)
3974_0_<init>_Load(EOS(STATIC_3974), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3986_0_<init>_InvokeMethod(EOS(STATIC_3986), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3975_0_aux_ConstantStackPush(EOS(STATIC_3975), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705) → 3981_0_aux_IntArithmetic(EOS(STATIC_3981), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705, 1)
3977_0_<init>_InvokeMethod(EOS(STATIC_3977), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3982_0_<init>_Load(EOS(STATIC_3982), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3981_0_aux_IntArithmetic(EOS(STATIC_3981), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1705, matching1) → 3988_0_aux_ArrayAccess(EOS(STATIC_3988), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), +(i1705, 1)) | &&(>=(i1705, 0), =(matching1, 1))
3982_0_<init>_Load(EOS(STATIC_3982), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 3996_0_<init>_InvokeMethod(EOS(STATIC_3996), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
3986_0_<init>_InvokeMethod(EOS(STATIC_3986), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 3992_0_<init>_Load(EOS(STATIC_3992), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3988_0_aux_ArrayAccess(EOS(STATIC_3988), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 3993_0_aux_ArrayAccess(EOS(STATIC_3993), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
3988_0_aux_ArrayAccess(EOS(STATIC_3988), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 3994_0_aux_ArrayAccess(EOS(STATIC_3994), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
3992_0_<init>_Load(EOS(STATIC_3992), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4005_0_<init>_InvokeMethod(EOS(STATIC_4005), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
3993_0_aux_ArrayAccess(EOS(STATIC_3993), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4000_0_aux_LE(EOS(STATIC_4000), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) | <(i1731, i1695)
3994_0_aux_ArrayAccess(EOS(STATIC_3994), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4001_0_<init>_Load(EOS(STATIC_4001), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) | >=(i1731, i1695)
3996_0_<init>_InvokeMethod(EOS(STATIC_3996), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4002_0_<init>_Load(EOS(STATIC_4002), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4000_0_aux_LE(EOS(STATIC_4000), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4006_0_aux_LE(EOS(STATIC_4006), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734)
4000_0_aux_LE(EOS(STATIC_4000), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4007_0_aux_LE(EOS(STATIC_4007), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734)
4001_0_<init>_Load(EOS(STATIC_4001), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4014_0_<init>_InvokeMethod(EOS(STATIC_4014), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4002_0_<init>_Load(EOS(STATIC_4002), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4015_0_<init>_InvokeMethod(EOS(STATIC_4015), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4005_0_<init>_InvokeMethod(EOS(STATIC_4005), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4010_0_<init>_Load(EOS(STATIC_4010), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4006_0_aux_LE(EOS(STATIC_4006), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4011_0_aux_Load(EOS(STATIC_4011), i1705, i1694, java.lang.Object(ARRAY(i1695))) | <=(i1722, i1734)
4007_0_aux_LE(EOS(STATIC_4007), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, i1734) → 4012_0_aux_Load(EOS(STATIC_4012), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) | >(i1722, i1734)
4010_0_<init>_Load(EOS(STATIC_4010), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4024_0_<init>_InvokeMethod(EOS(STATIC_4024), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4011_0_aux_Load(EOS(STATIC_4011), i1705, i1694, java.lang.Object(ARRAY(i1695))) → 4252_0_aux_Load(EOS(STATIC_4252), i1705, i1694, java.lang.Object(ARRAY(i1695)))
4012_0_aux_Load(EOS(STATIC_4012), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4019_0_aux_Load(EOS(STATIC_4019), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4014_0_<init>_InvokeMethod(EOS(STATIC_4014), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4020_0_<init>_Load(EOS(STATIC_4020), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4015_0_<init>_InvokeMethod(EOS(STATIC_4015), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4021_0_<init>_Load(EOS(STATIC_4021), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4019_0_aux_Load(EOS(STATIC_4019), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4027_0_aux_ArrayAccess(EOS(STATIC_4027), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4020_0_<init>_Load(EOS(STATIC_4020), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4035_0_<init>_InvokeMethod(EOS(STATIC_4035), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4021_0_<init>_Load(EOS(STATIC_4021), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4036_0_<init>_InvokeMethod(EOS(STATIC_4036), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4024_0_<init>_InvokeMethod(EOS(STATIC_4024), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4029_0_<init>_Load(EOS(STATIC_4029), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4027_0_aux_ArrayAccess(EOS(STATIC_4027), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4032_0_aux_ArrayAccess(EOS(STATIC_4032), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4027_0_aux_ArrayAccess(EOS(STATIC_4027), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4033_0_aux_ArrayAccess(EOS(STATIC_4033), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4029_0_<init>_Load(EOS(STATIC_4029), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4047_0_<init>_InvokeMethod(EOS(STATIC_4047), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4032_0_aux_ArrayAccess(EOS(STATIC_4032), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4039_0_aux_Store(EOS(STATIC_4039), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) | <(i1705, i1695)
4033_0_aux_ArrayAccess(EOS(STATIC_4033), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4040_0_<init>_Load(EOS(STATIC_4040), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | >=(i1705, i1695)
4035_0_<init>_InvokeMethod(EOS(STATIC_4035), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4041_0_<init>_Load(EOS(STATIC_4041), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4036_0_<init>_InvokeMethod(EOS(STATIC_4036), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4043_0_<init>_Load(EOS(STATIC_4043), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4039_0_aux_Store(EOS(STATIC_4039), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4049_0_aux_Load(EOS(STATIC_4049), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705)
4040_0_<init>_Load(EOS(STATIC_4040), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4057_0_<init>_InvokeMethod(EOS(STATIC_4057), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4041_0_<init>_Load(EOS(STATIC_4041), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4059_0_<init>_InvokeMethod(EOS(STATIC_4059), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4043_0_<init>_Load(EOS(STATIC_4043), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4060_0_<init>_InvokeMethod(EOS(STATIC_4060), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4047_0_<init>_InvokeMethod(EOS(STATIC_4047), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4052_0_<init>_Load(EOS(STATIC_4052), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4049_0_aux_Load(EOS(STATIC_4049), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4054_0_aux_Load(EOS(STATIC_4054), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4052_0_<init>_Load(EOS(STATIC_4052), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4063_0_<init>_Load(EOS(STATIC_4063), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4054_0_aux_Load(EOS(STATIC_4054), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4065_0_aux_Load(EOS(STATIC_4065), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4057_0_<init>_InvokeMethod(EOS(STATIC_4057), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4066_0_<init>_Load(EOS(STATIC_4066), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4059_0_<init>_InvokeMethod(EOS(STATIC_4059), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4068_0_<init>_Load(EOS(STATIC_4068), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4060_0_<init>_InvokeMethod(EOS(STATIC_4060), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4069_0_<init>_Load(EOS(STATIC_4069), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4063_0_<init>_Load(EOS(STATIC_4063), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4072_0_<init>_FieldAccess(EOS(STATIC_4072), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4065_0_aux_Load(EOS(STATIC_4065), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4073_0_aux_Load(EOS(STATIC_4073), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4066_0_<init>_Load(EOS(STATIC_4066), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4090_0_<init>_InvokeMethod(EOS(STATIC_4090), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4068_0_<init>_Load(EOS(STATIC_4068), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4092_0_<init>_InvokeMethod(EOS(STATIC_4092), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4069_0_<init>_Load(EOS(STATIC_4069), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4075_0_<init>_Load(EOS(STATIC_4075), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4072_0_<init>_FieldAccess(EOS(STATIC_4072), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4083_0_<init>_Load(EOS(STATIC_4083), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4073_0_aux_Load(EOS(STATIC_4073), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4087_0_aux_ConstantStackPush(EOS(STATIC_4087), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4075_0_<init>_Load(EOS(STATIC_4075), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4093_0_<init>_FieldAccess(EOS(STATIC_4093), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4083_0_<init>_Load(EOS(STATIC_4083), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4096_0_<init>_InvokeMethod(EOS(STATIC_4096), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4087_0_aux_ConstantStackPush(EOS(STATIC_4087), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4099_0_aux_IntArithmetic(EOS(STATIC_4099), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, 1)
4090_0_<init>_InvokeMethod(EOS(STATIC_4090), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4100_0_<init>_Load(EOS(STATIC_4100), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4092_0_<init>_InvokeMethod(EOS(STATIC_4092), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4101_0_<init>_Load(EOS(STATIC_4101), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4093_0_<init>_FieldAccess(EOS(STATIC_4093), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4104_0_<init>_Load(EOS(STATIC_4104), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4096_0_<init>_InvokeMethod(EOS(STATIC_4096), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4107_0_<init>_StackPop(EOS(STATIC_4107), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4099_0_aux_IntArithmetic(EOS(STATIC_4099), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, matching1) → 4110_0_aux_ArrayAccess(EOS(STATIC_4110), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), +(i1705, 1)) | &&(>=(i1705, 0), =(matching1, 1))
4100_0_<init>_Load(EOS(STATIC_4100), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4121_0_<init>_InvokeMethod(EOS(STATIC_4121), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4101_0_<init>_Load(EOS(STATIC_4101), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4123_0_<init>_InvokeMethod(EOS(STATIC_4123), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4104_0_<init>_Load(EOS(STATIC_4104), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4112_0_<init>_InvokeMethod(EOS(STATIC_4112), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4107_0_<init>_StackPop(EOS(STATIC_4107), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4115_0_<init>_Return(EOS(STATIC_4115), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4110_0_aux_ArrayAccess(EOS(STATIC_4110), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4118_0_aux_ArrayAccess(EOS(STATIC_4118), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4110_0_aux_ArrayAccess(EOS(STATIC_4110), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4119_0_aux_ArrayAccess(EOS(STATIC_4119), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4112_0_<init>_InvokeMethod(EOS(STATIC_4112), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4125_0_<init>_StackPop(EOS(STATIC_4125), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4115_0_<init>_Return(EOS(STATIC_4115), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4129_0_<init>_Return(EOS(STATIC_4129), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4118_0_aux_ArrayAccess(EOS(STATIC_4118), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4132_0_aux_ArrayAccess(EOS(STATIC_4132), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | <(i1784, i1695)
4119_0_aux_ArrayAccess(EOS(STATIC_4119), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4134_0_<init>_Load(EOS(STATIC_4134), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) | >=(i1784, i1695)
4121_0_<init>_InvokeMethod(EOS(STATIC_4121), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4135_0_<init>_Load(EOS(STATIC_4135), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4123_0_<init>_InvokeMethod(EOS(STATIC_4123), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4137_0_<init>_Load(EOS(STATIC_4137), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4125_0_<init>_StackPop(EOS(STATIC_4125), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4138_0_<init>_Return(EOS(STATIC_4138), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4129_0_<init>_Return(EOS(STATIC_4129), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4143_0_<init>_Return(EOS(STATIC_4143), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4132_0_aux_ArrayAccess(EOS(STATIC_4132), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4145_0_aux_ArrayAccess(EOS(STATIC_4145), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4132_0_aux_ArrayAccess(EOS(STATIC_4132), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4146_0_aux_ArrayAccess(EOS(STATIC_4146), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4134_0_<init>_Load(EOS(STATIC_4134), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4161_0_<init>_InvokeMethod(EOS(STATIC_4161), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4135_0_<init>_Load(EOS(STATIC_4135), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4163_0_<init>_InvokeMethod(EOS(STATIC_4163), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4137_0_<init>_Load(EOS(STATIC_4137), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4148_0_<init>_Load(EOS(STATIC_4148), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4138_0_<init>_Return(EOS(STATIC_4138), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4150_0_<init>_Return(EOS(STATIC_4150), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4143_0_<init>_Return(EOS(STATIC_4143), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4153_0_<init>_Return(EOS(STATIC_4153), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4145_0_aux_ArrayAccess(EOS(STATIC_4145), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4156_0_aux_Load(EOS(STATIC_4156), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) | <(i1705, i1695)
4146_0_aux_ArrayAccess(EOS(STATIC_4146), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4158_0_<init>_Load(EOS(STATIC_4158), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) | >=(i1705, i1695)
4148_0_<init>_Load(EOS(STATIC_4148), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4165_0_<init>_FieldAccess(EOS(STATIC_4165), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4150_0_<init>_Return(EOS(STATIC_4150), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4166_0_<init>_Return(EOS(STATIC_4166), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4153_0_<init>_Return(EOS(STATIC_4153), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4169_0_<init>_Return(EOS(STATIC_4169), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4156_0_aux_Load(EOS(STATIC_4156), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4171_0_aux_Load(EOS(STATIC_4171), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)))
4158_0_<init>_Load(EOS(STATIC_4158), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4187_0_<init>_InvokeMethod(EOS(STATIC_4187), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4161_0_<init>_InvokeMethod(EOS(STATIC_4161), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4173_0_<init>_Load(EOS(STATIC_4173), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4163_0_<init>_InvokeMethod(EOS(STATIC_4163), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4174_0_<init>_Load(EOS(STATIC_4174), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4165_0_<init>_FieldAccess(EOS(STATIC_4165), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4177_0_<init>_Load(EOS(STATIC_4177), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4166_0_<init>_Return(EOS(STATIC_4166), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4178_0_<init>_Return(EOS(STATIC_4178), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4169_0_<init>_Return(EOS(STATIC_4169), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704) → 4181_0_aux_ArrayAccess(EOS(STATIC_4181), i1704, i1694, java.lang.Object(ARRAY(i1695)), i1704, java.lang.Object(ARRAY(i1695)), i1704)
4171_0_aux_Load(EOS(STATIC_4171), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695))) → 4184_0_aux_ConstantStackPush(EOS(STATIC_4184), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705)
4173_0_<init>_Load(EOS(STATIC_4173), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4201_0_<init>_InvokeMethod(EOS(STATIC_4201), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4174_0_<init>_Load(EOS(STATIC_4174), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4203_0_<init>_InvokeMethod(EOS(STATIC_4203), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4177_0_<init>_Load(EOS(STATIC_4177), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4189_0_<init>_InvokeMethod(EOS(STATIC_4189), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4178_0_<init>_Return(EOS(STATIC_4178), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4191_0_<init>_Return(EOS(STATIC_4191), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4184_0_aux_ConstantStackPush(EOS(STATIC_4184), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705) → 4196_0_aux_IntArithmetic(EOS(STATIC_4196), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705, 1)
4187_0_<init>_InvokeMethod(EOS(STATIC_4187), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4198_0_<init>_Load(EOS(STATIC_4198), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4189_0_<init>_InvokeMethod(EOS(STATIC_4189), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4205_0_<init>_StackPop(EOS(STATIC_4205), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4191_0_<init>_Return(EOS(STATIC_4191), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4206_0_aux_ArrayAccess(EOS(STATIC_4206), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4196_0_aux_IntArithmetic(EOS(STATIC_4196), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1705, matching1) → 4209_0_aux_Load(EOS(STATIC_4209), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), +(i1705, 1)) | &&(>=(i1705, 0), =(matching1, 1))
4198_0_<init>_Load(EOS(STATIC_4198), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4223_0_<init>_InvokeMethod(EOS(STATIC_4223), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4201_0_<init>_InvokeMethod(EOS(STATIC_4201), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4211_0_<init>_Load(EOS(STATIC_4211), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4203_0_<init>_InvokeMethod(EOS(STATIC_4203), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4213_0_<init>_Load(EOS(STATIC_4213), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4205_0_<init>_StackPop(EOS(STATIC_4205), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4215_0_<init>_Return(EOS(STATIC_4215), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4209_0_aux_Load(EOS(STATIC_4209), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4220_0_aux_ArrayAccess(EOS(STATIC_4220), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4211_0_<init>_Load(EOS(STATIC_4211), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4236_0_<init>_InvokeMethod(EOS(STATIC_4236), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4213_0_<init>_Load(EOS(STATIC_4213), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4226_0_<init>_Load(EOS(STATIC_4226), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4215_0_<init>_Return(EOS(STATIC_4215), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4228_0_<init>_Return(EOS(STATIC_4228), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4220_0_aux_ArrayAccess(EOS(STATIC_4220), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4231_0_aux_ArrayAccess(EOS(STATIC_4231), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4220_0_aux_ArrayAccess(EOS(STATIC_4220), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4232_0_aux_ArrayAccess(EOS(STATIC_4232), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4223_0_<init>_InvokeMethod(EOS(STATIC_4223), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4233_0_<init>_Load(EOS(STATIC_4233), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4226_0_<init>_Load(EOS(STATIC_4226), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4239_0_<init>_FieldAccess(EOS(STATIC_4239), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4228_0_<init>_Return(EOS(STATIC_4228), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4241_0_<init>_Return(EOS(STATIC_4241), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4231_0_aux_ArrayAccess(EOS(STATIC_4231), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4252_0_aux_Load(EOS(STATIC_4252), i1705, i1694, java.lang.Object(ARRAY(i1695))) | <(i1820, i1695)
4232_0_aux_ArrayAccess(EOS(STATIC_4232), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4253_0_<init>_Load(EOS(STATIC_4253), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) | >=(i1820, i1695)
4233_0_<init>_Load(EOS(STATIC_4233), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4272_0_<init>_InvokeMethod(EOS(STATIC_4272), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4236_0_<init>_InvokeMethod(EOS(STATIC_4236), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4255_0_<init>_Load(EOS(STATIC_4255), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4239_0_<init>_FieldAccess(EOS(STATIC_4239), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4258_0_<init>_Load(EOS(STATIC_4258), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4241_0_<init>_Return(EOS(STATIC_4241), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4260_0_<init>_Return(EOS(STATIC_4260), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4252_0_aux_Load(EOS(STATIC_4252), i1705, i1694, java.lang.Object(ARRAY(i1695))) → 4268_0_aux_ConstantStackPush(EOS(STATIC_4268), i1694, java.lang.Object(ARRAY(i1695)), i1705)
4253_0_<init>_Load(EOS(STATIC_4253), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4286_0_<init>_InvokeMethod(EOS(STATIC_4286), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4255_0_<init>_Load(EOS(STATIC_4255), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4291_0_<init>_InvokeMethod(EOS(STATIC_4291), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4258_0_<init>_Load(EOS(STATIC_4258), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4274_0_<init>_InvokeMethod(EOS(STATIC_4274), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4260_0_<init>_Return(EOS(STATIC_4260), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4276_0_<init>_Return(EOS(STATIC_4276), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4268_0_aux_ConstantStackPush(EOS(STATIC_4268), i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4282_0_aux_IntArithmetic(EOS(STATIC_4282), i1694, java.lang.Object(ARRAY(i1695)), i1705)
4272_0_<init>_InvokeMethod(EOS(STATIC_4272), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4288_0_<init>_Load(EOS(STATIC_4288), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4274_0_<init>_InvokeMethod(EOS(STATIC_4274), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4293_0_<init>_StackPop(EOS(STATIC_4293), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4276_0_<init>_Return(EOS(STATIC_4276), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731) → 4295_0_aux_ArrayAccess(EOS(STATIC_4295), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, i1722, java.lang.Object(ARRAY(i1695)), i1731)
4282_0_aux_IntArithmetic(EOS(STATIC_4282), i1694, java.lang.Object(ARRAY(i1695)), i1705) → 4300_0_aux_Load(EOS(STATIC_4300), i1694, java.lang.Object(ARRAY(i1695))) | >=(i1705, 0)
4286_0_<init>_InvokeMethod(EOS(STATIC_4286), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4301_0_<init>_Load(EOS(STATIC_4301), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4288_0_<init>_Load(EOS(STATIC_4288), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4315_0_<init>_InvokeMethod(EOS(STATIC_4315), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4291_0_<init>_InvokeMethod(EOS(STATIC_4291), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4303_0_<init>_Load(EOS(STATIC_4303), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4293_0_<init>_StackPop(EOS(STATIC_4293), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4305_0_<init>_Return(EOS(STATIC_4305), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4300_0_aux_Load(EOS(STATIC_4300), i1694, java.lang.Object(ARRAY(i1695))) → 4312_0_aux_Load(EOS(STATIC_4312), java.lang.Object(ARRAY(i1695)), i1694)
4301_0_<init>_Load(EOS(STATIC_4301), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4325_0_<init>_InvokeMethod(EOS(STATIC_4325), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4303_0_<init>_Load(EOS(STATIC_4303), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4329_0_<init>_InvokeMethod(EOS(STATIC_4329), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4305_0_<init>_Return(EOS(STATIC_4305), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4318_0_<init>_Return(EOS(STATIC_4318), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4312_0_aux_Load(EOS(STATIC_4312), java.lang.Object(ARRAY(i1695)), i1694) → 4321_0_aux_InvokeMethod(EOS(STATIC_4321), i1694, java.lang.Object(ARRAY(i1695)))
4315_0_<init>_InvokeMethod(EOS(STATIC_4315), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4326_0_<init>_Load(EOS(STATIC_4326), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4318_0_<init>_Return(EOS(STATIC_4318), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4332_0_<init>_Return(EOS(STATIC_4332), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4321_0_aux_InvokeMethod(EOS(STATIC_4321), i1694, java.lang.Object(ARRAY(i1695))) → 4334_1_aux_InvokeMethod(4334_0_aux_Load(EOS(STATIC_4334), i1694, java.lang.Object(ARRAY(i1695))), i1694, java.lang.Object(ARRAY(i1695)))
4325_0_<init>_InvokeMethod(EOS(STATIC_4325), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4335_0_<init>_Load(EOS(STATIC_4335), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4326_0_<init>_Load(EOS(STATIC_4326), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4349_0_<init>_InvokeMethod(EOS(STATIC_4349), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4329_0_<init>_InvokeMethod(EOS(STATIC_4329), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4338_0_<init>_Load(EOS(STATIC_4338), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4332_0_<init>_Return(EOS(STATIC_4332), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4341_0_<init>_Return(EOS(STATIC_4341), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4334_0_aux_Load(EOS(STATIC_4334), i1694, java.lang.Object(ARRAY(i1695))) → 4345_0_aux_Load(EOS(STATIC_4345), i1694, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(EOS(STATIC_3939), i1902, i1903, java.lang.Object(ARRAY(i1904))), i1903, java.lang.Object(ARRAY(i1904))) → 4388_0_aux_Return(EOS(STATIC_4388), i1903, java.lang.Object(ARRAY(i1904)), i1903, java.lang.Object(ARRAY(i1904)))
4334_1_aux_InvokeMethod(4206_0_aux_ArrayAccess(EOS(STATIC_4206), i1916, i1917, java.lang.Object(ARRAY(i1918)), i1916, java.lang.Object(ARRAY(i1918)), i1916), i1917, java.lang.Object(ARRAY(i1918))) → 4390_0_aux_ArrayAccess(EOS(STATIC_4390), i1917, java.lang.Object(ARRAY(i1918)), i1917, java.lang.Object(ARRAY(i1918)), java.lang.Object(ARRAY(i1918)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(EOS(STATIC_4295), i1926, i1927, java.lang.Object(ARRAY(i1928)), i1926, i1722, java.lang.Object(ARRAY(i1928)), i1731), i1927, java.lang.Object(ARRAY(i1928))) → 4391_0_aux_ArrayAccess(EOS(STATIC_4391), i1927, java.lang.Object(ARRAY(i1928)), i1927, java.lang.Object(ARRAY(i1928)), i1722, java.lang.Object(ARRAY(i1928)), i1731)
4334_1_aux_InvokeMethod(4368_0_aux_ArrayAccess(EOS(STATIC_4368), i1943, i1944, java.lang.Object(ARRAY(i1945)), i1943, java.lang.Object(ARRAY(i1945)), i1943), i1944, java.lang.Object(ARRAY(i1945))) → 4422_0_aux_ArrayAccess(EOS(STATIC_4422), i1944, java.lang.Object(ARRAY(i1945)), i1944, java.lang.Object(ARRAY(i1945)), java.lang.Object(ARRAY(i1945)))
4334_1_aux_InvokeMethod(4403_0_aux_Return(EOS(STATIC_4403)), i1984, java.lang.Object(ARRAY(i1695))) → 4460_0_aux_Return(EOS(STATIC_4460), i1984, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1994, java.lang.Object(ARRAY(i1695))), i1994, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i1994, java.lang.Object(ARRAY(i1695)), i1994, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4439_0_aux_InvokeMethod(EOS(STATIC_4439), i2012, java.lang.Object(ARRAY(i1695))), i2012, java.lang.Object(ARRAY(i1695))) → 4542_0_aux_InvokeMethod(EOS(STATIC_4542), i2012, java.lang.Object(ARRAY(i1695)), i2012, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4521_0_aux_Return(EOS(STATIC_4521)), i2060, java.lang.Object(ARRAY(i1695))) → 4575_0_aux_Return(EOS(STATIC_4575), i2060, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4527_0_aux_InvokeMethod(EOS(STATIC_4527), i2071, java.lang.Object(ARRAY(i1695))), i2071, java.lang.Object(ARRAY(i1695))) → 4580_0_aux_InvokeMethod(EOS(STATIC_4580), i2071, java.lang.Object(ARRAY(i1695)), i2071, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4571_0_aux_ArrayAccess(EOS(STATIC_4571), i2106, i2107, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i2106, java.lang.Object(ARRAY(i2108)), i1784), i2107, java.lang.Object(ARRAY(i2108))) → 4652_0_aux_ArrayAccess(EOS(STATIC_4652), i2107, java.lang.Object(ARRAY(i2108)), i2107, java.lang.Object(ARRAY(i2108)), java.lang.Object(ARRAY(i2108)), java.lang.Object(ARRAY(i2108)), i1784)
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(EOS(STATIC_4640), i2121, i2122, java.lang.Object(ARRAY(i2123)), i2121, java.lang.Object(ARRAY(i2123)), i2121), i2122, java.lang.Object(ARRAY(i2123))) → 4673_0_aux_ArrayAccess(EOS(STATIC_4673), i2122, java.lang.Object(ARRAY(i2123)), i2122, java.lang.Object(ARRAY(i2123)), java.lang.Object(ARRAY(i2123)))
4334_1_aux_InvokeMethod(4667_0_aux_InvokeMethod(EOS(STATIC_4667), i2176, java.lang.Object(ARRAY(i1695))), i2176, java.lang.Object(ARRAY(i1695))) → 4702_0_aux_InvokeMethod(EOS(STATIC_4702), i2176, java.lang.Object(ARRAY(i1695)), i2176, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2204, java.lang.Object(ARRAY(i1695))), i2204, java.lang.Object(ARRAY(i1695))) → 4717_0_aux_InvokeMethod(EOS(STATIC_4717), i2204, java.lang.Object(ARRAY(i1695)), i2204, java.lang.Object(ARRAY(i1695)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(EOS(STATIC_4712), i2226, i2227, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820), i2227, java.lang.Object(ARRAY(i1695))) → 4725_0_aux_ArrayAccess(EOS(STATIC_4725), i2227, java.lang.Object(ARRAY(i1695)), i2227, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(EOS(STATIC_4730), i2259, java.lang.Object(ARRAY(i1695))), i2259, java.lang.Object(ARRAY(i1695))) → 4744_0_aux_InvokeMethod(EOS(STATIC_4744), i2259, java.lang.Object(ARRAY(i1695)), i2259, java.lang.Object(ARRAY(i1695)))
4335_0_<init>_Load(EOS(STATIC_4335), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4360_0_<init>_InvokeMethod(EOS(STATIC_4360), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4338_0_<init>_Load(EOS(STATIC_4338), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4352_0_<init>_Load(EOS(STATIC_4352), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4341_0_<init>_Return(EOS(STATIC_4341), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4354_0_<init>_Return(EOS(STATIC_4354), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4349_0_<init>_InvokeMethod(EOS(STATIC_4349), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4363_0_<init>_Load(EOS(STATIC_4363), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4352_0_<init>_Load(EOS(STATIC_4352), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4366_0_<init>_FieldAccess(EOS(STATIC_4366), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4354_0_<init>_Return(EOS(STATIC_4354), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4368_0_aux_ArrayAccess(EOS(STATIC_4368), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4360_0_<init>_InvokeMethod(EOS(STATIC_4360), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4377_0_<init>_Load(EOS(STATIC_4377), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4363_0_<init>_Load(EOS(STATIC_4363), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4381_0_<init>_Load(EOS(STATIC_4381), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4366_0_<init>_FieldAccess(EOS(STATIC_4366), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4386_0_<init>_Load(EOS(STATIC_4386), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4377_0_<init>_Load(EOS(STATIC_4377), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4412_0_<init>_InvokeMethod(EOS(STATIC_4412), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4381_0_<init>_Load(EOS(STATIC_4381), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4395_0_<init>_FieldAccess(EOS(STATIC_4395), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4386_0_<init>_Load(EOS(STATIC_4386), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4398_0_<init>_InvokeMethod(EOS(STATIC_4398), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4388_0_aux_Return(EOS(STATIC_4388), i1903, java.lang.Object(ARRAY(i1904)), i1903, java.lang.Object(ARRAY(i1904))) → 4403_0_aux_Return(EOS(STATIC_4403))
4390_0_aux_ArrayAccess(EOS(STATIC_4390), i1917, java.lang.Object(ARRAY(i1918)), i1917, java.lang.Object(ARRAY(i1918)), java.lang.Object(ARRAY(i1918))) → 4405_0_aux_InvokeMethod(EOS(STATIC_4405), i1917, java.lang.Object(ARRAY(i1918)))
4391_0_aux_ArrayAccess(EOS(STATIC_4391), i1927, java.lang.Object(ARRAY(i1928)), i1927, java.lang.Object(ARRAY(i1928)), i1722, java.lang.Object(ARRAY(i1928)), i1731) → 4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1927, java.lang.Object(ARRAY(i1928)))
4395_0_<init>_FieldAccess(EOS(STATIC_4395), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4417_0_<init>_Load(EOS(STATIC_4417), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4398_0_<init>_InvokeMethod(EOS(STATIC_4398), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4420_0_<init>_StackPop(EOS(STATIC_4420), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4403_0_aux_Return(EOS(STATIC_4403)) → 4521_0_aux_Return(EOS(STATIC_4521))
4405_0_aux_InvokeMethod(EOS(STATIC_4405), i1917, java.lang.Object(ARRAY(i1918))) → 4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1917, java.lang.Object(ARRAY(i1918)))
4408_0_aux_InvokeMethod(EOS(STATIC_4408), i1927, java.lang.Object(ARRAY(i1928))) → 4439_0_aux_InvokeMethod(EOS(STATIC_4439), i1927, java.lang.Object(ARRAY(i1928)))
4412_0_<init>_InvokeMethod(EOS(STATIC_4412), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4426_0_<init>_Load(EOS(STATIC_4426), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4417_0_<init>_Load(EOS(STATIC_4417), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4430_0_<init>_InvokeMethod(EOS(STATIC_4430), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4420_0_<init>_StackPop(EOS(STATIC_4420), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4433_0_<init>_Return(EOS(STATIC_4433), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4422_0_aux_ArrayAccess(EOS(STATIC_4422), i1944, java.lang.Object(ARRAY(i1945)), i1944, java.lang.Object(ARRAY(i1945)), java.lang.Object(ARRAY(i1945))) → 4439_0_aux_InvokeMethod(EOS(STATIC_4439), i1944, java.lang.Object(ARRAY(i1945)))
4426_0_<init>_Load(EOS(STATIC_4426), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4466_0_<init>_InvokeMethod(EOS(STATIC_4466), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4430_0_<init>_InvokeMethod(EOS(STATIC_4430), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4450_0_<init>_StackPop(EOS(STATIC_4450), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4433_0_<init>_Return(EOS(STATIC_4433), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4453_0_<init>_Return(EOS(STATIC_4453), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4439_0_aux_InvokeMethod(EOS(STATIC_4439), i1944, java.lang.Object(ARRAY(i1945))) → 4527_0_aux_InvokeMethod(EOS(STATIC_4527), i1944, java.lang.Object(ARRAY(i1945)))
4450_0_<init>_StackPop(EOS(STATIC_4450), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4470_0_<init>_Return(EOS(STATIC_4470), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4453_0_<init>_Return(EOS(STATIC_4453), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4473_0_<init>_Return(EOS(STATIC_4473), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4460_0_aux_Return(EOS(STATIC_4460), i1984, java.lang.Object(ARRAY(i1695))) → 4521_0_aux_Return(EOS(STATIC_4521))
4462_0_aux_InvokeMethod(EOS(STATIC_4462), i1994, java.lang.Object(ARRAY(i1695)), i1994, java.lang.Object(ARRAY(i1695))) → 4527_0_aux_InvokeMethod(EOS(STATIC_4527), i1994, java.lang.Object(ARRAY(i1695)))
4466_0_<init>_InvokeMethod(EOS(STATIC_4466), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4531_0_<init>_Load(EOS(STATIC_4531), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4470_0_<init>_Return(EOS(STATIC_4470), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4534_0_<init>_Return(EOS(STATIC_4534), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4473_0_<init>_Return(EOS(STATIC_4473), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4537_0_<init>_Return(EOS(STATIC_4537), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4527_0_aux_InvokeMethod(EOS(STATIC_4527), i1994, java.lang.Object(ARRAY(i1695))) → 4667_0_aux_InvokeMethod(EOS(STATIC_4667), i1994, java.lang.Object(ARRAY(i1695)))
4531_0_<init>_Load(EOS(STATIC_4531), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4549_0_<init>_Load(EOS(STATIC_4549), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4534_0_<init>_Return(EOS(STATIC_4534), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4552_0_<init>_Return(EOS(STATIC_4552), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4537_0_<init>_Return(EOS(STATIC_4537), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4554_0_<init>_Return(EOS(STATIC_4554), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4542_0_aux_InvokeMethod(EOS(STATIC_4542), i2012, java.lang.Object(ARRAY(i1695)), i2012, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2012, java.lang.Object(ARRAY(i1695)), i2012, java.lang.Object(ARRAY(i1695)))
4549_0_<init>_Load(EOS(STATIC_4549), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4567_0_<init>_FieldAccess(EOS(STATIC_4567), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4552_0_<init>_Return(EOS(STATIC_4552), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4570_0_<init>_Return(EOS(STATIC_4570), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4554_0_<init>_Return(EOS(STATIC_4554), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784) → 4571_0_aux_ArrayAccess(EOS(STATIC_4571), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1784)
4567_0_<init>_FieldAccess(EOS(STATIC_4567), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4584_0_<init>_Load(EOS(STATIC_4584), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4570_0_<init>_Return(EOS(STATIC_4570), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4586_0_<init>_Return(EOS(STATIC_4586), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4575_0_aux_Return(EOS(STATIC_4575), i2060, java.lang.Object(ARRAY(i1695))) → 4460_0_aux_Return(EOS(STATIC_4460), i2060, java.lang.Object(ARRAY(i1695)))
4580_0_aux_InvokeMethod(EOS(STATIC_4580), i2071, java.lang.Object(ARRAY(i1695)), i2071, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2071, java.lang.Object(ARRAY(i1695)), i2071, java.lang.Object(ARRAY(i1695)))
4584_0_<init>_Load(EOS(STATIC_4584), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4639_0_<init>_InvokeMethod(EOS(STATIC_4639), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4586_0_<init>_Return(EOS(STATIC_4586), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705) → 4640_0_aux_ArrayAccess(EOS(STATIC_4640), i1705, i1694, java.lang.Object(ARRAY(i1695)), i1705, java.lang.Object(ARRAY(i1695)), i1705)
4639_0_<init>_InvokeMethod(EOS(STATIC_4639), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4648_0_<init>_StackPop(EOS(STATIC_4648), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4648_0_<init>_StackPop(EOS(STATIC_4648), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4655_0_<init>_Return(EOS(STATIC_4655), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4652_0_aux_ArrayAccess(EOS(STATIC_4652), i2107, java.lang.Object(ARRAY(i2108)), i2107, java.lang.Object(ARRAY(i2108)), java.lang.Object(ARRAY(i2108)), java.lang.Object(ARRAY(i2108)), i1784) → 4667_0_aux_InvokeMethod(EOS(STATIC_4667), i2107, java.lang.Object(ARRAY(i2108)))
4655_0_<init>_Return(EOS(STATIC_4655), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4670_0_<init>_Return(EOS(STATIC_4670), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4667_0_aux_InvokeMethod(EOS(STATIC_4667), i2107, java.lang.Object(ARRAY(i2108))) → 4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2107, java.lang.Object(ARRAY(i2108)))
4670_0_<init>_Return(EOS(STATIC_4670), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4680_0_<init>_Return(EOS(STATIC_4680), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4673_0_aux_ArrayAccess(EOS(STATIC_4673), i2122, java.lang.Object(ARRAY(i2123)), i2122, java.lang.Object(ARRAY(i2123)), java.lang.Object(ARRAY(i2123))) → 4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2122, java.lang.Object(ARRAY(i2123)))
4680_0_<init>_Return(EOS(STATIC_4680), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4694_0_<init>_Return(EOS(STATIC_4694), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4685_0_aux_InvokeMethod(EOS(STATIC_4685), i2122, java.lang.Object(ARRAY(i2123))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), i2122, java.lang.Object(ARRAY(i2123)))
4694_0_<init>_Return(EOS(STATIC_4694), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4705_0_<init>_Return(EOS(STATIC_4705), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4702_0_aux_InvokeMethod(EOS(STATIC_4702), i2176, java.lang.Object(ARRAY(i1695)), i2176, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2176, java.lang.Object(ARRAY(i1695)), i2176, java.lang.Object(ARRAY(i1695)))
4705_0_<init>_Return(EOS(STATIC_4705), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4712_0_aux_ArrayAccess(EOS(STATIC_4712), i1705, i1694, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820)
4717_0_aux_InvokeMethod(EOS(STATIC_4717), i2204, java.lang.Object(ARRAY(i1695)), i2204, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2204, java.lang.Object(ARRAY(i1695)), i2204, java.lang.Object(ARRAY(i1695)))
4725_0_aux_ArrayAccess(EOS(STATIC_4725), i2227, java.lang.Object(ARRAY(i1695)), i2227, java.lang.Object(ARRAY(i1695)), java.lang.Object(ARRAY(i1695)), i1820) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), i2227, java.lang.Object(ARRAY(i1695)))
4744_0_aux_InvokeMethod(EOS(STATIC_4744), i2259, java.lang.Object(ARRAY(i1695)), i2259, java.lang.Object(ARRAY(i1695))) → 4462_0_aux_InvokeMethod(EOS(STATIC_4462), i2259, java.lang.Object(ARRAY(i1695)), i2259, java.lang.Object(ARRAY(i1695)))

Combined rules. Obtained 3 conditional rules for P and 25 conditional rules for R.


P rules:
4208_1_sort_InvokeMethod(3939_0_aux_Return(EOS(STATIC_3939), 0, x1, java.lang.Object(ARRAY(x2))), java.lang.Object(ARRAY(x2)), java.lang.Object(ARRAY(x2)), x2, x3, 0, x1, java.lang.Object(ARRAY(x2))) → 4208_1_sort_InvokeMethod(4208_0_aux_Load(EOS(STATIC_4208), 0, -(x2, +(x3, 1)), java.lang.Object(ARRAY(x2))), java.lang.Object(ARRAY(x2)), java.lang.Object(ARRAY(x2)), x2, +(x3, 1), 0, -(x2, +(x3, 1)), java.lang.Object(ARRAY(x2))) | &&(&&(>(x3, 0), >(+(x2, 1), 0)), >(x2, +(x3, 1)))
4208_1_sort_InvokeMethod(4403_0_aux_Return(EOS(STATIC_4403)), java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x2, 0, x4, java.lang.Object(ARRAY(x0))) → 4208_1_sort_InvokeMethod(4208_0_aux_Load(EOS(STATIC_4208), 0, -(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))), java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x0, +(x2, 1), 0, -(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))) | &&(&&(>(x2, 0), >(+(x0, 1), 0)), >(x0, +(x2, 1)))
4208_1_sort_InvokeMethod(4521_0_aux_Return(EOS(STATIC_4521)), java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x2, 0, x4, java.lang.Object(ARRAY(x0))) → 4208_1_sort_InvokeMethod(4208_0_aux_Load(EOS(STATIC_4208), 0, -(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))), java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x0, +(x2, 1), 0, -(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))) | &&(&&(>(x2, 0), >(+(x0, 1), 0)), >(x0, +(x2, 1)))
R rules:
4208_0_aux_Load(EOS(STATIC_4208), 0, x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(EOS(STATIC_3934), 0, x1, java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(EOS(STATIC_3939), x0, x1, java.lang.Object(ARRAY(x2))) | <=(x1, x0)
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(EOS(STATIC_4181), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0) | &&(>(x1, x0), <=(x0, -1))
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4206_0_aux_ArrayAccess(EOS(STATIC_4206), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0) | &&(<=(x2, x0), >(x1, x0))
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4295_0_aux_ArrayAccess(EOS(STATIC_4295), x0, x1, java.lang.Object(ARRAY(x2)), x0, x3, java.lang.Object(ARRAY(x2)), +(x0, 1)) | &&(&&(&&(>(x2, x0), <=(x2, +(x0, 1))), >(x1, x0)), >(+(x0, 1), 0))
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(EOS(STATIC_3934), x3, x1, java.lang.Object(ARRAY(x2)), x3, x1), x1, java.lang.Object(ARRAY(x2))) | &&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(+(x0, 1), 0))
4334_1_aux_InvokeMethod(4403_0_aux_Return(EOS(STATIC_4403)), x0, java.lang.Object(ARRAY(x1))) → 4521_0_aux_Return(EOS(STATIC_4521))
4334_1_aux_InvokeMethod(4521_0_aux_Return(EOS(STATIC_4521)), x0, java.lang.Object(ARRAY(x1))) → 4521_0_aux_Return(EOS(STATIC_4521))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(EOS(STATIC_4712), x0, x1, java.lang.Object(ARRAY(x2)), java.lang.Object(ARRAY(x2)), x3), x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x1, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4368_0_aux_ArrayAccess(EOS(STATIC_4368), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0) | FALSE
4334_1_aux_InvokeMethod(3939_0_aux_Return(EOS(STATIC_3939), x0, x1, java.lang.Object(ARRAY(x2))), x1, java.lang.Object(ARRAY(x2))) → 4521_0_aux_Return(EOS(STATIC_4521))
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4571_0_aux_ArrayAccess(EOS(STATIC_4571), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), arith[8]) | FALSE
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4640_0_aux_ArrayAccess(EOS(STATIC_4640), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0) | FALSE
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(EOS(STATIC_4640), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0), x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4571_0_aux_ArrayAccess(EOS(STATIC_4571), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x3), x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4408_0_aux_InvokeMethod(EOS(STATIC_4408), x0, java.lang.Object(ARRAY(x1))), x0, java.lang.Object(ARRAY(x1))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4439_0_aux_InvokeMethod(EOS(STATIC_4439), x0, java.lang.Object(ARRAY(x1))), x0, java.lang.Object(ARRAY(x1))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4527_0_aux_InvokeMethod(EOS(STATIC_4527), x0, java.lang.Object(ARRAY(x1))), x0, java.lang.Object(ARRAY(x1))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4667_0_aux_InvokeMethod(EOS(STATIC_4667), x0, java.lang.Object(ARRAY(x1))), x0, java.lang.Object(ARRAY(x1))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4685_0_aux_InvokeMethod(EOS(STATIC_4685), x0, java.lang.Object(ARRAY(x1))), x0, java.lang.Object(ARRAY(x1))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, java.lang.Object(ARRAY(x1))), x0, java.lang.Object(ARRAY(x1))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4368_0_aux_ArrayAccess(EOS(STATIC_4368), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0), x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(EOS(STATIC_4295), x0, x1, java.lang.Object(ARRAY(x2)), x0, x3, java.lang.Object(ARRAY(x2)), x4), x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4206_0_aux_ArrayAccess(EOS(STATIC_4206), x0, x1, java.lang.Object(ARRAY(x2)), x0, java.lang.Object(ARRAY(x2)), x0), x1, java.lang.Object(ARRAY(x2))) → 4730_0_aux_InvokeMethod(EOS(STATIC_4730), x1, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(EOS(STATIC_3934), x0, x1, java.lang.Object(ARRAY(x2)), x0, x1) → 4712_0_aux_ArrayAccess(EOS(STATIC_4712), x0, x1, java.lang.Object(ARRAY(x2)), java.lang.Object(ARRAY(x2)), arith[5]) | FALSE

Filtered ground terms:



4208_1_sort_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → 4208_1_sort_InvokeMethod(x1, x2, x3, x4, x5, x7, x8)
4208_0_aux_Load(x1, x2, x3, x4) → 4208_0_aux_Load(x3, x4)
Cond_4208_1_sort_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_4208_1_sort_InvokeMethod2(x1, x3, x4, x5, x6, x8, x9)
4521_0_aux_Return(x1) → 4521_0_aux_Return
Cond_4208_1_sort_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_4208_1_sort_InvokeMethod1(x1, x3, x4, x5, x6, x8, x9)
4403_0_aux_Return(x1) → 4403_0_aux_Return
Cond_4208_1_sort_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_4208_1_sort_InvokeMethod(x1, x2, x3, x4, x5, x6, x8, x9)
3939_0_aux_Return(x1, x2, x3, x4) → 3939_0_aux_Return(x2, x3, x4)
4730_0_aux_InvokeMethod(x1, x2, x3) → 4730_0_aux_InvokeMethod(x2, x3)
4206_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4206_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7)
4295_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 4295_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
4368_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4368_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7)
4685_0_aux_InvokeMethod(x1, x2, x3) → 4685_0_aux_InvokeMethod(x2, x3)
4667_0_aux_InvokeMethod(x1, x2, x3) → 4667_0_aux_InvokeMethod(x2, x3)
4527_0_aux_InvokeMethod(x1, x2, x3) → 4527_0_aux_InvokeMethod(x2, x3)
4439_0_aux_InvokeMethod(x1, x2, x3) → 4439_0_aux_InvokeMethod(x2, x3)
4408_0_aux_InvokeMethod(x1, x2, x3) → 4408_0_aux_InvokeMethod(x2, x3)
4571_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8, x9) → 4571_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7, x8, x9)
4640_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4640_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7)
4712_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4712_0_aux_ArrayAccess(x2, x3, x4, x5, x6)
3934_0_aux_LT(x1, x2, x3, x4, x5, x6) → 3934_0_aux_LT(x2, x3, x4, x5, x6)
Cond_3934_0_aux_LT4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_3934_0_aux_LT4(x1, x3, x4, x5, x6, x7, x8)
Cond_3934_0_aux_LT3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_3934_0_aux_LT3(x1, x3, x4, x5, x6, x7, x8)
Cond_3934_0_aux_LT2(x1, x2, x3, x4, x5, x6, x7) → Cond_3934_0_aux_LT2(x1, x3, x4, x5, x6, x7)
4181_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4181_0_aux_ArrayAccess(x2, x3, x4, x5, x6, x7)
Cond_3934_0_aux_LT1(x1, x2, x3, x4, x5, x6, x7) → Cond_3934_0_aux_LT1(x1, x3, x4, x5, x6, x7)
Cond_3934_0_aux_LT(x1, x2, x3, x4, x5, x6, x7) → Cond_3934_0_aux_LT(x1, x3, x4, x5, x6, x7)

Filtered duplicate args:



4208_1_sort_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 4208_1_sort_InvokeMethod(x1, x4, x5, x6, x7)
Cond_4208_1_sort_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_4208_1_sort_InvokeMethod(x1, x2, x6)
Cond_4208_1_sort_InvokeMethod1(x1, x2, x3, x4, x5, x6, x7) → Cond_4208_1_sort_InvokeMethod1(x1, x4, x5, x6, x7)
Cond_4208_1_sort_InvokeMethod2(x1, x2, x3, x4, x5, x6, x7) → Cond_4208_1_sort_InvokeMethod2(x1, x4, x5, x6, x7)
3934_0_aux_LT(x1, x2, x3, x4, x5) → 3934_0_aux_LT(x3, x4, x5)
Cond_3934_0_aux_LT(x1, x2, x3, x4, x5, x6) → Cond_3934_0_aux_LT(x1, x4, x5, x6)
Cond_3934_0_aux_LT1(x1, x2, x3, x4, x5, x6) → Cond_3934_0_aux_LT1(x1, x4, x5, x6)
4181_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4181_0_aux_ArrayAccess(x2, x5, x6)
Cond_3934_0_aux_LT2(x1, x2, x3, x4, x5, x6) → Cond_3934_0_aux_LT2(x1, x4, x5, x6)
4206_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4206_0_aux_ArrayAccess(x2, x5, x6)
Cond_3934_0_aux_LT3(x1, x2, x3, x4, x5, x6, x7) → Cond_3934_0_aux_LT3(x1, x4, x5, x6, x7)
4295_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 4295_0_aux_ArrayAccess(x2, x4, x5, x6, x7)
Cond_3934_0_aux_LT4(x1, x2, x3, x4, x5, x6, x7) → Cond_3934_0_aux_LT4(x1, x4, x5, x6, x7)
4712_0_aux_ArrayAccess(x1, x2, x3, x4, x5) → 4712_0_aux_ArrayAccess(x1, x2, x4, x5)
4640_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4640_0_aux_ArrayAccess(x2, x5, x6)
4571_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 4571_0_aux_ArrayAccess(x2, x6, x7, x8)
4368_0_aux_ArrayAccess(x1, x2, x3, x4, x5, x6) → 4368_0_aux_ArrayAccess(x2, x5, x6)

Filtered unneeded arguments:



4208_1_sort_InvokeMethod(x1, x2, x3, x4, x5) → 4208_1_sort_InvokeMethod(x1, x2, x3, x5)
3939_0_aux_Return(x1, x2, x3) → 3939_0_aux_Return(x1, x3)
Cond_4208_1_sort_InvokeMethod1(x1, x2, x3, x4, x5) → Cond_4208_1_sort_InvokeMethod1(x1, x3, x5)
Cond_4208_1_sort_InvokeMethod2(x1, x2, x3, x4, x5) → Cond_4208_1_sort_InvokeMethod2(x1, x3, x5)
Cond_3934_0_aux_LT(x1, x2, x3, x4) → Cond_3934_0_aux_LT(x1, x2, x3)
Cond_3934_0_aux_LT1(x1, x2, x3, x4) → Cond_3934_0_aux_LT1(x1)
Cond_3934_0_aux_LT2(x1, x2, x3, x4) → Cond_3934_0_aux_LT2(x1)
Cond_3934_0_aux_LT3(x1, x2, x3, x4, x5) → Cond_3934_0_aux_LT3(x1)
Cond_3934_0_aux_LT4(x1, x2, x3, x4, x5) → Cond_3934_0_aux_LT4(x1, x2, x4, x5)
4334_1_aux_InvokeMethod(x1, x2, x3) → 4334_1_aux_InvokeMethod(x1)

Combined rules. Obtained 3 conditional rules for P and 21 conditional rules for R.


P rules:
4208_1_sort_InvokeMethod(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) → 4208_1_sort_InvokeMethod(4208_0_aux_Load(-(x2, +(x3, 1)), java.lang.Object(ARRAY(x2))), x2, +(x3, 1), java.lang.Object(ARRAY(x2))) | &&(&&(>(x3, 0), >(x2, -1)), >(x2, +(x3, 1)))
4208_1_sort_InvokeMethod(4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → 4208_1_sort_InvokeMethod(4208_0_aux_Load(-(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))), x0, +(x2, 1), java.lang.Object(ARRAY(x0))) | &&(&&(>(x2, 0), >(x0, -1)), >(x0, +(x2, 1)))
4208_1_sort_InvokeMethod(4521_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → 4208_1_sort_InvokeMethod(4208_0_aux_Load(-(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))), x0, +(x2, 1), java.lang.Object(ARRAY(x0))) | &&(&&(>(x2, 0), >(x0, -1)), >(x0, +(x2, 1)))
R rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2))) | <=(x1, x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0) | &&(>(x1, x0), <=(x0, -1))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → 4206_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0) | &&(<=(x2, x0), >(x1, x0))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), +(x0, 1)) | &&(&&(&&(>(x2, x0), <=(x2, +(x0, 1))), >(x1, x0)), >(x0, -1))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1)) | &&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(x0, -1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4521_0_aux_Return
4334_1_aux_InvokeMethod(4521_0_aux_Return) → 4521_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4521_0_aux_Return
4334_1_aux_InvokeMethod(4640_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4571_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4408_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4439_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4527_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4667_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4685_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4368_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4206_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

Performed bisimulation on rules. Used the following equivalence classes: {[4730_0_aux_InvokeMethod_2, 4408_0_aux_InvokeMethod_2, 4439_0_aux_InvokeMethod_2, 4527_0_aux_InvokeMethod_2, 4667_0_aux_InvokeMethod_2, 4685_0_aux_InvokeMethod_2]=4730_0_aux_InvokeMethod_2, [4181_0_aux_ArrayAccess_3, 4206_0_aux_ArrayAccess_3, 4640_0_aux_ArrayAccess_3, 4368_0_aux_ArrayAccess_3]=4181_0_aux_ArrayAccess_3, [4712_0_aux_ArrayAccess_4, 4571_0_aux_ArrayAccess_4]=4712_0_aux_ArrayAccess_4, [Cond_4208_1_sort_InvokeMethod1_5, Cond_4208_1_sort_InvokeMethod2_5]=Cond_4208_1_sort_InvokeMethod1_5, [4403_0_aux_Return, 4521_0_aux_Return]=4403_0_aux_Return}


Finished conversion. Obtained 4 rules for P and 18 rules for R. System has predefined symbols.


P rules:
4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) → COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3, 0), >(x2, -1)), >(x2, +(x3, 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2)))
COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2, +(x3, 1)), java.lang.Object(ARRAY(x2))), x2, +(x3, 1), java.lang.Object(ARRAY(x2)))
4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2, 0), >(x0, -1)), >(x0, +(x2, 1))), 4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0)))
COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))), x0, +(x2, 1), java.lang.Object(ARRAY(x0)))
R rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT(<=(x1, x0), java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT1(&&(>(x1, x0), <=(x0, -1)), java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT2(&&(<=(x2, x0), >(x1, x0)), java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT3(&&(&&(&&(>(x2, x0), <=(x2, +(x0, 1))), >(x1, x0)), >(x0, -1)), java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), +(x0, 1))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT4(&&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(x0, -1)), java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

(18) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT(x1 <= x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT1(x1 > x0 && x0 <= -1, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT2(x2 <= x0 && x1 > x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT3(x2 > x0 && x2 <= x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x0 + 1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT4(x2 > x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(0): 4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0]))) → COND_4208_1_SORT_INVOKEMETHOD(x3[0] > 0 && x2[0] > -1 && x2[0] > x3[0] + 1, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))
(1): COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1], java.lang.Object(ARRAY(x2[1]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(x2[1] - x3[1] + 1, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1] + 1, java.lang.Object(ARRAY(x2[1])))
(2): 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(x2[2] > 0 && x0[2] > -1 && x0[2] > x2[2] + 1, 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))
(3): COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))), x0[3], x2[3] + 1, java.lang.Object(ARRAY(x0[3])))

(0) -> (1), if (x3[0] > 0 && x2[0] > -1 && x2[0] > x3[0] + 13939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))) →* 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1])))∧x2[0]* x2[1]x3[0]* x3[1]java.lang.Object(ARRAY(x2[0])) →* java.lang.Object(ARRAY(x2[1])))


(1) -> (0), if (4208_0_aux_Load(x2[1] - x3[1] + 1, java.lang.Object(ARRAY(x2[1]))) →* 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0])))∧x2[1]* x2[0]x3[1] + 1* x3[0]java.lang.Object(ARRAY(x2[1])) →* java.lang.Object(ARRAY(x2[0])))


(1) -> (2), if (4208_0_aux_Load(x2[1] - x3[1] + 1, java.lang.Object(ARRAY(x2[1]))) →* 4403_0_aux_Returnx2[1]* x1[2]x3[1] + 1* x2[2]java.lang.Object(ARRAY(x2[1])) →* java.lang.Object(ARRAY(x0[2])))


(2) -> (3), if (x2[2] > 0 && x0[2] > -1 && x0[2] > x2[2] + 1x1[2]* x1[3]x2[2]* x2[3]java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3])))


(3) -> (0), if (4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))) →* 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0])))∧x0[3]* x2[0]x2[3] + 1* x3[0]java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x2[0])))


(3) -> (2), if (4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))) →* 4403_0_aux_Returnx0[3]* x1[2]x2[3] + 1* x2[2]java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2])))



The set Q consists of the following terms:
4208_0_aux_Load(x0, java.lang.Object(ARRAY(x1)))
3934_0_aux_LT(java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(19) IDPNonInfProof (SOUND transformation)

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

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


For Pair 4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) → COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3, 0), >(x2, -1)), >(x2, +(x3, 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) the following chains were created:
  • We consider the chain 4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0]))) → COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0]))), COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1], java.lang.Object(ARRAY(x2[1]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1]))) which results in the following constraint:

    (1)    (&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1)))=TRUE3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0])))=3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1])))∧x2[0]=x2[1]x3[0]=x3[1]java.lang.Object(ARRAY(x2[0]))=java.lang.Object(ARRAY(x2[1])) ⇒ 4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))≥NonInfC∧4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))≥COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))∧(UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥))



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

    (2)    (>(x2[0], +(x3[0], 1))=TRUE>(x3[0], 0)=TRUE>(x2[0], -1)=TRUE4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))≥NonInfC∧4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))≥COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))∧(UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥))



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

    (3)    (x2[0] + [-2] + [-1]x3[0] ≥ 0∧x3[0] + [-1] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥)∧[(-1)Bound*bni_43] + [(2)bni_43]x2[0] + [(-1)bni_43]x3[0] ≥ 0∧[(-1)bso_44] ≥ 0)



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

    (4)    (x2[0] + [-2] + [-1]x3[0] ≥ 0∧x3[0] + [-1] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥)∧[(-1)Bound*bni_43] + [(2)bni_43]x2[0] + [(-1)bni_43]x3[0] ≥ 0∧[(-1)bso_44] ≥ 0)



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

    (5)    (x2[0] + [-2] + [-1]x3[0] ≥ 0∧x3[0] + [-1] ≥ 0∧x2[0] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥)∧[(-1)Bound*bni_43] + [(2)bni_43]x2[0] + [(-1)bni_43]x3[0] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x2[0] ≥ 0∧x3[0] + [-1] ≥ 0∧[2] + x3[0] + x2[0] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥)∧[(-1)Bound*bni_43 + (4)bni_43] + [bni_43]x3[0] + [(2)bni_43]x2[0] ≥ 0∧[(-1)bso_44] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (x2[0] ≥ 0∧x3[0] ≥ 0∧[3] + x3[0] + x2[0] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥)∧[(-1)Bound*bni_43 + (5)bni_43] + [bni_43]x3[0] + [(2)bni_43]x2[0] ≥ 0∧[(-1)bso_44] ≥ 0)







For Pair COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2, +(x3, 1)), java.lang.Object(ARRAY(x2))), x2, +(x3, 1), java.lang.Object(ARRAY(x2))) the following chains were created:
  • We consider the chain COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1], java.lang.Object(ARRAY(x2[1]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1]))) which results in the following constraint:

    (8)    (COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1], java.lang.Object(ARRAY(x2[1])))≥NonInfC∧COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1], java.lang.Object(ARRAY(x2[1])))≥4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))∧(UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))), ≥))



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

    (9)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))), ≥)∧[bni_45] = 0∧[1 + (-1)bso_46] ≥ 0)



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

    (10)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))), ≥)∧[bni_45] = 0∧[1 + (-1)bso_46] ≥ 0)



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

    (11)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))), ≥)∧[bni_45] = 0∧[1 + (-1)bso_46] ≥ 0)



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

    (12)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))), ≥)∧[bni_45] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)







For Pair 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2, 0), >(x0, -1)), >(x0, +(x2, 1))), 4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) the following chains were created:
  • We consider the chain 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))), COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3]))) which results in the following constraint:

    (13)    (&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1)))=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3])) ⇒ 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥NonInfC∧4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))∧(UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥))



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

    (14)    (>(x0[2], +(x2[2], 1))=TRUE>(x2[2], 0)=TRUE>(x0[2], -1)=TRUE4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥NonInfC∧4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))∧(UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥))



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

    (15)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x0[2] + [(-1)bni_47]x2[2] ≥ 0∧[(-1)bso_48] ≥ 0)



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

    (16)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x0[2] + [(-1)bni_47]x2[2] ≥ 0∧[(-1)bso_48] ≥ 0)



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

    (17)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x0[2] + [(-1)bni_47]x2[2] ≥ 0∧[(-1)bso_48] ≥ 0)



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

    (18)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(-1)bni_47 + (-1)Bound*bni_47] + [(2)bni_47]x0[2] + [(-1)bni_47]x2[2] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)



    We simplified constraint (18) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (19)    (x0[2] ≥ 0∧x2[2] + [-1] ≥ 0∧[2] + x2[2] + x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(3)bni_47 + (-1)Bound*bni_47] + [bni_47]x2[2] + [(2)bni_47]x0[2] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)



    We simplified constraint (19) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (20)    (x0[2] ≥ 0∧x2[2] ≥ 0∧[3] + x2[2] + x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(4)bni_47 + (-1)Bound*bni_47] + [bni_47]x2[2] + [(2)bni_47]x0[2] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)







For Pair COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))), x0, +(x2, 1), java.lang.Object(ARRAY(x0))) the following chains were created:
  • We consider the chain COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3]))) which results in the following constraint:

    (21)    (COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3])))≥NonInfC∧COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3])))≥4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))∧(UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥))



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

    (22)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_49] = 0∧[(-1)bso_50] ≥ 0)



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

    (23)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_49] = 0∧[(-1)bso_50] ≥ 0)



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

    (24)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_49] = 0∧[(-1)bso_50] ≥ 0)



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

    (25)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_49] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_50] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) → COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3, 0), >(x2, -1)), >(x2, +(x3, 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2)))
    • (x2[0] ≥ 0∧x3[0] ≥ 0∧[3] + x3[0] + x2[0] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))), ≥)∧[(-1)Bound*bni_43 + (5)bni_43] + [bni_43]x3[0] + [(2)bni_43]x2[0] ≥ 0∧[(-1)bso_44] ≥ 0)

  • COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2))), x2, x3, java.lang.Object(ARRAY(x2))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2, +(x3, 1)), java.lang.Object(ARRAY(x2))), x2, +(x3, 1), java.lang.Object(ARRAY(x2)))
    • ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))), ≥)∧[bni_45] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_46] ≥ 0)

  • 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2, 0), >(x0, -1)), >(x0, +(x2, 1))), 4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0)))
    • (x0[2] ≥ 0∧x2[2] ≥ 0∧[3] + x2[2] + x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(4)bni_47 + (-1)Bound*bni_47] + [bni_47]x2[2] + [(2)bni_47]x0[2] ≥ 0∧0 = 0∧[(-1)bso_48] ≥ 0)

  • COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1, x2, java.lang.Object(ARRAY(x0))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0, +(x2, 1)), java.lang.Object(ARRAY(x0))), x0, +(x2, 1), java.lang.Object(ARRAY(x0)))
    • ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_49] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_50] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(4208_0_aux_Load(x1, x2)) = [-1]   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(3934_0_aux_LT(x1, x2, x3)) = [-1]   
POL(0) = 0   
POL(Cond_3934_0_aux_LT(x1, x2, x3, x4)) = [-1]   
POL(<=(x1, x2)) = [-1]   
POL(3939_0_aux_Return(x1, x2)) = [-1]   
POL(Cond_3934_0_aux_LT1(x1, x2, x3, x4)) = [-1]   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(4181_0_aux_ArrayAccess(x1, x2, x3)) = [-1]   
POL(Cond_3934_0_aux_LT2(x1, x2, x3, x4)) = [-1]   
POL(Cond_3934_0_aux_LT3(x1, x2, x3, x4, x5)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(4295_0_aux_ArrayAccess(x1, x2, x3, x4, x5)) = [-1]   
POL(Cond_3934_0_aux_LT4(x1, x2, x3, x4, x5)) = [-1]   
POL(4334_1_aux_InvokeMethod(x1)) = [-1] + [-1]x1   
POL(4403_0_aux_Return) = 0   
POL(4712_0_aux_ArrayAccess(x1, x2, x3, x4)) = [-1]   
POL(4730_0_aux_InvokeMethod(x1, x2)) = 0   
POL(4208_1_SORT_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [2]x4 + [-1]x3 + [-1]x1   
POL(COND_4208_1_SORT_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + [2]x5 + [-1]x4 + [-1]x2   
POL(-(x1, x2)) = x1 + [-1]x2   
POL(COND_4208_1_SORT_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = [-1] + [2]x5 + [-1]x4   

The following pairs are in P>:

COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1], java.lang.Object(ARRAY(x2[1]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x2[1], +(x3[1], 1)), java.lang.Object(ARRAY(x2[1]))), x2[1], +(x3[1], 1), java.lang.Object(ARRAY(x2[1])))

The following pairs are in Pbound:

4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0]))) → COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))
4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))

The following pairs are in P:

4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0]))) → COND_4208_1_SORT_INVOKEMETHOD(&&(&&(>(x3[0], 0), >(x2[0], -1)), >(x2[0], +(x3[0], 1))), 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))
4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))
COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))

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

3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)14208_0_aux_Load(x1, java.lang.Object(ARRAY(x2)))1
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1Cond_3934_0_aux_LT(<=(x1, x0), java.lang.Object(ARRAY(x2)), x0, x1)1
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1Cond_3934_0_aux_LT1(&&(>(x1, x0), <=(x0, -1)), java.lang.Object(ARRAY(x2)), x0, x1)1
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1Cond_3934_0_aux_LT2(&&(<=(x2, x0), >(x1, x0)), java.lang.Object(ARRAY(x2)), x0, x1)1
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1Cond_3934_0_aux_LT3(&&(&&(&&(>(x2, x0), <=(x2, +(x0, 1))), >(x1, x0)), >(x0, -1)), java.lang.Object(ARRAY(x2)), x0, x1, x3)1
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1Cond_3934_0_aux_LT4(&&(&&(>(x2, +(x0, 1)), >(x1, x0)), >(x0, -1)), java.lang.Object(ARRAY(x2)), x0, x1, x3)1
4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))1Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3)1
4403_0_aux_Return14334_1_aux_InvokeMethod(4403_0_aux_Return)1
4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))14334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))1
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2))))14403_0_aux_Return1
4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))14334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0))1
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3))14730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))1
4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))14334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1))))1
4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))14334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4))1
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1)13939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))1
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1)14181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)1
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1)14181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)1
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3)14295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), +(x0, 1))1

(20) Complex Obligation (AND)

(21) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT(x1 <= x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT1(x1 > x0 && x0 <= -1, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT2(x2 <= x0 && x1 > x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT3(x2 > x0 && x2 <= x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x0 + 1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT4(x2 > x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(0): 4208_1_SORT_INVOKEMETHOD(3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0]))) → COND_4208_1_SORT_INVOKEMETHOD(x3[0] > 0 && x2[0] > -1 && x2[0] > x3[0] + 1, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0]))), x2[0], x3[0], java.lang.Object(ARRAY(x2[0])))
(2): 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(x2[2] > 0 && x0[2] > -1 && x0[2] > x2[2] + 1, 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))
(3): COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))), x0[3], x2[3] + 1, java.lang.Object(ARRAY(x0[3])))

(3) -> (0), if (4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))) →* 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[0])))∧x0[3]* x2[0]x2[3] + 1* x3[0]java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x2[0])))


(3) -> (2), if (4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))) →* 4403_0_aux_Returnx0[3]* x1[2]x2[3] + 1* x2[2]java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2])))


(2) -> (3), if (x2[2] > 0 && x0[2] > -1 && x0[2] > x2[2] + 1x1[2]* x1[3]x2[2]* x2[3]java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3])))



The set Q consists of the following terms:
4208_0_aux_Load(x0, java.lang.Object(ARRAY(x1)))
3934_0_aux_LT(java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(22) IDependencyGraphProof (EQUIVALENT transformation)

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

(23) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT(x1 <= x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT1(x1 > x0 && x0 <= -1, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT2(x2 <= x0 && x1 > x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT3(x2 > x0 && x2 <= x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x0 + 1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT4(x2 > x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(3): COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))), x0[3], x2[3] + 1, java.lang.Object(ARRAY(x0[3])))
(2): 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(x2[2] > 0 && x0[2] > -1 && x0[2] > x2[2] + 1, 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))

(3) -> (2), if (4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))) →* 4403_0_aux_Returnx0[3]* x1[2]x2[3] + 1* x2[2]java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2])))


(2) -> (3), if (x2[2] > 0 && x0[2] > -1 && x0[2] > x2[2] + 1x1[2]* x1[3]x2[2]* x2[3]java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3])))



The set Q consists of the following terms:
4208_0_aux_Load(x0, java.lang.Object(ARRAY(x1)))
3934_0_aux_LT(java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(24) IDPNonInfProof (SOUND transformation)

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

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


For Pair COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3]))) the following chains were created:
  • We consider the chain COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3]))) which results in the following constraint:

    (1)    (COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3])))≥NonInfC∧COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3])))≥4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))∧(UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥))



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

    (2)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_23] = 0∧[1 + (-1)bso_24] ≥ 0)



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

    (3)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_23] = 0∧[1 + (-1)bso_24] ≥ 0)



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

    (4)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_23] = 0∧[1 + (-1)bso_24] ≥ 0)



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

    (5)    ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_23] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_24] ≥ 0)







For Pair 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) the following chains were created:
  • We consider the chain 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))), COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3]))) which results in the following constraint:

    (6)    (&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1)))=TRUEx1[2]=x1[3]x2[2]=x2[3]java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3])) ⇒ 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥NonInfC∧4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))∧(UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥))



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

    (7)    (>(x0[2], +(x2[2], 1))=TRUE>(x2[2], 0)=TRUE>(x0[2], -1)=TRUE4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥NonInfC∧4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))≥COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))∧(UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥))



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

    (8)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧[(-1)bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x2[2] + [(2)bni_25]x0[2] ≥ 0∧[(-1)bso_26] ≥ 0)



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

    (9)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧[(-1)bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x2[2] + [(2)bni_25]x0[2] ≥ 0∧[(-1)bso_26] ≥ 0)



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

    (10)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧[(-1)bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x2[2] + [(2)bni_25]x0[2] ≥ 0∧[(-1)bso_26] ≥ 0)



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

    (11)    (x0[2] + [-2] + [-1]x2[2] ≥ 0∧x2[2] + [-1] ≥ 0∧x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(-1)bni_25 + (-1)Bound*bni_25] + [(-1)bni_25]x2[2] + [(2)bni_25]x0[2] ≥ 0∧0 = 0∧[(-1)bso_26] ≥ 0)



    We simplified constraint (11) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (12)    (x0[2] ≥ 0∧x2[2] + [-1] ≥ 0∧[2] + x2[2] + x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(3)bni_25 + (-1)Bound*bni_25] + [bni_25]x2[2] + [(2)bni_25]x0[2] ≥ 0∧0 = 0∧[(-1)bso_26] ≥ 0)



    We simplified constraint (12) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (13)    (x0[2] ≥ 0∧x2[2] ≥ 0∧[3] + x2[2] + x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(4)bni_25 + (-1)Bound*bni_25] + [bni_25]x2[2] + [(2)bni_25]x0[2] ≥ 0∧0 = 0∧[(-1)bso_26] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))
    • ((UIncreasing(4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))), ≥)∧[bni_23] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_24] ≥ 0)

  • 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))
    • (x0[2] ≥ 0∧x2[2] ≥ 0∧[3] + x2[2] + x0[2] ≥ 0 ⇒ (UIncreasing(COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))), ≥)∧0 = 0∧[(4)bni_25 + (-1)Bound*bni_25] + [bni_25]x2[2] + [(2)bni_25]x0[2] ≥ 0∧0 = 0∧[(-1)bso_26] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(4208_0_aux_Load(x1, x2)) = [-1] + [-1]x2 + [-1]x1   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(3934_0_aux_LT(x1, x2, x3)) = [-1] + [2]x2 + [-1]x1 + [-1]x3   
POL(0) = 0   
POL(Cond_3934_0_aux_LT(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3 + [-1]x2   
POL(<=(x1, x2)) = [-1]   
POL(3939_0_aux_Return(x1, x2)) = [2] + x1 + [-1]x2   
POL(Cond_3934_0_aux_LT1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3 + [-1]x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(4181_0_aux_ArrayAccess(x1, x2, x3)) = [-1]x1 + [2]x3 + [-1]x2   
POL(Cond_3934_0_aux_LT2(x1, x2, x3, x4)) = [1] + [-1]x4 + [2]x3 + [-1]x2   
POL(Cond_3934_0_aux_LT3(x1, x2, x3, x4, x5)) = [2] + [-1]x4 + [2]x3 + [-1]x2   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(4295_0_aux_ArrayAccess(x1, x2, x3, x4, x5)) = [-1] + [2]x5 + [-1]x3 + [2]x1 + [2]x2 + [-1]x4   
POL(Cond_3934_0_aux_LT4(x1, x2, x3, x4, x5)) = [1] + [-1]x4 + [2]x3 + [-1]x2   
POL(4334_1_aux_InvokeMethod(x1)) = [-1] + [-1]x1   
POL(4403_0_aux_Return) = [-1]   
POL(4712_0_aux_ArrayAccess(x1, x2, x3, x4)) = [1] + [-1]x4 + [-1]x3 + [-1]x2 + [2]x1   
POL(4730_0_aux_InvokeMethod(x1, x2)) = [1] + [-1]x2 + [-1]x1   
POL(COND_4208_1_SORT_INVOKEMETHOD1(x1, x2, x3, x4, x5)) = [-1] + [2]x5 + [-1]x4   
POL(4208_1_SORT_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x3 + [2]x4   
POL(-(x1, x2)) = x1 + [-1]x2   

The following pairs are in P>:

COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(-(x0[3], +(x2[3], 1)), java.lang.Object(ARRAY(x0[3]))), x0[3], +(x2[3], 1), java.lang.Object(ARRAY(x0[3])))

The following pairs are in Pbound:

4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))

The following pairs are in P:

4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(&&(&&(>(x2[2], 0), >(x0[2], -1)), >(x0[2], +(x2[2], 1))), 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))

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

4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2)))13934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)1
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1Cond_3934_0_aux_LT(<=(x1, x0), java.lang.Object(ARRAY(x2)), x0, x1)1
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1Cond_3934_0_aux_LT1(&&(>(x1, x0), <=(x0, -1)), java.lang.Object(ARRAY(x2)), x0, x1)1
Cond_3934_0_aux_LT2(&&(<=(x2, x0), >(x1, x0)), java.lang.Object(ARRAY(x2)), x0, x1)13934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1)1
4334_1_aux_InvokeMethod(4403_0_aux_Return)14403_0_aux_Return1
4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)1Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1)1
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1)14181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)1

(25) Complex Obligation (AND)

(26) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT(x1 <= x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT1(x1 > x0 && x0 <= -1, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT2(x2 <= x0 && x1 > x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT3(x2 > x0 && x2 <= x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x0 + 1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT4(x2 > x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(2): 4208_1_SORT_INVOKEMETHOD(4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2]))) → COND_4208_1_SORT_INVOKEMETHOD1(x2[2] > 0 && x0[2] > -1 && x0[2] > x2[2] + 1, 4403_0_aux_Return, x1[2], x2[2], java.lang.Object(ARRAY(x0[2])))


The set Q consists of the following terms:
4208_0_aux_Load(x0, java.lang.Object(ARRAY(x1)))
3934_0_aux_LT(java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(27) IDependencyGraphProof (EQUIVALENT transformation)

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

(28) TRUE

(29) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT(x1 <= x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT1(x1 > x0 && x0 <= -1, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT2(x2 <= x0 && x1 > x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT3(x2 > x0 && x2 <= x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x0 + 1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT4(x2 > x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(3): COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))), x0[3], x2[3] + 1, java.lang.Object(ARRAY(x0[3])))


The set Q consists of the following terms:
4208_0_aux_Load(x0, java.lang.Object(ARRAY(x1)))
3934_0_aux_LT(java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(30) IDependencyGraphProof (EQUIVALENT transformation)

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

(31) TRUE

(32) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer, Boolean


The ITRS R consists of the following rules:
4208_0_aux_Load(x1, java.lang.Object(ARRAY(x2))) → 3934_0_aux_LT(java.lang.Object(ARRAY(x2)), 0, x1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT(x1 <= x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT1(x1 > x0 && x0 <= -1, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT2(x2 <= x0 && x1 > x0, java.lang.Object(ARRAY(x2)), x0, x1)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x2)), x0, x1) → 4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT3(x2 > x0 && x2 <= x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x0 + 1)
3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x0, x1) → Cond_3934_0_aux_LT4(x2 > x0 + 1 && x1 > x0 && x0 > -1, java.lang.Object(ARRAY(x2)), x0, x1, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x2)), x0, x1, x3) → 4334_1_aux_InvokeMethod(3934_0_aux_LT(java.lang.Object(ARRAY(x2)), x3, x1))
4334_1_aux_InvokeMethod(4403_0_aux_Return) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x2)))) → 4403_0_aux_Return
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x1, java.lang.Object(ARRAY(x2)), x0)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x1, x0, java.lang.Object(ARRAY(x2)), x3)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))) → 4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1)))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x1, x0, x3, java.lang.Object(ARRAY(x2)), x4)) → 4730_0_aux_InvokeMethod(x1, java.lang.Object(ARRAY(x2)))

The integer pair graph contains the following rules and edges:
(1): COND_4208_1_SORT_INVOKEMETHOD(TRUE, 3939_0_aux_Return(0, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1], java.lang.Object(ARRAY(x2[1]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(x2[1] - x3[1] + 1, java.lang.Object(ARRAY(x2[1]))), x2[1], x3[1] + 1, java.lang.Object(ARRAY(x2[1])))
(3): COND_4208_1_SORT_INVOKEMETHOD1(TRUE, 4403_0_aux_Return, x1[3], x2[3], java.lang.Object(ARRAY(x0[3]))) → 4208_1_SORT_INVOKEMETHOD(4208_0_aux_Load(x0[3] - x2[3] + 1, java.lang.Object(ARRAY(x0[3]))), x0[3], x2[3] + 1, java.lang.Object(ARRAY(x0[3])))


The set Q consists of the following terms:
4208_0_aux_Load(x0, java.lang.Object(ARRAY(x1)))
3934_0_aux_LT(java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT1(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT2(TRUE, java.lang.Object(ARRAY(x0)), x1, x2)
Cond_3934_0_aux_LT3(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
Cond_3934_0_aux_LT4(TRUE, java.lang.Object(ARRAY(x0)), x1, x2, x3)
4334_1_aux_InvokeMethod(4403_0_aux_Return)
4334_1_aux_InvokeMethod(4712_0_aux_ArrayAccess(x0, x1, java.lang.Object(ARRAY(x2)), x3))
4334_1_aux_InvokeMethod(3939_0_aux_Return(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4181_0_aux_ArrayAccess(x0, java.lang.Object(ARRAY(x1)), x2))
4334_1_aux_InvokeMethod(4730_0_aux_InvokeMethod(x0, java.lang.Object(ARRAY(x1))))
4334_1_aux_InvokeMethod(4295_0_aux_ArrayAccess(x0, x1, x2, java.lang.Object(ARRAY(x3)), x4))

(33) IDependencyGraphProof (EQUIVALENT transformation)

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

(34) TRUE

(35) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: BubbleSortR.main([Ljava/lang/String;)V
SCC calls the following helper methods:
Performed SCC analyses: UsedFieldsAnalysis

(36) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 46 rules for P and 0 rules for R.


P rules:
2688_0_main_Load(EOS(STATIC_2688(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072) → 2694_0_main_ArrayLength(EOS(STATIC_2694(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072, java.lang.Object(ARRAY(i73)))
2694_0_main_ArrayLength(EOS(STATIC_2694(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072, java.lang.Object(ARRAY(i73))) → 2699_0_main_GE(EOS(STATIC_2699(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072, i73) | >=(i73, 0)
2699_0_main_GE(EOS(STATIC_2699(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072, i73) → 2704_0_main_GE(EOS(STATIC_2704(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072, i73)
2704_0_main_GE(EOS(STATIC_2704(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072, i73) → 2712_0_main_Load(EOS(STATIC_2712(i1071)), java.lang.Object(ARRAY(i73)), i1072) | <(i1072, i73)
2712_0_main_Load(EOS(STATIC_2712(i1071)), java.lang.Object(ARRAY(i73)), i1072) → 2720_0_main_Load(EOS(STATIC_2720(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)))
2720_0_main_Load(EOS(STATIC_2720(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73))) → 2727_0_main_InvokeMethod(EOS(STATIC_2727(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072)
2727_0_main_InvokeMethod(EOS(STATIC_2727(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) → 2735_0_random_FieldAccess(EOS(STATIC_2735(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072)
2735_0_random_FieldAccess(EOS(STATIC_2735(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) → 2751_0_random_FieldAccess(EOS(STATIC_2751(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071)
2751_0_random_FieldAccess(EOS(STATIC_2751(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071) → 2763_0_random_ArrayLength(EOS(STATIC_2763(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, java.lang.Object(ARRAY(i298)))
2763_0_random_ArrayLength(EOS(STATIC_2763(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, java.lang.Object(ARRAY(i298))) → 2775_0_random_LT(EOS(STATIC_2775(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, i298) | >=(i298, 0)
2775_0_random_LT(EOS(STATIC_2775(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, i298) → 2783_0_random_LT(EOS(STATIC_2783(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, i298)
2775_0_random_LT(EOS(STATIC_2775(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, i298) → 2784_0_random_LT(EOS(STATIC_2784(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, i298)
2783_0_random_LT(EOS(STATIC_2783(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, i298) → 2799_0_random_FieldAccess(EOS(STATIC_2799(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) | <(i1071, i298)
2799_0_random_FieldAccess(EOS(STATIC_2799(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) → 2814_0_random_FieldAccess(EOS(STATIC_2814(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i298)))
2814_0_random_FieldAccess(EOS(STATIC_2814(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i298))) → 2826_0_random_ArrayAccess(EOS(STATIC_2826(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i298)), i1071)
2826_0_random_ArrayAccess(EOS(STATIC_2826(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i298)), i1071) → 2848_0_random_ArrayAccess(EOS(STATIC_2848(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i298)), i1071)
2848_0_random_ArrayAccess(EOS(STATIC_2848(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i298)), i1071) → 2869_0_random_Store(EOS(STATIC_2869(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008)
2869_0_random_Store(EOS(STATIC_2869(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008) → 2884_0_random_FieldAccess(EOS(STATIC_2884(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008)
2884_0_random_FieldAccess(EOS(STATIC_2884(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008) → 2903_0_random_ConstantStackPush(EOS(STATIC_2903(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008, i1071)
2903_0_random_ConstantStackPush(EOS(STATIC_2903(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008, i1071) → 2923_0_random_IntArithmetic(EOS(STATIC_2923(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008, i1071, 1)
2923_0_random_IntArithmetic(EOS(STATIC_2923(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008, i1071, matching1) → 2943_0_random_FieldAccess(EOS(STATIC_2943(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008, +(i1071, 1)) | &&(>(i1071, 0), =(matching1, 1))
2943_0_random_FieldAccess(EOS(STATIC_2943(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008, i1189) → 3016_0_random_Load(EOS(STATIC_3016(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008)
3016_0_random_Load(EOS(STATIC_3016(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008) → 3050_0_random_InvokeMethod(EOS(STATIC_3050(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, o1008)
3050_0_random_InvokeMethod(EOS(STATIC_3050(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(o1087sub)) → 3074_0_random_InvokeMethod(EOS(STATIC_3074(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(o1087sub))
3074_0_random_InvokeMethod(EOS(STATIC_3074(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(o1087sub)) → 3112_0_length_Load(EOS(STATIC_3112(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(o1087sub), java.lang.Object(o1087sub))
3112_0_length_Load(EOS(STATIC_3112(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(o1087sub), java.lang.Object(o1087sub)) → 3182_0_length_FieldAccess(EOS(STATIC_3182(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(o1087sub), java.lang.Object(o1087sub))
3182_0_length_FieldAccess(EOS(STATIC_3182(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(java.lang.String(o1161sub, i1302)), java.lang.Object(java.lang.String(o1161sub, i1302))) → 3202_0_length_FieldAccess(EOS(STATIC_3202(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(java.lang.String(o1161sub, i1302)), java.lang.Object(java.lang.String(o1161sub, i1302))) | &&(>=(i1302, 0), >=(i1303, 0))
3202_0_length_FieldAccess(EOS(STATIC_3202(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(java.lang.String(o1161sub, i1302)), java.lang.Object(java.lang.String(o1161sub, i1302))) → 3232_0_length_Return(EOS(STATIC_3232(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(java.lang.String(o1161sub, i1302)))
3232_0_length_Return(EOS(STATIC_3232(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(java.lang.String(o1161sub, i1302))) → 3259_0_random_Return(EOS(STATIC_3259(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072)
3259_0_random_Return(EOS(STATIC_3259(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) → 3287_0_main_ArrayAccess(EOS(STATIC_3287(i1189)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072)
3287_0_main_ArrayAccess(EOS(STATIC_3287(i1189)), java.lang.Object(ARRAY(i73)), i1362, java.lang.Object(ARRAY(i73)), i1362) → 3308_0_main_ArrayAccess(EOS(STATIC_3308(i1189)), java.lang.Object(ARRAY(i73)), i1362, java.lang.Object(ARRAY(i73)), i1362)
3308_0_main_ArrayAccess(EOS(STATIC_3308(i1189)), java.lang.Object(ARRAY(i73)), i1362, java.lang.Object(ARRAY(i73)), i1362) → 3332_0_main_ArrayAccess(EOS(STATIC_3332(i1189)), java.lang.Object(ARRAY(i73)), i1362, java.lang.Object(ARRAY(i73)), i1362)
3332_0_main_ArrayAccess(EOS(STATIC_3332(i1189)), java.lang.Object(ARRAY(i73)), i1362, java.lang.Object(ARRAY(i73)), i1362) → 3360_0_main_Inc(EOS(STATIC_3360(i1189)), java.lang.Object(ARRAY(i73)), i1362) | <(i1362, i73)
3360_0_main_Inc(EOS(STATIC_3360(i1189)), java.lang.Object(ARRAY(i73)), i1362) → 3388_0_main_JMP(EOS(STATIC_3388(i1189)), java.lang.Object(ARRAY(i73)), +(i1362, 1)) | >=(i1362, 0)
3388_0_main_JMP(EOS(STATIC_3388(i1189)), java.lang.Object(ARRAY(i73)), i1400) → 3418_0_main_Load(EOS(STATIC_3418(i1189)), java.lang.Object(ARRAY(i73)), i1400)
3418_0_main_Load(EOS(STATIC_3418(i1189)), java.lang.Object(ARRAY(i73)), i1400) → 2681_0_main_Load(EOS(STATIC_2681(i1189)), java.lang.Object(ARRAY(i73)), i1400)
2681_0_main_Load(EOS(STATIC_2681(i1071)), java.lang.Object(ARRAY(i73)), i1072) → 2688_0_main_Load(EOS(STATIC_2688(i1071)), java.lang.Object(ARRAY(i73)), i1072, i1072)
2784_0_random_LT(EOS(STATIC_2784(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072, i1071, i298) → 2801_0_random_ConstantStackPush(EOS(STATIC_2801(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) | >=(i1071, i298)
2801_0_random_ConstantStackPush(EOS(STATIC_2801(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) → 2816_0_random_Return(EOS(STATIC_2816(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072)
2816_0_random_Return(EOS(STATIC_2816(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072) → 2828_0_main_ArrayAccess(EOS(STATIC_2828(i1071)), java.lang.Object(ARRAY(i73)), i1072, java.lang.Object(ARRAY(i73)), i1072)
2828_0_main_ArrayAccess(EOS(STATIC_2828(i1071)), java.lang.Object(ARRAY(i73)), i1164, java.lang.Object(ARRAY(i73)), i1164) → 2852_0_main_ArrayAccess(EOS(STATIC_2852(i1071)), java.lang.Object(ARRAY(i73)), i1164, java.lang.Object(ARRAY(i73)), i1164)
2852_0_main_ArrayAccess(EOS(STATIC_2852(i1071)), java.lang.Object(ARRAY(i73)), i1164, java.lang.Object(ARRAY(i73)), i1164) → 2873_0_main_ArrayAccess(EOS(STATIC_2873(i1071)), java.lang.Object(ARRAY(i73)), i1164, java.lang.Object(ARRAY(i73)), i1164)
2873_0_main_ArrayAccess(EOS(STATIC_2873(i1071)), java.lang.Object(ARRAY(i73)), i1164, java.lang.Object(ARRAY(i73)), i1164) → 2886_0_main_Inc(EOS(STATIC_2886(i1071)), java.lang.Object(ARRAY(i73)), i1164) | <(i1164, i73)
2886_0_main_Inc(EOS(STATIC_2886(i1071)), java.lang.Object(ARRAY(i73)), i1164) → 2908_0_main_JMP(EOS(STATIC_2908(i1071)), java.lang.Object(ARRAY(i73)), +(i1164, 1)) | >=(i1164, 0)
2908_0_main_JMP(EOS(STATIC_2908(i1071)), java.lang.Object(ARRAY(i73)), i1177) → 2928_0_main_Load(EOS(STATIC_2928(i1071)), java.lang.Object(ARRAY(i73)), i1177)
2928_0_main_Load(EOS(STATIC_2928(i1071)), java.lang.Object(ARRAY(i73)), i1177) → 2681_0_main_Load(EOS(STATIC_2681(i1071)), java.lang.Object(ARRAY(i73)), i1177)
R rules:

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


P rules:
2688_0_main_Load(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2, x2) → 2688_0_main_Load(EOS(STATIC_2688(+(x0, 1))), java.lang.Object(ARRAY(x1)), +(x2, 1), +(x2, 1)) | &&(&&(&&(>(+(x2, 1), 0), <(x2, x1)), >(+(x1, 1), 0)), >(x0, 0))
2688_0_main_Load(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2, x2) → 2688_0_main_Load(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), +(x2, 1), +(x2, 1)) | &&(&&(>(+(x2, 1), 0), <(x2, x1)), >(+(x1, 1), 0))
R rules:

Filtered duplicate args:



2688_0_main_Load(x1, x2, x3, x4) → 2688_0_main_Load(x1, x2, x4)
Cond_2688_0_main_Load(x1, x2, x3, x4, x5) → Cond_2688_0_main_Load(x1, x2, x3, x5)
Cond_2688_0_main_Load1(x1, x2, x3, x4, x5) → Cond_2688_0_main_Load1(x1, x2, x3, x5)

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


P rules:
2688_0_main_Load(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_main_Load(EOS(STATIC_2688(+(x0, 1))), java.lang.Object(ARRAY(x1)), +(x2, 1)) | &&(&&(&&(>(x2, -1), <(x2, x1)), >(x1, -1)), >(x0, 0))
2688_0_main_Load(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_main_Load(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), +(x2, 1)) | &&(&&(>(x2, -1), <(x2, x1)), >(x1, -1))
R rules:

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


P rules:
2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2, -1), <(x2, x1)), >(x1, -1)), >(x0, 0)), EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2)
COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0, 1))), java.lang.Object(ARRAY(x1)), +(x2, 1))
2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → COND_2688_0_MAIN_LOAD1(&&(&&(>(x2, -1), <(x2, x1)), >(x1, -1)), EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2)
COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), +(x2, 1))
R rules:

(37) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_2688_0_MAIN_LOAD(x2[0] > -1 && x2[0] < x1[0] && x1[0] > -1 && x0[0] > 0, EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])
(1): COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0[1])), java.lang.Object(ARRAY(x1[1])), x2[1]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[1] + 1)), java.lang.Object(ARRAY(x1[1])), x2[1] + 1)
(2): 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2]) → COND_2688_0_MAIN_LOAD1(x2[2] > -1 && x2[2] < x1[2] && x1[2] > -1, EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])
(3): COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3] + 1)

(0) -> (1), if (x2[0] > -1 && x2[0] < x1[0] && x1[0] > -1 && x0[0] > 0EOS(STATIC_2688(x0[0])) →* EOS(STATIC_2688(x0[1]))∧java.lang.Object(ARRAY(x1[0])) →* java.lang.Object(ARRAY(x1[1]))∧x2[0]* x2[1])


(1) -> (0), if (EOS(STATIC_2688(x0[1] + 1)) →* EOS(STATIC_2688(x0[0]))∧java.lang.Object(ARRAY(x1[1])) →* java.lang.Object(ARRAY(x1[0]))∧x2[1] + 1* x2[0])


(1) -> (2), if (EOS(STATIC_2688(x0[1] + 1)) →* EOS(STATIC_2688(x0[2]))∧java.lang.Object(ARRAY(x1[1])) →* java.lang.Object(ARRAY(x1[2]))∧x2[1] + 1* x2[2])


(2) -> (3), if (x2[2] > -1 && x2[2] < x1[2] && x1[2] > -1EOS(STATIC_2688(x0[2])) →* EOS(STATIC_2688(x0[3]))∧java.lang.Object(ARRAY(x1[2])) →* java.lang.Object(ARRAY(x1[3]))∧x2[2]* x2[3])


(3) -> (0), if (EOS(STATIC_2688(x0[3])) →* EOS(STATIC_2688(x0[0]))∧java.lang.Object(ARRAY(x1[3])) →* java.lang.Object(ARRAY(x1[0]))∧x2[3] + 1* x2[0])


(3) -> (2), if (EOS(STATIC_2688(x0[3])) →* EOS(STATIC_2688(x0[2]))∧java.lang.Object(ARRAY(x1[3])) →* java.lang.Object(ARRAY(x1[2]))∧x2[3] + 1* x2[2])



The set Q is empty.

(38) IDPNonInfProof (SOUND transformation)

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

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


For Pair 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2, -1), <(x2, x1)), >(x1, -1)), >(x0, 0)), EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) the following chains were created:
  • We consider the chain 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0]), COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0[1])), java.lang.Object(ARRAY(x1[1])), x2[1]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1)) which results in the following constraint:

    (1)    (&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0))=TRUEEOS(STATIC_2688(x0[0]))=EOS(STATIC_2688(x0[1]))∧java.lang.Object(ARRAY(x1[0]))=java.lang.Object(ARRAY(x1[1]))∧x2[0]=x2[1]2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])≥NonInfC∧2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])≥COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])∧(UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥))



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

    (2)    (>(x0[0], 0)=TRUE>(x1[0], -1)=TRUE>(x2[0], -1)=TRUE<(x2[0], x1[0])=TRUE2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])≥NonInfC∧2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])≥COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])∧(UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥))



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

    (3)    (x0[0] + [-1] ≥ 0∧x1[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x1[0] ≥ 0∧[1 + (-1)bso_13] ≥ 0)



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

    (4)    (x0[0] + [-1] ≥ 0∧x1[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x1[0] ≥ 0∧[1 + (-1)bso_13] ≥ 0)



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

    (5)    (x0[0] + [-1] ≥ 0∧x1[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x1[0] ≥ 0∧[1 + (-1)bso_13] ≥ 0)



    We simplified constraint (5) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (6)    (x0[0] ≥ 0∧x1[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)Bound*bni_12] + [(-1)bni_12]x2[0] + [bni_12]x1[0] ≥ 0∧[1 + (-1)bso_13] ≥ 0)



    We simplified constraint (6) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (7)    (x0[0] ≥ 0∧[1] + x2[0] + x1[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)Bound*bni_12 + bni_12] + [bni_12]x1[0] ≥ 0∧[1 + (-1)bso_13] ≥ 0)







For Pair COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0, 1))), java.lang.Object(ARRAY(x1)), +(x2, 1)) the following chains were created:
  • We consider the chain COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0[1])), java.lang.Object(ARRAY(x1[1])), x2[1]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1)) which results in the following constraint:

    (8)    (COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0[1])), java.lang.Object(ARRAY(x1[1])), x2[1])≥NonInfC∧COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0[1])), java.lang.Object(ARRAY(x1[1])), x2[1])≥2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))∧(UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥))



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

    (9)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)



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

    (10)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)



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

    (11)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_14] = 0∧[(-1)bso_15] ≥ 0)



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

    (12)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_14] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_15] ≥ 0)







For Pair 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → COND_2688_0_MAIN_LOAD1(&&(&&(>(x2, -1), <(x2, x1)), >(x1, -1)), EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) the following chains were created:
  • We consider the chain 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2]) → COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2]), COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1)) which results in the following constraint:

    (13)    (&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1))=TRUEEOS(STATIC_2688(x0[2]))=EOS(STATIC_2688(x0[3]))∧java.lang.Object(ARRAY(x1[2]))=java.lang.Object(ARRAY(x1[3]))∧x2[2]=x2[3]2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])≥NonInfC∧2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])≥COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])∧(UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥))



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

    (14)    (>(x1[2], -1)=TRUE>(x2[2], -1)=TRUE<(x2[2], x1[2])=TRUE2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])≥NonInfC∧2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])≥COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])∧(UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥))



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

    (15)    (x1[2] ≥ 0∧x2[2] ≥ 0∧x1[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥)∧[(-1)Bound*bni_16] + [(-1)bni_16]x2[2] + [bni_16]x1[2] ≥ 0∧[1 + (-1)bso_17] ≥ 0)



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

    (16)    (x1[2] ≥ 0∧x2[2] ≥ 0∧x1[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥)∧[(-1)Bound*bni_16] + [(-1)bni_16]x2[2] + [bni_16]x1[2] ≥ 0∧[1 + (-1)bso_17] ≥ 0)



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

    (17)    (x1[2] ≥ 0∧x2[2] ≥ 0∧x1[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥)∧[(-1)Bound*bni_16] + [(-1)bni_16]x2[2] + [bni_16]x1[2] ≥ 0∧[1 + (-1)bso_17] ≥ 0)



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

    (18)    (x1[2] ≥ 0∧x2[2] ≥ 0∧x1[2] + [-1] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥)∧0 = 0∧[(-1)Bound*bni_16] + [(-1)bni_16]x2[2] + [bni_16]x1[2] ≥ 0∧0 = 0∧[1 + (-1)bso_17] ≥ 0)



    We simplified constraint (18) using rule (IDP_SMT_SPLIT) which results in the following new constraint:

    (19)    ([1] + x2[2] + x1[2] ≥ 0∧x2[2] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥)∧0 = 0∧[(-1)Bound*bni_16 + bni_16] + [bni_16]x1[2] ≥ 0∧0 = 0∧[1 + (-1)bso_17] ≥ 0)







For Pair COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), +(x2, 1)) the following chains were created:
  • We consider the chain COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1)) which results in the following constraint:

    (20)    (COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3])≥NonInfC∧COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3])≥2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))∧(UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))), ≥))



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

    (21)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))), ≥)∧[bni_18] = 0∧[(-1)bso_19] ≥ 0)



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

    (22)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))), ≥)∧[bni_18] = 0∧[(-1)bso_19] ≥ 0)



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

    (23)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))), ≥)∧[bni_18] = 0∧[(-1)bso_19] ≥ 0)



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

    (24)    ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))), ≥)∧[bni_18] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_19] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2, -1), <(x2, x1)), >(x1, -1)), >(x0, 0)), EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2)
    • (x0[0] ≥ 0∧[1] + x2[0] + x1[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)Bound*bni_12 + bni_12] + [bni_12]x1[0] ≥ 0∧[1 + (-1)bso_13] ≥ 0)

  • COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0, 1))), java.lang.Object(ARRAY(x1)), +(x2, 1))
    • ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_14] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_15] ≥ 0)

  • 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → COND_2688_0_MAIN_LOAD1(&&(&&(>(x2, -1), <(x2, x1)), >(x1, -1)), EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2)
    • ([1] + x2[2] + x1[2] ≥ 0∧x2[2] ≥ 0∧x1[2] ≥ 0 ⇒ (UIncreasing(COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])), ≥)∧0 = 0∧[(-1)Bound*bni_16 + bni_16] + [bni_16]x1[2] ≥ 0∧0 = 0∧[1 + (-1)bso_17] ≥ 0)

  • COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), x2) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0)), java.lang.Object(ARRAY(x1)), +(x2, 1))
    • ((UIncreasing(2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))), ≥)∧[bni_18] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_19] ≥ 0)




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

POL(TRUE) = 0   
POL(FALSE) = 0   
POL(2688_0_MAIN_LOAD(x1, x2, x3)) = [-1]x3 + x2   
POL(EOS(x1)) = x1   
POL(STATIC_2688(x1)) = x1   
POL(java.lang.Object(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(COND_2688_0_MAIN_LOAD(x1, x2, x3, x4)) = [-1] + [-1]x4 + x3   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(<(x1, x2)) = [-1]   
POL(0) = 0   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(COND_2688_0_MAIN_LOAD1(x1, x2, x3, x4)) = [-1] + [-1]x4 + x3   

The following pairs are in P>:

2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])
2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2]) → COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])

The following pairs are in Pbound:

2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_2688_0_MAIN_LOAD(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), >(x1[0], -1)), >(x0[0], 0)), EOS(STATIC_2688(x0[0])), java.lang.Object(ARRAY(x1[0])), x2[0])
2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2]) → COND_2688_0_MAIN_LOAD1(&&(&&(>(x2[2], -1), <(x2[2], x1[2])), >(x1[2], -1)), EOS(STATIC_2688(x0[2])), java.lang.Object(ARRAY(x1[2])), x2[2])

The following pairs are in P:

COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0[1])), java.lang.Object(ARRAY(x1[1])), x2[1]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(+(x0[1], 1))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))
COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), +(x2[3], 1))

There are no usable rules.

(39) Obligation:

IDP problem:
The following function symbols are pre-defined:
!=~Neq: (Integer, Integer) -> Boolean
*~Mul: (Integer, Integer) -> Integer
>=~Ge: (Integer, Integer) -> Boolean
-1~UnaryMinus: (Integer) -> Integer
|~Bwor: (Integer, Integer) -> Integer
/~Div: (Integer, Integer) -> Integer
=~Eq: (Integer, Integer) -> Boolean
~Bwxor: (Integer, Integer) -> Integer
||~Lor: (Boolean, Boolean) -> Boolean
!~Lnot: (Boolean) -> Boolean
<~Lt: (Integer, Integer) -> Boolean
-~Sub: (Integer, Integer) -> Integer
<=~Le: (Integer, Integer) -> Boolean
>~Gt: (Integer, Integer) -> Boolean
~~Bwnot: (Integer) -> Integer
%~Mod: (Integer, Integer) -> Integer
&~Bwand: (Integer, Integer) -> Integer
+~Add: (Integer, Integer) -> Integer
&&~Land: (Boolean, Boolean) -> Boolean


The following domains are used:

Integer


R is empty.

The integer pair graph contains the following rules and edges:
(1): COND_2688_0_MAIN_LOAD(TRUE, EOS(STATIC_2688(x0[1])), java.lang.Object(ARRAY(x1[1])), x2[1]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[1] + 1)), java.lang.Object(ARRAY(x1[1])), x2[1] + 1)
(3): COND_2688_0_MAIN_LOAD1(TRUE, EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3]) → 2688_0_MAIN_LOAD(EOS(STATIC_2688(x0[3])), java.lang.Object(ARRAY(x1[3])), x2[3] + 1)


The set Q is empty.

(40) IDependencyGraphProof (EQUIVALENT transformation)

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

(41) TRUE