(0) Obligation:

JBC Problem based on JBC Program:
Manifest-Version: 1.0 Created-By: 1.6.0_24 (Apple Inc.) Main-Class: Distances
public class Distances {

public static int max(int a, int b) {
return (a < b ? b : a);
}

public static int min(int a, int b) {
return (a > b ? b : a);
}

public static int min(int a, int b, int c) {
return min(a, min(b, c));
}

public static int levenshtein(MyString s1, MyString s2) {
int len1 = s1.length(), len2 = s2.length();
int d[][] = new int[len1+1][len2+1];

for (int i = 0; i <= len1; i++) d[i][0] = i;
for (int j = 0; j <= len2; j++) d[0][j] = j;

for (int j = 0; j < len2; j++)
for (int i = 0; i < len1; i++)
if (s1.charAt(i) == s2.charAt(j)) d[i+1][j+1] = d[i][j];
else d[i+1][j+1] = min(d[i][j+1]+1, d[i+1][j]+1, d[i][j]+1);

return d[len1][len2];
}

public static int abs(int n) {
return (n >= 0 ? n : -1*n);
}

public static int hamming(MyString s1, MyString s2) {
int l = s1.length();

if (l != s2.length()) return -1;

int d = 0;
for (int i = 0; i < l; i++)
if (s1.charAt(i) != s2.charAt(i)) d++;
return d;
}

private static MyString findMatch(MyString s1, boolean b[]) {
MyString res = new MyString();
for (int i = 0; i < s1.length(); i++)
if (b[i]) res.append(s1.charAt(i));
return res;
}

public static int jaro(MyString s1, MyString s2) {
int len1 = s1.length(), len2 = s2.length();
boolean b1[] = new boolean[len1];
boolean b2[] = new boolean[len2];
for (int i = 0; i < len1; i++) b1[i] = false;
for (int i = 0; i < len2; i++) b2[i] = false;

// number of matching characters:
int m = 0;
int threshold = max(len1, len2)/2 - 1;
for (int i = 0; i < len1; i++)
for (int j = max(i-threshold, 0); j <= min(i+threshold, len2-1); j++)
if (s1.charAt(i) == s2.charAt(j)) {
m++;
b1[i] = true;
b2[j] = true;
break;
}
if (m == 0) return 0;

// number of transpositions:
MyString s1Matches = findMatch(s1, b1);
MyString s2Matches = findMatch(s2, b2);
int t = 0;
for (int i = 0; i < s1Matches.length(); i++)
if (s1Matches.charAt(i) != s2Matches.charAt(i)) t++;
t /= 2;

// Jaro distance:
return (m/len1 + m/len2 + (m-t)/m) / 3;
}

public static void main(String args[]) {
for (int i = 1; i <= args.length; i++) {
MyString s1 = new MyString(i, 2);
MyString s2 = new MyString(i, 3);
if (i % 2 == 0)
if (levenshtein(s1, s2) < i/2) hamming(s1, s2);
else jaro(s1, s2);
else if (i % 3 == 0)
if (levenshtein(s1, s2) < i/3) hamming(s1, s2);
else jaro(s1, s2);
else if (i % 5 == 0)
if (levenshtein(s1, s2) < i/5) hamming(s1, s2);
else jaro(s1, s2);
else for (int j = 0; j < 100; j++);
}
}
}

public class MyString {
private static char charSet[] = {'a','b','c','d','e','f','g','h','i','j','k','l','m',
'n','o','p','q','r','s','t','u','v','w','x','y','z'};
private static int charSetLen = charSet.length;

private char[] values;

public MyString() {
values = new char[0];
}

public MyString(int len, int n) {
values = new char[len];

for (int i = 0; i < len; i++)
values[i] = charSet[(i+n) % charSetLen];
}

public MyString(char s[]) {
values = new char[s.length];

for (int i = 0; i < values.length; i++)
values[i] = s[i];
}

public int length() {
return values.length;
}

public char charAt(int index) {
if (0 <= index && index < values.length)
return values[index];
else throw new ArrayIndexOutOfBoundsException();
}

public void append(char c) {
int len = values.length;
char temp[] = new char[len + 1];
for (int i = 0; i < len; i++) temp[i] = values[i];
temp[len] = c;
values = temp;
}

/*
public String toString() {
String s = "";
for (int i = 0; i < values.length; i++)
s += values[i];
return s;
}
*/
}

(1) JBCToGraph (SOUND transformation)

Constructed TerminationGraph.

(2) Obligation:

Termination Graph based on JBC Program:
Distances.main([Ljava/lang/String;)V: Graph of 753 nodes with 1 SCC.

MyString.<init>(II)V: Graph of 58 nodes with 1 SCC.

Distances.levenshtein(LMyString;LMyString;)I: Graph of 976 nodes with 3 SCCs.

Distances.jaro(LMyString;LMyString;)I: Graph of 708 nodes with 4 SCCs.

Distances.hamming(LMyString;LMyString;)I: Graph of 217 nodes with 1 SCC.

Distances.findMatch(LMyString;[Z)LMyString;: Graph of 184 nodes with 1 SCC.

MyString.append(C)V: Graph of 162 nodes with 1 SCC.


(3) TerminationGraphToSCCProof (SOUND transformation)

Splitted TerminationGraph to 12 SCCss.

(4) Complex Obligation (AND)

(5) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: MyString.append(C)V
SCC calls the following helper methods:
Performed SCC analyses: UsedFieldsAnalysis

(6) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 16 rules for P and 0 rules for R.


P rules:
16540_0_append_Load(EOS(STATIC_16540), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262) → 16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885)
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885) → 16548_0_append_GE(EOS(STATIC_16548), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885)
16548_0_append_GE(EOS(STATIC_16548), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885) → 16552_0_append_Load(EOS(STATIC_16552), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262) | <(i4262, i3885)
16552_0_append_Load(EOS(STATIC_16552), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262) → 16556_0_append_Load(EOS(STATIC_16556), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)))
16556_0_append_Load(EOS(STATIC_16556), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886))) → 16561_0_append_Load(EOS(STATIC_16561), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16561_0_append_Load(EOS(STATIC_16561), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16566_0_append_FieldAccess(EOS(STATIC_16566), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))))
16566_0_append_FieldAccess(EOS(STATIC_16566), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885))))) → 16573_0_append_Load(EOS(STATIC_16573), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)))
16573_0_append_Load(EOS(STATIC_16573), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885))) → 16581_0_append_ArrayAccess(EOS(STATIC_16581), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16581_0_append_ArrayAccess(EOS(STATIC_16581), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16588_0_append_ArrayAccess(EOS(STATIC_16588), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16588_0_append_ArrayAccess(EOS(STATIC_16588), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16596_0_append_ArrayAccess(EOS(STATIC_16596), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) | <(i4262, i3885)
16596_0_append_ArrayAccess(EOS(STATIC_16596), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16605_0_append_ArrayAccess(EOS(STATIC_16605), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16605_0_append_ArrayAccess(EOS(STATIC_16605), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16614_0_append_Inc(EOS(STATIC_16614), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262) | <(i4262, i3886)
16614_0_append_Inc(EOS(STATIC_16614), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262) → 16623_0_append_JMP(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), +(i4262, 1)) | >=(i4262, 0)
16623_0_append_JMP(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4509) → 16632_0_append_Load(EOS(STATIC_16632), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4509)
16632_0_append_Load(EOS(STATIC_16632), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4509) → 16536_0_append_Load(EOS(STATIC_16536), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4509)
16536_0_append_Load(EOS(STATIC_16536), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262) → 16540_0_append_Load(EOS(STATIC_16540), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262)
R rules:

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


P rules:
16540_0_append_Load(EOS(STATIC_16540), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x0, java.lang.Object(ARRAY(x1)), x2, x2) → 16540_0_append_Load(EOS(STATIC_16540), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x0, java.lang.Object(ARRAY(x1)), +(x2, 1), +(x2, 1)) | &&(&&(>(+(x2, 1), 0), <(x2, x1)), <(x2, x0))
R rules:

Filtered ground terms:



16540_0_append_Load(x1, x2, x3, x4, x5, x6) → 16540_0_append_Load(x2, x3, x4, x5, x6)
MyString(x1, x2) → MyString(x2)
EOS(x1) → EOS
Cond_16540_0_append_Load(x1, x2, x3, x4, x5, x6, x7) → Cond_16540_0_append_Load(x1, x3, x4, x5, x6, x7)

Filtered duplicate args:



16540_0_append_Load(x1, x2, x3, x4, x5) → 16540_0_append_Load(x1, x3, x5)
Cond_16540_0_append_Load(x1, x2, x3, x4, x5, x6) → Cond_16540_0_append_Load(x1, x2, x4, x6)

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


P rules:
16540_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → 16540_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), +(x2, 1)) | &&(&&(>(x2, -1), <(x2, x1)), <(x2, x0))
R rules:

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


P rules:
16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → COND_16540_0_APPEND_LOAD(&&(&&(>(x2, -1), <(x2, x1)), <(x2, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
COND_16540_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), +(x2, 1))
R rules:

(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


R is empty.

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

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


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



The set Q is empty.

(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@22b52c66 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 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → COND_16540_0_APPEND_LOAD(&&(&&(>(x2, -1), <(x2, x1)), <(x2, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) the following chains were created:
  • We consider the chain 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]), COND_16540_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1]) → 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1)) which results in the following constraint:

    (1)    (&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0]))=TRUEjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1]))))∧java.lang.Object(ARRAY(x1[0]))=java.lang.Object(ARRAY(x1[1]))∧x2[0]=x2[1]16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥NonInfC∧16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])∧(UIncreasing(COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(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)    (<(x2[0], x0[0])=TRUE>(x2[0], -1)=TRUE<(x2[0], x1[0])=TRUE16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥NonInfC∧16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])∧(UIncreasing(COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(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] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(-1)bni_11]x2[0] + [(2)bni_11]x1[0] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (4)    (x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(-1)bni_11]x2[0] + [(2)bni_11]x1[0] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (5)    (x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(-1)bni_11]x2[0] + [(2)bni_11]x1[0] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 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]x2[0] ≥ 0 ⇒ (UIncreasing(COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[bni_11 + (-1)Bound*bni_11] + [bni_11]x2[0] + [(2)bni_11]x1[0] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 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_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(3)bni_11 + (-1)Bound*bni_11] + [(3)bni_11]x2[0] + [(2)bni_11]x1[0] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)







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

    (8)    (COND_16540_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1])≥NonInfC∧COND_16540_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1])≥16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))∧(UIncreasing(16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[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(16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_13] = 0∧[1 + (-1)bso_14] ≥ 0)



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

    (10)    ((UIncreasing(16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_13] = 0∧[1 + (-1)bso_14] ≥ 0)



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

    (11)    ((UIncreasing(16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_13] = 0∧[1 + (-1)bso_14] ≥ 0)



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

    (12)    ((UIncreasing(16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_13] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_14] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → COND_16540_0_APPEND_LOAD(&&(&&(>(x2, -1), <(x2, x1)), <(x2, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
    • (x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])), ≥)∧[(3)bni_11 + (-1)Bound*bni_11] + [(3)bni_11]x2[0] + [(2)bni_11]x1[0] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)

  • COND_16540_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), +(x2, 1))
    • ((UIncreasing(16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))), ≥)∧[bni_13] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_14] ≥ 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(16540_0_APPEND_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2 + [2]x1   
POL(java.lang.Object(x1)) = x1   
POL(MyString(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(COND_16540_0_APPEND_LOAD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3 + [2]x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   

The following pairs are in P>:

COND_16540_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1]) → 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))

The following pairs are in Pbound:

16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])

The following pairs are in P:

16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16540_0_APPEND_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[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


R is empty.

The integer pair graph contains the following rules and edges:
(0): 16540_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16540_0_APPEND_LOAD(x2[0] > -1 && x2[0] < x1[0] && x2[0] < x0[0], java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])


The set Q is empty.

