(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:
16590_0_append_Load(EOS(STATIC_16590), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264) → 16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887)
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887) → 16598_0_append_GE(EOS(STATIC_16598), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887)
16598_0_append_GE(EOS(STATIC_16598), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887) → 16602_0_append_Load(EOS(STATIC_16602), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264) | <(i4264, i3887)
16602_0_append_Load(EOS(STATIC_16602), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264) → 16606_0_append_Load(EOS(STATIC_16606), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)))
16606_0_append_Load(EOS(STATIC_16606), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888))) → 16611_0_append_Load(EOS(STATIC_16611), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16611_0_append_Load(EOS(STATIC_16611), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16616_0_append_FieldAccess(EOS(STATIC_16616), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))))
16616_0_append_FieldAccess(EOS(STATIC_16616), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887))))) → 16623_0_append_Load(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)))
16623_0_append_Load(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887))) → 16631_0_append_ArrayAccess(EOS(STATIC_16631), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16631_0_append_ArrayAccess(EOS(STATIC_16631), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16638_0_append_ArrayAccess(EOS(STATIC_16638), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16638_0_append_ArrayAccess(EOS(STATIC_16638), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16646_0_append_ArrayAccess(EOS(STATIC_16646), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) | <(i4264, i3887)
16646_0_append_ArrayAccess(EOS(STATIC_16646), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16655_0_append_ArrayAccess(EOS(STATIC_16655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16655_0_append_ArrayAccess(EOS(STATIC_16655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16664_0_append_Inc(EOS(STATIC_16664), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264) | <(i4264, i3888)
16664_0_append_Inc(EOS(STATIC_16664), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264) → 16673_0_append_JMP(EOS(STATIC_16673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), +(i4264, 1)) | >=(i4264, 0)
16673_0_append_JMP(EOS(STATIC_16673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4511) → 16682_0_append_Load(EOS(STATIC_16682), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4511)
16682_0_append_Load(EOS(STATIC_16682), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4511) → 16586_0_append_Load(EOS(STATIC_16586), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4511)
16586_0_append_Load(EOS(STATIC_16586), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264) → 16590_0_append_Load(EOS(STATIC_16590), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264)
R rules:

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


P rules:
16590_0_append_Load(EOS(STATIC_16590), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x0, java.lang.Object(ARRAY(x1)), x2, x2) → 16590_0_append_Load(EOS(STATIC_16590), 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:



16590_0_append_Load(x1, x2, x3, x4, x5, x6) → 16590_0_append_Load(x2, x3, x4, x5, x6)
MyString(x1, x2) → MyString(x2)
EOS(x1) → EOS
Cond_16590_0_append_Load(x1, x2, x3, x4, x5, x6, x7) → Cond_16590_0_append_Load(x1, x3, x4, x5, x6, x7)

Filtered duplicate args:



16590_0_append_Load(x1, x2, x3, x4, x5) → 16590_0_append_Load(x1, x3, x5)
Cond_16590_0_append_Load(x1, x2, x3, x4, x5, x6) → Cond_16590_0_append_Load(x1, x2, x4, x6)

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


P rules:
16590_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → 16590_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:
16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → COND_16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → 16590_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): 16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1]) → 16590_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@94cebf6 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 16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → COND_16590_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 16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1]) → 16590_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]16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥NonInfC∧16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥COND_16590_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_16590_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])=TRUE16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥NonInfC∧16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0])≥COND_16590_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_16590_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_16590_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_16590_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_16590_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_16590_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_16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → 16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1]) → 16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1])≥NonInfC∧COND_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1])≥16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), +(x2[1], 1))∧(UIncreasing(16590_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(16590_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(16590_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(16590_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(16590_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.
  • 16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → COND_16590_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_16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2) → 16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), +(x2, 1))
    • ((UIncreasing(16590_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(16590_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_16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1]) → 16590_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:

16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16590_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:

16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16590_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): 16590_0_APPEND_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), java.lang.Object(ARRAY(x1[0])), x2[0]) → COND_16590_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_16590_0_APPEND_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), java.lang.Object(ARRAY(x1[1])), x2[1]) → 16590_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:
15555_0_findMatch_Load(EOS(STATIC_15555), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495) → 15561_0_findMatch_InvokeMethod(EOS(STATIC_15561), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15561_0_findMatch_InvokeMethod(EOS(STATIC_15561), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15566_0_length_Load(EOS(STATIC_15566), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15566_0_length_Load(EOS(STATIC_15566), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15577_0_length_FieldAccess(EOS(STATIC_15577), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15577_0_length_FieldAccess(EOS(STATIC_15577), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15585_0_length_ArrayLength(EOS(STATIC_15585), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)))
15585_0_length_ArrayLength(EOS(STATIC_15585), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431))) → 15594_0_length_Return(EOS(STATIC_15594), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431) | >=(i431, 0)
15594_0_length_Return(EOS(STATIC_15594), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431) → 15603_0_findMatch_GE(EOS(STATIC_15603), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, i431)
15603_0_findMatch_GE(EOS(STATIC_15603), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, i431) → 15613_0_findMatch_GE(EOS(STATIC_15613), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, i431)
15613_0_findMatch_GE(EOS(STATIC_15613), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495, i431) → 15624_0_findMatch_Load(EOS(STATIC_15624), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495) | <(i3495, i431)
15624_0_findMatch_Load(EOS(STATIC_15624), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495) → 15634_0_findMatch_Load(EOS(STATIC_15634), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, java.lang.Object(ARRAY(i431)))
15634_0_findMatch_Load(EOS(STATIC_15634), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, java.lang.Object(ARRAY(i431))) → 15643_0_findMatch_ArrayAccess(EOS(STATIC_15643), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, java.lang.Object(ARRAY(i431)), i3495)
15643_0_findMatch_ArrayAccess(EOS(STATIC_15643), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(ARRAY(i431)), i3533) → 15651_0_findMatch_ArrayAccess(EOS(STATIC_15651), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(ARRAY(i431)), i3533)
15651_0_findMatch_ArrayAccess(EOS(STATIC_15651), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(ARRAY(i431)), i3533) → 15661_0_findMatch_ArrayAccess(EOS(STATIC_15661), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(ARRAY(i431)), i3533)
15661_0_findMatch_ArrayAccess(EOS(STATIC_15661), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(ARRAY(i431)), i3533) → 15668_0_findMatch_EQ(EOS(STATIC_15668), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, i3538) | <(i3533, i431)
15668_0_findMatch_EQ(EOS(STATIC_15668), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, i3540) → 15677_0_findMatch_EQ(EOS(STATIC_15677), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, i3540)
15668_0_findMatch_EQ(EOS(STATIC_15668), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, matching1) → 15678_0_findMatch_EQ(EOS(STATIC_15678), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, 0) | =(matching1, 0)
15677_0_findMatch_EQ(EOS(STATIC_15677), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, i3540) → 15686_0_findMatch_Load(EOS(STATIC_15686), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533) | !(=(i3540, 0))
15686_0_findMatch_Load(EOS(STATIC_15686), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533) → 15694_0_findMatch_Load(EOS(STATIC_15694), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))))
15694_0_findMatch_Load(EOS(STATIC_15694), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494))))) → 15705_0_findMatch_Load(EOS(STATIC_15705), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15705_0_findMatch_Load(EOS(STATIC_15705), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15715_0_findMatch_InvokeMethod(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(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533)
15715_0_findMatch_InvokeMethod(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(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533) → 15723_0_charAt_ConstantStackPush(EOS(STATIC_15723), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533)
15723_0_charAt_ConstantStackPush(EOS(STATIC_15723), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533) → 15743_0_charAt_Load(EOS(STATIC_15743), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, 0)
15743_0_charAt_Load(EOS(STATIC_15743), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, matching1) → 15752_0_charAt_GT(EOS(STATIC_15752), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, 0, i3533) | =(matching1, 0)
15752_0_charAt_GT(EOS(STATIC_15752), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, matching1, i3533) → 15765_0_charAt_Load(EOS(STATIC_15765), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533) | &&(<=(0, i3533), =(matching1, 0))
15765_0_charAt_Load(EOS(STATIC_15765), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533) → 15775_0_charAt_Load(EOS(STATIC_15775), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533)
15775_0_charAt_Load(EOS(STATIC_15775), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533) → 15785_0_charAt_FieldAccess(EOS(STATIC_15785), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15785_0_charAt_FieldAccess(EOS(STATIC_15785), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15794_0_charAt_ArrayLength(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(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(ARRAY(i431)))
15794_0_charAt_ArrayLength(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(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(ARRAY(i431))) → 15801_0_charAt_GE(EOS(STATIC_15801), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, i431) | >=(i431, 0)
15801_0_charAt_GE(EOS(STATIC_15801), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, i431) → 15811_0_charAt_GE(EOS(STATIC_15811), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, i431)
15811_0_charAt_GE(EOS(STATIC_15811), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, i431) → 15822_0_charAt_Load(EOS(STATIC_15822), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533) | <(i3533, i431)
15822_0_charAt_Load(EOS(STATIC_15822), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533) → 15833_0_charAt_FieldAccess(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(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
15833_0_charAt_FieldAccess(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(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 15844_0_charAt_Load(EOS(STATIC_15844), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(ARRAY(i431)))
15844_0_charAt_Load(EOS(STATIC_15844), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3533, java.lang.Object(ARRAY(i431))) → 15856_0_charAt_ArrayAccess(EOS(STATIC_15856), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(ARRAY(i431)), i3533)
15856_0_charAt_ArrayAccess(EOS(STATIC_15856), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(ARRAY(i431)), i3533) → 15868_0_charAt_ArrayAccess(EOS(STATIC_15868), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(ARRAY(i431)), i3533)
15868_0_charAt_ArrayAccess(EOS(STATIC_15868), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, java.lang.Object(ARRAY(i431)), i3533) → 15883_0_charAt_Return(EOS(STATIC_15883), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3573) | <(i3533, i431)
15883_0_charAt_Return(EOS(STATIC_15883), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i3533, i3573) → 15898_0_findMatch_InvokeMethod(EOS(STATIC_15898), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573)
15898_0_findMatch_InvokeMethod(EOS(STATIC_15898), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573) → 15913_1_findMatch_InvokeMethod(15913_0_append_Load(EOS(STATIC_15913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573)
15913_1_findMatch_InvokeMethod(16662_0_append_Return(EOS(STATIC_16662)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i4540) → 16690_0_append_Return(EOS(STATIC_16690), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4540)
16690_0_append_Return(EOS(STATIC_16690), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4540) → 16403_0_append_Return(EOS(STATIC_16403), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4540)
16403_0_append_Return(EOS(STATIC_16403), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i3533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4024) → 16418_0_findMatch_Inc(EOS(STATIC_16418), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i3533)
16418_0_findMatch_Inc(EOS(STATIC_16418), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i3533) → 16427_0_findMatch_JMP(EOS(STATIC_16427), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), +(i3533, 1)) | >=(i3533, 0)
16427_0_findMatch_JMP(EOS(STATIC_16427), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4128) → 16434_0_findMatch_Load(EOS(STATIC_16434), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4128)
16434_0_findMatch_Load(EOS(STATIC_16434), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4128) → 15549_0_findMatch_Load(EOS(STATIC_15549), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3888)))), i4128)
15549_0_findMatch_Load(EOS(STATIC_15549), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495) → 15555_0_findMatch_Load(EOS(STATIC_15555), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3495, i3495)
15678_0_findMatch_EQ(EOS(STATIC_15678), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533, matching1) → 15687_0_findMatch_Inc(EOS(STATIC_15687), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533) | =(matching1, 0)
15687_0_findMatch_Inc(EOS(STATIC_15687), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3533) → 15695_0_findMatch_JMP(EOS(STATIC_15695), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), +(i3533, 1)) | >=(i3533, 0)
15695_0_findMatch_JMP(EOS(STATIC_15695), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3541) → 15706_0_findMatch_Load(EOS(STATIC_15706), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3541)
15706_0_findMatch_Load(EOS(STATIC_15706), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3541) → 15549_0_findMatch_Load(EOS(STATIC_15549), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(ARRAY(i431)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3541)
R rules:
15913_0_append_Load(EOS(STATIC_15913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573) → 15930_0_append_Load(EOS(STATIC_15930), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573)
15930_0_append_Load(EOS(STATIC_15930), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573) → 15962_0_append_Load(EOS(STATIC_15962), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3494)))), i3573)
15962_0_append_Load(EOS(STATIC_15962), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593) → 15976_0_append_FieldAccess(EOS(STATIC_15976), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))))
15976_0_append_FieldAccess(EOS(STATIC_15976), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592))))) → 15989_0_append_ArrayLength(EOS(STATIC_15989), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, java.lang.Object(ARRAY(i3592)))
15989_0_append_ArrayLength(EOS(STATIC_15989), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, java.lang.Object(ARRAY(i3592))) → 15999_0_append_Store(EOS(STATIC_15999), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592) | >=(i3592, 0)
15999_0_append_Store(EOS(STATIC_15999), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592) → 16012_0_append_Load(EOS(STATIC_16012), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592)
16012_0_append_Load(EOS(STATIC_16012), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592) → 16023_0_append_ConstantStackPush(EOS(STATIC_16023), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3592)
16023_0_append_ConstantStackPush(EOS(STATIC_16023), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3592) → 16035_0_append_IntArithmetic(EOS(STATIC_16035), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3592, 1)
16035_0_append_IntArithmetic(EOS(STATIC_16035), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3592, matching1) → 16045_0_append_ArrayCreate(EOS(STATIC_16045), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, +(i3592, 1)) | =(matching1, 1)
16045_0_append_ArrayCreate(EOS(STATIC_16045), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16062_0_append_ArrayCreate(EOS(STATIC_16062), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16045_0_append_ArrayCreate(EOS(STATIC_16045), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3757) → 16063_0_append_ArrayCreate(EOS(STATIC_16063), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3757)
16062_0_append_ArrayCreate(EOS(STATIC_16062), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16074_0_append_ArrayCreate(EOS(STATIC_16074), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16063_0_append_ArrayCreate(EOS(STATIC_16063), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3757) → 16075_0_append_Store(EOS(STATIC_16075), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757)))
16074_0_append_ArrayCreate(EOS(STATIC_16074), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16086_0_<init>_Load(EOS(STATIC_16086), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16075_0_append_Store(EOS(STATIC_16075), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757))) → 16087_0_append_ConstantStackPush(EOS(STATIC_16087), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757)))
16086_0_<init>_Load(EOS(STATIC_16086), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16106_0_<init>_InvokeMethod(EOS(STATIC_16106), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16087_0_append_ConstantStackPush(EOS(STATIC_16087), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757))) → 16097_0_append_Store(EOS(STATIC_16097), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757)), 0)
16097_0_append_Store(EOS(STATIC_16097), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757)), matching1) → 16107_0_append_Load(EOS(STATIC_16107), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757)), 0) | =(matching1, 0)
16106_0_<init>_InvokeMethod(EOS(STATIC_16106), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16116_0_<init>_Load(EOS(STATIC_16116), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16107_0_append_Load(EOS(STATIC_16107), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757)), matching1) → 16261_0_append_Load(EOS(STATIC_16261), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, java.lang.Object(ARRAY(i3757)), 0) | =(matching1, 0)
16116_0_<init>_Load(EOS(STATIC_16116), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16135_0_<init>_InvokeMethod(EOS(STATIC_16135), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16135_0_<init>_InvokeMethod(EOS(STATIC_16135), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16145_0_<init>_Load(EOS(STATIC_16145), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16145_0_<init>_Load(EOS(STATIC_16145), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16165_0_<init>_InvokeMethod(EOS(STATIC_16165), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16165_0_<init>_InvokeMethod(EOS(STATIC_16165), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16173_0_<init>_Load(EOS(STATIC_16173), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16173_0_<init>_Load(EOS(STATIC_16173), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16195_0_<init>_InvokeMethod(EOS(STATIC_16195), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16195_0_<init>_InvokeMethod(EOS(STATIC_16195), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16207_0_<init>_Load(EOS(STATIC_16207), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16207_0_<init>_Load(EOS(STATIC_16207), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16217_0_<init>_Load(EOS(STATIC_16217), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16217_0_<init>_Load(EOS(STATIC_16217), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16230_0_<init>_FieldAccess(EOS(STATIC_16230), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16230_0_<init>_FieldAccess(EOS(STATIC_16230), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16242_0_<init>_Load(EOS(STATIC_16242), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16242_0_<init>_Load(EOS(STATIC_16242), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16256_0_<init>_InvokeMethod(EOS(STATIC_16256), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16256_0_<init>_InvokeMethod(EOS(STATIC_16256), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16272_0_<init>_StackPop(EOS(STATIC_16272), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16261_0_append_Load(EOS(STATIC_16261), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i3889) → 16398_0_append_Load(EOS(STATIC_16398), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i3889)
16272_0_<init>_StackPop(EOS(STATIC_16272), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16287_0_<init>_Return(EOS(STATIC_16287), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16287_0_<init>_Return(EOS(STATIC_16287), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16293_0_<init>_Return(EOS(STATIC_16293), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16293_0_<init>_Return(EOS(STATIC_16293), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16300_0_<init>_Return(EOS(STATIC_16300), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16300_0_<init>_Return(EOS(STATIC_16300), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16307_0_<init>_Return(EOS(STATIC_16307), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16307_0_<init>_Return(EOS(STATIC_16307), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756) → 16313_0_append_ArrayCreate(EOS(STATIC_16313), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3592)))), i3593, i3592, i3756)
16398_0_append_Load(EOS(STATIC_16398), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4025) → 16496_0_append_Load(EOS(STATIC_16496), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4025)
16496_0_append_Load(EOS(STATIC_16496), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4151) → 16586_0_append_Load(EOS(STATIC_16586), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4151)
16586_0_append_Load(EOS(STATIC_16586), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264) → 16590_0_append_Load(EOS(STATIC_16590), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264)
16590_0_append_Load(EOS(STATIC_16590), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264) → 16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887)
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887) → 16597_0_append_GE(EOS(STATIC_16597), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887)
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887) → 16598_0_append_GE(EOS(STATIC_16598), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887)
16597_0_append_GE(EOS(STATIC_16597), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887) → 16601_0_append_Load(EOS(STATIC_16601), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888))) | >=(i4264, i3887)
16598_0_append_GE(EOS(STATIC_16598), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, i4264, i3887) → 16602_0_append_Load(EOS(STATIC_16602), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264) | <(i4264, i3887)
16601_0_append_Load(EOS(STATIC_16601), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888))) → 16605_0_append_Load(EOS(STATIC_16605), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)))
16602_0_append_Load(EOS(STATIC_16602), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264) → 16606_0_append_Load(EOS(STATIC_16606), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)))
16605_0_append_Load(EOS(STATIC_16605), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888))) → 16610_0_append_Load(EOS(STATIC_16610), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i3887)
16606_0_append_Load(EOS(STATIC_16606), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888))) → 16611_0_append_Load(EOS(STATIC_16611), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16610_0_append_Load(EOS(STATIC_16610), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i3887) → 16615_0_append_ArrayAccess(EOS(STATIC_16615), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i3887, i3593)
16611_0_append_Load(EOS(STATIC_16611), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16616_0_append_FieldAccess(EOS(STATIC_16616), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))))
16615_0_append_ArrayAccess(EOS(STATIC_16615), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16621_0_append_ArrayAccess(EOS(STATIC_16621), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16615_0_append_ArrayAccess(EOS(STATIC_16615), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16622_0_append_ArrayAccess(EOS(STATIC_16622), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16616_0_append_FieldAccess(EOS(STATIC_16616), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887))))) → 16623_0_append_Load(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)))
16621_0_append_ArrayAccess(EOS(STATIC_16621), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16628_0_<init>_Load(EOS(STATIC_16628), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) | <=(i4359, -1)
16622_0_append_ArrayAccess(EOS(STATIC_16622), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16629_0_append_ArrayAccess(EOS(STATIC_16629), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16622_0_append_ArrayAccess(EOS(STATIC_16622), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16630_0_append_ArrayAccess(EOS(STATIC_16630), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16623_0_append_Load(EOS(STATIC_16623), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887))) → 16631_0_append_ArrayAccess(EOS(STATIC_16631), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16628_0_<init>_Load(EOS(STATIC_16628), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16644_0_<init>_InvokeMethod(EOS(STATIC_16644), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16629_0_append_ArrayAccess(EOS(STATIC_16629), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16636_0_append_Load(EOS(STATIC_16636), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888))) | <(i4360, i3888)
16630_0_append_ArrayAccess(EOS(STATIC_16630), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16637_0_<init>_Load(EOS(STATIC_16637), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) | >=(i4360, i3888)
16631_0_append_ArrayAccess(EOS(STATIC_16631), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16638_0_append_ArrayAccess(EOS(STATIC_16638), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16631_0_append_ArrayAccess(EOS(STATIC_16631), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16639_0_append_ArrayAccess(EOS(STATIC_16639), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16636_0_append_Load(EOS(STATIC_16636), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888))) → 16645_0_append_Load(EOS(STATIC_16645), java.lang.Object(ARRAY(i3888)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))))
16637_0_<init>_Load(EOS(STATIC_16637), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16654_0_<init>_InvokeMethod(EOS(STATIC_16654), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16638_0_append_ArrayAccess(EOS(STATIC_16638), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16646_0_append_ArrayAccess(EOS(STATIC_16646), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) | <(i4264, i3887)
16639_0_append_ArrayAccess(EOS(STATIC_16639), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16647_0_<init>_Load(EOS(STATIC_16647), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) | >=(i4264, i3887)
16644_0_<init>_InvokeMethod(EOS(STATIC_16644), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16652_0_<init>_Load(EOS(STATIC_16652), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16645_0_append_Load(EOS(STATIC_16645), java.lang.Object(ARRAY(i3888)), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360))))) → 16653_0_append_FieldAccess(EOS(STATIC_16653), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)))
16646_0_append_ArrayAccess(EOS(STATIC_16646), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16655_0_append_ArrayAccess(EOS(STATIC_16655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16646_0_append_ArrayAccess(EOS(STATIC_16646), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16656_0_append_ArrayAccess(EOS(STATIC_16656), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16647_0_<init>_Load(EOS(STATIC_16647), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16666_0_<init>_InvokeMethod(EOS(STATIC_16666), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16652_0_<init>_Load(EOS(STATIC_16652), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16671_0_<init>_InvokeMethod(EOS(STATIC_16671), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16653_0_append_FieldAccess(EOS(STATIC_16653), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888))) → 16662_0_append_Return(EOS(STATIC_16662))
16654_0_<init>_InvokeMethod(EOS(STATIC_16654), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16663_0_<init>_Load(EOS(STATIC_16663), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16655_0_append_ArrayAccess(EOS(STATIC_16655), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16664_0_append_Inc(EOS(STATIC_16664), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264) | <(i4264, i3888)
16656_0_append_ArrayAccess(EOS(STATIC_16656), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16665_0_<init>_Load(EOS(STATIC_16665), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) | >=(i4264, i3888)
16663_0_<init>_Load(EOS(STATIC_16663), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16681_0_<init>_InvokeMethod(EOS(STATIC_16681), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16664_0_append_Inc(EOS(STATIC_16664), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264) → 16673_0_append_JMP(EOS(STATIC_16673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), +(i4264, 1)) | >=(i4264, 0)
16665_0_<init>_Load(EOS(STATIC_16665), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16683_0_<init>_InvokeMethod(EOS(STATIC_16683), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16666_0_<init>_InvokeMethod(EOS(STATIC_16666), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16674_0_<init>_Load(EOS(STATIC_16674), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16671_0_<init>_InvokeMethod(EOS(STATIC_16671), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16680_0_<init>_Load(EOS(STATIC_16680), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16673_0_append_JMP(EOS(STATIC_16673), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4511) → 16682_0_append_Load(EOS(STATIC_16682), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4511)
16674_0_<init>_Load(EOS(STATIC_16674), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16693_0_<init>_InvokeMethod(EOS(STATIC_16693), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16680_0_<init>_Load(EOS(STATIC_16680), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16699_0_<init>_InvokeMethod(EOS(STATIC_16699), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16681_0_<init>_InvokeMethod(EOS(STATIC_16681), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16691_0_<init>_Load(EOS(STATIC_16691), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16682_0_append_Load(EOS(STATIC_16682), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4511) → 16586_0_append_Load(EOS(STATIC_16586), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4511)
16683_0_<init>_InvokeMethod(EOS(STATIC_16683), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16692_0_<init>_Load(EOS(STATIC_16692), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16691_0_<init>_Load(EOS(STATIC_16691), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16705_0_<init>_InvokeMethod(EOS(STATIC_16705), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16692_0_<init>_Load(EOS(STATIC_16692), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16706_0_<init>_InvokeMethod(EOS(STATIC_16706), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16693_0_<init>_InvokeMethod(EOS(STATIC_16693), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16700_0_<init>_Load(EOS(STATIC_16700), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16699_0_<init>_InvokeMethod(EOS(STATIC_16699), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16704_0_<init>_Load(EOS(STATIC_16704), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16700_0_<init>_Load(EOS(STATIC_16700), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16710_0_<init>_InvokeMethod(EOS(STATIC_16710), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16704_0_<init>_Load(EOS(STATIC_16704), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16712_0_<init>_InvokeMethod(EOS(STATIC_16712), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16705_0_<init>_InvokeMethod(EOS(STATIC_16705), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16708_0_<init>_Load(EOS(STATIC_16708), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16706_0_<init>_InvokeMethod(EOS(STATIC_16706), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16709_0_<init>_Load(EOS(STATIC_16709), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16708_0_<init>_Load(EOS(STATIC_16708), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16716_0_<init>_InvokeMethod(EOS(STATIC_16716), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16709_0_<init>_Load(EOS(STATIC_16709), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16717_0_<init>_InvokeMethod(EOS(STATIC_16717), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16710_0_<init>_InvokeMethod(EOS(STATIC_16710), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16713_0_<init>_Load(EOS(STATIC_16713), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16712_0_<init>_InvokeMethod(EOS(STATIC_16712), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16715_0_<init>_Load(EOS(STATIC_16715), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16713_0_<init>_Load(EOS(STATIC_16713), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16720_0_<init>_InvokeMethod(EOS(STATIC_16720), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16715_0_<init>_Load(EOS(STATIC_16715), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16722_0_<init>_InvokeMethod(EOS(STATIC_16722), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16716_0_<init>_InvokeMethod(EOS(STATIC_16716), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16718_0_<init>_Load(EOS(STATIC_16718), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16717_0_<init>_InvokeMethod(EOS(STATIC_16717), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16719_0_<init>_Load(EOS(STATIC_16719), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16718_0_<init>_Load(EOS(STATIC_16718), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16726_0_<init>_InvokeMethod(EOS(STATIC_16726), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16719_0_<init>_Load(EOS(STATIC_16719), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16727_0_<init>_InvokeMethod(EOS(STATIC_16727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16720_0_<init>_InvokeMethod(EOS(STATIC_16720), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16723_0_<init>_Load(EOS(STATIC_16723), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16722_0_<init>_InvokeMethod(EOS(STATIC_16722), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16725_0_<init>_Load(EOS(STATIC_16725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16723_0_<init>_Load(EOS(STATIC_16723), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16732_0_<init>_InvokeMethod(EOS(STATIC_16732), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16725_0_<init>_Load(EOS(STATIC_16725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16729_0_<init>_Load(EOS(STATIC_16729), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16726_0_<init>_InvokeMethod(EOS(STATIC_16726), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16730_0_<init>_Load(EOS(STATIC_16730), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16727_0_<init>_InvokeMethod(EOS(STATIC_16727), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16731_0_<init>_Load(EOS(STATIC_16731), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16729_0_<init>_Load(EOS(STATIC_16729), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16734_0_<init>_FieldAccess(EOS(STATIC_16734), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16730_0_<init>_Load(EOS(STATIC_16730), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16735_0_<init>_Load(EOS(STATIC_16735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16731_0_<init>_Load(EOS(STATIC_16731), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16741_0_<init>_InvokeMethod(EOS(STATIC_16741), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16732_0_<init>_InvokeMethod(EOS(STATIC_16732), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16736_0_<init>_Load(EOS(STATIC_16736), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16734_0_<init>_FieldAccess(EOS(STATIC_16734), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16739_0_<init>_Load(EOS(STATIC_16739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16735_0_<init>_Load(EOS(STATIC_16735), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16740_0_<init>_FieldAccess(EOS(STATIC_16740), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16736_0_<init>_Load(EOS(STATIC_16736), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16742_0_<init>_Load(EOS(STATIC_16742), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16739_0_<init>_Load(EOS(STATIC_16739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16745_0_<init>_InvokeMethod(EOS(STATIC_16745), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16740_0_<init>_FieldAccess(EOS(STATIC_16740), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16746_0_<init>_Load(EOS(STATIC_16746), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16741_0_<init>_InvokeMethod(EOS(STATIC_16741), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16747_0_<init>_Load(EOS(STATIC_16747), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16742_0_<init>_Load(EOS(STATIC_16742), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16748_0_<init>_FieldAccess(EOS(STATIC_16748), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16745_0_<init>_InvokeMethod(EOS(STATIC_16745), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16751_0_<init>_StackPop(EOS(STATIC_16751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16746_0_<init>_Load(EOS(STATIC_16746), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16752_0_<init>_InvokeMethod(EOS(STATIC_16752), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16747_0_<init>_Load(EOS(STATIC_16747), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16753_0_<init>_Load(EOS(STATIC_16753), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16748_0_<init>_FieldAccess(EOS(STATIC_16748), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16754_0_<init>_Load(EOS(STATIC_16754), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16751_0_<init>_StackPop(EOS(STATIC_16751), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16757_0_<init>_Return(EOS(STATIC_16757), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16752_0_<init>_InvokeMethod(EOS(STATIC_16752), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16758_0_<init>_StackPop(EOS(STATIC_16758), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16753_0_<init>_Load(EOS(STATIC_16753), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16759_0_<init>_FieldAccess(EOS(STATIC_16759), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16754_0_<init>_Load(EOS(STATIC_16754), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16760_0_<init>_InvokeMethod(EOS(STATIC_16760), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16757_0_<init>_Return(EOS(STATIC_16757), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16763_0_<init>_Return(EOS(STATIC_16763), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16758_0_<init>_StackPop(EOS(STATIC_16758), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16764_0_<init>_Return(EOS(STATIC_16764), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16759_0_<init>_FieldAccess(EOS(STATIC_16759), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16765_0_<init>_Load(EOS(STATIC_16765), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16760_0_<init>_InvokeMethod(EOS(STATIC_16760), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16766_0_<init>_StackPop(EOS(STATIC_16766), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16763_0_<init>_Return(EOS(STATIC_16763), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16768_0_<init>_Return(EOS(STATIC_16768), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16764_0_<init>_Return(EOS(STATIC_16764), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16769_0_<init>_Return(EOS(STATIC_16769), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16765_0_<init>_Load(EOS(STATIC_16765), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16770_0_<init>_InvokeMethod(EOS(STATIC_16770), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16766_0_<init>_StackPop(EOS(STATIC_16766), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16771_0_<init>_Return(EOS(STATIC_16771), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16768_0_<init>_Return(EOS(STATIC_16768), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16774_0_<init>_Return(EOS(STATIC_16774), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16769_0_<init>_Return(EOS(STATIC_16769), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16775_0_<init>_Return(EOS(STATIC_16775), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16770_0_<init>_InvokeMethod(EOS(STATIC_16770), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16776_0_<init>_StackPop(EOS(STATIC_16776), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16771_0_<init>_Return(EOS(STATIC_16771), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16777_0_<init>_Return(EOS(STATIC_16777), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16774_0_<init>_Return(EOS(STATIC_16774), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16780_0_<init>_Return(EOS(STATIC_16780), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16775_0_<init>_Return(EOS(STATIC_16775), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16781_0_<init>_Return(EOS(STATIC_16781), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16776_0_<init>_StackPop(EOS(STATIC_16776), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16782_0_<init>_Return(EOS(STATIC_16782), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16777_0_<init>_Return(EOS(STATIC_16777), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16783_0_<init>_Return(EOS(STATIC_16783), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16780_0_<init>_Return(EOS(STATIC_16780), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16786_0_append_ArrayAccess(EOS(STATIC_16786), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16781_0_<init>_Return(EOS(STATIC_16781), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16787_0_<init>_Return(EOS(STATIC_16787), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16782_0_<init>_Return(EOS(STATIC_16782), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16788_0_<init>_Return(EOS(STATIC_16788), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16783_0_<init>_Return(EOS(STATIC_16783), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16789_0_<init>_Return(EOS(STATIC_16789), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16786_0_append_ArrayAccess(EOS(STATIC_16786), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593) → 16794_0_append_ArrayAccess(EOS(STATIC_16794), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4359)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4359, i3593)
16787_0_<init>_Return(EOS(STATIC_16787), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16793_0_append_ArrayAccess(EOS(STATIC_16793), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16788_0_<init>_Return(EOS(STATIC_16788), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16795_0_<init>_Return(EOS(STATIC_16795), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16789_0_<init>_Return(EOS(STATIC_16789), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16796_0_<init>_Return(EOS(STATIC_16796), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16793_0_append_ArrayAccess(EOS(STATIC_16793), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593) → 16794_0_append_ArrayAccess(EOS(STATIC_16794), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i4360)))), java.lang.Object(ARRAY(i3888)), java.lang.Object(ARRAY(i3888)), i4360, i3593)
16795_0_<init>_Return(EOS(STATIC_16795), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16800_0_<init>_Return(EOS(STATIC_16800), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16796_0_<init>_Return(EOS(STATIC_16796), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264) → 16801_0_append_ArrayAccess(EOS(STATIC_16801), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3887)), i4264)
16800_0_<init>_Return(EOS(STATIC_16800), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16805_0_<init>_Return(EOS(STATIC_16805), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)
16805_0_<init>_Return(EOS(STATIC_16805), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264) → 16812_0_append_ArrayAccess(EOS(STATIC_16812), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3887)))), i3593, i3887, java.lang.Object(ARRAY(i3888)), i4264, java.lang.Object(ARRAY(i3888)), i4264)

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


P rules:
15555_0_findMatch_Load(EOS(STATIC_15555), 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) → 15913_1_findMatch_InvokeMethod(15913_0_append_Load(EOS(STATIC_15913), 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))
15913_1_findMatch_InvokeMethod(16662_0_append_Return(EOS(STATIC_16662)), 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) → 15555_0_findMatch_Load(EOS(STATIC_15555), 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)
15555_0_findMatch_Load(EOS(STATIC_15555), 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) → 15555_0_findMatch_Load(EOS(STATIC_15555), 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:
15913_0_append_Load(EOS(STATIC_15913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1) → 16313_0_append_ArrayCreate(EOS(STATIC_16313), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, +(x0, 1)) | >(+(x0, 1), 0)
15913_0_append_Load(EOS(STATIC_15913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1) → 16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(+(x0, 1))), 0, 0, x0) | >(+(x0, 1), 0)
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16662_0_append_Return(EOS(STATIC_16662)) | &&(>=(x3, x0), >(x2, x0))
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16593_0_append_GE(EOS(STATIC_16593), 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))
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16794_0_append_ArrayAccess(EOS(STATIC_16794), 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))
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16794_0_append_ArrayAccess(EOS(STATIC_16794), 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))
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16801_0_append_ArrayAccess(EOS(STATIC_16801), 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
16593_0_append_GE(EOS(STATIC_16593), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x1, x0, java.lang.Object(ARRAY(x2)), x3, x3, x0) → 16812_0_append_ArrayAccess(EOS(STATIC_16812), 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:



15555_0_findMatch_Load(x1, x2, x3, x4, x5, x6) → 15555_0_findMatch_Load(x2, x3, x4, x5, x6)
MyString(x1, x2) → MyString(x2)
Cond_15555_0_findMatch_Load1(x1, x2, x3, x4, x5, x6, x7) → Cond_15555_0_findMatch_Load1(x1, x3, x4, x5, x6, x7)
Cond_15913_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_15913_1_findMatch_InvokeMethod(x1, x3, x4, x5, x6, x7, x8, x9)
16662_0_append_Return(x1) → 16662_0_append_Return
15913_0_append_Load(x1, x2, x3) → 15913_0_append_Load(x2, x3)
Cond_15555_0_findMatch_Load(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15555_0_findMatch_Load(x1, x3, x4, x5, x6, x7, x8)
16812_0_append_ArrayAccess(x1, x2, x3, x4, x5, x6, x7, x8) → 16812_0_append_ArrayAccess(x2, x3, x4, x5, x6, x7, x8)
Cond_16593_0_append_GE4(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16593_0_append_GE4(x1, x3, x4, x5, x6, x7, x8, x9)
16593_0_append_GE(x1, x2, x3, x4, x5, x6, x7, x8) → 16593_0_append_GE(x2, x3, x4, x5, x6, x7, x8)
16794_0_append_ArrayAccess(x1, x2, x3, x4, x5, x6) → 16794_0_append_ArrayAccess(x2, x3, x4, x5, x6)
Cond_16593_0_append_GE3(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16593_0_append_GE3(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_16593_0_append_GE2(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16593_0_append_GE2(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_16593_0_append_GE1(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16593_0_append_GE1(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_16593_0_append_GE(x1, x2, x3, x4, x5, x6, x7, x8, x9) → Cond_16593_0_append_GE(x1, x3, x4, x5, x6, x7, x8, x9)
Cond_15913_0_append_Load1(x1, x2, x3, x4) → Cond_15913_0_append_Load1(x1, x3, x4)
16313_0_append_ArrayCreate(x1, x2, x3, x4, x5) → 16313_0_append_ArrayCreate(x2, x3, x4, x5)
Cond_15913_0_append_Load(x1, x2, x3, x4) → Cond_15913_0_append_Load(x1, x3, x4)

Filtered duplicate args:



15555_0_findMatch_Load(x1, x2, x3, x4, x5) → 15555_0_findMatch_Load(x1, x3, x5)
Cond_15555_0_findMatch_Load(x1, x2, x3, x4, x5, x6, x7) → Cond_15555_0_findMatch_Load(x1, x2, x4, x6, x7)
15913_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → 15913_1_findMatch_InvokeMethod(x1, x2, x5, x6, x7)
Cond_15913_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_15913_1_findMatch_InvokeMethod(x1, x2, x5, x6, x7, x8)
Cond_15555_0_findMatch_Load1(x1, x2, x3, x4, x5, x6) → Cond_15555_0_findMatch_Load1(x1, x2, x4, x6)
16313_0_append_ArrayCreate(x1, x2, x3, x4) → 16313_0_append_ArrayCreate(x1, x2, x4)
16593_0_append_GE(x1, x2, x3, x4, x5, x6, x7) → 16593_0_append_GE(x1, x2, x4, x6)
Cond_16593_0_append_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16593_0_append_GE(x1, x2, x3, x5, x7)
Cond_16593_0_append_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16593_0_append_GE1(x1, x2, x3, x5, x7)
Cond_16593_0_append_GE2(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16593_0_append_GE2(x1, x2, x3, x5, x7)
16794_0_append_ArrayAccess(x1, x2, x3, x4, x5) → 16794_0_append_ArrayAccess(x1, x3, x5)
Cond_16593_0_append_GE3(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16593_0_append_GE3(x1, x2, x3, x5, x7)
Cond_16593_0_append_GE4(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_16593_0_append_GE4(x1, x2, x3, x5, x7)
16812_0_append_ArrayAccess(x1, x2, x3, x4, x5, x6, x7) → 16812_0_append_ArrayAccess(x1, x2, x6, x7)

Filtered unneeded arguments:



Cond_15555_0_findMatch_Load(x1, x2, x3, x4, x5) → Cond_15555_0_findMatch_Load(x1, x2, x3, x4)
15913_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5) → 15913_1_findMatch_InvokeMethod(x1, x2, x3)
Cond_15913_1_findMatch_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_15913_1_findMatch_InvokeMethod(x1, x2, x3, x6)
Cond_15913_0_append_Load(x1, x2, x3) → Cond_15913_0_append_Load(x1)
Cond_15913_0_append_Load1(x1, x2, x3) → Cond_15913_0_append_Load1(x1, x2)
16593_0_append_GE(x1, x2, x3, x4) → 16593_0_append_GE(x1, x3, x4)
Cond_16593_0_append_GE(x1, x2, x3, x4, x5) → Cond_16593_0_append_GE(x1)
Cond_16593_0_append_GE1(x1, x2, x3, x4, x5) → Cond_16593_0_append_GE1(x1, x2, x4, x5)
Cond_16593_0_append_GE2(x1, x2, x3, x4, x5) → Cond_16593_0_append_GE2(x1)
Cond_16593_0_append_GE3(x1, x2, x3, x4, x5) → Cond_16593_0_append_GE3(x1)
Cond_16593_0_append_GE4(x1, x2, x3, x4, x5) → Cond_16593_0_append_GE4(x1)
15913_0_append_Load(x1, x2) → 15913_0_append_Load(x1)

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


P rules:
15555_0_findMatch_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15913_1_findMatch_InvokeMethod(15913_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))
15913_1_findMatch_InvokeMethod(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → 15555_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)
15555_0_findMatch_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15555_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16313_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, +(x0, 1)) | >(x0, -1)
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(+(x0, 1))), 0) | >(x0, -1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16662_0_append_Return | &&(>=(x3, x0), >(x2, x0))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16593_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))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1) | &&(>=(x3, x0), <=(x0, -1))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1) | &&(>=(x3, x0), <=(x2, x0))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16812_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:
15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15555_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_15555_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2)
15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2, -1), 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4)
COND_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) → 15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4)))), +(x2, 1))
15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15555_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_15555_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15555_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load(>(x0, -1), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15913_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16313_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, +(x0, 1))
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load1(>(x0, -1), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15913_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(+(x0, 1))), 0)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE(&&(>=(x3, x0), >(x2, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16593_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16662_0_append_Return
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_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_16593_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), +(x3, 1))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE2(&&(>=(x3, x0), <=(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE3(&&(>=(x3, x0), <=(x2, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE4(&&(>=(x3, x2), <(x3, x0)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16812_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15913_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16313_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, x0 + 1)
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load1(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15913_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0 + 1)), 0)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE(x3 >= x0 && x2 > x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16593_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16662_0_append_Return
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_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_16593_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3 + 1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE2(x3 >= x0 && x0 <= -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE3(x3 >= x0 && x2 <= x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE4(x3 >= x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16812_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): 15555_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_15555_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_15555_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]) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_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): 15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15913_1_FINDMATCH_INVOKEMETHOD(x2[2] > -1, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
(3): COND_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15555_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): 15555_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_15555_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_15555_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]) → 15555_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 (15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))) →* 16662_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15913_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15913_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16593_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16593_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@94cebf6 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 15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15555_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 15555_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_15555_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_15555_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]) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_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]15555_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∧15555_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_15555_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_15555_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])=TRUE15555_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∧15555_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_15555_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_15555_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_15555_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_15555_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_15555_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_15555_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_15555_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_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_15555_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]) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_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_15555_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_15555_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])≥15913_1_FINDMATCH_INVOKEMETHOD(15913_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(15913_1_FINDMATCH_INVOKEMETHOD(15913_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(15913_1_FINDMATCH_INVOKEMETHOD(15913_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(15913_1_FINDMATCH_INVOKEMETHOD(15913_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(15913_1_FINDMATCH_INVOKEMETHOD(15913_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(15913_1_FINDMATCH_INVOKEMETHOD(15913_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 15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2, -1), 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) the following chains were created:
  • We consider the chain 15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2]) which results in the following constraint:

    (12)    (15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2])≥NonInfC∧15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2])≥COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])∧(UIncreasing(COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_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_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_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_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_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_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_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_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_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_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) → 15555_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_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15555_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_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3])≥NonInfC∧COND_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3])≥15555_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(15555_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(15555_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(15555_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(15555_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(15555_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 15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15555_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 15555_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_15555_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_15555_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]) → 15555_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]15555_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∧15555_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_15555_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_15555_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])=TRUE15555_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∧15555_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_15555_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_15555_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_15555_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_15555_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_15555_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_15555_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_15555_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15555_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_15555_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]) → 15555_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_15555_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_15555_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])≥15555_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(15555_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(15555_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(15555_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(15555_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(15555_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.
  • 15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15555_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_15555_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_15555_0_FINDMATCH_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1))))), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2)
    • ((UIncreasing(15913_1_FINDMATCH_INVOKEMETHOD(15913_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)

  • 15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2) → COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2, -1), 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4)
    • ((UIncreasing(COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_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_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x2, x4) → 15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x4)))), +(x2, 1))
    • ((UIncreasing(15555_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)

  • 15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_15555_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_15555_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_15555_0_FINDMATCH_LOAD1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 15555_0_FINDMATCH_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1))
    • ((UIncreasing(15555_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(15913_0_append_Load(x1)) = [-1] + [-1]x1   
POL(java.lang.Object(x1)) = x1   
POL(MyString(x1)) = x1   
POL(ARRAY(x1)) = x1   
POL(Cond_15913_0_append_Load(x1, x2, x3)) = [-1] + [-1]x2   
POL(>(x1, x2)) = [-1]   
POL(-1) = [-1]   
POL(16313_0_append_ArrayCreate(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x1   
POL(+(x1, x2)) = x1 + x2   
POL(1) = [1]   
POL(Cond_15913_0_append_Load1(x1, x2)) = [-1] + [-1]x2   
POL(16593_0_append_GE(x1, x2, x3)) = [-1] + [-1]x3 + [-1]x2 + [-1]x1   
POL(0) = 0   
POL(Cond_16593_0_append_GE(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(&&(x1, x2)) = [-1]   
POL(>=(x1, x2)) = [-1]   
POL(16662_0_append_Return) = [-1]   
POL(Cond_16593_0_append_GE1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(<(x1, x2)) = [-1]   
POL(Cond_16593_0_append_GE2(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(<=(x1, x2)) = [-1]   
POL(16794_0_append_ArrayAccess(x1, x2, x3)) = [-1] + [-1]x2 + [-1]x1   
POL(Cond_16593_0_append_GE3(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(Cond_16593_0_append_GE4(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [-1]x3 + [-1]x2   
POL(16812_0_append_ArrayAccess(x1, x2, x3, x4)) = [-1] + [-1]x4 + [-1]x3 + [-1]x1   
POL(15555_0_FINDMATCH_LOAD(x1, x2, x3)) = [-1] + [-1]x3 + [2]x1   
POL(COND_15555_0_FINDMATCH_LOAD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x2   
POL(15913_1_FINDMATCH_INVOKEMETHOD(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2   
POL(COND_15913_1_FINDMATCH_INVOKEMETHOD(x1, x2, x3, x4, x5)) = [-1] + [-1]x4 + [2]x3   
POL(COND_15555_0_FINDMATCH_LOAD1(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x2   

The following pairs are in P>:

COND_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15555_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_15555_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]) → 15555_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:

15555_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_15555_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])
15555_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_15555_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:

15555_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_15555_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_15555_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]) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_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])
15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15913_1_FINDMATCH_INVOKEMETHOD(>(x2[2], -1), 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
15555_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_15555_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15913_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16313_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, x0 + 1)
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load1(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15913_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0 + 1)), 0)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE(x3 >= x0 && x2 > x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16593_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16662_0_append_Return
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_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_16593_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3 + 1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE2(x3 >= x0 && x0 <= -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE3(x3 >= x0 && x2 <= x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE4(x3 >= x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16812_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): 15555_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_15555_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_15555_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]) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_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): 15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15913_1_FINDMATCH_INVOKEMETHOD(x2[2] > -1, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
(4): 15555_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_15555_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 (15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))) →* 16662_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15913_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15913_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16593_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16593_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15913_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 16313_0_append_ArrayCreate(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1, x0 + 1)
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → Cond_15913_0_append_Load1(x0 > -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15913_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0))))) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x0 + 1)), 0)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE(x3 >= x0 && x2 > x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3)
Cond_16593_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16662_0_append_Return
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_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_16593_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → 16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3 + 1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE2(x3 >= x0 && x0 <= -1, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE3(x3 >= x0 && x2 <= x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16794_0_append_ArrayAccess(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x1)
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3) → Cond_16593_0_append_GE4(x3 >= x2 && x3 < x0, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1)
Cond_16593_0_append_GE4(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x2)), x3, x1) → 16812_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_15555_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]) → 15913_1_FINDMATCH_INVOKEMETHOD(15913_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): 15913_1_FINDMATCH_INVOKEMETHOD(16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2]) → COND_15913_1_FINDMATCH_INVOKEMETHOD(x2[2] > -1, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[2])))), x2[2], x4[2])
(3): COND_15913_1_FINDMATCH_INVOKEMETHOD(TRUE, 16662_0_append_Return, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[3])))), x2[3], x4[3]) → 15555_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_15555_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]) → 15555_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 (15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x1[1]))))) →* 16662_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:
15913_0_append_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
Cond_15913_0_append_Load(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
Cond_15913_0_append_Load1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))))
16593_0_append_GE(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE1(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2)
Cond_16593_0_append_GE2(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16593_0_append_GE3(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(ARRAY(x1)), x2, x3)
Cond_16593_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:
10221_0_hamming_Load(EOS(STATIC_10221), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, i1449) → 10231_0_hamming_GE(EOS(STATIC_10231), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, i1449, i431)
10231_0_hamming_GE(EOS(STATIC_10231), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, i1449, i431) → 10249_0_hamming_GE(EOS(STATIC_10249), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, i1449, i431)
10249_0_hamming_GE(EOS(STATIC_10249), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, i1449, i431) → 10266_0_hamming_Load(EOS(STATIC_10266), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449) | <(i1449, i431)
10266_0_hamming_Load(EOS(STATIC_10266), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449) → 10284_0_hamming_Load(EOS(STATIC_10284), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
10284_0_hamming_Load(EOS(STATIC_10284), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 10309_0_hamming_InvokeMethod(EOS(STATIC_10309), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449)
10309_0_hamming_InvokeMethod(EOS(STATIC_10309), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449) → 10336_0_charAt_ConstantStackPush(EOS(STATIC_10336), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449)
10336_0_charAt_ConstantStackPush(EOS(STATIC_10336), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449) → 10379_0_charAt_Load(EOS(STATIC_10379), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, 0)
10379_0_charAt_Load(EOS(STATIC_10379), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, matching1) → 10404_0_charAt_GT(EOS(STATIC_10404), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1449, 0, i1449) | =(matching1, 0)
10404_0_charAt_GT(EOS(STATIC_10404), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, matching1, i1491) → 10425_0_charAt_GT(EOS(STATIC_10425), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, 0, i1491) | =(matching1, 0)
10425_0_charAt_GT(EOS(STATIC_10425), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, matching1, i1491) → 10452_0_charAt_Load(EOS(STATIC_10452), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) | &&(<=(0, i1491), =(matching1, 0))
10452_0_charAt_Load(EOS(STATIC_10452), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) → 10483_0_charAt_Load(EOS(STATIC_10483), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491)
10483_0_charAt_Load(EOS(STATIC_10483), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491) → 10512_0_charAt_FieldAccess(EOS(STATIC_10512), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
10512_0_charAt_FieldAccess(EOS(STATIC_10512), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 10535_0_charAt_ArrayLength(EOS(STATIC_10535), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431)))
10535_0_charAt_ArrayLength(EOS(STATIC_10535), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431))) → 10571_0_charAt_GE(EOS(STATIC_10571), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431) | >=(i431, 0)
10571_0_charAt_GE(EOS(STATIC_10571), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431) → 10597_0_charAt_GE(EOS(STATIC_10597), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431)
10597_0_charAt_GE(EOS(STATIC_10597), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431) → 10610_0_charAt_Load(EOS(STATIC_10610), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) | <(i1491, i431)
10610_0_charAt_Load(EOS(STATIC_10610), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) → 10628_0_charAt_FieldAccess(EOS(STATIC_10628), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
10628_0_charAt_FieldAccess(EOS(STATIC_10628), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 10645_0_charAt_Load(EOS(STATIC_10645), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431)))
10645_0_charAt_Load(EOS(STATIC_10645), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431))) → 10654_0_charAt_ArrayAccess(EOS(STATIC_10654), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491)
10654_0_charAt_ArrayAccess(EOS(STATIC_10654), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491) → 10661_0_charAt_ArrayAccess(EOS(STATIC_10661), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491)
10661_0_charAt_ArrayAccess(EOS(STATIC_10661), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491) → 10671_0_charAt_Return(EOS(STATIC_10671), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1533) | <(i1491, i431)
10671_0_charAt_Return(EOS(STATIC_10671), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1533) → 10681_0_hamming_Load(EOS(STATIC_10681), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533)
10681_0_hamming_Load(EOS(STATIC_10681), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533) → 10687_0_hamming_Load(EOS(STATIC_10687), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
10687_0_hamming_Load(EOS(STATIC_10687), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 10697_0_hamming_InvokeMethod(EOS(STATIC_10697), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491)
10697_0_hamming_InvokeMethod(EOS(STATIC_10697), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) → 10708_0_charAt_ConstantStackPush(EOS(STATIC_10708), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491)
10708_0_charAt_ConstantStackPush(EOS(STATIC_10708), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) → 10725_0_charAt_Load(EOS(STATIC_10725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, 0)
10725_0_charAt_Load(EOS(STATIC_10725), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, matching1) → 10739_0_charAt_GT(EOS(STATIC_10739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, 0, i1491) | =(matching1, 0)
10739_0_charAt_GT(EOS(STATIC_10739), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, matching1, i1491) → 10749_0_charAt_Load(EOS(STATIC_10749), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) | &&(<=(0, i1491), =(matching1, 0))
10749_0_charAt_Load(EOS(STATIC_10749), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) → 10761_0_charAt_Load(EOS(STATIC_10761), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491)
10761_0_charAt_Load(EOS(STATIC_10761), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491) → 10778_0_charAt_FieldAccess(EOS(STATIC_10778), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
10778_0_charAt_FieldAccess(EOS(STATIC_10778), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 10790_0_charAt_ArrayLength(EOS(STATIC_10790), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431)))
10790_0_charAt_ArrayLength(EOS(STATIC_10790), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431))) → 10804_0_charAt_GE(EOS(STATIC_10804), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431) | >=(i431, 0)
10804_0_charAt_GE(EOS(STATIC_10804), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431) → 10823_0_charAt_GE(EOS(STATIC_10823), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431)
10823_0_charAt_GE(EOS(STATIC_10823), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, i431) → 10839_0_charAt_Load(EOS(STATIC_10839), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) | <(i1491, i431)
10839_0_charAt_Load(EOS(STATIC_10839), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491) → 10859_0_charAt_FieldAccess(EOS(STATIC_10859), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))))
10859_0_charAt_FieldAccess(EOS(STATIC_10859), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431))))) → 10878_0_charAt_Load(EOS(STATIC_10878), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431)))
10878_0_charAt_Load(EOS(STATIC_10878), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1491, java.lang.Object(ARRAY(i431))) → 10894_0_charAt_ArrayAccess(EOS(STATIC_10894), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491)
10894_0_charAt_ArrayAccess(EOS(STATIC_10894), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491) → 10909_0_charAt_ArrayAccess(EOS(STATIC_10909), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491)
10909_0_charAt_ArrayAccess(EOS(STATIC_10909), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, java.lang.Object(ARRAY(i431)), i1491) → 10930_0_charAt_Return(EOS(STATIC_10930), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1566) | <(i1491, i431)
10930_0_charAt_Return(EOS(STATIC_10930), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i1491, i1566) → 10947_0_hamming_EQ(EOS(STATIC_10947), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, i1566)
10947_0_hamming_EQ(EOS(STATIC_10947), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1566, i1566) → 10964_0_hamming_EQ(EOS(STATIC_10964), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1566, i1566)
10947_0_hamming_EQ(EOS(STATIC_10947), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, i1566) → 10965_0_hamming_EQ(EOS(STATIC_10965), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, i1566)
10964_0_hamming_EQ(EOS(STATIC_10964), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1566, i1566) → 10988_0_hamming_Inc(EOS(STATIC_10988), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491)
10988_0_hamming_Inc(EOS(STATIC_10988), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491) → 11015_0_hamming_JMP(EOS(STATIC_11015), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, +(i1491, 1)) | >=(i1491, 0)
11015_0_hamming_JMP(EOS(STATIC_11015), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1603) → 11036_0_hamming_Load(EOS(STATIC_11036), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1603)
11036_0_hamming_Load(EOS(STATIC_11036), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1603) → 10203_0_hamming_Load(EOS(STATIC_10203), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1603)
10203_0_hamming_Load(EOS(STATIC_10203), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449) → 10221_0_hamming_Load(EOS(STATIC_10221), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1449, i1449)
10965_0_hamming_EQ(EOS(STATIC_10965), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491, i1533, i1566) → 10989_0_hamming_Inc(EOS(STATIC_10989), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491) | !(=(i1533, i1566))
10989_0_hamming_Inc(EOS(STATIC_10989), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491) → 11017_0_hamming_Inc(EOS(STATIC_11017), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491)
11017_0_hamming_Inc(EOS(STATIC_11017), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1491) → 11038_0_hamming_JMP(EOS(STATIC_11038), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, +(i1491, 1)) | >=(i1491, 0)
11038_0_hamming_JMP(EOS(STATIC_11038), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1609) → 11062_0_hamming_Load(EOS(STATIC_11062), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1609)
11062_0_hamming_Load(EOS(STATIC_11062), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1609) → 10203_0_hamming_Load(EOS(STATIC_10203), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i431)))), i431, i1609)
R rules:

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


P rules:
10221_0_hamming_Load(EOS(STATIC_10221), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), x0, x1, x1) → 10221_0_hamming_Load(EOS(STATIC_10221), 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:



10221_0_hamming_Load(x1, x2, x3, x4, x5, x6) → 10221_0_hamming_Load(x2, x3, x4, x5, x6)
MyString(x1, x2) → MyString(x2)
EOS(x1) → EOS
Cond_10221_0_hamming_Load(x1, x2, x3, x4, x5, x6, x7) → Cond_10221_0_hamming_Load(x1, x3, x4, x5, x6, x7)

Filtered duplicate args:



10221_0_hamming_Load(x1, x2, x3, x4, x5) → 10221_0_hamming_Load(x2, x5)
Cond_10221_0_hamming_Load(x1, x2, x3, x4, x5, x6) → Cond_10221_0_hamming_Load(x1, x3, x6)

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


P rules:
10221_0_hamming_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 10221_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:
10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → COND_10221_0_HAMMING_LOAD(&&(&&(>(x1, -1), <(x1, x0)), >(x0, -1)), java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1)
COND_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 10221_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): 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10221_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_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10221_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@94cebf6 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 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → COND_10221_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 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10221_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_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10221_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]10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥NonInfC∧10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥COND_10221_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_10221_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])=TRUE10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥NonInfC∧10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0])≥COND_10221_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_10221_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_10221_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_10221_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_10221_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_10221_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_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), +(x1, 1)) the following chains were created:
  • We consider the chain COND_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1)) which results in the following constraint:

    (7)    (COND_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1])≥NonInfC∧COND_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1])≥10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))∧(UIncreasing(10221_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(10221_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(10221_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(10221_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(10221_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.
  • 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → COND_10221_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_10221_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_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), x1) → 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), +(x1, 1))
    • ((UIncreasing(10221_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(10221_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_10221_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_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), +(x1[1], 1))

The following pairs are in Pbound:

10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10221_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:

10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10221_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): 10221_0_HAMMING_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0[0])))), x1[0]) → COND_10221_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_10221_0_HAMMING_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0[1])))), x1[1]) → 10221_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:
17777_0_jaro_Load(EOS(STATIC_17777), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352) → 17778_0_jaro_InvokeMethod(EOS(STATIC_17778), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))))
17778_0_jaro_InvokeMethod(EOS(STATIC_17778), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993))))) → 17779_0_length_Load(EOS(STATIC_17779), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))))
17779_0_length_Load(EOS(STATIC_17779), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993))))) → 17780_0_length_FieldAccess(EOS(STATIC_17780), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))))
17780_0_length_FieldAccess(EOS(STATIC_17780), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993))))) → 17781_0_length_ArrayLength(EOS(STATIC_17781), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(ARRAY(i3993)))
17781_0_length_ArrayLength(EOS(STATIC_17781), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(ARRAY(i3993))) → 17782_0_length_Return(EOS(STATIC_17782), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i3993) | >=(i3993, 0)
17782_0_length_Return(EOS(STATIC_17782), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i3993) → 17783_0_jaro_GE(EOS(STATIC_17783), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, i3993)
17783_0_jaro_GE(EOS(STATIC_17783), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, i3993) → 17785_0_jaro_GE(EOS(STATIC_17785), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, i3993)
17785_0_jaro_GE(EOS(STATIC_17785), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352, i3993) → 17787_0_jaro_Load(EOS(STATIC_17787), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352) | <(i8352, i3993)
17787_0_jaro_Load(EOS(STATIC_17787), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352) → 17789_0_jaro_Load(EOS(STATIC_17789), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))))
17789_0_jaro_Load(EOS(STATIC_17789), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993))))) → 17791_0_jaro_InvokeMethod(EOS(STATIC_17791), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352)
17791_0_jaro_InvokeMethod(EOS(STATIC_17791), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352) → 17793_0_charAt_ConstantStackPush(EOS(STATIC_17793), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352)
17793_0_charAt_ConstantStackPush(EOS(STATIC_17793), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352) → 17796_0_charAt_Load(EOS(STATIC_17796), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, 0)
17796_0_charAt_Load(EOS(STATIC_17796), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, matching1) → 17798_0_charAt_GT(EOS(STATIC_17798), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8352, 0, i8352) | =(matching1, 0)
17798_0_charAt_GT(EOS(STATIC_17798), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, matching1, i8374) → 17801_0_charAt_GT(EOS(STATIC_17801), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, 0, i8374) | =(matching1, 0)
17801_0_charAt_GT(EOS(STATIC_17801), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, matching1, i8374) → 17804_0_charAt_Load(EOS(STATIC_17804), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374) | &&(<=(0, i8374), =(matching1, 0))
17804_0_charAt_Load(EOS(STATIC_17804), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374) → 17807_0_charAt_Load(EOS(STATIC_17807), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374)
17807_0_charAt_Load(EOS(STATIC_17807), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374) → 17810_0_charAt_FieldAccess(EOS(STATIC_17810), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))))
17810_0_charAt_FieldAccess(EOS(STATIC_17810), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993))))) → 17813_0_charAt_ArrayLength(EOS(STATIC_17813), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(ARRAY(i3993)))
17813_0_charAt_ArrayLength(EOS(STATIC_17813), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(ARRAY(i3993))) → 17815_0_charAt_GE(EOS(STATIC_17815), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, i3993) | >=(i3993, 0)
17815_0_charAt_GE(EOS(STATIC_17815), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, i3993) → 17819_0_charAt_GE(EOS(STATIC_17819), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, i3993)
17819_0_charAt_GE(EOS(STATIC_17819), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, i3993) → 17823_0_charAt_Load(EOS(STATIC_17823), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374) | <(i8374, i3993)
17823_0_charAt_Load(EOS(STATIC_17823), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374) → 17826_0_charAt_FieldAccess(EOS(STATIC_17826), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))))
17826_0_charAt_FieldAccess(EOS(STATIC_17826), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993))))) → 17830_0_charAt_Load(EOS(STATIC_17830), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(ARRAY(i3993)))
17830_0_charAt_Load(EOS(STATIC_17830), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8374, java.lang.Object(ARRAY(i3993))) → 17834_0_charAt_ArrayAccess(EOS(STATIC_17834), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(ARRAY(i3993)), i8374)
17834_0_charAt_ArrayAccess(EOS(STATIC_17834), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(ARRAY(i3993)), i8374) → 17836_0_charAt_ArrayAccess(EOS(STATIC_17836), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(ARRAY(i3993)), i8374)
17836_0_charAt_ArrayAccess(EOS(STATIC_17836), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, java.lang.Object(ARRAY(i3993)), i8374) → 17841_0_charAt_Return(EOS(STATIC_17841), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8469) | <(i8374, i3993)
17841_0_charAt_Return(EOS(STATIC_17841), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), i8374, i8469) → 17846_0_jaro_Load(EOS(STATIC_17846), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469)
17846_0_jaro_Load(EOS(STATIC_17846), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469) → 17847_0_jaro_Load(EOS(STATIC_17847), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))))
17847_0_jaro_Load(EOS(STATIC_17847), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994))))) → 17857_0_jaro_InvokeMethod(EOS(STATIC_17857), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374)
17857_0_jaro_InvokeMethod(EOS(STATIC_17857), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) → 17864_0_charAt_ConstantStackPush(EOS(STATIC_17864), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374)
17864_0_charAt_ConstantStackPush(EOS(STATIC_17864), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) → 17874_0_charAt_Load(EOS(STATIC_17874), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, 0)
17874_0_charAt_Load(EOS(STATIC_17874), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, matching1) → 17879_0_charAt_GT(EOS(STATIC_17879), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, 0, i8374) | =(matching1, 0)
17879_0_charAt_GT(EOS(STATIC_17879), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, matching1, i8374) → 17882_0_charAt_Load(EOS(STATIC_17882), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) | &&(<=(0, i8374), =(matching1, 0))
17882_0_charAt_Load(EOS(STATIC_17882), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) → 17887_0_charAt_Load(EOS(STATIC_17887), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374)
17887_0_charAt_Load(EOS(STATIC_17887), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374) → 17892_0_charAt_FieldAccess(EOS(STATIC_17892), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))))
17892_0_charAt_FieldAccess(EOS(STATIC_17892), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994))))) → 17895_0_charAt_ArrayLength(EOS(STATIC_17895), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(ARRAY(i3994)))
17895_0_charAt_ArrayLength(EOS(STATIC_17895), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(ARRAY(i3994))) → 17901_0_charAt_GE(EOS(STATIC_17901), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, i3994) | >=(i3994, 0)
17901_0_charAt_GE(EOS(STATIC_17901), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, i3994) → 17908_0_charAt_GE(EOS(STATIC_17908), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, i3994)
17908_0_charAt_GE(EOS(STATIC_17908), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, i3994) → 17913_0_charAt_Load(EOS(STATIC_17913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) | <(i8374, i3994)
17913_0_charAt_Load(EOS(STATIC_17913), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) → 17918_0_charAt_FieldAccess(EOS(STATIC_17918), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))))
17918_0_charAt_FieldAccess(EOS(STATIC_17918), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994))))) → 17923_0_charAt_Load(EOS(STATIC_17923), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(ARRAY(i3994)))
17923_0_charAt_Load(EOS(STATIC_17923), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8374, java.lang.Object(ARRAY(i3994))) → 17928_0_charAt_ArrayAccess(EOS(STATIC_17928), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(ARRAY(i3994)), i8374)
17928_0_charAt_ArrayAccess(EOS(STATIC_17928), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(ARRAY(i3994)), i8374) → 17932_0_charAt_ArrayAccess(EOS(STATIC_17932), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(ARRAY(i3994)), i8374)
17932_0_charAt_ArrayAccess(EOS(STATIC_17932), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, java.lang.Object(ARRAY(i3994)), i8374) → 17938_0_charAt_Return(EOS(STATIC_17938), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8907) | <(i8374, i3994)
17938_0_charAt_Return(EOS(STATIC_17938), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8907) → 17944_0_jaro_EQ(EOS(STATIC_17944), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, i8907)
17944_0_jaro_EQ(EOS(STATIC_17944), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8907, i8907) → 17948_0_jaro_EQ(EOS(STATIC_17948), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8907, i8907)
17944_0_jaro_EQ(EOS(STATIC_17944), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, i8907) → 17949_0_jaro_EQ(EOS(STATIC_17949), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, i8907)
17948_0_jaro_EQ(EOS(STATIC_17948), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8907, i8907) → 17954_0_jaro_Inc(EOS(STATIC_17954), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374)
17954_0_jaro_Inc(EOS(STATIC_17954), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) → 17963_0_jaro_JMP(EOS(STATIC_17963), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), +(i8374, 1)) | >=(i8374, 0)
17963_0_jaro_JMP(EOS(STATIC_17963), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9029) → 17967_0_jaro_Load(EOS(STATIC_17967), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9029)
17967_0_jaro_Load(EOS(STATIC_17967), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9029) → 17776_0_jaro_Load(EOS(STATIC_17776), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9029)
17776_0_jaro_Load(EOS(STATIC_17776), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352) → 17777_0_jaro_Load(EOS(STATIC_17777), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8352, i8352)
17949_0_jaro_EQ(EOS(STATIC_17949), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374, i8469, i8907) → 17955_0_jaro_Inc(EOS(STATIC_17955), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) | !(=(i8469, i8907))
17955_0_jaro_Inc(EOS(STATIC_17955), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) → 17964_0_jaro_Inc(EOS(STATIC_17964), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374)
17964_0_jaro_Inc(EOS(STATIC_17964), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i8374) → 17968_0_jaro_JMP(EOS(STATIC_17968), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), +(i8374, 1)) | >=(i8374, 0)
17968_0_jaro_JMP(EOS(STATIC_17968), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9049) → 17973_0_jaro_Load(EOS(STATIC_17973), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9049)
17973_0_jaro_Load(EOS(STATIC_17973), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9049) → 17776_0_jaro_Load(EOS(STATIC_17776), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3993)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(i3994)))), i9049)
R rules:

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


P rules:
17777_0_jaro_Load(EOS(STATIC_17777), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(EOC, java.lang.Object(ARRAY(x1)))), x2, x2) → 17777_0_jaro_Load(EOS(STATIC_17777), 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:



17777_0_jaro_Load(x1, x2, x3, x4, x5) → 17777_0_jaro_Load(x2, x3, x4, x5)
MyString(x1, x2) → MyString(x2)
EOS(x1) → EOS
Cond_17777_0_jaro_Load(x1, x2, x3, x4, x5, x6) → Cond_17777_0_jaro_Load(x1, x3, x4, x5, x6)

Filtered duplicate args:



17777_0_jaro_Load(x1, x2, x3, x4) → 17777_0_jaro_Load(x1, x2, x4)
Cond_17777_0_jaro_Load(x1, x2, x3, x4, x5) → Cond_17777_0_jaro_Load(x1, x2, x3, x5)

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


P rules:
17777_0_jaro_Load(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 17777_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:
17777_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_17777_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_17777_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 17777_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): 17777_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_17777_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_17777_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]) → 17777_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@94cebf6 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 17777_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_17777_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 17777_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_17777_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_17777_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]) → 17777_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]17777_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∧17777_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_17777_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_17777_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])=TRUE17777_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∧17777_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_17777_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_17777_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_17777_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_17777_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_17777_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_17777_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_17777_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_17777_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 17777_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_17777_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]) → 17777_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_17777_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_17777_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])≥17777_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(17777_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(17777_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(17777_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(17777_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(17777_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.
  • 17777_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → COND_17777_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_17777_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_17777_0_JARO_LOAD(TRUE, java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), x2) → 17777_0_JARO_LOAD(java.lang.Object(MyString(java.lang.Object(ARRAY(x0)))), java.lang.Object(MyString(java.lang.Object(ARRAY(x1)))), +(x2, 1))
    • ((UIncreasing(17777_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(17777_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_17777_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_17777_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]) → 17777_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:

17777_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_17777_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:

17777_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_17777_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): 17777_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_17777_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_17777_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]) → 17777_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:
15294_0_jaro_Load(EOS(STATIC_15294), 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, i3302, i3302) → 15303_0_jaro_GE(EOS(STATIC_15303), 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, i3302, i3302, i431)
15303_0_jaro_GE(EOS(STATIC_15303), 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, i3302, i3302, i431) → 15313_0_jaro_GE(EOS(STATIC_15313), 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, i3302, i3302, i431)
15313_0_jaro_GE(EOS(STATIC_15313), 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, i3302, i3302, i431) → 15323_0_jaro_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, i3302) | <(i3302, i431)
15323_0_jaro_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, i3302) → 15334_0_jaro_Load(EOS(STATIC_15334), 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, i3302, i3302)
15334_0_jaro_Load(EOS(STATIC_15334), 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, i3302, i3302) → 15343_0_jaro_IntArithmetic(EOS(STATIC_15343), 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, i3302, i3302, i698)
15343_0_jaro_IntArithmetic(EOS(STATIC_15343), 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, i3302, i3302, i698) → 15350_0_jaro_ConstantStackPush(EOS(STATIC_15350), 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, i3302, -(i3302, i698))
15350_0_jaro_ConstantStackPush(EOS(STATIC_15350), 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, i3302, i3312) → 15357_0_jaro_InvokeMethod(EOS(STATIC_15357), 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, i3302, i3312, 0)
15357_0_jaro_InvokeMethod(EOS(STATIC_15357), 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, i3302, i3312, matching1) → 15362_0_max_Load(EOS(STATIC_15362), 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, i3302, i3312, 0, i3312, 0) | =(matching1, 0)
15362_0_max_Load(EOS(STATIC_15362), 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, i3302, i3312, matching1, i3312, matching2) → 15373_0_max_Load(EOS(STATIC_15373), 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, i3302, i3312, 0, i3312, 0, i3312) | &&(=(matching1, 0), =(matching2, 0))
15373_0_max_Load(EOS(STATIC_15373), 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, i3302, i3312, matching1, i3312, matching2, i3312) → 15376_0_max_GE(EOS(STATIC_15376), 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, i3302, i3312, 0, i3312, 0, i3312, 0) | &&(=(