(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


R is empty.

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


The set Q is empty.

(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: Distances.findMatch(LMyString;[Z)LMyString;
SCC calls the following helper methods: MyString.append(C)V
Performed SCC analyses: UsedFieldsAnalysis

(17) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 47 rules for P and 160 rules for R.


P rules:
15505_0_findMatch_Load(EOS(STATIC_15505), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491) → 15511_0_findMatch_InvokeMethod(EOS(STATIC_15511), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15511_0_findMatch_InvokeMethod(EOS(STATIC_15511), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15516_0_length_Load(EOS(STATIC_15516), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15516_0_length_Load(EOS(STATIC_15516), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15527_0_length_FieldAccess(EOS(STATIC_15527), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15527_0_length_FieldAccess(EOS(STATIC_15527), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15535_0_length_ArrayLength(EOS(STATIC_15535), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)))
15535_0_length_ArrayLength(EOS(STATIC_15535), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431))) → 15544_0_length_Return(EOS(STATIC_15544), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431) | >=(i431, 0)
15544_0_length_Return(EOS(STATIC_15544), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431) → 15553_0_findMatch_GE(EOS(STATIC_15553), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, i431)
15553_0_findMatch_GE(EOS(STATIC_15553), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, i431) → 15563_0_findMatch_GE(EOS(STATIC_15563), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, i431)
15563_0_findMatch_GE(EOS(STATIC_15563), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491, i431) → 15574_0_findMatch_Load(EOS(STATIC_15574), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491) | <(i3491, i431)
15574_0_findMatch_Load(EOS(STATIC_15574), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491) → 15584_0_findMatch_Load(EOS(STATIC_15584), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, java.lang.Object(ARRAY(i431)))
15584_0_findMatch_Load(EOS(STATIC_15584), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, java.lang.Object(ARRAY(i431))) → 15593_0_findMatch_ArrayAccess(EOS(STATIC_15593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, java.lang.Object(ARRAY(i431)), i3491)
15593_0_findMatch_ArrayAccess(EOS(STATIC_15593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(ARRAY(i431)), i3529) → 15601_0_findMatch_ArrayAccess(EOS(STATIC_15601), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(ARRAY(i431)), i3529)
15601_0_findMatch_ArrayAccess(EOS(STATIC_15601), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(ARRAY(i431)), i3529) → 15611_0_findMatch_ArrayAccess(EOS(STATIC_15611), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(ARRAY(i431)), i3529)
15611_0_findMatch_ArrayAccess(EOS(STATIC_15611), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(ARRAY(i431)), i3529) → 15618_0_findMatch_EQ(EOS(STATIC_15618), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, i3534) | <(i3529, i431)
15618_0_findMatch_EQ(EOS(STATIC_15618), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, i3536) → 15627_0_findMatch_EQ(EOS(STATIC_15627), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, i3536)
15618_0_findMatch_EQ(EOS(STATIC_15618), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, matching1) → 15628_0_findMatch_EQ(EOS(STATIC_15628), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, 0) | =(matching1, 0)
15627_0_findMatch_EQ(EOS(STATIC_15627), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, i3536) → 15636_0_findMatch_Load(EOS(STATIC_15636), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529) | !(=(i3536, 0))
15636_0_findMatch_Load(EOS(STATIC_15636), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529) → 15644_0_findMatch_Load(EOS(STATIC_15644), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))))
15644_0_findMatch_Load(EOS(STATIC_15644), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490))))) → 15655_0_findMatch_Load(EOS(STATIC_15655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15655_0_findMatch_Load(EOS(STATIC_15655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15665_0_findMatch_InvokeMethod(EOS(STATIC_15665), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529)
15665_0_findMatch_InvokeMethod(EOS(STATIC_15665), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529) → 15673_0_charAt_ConstantStackPush(EOS(STATIC_15673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529)
15673_0_charAt_ConstantStackPush(EOS(STATIC_15673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529) → 15693_0_charAt_Load(EOS(STATIC_15693), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, 0)
15693_0_charAt_Load(EOS(STATIC_15693), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, matching1) → 15702_0_charAt_GT(EOS(STATIC_15702), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, 0, i3529) | =(matching1, 0)
15702_0_charAt_GT(EOS(STATIC_15702), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, matching1, i3529) → 15715_0_charAt_Load(EOS(STATIC_15715), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529) | &&(<=(0, i3529), =(matching1, 0))
15715_0_charAt_Load(EOS(STATIC_15715), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529) → 15725_0_charAt_Load(EOS(STATIC_15725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529)
15725_0_charAt_Load(EOS(STATIC_15725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529) → 15735_0_charAt_FieldAccess(EOS(STATIC_15735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15735_0_charAt_FieldAccess(EOS(STATIC_15735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15744_0_charAt_ArrayLength(EOS(STATIC_15744), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(ARRAY(i431)))
15744_0_charAt_ArrayLength(EOS(STATIC_15744), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(ARRAY(i431))) → 15751_0_charAt_GE(EOS(STATIC_15751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, i431) | >=(i431, 0)
15751_0_charAt_GE(EOS(STATIC_15751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, i431) → 15761_0_charAt_GE(EOS(STATIC_15761), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, i431)
15761_0_charAt_GE(EOS(STATIC_15761), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, i431) → 15772_0_charAt_Load(EOS(STATIC_15772), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529) | <(i3529, i431)
15772_0_charAt_Load(EOS(STATIC_15772), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529) → 15783_0_charAt_FieldAccess(EOS(STATIC_15783), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15783_0_charAt_FieldAccess(EOS(STATIC_15783), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15794_0_charAt_Load(EOS(STATIC_15794), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(ARRAY(i431)))
15794_0_charAt_Load(EOS(STATIC_15794), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3529, java.lang.Object(ARRAY(i431))) → 15806_0_charAt_ArrayAccess(EOS(STATIC_15806), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(ARRAY(i431)), i3529)
15806_0_charAt_ArrayAccess(EOS(STATIC_15806), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(ARRAY(i431)), i3529) → 15818_0_charAt_ArrayAccess(EOS(STATIC_15818), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(ARRAY(i431)), i3529)
15818_0_charAt_ArrayAccess(EOS(STATIC_15818), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, java.lang.Object(ARRAY(i431)), i3529) → 15833_0_charAt_Return(EOS(STATIC_15833), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3569) | <(i3529, i431)
15833_0_charAt_Return(EOS(STATIC_15833), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3529, i3569) → 15848_0_findMatch_InvokeMethod(EOS(STATIC_15848), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569)
15848_0_findMatch_InvokeMethod(EOS(STATIC_15848), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569) → 15863_1_findMatch_InvokeMethod(15863_0_append_Load(EOS(STATIC_15863), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569)
15863_1_findMatch_InvokeMethod(16612_0_append_Return(EOS(STATIC_16612)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i4538) → 16640_0_append_Return(EOS(STATIC_16640), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4538)
16640_0_append_Return(EOS(STATIC_16640), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4538) → 16353_0_append_Return(EOS(STATIC_16353), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4538)
16353_0_append_Return(EOS(STATIC_16353), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i3529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4022) → 16368_0_findMatch_Inc(EOS(STATIC_16368), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i3529)
16368_0_findMatch_Inc(EOS(STATIC_16368), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i3529) → 16377_0_findMatch_JMP(EOS(STATIC_16377), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), +(i3529, 1)) | >=(i3529, 0)
16377_0_findMatch_JMP(EOS(STATIC_16377), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4126) → 16384_0_findMatch_Load(EOS(STATIC_16384), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4126)
16384_0_findMatch_Load(EOS(STATIC_16384), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4126) → 15499_0_findMatch_Load(EOS(STATIC_15499), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3886)))), i4126)
15499_0_findMatch_Load(EOS(STATIC_15499), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491) → 15505_0_findMatch_Load(EOS(STATIC_15505), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3491, i3491)
15628_0_findMatch_EQ(EOS(STATIC_15628), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529, matching1) → 15637_0_findMatch_Inc(EOS(STATIC_15637), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529) | =(matching1, 0)
15637_0_findMatch_Inc(EOS(STATIC_15637), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3529) → 15645_0_findMatch_JMP(EOS(STATIC_15645), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), +(i3529, 1)) | >=(i3529, 0)
15645_0_findMatch_JMP(EOS(STATIC_15645), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3537) → 15656_0_findMatch_Load(EOS(STATIC_15656), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3537)
15656_0_findMatch_Load(EOS(STATIC_15656), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3537) → 15499_0_findMatch_Load(EOS(STATIC_15499), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3537)
R rules:
15863_0_append_Load(EOS(STATIC_15863), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569) → 15880_0_append_Load(EOS(STATIC_15880), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569)
15880_0_append_Load(EOS(STATIC_15880), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569) → 15912_0_append_Load(EOS(STATIC_15912), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3490)))), i3569)
15912_0_append_Load(EOS(STATIC_15912), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589) → 15926_0_append_FieldAccess(EOS(STATIC_15926), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))))
15926_0_append_FieldAccess(EOS(STATIC_15926), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588))))) → 15939_0_append_ArrayLength(EOS(STATIC_15939), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, java.lang.Object(ARRAY(i3588)))
15939_0_append_ArrayLength(EOS(STATIC_15939), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, java.lang.Object(ARRAY(i3588))) → 15949_0_append_Store(EOS(STATIC_15949), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588) | >=(i3588, 0)
15949_0_append_Store(EOS(STATIC_15949), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588) → 15962_0_append_Load(EOS(STATIC_15962), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588)
15962_0_append_Load(EOS(STATIC_15962), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588) → 15973_0_append_ConstantStackPush(EOS(STATIC_15973), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3588)
15973_0_append_ConstantStackPush(EOS(STATIC_15973), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3588) → 15985_0_append_IntArithmetic(EOS(STATIC_15985), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3588, 1)
15985_0_append_IntArithmetic(EOS(STATIC_15985), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3588, matching1) → 15995_0_append_ArrayCreate(EOS(STATIC_15995), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, +(i3588, 1)) | =(matching1, 1)
15995_0_append_ArrayCreate(EOS(STATIC_15995), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16012_0_append_ArrayCreate(EOS(STATIC_16012), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
15995_0_append_ArrayCreate(EOS(STATIC_15995), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3755) → 16013_0_append_ArrayCreate(EOS(STATIC_16013), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3755)
16012_0_append_ArrayCreate(EOS(STATIC_16012), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16024_0_append_ArrayCreate(EOS(STATIC_16024), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16013_0_append_ArrayCreate(EOS(STATIC_16013), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3755) → 16025_0_append_Store(EOS(STATIC_16025), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755)))
16024_0_append_ArrayCreate(EOS(STATIC_16024), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16036_0_<init>_Load(EOS(STATIC_16036), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16025_0_append_Store(EOS(STATIC_16025), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755))) → 16037_0_append_ConstantStackPush(EOS(STATIC_16037), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755)))
16036_0_<init>_Load(EOS(STATIC_16036), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16056_0_<init>_InvokeMethod(EOS(STATIC_16056), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16037_0_append_ConstantStackPush(EOS(STATIC_16037), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755))) → 16047_0_append_Store(EOS(STATIC_16047), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755)), 0)
16047_0_append_Store(EOS(STATIC_16047), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755)), matching1) → 16057_0_append_Load(EOS(STATIC_16057), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755)), 0) | =(matching1, 0)
16056_0_<init>_InvokeMethod(EOS(STATIC_16056), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16066_0_<init>_Load(EOS(STATIC_16066), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16057_0_append_Load(EOS(STATIC_16057), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755)), matching1) → 16211_0_append_Load(EOS(STATIC_16211), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, java.lang.Object(ARRAY(i3755)), 0) | =(matching1, 0)
16066_0_<init>_Load(EOS(STATIC_16066), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16085_0_<init>_InvokeMethod(EOS(STATIC_16085), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16085_0_<init>_InvokeMethod(EOS(STATIC_16085), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16095_0_<init>_Load(EOS(STATIC_16095), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16095_0_<init>_Load(EOS(STATIC_16095), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16115_0_<init>_InvokeMethod(EOS(STATIC_16115), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16115_0_<init>_InvokeMethod(EOS(STATIC_16115), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16123_0_<init>_Load(EOS(STATIC_16123), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16123_0_<init>_Load(EOS(STATIC_16123), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16145_0_<init>_InvokeMethod(EOS(STATIC_16145), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16145_0_<init>_InvokeMethod(EOS(STATIC_16145), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16157_0_<init>_Load(EOS(STATIC_16157), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16157_0_<init>_Load(EOS(STATIC_16157), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16167_0_<init>_Load(EOS(STATIC_16167), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16167_0_<init>_Load(EOS(STATIC_16167), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16180_0_<init>_FieldAccess(EOS(STATIC_16180), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16180_0_<init>_FieldAccess(EOS(STATIC_16180), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16192_0_<init>_Load(EOS(STATIC_16192), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16192_0_<init>_Load(EOS(STATIC_16192), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16206_0_<init>_InvokeMethod(EOS(STATIC_16206), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16206_0_<init>_InvokeMethod(EOS(STATIC_16206), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16222_0_<init>_StackPop(EOS(STATIC_16222), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16211_0_append_Load(EOS(STATIC_16211), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i3887) → 16348_0_append_Load(EOS(STATIC_16348), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i3887)
16222_0_<init>_StackPop(EOS(STATIC_16222), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16237_0_<init>_Return(EOS(STATIC_16237), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16237_0_<init>_Return(EOS(STATIC_16237), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16243_0_<init>_Return(EOS(STATIC_16243), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16243_0_<init>_Return(EOS(STATIC_16243), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16250_0_<init>_Return(EOS(STATIC_16250), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16250_0_<init>_Return(EOS(STATIC_16250), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16257_0_<init>_Return(EOS(STATIC_16257), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16257_0_<init>_Return(EOS(STATIC_16257), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754) → 16263_0_append_ArrayCreate(EOS(STATIC_16263), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3588)))), i3589, i3588, i3754)
16348_0_append_Load(EOS(STATIC_16348), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4023) → 16446_0_append_Load(EOS(STATIC_16446), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4023)
16446_0_append_Load(EOS(STATIC_16446), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4149) → 16536_0_append_Load(EOS(STATIC_16536), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4149)
16536_0_append_Load(EOS(STATIC_16536), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262) → 16540_0_append_Load(EOS(STATIC_16540), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262)
16540_0_append_Load(EOS(STATIC_16540), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262) → 16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885)
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885) → 16547_0_append_GE(EOS(STATIC_16547), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885)
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885) → 16548_0_append_GE(EOS(STATIC_16548), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885)
16547_0_append_GE(EOS(STATIC_16547), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885) → 16551_0_append_Load(EOS(STATIC_16551), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886))) | >=(i4262, i3885)
16548_0_append_GE(EOS(STATIC_16548), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, i4262, i3885) → 16552_0_append_Load(EOS(STATIC_16552), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262) | <(i4262, i3885)
16551_0_append_Load(EOS(STATIC_16551), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886))) → 16555_0_append_Load(EOS(STATIC_16555), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)))
16552_0_append_Load(EOS(STATIC_16552), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262) → 16556_0_append_Load(EOS(STATIC_16556), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)))
16555_0_append_Load(EOS(STATIC_16555), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886))) → 16560_0_append_Load(EOS(STATIC_16560), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i3885)
16556_0_append_Load(EOS(STATIC_16556), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886))) → 16561_0_append_Load(EOS(STATIC_16561), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16560_0_append_Load(EOS(STATIC_16560), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i3885) → 16565_0_append_ArrayAccess(EOS(STATIC_16565), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i3885, i3589)
16561_0_append_Load(EOS(STATIC_16561), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16566_0_append_FieldAccess(EOS(STATIC_16566), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))))
16565_0_append_ArrayAccess(EOS(STATIC_16565), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16571_0_append_ArrayAccess(EOS(STATIC_16571), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16565_0_append_ArrayAccess(EOS(STATIC_16565), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16572_0_append_ArrayAccess(EOS(STATIC_16572), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16566_0_append_FieldAccess(EOS(STATIC_16566), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885))))) → 16573_0_append_Load(EOS(STATIC_16573), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)))
16571_0_append_ArrayAccess(EOS(STATIC_16571), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16578_0_<init>_Load(EOS(STATIC_16578), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) | <=(i4357, -1)
16572_0_append_ArrayAccess(EOS(STATIC_16572), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16579_0_append_ArrayAccess(EOS(STATIC_16579), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16572_0_append_ArrayAccess(EOS(STATIC_16572), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16580_0_append_ArrayAccess(EOS(STATIC_16580), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16573_0_append_Load(EOS(STATIC_16573), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885))) → 16581_0_append_ArrayAccess(EOS(STATIC_16581), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16578_0_<init>_Load(EOS(STATIC_16578), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16594_0_<init>_InvokeMethod(EOS(STATIC_16594), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16579_0_append_ArrayAccess(EOS(STATIC_16579), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16586_0_append_Load(EOS(STATIC_16586), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886))) | <(i4358, i3886)
16580_0_append_ArrayAccess(EOS(STATIC_16580), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16587_0_<init>_Load(EOS(STATIC_16587), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) | >=(i4358, i3886)
16581_0_append_ArrayAccess(EOS(STATIC_16581), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16588_0_append_ArrayAccess(EOS(STATIC_16588), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16581_0_append_ArrayAccess(EOS(STATIC_16581), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16589_0_append_ArrayAccess(EOS(STATIC_16589), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16586_0_append_Load(EOS(STATIC_16586), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886))) → 16595_0_append_Load(EOS(STATIC_16595), java.lang.Object(ARRAY(i3886)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))))
16587_0_<init>_Load(EOS(STATIC_16587), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16604_0_<init>_InvokeMethod(EOS(STATIC_16604), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16588_0_append_ArrayAccess(EOS(STATIC_16588), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16596_0_append_ArrayAccess(EOS(STATIC_16596), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) | <(i4262, i3885)
16589_0_append_ArrayAccess(EOS(STATIC_16589), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16597_0_<init>_Load(EOS(STATIC_16597), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) | >=(i4262, i3885)
16594_0_<init>_InvokeMethod(EOS(STATIC_16594), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16602_0_<init>_Load(EOS(STATIC_16602), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16595_0_append_Load(EOS(STATIC_16595), java.lang.Object(ARRAY(i3886)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358))))) → 16603_0_append_FieldAccess(EOS(STATIC_16603), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)))
16596_0_append_ArrayAccess(EOS(STATIC_16596), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16605_0_append_ArrayAccess(EOS(STATIC_16605), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16596_0_append_ArrayAccess(EOS(STATIC_16596), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16606_0_append_ArrayAccess(EOS(STATIC_16606), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16597_0_<init>_Load(EOS(STATIC_16597), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16616_0_<init>_InvokeMethod(EOS(STATIC_16616), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16602_0_<init>_Load(EOS(STATIC_16602), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16621_0_<init>_InvokeMethod(EOS(STATIC_16621), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16603_0_append_FieldAccess(EOS(STATIC_16603), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886))) → 16612_0_append_Return(EOS(STATIC_16612))
16604_0_<init>_InvokeMethod(EOS(STATIC_16604), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16613_0_<init>_Load(EOS(STATIC_16613), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16605_0_append_ArrayAccess(EOS(STATIC_16605), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16614_0_append_Inc(EOS(STATIC_16614), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262) | <(i4262, i3886)
16606_0_append_ArrayAccess(EOS(STATIC_16606), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16615_0_<init>_Load(EOS(STATIC_16615), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) | >=(i4262, i3886)
16613_0_<init>_Load(EOS(STATIC_16613), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16631_0_<init>_InvokeMethod(EOS(STATIC_16631), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16614_0_append_Inc(EOS(STATIC_16614), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262) → 16623_0_append_JMP(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), +(i4262, 1)) | >=(i4262, 0)
16615_0_<init>_Load(EOS(STATIC_16615), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16633_0_<init>_InvokeMethod(EOS(STATIC_16633), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16616_0_<init>_InvokeMethod(EOS(STATIC_16616), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16624_0_<init>_Load(EOS(STATIC_16624), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16621_0_<init>_InvokeMethod(EOS(STATIC_16621), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16630_0_<init>_Load(EOS(STATIC_16630), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16623_0_append_JMP(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4509) → 16632_0_append_Load(EOS(STATIC_16632), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4509)
16624_0_<init>_Load(EOS(STATIC_16624), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16643_0_<init>_InvokeMethod(EOS(STATIC_16643), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16630_0_<init>_Load(EOS(STATIC_16630), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16649_0_<init>_InvokeMethod(EOS(STATIC_16649), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16631_0_<init>_InvokeMethod(EOS(STATIC_16631), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16641_0_<init>_Load(EOS(STATIC_16641), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16632_0_append_Load(EOS(STATIC_16632), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4509) → 16536_0_append_Load(EOS(STATIC_16536), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4509)
16633_0_<init>_InvokeMethod(EOS(STATIC_16633), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16642_0_<init>_Load(EOS(STATIC_16642), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16641_0_<init>_Load(EOS(STATIC_16641), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16655_0_<init>_InvokeMethod(EOS(STATIC_16655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16642_0_<init>_Load(EOS(STATIC_16642), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16656_0_<init>_InvokeMethod(EOS(STATIC_16656), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16643_0_<init>_InvokeMethod(EOS(STATIC_16643), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16650_0_<init>_Load(EOS(STATIC_16650), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16649_0_<init>_InvokeMethod(EOS(STATIC_16649), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16654_0_<init>_Load(EOS(STATIC_16654), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16650_0_<init>_Load(EOS(STATIC_16650), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16660_0_<init>_InvokeMethod(EOS(STATIC_16660), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16654_0_<init>_Load(EOS(STATIC_16654), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16662_0_<init>_InvokeMethod(EOS(STATIC_16662), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16655_0_<init>_InvokeMethod(EOS(STATIC_16655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16658_0_<init>_Load(EOS(STATIC_16658), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16656_0_<init>_InvokeMethod(EOS(STATIC_16656), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16659_0_<init>_Load(EOS(STATIC_16659), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16658_0_<init>_Load(EOS(STATIC_16658), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16666_0_<init>_InvokeMethod(EOS(STATIC_16666), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16659_0_<init>_Load(EOS(STATIC_16659), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16667_0_<init>_InvokeMethod(EOS(STATIC_16667), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16660_0_<init>_InvokeMethod(EOS(STATIC_16660), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16663_0_<init>_Load(EOS(STATIC_16663), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16662_0_<init>_InvokeMethod(EOS(STATIC_16662), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16665_0_<init>_Load(EOS(STATIC_16665), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16663_0_<init>_Load(EOS(STATIC_16663), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16670_0_<init>_InvokeMethod(EOS(STATIC_16670), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16665_0_<init>_Load(EOS(STATIC_16665), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16672_0_<init>_InvokeMethod(EOS(STATIC_16672), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16666_0_<init>_InvokeMethod(EOS(STATIC_16666), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16668_0_<init>_Load(EOS(STATIC_16668), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16667_0_<init>_InvokeMethod(EOS(STATIC_16667), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16669_0_<init>_Load(EOS(STATIC_16669), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16668_0_<init>_Load(EOS(STATIC_16668), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16676_0_<init>_InvokeMethod(EOS(STATIC_16676), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16669_0_<init>_Load(EOS(STATIC_16669), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16677_0_<init>_InvokeMethod(EOS(STATIC_16677), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16670_0_<init>_InvokeMethod(EOS(STATIC_16670), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16673_0_<init>_Load(EOS(STATIC_16673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16672_0_<init>_InvokeMethod(EOS(STATIC_16672), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16675_0_<init>_Load(EOS(STATIC_16675), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16673_0_<init>_Load(EOS(STATIC_16673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16682_0_<init>_InvokeMethod(EOS(STATIC_16682), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16675_0_<init>_Load(EOS(STATIC_16675), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16679_0_<init>_Load(EOS(STATIC_16679), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16676_0_<init>_InvokeMethod(EOS(STATIC_16676), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16680_0_<init>_Load(EOS(STATIC_16680), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16677_0_<init>_InvokeMethod(EOS(STATIC_16677), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16681_0_<init>_Load(EOS(STATIC_16681), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16679_0_<init>_Load(EOS(STATIC_16679), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16684_0_<init>_FieldAccess(EOS(STATIC_16684), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16680_0_<init>_Load(EOS(STATIC_16680), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16685_0_<init>_Load(EOS(STATIC_16685), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16681_0_<init>_Load(EOS(STATIC_16681), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16691_0_<init>_InvokeMethod(EOS(STATIC_16691), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16682_0_<init>_InvokeMethod(EOS(STATIC_16682), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16686_0_<init>_Load(EOS(STATIC_16686), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16684_0_<init>_FieldAccess(EOS(STATIC_16684), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16689_0_<init>_Load(EOS(STATIC_16689), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16685_0_<init>_Load(EOS(STATIC_16685), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16690_0_<init>_FieldAccess(EOS(STATIC_16690), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16686_0_<init>_Load(EOS(STATIC_16686), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16692_0_<init>_Load(EOS(STATIC_16692), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16689_0_<init>_Load(EOS(STATIC_16689), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16695_0_<init>_InvokeMethod(EOS(STATIC_16695), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16690_0_<init>_FieldAccess(EOS(STATIC_16690), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16696_0_<init>_Load(EOS(STATIC_16696), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16691_0_<init>_InvokeMethod(EOS(STATIC_16691), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16697_0_<init>_Load(EOS(STATIC_16697), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16692_0_<init>_Load(EOS(STATIC_16692), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16698_0_<init>_FieldAccess(EOS(STATIC_16698), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16695_0_<init>_InvokeMethod(EOS(STATIC_16695), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16701_0_<init>_StackPop(EOS(STATIC_16701), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16696_0_<init>_Load(EOS(STATIC_16696), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16702_0_<init>_InvokeMethod(EOS(STATIC_16702), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16697_0_<init>_Load(EOS(STATIC_16697), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16703_0_<init>_Load(EOS(STATIC_16703), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16698_0_<init>_FieldAccess(EOS(STATIC_16698), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16704_0_<init>_Load(EOS(STATIC_16704), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16701_0_<init>_StackPop(EOS(STATIC_16701), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16707_0_<init>_Return(EOS(STATIC_16707), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16702_0_<init>_InvokeMethod(EOS(STATIC_16702), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16708_0_<init>_StackPop(EOS(STATIC_16708), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16703_0_<init>_Load(EOS(STATIC_16703), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16709_0_<init>_FieldAccess(EOS(STATIC_16709), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16704_0_<init>_Load(EOS(STATIC_16704), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16710_0_<init>_InvokeMethod(EOS(STATIC_16710), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16707_0_<init>_Return(EOS(STATIC_16707), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16713_0_<init>_Return(EOS(STATIC_16713), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16708_0_<init>_StackPop(EOS(STATIC_16708), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16714_0_<init>_Return(EOS(STATIC_16714), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16709_0_<init>_FieldAccess(EOS(STATIC_16709), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16715_0_<init>_Load(EOS(STATIC_16715), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16710_0_<init>_InvokeMethod(EOS(STATIC_16710), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16716_0_<init>_StackPop(EOS(STATIC_16716), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16713_0_<init>_Return(EOS(STATIC_16713), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16718_0_<init>_Return(EOS(STATIC_16718), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16714_0_<init>_Return(EOS(STATIC_16714), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16719_0_<init>_Return(EOS(STATIC_16719), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16715_0_<init>_Load(EOS(STATIC_16715), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16720_0_<init>_InvokeMethod(EOS(STATIC_16720), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16716_0_<init>_StackPop(EOS(STATIC_16716), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16721_0_<init>_Return(EOS(STATIC_16721), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16718_0_<init>_Return(EOS(STATIC_16718), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16724_0_<init>_Return(EOS(STATIC_16724), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16719_0_<init>_Return(EOS(STATIC_16719), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16725_0_<init>_Return(EOS(STATIC_16725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16720_0_<init>_InvokeMethod(EOS(STATIC_16720), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16726_0_<init>_StackPop(EOS(STATIC_16726), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16721_0_<init>_Return(EOS(STATIC_16721), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16727_0_<init>_Return(EOS(STATIC_16727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16724_0_<init>_Return(EOS(STATIC_16724), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16730_0_<init>_Return(EOS(STATIC_16730), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16725_0_<init>_Return(EOS(STATIC_16725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16731_0_<init>_Return(EOS(STATIC_16731), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16726_0_<init>_StackPop(EOS(STATIC_16726), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16732_0_<init>_Return(EOS(STATIC_16732), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16727_0_<init>_Return(EOS(STATIC_16727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16733_0_<init>_Return(EOS(STATIC_16733), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16730_0_<init>_Return(EOS(STATIC_16730), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16736_0_append_ArrayAccess(EOS(STATIC_16736), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16731_0_<init>_Return(EOS(STATIC_16731), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16737_0_<init>_Return(EOS(STATIC_16737), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16732_0_<init>_Return(EOS(STATIC_16732), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16738_0_<init>_Return(EOS(STATIC_16738), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16733_0_<init>_Return(EOS(STATIC_16733), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16739_0_<init>_Return(EOS(STATIC_16739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16736_0_append_ArrayAccess(EOS(STATIC_16736), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589) → 16744_0_append_ArrayAccess(EOS(STATIC_16744), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4357)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4357, i3589)
16737_0_<init>_Return(EOS(STATIC_16737), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16743_0_append_ArrayAccess(EOS(STATIC_16743), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16738_0_<init>_Return(EOS(STATIC_16738), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16745_0_<init>_Return(EOS(STATIC_16745), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16739_0_<init>_Return(EOS(STATIC_16739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16746_0_<init>_Return(EOS(STATIC_16746), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16743_0_append_ArrayAccess(EOS(STATIC_16743), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589) → 16744_0_append_ArrayAccess(EOS(STATIC_16744), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4358)))), java.lang.Object(ARRAY(i3886)), java.lang.Object(ARRAY(i3886)), i4358, i3589)
16745_0_<init>_Return(EOS(STATIC_16745), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16750_0_<init>_Return(EOS(STATIC_16750), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16746_0_<init>_Return(EOS(STATIC_16746), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262) → 16751_0_append_ArrayAccess(EOS(STATIC_16751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3885)), i4262)
16750_0_<init>_Return(EOS(STATIC_16750), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16755_0_<init>_Return(EOS(STATIC_16755), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)
16755_0_<init>_Return(EOS(STATIC_16755), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262) → 16762_0_append_ArrayAccess(EOS(STATIC_16762), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3885)))), i3589, i3885, java.lang.Object(ARRAY(i3886)), i4262, java.lang.Object(ARRAY(i3886)), i4262)

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


P rules:
15505_0_findMatch_Load(EOS(STATIC_15505), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x2, x2) → 15863_1_findMatch_InvokeMethod(15863_0_append_Load(EOS(STATIC_15863), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x3), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x2, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x3) | &&(&&(>(+(x2, 1), 0), <(x2, x0)), >(+(x0, 1), 0))
15863_1_findMatch_InvokeMethod(16612_0_append_Return(EOS(STATIC_16612)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x2, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x3) → 15505_0_findMatch_Load(EOS(STATIC_15505), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x4)))), +(x2, 1), +(x2, 1)) | >(+(x2, 1), 0)
15505_0_findMatch_Load(EOS(STATIC_15505), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x2, x2) → 15505_0_findMatch_Load(EOS(STATIC_15505), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), +(x2, 1), +(x2, 1)) | &&(&&(>(+(x2, 1), 0), <(x2, x0)), >(+(x0, 1), 0))
R rules:
15863_0_append_Load(EOS(STATIC_15863), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1) → 16263_0_append_ArrayCreate(EOS(STATIC_16263), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, +(x0, 1)) | >(+(x0, 1), 0)
15863_0_append_Load(EOS(STATIC_15863), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1) → 16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(+(x0, 1))), 0, 0, x0) | >(+(x0, 1), 0)
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16612_0_append_Return(EOS(STATIC_16612)) | &&(>=(x3, x0), >(x2, x0))
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), +(x3, 1), +(x3, 1), x0) | &&(&&(>(+(x3, 1), 0), <(x3, x2)), <(x3, x0))
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16744_0_append_ArrayAccess(EOS(STATIC_16744), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), java.lang.Object(ARRAY(x2)), x0, x1) | &&(>=(x3, x0), <=(x0, -1))
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16744_0_append_ArrayAccess(EOS(STATIC_16744), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), java.lang.Object(ARRAY(x2)), x0, x1) | &&(>=(x3, x0), <=(x2, x0))
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16751_0_append_ArrayAccess(EOS(STATIC_16751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, java.lang.Object(ARRAY(x2)), x3, java.lang.Object(ARRAY(x0)), x3) | FALSE
16543_0_append_GE(EOS(STATIC_16543), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16762_0_append_ArrayAccess(EOS(STATIC_16762), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, java.lang.Object(ARRAY(x2)), x3) | &&(>=(x3, x2), <(x3, x0))

Filtered ground terms:



15505_0_findMatch_Load(x1, x2, x3, x4, x5, x6) → 15505_0_findMatch_Load(x2, x3, x4, x5, x6)
MyString(x1, x2) → MyString(x2)
Cond_15505_0_findMatch_Load1(x1, x2, x3, x4, x5, x6, x7) → Cond_15505_0_findMatch_Load1(x1, x3, x4, x5, x6, x7)
Cond_15863_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_15863_1_findMatch_InvokeMethod(x1, x3, x4, x5, x6, x7, x8, x9)
16612_0_append_Return(x1) → 16612_0_append_Return
15863_0_append_Load(x1, x2, x3) → 15863_0_append_Load(x2, x3)
Cond_15505_0_findMatch_Load(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15505_0_findMatch_Load(x1, x3, x4, x5, x6, x7, x8)
16762_0_append_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 16762_0_append_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_16543_0_append_GE4(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16543_0_append_GE4(x1, x3, x4, x5, x6, x7, x8, x9)
16543_0_append_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 16543_0_append_GE(x2, x3, x4, x5, x6, x7, x8)
16744_0_append_ArrayAccess(x1, x2, x3, x4, x5, x6) → 16744_0_append_ArrayAccess(x2, x3, x4, x5, x6)
Cond_16543_0_append_GE3(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16543_0_append_GE3(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_16543_0_append_GE2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16543_0_append_GE2(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_16543_0_append_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16543_0_append_GE1(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_16543_0_append_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16543_0_append_GE(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_15863_0_append_Load1(x1, x2, x3, x4) → Cond_15863_0_append_Load1(x1, x3, x4)
16263_0_append_ArrayCreate(x1, x2, x3, x4, x5) → 16263_0_append_ArrayCreate(x2, x3, x4, x5)
Cond_15863_0_append_Load(x1, x2, x3, x4) → Cond_15863_0_append_Load(x1, x3, x4)

Filtered duplicate args:



15505_0_findMatch_Load(x1, x2, x3, x4, x5) → 15505_0_findMatch_Load(x1, x3, x5)
Cond_15505_0_findMatch_Load(x1, x2, x3, x4, x5, x6, x7) → Cond_15505_0_findMatch_Load(x1, x2, x4, x6, x7)
15863_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 15863_1_findMatch_InvokeMethod(x1, x2, x5, x6, x7)
Cond_15863_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15863_1_findMatch_InvokeMethod(x1, x2, x5, x6, x7, x8)
Cond_15505_0_findMatch_Load1(x1, x2, x3, x4, x5, x6) → Cond_15505_0_findMatch_Load1(x1, x2, x4, x6)
16263_0_append_ArrayCreate(x1, x2, x3, x4) → 16263_0_append_ArrayCreate(x1, x2, x4)
16543_0_append_GE(x1, x2, x3, x4, x5, x6, x7) → 16543_0_append_GE(x1, x2, x4, x6)
Cond_16543_0_append_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16543_0_append_GE(x1, x2, x3, x5, x7)
Cond_16543_0_append_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16543_0_append_GE1(x1, x2, x3, x5, x7)
Cond_16543_0_append_GE2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16543_0_append_GE2(x1, x2, x3, x5, x7)
16744_0_append_ArrayAccess(x1, x2, x3, x4, x5) → 16744_0_append_ArrayAccess(x1, x3, x5)
Cond_16543_0_append_GE3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16543_0_append_GE3(x1, x2, x3, x5, x7)
Cond_16543_0_append_GE4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16543_0_append_GE4(x1, x2, x3, x5, x7)
16762_0_append_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 16762_0_append_ArrayAccess(x1, x2, x6, x7)

Filtered unneeded arguments:



Cond_15505_0_findMatch_Load(x1, x2, x3, x4, x5) → Cond_15505_0_findMatch_Load(x1, x2, x3, x4)
15863_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5) → 15863_1_findMatch_InvokeMethod(x1, x2, x3)
Cond_15863_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_15863_1_findMatch_InvokeMethod(x1, x2, x3, x6)
Cond_15863_0_append_Load(x1, x2, x3) → Cond_15863_0_append_Load(x1)
Cond_15863_0_append_Load1(x1, x2, x3) → Cond_15863_0_append_Load1(x1, x2)
16543_0_append_GE(x1, x2, x3, x4) → 16543_0_append_GE(x1, x3, x4)
Cond_16543_0_append_GE(x1, x2, x3, x4, x5) → Cond_16543_0_append_GE(x1)
Cond_16543_0_append_GE1(x1, x2, x3, x4, x5) → Cond_16543_0_append_GE1(x1, x2, x4, x5)
Cond_16543_0_append_GE2(x1, x2, x3, x4, x5) → Cond_16543_0_append_GE2(x1)
Cond_16543_0_append_GE3(x1, x2, x3, x4, x5) → Cond_16543_0_append_GE3(x1)
Cond_16543_0_append_GE4(x1, x2, x3, x4, x5) → Cond_16543_0_append_GE4(x1)
15863_0_append_Load(x1, x2) → 15863_0_append_Load(x1)

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


P rules:
15505_0_findMatch_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15863_1_findMatch_InvokeMethod(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) | &&(&&(>(x2, -1), <(x2, x0)), >(x0, -1))
15863_1_findMatch_InvokeMethod(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → 15505_0_findMatch_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4)))), +(x2, 1)) | >(x2, -1)
15505_0_findMatch_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15505_0_findMatch_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1)) | &&(&&(>(x2, -1), <(x2, x0)), >(x0, -1))
R rules:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16263_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, +(x0, 1)) | >(x0, -1)
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(+(x0, 1))), 0) | >(x0, -1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16612_0_append_Return | &&(>=(x3, x0), >(x2, x0))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), +(x3, 1)) | &&(&&(>(x3, -1), <(x3, x2)), <(x3, x0))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1) | &&(>=(x3, x0), <=(x0, -1))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1) | &&(>=(x3, x0), <=(x2, x0))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16762_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, java.lang.Object(ARRAY(x2)), x3) | &&(>=(x3, x2), <(x3, x0))

Finished conversion. Obtained 6 rules for P and 14 rules for R. System has predefined symbols.


P rules:
15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2, -1), <(x2, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2)
COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2)
15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2, -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4)
COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4)))), +(x2, 1))
15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2, -1), <(x2, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2)
COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1))
R rules:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load(>(x0, -1), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15863_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16263_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, +(x0, 1))
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load1(>(x0, -1), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15863_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(+(x0, 1))), 0)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE(&&(>=(x3, x0), >(x2, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16612_0_append_Return
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE1(&&(&&(>(x3, -1), <(x3, x2)), <(x3, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), +(x3, 1))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE2(&&(>=(x3, x0), <=(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE3(&&(>=(x3, x0), <=(x2, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE4(&&(>=(x3, x2), <(x3, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16762_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, java.lang.Object(ARRAY(x2)), x3)

(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:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15863_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16263_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, x0 + 1)
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load1(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15863_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0 + 1)), 0)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE(x3 >= x0 && x2 > x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16612_0_append_Return
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE1(x3 > -1 && x3 < x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3 + 1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE2(x3 >= x0 && x0 <= -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE3(x3 >= x0 && x2 <= x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE4(x3 >= x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16762_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, java.lang.Object(ARRAY(x2)), x3)

The integer pair graph contains the following rules and edges:
(0): 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_15505_0_FINDMATCH_LOAD(x2[0] > -1 && x2[0] < x0[0] && x0[0] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])
(1): COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])
(2): 15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15863_1_FINDMATCH_INVOKEMETHOD(x2[2] > -1, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
(3): COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), x2[3] + 1)
(4): 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4]) → COND_15505_0_FINDMATCH_LOAD1(x2[4] > -1 && x2[4] < x0[4] && x0[4] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])
(5): COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5] + 1)

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


(1) -> (2), if (15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))) →* 16612_0_append_Returnjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2]))))∧x2[1]* x2[2])


(2) -> (3), if (x2[2] > -1java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3]))))∧x2[2]* x2[3]x4[2]* x4[3])


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


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


(4) -> (5), if (x2[4] > -1 && x2[4] < x0[4] && x0[4] > -1java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))) →* java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5]))))∧java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))) →* java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5]))))∧x2[4]* x2[5])


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


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



The set Q consists of the following terms:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15863_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15863_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16543_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16543_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)

(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@22b52c66 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 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2, -1), <(x2, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) the following chains were created:
  • We consider the chain 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]), COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1]) which results in the following constraint:

    (1)    (&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1))=TRUEjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1]))))∧java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))∧x2[0]=x2[1]15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥NonInfC∧15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])∧(UIncreasing(COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(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], -1)=TRUE>(x2[0], -1)=TRUE<(x2[0], x0[0])=TRUE15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥NonInfC∧15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])∧(UIncreasing(COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(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] ≥ 0∧x2[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [(-1)bni_36]x2[0] + [(2)bni_36]x0[0] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (4)    (x0[0] ≥ 0∧x2[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [(-1)bni_36]x2[0] + [(2)bni_36]x0[0] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (5)    (x0[0] ≥ 0∧x2[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)bni_36 + (-1)Bound*bni_36] + [(-1)bni_36]x2[0] + [(2)bni_36]x0[0] ≥ 0∧[(-1)bso_37] ≥ 0)



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

    (6)    ([1] + x2[0] + x0[0] ≥ 0∧x2[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[bni_36 + (-1)Bound*bni_36] + [bni_36]x2[0] + [(2)bni_36]x0[0] ≥ 0∧[(-1)bso_37] ≥ 0)







For Pair COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) the following chains were created:
  • We consider the chain COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1]) which results in the following constraint:

    (7)    (COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1])≥NonInfC∧COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1])≥15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])∧(UIncreasing(15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])), ≥))



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

    (8)    ((UIncreasing(15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)



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

    (9)    ((UIncreasing(15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)



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

    (10)    ((UIncreasing(15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])), ≥)∧[bni_38] = 0∧[(-1)bso_39] ≥ 0)



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

    (11)    ((UIncreasing(15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])), ≥)∧[bni_38] = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)







For Pair 15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2, -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) the following chains were created:
  • We consider the chain 15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2]) which results in the following constraint:

    (12)    (15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2])≥NonInfC∧15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2])≥COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])∧(UIncreasing(COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])), ≥))



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

    (13)    ((UIncreasing(COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])), ≥)∧[bni_40] = 0∧[(-1)bso_41] ≥ 0)



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

    (14)    ((UIncreasing(COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])), ≥)∧[bni_40] = 0∧[(-1)bso_41] ≥ 0)



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

    (15)    ((UIncreasing(COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])), ≥)∧[bni_40] = 0∧[(-1)bso_41] ≥ 0)



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

    (16)    ((UIncreasing(COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])), ≥)∧[bni_40] = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)







For Pair COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4)))), +(x2, 1)) the following chains were created:
  • We consider the chain COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1)) which results in the following constraint:

    (17)    (COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3])≥NonInfC∧COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3])≥15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))∧(UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))), ≥))



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

    (18)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))), ≥)∧[bni_42] = 0∧[1 + (-1)bso_43] ≥ 0)



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

    (19)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))), ≥)∧[bni_42] = 0∧[1 + (-1)bso_43] ≥ 0)



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

    (20)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))), ≥)∧[bni_42] = 0∧[1 + (-1)bso_43] ≥ 0)



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

    (21)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))), ≥)∧[bni_42] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)







For Pair 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2, -1), <(x2, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) the following chains were created:
  • We consider the chain 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4]) → COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4]), COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1)) which results in the following constraint:

    (22)    (&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1))=TRUEjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[4]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5]))))∧java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5]))))∧x2[4]=x2[5]15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])≥NonInfC∧15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])≥COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])∧(UIncreasing(COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])), ≥))



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

    (23)    (>(x0[4], -1)=TRUE>(x2[4], -1)=TRUE<(x2[4], x0[4])=TRUE15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])≥NonInfC∧15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])≥COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])∧(UIncreasing(COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])), ≥))



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

    (24)    (x0[4] ≥ 0∧x2[4] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x2[4] + [(2)bni_44]x0[4] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (25)    (x0[4] ≥ 0∧x2[4] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x2[4] + [(2)bni_44]x0[4] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (26)    (x0[4] ≥ 0∧x2[4] ≥ 0∧x0[4] + [-1] + [-1]x2[4] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])), ≥)∧[(-1)bni_44 + (-1)Bound*bni_44] + [(-1)bni_44]x2[4] + [(2)bni_44]x0[4] ≥ 0∧[(-1)bso_45] ≥ 0)



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

    (27)    ([1] + x2[4] + x0[4] ≥ 0∧x2[4] ≥ 0∧x0[4] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])), ≥)∧[bni_44 + (-1)Bound*bni_44] + [bni_44]x2[4] + [(2)bni_44]x0[4] ≥ 0∧[(-1)bso_45] ≥ 0)







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

    (28)    (COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5])≥NonInfC∧COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5])≥15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))∧(UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))), ≥))



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

    (29)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))), ≥)∧[bni_46] = 0∧[1 + (-1)bso_47] ≥ 0)



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

    (30)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))), ≥)∧[bni_46] = 0∧[1 + (-1)bso_47] ≥ 0)



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

    (31)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))), ≥)∧[bni_46] = 0∧[1 + (-1)bso_47] ≥ 0)



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

    (32)    ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))), ≥)∧[bni_46] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2, -1), <(x2, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2)
    • ([1] + x2[0] + x0[0] ≥ 0∧x2[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[bni_36 + (-1)Bound*bni_36] + [bni_36]x2[0] + [(2)bni_36]x0[0] ≥ 0∧[(-1)bso_37] ≥ 0)

  • COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2)
    • ((UIncreasing(15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])), ≥)∧[bni_38] = 0∧0 = 0∧0 = 0∧[(-1)bso_39] ≥ 0)

  • 15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2, -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4)
    • ((UIncreasing(COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])), ≥)∧[bni_40] = 0∧0 = 0∧0 = 0∧[(-1)bso_41] ≥ 0)

  • COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4)))), +(x2, 1))
    • ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))), ≥)∧[bni_42] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_43] ≥ 0)

  • 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2, -1), <(x2, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2)
    • ([1] + x2[4] + x0[4] ≥ 0∧x2[4] ≥ 0∧x0[4] ≥ 0 ⇒ (UIncreasing(COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])), ≥)∧[bni_44 + (-1)Bound*bni_44] + [bni_44]x2[4] + [(2)bni_44]x0[4] ≥ 0∧[(-1)bso_45] ≥ 0)

  • COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1))
    • ((UIncreasing(15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))), ≥)∧[bni_46] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_47] ≥ 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(15863_0_append_Load(x1)) = [-1] + [-1]x1   
POL(java.lang.Object(x1)) = x1   
POL(MyString(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(Cond_15863_0_append_Load(x1, x2, x3)) = [-1] + [-1]x2   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(16263_0_append_ArrayCreate(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x1   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(Cond_15863_0_append_Load1(x1, x2)) = [-1] + [-1]x2   
POL(16543_0_append_GE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + [-1]x1   
POL(0) = 0   
POL(Cond_16543_0_append_GE(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(&&(x1, x2)) = [-1]   
POL(>=(x1, x2)) = [-1]   
POL(16612_0_append_Return) = [-1]   
POL(Cond_16543_0_append_GE1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(<(x1, x2)) = [-1]   
POL(Cond_16543_0_append_GE2(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(<=(x1, x2)) = [-1]   
POL(16744_0_append_ArrayAccess(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1   
POL(Cond_16543_0_append_GE3(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(Cond_16543_0_append_GE4(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(16762_0_append_ArrayAccess(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1   
POL(15505_0_FINDMATCH_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + [2]x1   
POL(COND_15505_0_FINDMATCH_LOAD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x2   
POL(15863_1_FINDMATCH_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2   
POL(COND_15863_1_FINDMATCH_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [2]x3   
POL(COND_15505_0_FINDMATCH_LOAD1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x2   

The following pairs are in P>:

COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), +(x2[3], 1))
COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), +(x2[5], 1))

The following pairs are in Pbound:

15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])
15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4]) → COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])

The following pairs are in P:

15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_15505_0_FINDMATCH_LOAD(&&(&&(>(x2[0], -1), <(x2[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])
COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])
15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15863_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4]) → COND_15505_0_FINDMATCH_LOAD1(&&(&&(>(x2[4], -1), <(x2[4], x0[4])), >(x0[4], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])

There are no usable rules.

(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:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15863_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16263_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, x0 + 1)
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load1(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15863_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0 + 1)), 0)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE(x3 >= x0 && x2 > x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16612_0_append_Return
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE1(x3 > -1 && x3 < x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3 + 1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE2(x3 >= x0 && x0 <= -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE3(x3 >= x0 && x2 <= x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE4(x3 >= x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16762_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, java.lang.Object(ARRAY(x2)), x3)

The integer pair graph contains the following rules and edges:
(0): 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_15505_0_FINDMATCH_LOAD(x2[0] > -1 && x2[0] < x0[0] && x0[0] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])
(1): COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])
(2): 15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15863_1_FINDMATCH_INVOKEMETHOD(x2[2] > -1, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
(4): 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4]) → COND_15505_0_FINDMATCH_LOAD1(x2[4] > -1 && x2[4] < x0[4] && x0[4] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[4])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[4])))), x2[4])

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


(1) -> (2), if (15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))) →* 16612_0_append_Returnjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2]))))∧x2[1]* x2[2])



The set Q consists of the following terms:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15863_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15863_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16543_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16543_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)

(22) IDependencyGraphProof (EQUIVALENT transformation)

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

(23) TRUE

(24) 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:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15863_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16263_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, x0 + 1)
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15863_0_append_Load1(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15863_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0 + 1)), 0)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE(x3 >= x0 && x2 > x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16612_0_append_Return
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE1(x3 > -1 && x3 < x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16543_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3 + 1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE2(x3 >= x0 && x0 <= -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE3(x3 >= x0 && x2 <= x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16744_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16543_0_append_GE4(x3 >= x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16543_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16762_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, java.lang.Object(ARRAY(x2)), x3)

The integer pair graph contains the following rules and edges:
(1): COND_15505_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 15863_1_FINDMATCH_INVOKEMETHOD(15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x2[1])
(2): 15863_1_FINDMATCH_INVOKEMETHOD(16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15863_1_FINDMATCH_INVOKEMETHOD(x2[2] > -1, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
(3): COND_15863_1_FINDMATCH_INVOKEMETHOD(TRUE, 16612_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4[3])))), x2[3] + 1)
(5): COND_15505_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5]) → 15505_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[5])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[5])))), x2[5] + 1)

(1) -> (2), if (15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))) →* 16612_0_append_Returnjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))) →* java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2]))))∧x2[1]* x2[2])


(2) -> (3), if (x2[2] > -1java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))) →* java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3]))))∧x2[2]* x2[3]x4[2]* x4[3])



The set Q consists of the following terms:
15863_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15863_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15863_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
16543_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16543_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16543_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16543_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)

(25) IDependencyGraphProof (EQUIVALENT transformation)

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

(26) TRUE

(27) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: Distances.hamming(LMyString;LMyString;)I
SCC calls the following helper methods:
Performed SCC analyses: UsedFieldsAnalysis

(28) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 52 rules for P and 0 rules for R.


P rules:
10753_0_hamming_Load(EOS(STATIC_10753), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, i1529) → 10764_0_hamming_GE(EOS(STATIC_10764), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, i1529, i431)
10764_0_hamming_GE(EOS(STATIC_10764), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, i1529, i431) → 10784_0_hamming_GE(EOS(STATIC_10784), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, i1529, i431)
10784_0_hamming_GE(EOS(STATIC_10784), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, i1529, i431) → 10801_0_hamming_Load(EOS(STATIC_10801), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529) | <(i1529, i431)
10801_0_hamming_Load(EOS(STATIC_10801), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529) → 10818_0_hamming_Load(EOS(STATIC_10818), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
10818_0_hamming_Load(EOS(STATIC_10818), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 10840_0_hamming_InvokeMethod(EOS(STATIC_10840), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529)
10840_0_hamming_InvokeMethod(EOS(STATIC_10840), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529) → 10868_0_charAt_ConstantStackPush(EOS(STATIC_10868), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529)
10868_0_charAt_ConstantStackPush(EOS(STATIC_10868), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529) → 10911_0_charAt_Load(EOS(STATIC_10911), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, 0)
10911_0_charAt_Load(EOS(STATIC_10911), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, matching1) → 10937_0_charAt_GT(EOS(STATIC_10937), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1529, 0, i1529) | =(matching1, 0)
10937_0_charAt_GT(EOS(STATIC_10937), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, matching1, i1572) → 10959_0_charAt_GT(EOS(STATIC_10959), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, 0, i1572) | =(matching1, 0)
10959_0_charAt_GT(EOS(STATIC_10959), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, matching1, i1572) → 10993_0_charAt_Load(EOS(STATIC_10993), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) | &&(<=(0, i1572), =(matching1, 0))
10993_0_charAt_Load(EOS(STATIC_10993), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) → 11027_0_charAt_Load(EOS(STATIC_11027), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572)
11027_0_charAt_Load(EOS(STATIC_11027), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572) → 11058_0_charAt_FieldAccess(EOS(STATIC_11058), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
11058_0_charAt_FieldAccess(EOS(STATIC_11058), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 11084_0_charAt_ArrayLength(EOS(STATIC_11084), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431)))
11084_0_charAt_ArrayLength(EOS(STATIC_11084), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431))) → 11116_0_charAt_GE(EOS(STATIC_11116), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431) | >=(i431, 0)
11116_0_charAt_GE(EOS(STATIC_11116), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431) → 11141_0_charAt_GE(EOS(STATIC_11141), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431)
11141_0_charAt_GE(EOS(STATIC_11141), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431) → 11154_0_charAt_Load(EOS(STATIC_11154), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) | <(i1572, i431)
11154_0_charAt_Load(EOS(STATIC_11154), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) → 11170_0_charAt_FieldAccess(EOS(STATIC_11170), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
11170_0_charAt_FieldAccess(EOS(STATIC_11170), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 11187_0_charAt_Load(EOS(STATIC_11187), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431)))
11187_0_charAt_Load(EOS(STATIC_11187), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431))) → 11197_0_charAt_ArrayAccess(EOS(STATIC_11197), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572)
11197_0_charAt_ArrayAccess(EOS(STATIC_11197), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572) → 11203_0_charAt_ArrayAccess(EOS(STATIC_11203), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572)
11203_0_charAt_ArrayAccess(EOS(STATIC_11203), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572) → 11214_0_charAt_Return(EOS(STATIC_11214), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1629) | <(i1572, i431)
11214_0_charAt_Return(EOS(STATIC_11214), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1629) → 11223_0_hamming_Load(EOS(STATIC_11223), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629)
11223_0_hamming_Load(EOS(STATIC_11223), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629) → 11229_0_hamming_Load(EOS(STATIC_11229), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
11229_0_hamming_Load(EOS(STATIC_11229), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 11239_0_hamming_InvokeMethod(EOS(STATIC_11239), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572)
11239_0_hamming_InvokeMethod(EOS(STATIC_11239), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) → 11250_0_charAt_ConstantStackPush(EOS(STATIC_11250), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572)
11250_0_charAt_ConstantStackPush(EOS(STATIC_11250), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) → 11267_0_charAt_Load(EOS(STATIC_11267), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, 0)
11267_0_charAt_Load(EOS(STATIC_11267), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, matching1) → 11281_0_charAt_GT(EOS(STATIC_11281), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, 0, i1572) | =(matching1, 0)
11281_0_charAt_GT(EOS(STATIC_11281), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, matching1, i1572) → 11291_0_charAt_Load(EOS(STATIC_11291), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) | &&(<=(0, i1572), =(matching1, 0))
11291_0_charAt_Load(EOS(STATIC_11291), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) → 11303_0_charAt_Load(EOS(STATIC_11303), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572)
11303_0_charAt_Load(EOS(STATIC_11303), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572) → 11320_0_charAt_FieldAccess(EOS(STATIC_11320), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
11320_0_charAt_FieldAccess(EOS(STATIC_11320), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 11332_0_charAt_ArrayLength(EOS(STATIC_11332), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431)))
11332_0_charAt_ArrayLength(EOS(STATIC_11332), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431))) → 11345_0_charAt_GE(EOS(STATIC_11345), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431) | >=(i431, 0)
11345_0_charAt_GE(EOS(STATIC_11345), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431) → 11363_0_charAt_GE(EOS(STATIC_11363), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431)
11363_0_charAt_GE(EOS(STATIC_11363), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, i431) → 11380_0_charAt_Load(EOS(STATIC_11380), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) | <(i1572, i431)
11380_0_charAt_Load(EOS(STATIC_11380), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572) → 11403_0_charAt_FieldAccess(EOS(STATIC_11403), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
11403_0_charAt_FieldAccess(EOS(STATIC_11403), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 11425_0_charAt_Load(EOS(STATIC_11425), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431)))
11425_0_charAt_Load(EOS(STATIC_11425), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1572, java.lang.Object(ARRAY(i431))) → 11442_0_charAt_ArrayAccess(EOS(STATIC_11442), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572)
11442_0_charAt_ArrayAccess(EOS(STATIC_11442), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572) → 11457_0_charAt_ArrayAccess(EOS(STATIC_11457), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572)
11457_0_charAt_ArrayAccess(EOS(STATIC_11457), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, java.lang.Object(ARRAY(i431)), i1572) → 11477_0_charAt_Return(EOS(STATIC_11477), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1663) | <(i1572, i431)
11477_0_charAt_Return(EOS(STATIC_11477), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1572, i1663) → 11494_0_hamming_EQ(EOS(STATIC_11494), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, i1663)
11494_0_hamming_EQ(EOS(STATIC_11494), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1663, i1663) → 11510_0_hamming_EQ(EOS(STATIC_11510), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1663, i1663)
11494_0_hamming_EQ(EOS(STATIC_11494), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, i1663) → 11511_0_hamming_EQ(EOS(STATIC_11511), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, i1663)
11510_0_hamming_EQ(EOS(STATIC_11510), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1663, i1663) → 11536_0_hamming_Inc(EOS(STATIC_11536), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572)
11536_0_hamming_Inc(EOS(STATIC_11536), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572) → 11563_0_hamming_JMP(EOS(STATIC_11563), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, +(i1572, 1)) | >=(i1572, 0)
11563_0_hamming_JMP(EOS(STATIC_11563), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1689) → 11583_0_hamming_Load(EOS(STATIC_11583), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1689)
11583_0_hamming_Load(EOS(STATIC_11583), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1689) → 10735_0_hamming_Load(EOS(STATIC_10735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1689)
10735_0_hamming_Load(EOS(STATIC_10735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529) → 10753_0_hamming_Load(EOS(STATIC_10753), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1529, i1529)
11511_0_hamming_EQ(EOS(STATIC_11511), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572, i1629, i1663) → 11537_0_hamming_Inc(EOS(STATIC_11537), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572) | !(=(i1629, i1663))
11537_0_hamming_Inc(EOS(STATIC_11537), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572) → 11564_0_hamming_Inc(EOS(STATIC_11564), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572)
11564_0_hamming_Inc(EOS(STATIC_11564), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1572) → 11585_0_hamming_JMP(EOS(STATIC_11585), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, +(i1572, 1)) | >=(i1572, 0)
11585_0_hamming_JMP(EOS(STATIC_11585), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1697) → 11608_0_hamming_Load(EOS(STATIC_11608), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1697)
11608_0_hamming_Load(EOS(STATIC_11608), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1697) → 10735_0_hamming_Load(EOS(STATIC_10735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1697)
R rules:

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


P rules:
10753_0_hamming_Load(EOS(STATIC_10753), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x0, x1, x1) → 10753_0_hamming_Load(EOS(STATIC_10753), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x0, +(x1, 1), +(x1, 1)) | &&(&&(>(+(x1, 1), 0), <(x1, x0)), >(+(x0, 1), 0))
R rules:

Filtered ground terms:



10753_0_hamming_Load(x1, x2, x3, x4, x5, x6) → 10753_0_hamming_Load(x2, x3, x4, x5, x6)
MyString(x1, x2) → MyString(x2)
EOS(x1) → EOS
Cond_10753_0_hamming_Load(x1, x2, x3, x4, x5, x6, x7) → Cond_10753_0_hamming_Load(x1, x3, x4, x5, x6, x7)

Filtered duplicate args:



10753_0_hamming_Load(x1, x2, x3, x4, x5) → 10753_0_hamming_Load(x2, x5)
Cond_10753_0_hamming_Load(x1, x2, x3, x4, x5, x6) → Cond_10753_0_hamming_Load(x1, x3, x6)

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


P rules:
10753_0_hamming_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 10753_0_hamming_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), +(x1, 1)) | &&(&&(>(x1, -1), <(x1, x0)), >(x0, -1))
R rules:

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


P rules:
10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → COND_10753_0_HAMMING_LOAD(&&(&&(>(x1, -1), <(x1, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
COND_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), +(x1, 1))
R rules:

(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:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10753_0_HAMMING_LOAD(x1[0] > -1 && x1[0] < x0[0] && x0[0] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])
(1): COND_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1] + 1)

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


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



The set Q is empty.

(30) 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@22b52c66 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 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → COND_10753_0_HAMMING_LOAD(&&(&&(>(x1, -1), <(x1, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) the following chains were created:
  • We consider the chain 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]), COND_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1)) which results in the following constraint:

    (1)    (&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1))=TRUEjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1]))))∧x1[0]=x1[1]10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥NonInfC∧10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])∧(UIncreasing(COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])), ≥))



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

    (2)    (>(x0[0], -1)=TRUE>(x1[0], -1)=TRUE<(x1[0], x0[0])=TRUE10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥NonInfC∧10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])∧(UIncreasing(COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])), ≥))



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

    (3)    (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])), ≥)∧[(-1)bni_10 + (-1)Bound*bni_10] + [(-1)bni_10]x1[0] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)



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

    (4)    (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])), ≥)∧[(-1)bni_10 + (-1)Bound*bni_10] + [(-1)bni_10]x1[0] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)



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

    (5)    (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x1[0] ≥ 0 ⇒ (UIncreasing(COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])), ≥)∧[(-1)bni_10 + (-1)Bound*bni_10] + [(-1)bni_10]x1[0] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)



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

    (6)    ([1] + x1[0] + x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])), ≥)∧[(-1)Bound*bni_10] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)







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

    (7)    (COND_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1])≥NonInfC∧COND_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1])≥10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))∧(UIncreasing(10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))), ≥))



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

    (8)    ((UIncreasing(10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)



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

    (9)    ((UIncreasing(10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)



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

    (10)    ((UIncreasing(10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))), ≥)∧[bni_12] = 0∧[1 + (-1)bso_13] ≥ 0)



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

    (11)    ((UIncreasing(10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))), ≥)∧[bni_12] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_13] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → COND_10753_0_HAMMING_LOAD(&&(&&(>(x1, -1), <(x1, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
    • ([1] + x1[0] + x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])), ≥)∧[(-1)Bound*bni_10] + [bni_10]x0[0] ≥ 0∧[(-1)bso_11] ≥ 0)

  • COND_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), +(x1, 1))
    • ((UIncreasing(10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))), ≥)∧[bni_12] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_13] ≥ 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(10753_0_HAMMING_LOAD(x1, x2)) = [-1] + [-1]x2 + x1   
POL(java.lang.Object(x1)) = x1   
POL(MyString(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(COND_10753_0_HAMMING_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   

The following pairs are in P>:

COND_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))

The following pairs are in Pbound:

10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])

The following pairs are in P:

10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10753_0_HAMMING_LOAD(&&(&&(>(x1[0], -1), <(x1[0], x0[0])), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])

There are no usable rules.

(31) Complex Obligation (AND)

(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:

Boolean, Integer


R is empty.

The integer pair graph contains the following rules and edges:
(0): 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10753_0_HAMMING_LOAD(x1[0] > -1 && x1[0] < x0[0] && x0[0] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])


The set Q is empty.

(33) IDependencyGraphProof (EQUIVALENT transformation)

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

(34) TRUE

(35) 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_10753_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10753_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1] + 1)


The set Q is empty.

(36) IDependencyGraphProof (EQUIVALENT transformation)

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

(37) TRUE

(38) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: Distances.jaro(LMyString;LMyString;)I
SCC calls the following helper methods:
Performed SCC analyses: UsedFieldsAnalysis

(39) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 57 rules for P and 0 rules for R.


P rules:
17727_0_jaro_Load(EOS(STATIC_17727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350) → 17728_0_jaro_InvokeMethod(EOS(STATIC_17728), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))))
17728_0_jaro_InvokeMethod(EOS(STATIC_17728), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991))))) → 17729_0_length_Load(EOS(STATIC_17729), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))))
17729_0_length_Load(EOS(STATIC_17729), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991))))) → 17730_0_length_FieldAccess(EOS(STATIC_17730), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))))
17730_0_length_FieldAccess(EOS(STATIC_17730), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991))))) → 17731_0_length_ArrayLength(EOS(STATIC_17731), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(ARRAY(i3991)))
17731_0_length_ArrayLength(EOS(STATIC_17731), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(ARRAY(i3991))) → 17732_0_length_Return(EOS(STATIC_17732), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i3991) | >=(i3991, 0)
17732_0_length_Return(EOS(STATIC_17732), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i3991) → 17733_0_jaro_GE(EOS(STATIC_17733), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, i3991)
17733_0_jaro_GE(EOS(STATIC_17733), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, i3991) → 17735_0_jaro_GE(EOS(STATIC_17735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, i3991)
17735_0_jaro_GE(EOS(STATIC_17735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350, i3991) → 17737_0_jaro_Load(EOS(STATIC_17737), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350) | <(i8350, i3991)
17737_0_jaro_Load(EOS(STATIC_17737), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350) → 17739_0_jaro_Load(EOS(STATIC_17739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))))
17739_0_jaro_Load(EOS(STATIC_17739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991))))) → 17741_0_jaro_InvokeMethod(EOS(STATIC_17741), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350)
17741_0_jaro_InvokeMethod(EOS(STATIC_17741), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350) → 17743_0_charAt_ConstantStackPush(EOS(STATIC_17743), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350)
17743_0_charAt_ConstantStackPush(EOS(STATIC_17743), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350) → 17746_0_charAt_Load(EOS(STATIC_17746), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, 0)
17746_0_charAt_Load(EOS(STATIC_17746), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, matching1) → 17748_0_charAt_GT(EOS(STATIC_17748), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8350, 0, i8350) | =(matching1, 0)
17748_0_charAt_GT(EOS(STATIC_17748), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, matching1, i8372) → 17751_0_charAt_GT(EOS(STATIC_17751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, 0, i8372) | =(matching1, 0)
17751_0_charAt_GT(EOS(STATIC_17751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, matching1, i8372) → 17754_0_charAt_Load(EOS(STATIC_17754), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372) | &&(<=(0, i8372), =(matching1, 0))
17754_0_charAt_Load(EOS(STATIC_17754), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372) → 17757_0_charAt_Load(EOS(STATIC_17757), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372)
17757_0_charAt_Load(EOS(STATIC_17757), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372) → 17760_0_charAt_FieldAccess(EOS(STATIC_17760), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))))
17760_0_charAt_FieldAccess(EOS(STATIC_17760), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991))))) → 17763_0_charAt_ArrayLength(EOS(STATIC_17763), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(ARRAY(i3991)))
17763_0_charAt_ArrayLength(EOS(STATIC_17763), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(ARRAY(i3991))) → 17765_0_charAt_GE(EOS(STATIC_17765), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, i3991) | >=(i3991, 0)
17765_0_charAt_GE(EOS(STATIC_17765), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, i3991) → 17769_0_charAt_GE(EOS(STATIC_17769), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, i3991)
17769_0_charAt_GE(EOS(STATIC_17769), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, i3991) → 17773_0_charAt_Load(EOS(STATIC_17773), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372) | <(i8372, i3991)
17773_0_charAt_Load(EOS(STATIC_17773), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372) → 17776_0_charAt_FieldAccess(EOS(STATIC_17776), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))))
17776_0_charAt_FieldAccess(EOS(STATIC_17776), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991))))) → 17780_0_charAt_Load(EOS(STATIC_17780), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(ARRAY(i3991)))
17780_0_charAt_Load(EOS(STATIC_17780), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8372, java.lang.Object(ARRAY(i3991))) → 17784_0_charAt_ArrayAccess(EOS(STATIC_17784), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(ARRAY(i3991)), i8372)
17784_0_charAt_ArrayAccess(EOS(STATIC_17784), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(ARRAY(i3991)), i8372) → 17786_0_charAt_ArrayAccess(EOS(STATIC_17786), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(ARRAY(i3991)), i8372)
17786_0_charAt_ArrayAccess(EOS(STATIC_17786), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, java.lang.Object(ARRAY(i3991)), i8372) → 17791_0_charAt_Return(EOS(STATIC_17791), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8467) | <(i8372, i3991)
17791_0_charAt_Return(EOS(STATIC_17791), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), i8372, i8467) → 17796_0_jaro_Load(EOS(STATIC_17796), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467)
17796_0_jaro_Load(EOS(STATIC_17796), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467) → 17797_0_jaro_Load(EOS(STATIC_17797), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))))
17797_0_jaro_Load(EOS(STATIC_17797), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992))))) → 17807_0_jaro_InvokeMethod(EOS(STATIC_17807), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372)
17807_0_jaro_InvokeMethod(EOS(STATIC_17807), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) → 17814_0_charAt_ConstantStackPush(EOS(STATIC_17814), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372)
17814_0_charAt_ConstantStackPush(EOS(STATIC_17814), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) → 17824_0_charAt_Load(EOS(STATIC_17824), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, 0)
17824_0_charAt_Load(EOS(STATIC_17824), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, matching1) → 17829_0_charAt_GT(EOS(STATIC_17829), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, 0, i8372) | =(matching1, 0)
17829_0_charAt_GT(EOS(STATIC_17829), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, matching1, i8372) → 17832_0_charAt_Load(EOS(STATIC_17832), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) | &&(<=(0, i8372), =(matching1, 0))
17832_0_charAt_Load(EOS(STATIC_17832), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) → 17837_0_charAt_Load(EOS(STATIC_17837), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372)
17837_0_charAt_Load(EOS(STATIC_17837), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372) → 17842_0_charAt_FieldAccess(EOS(STATIC_17842), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))))
17842_0_charAt_FieldAccess(EOS(STATIC_17842), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992))))) → 17845_0_charAt_ArrayLength(EOS(STATIC_17845), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(ARRAY(i3992)))
17845_0_charAt_ArrayLength(EOS(STATIC_17845), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(ARRAY(i3992))) → 17851_0_charAt_GE(EOS(STATIC_17851), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, i3992) | >=(i3992, 0)
17851_0_charAt_GE(EOS(STATIC_17851), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, i3992) → 17858_0_charAt_GE(EOS(STATIC_17858), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, i3992)
17858_0_charAt_GE(EOS(STATIC_17858), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, i3992) → 17863_0_charAt_Load(EOS(STATIC_17863), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) | <(i8372, i3992)
17863_0_charAt_Load(EOS(STATIC_17863), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) → 17868_0_charAt_FieldAccess(EOS(STATIC_17868), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))))
17868_0_charAt_FieldAccess(EOS(STATIC_17868), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992))))) → 17873_0_charAt_Load(EOS(STATIC_17873), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(ARRAY(i3992)))
17873_0_charAt_Load(EOS(STATIC_17873), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8372, java.lang.Object(ARRAY(i3992))) → 17878_0_charAt_ArrayAccess(EOS(STATIC_17878), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(ARRAY(i3992)), i8372)
17878_0_charAt_ArrayAccess(EOS(STATIC_17878), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(ARRAY(i3992)), i8372) → 17882_0_charAt_ArrayAccess(EOS(STATIC_17882), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(ARRAY(i3992)), i8372)
17882_0_charAt_ArrayAccess(EOS(STATIC_17882), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, java.lang.Object(ARRAY(i3992)), i8372) → 17888_0_charAt_Return(EOS(STATIC_17888), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8905) | <(i8372, i3992)
17888_0_charAt_Return(EOS(STATIC_17888), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8905) → 17894_0_jaro_EQ(EOS(STATIC_17894), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, i8905)
17894_0_jaro_EQ(EOS(STATIC_17894), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8905, i8905) → 17898_0_jaro_EQ(EOS(STATIC_17898), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8905, i8905)
17894_0_jaro_EQ(EOS(STATIC_17894), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, i8905) → 17899_0_jaro_EQ(EOS(STATIC_17899), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, i8905)
17898_0_jaro_EQ(EOS(STATIC_17898), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8905, i8905) → 17904_0_jaro_Inc(EOS(STATIC_17904), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372)
17904_0_jaro_Inc(EOS(STATIC_17904), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) → 17913_0_jaro_JMP(EOS(STATIC_17913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), +(i8372, 1)) | >=(i8372, 0)
17913_0_jaro_JMP(EOS(STATIC_17913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9027) → 17917_0_jaro_Load(EOS(STATIC_17917), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9027)
17917_0_jaro_Load(EOS(STATIC_17917), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9027) → 17726_0_jaro_Load(EOS(STATIC_17726), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9027)
17726_0_jaro_Load(EOS(STATIC_17726), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350) → 17727_0_jaro_Load(EOS(STATIC_17727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8350, i8350)
17899_0_jaro_EQ(EOS(STATIC_17899), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372, i8467, i8905) → 17905_0_jaro_Inc(EOS(STATIC_17905), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) | !(=(i8467, i8905))
17905_0_jaro_Inc(EOS(STATIC_17905), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) → 17914_0_jaro_Inc(EOS(STATIC_17914), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372)
17914_0_jaro_Inc(EOS(STATIC_17914), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i8372) → 17918_0_jaro_JMP(EOS(STATIC_17918), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), +(i8372, 1)) | >=(i8372, 0)
17918_0_jaro_JMP(EOS(STATIC_17918), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9047) → 17923_0_jaro_Load(EOS(STATIC_17923), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9047)
17923_0_jaro_Load(EOS(STATIC_17923), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9047) → 17726_0_jaro_Load(EOS(STATIC_17726), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3991)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3992)))), i9047)
R rules:

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


P rules:
17727_0_jaro_Load(EOS(STATIC_17727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x2, x2) → 17727_0_jaro_Load(EOS(STATIC_17727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), +(x2, 1), +(x2, 1)) | &&(&&(&&(&&(>(+(x2, 1), 0), <(x2, x1)), <(x2, x0)), >(+(x1, 1), 0)), >(+(x0, 1), 0))
R rules:

Filtered ground terms:



17727_0_jaro_Load(x1, x2, x3, x4, x5) → 17727_0_jaro_Load(x2, x3, x4, x5)
MyString(x1, x2) → MyString(x2)
EOS(x1) → EOS
Cond_17727_0_jaro_Load(x1, x2, x3, x4, x5, x6) → Cond_17727_0_jaro_Load(x1, x3, x4, x5, x6)

Filtered duplicate args:



17727_0_jaro_Load(x1, x2, x3, x4) → 17727_0_jaro_Load(x1, x2, x4)
Cond_17727_0_jaro_Load(x1, x2, x3, x4, x5) → Cond_17727_0_jaro_Load(x1, x2, x3, x5)

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


P rules:
17727_0_jaro_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 17727_0_jaro_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1)) | &&(&&(&&(&&(>(x2, -1), <(x2, x1)), <(x2, x0)), >(x1, -1)), >(x0, -1))
R rules:

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


P rules:
17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2, -1), <(x2, x1)), <(x2, x0)), >(x1, -1)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2)
COND_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1))
R rules:

(40) 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): 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_17727_0_JARO_LOAD(x2[0] > -1 && x2[0] < x1[0] && x2[0] < x0[0] && x1[0] > -1 && x0[0] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])
(1): COND_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1] + 1)

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


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



The set Q is empty.

(41) 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@22b52c66 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 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2, -1), <(x2, x1)), <(x2, x0)), >(x1, -1)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) the following chains were created:
  • We consider the chain 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]), COND_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1)) which results in the following constraint:

    (1)    (&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1))=TRUEjava.lang.Object(MyString(java.lang.Object(ARRAY(x0[0]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1]))))∧java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0]))))=java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))∧x2[0]=x2[1]17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥NonInfC∧17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])∧(UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(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], -1)=TRUE>(x1[0], -1)=TRUE<(x2[0], x0[0])=TRUE>(x2[0], -1)=TRUE<(x2[0], x1[0])=TRUE17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥NonInfC∧17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])≥COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])∧(UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(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] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(-1)bni_11]x2[0] + [bni_11]x1[0] + [bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (4)    (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(-1)bni_11]x2[0] + [bni_11]x1[0] + [bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (5)    (x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] + [-1] + [-1]x2[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)bni_11 + (-1)Bound*bni_11] + [(-1)bni_11]x2[0] + [bni_11]x1[0] + [bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (6)    ([1] + x2[0] + x0[0] ≥ 0∧x1[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] + [-1] + [-1]x2[0] ≥ 0 ⇒ (UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)Bound*bni_11] + [bni_11]x1[0] + [bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)



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

    (7)    ([1] + x2[0] + x0[0] ≥ 0∧[1] + x2[0] + x1[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)Bound*bni_11 + bni_11] + [bni_11]x2[0] + [bni_11]x1[0] + [bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)







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

    (8)    (COND_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1])≥NonInfC∧COND_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1])≥17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1))∧(UIncreasing(17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(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(17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1))), ≥)∧[bni_13] = 0∧[1 + (-1)bso_14] ≥ 0)



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

    (10)    ((UIncreasing(17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1))), ≥)∧[bni_13] = 0∧[1 + (-1)bso_14] ≥ 0)



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

    (11)    ((UIncreasing(17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1))), ≥)∧[bni_13] = 0∧[1 + (-1)bso_14] ≥ 0)



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

    (12)    ((UIncreasing(17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1))), ≥)∧[bni_13] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_14] ≥ 0)







To summarize, we get the following constraints P for the following pairs.
  • 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2, -1), <(x2, x1)), <(x2, x0)), >(x1, -1)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2)
    • ([1] + x2[0] + x0[0] ≥ 0∧[1] + x2[0] + x1[0] ≥ 0∧x0[0] ≥ 0∧x2[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])), ≥)∧[(-1)Bound*bni_11 + bni_11] + [bni_11]x2[0] + [bni_11]x1[0] + [bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)

  • COND_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1))
    • ((UIncreasing(17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1))), ≥)∧[bni_13] = 0∧0 = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_14] ≥ 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(17727_0_JARO_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + x2 + x1   
POL(java.lang.Object(x1)) = x1   
POL(MyString(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(COND_17727_0_JARO_LOAD(x1, x2, x3, x4)) = [-1] + [-1]x4 + x3 + x2   
POL(&&(x1, x2)) = [-1]   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(<(x1, x2)) = [-1]   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   

The following pairs are in P>:

COND_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), +(x2[1], 1))

The following pairs are in Pbound:

17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])

The following pairs are in P:

17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_17727_0_JARO_LOAD(&&(&&(&&(&&(>(x2[0], -1), <(x2[0], x1[0])), <(x2[0], x0[0])), >(x1[0], -1)), >(x0[0], -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])

There are no usable rules.

(42) Complex Obligation (AND)

(43) 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): 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0]) → COND_17727_0_JARO_LOAD(x2[0] > -1 && x2[0] < x1[0] && x2[0] < x0[0] && x1[0] > -1 && x0[0] > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[0])))), x2[0])


The set Q is empty.

(44) IDependencyGraphProof (EQUIVALENT transformation)

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

(45) TRUE

(46) 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_17727_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1]) → 17727_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1])))), x2[1] + 1)


The set Q is empty.

(47) IDependencyGraphProof (EQUIVALENT transformation)

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

(48) TRUE

(49) Obligation:

SCC of termination graph based on JBC Program.
SCC contains nodes from the following methods: Distances.jaro(LMyString;LMyString;)I
SCC calls the following helper methods:
Performed SCC analyses: UsedFieldsAnalysis

(50) SCCToIDPv1Proof (SOUND transformation)

Transformed FIGraph SCCs to IDPs. Log:

Generated 119 rules for P and 0 rules for R.


P rules:
15244_0_jaro_Load(EOS(STATIC_15244), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298) → 15253_0_jaro_GE(EOS(STATIC_15253), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298, i431)
15253_0_jaro_GE(EOS(STATIC_15253), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298, i431) → 15263_0_jaro_GE(EOS(STATIC_15263), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298, i431)
15263_0_jaro_GE(EOS(STATIC_15263), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298, i431) → 15273_0_jaro_Load(EOS(STATIC_15273), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298) | <(i3298, i431)
15273_0_jaro_Load(EOS(STATIC_15273), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298) → 15284_0_jaro_Load(EOS(STATIC_15284), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298)
15284_0_jaro_Load(EOS(STATIC_15284), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298) → 15293_0_jaro_IntArithmetic(EOS(STATIC_15293), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298, i698)
15293_0_jaro_IntArithmetic(EOS(STATIC_15293), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3298, i698) → 15300_0_jaro_ConstantStackPush(EOS(STATIC_15300), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, -(i3298, i698))
15300_0_jaro_ConstantStackPush(EOS(STATIC_15300), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308) → 15307_0_jaro_InvokeMethod(EOS(STATIC_15307), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308, 0)
15307_0_jaro_InvokeMethod(EOS(STATIC_15307), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308, matching1) → 15312_0_max_Load(EOS(STATIC_15312), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308, 0, i3308, 0) | =(matching1, 0)
15312_0_max_Load(EOS(STATIC_15312), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308, matching1, i3308, matching2) → 15323_0_max_Load(EOS(STATIC_15323), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308, 0, i3308, 0, i3308) | &&(=(matching1, 0), =(matching2, 0))
15323_0_max_Load(EOS(STATIC_15323), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308, matching1, i3308, matching2, i3308) → 15326_0_max_GE(EOS(STATIC_15326), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i431, java.lang.Object(ARRAY(i431)), java.lang.Object(ARRAY(i431)), i698, i3298, i3308, 0, i3308, 0, i3308, 0) | &&(=(