0 JBC
↳1 JBCToGraph (⇒, 400 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIDPv1Proof (⇒, 60 ms)
↳7 IDP
↳8 IDPNonInfProof (⇒, 120 ms)
↳9 AND
↳10 IDP
↳11 IDependencyGraphProof (⇔, 0 ms)
↳12 TRUE
↳13 IDP
↳14 IDependencyGraphProof (⇔, 0 ms)
↳15 TRUE
↳16 JBCTerminationSCC
↳17 SCCToIDPv1Proof (⇒, 100 ms)
↳18 IDP
↳19 IDPNonInfProof (⇒, 120 ms)
↳20 AND
↳21 IDP
↳22 IDependencyGraphProof (⇔, 0 ms)
↳23 TRUE
↳24 IDP
↳25 IDependencyGraphProof (⇔, 0 ms)
↳26 TRUE
↳27 JBCTerminationSCC
↳28 SCCToIDPv1Proof (⇒, 410 ms)
↳29 IDP
↳30 IDPNonInfProof (⇒, 260 ms)
↳31 AND
↳32 IDP
↳33 IDependencyGraphProof (⇔, 0 ms)
↳34 TRUE
↳35 IDP
↳36 IDependencyGraphProof (⇔, 0 ms)
↳37 TRUE
↳38 JBCTerminationSCC
↳39 SCCToIDPv1Proof (⇒, 630 ms)
↳40 IDP
↳41 IDPNonInfProof (⇒, 320 ms)
↳42 AND
↳43 IDP
↳44 IDependencyGraphProof (⇔, 0 ms)
↳45 TRUE
↳46 IDP
↳47 IDependencyGraphProof (⇔, 0 ms)
↳48 TRUE
↳49 JBCTerminationSCC
↳50 SCCToIDPv1Proof (⇒, 920 ms)
↳51 IDP
↳52 IDPNonInfProof (⇒, 520 ms)
↳53 IDP
↳54 IDependencyGraphProof (⇔, 0 ms)
↳55 TRUE
↳56 JBCTerminationSCC
↳57 SCCToIDPv1Proof (⇒, 2220 ms)
↳58 IDP
↳59 IDPNonInfProof (⇒, 1050 ms)
↳60 AND
↳61 IDP
↳62 IDependencyGraphProof (⇔, 0 ms)
↳63 IDP
↳64 UsableRulesProof (⇔, 0 ms)
↳65 IDP
↳66 IDPNonInfProof (⇒, 20 ms)
↳67 AND
↳68 IDP
↳69 IDependencyGraphProof (⇔, 0 ms)
↳70 TRUE
↳71 IDP
↳72 IDependencyGraphProof (⇔, 0 ms)
↳73 TRUE
↳74 IDP
↳75 IDependencyGraphProof (⇔, 0 ms)
↳76 IDP
↳77 UsableRulesProof (⇔, 0 ms)
↳78 IDP
↳79 IDPNonInfProof (⇒, 20 ms)
↳80 AND
↳81 IDP
↳82 IDependencyGraphProof (⇔, 0 ms)
↳83 TRUE
↳84 IDP
↳85 IDependencyGraphProof (⇔, 0 ms)
↳86 TRUE
public class TaylorSeriesRec {
public static int power(int a, int b) {
if (b <= 0) return 1;
else return a * power(a, b-1);
}
public static int fact(int n) {
if (n <= 0) return 1;
else return n * fact(n-1);
}
public static int sin(int x, int n) {
if (n <= 0) return x;
else return power(-1, n) * power(x, 2*n+1) / fact(2*n+1) + sin(x, n-1);
}
public static int cos(int x, int n) {
if (n <= 0) return 1;
else return power(-1, n) * power(x, 2*n) / fact(2*n) + cos(x, n-1);
}
public static int exp(int x, int n) {
if (n <= 0) return 1;
else return power(x, n) / fact(n) + exp(x, n-1);
}
public static void main(String args[]) {
for (int i = 0; i < args.length; i++)
if (i % 2 == 0) sin(args.length, i);
else if (i % 3 == 0) cos(args.length, i);
else if (i % 5 == 0) exp(args.length, i);
else for (int j = 0; j < 100; j++);
}
}
Generated 10 rules for P and 11 rules for R.
P rules:
1061_0_fact_GT(EOS(STATIC_1061), i191, i191) → 1068_0_fact_GT(EOS(STATIC_1068), i191, i191)
1068_0_fact_GT(EOS(STATIC_1068), i191, i191) → 1080_0_fact_Load(EOS(STATIC_1080), i191) | >(i191, 0)
1080_0_fact_Load(EOS(STATIC_1080), i191) → 1090_0_fact_Load(EOS(STATIC_1090), i191, i191)
1090_0_fact_Load(EOS(STATIC_1090), i191, i191) → 1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191)
1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191) → 1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191, 1)
1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191, matching1) → 1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191, -(i191, 1)) | &&(>(i191, 0), =(matching1, 1))
1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191, i207) → 1137_1_fact_InvokeMethod(1137_0_fact_Load(EOS(STATIC_1137), i207), i191, i207)
1137_0_fact_Load(EOS(STATIC_1137), i207) → 1147_0_fact_Load(EOS(STATIC_1147), i207)
1147_0_fact_Load(EOS(STATIC_1147), i207) → 1054_0_fact_Load(EOS(STATIC_1054), i207)
1054_0_fact_Load(EOS(STATIC_1054), i187) → 1061_0_fact_GT(EOS(STATIC_1061), i187, i187)
R rules:
1061_0_fact_GT(EOS(STATIC_1061), matching1, matching2) → 1067_0_fact_GT(EOS(STATIC_1067), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1067_0_fact_GT(EOS(STATIC_1067), matching1, matching2) → 1078_0_fact_ConstantStackPush(EOS(STATIC_1078), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1078_0_fact_ConstantStackPush(EOS(STATIC_1078), matching1) → 1088_0_fact_Return(EOS(STATIC_1088), 0) | =(matching1, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), matching1), i191, matching2) → 1177_0_fact_Return(EOS(STATIC_1177), i191, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), i191, i265) → 1398_0_fact_Return(EOS(STATIC_1398), i191, i265)
1177_0_fact_Return(EOS(STATIC_1177), i191, matching1, matching2) → 1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191) | &&(=(matching1, 0), =(matching2, 0))
1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191) → 1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191)
1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191)
1323_0_fact_Return(EOS(STATIC_1323), i191, i249) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191)
1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191) → 1350_0_fact_Return(EOS(STATIC_1350)) | >=(i191, 1)
1398_0_fact_Return(EOS(STATIC_1398), i191, i265) → 1323_0_fact_Return(EOS(STATIC_1323), i191, i265)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
1061_0_fact_GT(EOS(STATIC_1061), x0, x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), -(x0, 1), -(x0, 1)), x0, -(x0, 1)) | >(x0, 0)
R rules:
1061_0_fact_GT(EOS(STATIC_1061), 0, 0) → 1088_0_fact_Return(EOS(STATIC_1088), 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), 0), x1, 0) → 1350_0_fact_Return(EOS(STATIC_1350)) | >(+(x1, 1), 1)
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), x0, x1) → 1350_0_fact_Return(EOS(STATIC_1350)) | >(+(x0, 1), 1)
Filtered ground terms:
1061_0_fact_GT(x1, x2, x3) → 1061_0_fact_GT(x2, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4) → Cond_1061_0_fact_GT(x1, x3, x4)
1350_0_fact_Return(x1) → 1350_0_fact_Return
Cond_1137_1_fact_InvokeMethod1(x1, x2, x3, x4) → Cond_1137_1_fact_InvokeMethod1(x1, x3, x4)
Cond_1137_1_fact_InvokeMethod(x1, x2, x3, x4) → Cond_1137_1_fact_InvokeMethod(x1, x3)
1088_0_fact_Return(x1, x2) → 1088_0_fact_Return
Filtered duplicate args:
1061_0_fact_GT(x1, x2) → 1061_0_fact_GT(x2)
Cond_1061_0_fact_GT(x1, x2, x3) → Cond_1061_0_fact_GT(x1, x3)
Filtered unneeded arguments:
Cond_1137_1_fact_InvokeMethod(x1, x2) → Cond_1137_1_fact_InvokeMethod(x1)
Cond_1137_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod1(x1)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
1061_0_fact_GT(x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(-(x0, 1)), x0, -(x0, 1)) | >(x0, 0)
R rules:
1061_0_fact_GT(0) → 1088_0_fact_Return
1137_1_fact_InvokeMethod(1088_0_fact_Return, x1, 0) → 1350_0_fact_Return | >(x1, 0)
1137_1_fact_InvokeMethod(1350_0_fact_Return, x0, x1) → 1350_0_fact_Return | >(x0, 0)
Performed bisimulation on rules. Used the following equivalence classes: {[1088_0_fact_Return, 1350_0_fact_Return]=1088_0_fact_Return}
Finished conversion. Obtained 2 rules for P and 5 rules for R. System has predefined symbols.
P rules:
1061_0_FACT_GT(x0) → COND_1061_0_FACT_GT(>(x0, 0), x0)
COND_1061_0_FACT_GT(TRUE, x0) → 1061_0_FACT_GT(-(x0, 1))
R rules:
1061_0_fact_GT(0) → 1088_0_fact_Return
1137_1_fact_InvokeMethod(1088_0_fact_Return, x1, 0) → Cond_1137_1_fact_InvokeMethod(>(x1, 0), 1088_0_fact_Return, x1, 0)
Cond_1137_1_fact_InvokeMethod(TRUE, 1088_0_fact_Return, x1, 0) → 1088_0_fact_Return
1137_1_fact_InvokeMethod(1088_0_fact_Return, x0, x1) → Cond_1137_1_fact_InvokeMethod1(>(x0, 0), 1088_0_fact_Return, x0, x1)
Cond_1137_1_fact_InvokeMethod1(TRUE, 1088_0_fact_Return, x0, x1) → 1088_0_fact_Return
!= | ~ | 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 |
Integer
(0) -> (1), if (x0[0] > 0 ∧x0[0] →* x0[1])
(1) -> (0), if (x0[1] - 1 →* x0[0])
(1) (>(x0[0], 0)=TRUE∧x0[0]=x0[1] ⇒ 1061_0_FACT_GT(x0[0])≥NonInfC∧1061_0_FACT_GT(x0[0])≥COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])), ≥))
(2) (>(x0[0], 0)=TRUE ⇒ 1061_0_FACT_GT(x0[0])≥NonInfC∧1061_0_FACT_GT(x0[0])≥COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])), ≥))
(3) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(4) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(5) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(6) (x0[0] ≥ 0 ⇒ (UIncreasing(COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_16 + (2)bni_16] + [(2)bni_16]x0[0] ≥ 0∧[(-1)bso_17] ≥ 0)
(7) (COND_1061_0_FACT_GT(TRUE, x0[1])≥NonInfC∧COND_1061_0_FACT_GT(TRUE, x0[1])≥1061_0_FACT_GT(-(x0[1], 1))∧(UIncreasing(1061_0_FACT_GT(-(x0[1], 1))), ≥))
(8) ((UIncreasing(1061_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧[2 + (-1)bso_19] ≥ 0)
(9) ((UIncreasing(1061_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧[2 + (-1)bso_19] ≥ 0)
(10) ((UIncreasing(1061_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧[2 + (-1)bso_19] ≥ 0)
(11) ((UIncreasing(1061_0_FACT_GT(-(x0[1], 1))), ≥)∧[bni_18] = 0∧0 = 0∧[2 + (-1)bso_19] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1061_0_fact_GT(x1)) = [-1]
POL(0) = 0
POL(1088_0_fact_Return) = [-1]
POL(1137_1_fact_InvokeMethod(x1, x2, x3)) = [-1] + [-1]x2
POL(Cond_1137_1_fact_InvokeMethod(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(>(x1, x2)) = [-1]
POL(Cond_1137_1_fact_InvokeMethod1(x1, x2, x3, x4)) = [-1] + [-1]x3
POL(1061_0_FACT_GT(x1)) = [2]x1
POL(COND_1061_0_FACT_GT(x1, x2)) = [2]x2
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
COND_1061_0_FACT_GT(TRUE, x0[1]) → 1061_0_FACT_GT(-(x0[1], 1))
1061_0_FACT_GT(x0[0]) → COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])
1061_0_FACT_GT(x0[0]) → COND_1061_0_FACT_GT(>(x0[0], 0), x0[0])
!= | ~ | 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 |
Integer
!= | ~ | 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 |
Integer
Generated 11 rules for P and 10 rules for R.
P rules:
667_0_power_GT(EOS(STATIC_667), i87, i87) → 677_0_power_GT(EOS(STATIC_677), i87, i87)
677_0_power_GT(EOS(STATIC_677), i87, i87) → 689_0_power_Load(EOS(STATIC_689), i87) | >(i87, 0)
689_0_power_Load(EOS(STATIC_689), i87) → 699_0_power_Load(EOS(STATIC_699), i87)
699_0_power_Load(EOS(STATIC_699), i87) → 708_0_power_Load(EOS(STATIC_708), i87)
708_0_power_Load(EOS(STATIC_708), i87) → 721_0_power_ConstantStackPush(EOS(STATIC_721), i87)
721_0_power_ConstantStackPush(EOS(STATIC_721), i87) → 731_0_power_IntArithmetic(EOS(STATIC_731), i87, 1)
731_0_power_IntArithmetic(EOS(STATIC_731), i87, matching1) → 743_0_power_InvokeMethod(EOS(STATIC_743), -(i87, 1)) | &&(>(i87, 0), =(matching1, 1))
743_0_power_InvokeMethod(EOS(STATIC_743), i102) → 751_1_power_InvokeMethod(751_0_power_Load(EOS(STATIC_751), i102), i102)
751_0_power_Load(EOS(STATIC_751), i102) → 763_0_power_Load(EOS(STATIC_763), i102)
763_0_power_Load(EOS(STATIC_763), i102) → 654_0_power_Load(EOS(STATIC_654), i102)
654_0_power_Load(EOS(STATIC_654), i79) → 667_0_power_GT(EOS(STATIC_667), i79, i79)
R rules:
667_0_power_GT(EOS(STATIC_667), matching1, matching2) → 676_0_power_GT(EOS(STATIC_676), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
676_0_power_GT(EOS(STATIC_676), matching1, matching2) → 688_0_power_ConstantStackPush(EOS(STATIC_688), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
688_0_power_ConstantStackPush(EOS(STATIC_688), matching1) → 697_0_power_Return(EOS(STATIC_697), 0) | =(matching1, 0)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), matching1), matching2) → 804_0_power_Return(EOS(STATIC_804), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), i174) → 1047_0_power_Return(EOS(STATIC_1047), i174)
804_0_power_Return(EOS(STATIC_804), matching1, matching2) → 810_0_power_IntArithmetic(EOS(STATIC_810)) | &&(=(matching1, 0), =(matching2, 0))
810_0_power_IntArithmetic(EOS(STATIC_810)) → 985_0_power_IntArithmetic(EOS(STATIC_985))
972_0_power_Return(EOS(STATIC_972), i162) → 985_0_power_IntArithmetic(EOS(STATIC_985))
985_0_power_IntArithmetic(EOS(STATIC_985)) → 996_0_power_Return(EOS(STATIC_996))
1047_0_power_Return(EOS(STATIC_1047), i174) → 972_0_power_Return(EOS(STATIC_972), i174)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
667_0_power_GT(EOS(STATIC_667), x0, x0) → 751_1_power_InvokeMethod(667_0_power_GT(EOS(STATIC_667), -(x0, 1), -(x0, 1)), -(x0, 1)) | >(x0, 0)
R rules:
667_0_power_GT(EOS(STATIC_667), 0, 0) → 697_0_power_Return(EOS(STATIC_697), 0)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), 0), 0) → 996_0_power_Return(EOS(STATIC_996))
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), x0) → 996_0_power_Return(EOS(STATIC_996))
Filtered ground terms:
667_0_power_GT(x1, x2, x3) → 667_0_power_GT(x2, x3)
Cond_667_0_power_GT(x1, x2, x3, x4) → Cond_667_0_power_GT(x1, x3, x4)
996_0_power_Return(x1) → 996_0_power_Return
697_0_power_Return(x1, x2) → 697_0_power_Return
Filtered duplicate args:
667_0_power_GT(x1, x2) → 667_0_power_GT(x2)
Cond_667_0_power_GT(x1, x2, x3) → Cond_667_0_power_GT(x1, x3)
Combined rules. Obtained 1 conditional rules for P and 3 conditional rules for R.
P rules:
667_0_power_GT(x0) → 751_1_power_InvokeMethod(667_0_power_GT(-(x0, 1)), -(x0, 1)) | >(x0, 0)
R rules:
667_0_power_GT(0) → 697_0_power_Return
751_1_power_InvokeMethod(697_0_power_Return, 0) → 996_0_power_Return
751_1_power_InvokeMethod(996_0_power_Return, x0) → 996_0_power_Return
Performed bisimulation on rules. Used the following equivalence classes: {[697_0_power_Return, 996_0_power_Return]=697_0_power_Return}
Finished conversion. Obtained 2 rules for P and 3 rules for R. System has predefined symbols.
P rules:
667_0_POWER_GT(x0) → COND_667_0_POWER_GT(>(x0, 0), x0)
COND_667_0_POWER_GT(TRUE, x0) → 667_0_POWER_GT(-(x0, 1))
R rules:
667_0_power_GT(0) → 697_0_power_Return
751_1_power_InvokeMethod(697_0_power_Return, 0) → 697_0_power_Return
751_1_power_InvokeMethod(697_0_power_Return, x0) → 697_0_power_Return
!= | ~ | 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 |
Integer
(0) -> (1), if (x0[0] > 0 ∧x0[0] →* x0[1])
(1) -> (0), if (x0[1] - 1 →* x0[0])
(1) (>(x0[0], 0)=TRUE∧x0[0]=x0[1] ⇒ 667_0_POWER_GT(x0[0])≥NonInfC∧667_0_POWER_GT(x0[0])≥COND_667_0_POWER_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_667_0_POWER_GT(>(x0[0], 0), x0[0])), ≥))
(2) (>(x0[0], 0)=TRUE ⇒ 667_0_POWER_GT(x0[0])≥NonInfC∧667_0_POWER_GT(x0[0])≥COND_667_0_POWER_GT(>(x0[0], 0), x0[0])∧(UIncreasing(COND_667_0_POWER_GT(>(x0[0], 0), x0[0])), ≥))
(3) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_667_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(4) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_667_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(5) (x0[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_667_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(6) (x0[0] ≥ 0 ⇒ (UIncreasing(COND_667_0_POWER_GT(>(x0[0], 0), x0[0])), ≥)∧[(-1)Bound*bni_11 + (2)bni_11] + [(2)bni_11]x0[0] ≥ 0∧[(-1)bso_12] ≥ 0)
(7) (COND_667_0_POWER_GT(TRUE, x0[1])≥NonInfC∧COND_667_0_POWER_GT(TRUE, x0[1])≥667_0_POWER_GT(-(x0[1], 1))∧(UIncreasing(667_0_POWER_GT(-(x0[1], 1))), ≥))
(8) ((UIncreasing(667_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(9) ((UIncreasing(667_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(10) ((UIncreasing(667_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧[2 + (-1)bso_14] ≥ 0)
(11) ((UIncreasing(667_0_POWER_GT(-(x0[1], 1))), ≥)∧[bni_13] = 0∧0 = 0∧[2 + (-1)bso_14] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(667_0_power_GT(x1)) = [-1]
POL(0) = 0
POL(697_0_power_Return) = [-1]
POL(751_1_power_InvokeMethod(x1, x2)) = [-1]
POL(667_0_POWER_GT(x1)) = [2]x1
POL(COND_667_0_POWER_GT(x1, x2)) = [2]x2
POL(>(x1, x2)) = [-1]
POL(-(x1, x2)) = x1 + [-1]x2
POL(1) = [1]
COND_667_0_POWER_GT(TRUE, x0[1]) → 667_0_POWER_GT(-(x0[1], 1))
667_0_POWER_GT(x0[0]) → COND_667_0_POWER_GT(>(x0[0], 0), x0[0])
667_0_POWER_GT(x0[0]) → COND_667_0_POWER_GT(>(x0[0], 0), x0[0])
!= | ~ | 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 |
Integer
!= | ~ | 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 |
Integer
Generated 20 rules for P and 56 rules for R.
P rules:
1429_0_power_Return(EOS(STATIC_1429), i276, i277, i276, i277) → 1436_0_exp_Load(EOS(STATIC_1436), i276, i277)
1436_0_exp_Load(EOS(STATIC_1436), i276, i277) → 1453_0_exp_InvokeMethod(EOS(STATIC_1453), i276, i277, i277)
1453_0_exp_InvokeMethod(EOS(STATIC_1453), i276, i277, i277) → 1461_1_exp_InvokeMethod(1461_0_fact_Load(EOS(STATIC_1461), i277), i276, i277, i277)
1461_1_exp_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), i276, i304, i304) → 1507_0_fact_Return(EOS(STATIC_1507), i276, i304, i304)
1507_0_fact_Return(EOS(STATIC_1507), i276, i304, i304) → 1516_0_exp_IntArithmetic(EOS(STATIC_1516), i276, i304)
1516_0_exp_IntArithmetic(EOS(STATIC_1516), i276, i304) → 1528_0_exp_Load(EOS(STATIC_1528), i276, i304)
1528_0_exp_Load(EOS(STATIC_1528), i276, i304) → 1537_0_exp_Load(EOS(STATIC_1537), i304, i276)
1537_0_exp_Load(EOS(STATIC_1537), i304, i276) → 1553_0_exp_ConstantStackPush(EOS(STATIC_1553), i276, i304)
1553_0_exp_ConstantStackPush(EOS(STATIC_1553), i276, i304) → 1560_0_exp_IntArithmetic(EOS(STATIC_1560), i276, i304, 1)
1560_0_exp_IntArithmetic(EOS(STATIC_1560), i276, i304, matching1) → 1565_0_exp_InvokeMethod(EOS(STATIC_1565), i276, -(i304, 1)) | &&(>(i304, 0), =(matching1, 1))
1565_0_exp_InvokeMethod(EOS(STATIC_1565), i276, i320) → 1574_1_exp_InvokeMethod(1574_0_exp_Load(EOS(STATIC_1574), i276, i320), i276, i320)
1574_0_exp_Load(EOS(STATIC_1574), i276, i320) → 1586_0_exp_Load(EOS(STATIC_1586), i276, i320)
1586_0_exp_Load(EOS(STATIC_1586), i276, i320) → 1281_0_exp_Load(EOS(STATIC_1281), i276, i320)
1281_0_exp_Load(EOS(STATIC_1281), i8, i236) → 1294_0_exp_GT(EOS(STATIC_1294), i8, i236, i236)
1294_0_exp_GT(EOS(STATIC_1294), i8, i245, i245) → 1309_0_exp_GT(EOS(STATIC_1309), i8, i245, i245)
1309_0_exp_GT(EOS(STATIC_1309), i8, i245, i245) → 1328_0_exp_Load(EOS(STATIC_1328), i8, i245) | >(i245, 0)
1328_0_exp_Load(EOS(STATIC_1328), i8, i245) → 1340_0_exp_Load(EOS(STATIC_1340), i8, i245, i8)
1340_0_exp_Load(EOS(STATIC_1340), i8, i245, i8) → 1361_0_exp_InvokeMethod(EOS(STATIC_1361), i8, i245, i8, i245)
1361_0_exp_InvokeMethod(EOS(STATIC_1361), i8, i245, i8, i245) → 1376_1_exp_InvokeMethod(1376_0_power_Load(EOS(STATIC_1376), i8, i245), i8, i245, i8, i245)
1376_1_exp_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), i276, i277, i276, i277) → 1429_0_power_Return(EOS(STATIC_1429), i276, i277, i276, i277)
R rules:
1461_0_fact_Load(EOS(STATIC_1461), i277) → 1467_0_fact_Load(EOS(STATIC_1467), i277)
1467_0_fact_Load(EOS(STATIC_1467), i277) → 1054_0_fact_Load(EOS(STATIC_1054), i277)
1376_0_power_Load(EOS(STATIC_1376), i8, i245) → 1389_0_power_Load(EOS(STATIC_1389), i8, i245)
1389_0_power_Load(EOS(STATIC_1389), i8, i245) → 654_0_power_Load(EOS(STATIC_654), i8, i245)
1147_0_fact_Load(EOS(STATIC_1147)) → 1054_0_fact_Load(EOS(STATIC_1054), i207)
763_0_power_Load(EOS(STATIC_763), i78) → 654_0_power_Load(EOS(STATIC_654), i78, i102)
1054_0_fact_Load(EOS(STATIC_1054), i187) → 1061_0_fact_GT(EOS(STATIC_1061), i187, i187)
1061_0_fact_GT(EOS(STATIC_1061), matching1, matching2) → 1067_0_fact_GT(EOS(STATIC_1067), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1061_0_fact_GT(EOS(STATIC_1061), i191, i191) → 1068_0_fact_GT(EOS(STATIC_1068), i191, i191)
1067_0_fact_GT(EOS(STATIC_1067), matching1, matching2) → 1078_0_fact_ConstantStackPush(EOS(STATIC_1078), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1068_0_fact_GT(EOS(STATIC_1068), i191, i191) → 1080_0_fact_Load(EOS(STATIC_1080), i191) | >(i191, 0)
1078_0_fact_ConstantStackPush(EOS(STATIC_1078), matching1) → 1088_0_fact_Return(EOS(STATIC_1088), 0) | =(matching1, 0)
1080_0_fact_Load(EOS(STATIC_1080), i191) → 1090_0_fact_Load(EOS(STATIC_1090), i191, i191)
1090_0_fact_Load(EOS(STATIC_1090), i191, i191) → 1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191)
1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191) → 1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191)
1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191) → 1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) | >(i191, 0)
1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) → 1137_1_fact_InvokeMethod(1137_0_fact_Load(EOS(STATIC_1137)), i191)
1137_0_fact_Load(EOS(STATIC_1137)) → 1147_0_fact_Load(EOS(STATIC_1147))
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), matching1), i191) → 1177_0_fact_Return(EOS(STATIC_1177), i191, 0, 0) | =(matching1, 0)
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), i191) → 1398_0_fact_Return(EOS(STATIC_1398), i191)
1177_0_fact_Return(EOS(STATIC_1177), i191, matching1, matching2) → 1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191) | &&(=(matching1, 0), =(matching2, 0))
1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191) → 1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191)
1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191)
1323_0_fact_Return(EOS(STATIC_1323), i191) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191)
1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191) → 1350_0_fact_Return(EOS(STATIC_1350)) | >=(i191, 1)
1398_0_fact_Return(EOS(STATIC_1398), i191) → 1323_0_fact_Return(EOS(STATIC_1323), i191)
1294_0_exp_GT(EOS(STATIC_1294), i8, matching1, matching2) → 1308_0_exp_GT(EOS(STATIC_1308), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1308_0_exp_GT(EOS(STATIC_1308), i8, matching1, matching2) → 1326_0_exp_ConstantStackPush(EOS(STATIC_1326), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1326_0_exp_ConstantStackPush(EOS(STATIC_1326), i8, matching1) → 1338_0_exp_Return(EOS(STATIC_1338), i8, 0) | =(matching1, 0)
1574_1_exp_InvokeMethod(1338_0_exp_Return(EOS(STATIC_1338), i331, matching1), i331, matching2) → 1614_0_exp_Return(EOS(STATIC_1614), i331, 0, i331, 0) | &&(=(matching1, 0), =(matching2, 0))
1574_1_exp_InvokeMethod(1676_0_exp_Return(EOS(STATIC_1676)), i353, i354) → 1711_0_exp_Return(EOS(STATIC_1711), i353, i354)
1614_0_exp_Return(EOS(STATIC_1614), i331, matching1, i331, matching2) → 1622_0_exp_IntArithmetic(EOS(STATIC_1622)) | &&(=(matching1, 0), =(matching2, 0))
1622_0_exp_IntArithmetic(EOS(STATIC_1622)) → 1666_0_exp_IntArithmetic(EOS(STATIC_1666))
1657_0_exp_Return(EOS(STATIC_1657), i338, i339) → 1666_0_exp_IntArithmetic(EOS(STATIC_1666))
1666_0_exp_IntArithmetic(EOS(STATIC_1666)) → 1676_0_exp_Return(EOS(STATIC_1676))
1711_0_exp_Return(EOS(STATIC_1711), i353, i354) → 1657_0_exp_Return(EOS(STATIC_1657), i353, i354)
654_0_power_Load(EOS(STATIC_654), i78, i79) → 667_0_power_GT(EOS(STATIC_667), i78, i79, i79)
667_0_power_GT(EOS(STATIC_667), i78, matching1, matching2) → 676_0_power_GT(EOS(STATIC_676), i78, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
667_0_power_GT(EOS(STATIC_667), i78, i87, i87) → 677_0_power_GT(EOS(STATIC_677), i78, i87, i87)
676_0_power_GT(EOS(STATIC_676), i78, matching1, matching2) → 688_0_power_ConstantStackPush(EOS(STATIC_688), i78, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
677_0_power_GT(EOS(STATIC_677), i78, i87, i87) → 689_0_power_Load(EOS(STATIC_689), i78, i87) | >(i87, 0)
688_0_power_ConstantStackPush(EOS(STATIC_688), i78, matching1) → 697_0_power_Return(EOS(STATIC_697), i78, 0) | =(matching1, 0)
689_0_power_Load(EOS(STATIC_689), i78, i87) → 699_0_power_Load(EOS(STATIC_699), i78, i87, i78)
699_0_power_Load(EOS(STATIC_699), i78, i87, i78) → 708_0_power_Load(EOS(STATIC_708), i87, i78, i78)
708_0_power_Load(EOS(STATIC_708), i87, i78, i78) → 721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87)
721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87) → 731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87)
731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87) → 743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) | >(i87, 0)
743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) → 751_1_power_InvokeMethod(751_0_power_Load(EOS(STATIC_751), i78), i78, i78)
751_0_power_Load(EOS(STATIC_751), i78) → 763_0_power_Load(EOS(STATIC_763), i78)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), i112, matching1), i112, i112) → 804_0_power_Return(EOS(STATIC_804), i112, i112, 0, i112, 0) | =(matching1, 0)
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), i173, i173) → 1047_0_power_Return(EOS(STATIC_1047), i173, i173)
804_0_power_Return(EOS(STATIC_804), i112, i112, matching1, i112, matching2) → 810_0_power_IntArithmetic(EOS(STATIC_810), i112) | &&(=(matching1, 0), =(matching2, 0))
810_0_power_IntArithmetic(EOS(STATIC_810), i112) → 985_0_power_IntArithmetic(EOS(STATIC_985), i112)
972_0_power_Return(EOS(STATIC_972), i160, i160) → 985_0_power_IntArithmetic(EOS(STATIC_985), i160)
985_0_power_IntArithmetic(EOS(STATIC_985), i160) → 996_0_power_Return(EOS(STATIC_996))
1047_0_power_Return(EOS(STATIC_1047), i173, i173) → 972_0_power_Return(EOS(STATIC_972), i173, i173)
Combined rules. Obtained 2 conditional rules for P and 12 conditional rules for R.
P rules:
1461_1_exp_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), x0, x1, x1) → 1574_1_exp_InvokeMethod(1376_1_exp_InvokeMethod(1376_0_power_Load(EOS(STATIC_1376), x0, -(x1, 1)), x0, -(x1, 1), x0, -(x1, 1)), x0, -(x1, 1)) | >(x1, 1)
1376_1_exp_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), x0, x1, x0, x1) → 1461_1_exp_InvokeMethod(1461_0_fact_Load(EOS(STATIC_1461), x1), x0, x1, x1)
R rules:
1461_0_fact_Load(EOS(STATIC_1461), x0) → 1061_0_fact_GT(EOS(STATIC_1061), x0, x0)
1376_0_power_Load(EOS(STATIC_1376), x0, x1) → 667_0_power_GT(EOS(STATIC_667), x0, x1, x1)
1061_0_fact_GT(EOS(STATIC_1061), 0, 0) → 1088_0_fact_Return(EOS(STATIC_1088), 0)
1061_0_fact_GT(EOS(STATIC_1061), x0, x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), x1, x1), x0) | >(x0, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), 0), x1) → 1350_0_fact_Return(EOS(STATIC_1350)) | >(+(x1, 1), 1)
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), x0) → 1350_0_fact_Return(EOS(STATIC_1350)) | >(+(x0, 1), 1)
1574_1_exp_InvokeMethod(1338_0_exp_Return(EOS(STATIC_1338), x0, 0), x0, 0) → 1676_0_exp_Return(EOS(STATIC_1676))
1574_1_exp_InvokeMethod(1676_0_exp_Return(EOS(STATIC_1676)), x0, x1) → 1676_0_exp_Return(EOS(STATIC_1676))
667_0_power_GT(EOS(STATIC_667), x0, 0, 0) → 697_0_power_Return(EOS(STATIC_697), x0, 0)
667_0_power_GT(EOS(STATIC_667), x0, x1, x1) → 751_1_power_InvokeMethod(667_0_power_GT(EOS(STATIC_667), x0, x2, x2), x0, x0) | >(x1, 0)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), x0, 0), x0, x0) → 996_0_power_Return(EOS(STATIC_996))
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), x0, x0) → 996_0_power_Return(EOS(STATIC_996))
Filtered ground terms:
1461_0_fact_Load(x1, x2) → 1461_0_fact_Load(x2)
996_0_power_Return(x1) → 996_0_power_Return
1376_0_power_Load(x1, x2, x3) → 1376_0_power_Load(x2, x3)
Cond_1461_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1461_1_exp_InvokeMethod(x1, x3, x4, x5)
1350_0_fact_Return(x1) → 1350_0_fact_Return
697_0_power_Return(x1, x2, x3) → 697_0_power_Return(x2)
667_0_power_GT(x1, x2, x3, x4) → 667_0_power_GT(x2, x3, x4)
Cond_667_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_667_0_power_GT(x1, x3, x4, x5, x6)
1676_0_exp_Return(x1) → 1676_0_exp_Return
1338_0_exp_Return(x1, x2, x3) → 1338_0_exp_Return(x2)
Cond_1137_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod1(x1, x3)
Cond_1137_1_fact_InvokeMethod(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod(x1, x3)
1088_0_fact_Return(x1, x2) → 1088_0_fact_Return
1061_0_fact_GT(x1, x2, x3) → 1061_0_fact_GT(x2, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1061_0_fact_GT(x1, x3, x4, x5)
Filtered duplicate args:
1461_1_exp_InvokeMethod(x1, x2, x3, x4) → 1461_1_exp_InvokeMethod(x1, x2, x4)
Cond_1461_1_exp_InvokeMethod(x1, x2, x3, x4) → Cond_1461_1_exp_InvokeMethod(x1, x2, x4)
1376_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → 1376_1_exp_InvokeMethod(x1, x4, x5)
1061_0_fact_GT(x1, x2) → 1061_0_fact_GT(x2)
667_0_power_GT(x1, x2, x3) → 667_0_power_GT(x1, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4) → Cond_1061_0_fact_GT(x1, x3, x4)
Cond_667_0_power_GT(x1, x2, x3, x4, x5) → Cond_667_0_power_GT(x1, x2, x4, x5)
751_1_power_InvokeMethod(x1, x2, x3) → 751_1_power_InvokeMethod(x1, x3)
Filtered unneeded arguments:
1461_1_exp_InvokeMethod(x1, x2, x3) → 1461_1_exp_InvokeMethod(x1, x3)
Cond_1461_1_exp_InvokeMethod(x1, x2, x3) → Cond_1461_1_exp_InvokeMethod(x1, x3)
1574_1_exp_InvokeMethod(x1, x2, x3) → 1574_1_exp_InvokeMethod(x1, x3)
1376_1_exp_InvokeMethod(x1, x2, x3) → 1376_1_exp_InvokeMethod(x1, x3)
Cond_1137_1_fact_InvokeMethod(x1, x2) → Cond_1137_1_fact_InvokeMethod(x1)
Cond_1137_1_fact_InvokeMethod1(x1, x2) → Cond_1137_1_fact_InvokeMethod1(x1)
667_0_power_GT(x1, x2) → 667_0_power_GT(x2)
Cond_667_0_power_GT(x1, x2, x3, x4) → Cond_667_0_power_GT(x1, x4)
751_1_power_InvokeMethod(x1, x2) → 751_1_power_InvokeMethod(x1)
1376_0_power_Load(x1, x2) → 1376_0_power_Load(x2)
Combined rules. Obtained 2 conditional rules for P and 12 conditional rules for R.
P rules:
1461_1_exp_InvokeMethod(1350_0_fact_Return, x1) → 1574_1_exp_InvokeMethod(1376_1_exp_InvokeMethod(1376_0_power_Load(-(x1, 1)), -(x1, 1)), -(x1, 1)) | >(x1, 1)
1376_1_exp_InvokeMethod(996_0_power_Return, x1) → 1461_1_exp_InvokeMethod(1461_0_fact_Load(x1), x1)
R rules:
1461_0_fact_Load(x0) → 1061_0_fact_GT(x0)
1376_0_power_Load(x1) → 667_0_power_GT(x1)
1061_0_fact_GT(0) → 1088_0_fact_Return
1061_0_fact_GT(x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(x1), x0) | >(x0, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return, x1) → 1350_0_fact_Return | >(x1, 0)
1137_1_fact_InvokeMethod(1350_0_fact_Return, x0) → 1350_0_fact_Return | >(x0, 0)
1574_1_exp_InvokeMethod(1338_0_exp_Return(x0), 0) → 1676_0_exp_Return
1574_1_exp_InvokeMethod(1676_0_exp_Return, x1) → 1676_0_exp_Return
667_0_power_GT(0) → 697_0_power_Return(x0)
667_0_power_GT(x1) → 751_1_power_InvokeMethod(667_0_power_GT(x2)) | >(x1, 0)
751_1_power_InvokeMethod(697_0_power_Return(x0)) → 996_0_power_Return
751_1_power_InvokeMethod(996_0_power_Return) → 996_0_power_Return
Performed bisimulation on rules. Used the following equivalence classes: {[1338_0_exp_Return_1, 697_0_power_Return_1]=1338_0_exp_Return_1, [1088_0_fact_Return, 1350_0_fact_Return, 1676_0_exp_Return, 996_0_power_Return]=1088_0_fact_Return, [Cond_1137_1_fact_InvokeMethod_3, Cond_1137_1_fact_InvokeMethod1_3]=Cond_1137_1_fact_InvokeMethod_3}
Finished conversion. Obtained 3 rules for P and 14 rules for R. System has predefined symbols.
P rules:
1461_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1) → COND_1461_1_EXP_INVOKEMETHOD(>(x1, 1), 1088_0_fact_Return, x1)
COND_1461_1_EXP_INVOKEMETHOD(TRUE, 1088_0_fact_Return, x1) → 1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1, 1)), -(x1, 1))
1376_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1) → 1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1), x1)
R rules:
1461_0_fact_Load(x0) → 1061_0_fact_GT(x0)
1376_0_power_Load(x1) → 667_0_power_GT(x1)
1061_0_fact_GT(0) → 1088_0_fact_Return
1061_0_fact_GT(x0) → Cond_1061_0_fact_GT(>(x0, 0), x0, x1)
Cond_1061_0_fact_GT(TRUE, x0, x1) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(x1), x0)
1137_1_fact_InvokeMethod(1088_0_fact_Return, x1) → Cond_1137_1_fact_InvokeMethod(>(x1, 0), 1088_0_fact_Return, x1)
Cond_1137_1_fact_InvokeMethod(TRUE, 1088_0_fact_Return, x1) → 1088_0_fact_Return
1574_1_exp_InvokeMethod(1338_0_exp_Return(x0), 0) → 1088_0_fact_Return
1574_1_exp_InvokeMethod(1088_0_fact_Return, x1) → 1088_0_fact_Return
667_0_power_GT(0) → 1338_0_exp_Return(x0)
667_0_power_GT(x1) → Cond_667_0_power_GT(>(x1, 0), x1, x2)
Cond_667_0_power_GT(TRUE, x1, x2) → 751_1_power_InvokeMethod(667_0_power_GT(x2))
751_1_power_InvokeMethod(1338_0_exp_Return(x0)) → 1088_0_fact_Return
751_1_power_InvokeMethod(1088_0_fact_Return) → 1088_0_fact_Return
!= | ~ | 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 |
Integer
(0) -> (1), if (x1[0] > 1 ∧x1[0] →* x1[1])
(1) -> (2), if (1376_0_power_Load(x1[1] - 1) →* 1088_0_fact_Return∧x1[1] - 1 →* x1[2])
(2) -> (0), if (1461_0_fact_Load(x1[2]) →* 1088_0_fact_Return∧x1[2] →* x1[0])
(1) (>(x1[0], 1)=TRUE∧x1[0]=x1[1] ⇒ 1461_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[0])≥NonInfC∧1461_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[0])≥COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])∧(UIncreasing(COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])), ≥))
(2) (>(x1[0], 1)=TRUE ⇒ 1461_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[0])≥NonInfC∧1461_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[0])≥COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])∧(UIncreasing(COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])), ≥))
(3) (x1[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])), ≥)∧[bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(4) (x1[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])), ≥)∧[bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(5) (x1[0] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])), ≥)∧[bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(6) (x1[0] ≥ 0 ⇒ (UIncreasing(COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])), ≥)∧[(5)bni_30 + (-1)Bound*bni_30] + [(2)bni_30]x1[0] ≥ 0∧[(-1)bso_31] ≥ 0)
(7) (COND_1461_1_EXP_INVOKEMETHOD(TRUE, 1088_0_fact_Return, x1[1])≥NonInfC∧COND_1461_1_EXP_INVOKEMETHOD(TRUE, 1088_0_fact_Return, x1[1])≥1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1[1], 1)), -(x1[1], 1))∧(UIncreasing(1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥))
(8) ((UIncreasing(1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(9) ((UIncreasing(1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(10) ((UIncreasing(1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧[(-1)bso_33] ≥ 0)
(11) ((UIncreasing(1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1[1], 1)), -(x1[1], 1))), ≥)∧[bni_32] = 0∧0 = 0∧[(-1)bso_33] ≥ 0)
(12) (1376_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[2])≥NonInfC∧1376_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[2])≥1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1[2]), x1[2])∧(UIncreasing(1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1[2]), x1[2])), ≥))
(13) ((UIncreasing(1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧[2 + (-1)bso_35] ≥ 0)
(14) ((UIncreasing(1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧[2 + (-1)bso_35] ≥ 0)
(15) ((UIncreasing(1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧[2 + (-1)bso_35] ≥ 0)
(16) ((UIncreasing(1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1[2]), x1[2])), ≥)∧[bni_34] = 0∧0 = 0∧[2 + (-1)bso_35] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1461_0_fact_Load(x1)) = [-1] + [-1]x1
POL(1061_0_fact_GT(x1)) = [1] + [-1]x1
POL(1376_0_power_Load(x1)) = [-1]
POL(667_0_power_GT(x1)) = [-1]
POL(0) = 0
POL(1088_0_fact_Return) = [-1]
POL(Cond_1061_0_fact_GT(x1, x2, x3)) = [-1] + [-1]x2
POL(>(x1, x2)) = [-1]
POL(1137_1_fact_InvokeMethod(x1, x2)) = [2] + [2]x2
POL(Cond_1137_1_fact_InvokeMethod(x1, x2, x3)) = [-1]x3
POL(1574_1_exp_InvokeMethod(x1, x2)) = [-1]
POL(1338_0_exp_Return(x1)) = [-1]
POL(Cond_667_0_power_GT(x1, x2, x3)) = [-1]
POL(751_1_power_InvokeMethod(x1)) = [-1]
POL(1461_1_EXP_INVOKEMETHOD(x1, x2)) = [1] + [2]x2
POL(COND_1461_1_EXP_INVOKEMETHOD(x1, x2, x3)) = [1] + [2]x3
POL(1) = [1]
POL(1376_1_EXP_INVOKEMETHOD(x1, x2)) = [2] + [2]x2 + [-1]x1
POL(-(x1, x2)) = x1 + [-1]x2
1376_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[2]) → 1461_1_EXP_INVOKEMETHOD(1461_0_fact_Load(x1[2]), x1[2])
1461_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[0]) → COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])
1461_1_EXP_INVOKEMETHOD(1088_0_fact_Return, x1[0]) → COND_1461_1_EXP_INVOKEMETHOD(>(x1[0], 1), 1088_0_fact_Return, x1[0])
COND_1461_1_EXP_INVOKEMETHOD(TRUE, 1088_0_fact_Return, x1[1]) → 1376_1_EXP_INVOKEMETHOD(1376_0_power_Load(-(x1[1], 1)), -(x1[1], 1))
1376_0_power_Load(x1)1 ↔ 667_0_power_GT(x1)1
667_0_power_GT(0)1 ↔ 1338_0_exp_Return(x0)1
667_0_power_GT(x1)1 ↔ Cond_667_0_power_GT(>(x1, 0), x1, x2)1
Cond_667_0_power_GT(TRUE, x1, x2)1 ↔ 751_1_power_InvokeMethod(667_0_power_GT(x2))1
751_1_power_InvokeMethod(1338_0_exp_Return(x0))1 ↔ 1088_0_fact_Return1
751_1_power_InvokeMethod(1088_0_fact_Return)1 ↔ 1088_0_fact_Return1
1061_0_fact_GT(x0)1 → 1461_0_fact_Load(x0)1
1061_0_fact_GT(0)1 → 1088_0_fact_Return1
1061_0_fact_GT(x0)1 → Cond_1061_0_fact_GT(>(x0, 0), x0, x1)1
!= | ~ | 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 |
Integer
(0) -> (1), if (x1[0] > 1 ∧x1[0] →* x1[1])
!= | ~ | 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 |
Integer
(1) -> (2), if (1376_0_power_Load(x1[1] - 1) →* 1088_0_fact_Return∧x1[1] - 1 →* x1[2])
Generated 30 rules for P and 58 rules for R.
P rules:
1218_0_cos_GT(EOS(STATIC_1218), i8, i225, i225) → 1235_0_cos_GT(EOS(STATIC_1235), i8, i225, i225)
1235_0_cos_GT(EOS(STATIC_1235), i8, i225, i225) → 1248_0_cos_ConstantStackPush(EOS(STATIC_1248), i8, i225) | >(i225, 0)
1248_0_cos_ConstantStackPush(EOS(STATIC_1248), i8, i225) → 1260_0_cos_Load(EOS(STATIC_1260), i8, i225, -1)
1260_0_cos_Load(EOS(STATIC_1260), i8, i225, matching1) → 1284_0_cos_InvokeMethod(EOS(STATIC_1284), i8, i225, -1, i225) | =(matching1, -1)
1284_0_cos_InvokeMethod(EOS(STATIC_1284), i8, i225, matching1, i225) → 1298_1_cos_InvokeMethod(1298_0_power_Load(EOS(STATIC_1298), -1, i225), i8, i225, -1, i225) | =(matching1, -1)
1298_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), i8, i256, matching1, i256) → 1366_0_power_Return(EOS(STATIC_1366), i8, i256, -1, i256) | =(matching1, -1)
1366_0_power_Return(EOS(STATIC_1366), i8, i256, matching1, i256) → 1380_0_cos_Load(EOS(STATIC_1380), i8, i256) | =(matching1, -1)
1380_0_cos_Load(EOS(STATIC_1380), i8, i256) → 1394_0_cos_ConstantStackPush(EOS(STATIC_1394), i8, i256, i8)
1394_0_cos_ConstantStackPush(EOS(STATIC_1394), i8, i256, i8) → 1403_0_cos_Load(EOS(STATIC_1403), i8, i256, i8, 2)
1403_0_cos_Load(EOS(STATIC_1403), i8, i256, i8, matching1) → 1414_0_cos_IntArithmetic(EOS(STATIC_1414), i8, i256, i8, 2, i256) | =(matching1, 2)
1414_0_cos_IntArithmetic(EOS(STATIC_1414), i8, i256, i8, matching1, i256) → 1431_0_cos_InvokeMethod(EOS(STATIC_1431), i8, i256, i8, *(2, i256)) | &&(>=(i256, 1), =(matching1, 2))
1431_0_cos_InvokeMethod(EOS(STATIC_1431), i8, i256, i8, i281) → 1438_1_cos_InvokeMethod(1438_0_power_Load(EOS(STATIC_1438), i8, i281), i8, i256, i8, i281)
1438_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), i295, i256, i295, i296) → 1488_0_power_Return(EOS(STATIC_1488), i295, i256, i295, i296)
1488_0_power_Return(EOS(STATIC_1488), i295, i256, i295, i296) → 1500_0_cos_IntArithmetic(EOS(STATIC_1500), i295, i256)
1500_0_cos_IntArithmetic(EOS(STATIC_1500), i295, i256) → 1509_0_cos_ConstantStackPush(EOS(STATIC_1509), i295, i256)
1509_0_cos_ConstantStackPush(EOS(STATIC_1509), i295, i256) → 1518_0_cos_Load(EOS(STATIC_1518), i295, i256, 2)
1518_0_cos_Load(EOS(STATIC_1518), i295, i256, matching1) → 1530_0_cos_IntArithmetic(EOS(STATIC_1530), i295, i256, 2, i256) | =(matching1, 2)
1530_0_cos_IntArithmetic(EOS(STATIC_1530), i295, i256, matching1, i256) → 1538_0_cos_InvokeMethod(EOS(STATIC_1538), i295, i256, *(2, i256)) | &&(>=(i256, 1), =(matching1, 2))
1538_0_cos_InvokeMethod(EOS(STATIC_1538), i295, i256, i315) → 1555_1_cos_InvokeMethod(1555_0_fact_Load(EOS(STATIC_1555), i315), i295, i256, i315)
1555_1_cos_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), i295, i256, i324) → 1588_0_fact_Return(EOS(STATIC_1588), i295, i256, i324)
1588_0_fact_Return(EOS(STATIC_1588), i295, i256, i324) → 1596_0_cos_IntArithmetic(EOS(STATIC_1596), i295, i256)
1596_0_cos_IntArithmetic(EOS(STATIC_1596), i295, i256) → 1609_0_cos_Load(EOS(STATIC_1609), i295, i256)
1609_0_cos_Load(EOS(STATIC_1609), i295, i256) → 1615_0_cos_Load(EOS(STATIC_1615), i256, i295)
1615_0_cos_Load(EOS(STATIC_1615), i256, i295) → 1624_0_cos_ConstantStackPush(EOS(STATIC_1624), i295, i256)
1624_0_cos_ConstantStackPush(EOS(STATIC_1624), i295, i256) → 1632_0_cos_IntArithmetic(EOS(STATIC_1632), i295, i256, 1)
1632_0_cos_IntArithmetic(EOS(STATIC_1632), i295, i256, matching1) → 1640_0_cos_InvokeMethod(EOS(STATIC_1640), i295, -(i256, 1)) | &&(>(i256, 0), =(matching1, 1))
1640_0_cos_InvokeMethod(EOS(STATIC_1640), i295, i336) → 1651_1_cos_InvokeMethod(1651_0_cos_Load(EOS(STATIC_1651), i295, i336), i295, i336)
1651_0_cos_Load(EOS(STATIC_1651), i295, i336) → 1659_0_cos_Load(EOS(STATIC_1659), i295, i336)
1659_0_cos_Load(EOS(STATIC_1659), i295, i336) → 1207_0_cos_Load(EOS(STATIC_1207), i295, i336)
1207_0_cos_Load(EOS(STATIC_1207), i8, i219) → 1218_0_cos_GT(EOS(STATIC_1218), i8, i219, i219)
R rules:
1298_0_power_Load(EOS(STATIC_1298), matching1, i225) → 1313_0_power_Load(EOS(STATIC_1313), -1, i225) | =(matching1, -1)
1313_0_power_Load(EOS(STATIC_1313), matching1, i225) → 654_0_power_Load(EOS(STATIC_654), -1, i225) | =(matching1, -1)
1438_0_power_Load(EOS(STATIC_1438), i8, i281) → 1455_0_power_Load(EOS(STATIC_1455), i8, i281)
1455_0_power_Load(EOS(STATIC_1455), i8, i281) → 654_0_power_Load(EOS(STATIC_654), i8, i281)
1555_0_fact_Load(EOS(STATIC_1555), i315) → 1562_0_fact_Load(EOS(STATIC_1562), i315)
1562_0_fact_Load(EOS(STATIC_1562), i315) → 1054_0_fact_Load(EOS(STATIC_1054), i315)
763_0_power_Load(EOS(STATIC_763), i78) → 654_0_power_Load(EOS(STATIC_654), i78, i102)
1147_0_fact_Load(EOS(STATIC_1147)) → 1054_0_fact_Load(EOS(STATIC_1054), i207)
654_0_power_Load(EOS(STATIC_654), i78, i79) → 667_0_power_GT(EOS(STATIC_667), i78, i79, i79)
667_0_power_GT(EOS(STATIC_667), i78, matching1, matching2) → 676_0_power_GT(EOS(STATIC_676), i78, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
667_0_power_GT(EOS(STATIC_667), i78, i87, i87) → 677_0_power_GT(EOS(STATIC_677), i78, i87, i87)
676_0_power_GT(EOS(STATIC_676), i78, matching1, matching2) → 688_0_power_ConstantStackPush(EOS(STATIC_688), i78, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
677_0_power_GT(EOS(STATIC_677), i78, i87, i87) → 689_0_power_Load(EOS(STATIC_689), i78, i87) | >(i87, 0)
688_0_power_ConstantStackPush(EOS(STATIC_688), i78, matching1) → 697_0_power_Return(EOS(STATIC_697), i78, 0) | =(matching1, 0)
689_0_power_Load(EOS(STATIC_689), i78, i87) → 699_0_power_Load(EOS(STATIC_699), i78, i87, i78)
699_0_power_Load(EOS(STATIC_699), i78, i87, i78) → 708_0_power_Load(EOS(STATIC_708), i87, i78, i78)
708_0_power_Load(EOS(STATIC_708), i87, i78, i78) → 721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87)
721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87) → 731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87)
731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87) → 743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) | >(i87, 0)
743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) → 751_1_power_InvokeMethod(751_0_power_Load(EOS(STATIC_751), i78), i78, i78)
751_0_power_Load(EOS(STATIC_751), i78) → 763_0_power_Load(EOS(STATIC_763), i78)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), i112, matching1), i112, i112) → 804_0_power_Return(EOS(STATIC_804), i112, i112, 0, i112, 0) | =(matching1, 0)
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), i173, i173) → 1047_0_power_Return(EOS(STATIC_1047), i173, i173)
804_0_power_Return(EOS(STATIC_804), i112, i112, matching1, i112, matching2) → 810_0_power_IntArithmetic(EOS(STATIC_810), i112) | &&(=(matching1, 0), =(matching2, 0))
810_0_power_IntArithmetic(EOS(STATIC_810), i112) → 985_0_power_IntArithmetic(EOS(STATIC_985), i112)
972_0_power_Return(EOS(STATIC_972), i160, i160) → 985_0_power_IntArithmetic(EOS(STATIC_985), i160)
985_0_power_IntArithmetic(EOS(STATIC_985), i160) → 996_0_power_Return(EOS(STATIC_996))
1047_0_power_Return(EOS(STATIC_1047), i173, i173) → 972_0_power_Return(EOS(STATIC_972), i173, i173)
1054_0_fact_Load(EOS(STATIC_1054), i187) → 1061_0_fact_GT(EOS(STATIC_1061), i187, i187)
1061_0_fact_GT(EOS(STATIC_1061), matching1, matching2) → 1067_0_fact_GT(EOS(STATIC_1067), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1061_0_fact_GT(EOS(STATIC_1061), i191, i191) → 1068_0_fact_GT(EOS(STATIC_1068), i191, i191)
1067_0_fact_GT(EOS(STATIC_1067), matching1, matching2) → 1078_0_fact_ConstantStackPush(EOS(STATIC_1078), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1068_0_fact_GT(EOS(STATIC_1068), i191, i191) → 1080_0_fact_Load(EOS(STATIC_1080), i191) | >(i191, 0)
1078_0_fact_ConstantStackPush(EOS(STATIC_1078), matching1) → 1088_0_fact_Return(EOS(STATIC_1088), 0) | =(matching1, 0)
1080_0_fact_Load(EOS(STATIC_1080), i191) → 1090_0_fact_Load(EOS(STATIC_1090), i191, i191)
1090_0_fact_Load(EOS(STATIC_1090), i191, i191) → 1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191)
1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191) → 1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191)
1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191) → 1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) | >(i191, 0)
1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) → 1137_1_fact_InvokeMethod(1137_0_fact_Load(EOS(STATIC_1137)), i191)
1137_0_fact_Load(EOS(STATIC_1137)) → 1147_0_fact_Load(EOS(STATIC_1147))
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), matching1), i191) → 1177_0_fact_Return(EOS(STATIC_1177), i191, 0, 0) | =(matching1, 0)
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), i191) → 1398_0_fact_Return(EOS(STATIC_1398), i191)
1177_0_fact_Return(EOS(STATIC_1177), i191, matching1, matching2) → 1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191) | &&(=(matching1, 0), =(matching2, 0))
1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191) → 1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191)
1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191)
1323_0_fact_Return(EOS(STATIC_1323), i191) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191)
1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191) → 1350_0_fact_Return(EOS(STATIC_1350)) | >=(i191, 1)
1398_0_fact_Return(EOS(STATIC_1398), i191) → 1323_0_fact_Return(EOS(STATIC_1323), i191)
1218_0_cos_GT(EOS(STATIC_1218), i8, matching1, matching2) → 1234_0_cos_GT(EOS(STATIC_1234), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1234_0_cos_GT(EOS(STATIC_1234), i8, matching1, matching2) → 1246_0_cos_ConstantStackPush(EOS(STATIC_1246), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1246_0_cos_ConstantStackPush(EOS(STATIC_1246), i8, matching1) → 1258_0_cos_Return(EOS(STATIC_1258), i8, 0) | =(matching1, 0)
1651_1_cos_InvokeMethod(1258_0_cos_Return(EOS(STATIC_1258), i351, matching1), i351, matching2) → 1690_0_cos_Return(EOS(STATIC_1690), i351, 0, i351, 0) | &&(=(matching1, 0), =(matching2, 0))
1651_1_cos_InvokeMethod(1771_0_cos_Return(EOS(STATIC_1771)), i396, i397) → 1820_0_cos_Return(EOS(STATIC_1820), i396, i397)
1690_0_cos_Return(EOS(STATIC_1690), i351, matching1, i351, matching2) → 1700_0_cos_IntArithmetic(EOS(STATIC_1700)) | &&(=(matching1, 0), =(matching2, 0))
1700_0_cos_IntArithmetic(EOS(STATIC_1700)) → 1758_0_cos_IntArithmetic(EOS(STATIC_1758))
1746_0_cos_Return(EOS(STATIC_1746), i372, i373) → 1758_0_cos_IntArithmetic(EOS(STATIC_1758))
1758_0_cos_IntArithmetic(EOS(STATIC_1758)) → 1771_0_cos_Return(EOS(STATIC_1771))
1820_0_cos_Return(EOS(STATIC_1820), i396, i397) → 1746_0_cos_Return(EOS(STATIC_1746), i396, i397)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1298_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), x0, x1, -1, x1) → 1438_1_cos_InvokeMethod(1438_0_power_Load(EOS(STATIC_1438), x0, *(2, x1)), x0, x1, x0, *(2, x1)) | >(+(x1, 1), 1)
1438_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), x0, x1, x0, x2) → 1555_1_cos_InvokeMethod(1555_0_fact_Load(EOS(STATIC_1555), *(2, x1)), x0, x1, *(2, x1)) | >(+(x1, 1), 1)
1555_1_cos_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), x0, x1, x2) → 1651_1_cos_InvokeMethod(1298_1_cos_InvokeMethod(1298_0_power_Load(EOS(STATIC_1298), -1, -(x1, 1)), x0, -(x1, 1), -1, -(x1, 1)), x0, -(x1, 1)) | >(x1, 1)
R rules:
1298_0_power_Load(EOS(STATIC_1298), -1, x1) → 667_0_power_GT(EOS(STATIC_667), -1, x1, x1)
1438_0_power_Load(EOS(STATIC_1438), x0, x1) → 667_0_power_GT(EOS(STATIC_667), x0, x1, x1)
1555_0_fact_Load(EOS(STATIC_1555), x0) → 1061_0_fact_GT(EOS(STATIC_1061), x0, x0)
667_0_power_GT(EOS(STATIC_667), x0, 0, 0) → 697_0_power_Return(EOS(STATIC_697), x0, 0)
667_0_power_GT(EOS(STATIC_667), x0, x1, x1) → 751_1_power_InvokeMethod(667_0_power_GT(EOS(STATIC_667), x0, x2, x2), x0, x0) | >(x1, 0)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), x0, 0), x0, x0) → 996_0_power_Return(EOS(STATIC_996))
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996)), x0, x0) → 996_0_power_Return(EOS(STATIC_996))
1061_0_fact_GT(EOS(STATIC_1061), 0, 0) → 1088_0_fact_Return(EOS(STATIC_1088), 0)
1061_0_fact_GT(EOS(STATIC_1061), x0, x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), x1, x1), x0) | >(x0, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), 0), x1) → 1350_0_fact_Return(EOS(STATIC_1350)) | >(+(x1, 1), 1)
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350)), x0) → 1350_0_fact_Return(EOS(STATIC_1350)) | >(+(x0, 1), 1)
1651_1_cos_InvokeMethod(1258_0_cos_Return(EOS(STATIC_1258), x0, 0), x0, 0) → 1771_0_cos_Return(EOS(STATIC_1771))
1651_1_cos_InvokeMethod(1771_0_cos_Return(EOS(STATIC_1771)), x0, x1) → 1771_0_cos_Return(EOS(STATIC_1771))
Filtered ground terms:
1298_0_power_Load(x1, x2, x3) → 1298_0_power_Load(x3)
1298_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → 1298_1_cos_InvokeMethod(x1, x2, x3, x5)
Cond_1555_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1555_1_cos_InvokeMethod(x1, x3, x4, x5)
1350_0_fact_Return(x1) → 1350_0_fact_Return
1555_0_fact_Load(x1, x2) → 1555_0_fact_Load(x2)
Cond_1438_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1438_1_cos_InvokeMethod(x1, x3, x4, x5, x6)
996_0_power_Return(x1) → 996_0_power_Return
1438_0_power_Load(x1, x2, x3) → 1438_0_power_Load(x2, x3)
Cond_1298_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1298_1_cos_InvokeMethod(x1, x3, x4, x6)
1771_0_cos_Return(x1) → 1771_0_cos_Return
1258_0_cos_Return(x1, x2, x3) → 1258_0_cos_Return(x2)
Cond_1137_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod1(x1, x3)
Cond_1137_1_fact_InvokeMethod(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod(x1, x3)
1088_0_fact_Return(x1, x2) → 1088_0_fact_Return
1061_0_fact_GT(x1, x2, x3) → 1061_0_fact_GT(x2, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1061_0_fact_GT(x1, x3, x4, x5)
697_0_power_Return(x1, x2, x3) → 697_0_power_Return(x2)
667_0_power_GT(x1, x2, x3, x4) → 667_0_power_GT(x2, x3, x4)
Cond_667_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_667_0_power_GT(x1, x3, x4, x5, x6)
Filtered duplicate args:
1298_1_cos_InvokeMethod(x1, x2, x3, x4) → 1298_1_cos_InvokeMethod(x1, x2, x4)
Cond_1298_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1298_1_cos_InvokeMethod(x1, x2, x4)
1438_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → 1438_1_cos_InvokeMethod(x1, x3, x4, x5)
Cond_1438_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1438_1_cos_InvokeMethod(x1, x3, x4, x5)
667_0_power_GT(x1, x2, x3) → 667_0_power_GT(x1, x3)
1061_0_fact_GT(x1, x2) → 1061_0_fact_GT(x2)
Cond_667_0_power_GT(x1, x2, x3, x4, x5) → Cond_667_0_power_GT(x1, x2, x4, x5)
751_1_power_InvokeMethod(x1, x2, x3) → 751_1_power_InvokeMethod(x1, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4) → Cond_1061_0_fact_GT(x1, x3, x4)
Filtered unneeded arguments:
1298_1_cos_InvokeMethod(x1, x2, x3) → 1298_1_cos_InvokeMethod(x1, x3)
Cond_1298_1_cos_InvokeMethod(x1, x2, x3) → Cond_1298_1_cos_InvokeMethod(x1, x3)
1438_1_cos_InvokeMethod(x1, x2, x3, x4) → 1438_1_cos_InvokeMethod(x1, x2)
Cond_1438_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1438_1_cos_InvokeMethod(x1, x2)
1555_1_cos_InvokeMethod(x1, x2, x3, x4) → 1555_1_cos_InvokeMethod(x1, x3)
Cond_1555_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1555_1_cos_InvokeMethod(x1, x3)
1651_1_cos_InvokeMethod(x1, x2, x3) → 1651_1_cos_InvokeMethod(x1, x3)
667_0_power_GT(x1, x2) → 667_0_power_GT(x2)
Cond_667_0_power_GT(x1, x2, x3, x4) → Cond_667_0_power_GT(x1, x4)
751_1_power_InvokeMethod(x1, x2) → 751_1_power_InvokeMethod(x1)
Cond_1137_1_fact_InvokeMethod(x1, x2) → Cond_1137_1_fact_InvokeMethod(x1)
Cond_1137_1_fact_InvokeMethod1(x1, x2) → Cond_1137_1_fact_InvokeMethod1(x1)
1438_0_power_Load(x1, x2) → 1438_0_power_Load(x2)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1298_1_cos_InvokeMethod(996_0_power_Return, x1) → 1438_1_cos_InvokeMethod(1438_0_power_Load(*(2, x1)), x1) | >(x1, 0)
1438_1_cos_InvokeMethod(996_0_power_Return, x1) → 1555_1_cos_InvokeMethod(1555_0_fact_Load(*(2, x1)), x1) | >(x1, 0)
1555_1_cos_InvokeMethod(1350_0_fact_Return, x1) → 1651_1_cos_InvokeMethod(1298_1_cos_InvokeMethod(1298_0_power_Load(-(x1, 1)), -(x1, 1)), -(x1, 1)) | >(x1, 1)
R rules:
1298_0_power_Load(x1) → 667_0_power_GT(x1)
1438_0_power_Load(x1) → 667_0_power_GT(x1)
1555_0_fact_Load(x0) → 1061_0_fact_GT(x0)
667_0_power_GT(0) → 697_0_power_Return(x0)
667_0_power_GT(x1) → 751_1_power_InvokeMethod(667_0_power_GT(x2)) | >(x1, 0)
751_1_power_InvokeMethod(697_0_power_Return(x0)) → 996_0_power_Return
751_1_power_InvokeMethod(996_0_power_Return) → 996_0_power_Return
1061_0_fact_GT(0) → 1088_0_fact_Return
1061_0_fact_GT(x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(x1), x0) | >(x0, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return, x1) → 1350_0_fact_Return | >(x1, 0)
1137_1_fact_InvokeMethod(1350_0_fact_Return, x0) → 1350_0_fact_Return | >(x0, 0)
1651_1_cos_InvokeMethod(1258_0_cos_Return(x0), 0) → 1771_0_cos_Return
1651_1_cos_InvokeMethod(1771_0_cos_Return, x1) → 1771_0_cos_Return
Performed bisimulation on rules. Used the following equivalence classes: {[697_0_power_Return_1, 1258_0_cos_Return_1]=697_0_power_Return_1, [Cond_1137_1_fact_InvokeMethod_3, Cond_1137_1_fact_InvokeMethod1_3]=Cond_1137_1_fact_InvokeMethod_3, [996_0_power_Return, 1088_0_fact_Return, 1350_0_fact_Return, 1771_0_cos_Return]=996_0_power_Return}
Finished conversion. Obtained 6 rules for P and 15 rules for R. System has predefined symbols.
P rules:
1298_1_COS_INVOKEMETHOD(996_0_power_Return, x1) → COND_1298_1_COS_INVOKEMETHOD(>(x1, 0), 996_0_power_Return, x1)
COND_1298_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1) → 1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1)), x1)
1438_1_COS_INVOKEMETHOD(996_0_power_Return, x1) → COND_1438_1_COS_INVOKEMETHOD(>(x1, 0), 996_0_power_Return, x1)
COND_1438_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1) → 1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1)), x1)
1555_1_COS_INVOKEMETHOD(996_0_power_Return, x1) → COND_1555_1_COS_INVOKEMETHOD(>(x1, 1), 996_0_power_Return, x1)
COND_1555_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1) → 1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1, 1)), -(x1, 1))
R rules:
1298_0_power_Load(x1) → 667_0_power_GT(x1)
1438_0_power_Load(x1) → 667_0_power_GT(x1)
1555_0_fact_Load(x0) → 1061_0_fact_GT(x0)
667_0_power_GT(0) → 697_0_power_Return(x0)
667_0_power_GT(x1) → Cond_667_0_power_GT(>(x1, 0), x1, x2)
Cond_667_0_power_GT(TRUE, x1, x2) → 751_1_power_InvokeMethod(667_0_power_GT(x2))
751_1_power_InvokeMethod(697_0_power_Return(x0)) → 996_0_power_Return
751_1_power_InvokeMethod(996_0_power_Return) → 996_0_power_Return
1061_0_fact_GT(0) → 996_0_power_Return
1061_0_fact_GT(x0) → Cond_1061_0_fact_GT(>(x0, 0), x0, x1)
Cond_1061_0_fact_GT(TRUE, x0, x1) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(x1), x0)
1137_1_fact_InvokeMethod(996_0_power_Return, x1) → Cond_1137_1_fact_InvokeMethod(>(x1, 0), 996_0_power_Return, x1)
Cond_1137_1_fact_InvokeMethod(TRUE, 996_0_power_Return, x1) → 996_0_power_Return
1651_1_cos_InvokeMethod(697_0_power_Return(x0), 0) → 996_0_power_Return
1651_1_cos_InvokeMethod(996_0_power_Return, x1) → 996_0_power_Return
!= | ~ | 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 |
Integer
(0) -> (1), if (x1[0] > 0 ∧x1[0] →* x1[1])
(1) -> (2), if (1438_0_power_Load(2 * x1[1]) →* 996_0_power_Return∧x1[1] →* x1[2])
(2) -> (3), if (x1[2] > 0 ∧x1[2] →* x1[3])
(3) -> (4), if (1555_0_fact_Load(2 * x1[3]) →* 996_0_power_Return∧x1[3] →* x1[4])
(4) -> (5), if (x1[4] > 1 ∧x1[4] →* x1[5])
(5) -> (0), if (1298_0_power_Load(x1[5] - 1) →* 996_0_power_Return∧x1[5] - 1 →* x1[0])
(1) (>(x1[0], 0)=TRUE∧x1[0]=x1[1] ⇒ 1298_1_COS_INVOKEMETHOD(996_0_power_Return, x1[0])≥NonInfC∧1298_1_COS_INVOKEMETHOD(996_0_power_Return, x1[0])≥COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])∧(UIncreasing(COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])), ≥))
(2) (>(x1[0], 0)=TRUE ⇒ 1298_1_COS_INVOKEMETHOD(996_0_power_Return, x1[0])≥NonInfC∧1298_1_COS_INVOKEMETHOD(996_0_power_Return, x1[0])≥COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])∧(UIncreasing(COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])), ≥))
(3) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33] + [bni_33]x1[0] ≥ 0∧[(-1)bso_34] ≥ 0)
(4) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33] + [bni_33]x1[0] ≥ 0∧[(-1)bso_34] ≥ 0)
(5) (x1[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33] + [bni_33]x1[0] ≥ 0∧[(-1)bso_34] ≥ 0)
(6) (x1[0] ≥ 0 ⇒ (UIncreasing(COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])), ≥)∧[(-1)Bound*bni_33 + bni_33] + [bni_33]x1[0] ≥ 0∧[(-1)bso_34] ≥ 0)
(7) (COND_1298_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[1])≥NonInfC∧COND_1298_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[1])≥1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1[1])), x1[1])∧(UIncreasing(1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1[1])), x1[1])), ≥))
(8) ((UIncreasing(1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧[1 + (-1)bso_36] ≥ 0)
(9) ((UIncreasing(1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧[1 + (-1)bso_36] ≥ 0)
(10) ((UIncreasing(1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧[1 + (-1)bso_36] ≥ 0)
(11) ((UIncreasing(1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1[1])), x1[1])), ≥)∧[bni_35] = 0∧0 = 0∧[1 + (-1)bso_36] ≥ 0)
(12) (>(x1[2], 0)=TRUE∧x1[2]=x1[3] ⇒ 1438_1_COS_INVOKEMETHOD(996_0_power_Return, x1[2])≥NonInfC∧1438_1_COS_INVOKEMETHOD(996_0_power_Return, x1[2])≥COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])∧(UIncreasing(COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])), ≥))
(13) (>(x1[2], 0)=TRUE ⇒ 1438_1_COS_INVOKEMETHOD(996_0_power_Return, x1[2])≥NonInfC∧1438_1_COS_INVOKEMETHOD(996_0_power_Return, x1[2])≥COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])∧(UIncreasing(COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])), ≥))
(14) (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(15) (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(16) (x1[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])), ≥)∧[(-1)bni_37 + (-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(17) (x1[2] ≥ 0 ⇒ (UIncreasing(COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])), ≥)∧[(-1)Bound*bni_37] + [bni_37]x1[2] ≥ 0∧[(-1)bso_38] ≥ 0)
(18) (COND_1438_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[3])≥NonInfC∧COND_1438_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[3])≥1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1[3])), x1[3])∧(UIncreasing(1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1[3])), x1[3])), ≥))
(19) ((UIncreasing(1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(20) ((UIncreasing(1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(21) ((UIncreasing(1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧[(-1)bso_40] ≥ 0)
(22) ((UIncreasing(1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1[3])), x1[3])), ≥)∧[bni_39] = 0∧0 = 0∧[(-1)bso_40] ≥ 0)
(23) (>(x1[4], 1)=TRUE∧x1[4]=x1[5] ⇒ 1555_1_COS_INVOKEMETHOD(996_0_power_Return, x1[4])≥NonInfC∧1555_1_COS_INVOKEMETHOD(996_0_power_Return, x1[4])≥COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])∧(UIncreasing(COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])), ≥))
(24) (>(x1[4], 1)=TRUE ⇒ 1555_1_COS_INVOKEMETHOD(996_0_power_Return, x1[4])≥NonInfC∧1555_1_COS_INVOKEMETHOD(996_0_power_Return, x1[4])≥COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])∧(UIncreasing(COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])), ≥))
(25) (x1[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(26) (x1[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(27) (x1[4] + [-2] ≥ 0 ⇒ (UIncreasing(COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])), ≥)∧[(-1)bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(28) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])), ≥)∧[bni_41 + (-1)Bound*bni_41] + [bni_41]x1[4] ≥ 0∧[(-1)bso_42] ≥ 0)
(29) (COND_1555_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[5])≥NonInfC∧COND_1555_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[5])≥1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1[5], 1)), -(x1[5], 1))∧(UIncreasing(1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥))
(30) ((UIncreasing(1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(31) ((UIncreasing(1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(32) ((UIncreasing(1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧[(-1)bso_44] ≥ 0)
(33) ((UIncreasing(1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1[5], 1)), -(x1[5], 1))), ≥)∧[bni_43] = 0∧0 = 0∧[(-1)bso_44] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1298_0_power_Load(x1)) = [-1] + [-1]x1
POL(667_0_power_GT(x1)) = x1
POL(1438_0_power_Load(x1)) = [-1] + [-1]x1
POL(1555_0_fact_Load(x1)) = [-1] + x1
POL(1061_0_fact_GT(x1)) = [1] + [-1]x1
POL(0) = 0
POL(697_0_power_Return(x1)) = [-1]
POL(Cond_667_0_power_GT(x1, x2, x3)) = [1]
POL(>(x1, x2)) = [-1]
POL(751_1_power_InvokeMethod(x1)) = [2]
POL(996_0_power_Return) = [-1]
POL(Cond_1061_0_fact_GT(x1, x2, x3)) = [-1]x2
POL(1137_1_fact_InvokeMethod(x1, x2)) = 0
POL(Cond_1137_1_fact_InvokeMethod(x1, x2, x3)) = [1] + x3
POL(1651_1_cos_InvokeMethod(x1, x2)) = [-1]
POL(1298_1_COS_INVOKEMETHOD(x1, x2)) = x2
POL(COND_1298_1_COS_INVOKEMETHOD(x1, x2, x3)) = x3
POL(1438_1_COS_INVOKEMETHOD(x1, x2)) = [-1] + x2
POL(*(x1, x2)) = x1·x2
POL(2) = [2]
POL(COND_1438_1_COS_INVOKEMETHOD(x1, x2, x3)) = [-1] + x3
POL(1555_1_COS_INVOKEMETHOD(x1, x2)) = [-1] + x2
POL(COND_1555_1_COS_INVOKEMETHOD(x1, x2, x3)) = [-1] + x3
POL(1) = [1]
POL(-(x1, x2)) = x1 + [-1]x2
COND_1298_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[1]) → 1438_1_COS_INVOKEMETHOD(1438_0_power_Load(*(2, x1[1])), x1[1])
1298_1_COS_INVOKEMETHOD(996_0_power_Return, x1[0]) → COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])
1438_1_COS_INVOKEMETHOD(996_0_power_Return, x1[2]) → COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])
1555_1_COS_INVOKEMETHOD(996_0_power_Return, x1[4]) → COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])
1298_1_COS_INVOKEMETHOD(996_0_power_Return, x1[0]) → COND_1298_1_COS_INVOKEMETHOD(>(x1[0], 0), 996_0_power_Return, x1[0])
1438_1_COS_INVOKEMETHOD(996_0_power_Return, x1[2]) → COND_1438_1_COS_INVOKEMETHOD(>(x1[2], 0), 996_0_power_Return, x1[2])
COND_1438_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[3]) → 1555_1_COS_INVOKEMETHOD(1555_0_fact_Load(*(2, x1[3])), x1[3])
1555_1_COS_INVOKEMETHOD(996_0_power_Return, x1[4]) → COND_1555_1_COS_INVOKEMETHOD(>(x1[4], 1), 996_0_power_Return, x1[4])
COND_1555_1_COS_INVOKEMETHOD(TRUE, 996_0_power_Return, x1[5]) → 1298_1_COS_INVOKEMETHOD(1298_0_power_Load(-(x1[5], 1)), -(x1[5], 1))
751_1_power_InvokeMethod(667_0_power_GT(x2))1 → Cond_667_0_power_GT(TRUE, x1, x2)1
751_1_power_InvokeMethod(697_0_power_Return(x0))1 → 996_0_power_Return1
751_1_power_InvokeMethod(996_0_power_Return)1 → 996_0_power_Return1
1061_0_fact_GT(0)1 → 996_0_power_Return1
1061_0_fact_GT(x0)1 → Cond_1061_0_fact_GT(>(x0, 0), x0, x1)1
!= | ~ | 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 |
Integer
(5) -> (0), if (1298_0_power_Load(x1[5] - 1) →* 996_0_power_Return∧x1[5] - 1 →* x1[0])
(2) -> (3), if (x1[2] > 0 ∧x1[2] →* x1[3])
(3) -> (4), if (1555_0_fact_Load(2 * x1[3]) →* 996_0_power_Return∧x1[3] →* x1[4])
(4) -> (5), if (x1[4] > 1 ∧x1[4] →* x1[5])
!= | ~ | 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 |
Integer
Generated 34 rules for P and 58 rules for R.
P rules:
1162_0_sin_GT(EOS(STATIC_1162), i210, i217, i217) → 1176_0_sin_GT(EOS(STATIC_1176), i210, i217, i217)
1176_0_sin_GT(EOS(STATIC_1176), i210, i217, i217) → 1186_0_sin_ConstantStackPush(EOS(STATIC_1186), i210, i217) | >(i217, 0)
1186_0_sin_ConstantStackPush(EOS(STATIC_1186), i210, i217) → 1197_0_sin_Load(EOS(STATIC_1197), i210, i217, -1)
1197_0_sin_Load(EOS(STATIC_1197), i210, i217, matching1) → 1210_0_sin_InvokeMethod(EOS(STATIC_1210), i210, i217, -1, i217) | =(matching1, -1)
1210_0_sin_InvokeMethod(EOS(STATIC_1210), i210, i217, matching1, i217) → 1222_1_sin_InvokeMethod(1222_0_power_Load(EOS(STATIC_1222), -1, i217), i210, i217, -1, i217) | =(matching1, -1)
1222_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i167), i210, i229, matching1, i229) → 1288_0_power_Return(EOS(STATIC_1288), i210, i229, -1, i229, i167) | =(matching1, -1)
1288_0_power_Return(EOS(STATIC_1288), i210, i229, matching1, i229, i167) → 1302_0_sin_Load(EOS(STATIC_1302), i210, i229, i167) | =(matching1, -1)
1302_0_sin_Load(EOS(STATIC_1302), i210, i229, i167) → 1317_0_sin_ConstantStackPush(EOS(STATIC_1317), i210, i229, i167, i210)
1317_0_sin_ConstantStackPush(EOS(STATIC_1317), i210, i229, i167, i210) → 1332_0_sin_Load(EOS(STATIC_1332), i210, i229, i167, i210, 2)
1332_0_sin_Load(EOS(STATIC_1332), i210, i229, i167, i210, matching1) → 1348_0_sin_IntArithmetic(EOS(STATIC_1348), i210, i229, i167, i210, 2, i229) | =(matching1, 2)
1348_0_sin_IntArithmetic(EOS(STATIC_1348), i210, i229, i167, i210, matching1, i229) → 1368_0_sin_ConstantStackPush(EOS(STATIC_1368), i210, i229, i167, i210, *(2, i229)) | &&(>=(i229, 1), =(matching1, 2))
1368_0_sin_ConstantStackPush(EOS(STATIC_1368), i210, i229, i167, i210, i261) → 1381_0_sin_IntArithmetic(EOS(STATIC_1381), i210, i229, i167, i210, i261, 1)
1381_0_sin_IntArithmetic(EOS(STATIC_1381), i210, i229, i167, i210, i261, matching1) → 1395_0_sin_InvokeMethod(EOS(STATIC_1395), i210, i229, i167, i210, +(i261, 1)) | &&(>(i261, 0), =(matching1, 1))
1395_0_sin_InvokeMethod(EOS(STATIC_1395), i210, i229, i167, i210, i269) → 1405_1_sin_InvokeMethod(1405_0_power_Load(EOS(STATIC_1405), i210, i269), i210, i229, i167, i210, i269)
1405_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i285), i286, i229, i167, i286, i287) → 1458_0_power_Return(EOS(STATIC_1458), i286, i229, i167, i286, i287, i285)
1458_0_power_Return(EOS(STATIC_1458), i286, i229, i167, i286, i287, i285) → 1463_0_sin_IntArithmetic(EOS(STATIC_1463), i286, i229, i167, i285)
1463_0_sin_IntArithmetic(EOS(STATIC_1463), i286, i229, i167, i285) → 1476_0_sin_ConstantStackPush(EOS(STATIC_1476), i286, i229, *(i167, i285))
1476_0_sin_ConstantStackPush(EOS(STATIC_1476), i286, i229, i297) → 1489_0_sin_Load(EOS(STATIC_1489), i286, i229, i297, 2)
1489_0_sin_Load(EOS(STATIC_1489), i286, i229, i297, matching1) → 1501_0_sin_IntArithmetic(EOS(STATIC_1501), i286, i229, i297, 2, i229) | =(matching1, 2)
1501_0_sin_IntArithmetic(EOS(STATIC_1501), i286, i229, i297, matching1, i229) → 1511_0_sin_ConstantStackPush(EOS(STATIC_1511), i286, i229, i297, *(2, i229)) | &&(>=(i229, 1), =(matching1, 2))
1511_0_sin_ConstantStackPush(EOS(STATIC_1511), i286, i229, i297, i307) → 1520_0_sin_IntArithmetic(EOS(STATIC_1520), i286, i229, i297, i307, 1)
1520_0_sin_IntArithmetic(EOS(STATIC_1520), i286, i229, i297, i307, matching1) → 1532_0_sin_InvokeMethod(EOS(STATIC_1532), i286, i229, i297, +(i307, 1)) | &&(>(i307, 0), =(matching1, 1))
1532_0_sin_InvokeMethod(EOS(STATIC_1532), i286, i229, i297, i312) → 1540_1_sin_InvokeMethod(1540_0_fact_Load(EOS(STATIC_1540), i312), i286, i229, i297, i312)
1540_1_sin_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), i257), i286, i229, i297, i322) → 1581_0_fact_Return(EOS(STATIC_1581), i286, i229, i297, i322, i257)
1581_0_fact_Return(EOS(STATIC_1581), i286, i229, i297, i322, i257) → 1590_0_sin_IntArithmetic(EOS(STATIC_1590), i286, i229, i297, i257)
1590_0_sin_IntArithmetic(EOS(STATIC_1590), i286, i229, i297, i257) → 1598_0_sin_Load(EOS(STATIC_1598), i286, i229, /(i297, i257)) | >=(i257, 1)
1598_0_sin_Load(EOS(STATIC_1598), i286, i229, i327) → 1611_0_sin_Load(EOS(STATIC_1611), i229, i327, i286)
1611_0_sin_Load(EOS(STATIC_1611), i229, i327, i286) → 1617_0_sin_ConstantStackPush(EOS(STATIC_1617), i327, i286, i229)
1617_0_sin_ConstantStackPush(EOS(STATIC_1617), i327, i286, i229) → 1625_0_sin_IntArithmetic(EOS(STATIC_1625), i327, i286, i229, 1)
1625_0_sin_IntArithmetic(EOS(STATIC_1625), i327, i286, i229, matching1) → 1634_0_sin_InvokeMethod(EOS(STATIC_1634), i327, i286, -(i229, 1)) | &&(>(i229, 0), =(matching1, 1))
1634_0_sin_InvokeMethod(EOS(STATIC_1634), i327, i286, i335) → 1642_1_sin_InvokeMethod(1642_0_sin_Load(EOS(STATIC_1642), i286, i335), i327, i286, i335)
1642_0_sin_Load(EOS(STATIC_1642), i286, i335) → 1652_0_sin_Load(EOS(STATIC_1652), i286, i335)
1652_0_sin_Load(EOS(STATIC_1652), i286, i335) → 1154_0_sin_Load(EOS(STATIC_1154), i286, i335)
1154_0_sin_Load(EOS(STATIC_1154), i210, i211) → 1162_0_sin_GT(EOS(STATIC_1162), i210, i211, i211)
R rules:
1222_0_power_Load(EOS(STATIC_1222), matching1, i217) → 1238_0_power_Load(EOS(STATIC_1238), -1, i217) | =(matching1, -1)
1238_0_power_Load(EOS(STATIC_1238), matching1, i217) → 654_0_power_Load(EOS(STATIC_654), -1, i217) | =(matching1, -1)
1405_0_power_Load(EOS(STATIC_1405), i210, i269) → 1416_0_power_Load(EOS(STATIC_1416), i210, i269)
1416_0_power_Load(EOS(STATIC_1416), i210, i269) → 654_0_power_Load(EOS(STATIC_654), i210, i269)
1540_0_fact_Load(EOS(STATIC_1540), i312) → 1557_0_fact_Load(EOS(STATIC_1557), i312)
1557_0_fact_Load(EOS(STATIC_1557), i312) → 1054_0_fact_Load(EOS(STATIC_1054), i312)
763_0_power_Load(EOS(STATIC_763), i78) → 654_0_power_Load(EOS(STATIC_654), i78, i102)
1147_0_fact_Load(EOS(STATIC_1147)) → 1054_0_fact_Load(EOS(STATIC_1054), i207)
654_0_power_Load(EOS(STATIC_654), i78, i79) → 667_0_power_GT(EOS(STATIC_667), i78, i79, i79)
667_0_power_GT(EOS(STATIC_667), i78, matching1, matching2) → 676_0_power_GT(EOS(STATIC_676), i78, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
667_0_power_GT(EOS(STATIC_667), i78, i87, i87) → 677_0_power_GT(EOS(STATIC_677), i78, i87, i87)
676_0_power_GT(EOS(STATIC_676), i78, matching1, matching2) → 688_0_power_ConstantStackPush(EOS(STATIC_688), i78, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
677_0_power_GT(EOS(STATIC_677), i78, i87, i87) → 689_0_power_Load(EOS(STATIC_689), i78, i87) | >(i87, 0)
688_0_power_ConstantStackPush(EOS(STATIC_688), i78, matching1) → 697_0_power_Return(EOS(STATIC_697), i78, 0, 1) | =(matching1, 0)
689_0_power_Load(EOS(STATIC_689), i78, i87) → 699_0_power_Load(EOS(STATIC_699), i78, i87, i78)
699_0_power_Load(EOS(STATIC_699), i78, i87, i78) → 708_0_power_Load(EOS(STATIC_708), i87, i78, i78)
708_0_power_Load(EOS(STATIC_708), i87, i78, i78) → 721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87)
721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87) → 731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87)
731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87) → 743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) | >(i87, 0)
743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) → 751_1_power_InvokeMethod(751_0_power_Load(EOS(STATIC_751), i78), i78, i78)
751_0_power_Load(EOS(STATIC_751), i78) → 763_0_power_Load(EOS(STATIC_763), i78)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), i112, matching1, matching2), i112, i112) → 804_0_power_Return(EOS(STATIC_804), i112, i112, 0, i112, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i167), i173, i173) → 1047_0_power_Return(EOS(STATIC_1047), i173, i173, i167)
804_0_power_Return(EOS(STATIC_804), i112, i112, matching1, i112, matching2, matching3) → 810_0_power_IntArithmetic(EOS(STATIC_810), i112, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
810_0_power_IntArithmetic(EOS(STATIC_810), i112, matching1) → 985_0_power_IntArithmetic(EOS(STATIC_985), i112, 1) | =(matching1, 1)
972_0_power_Return(EOS(STATIC_972), i160, i160, i161) → 985_0_power_IntArithmetic(EOS(STATIC_985), i160, i161)
985_0_power_IntArithmetic(EOS(STATIC_985), i160, i161) → 996_0_power_Return(EOS(STATIC_996), *(i160, i161))
1047_0_power_Return(EOS(STATIC_1047), i173, i173, i167) → 972_0_power_Return(EOS(STATIC_972), i173, i173, i167)
1054_0_fact_Load(EOS(STATIC_1054), i187) → 1061_0_fact_GT(EOS(STATIC_1061), i187, i187)
1061_0_fact_GT(EOS(STATIC_1061), matching1, matching2) → 1067_0_fact_GT(EOS(STATIC_1067), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1061_0_fact_GT(EOS(STATIC_1061), i191, i191) → 1068_0_fact_GT(EOS(STATIC_1068), i191, i191)
1067_0_fact_GT(EOS(STATIC_1067), matching1, matching2) → 1078_0_fact_ConstantStackPush(EOS(STATIC_1078), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1068_0_fact_GT(EOS(STATIC_1068), i191, i191) → 1080_0_fact_Load(EOS(STATIC_1080), i191) | >(i191, 0)
1078_0_fact_ConstantStackPush(EOS(STATIC_1078), matching1) → 1088_0_fact_Return(EOS(STATIC_1088), 0, 1) | =(matching1, 0)
1080_0_fact_Load(EOS(STATIC_1080), i191) → 1090_0_fact_Load(EOS(STATIC_1090), i191, i191)
1090_0_fact_Load(EOS(STATIC_1090), i191, i191) → 1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191)
1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191) → 1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191)
1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191) → 1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) | >(i191, 0)
1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) → 1137_1_fact_InvokeMethod(1137_0_fact_Load(EOS(STATIC_1137)), i191)
1137_0_fact_Load(EOS(STATIC_1137)) → 1147_0_fact_Load(EOS(STATIC_1147))
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), matching1, matching2), i191) → 1177_0_fact_Return(EOS(STATIC_1177), i191, 0, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), i257), i191) → 1398_0_fact_Return(EOS(STATIC_1398), i191, i257)
1177_0_fact_Return(EOS(STATIC_1177), i191, matching1, matching2, matching3) → 1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191, matching1) → 1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191, 1) | =(matching1, 1)
1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191, i224) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191, i224)
1323_0_fact_Return(EOS(STATIC_1323), i191, i248) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191, i248)
1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191, i248) → 1350_0_fact_Return(EOS(STATIC_1350), *(i191, i248)) | &&(>=(i191, 1), >=(i248, 1))
1398_0_fact_Return(EOS(STATIC_1398), i191, i257) → 1323_0_fact_Return(EOS(STATIC_1323), i191, i257)
1162_0_sin_GT(EOS(STATIC_1162), i210, matching1, matching2) → 1175_0_sin_GT(EOS(STATIC_1175), i210, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1175_0_sin_GT(EOS(STATIC_1175), i210, matching1, matching2) → 1184_0_sin_Load(EOS(STATIC_1184), i210, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1184_0_sin_Load(EOS(STATIC_1184), i210, matching1) → 1195_0_sin_Return(EOS(STATIC_1195), i210, 0, i210) | =(matching1, 0)
1642_1_sin_InvokeMethod(1195_0_sin_Return(EOS(STATIC_1195), i346, matching1, i346), i327, i346, matching2) → 1682_0_sin_Return(EOS(STATIC_1682), i327, i346, 0, i346, 0, i346) | &&(=(matching1, 0), =(matching2, 0))
1642_1_sin_InvokeMethod(1760_0_sin_Return(EOS(STATIC_1760), i379), i327, i389, i390) → 1806_0_sin_Return(EOS(STATIC_1806), i327, i389, i390, i379)
1682_0_sin_Return(EOS(STATIC_1682), i327, i346, matching1, i346, matching2, i346) → 1691_0_sin_IntArithmetic(EOS(STATIC_1691), i327, i346) | &&(=(matching1, 0), =(matching2, 0))
1691_0_sin_IntArithmetic(EOS(STATIC_1691), i327, i346) → 1748_0_sin_IntArithmetic(EOS(STATIC_1748), i327, i346)
1737_0_sin_Return(EOS(STATIC_1737), i327, i366, i367, i355) → 1748_0_sin_IntArithmetic(EOS(STATIC_1748), i327, i355)
1748_0_sin_IntArithmetic(EOS(STATIC_1748), i327, i355) → 1760_0_sin_Return(EOS(STATIC_1760), +(i327, i355))
1806_0_sin_Return(EOS(STATIC_1806), i327, i389, i390, i379) → 1737_0_sin_Return(EOS(STATIC_1737), i327, i389, i390, i379)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1222_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x2, -1, x2) → 1405_1_sin_InvokeMethod(1405_0_power_Load(EOS(STATIC_1405), x1, +(*(2, x2), 1)), x1, x2, x0, x1, +(*(2, x2), 1)) | &&(>(+(x2, 1), 1), <(0, *(2, x2)))
1405_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x2, x3, x1, x4) → 1540_1_sin_InvokeMethod(1540_0_fact_Load(EOS(STATIC_1540), +(*(2, x2), 1)), x1, x2, *(x3, x0), +(*(2, x2), 1)) | &&(>(+(x2, 1), 1), <(0, *(2, x2)))
1540_1_sin_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), x0), x1, x2, x3, x4) → 1642_1_sin_InvokeMethod(1222_1_sin_InvokeMethod(1222_0_power_Load(EOS(STATIC_1222), -1, -(x2, 1)), x1, -(x2, 1), -1, -(x2, 1)), /(x3, x0), x1, -(x2, 1)) | &&(>(x2, 1), >(+(x0, 1), 1))
R rules:
1222_0_power_Load(EOS(STATIC_1222), -1, x1) → 667_0_power_GT(EOS(STATIC_667), -1, x1, x1)
1405_0_power_Load(EOS(STATIC_1405), x0, x1) → 667_0_power_GT(EOS(STATIC_667), x0, x1, x1)
1540_0_fact_Load(EOS(STATIC_1540), x0) → 1061_0_fact_GT(EOS(STATIC_1061), x0, x0)
667_0_power_GT(EOS(STATIC_667), x0, 0, 0) → 697_0_power_Return(EOS(STATIC_697), x0, 0, 1)
667_0_power_GT(EOS(STATIC_667), x0, x1, x1) → 751_1_power_InvokeMethod(667_0_power_GT(EOS(STATIC_667), x0, x2, x2), x0, x0) | >(x1, 0)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), arith[1], 0, 1), arith[1], arith[1]) → 996_0_power_Return(EOS(STATIC_996), arith[1])
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x1) → 996_0_power_Return(EOS(STATIC_996), *(x1, x0))
1061_0_fact_GT(EOS(STATIC_1061), 0, 0) → 1088_0_fact_Return(EOS(STATIC_1088), 0, 1)
1061_0_fact_GT(EOS(STATIC_1061), x0, x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), x1, x1), x0) | >(x0, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), 0, 1), arith[1]) → 1350_0_fact_Return(EOS(STATIC_1350), arith[1]) | >(+(arith[1], 1), 1)
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), x0), x1) → 1350_0_fact_Return(EOS(STATIC_1350), *(x1, x0)) | &&(>(+(x1, 1), 1), >(+(x0, 1), 1))
1642_1_sin_InvokeMethod(1195_0_sin_Return(EOS(STATIC_1195), x0, 0, x0), x2, x0, 0) → 1760_0_sin_Return(EOS(STATIC_1760), +(x2, x0))
1642_1_sin_InvokeMethod(1760_0_sin_Return(EOS(STATIC_1760), x0), x1, x2, x3) → 1760_0_sin_Return(EOS(STATIC_1760), +(x1, x0))
Filtered ground terms:
1222_0_power_Load(x1, x2, x3) → 1222_0_power_Load(x3)
1222_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1222_1_sin_InvokeMethod(x1, x2, x3, x5)
1350_0_fact_Return(x1, x2) → 1350_0_fact_Return(x2)
1540_0_fact_Load(x1, x2) → 1540_0_fact_Load(x2)
996_0_power_Return(x1, x2) → 996_0_power_Return(x2)
1405_0_power_Load(x1, x2, x3) → 1405_0_power_Load(x2, x3)
Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x4, x6)
1760_0_sin_Return(x1, x2) → 1760_0_sin_Return(x2)
1195_0_sin_Return(x1, x2, x3, x4) → 1195_0_sin_Return(x2, x4)
Cond_1137_1_fact_InvokeMethod(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod(x1, x3)
1088_0_fact_Return(x1, x2, x3) → 1088_0_fact_Return
1061_0_fact_GT(x1, x2, x3) → 1061_0_fact_GT(x2, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1061_0_fact_GT(x1, x3, x4, x5)
697_0_power_Return(x1, x2, x3, x4) → 697_0_power_Return(x2)
667_0_power_GT(x1, x2, x3, x4) → 667_0_power_GT(x2, x3, x4)
Cond_667_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_667_0_power_GT(x1, x3, x4, x5, x6)
Filtered duplicate args:
1222_1_sin_InvokeMethod(x1, x2, x3, x4) → 1222_1_sin_InvokeMethod(x1, x2, x4)
Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x5)
1405_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → 1405_1_sin_InvokeMethod(x1, x3, x4, x5, x6)
Cond_1405_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1405_1_sin_InvokeMethod(x1, x2, x4, x5, x6, x7)
667_0_power_GT(x1, x2, x3) → 667_0_power_GT(x1, x3)
1061_0_fact_GT(x1, x2) → 1061_0_fact_GT(x2)
Cond_667_0_power_GT(x1, x2, x3, x4, x5) → Cond_667_0_power_GT(x1, x2, x4, x5)
751_1_power_InvokeMethod(x1, x2, x3) → 751_1_power_InvokeMethod(x1, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4) → Cond_1061_0_fact_GT(x1, x3, x4)
1195_0_sin_Return(x1, x2) → 1195_0_sin_Return(x2)
Filtered unneeded arguments:
1222_1_sin_InvokeMethod(x1, x2, x3) → 1222_1_sin_InvokeMethod(x1, x3)
Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x4) → Cond_1222_1_sin_InvokeMethod(x1, x4)
1405_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1405_1_sin_InvokeMethod(x1, x2)
Cond_1405_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1405_1_sin_InvokeMethod(x1, x3)
1540_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1540_1_sin_InvokeMethod(x1, x3)
Cond_1540_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1540_1_sin_InvokeMethod(x1, x4)
1642_1_sin_InvokeMethod(x1, x2, x3, x4) → 1642_1_sin_InvokeMethod(x1, x4)
667_0_power_GT(x1, x2) → 667_0_power_GT(x2)
Cond_667_0_power_GT(x1, x2, x3, x4) → Cond_667_0_power_GT(x1, x4)
751_1_power_InvokeMethod(x1, x2) → 751_1_power_InvokeMethod(x1)
1405_0_power_Load(x1, x2) → 1405_0_power_Load(x2)
Combined rules. Obtained 3 conditional rules for P and 13 conditional rules for R.
P rules:
1222_1_sin_InvokeMethod(996_0_power_Return(x0), x2) → 1405_1_sin_InvokeMethod(1405_0_power_Load(+(*(2, x2), 1)), x2) | &&(>(x2, 0), <(0, *(2, x2)))
1405_1_sin_InvokeMethod(996_0_power_Return(x0), x2) → 1540_1_sin_InvokeMethod(1540_0_fact_Load(+(*(2, x2), 1)), x2) | &&(>(x2, 0), <(0, *(2, x2)))
1540_1_sin_InvokeMethod(1350_0_fact_Return(x0), x2) → 1642_1_sin_InvokeMethod(1222_1_sin_InvokeMethod(1222_0_power_Load(-(x2, 1)), -(x2, 1)), -(x2, 1)) | &&(>(x2, 1), >(x0, 0))
R rules:
1222_0_power_Load(x1) → 667_0_power_GT(x1)
1405_0_power_Load(x1) → 667_0_power_GT(x1)
1540_0_fact_Load(x0) → 1061_0_fact_GT(x0)
667_0_power_GT(0) → 697_0_power_Return(x0)
667_0_power_GT(x1) → 751_1_power_InvokeMethod(667_0_power_GT(x2)) | >(x1, 0)
751_1_power_InvokeMethod(697_0_power_Return(arith[1])) → 996_0_power_Return(arith[1])
751_1_power_InvokeMethod(996_0_power_Return(x0)) → 996_0_power_Return(*(x1, x0))
1061_0_fact_GT(0) → 1088_0_fact_Return
1061_0_fact_GT(x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(x1), x0) | >(x0, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return, arith[1]) → 1350_0_fact_Return(arith[1]) | >(arith[1], 0)
1137_1_fact_InvokeMethod(1350_0_fact_Return(x0), x1) → 1350_0_fact_Return(*(x1, x0)) | &&(>(x1, 0), >(x0, 0))
1642_1_sin_InvokeMethod(1195_0_sin_Return(x0), 0) → 1760_0_sin_Return(+(x2, x0))
1642_1_sin_InvokeMethod(1760_0_sin_Return(x0), x3) → 1760_0_sin_Return(+(x1, x0))
Performed bisimulation on rules. Used the following equivalence classes: {[996_0_power_Return_1, 1350_0_fact_Return_1]=996_0_power_Return_1, [697_0_power_Return_1, 1195_0_sin_Return_1]=697_0_power_Return_1}
Finished conversion. Obtained 6 rules for P and 17 rules for R. System has predefined symbols.
P rules:
1222_1_SIN_INVOKEMETHOD(996_0_power_Return(x0), x2) → COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2, 0), <(0, *(2, x2))), 996_0_power_Return(x0), x2)
COND_1222_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0), x2) → 1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2), 1)), x2)
1405_1_SIN_INVOKEMETHOD(996_0_power_Return(x0), x2) → COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2, 0), <(0, *(2, x2))), 996_0_power_Return(x0), x2)
COND_1405_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0), x2) → 1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2), 1)), x2)
1540_1_SIN_INVOKEMETHOD(996_0_power_Return(x0), x2) → COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2, 1), >(x0, 0)), 996_0_power_Return(x0), x2)
COND_1540_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0), x2) → 1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2, 1)), -(x2, 1))
R rules:
1222_0_power_Load(x1) → 667_0_power_GT(x1)
1405_0_power_Load(x1) → 667_0_power_GT(x1)
1540_0_fact_Load(x0) → 1061_0_fact_GT(x0)
667_0_power_GT(0) → 697_0_power_Return(x0)
667_0_power_GT(x1) → Cond_667_0_power_GT(>(x1, 0), x1, x2)
Cond_667_0_power_GT(TRUE, x1, x2) → 751_1_power_InvokeMethod(667_0_power_GT(x2))
751_1_power_InvokeMethod(697_0_power_Return(arith[1])) → 996_0_power_Return(arith[1])
751_1_power_InvokeMethod(996_0_power_Return(x0)) → 996_0_power_Return(*(x1, x0))
1061_0_fact_GT(0) → 1088_0_fact_Return
1061_0_fact_GT(x0) → Cond_1061_0_fact_GT(>(x0, 0), x0, x1)
Cond_1061_0_fact_GT(TRUE, x0, x1) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(x1), x0)
1137_1_fact_InvokeMethod(1088_0_fact_Return, arith[1]) → Cond_1137_1_fact_InvokeMethod(>(arith[1], 0), 1088_0_fact_Return, arith[1])
Cond_1137_1_fact_InvokeMethod(TRUE, 1088_0_fact_Return, arith[1]) → 996_0_power_Return(arith[1])
1137_1_fact_InvokeMethod(996_0_power_Return(x0), x1) → Cond_1137_1_fact_InvokeMethod1(&&(>(x1, 0), >(x0, 0)), 996_0_power_Return(x0), x1)
Cond_1137_1_fact_InvokeMethod1(TRUE, 996_0_power_Return(x0), x1) → 996_0_power_Return(*(x1, x0))
1642_1_sin_InvokeMethod(697_0_power_Return(x0), 0) → 1760_0_sin_Return(+(x2, x0))
1642_1_sin_InvokeMethod(1760_0_sin_Return(x0), x3) → 1760_0_sin_Return(+(x1, x0))
!= | ~ | 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 |
Integer, Boolean
(0) -> (1), if (x2[0] > 0 && 0 < 2 * x2[0] ∧996_0_power_Return(x0[0]) →* 996_0_power_Return(x0[1])∧x2[0] →* x2[1])
(1) -> (2), if (1405_0_power_Load(2 * x2[1] + 1) →* 996_0_power_Return(x0[2])∧x2[1] →* x2[2])
(2) -> (3), if (x2[2] > 0 && 0 < 2 * x2[2] ∧996_0_power_Return(x0[2]) →* 996_0_power_Return(x0[3])∧x2[2] →* x2[3])
(3) -> (4), if (1540_0_fact_Load(2 * x2[3] + 1) →* 996_0_power_Return(x0[4])∧x2[3] →* x2[4])
(4) -> (5), if (x2[4] > 1 && x0[4] > 0 ∧996_0_power_Return(x0[4]) →* 996_0_power_Return(x0[5])∧x2[4] →* x2[5])
(5) -> (0), if (1222_0_power_Load(x2[5] - 1) →* 996_0_power_Return(x0[0])∧x2[5] - 1 →* x2[0])
(1) (&&(>(x2[0], 0), <(0, *(2, x2[0])))=TRUE∧996_0_power_Return(x0[0])=996_0_power_Return(x0[1])∧x2[0]=x2[1] ⇒ 1222_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[0]), x2[0])≥NonInfC∧1222_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[0]), x2[0])≥COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])∧(UIncreasing(COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])), ≥))
(2) (>(x2[0], 0)=TRUE∧<(0, *(2, x2[0]))=TRUE ⇒ 1222_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[0]), x2[0])≥NonInfC∧1222_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[0]), x2[0])≥COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])∧(UIncreasing(COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])), ≥))
(3) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])), ≥)∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧[(-1)bso_36] ≥ 0)
(4) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])), ≥)∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧[(-1)bso_36] ≥ 0)
(5) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])), ≥)∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧[(-1)bso_36] ≥ 0)
(6) (x2[0] + [-1] ≥ 0∧[2]x2[0] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])), ≥)∧0 = 0∧[(2)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧0 = 0∧[(-1)bso_36] ≥ 0)
(7) (x2[0] ≥ 0∧[1] + [2]x2[0] ≥ 0 ⇒ (UIncreasing(COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])), ≥)∧0 = 0∧[(4)bni_35 + (-1)Bound*bni_35] + [(2)bni_35]x2[0] ≥ 0∧0 = 0∧[(-1)bso_36] ≥ 0)
(8) (COND_1222_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[1]), x2[1])≥NonInfC∧COND_1222_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[1]), x2[1])≥1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2[1]), 1)), x2[1])∧(UIncreasing(1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥))
(9) ((UIncreasing(1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(10) ((UIncreasing(1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(11) ((UIncreasing(1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧[(-1)bso_38] ≥ 0)
(12) ((UIncreasing(1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2[1]), 1)), x2[1])), ≥)∧[bni_37] = 0∧0 = 0∧0 = 0∧[(-1)bso_38] ≥ 0)
(13) (&&(>(x2[2], 0), <(0, *(2, x2[2])))=TRUE∧996_0_power_Return(x0[2])=996_0_power_Return(x0[3])∧x2[2]=x2[3] ⇒ 1405_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[2]), x2[2])≥NonInfC∧1405_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[2]), x2[2])≥COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])∧(UIncreasing(COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])), ≥))
(14) (>(x2[2], 0)=TRUE∧<(0, *(2, x2[2]))=TRUE ⇒ 1405_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[2]), x2[2])≥NonInfC∧1405_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[2]), x2[2])≥COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])∧(UIncreasing(COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])), ≥))
(15) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])), ≥)∧[(2)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧[1 + (-1)bso_40] ≥ 0)
(16) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])), ≥)∧[(2)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧[1 + (-1)bso_40] ≥ 0)
(17) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])), ≥)∧[(2)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧[1 + (-1)bso_40] ≥ 0)
(18) (x2[2] + [-1] ≥ 0∧[2]x2[2] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])), ≥)∧0 = 0∧[(2)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧0 = 0∧[1 + (-1)bso_40] ≥ 0)
(19) (x2[2] ≥ 0∧[1] + [2]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])), ≥)∧0 = 0∧[(4)bni_39 + (-1)Bound*bni_39] + [(2)bni_39]x2[2] ≥ 0∧0 = 0∧[1 + (-1)bso_40] ≥ 0)
(20) (COND_1405_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[3]), x2[3])≥NonInfC∧COND_1405_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[3]), x2[3])≥1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])∧(UIncreasing(1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥))
(21) ((UIncreasing(1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧[(-1)bso_42] ≥ 0)
(22) ((UIncreasing(1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧[(-1)bso_42] ≥ 0)
(23) ((UIncreasing(1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧[(-1)bso_42] ≥ 0)
(24) ((UIncreasing(1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])), ≥)∧[bni_41] = 0∧0 = 0∧0 = 0∧[(-1)bso_42] ≥ 0)
(25) (&&(>(x2[4], 1), >(x0[4], 0))=TRUE∧996_0_power_Return(x0[4])=996_0_power_Return(x0[5])∧x2[4]=x2[5] ⇒ 1540_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[4]), x2[4])≥NonInfC∧1540_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[4]), x2[4])≥COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])∧(UIncreasing(COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])), ≥))
(26) (>(x2[4], 1)=TRUE∧>(x0[4], 0)=TRUE ⇒ 1540_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[4]), x2[4])≥NonInfC∧1540_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[4]), x2[4])≥COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])∧(UIncreasing(COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])), ≥))
(27) (x2[4] + [-2] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])), ≥)∧[bni_43 + (-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[1 + (-1)bso_44] ≥ 0)
(28) (x2[4] + [-2] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])), ≥)∧[bni_43 + (-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[1 + (-1)bso_44] ≥ 0)
(29) (x2[4] + [-2] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])), ≥)∧[bni_43 + (-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[1 + (-1)bso_44] ≥ 0)
(30) (x2[4] ≥ 0∧x0[4] + [-1] ≥ 0 ⇒ (UIncreasing(COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])), ≥)∧[(5)bni_43 + (-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[1 + (-1)bso_44] ≥ 0)
(31) (x2[4] ≥ 0∧x0[4] ≥ 0 ⇒ (UIncreasing(COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])), ≥)∧[(5)bni_43 + (-1)Bound*bni_43] + [(2)bni_43]x2[4] ≥ 0∧[1 + (-1)bso_44] ≥ 0)
(32) (COND_1540_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[5]), x2[5])≥NonInfC∧COND_1540_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[5]), x2[5])≥1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2[5], 1)), -(x2[5], 1))∧(UIncreasing(1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥))
(33) ((UIncreasing(1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(34) ((UIncreasing(1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(35) ((UIncreasing(1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧[(-1)bso_46] ≥ 0)
(36) ((UIncreasing(1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2[5], 1)), -(x2[5], 1))), ≥)∧[bni_45] = 0∧0 = 0∧0 = 0∧[(-1)bso_46] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1222_0_power_Load(x1)) = [-1] + [-1]x1
POL(667_0_power_GT(x1)) = [-1] + [-1]x1
POL(1405_0_power_Load(x1)) = [-1] + [-1]x1
POL(1540_0_fact_Load(x1)) = [-1] + [-1]x1
POL(1061_0_fact_GT(x1)) = [-1] + [-1]x1
POL(0) = 0
POL(697_0_power_Return(x1)) = x1
POL(Cond_667_0_power_GT(x1, x2, x3)) = [-1] + [-1]x2
POL(>(x1, x2)) = [-1]
POL(751_1_power_InvokeMethod(x1)) = [1] + [-1]x1
POL(996_0_power_Return(x1)) = x1
POL(*(x1, x2)) = x1·x2
POL(1088_0_fact_Return) = [-1]
POL(Cond_1061_0_fact_GT(x1, x2, x3)) = [-1] + x2
POL(1137_1_fact_InvokeMethod(x1, x2)) = [2] + [-1]x1 + [-1]x2
POL(Cond_1137_1_fact_InvokeMethod(x1, x2, x3)) = [-1] + [-1]x3
POL(Cond_1137_1_fact_InvokeMethod1(x1, x2, x3)) = [2] + [-1]x3 + [-1]x2
POL(&&(x1, x2)) = [-1]
POL(1642_1_sin_InvokeMethod(x1, x2)) = [-1] + [-1]x1
POL(1760_0_sin_Return(x1)) = x1
POL(+(x1, x2)) = x1 + x2
POL(1222_1_SIN_INVOKEMETHOD(x1, x2)) = [2] + [2]x2
POL(COND_1222_1_SIN_INVOKEMETHOD(x1, x2, x3)) = [2] + [2]x3
POL(<(x1, x2)) = [-1]
POL(2) = [2]
POL(1405_1_SIN_INVOKEMETHOD(x1, x2)) = [2] + [2]x2
POL(1) = [1]
POL(COND_1405_1_SIN_INVOKEMETHOD(x1, x2, x3)) = [1] + [2]x3
POL(1540_1_SIN_INVOKEMETHOD(x1, x2)) = [1] + [2]x2
POL(COND_1540_1_SIN_INVOKEMETHOD(x1, x2, x3)) = [2]x3
POL(-(x1, x2)) = x1 + [-1]x2
1405_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[2]), x2[2]) → COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])
1540_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[4]), x2[4]) → COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])
1222_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[0]), x2[0]) → COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])
1405_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[2]), x2[2]) → COND_1405_1_SIN_INVOKEMETHOD(&&(>(x2[2], 0), <(0, *(2, x2[2]))), 996_0_power_Return(x0[2]), x2[2])
1540_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[4]), x2[4]) → COND_1540_1_SIN_INVOKEMETHOD(&&(>(x2[4], 1), >(x0[4], 0)), 996_0_power_Return(x0[4]), x2[4])
1222_1_SIN_INVOKEMETHOD(996_0_power_Return(x0[0]), x2[0]) → COND_1222_1_SIN_INVOKEMETHOD(&&(>(x2[0], 0), <(0, *(2, x2[0]))), 996_0_power_Return(x0[0]), x2[0])
COND_1222_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[1]), x2[1]) → 1405_1_SIN_INVOKEMETHOD(1405_0_power_Load(+(*(2, x2[1]), 1)), x2[1])
COND_1405_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[3]), x2[3]) → 1540_1_SIN_INVOKEMETHOD(1540_0_fact_Load(+(*(2, x2[3]), 1)), x2[3])
COND_1540_1_SIN_INVOKEMETHOD(TRUE, 996_0_power_Return(x0[5]), x2[5]) → 1222_1_SIN_INVOKEMETHOD(1222_0_power_Load(-(x2[5], 1)), -(x2[5], 1))
1405_0_power_Load(x1)1 → 667_0_power_GT(x1)1
667_0_power_GT(x1)1 → Cond_667_0_power_GT(>(x1, 0), x1, x2)1
1540_0_fact_Load(x0)1 → 1061_0_fact_GT(x0)1
1061_0_fact_GT(0)1 ↔ 1088_0_fact_Return1
1137_1_fact_InvokeMethod(1088_0_fact_Return, arith[1])1 → Cond_1137_1_fact_InvokeMethod(>(arith[1], 0), 1088_0_fact_Return, arith[1])1
!= | ~ | 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 |
Integer, Boolean
(5) -> (0), if (1222_0_power_Load(x2[5] - 1) →* 996_0_power_Return(x0[0])∧x2[5] - 1 →* x2[0])
(0) -> (1), if (x2[0] > 0 && 0 < 2 * x2[0] ∧996_0_power_Return(x0[0]) →* 996_0_power_Return(x0[1])∧x2[0] →* x2[1])
Generated 87 rules for P and 178 rules for R.
P rules:
1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(i8)), i317, i317) → 1564_0_main_ArrayLength(EOS(STATIC_1564), java.lang.Object(ARRAY(i8)), i317, i317, java.lang.Object(ARRAY(i8)))
1564_0_main_ArrayLength(EOS(STATIC_1564), java.lang.Object(ARRAY(i8)), i317, i317, java.lang.Object(ARRAY(i8))) → 1572_0_main_GE(EOS(STATIC_1572), java.lang.Object(ARRAY(i8)), i317, i317, i8) | >=(i8, 0)
1572_0_main_GE(EOS(STATIC_1572), java.lang.Object(ARRAY(i8)), i317, i317, i8) → 1584_0_main_GE(EOS(STATIC_1584), java.lang.Object(ARRAY(i8)), i317, i317, i8)
1584_0_main_GE(EOS(STATIC_1584), java.lang.Object(ARRAY(i8)), i317, i317, i8) → 1593_0_main_Load(EOS(STATIC_1593), java.lang.Object(ARRAY(i8)), i317) | <(i317, i8)
1593_0_main_Load(EOS(STATIC_1593), java.lang.Object(ARRAY(i8)), i317) → 1601_0_main_ConstantStackPush(EOS(STATIC_1601), java.lang.Object(ARRAY(i8)), i317, i317)
1601_0_main_ConstantStackPush(EOS(STATIC_1601), java.lang.Object(ARRAY(i8)), i317, i317) → 1612_0_main_IntArithmetic(EOS(STATIC_1612), java.lang.Object(ARRAY(i8)), i317, i317, 2)
1612_0_main_IntArithmetic(EOS(STATIC_1612), java.lang.Object(ARRAY(i8)), i317, i317, matching1) → 1620_0_main_NE(EOS(STATIC_1620), java.lang.Object(ARRAY(i8)), i317, %(i317, 2)) | =(matching1, 2)
1620_0_main_NE(EOS(STATIC_1620), java.lang.Object(ARRAY(i8)), i317, matching1) → 1628_0_main_NE(EOS(STATIC_1628), java.lang.Object(ARRAY(i8)), i317, 1) | =(matching1, 1)
1620_0_main_NE(EOS(STATIC_1620), java.lang.Object(ARRAY(i8)), i317, matching1) → 1629_0_main_NE(EOS(STATIC_1629), java.lang.Object(ARRAY(i8)), i317, 0) | =(matching1, 0)
1628_0_main_NE(EOS(STATIC_1628), java.lang.Object(ARRAY(i8)), i317, matching1) → 1635_0_main_Load(EOS(STATIC_1635), java.lang.Object(ARRAY(i8)), i317) | &&(>(1, 0), =(matching1, 1))
1635_0_main_Load(EOS(STATIC_1635), java.lang.Object(ARRAY(i8)), i317) → 1644_0_main_ConstantStackPush(EOS(STATIC_1644), java.lang.Object(ARRAY(i8)), i317, i317)
1644_0_main_ConstantStackPush(EOS(STATIC_1644), java.lang.Object(ARRAY(i8)), i317, i317) → 1654_0_main_IntArithmetic(EOS(STATIC_1654), java.lang.Object(ARRAY(i8)), i317, i317, 3)
1654_0_main_IntArithmetic(EOS(STATIC_1654), java.lang.Object(ARRAY(i8)), i317, i317, matching1) → 1661_0_main_NE(EOS(STATIC_1661), java.lang.Object(ARRAY(i8)), i317, %(i317, 3)) | =(matching1, 3)
1661_0_main_NE(EOS(STATIC_1661), java.lang.Object(ARRAY(i8)), i317, i347) → 1672_0_main_NE(EOS(STATIC_1672), java.lang.Object(ARRAY(i8)), i317, i347)
1661_0_main_NE(EOS(STATIC_1661), java.lang.Object(ARRAY(i8)), i317, matching1) → 1673_0_main_NE(EOS(STATIC_1673), java.lang.Object(ARRAY(i8)), i317, 0) | =(matching1, 0)
1672_0_main_NE(EOS(STATIC_1672), java.lang.Object(ARRAY(i8)), i317, i347) → 1683_0_main_Load(EOS(STATIC_1683), java.lang.Object(ARRAY(i8)), i317) | >(i347, 0)
1683_0_main_Load(EOS(STATIC_1683), java.lang.Object(ARRAY(i8)), i317) → 1693_0_main_ConstantStackPush(EOS(STATIC_1693), java.lang.Object(ARRAY(i8)), i317, i317)
1693_0_main_ConstantStackPush(EOS(STATIC_1693), java.lang.Object(ARRAY(i8)), i317, i317) → 1703_0_main_IntArithmetic(EOS(STATIC_1703), java.lang.Object(ARRAY(i8)), i317, i317, 5)
1703_0_main_IntArithmetic(EOS(STATIC_1703), java.lang.Object(ARRAY(i8)), i317, i317, matching1) → 1716_0_main_NE(EOS(STATIC_1716), java.lang.Object(ARRAY(i8)), i317, %(i317, 5)) | =(matching1, 5)
1716_0_main_NE(EOS(STATIC_1716), java.lang.Object(ARRAY(i8)), i317, i370) → 1728_0_main_NE(EOS(STATIC_1728), java.lang.Object(ARRAY(i8)), i317, i370)
1716_0_main_NE(EOS(STATIC_1716), java.lang.Object(ARRAY(i8)), i317, matching1) → 1729_0_main_NE(EOS(STATIC_1729), java.lang.Object(ARRAY(i8)), i317, 0) | =(matching1, 0)
1728_0_main_NE(EOS(STATIC_1728), java.lang.Object(ARRAY(i8)), i317, i370) → 1739_0_main_ConstantStackPush(EOS(STATIC_1739), java.lang.Object(ARRAY(i8)), i317) | >(i370, 0)
1739_0_main_ConstantStackPush(EOS(STATIC_1739), java.lang.Object(ARRAY(i8)), i317) → 1752_0_main_Store(EOS(STATIC_1752), java.lang.Object(ARRAY(i8)), i317, 0)
1752_0_main_Store(EOS(STATIC_1752), java.lang.Object(ARRAY(i8)), i317, matching1) → 1764_0_main_Load(EOS(STATIC_1764), java.lang.Object(ARRAY(i8)), i317, 0) | =(matching1, 0)
1764_0_main_Load(EOS(STATIC_1764), java.lang.Object(ARRAY(i8)), i317, matching1) → 1835_0_main_Load(EOS(STATIC_1835), java.lang.Object(ARRAY(i8)), i317, 0) | =(matching1, 0)
1835_0_main_Load(EOS(STATIC_1835), java.lang.Object(ARRAY(i8)), i317, i420) → 1887_0_main_Load(EOS(STATIC_1887), java.lang.Object(ARRAY(i8)), i317, i420)
1887_0_main_Load(EOS(STATIC_1887), java.lang.Object(ARRAY(i8)), i317, i446) → 1908_0_main_Load(EOS(STATIC_1908), java.lang.Object(ARRAY(i8)), i317, i446)
1908_0_main_Load(EOS(STATIC_1908), java.lang.Object(ARRAY(i8)), i317, i455) → 1921_0_main_Load(EOS(STATIC_1921), java.lang.Object(ARRAY(i8)), i317, i455)
1921_0_main_Load(EOS(STATIC_1921), java.lang.Object(ARRAY(i8)), i317, i458) → 1923_0_main_ConstantStackPush(EOS(STATIC_1923), java.lang.Object(ARRAY(i8)), i317, i458, i458)
1923_0_main_ConstantStackPush(EOS(STATIC_1923), java.lang.Object(ARRAY(i8)), i317, i458, i458) → 1925_0_main_GE(EOS(STATIC_1925), java.lang.Object(ARRAY(i8)), i317, i458, i458, 100)
1925_0_main_GE(EOS(STATIC_1925), java.lang.Object(ARRAY(i8)), i317, i461, i461, matching1) → 1927_0_main_GE(EOS(STATIC_1927), java.lang.Object(ARRAY(i8)), i317, i461, i461, 100) | =(matching1, 100)
1925_0_main_GE(EOS(STATIC_1925), java.lang.Object(ARRAY(i8)), i317, matching1, matching2, matching3) → 1928_0_main_GE(EOS(STATIC_1928), java.lang.Object(ARRAY(i8)), i317, 100, 100, 100) | &&(&&(=(matching1, 100), =(matching2, 100)), =(matching3, 100))
1927_0_main_GE(EOS(STATIC_1927), java.lang.Object(ARRAY(i8)), i317, i461, i461, matching1) → 1929_0_main_Inc(EOS(STATIC_1929), java.lang.Object(ARRAY(i8)), i317, i461) | &&(<(i461, 100), =(matching1, 100))
1929_0_main_Inc(EOS(STATIC_1929), java.lang.Object(ARRAY(i8)), i317, i461) → 1936_0_main_JMP(EOS(STATIC_1936), java.lang.Object(ARRAY(i8)), i317, +(i461, 1)) | >=(i461, 0)
1936_0_main_JMP(EOS(STATIC_1936), java.lang.Object(ARRAY(i8)), i317, i467) → 1940_0_main_Load(EOS(STATIC_1940), java.lang.Object(ARRAY(i8)), i317, i467)
1940_0_main_Load(EOS(STATIC_1940), java.lang.Object(ARRAY(i8)), i317, i467) → 1921_0_main_Load(EOS(STATIC_1921), java.lang.Object(ARRAY(i8)), i317, i467)
1928_0_main_GE(EOS(STATIC_1928), java.lang.Object(ARRAY(i8)), i317, matching1, matching2, matching3) → 1933_0_main_Inc(EOS(STATIC_1933), java.lang.Object(ARRAY(i8)), i317) | &&(&&(=(matching1, 100), =(matching2, 100)), =(matching3, 100))
1933_0_main_Inc(EOS(STATIC_1933), java.lang.Object(ARRAY(i8)), i317) → 1938_0_main_JMP(EOS(STATIC_1938), java.lang.Object(ARRAY(i8)), +(i317, 1)) | >=(i317, 0)
1938_0_main_JMP(EOS(STATIC_1938), java.lang.Object(ARRAY(i8)), i468) → 1943_0_main_Load(EOS(STATIC_1943), java.lang.Object(ARRAY(i8)), i468)
1943_0_main_Load(EOS(STATIC_1943), java.lang.Object(ARRAY(i8)), i468) → 1549_0_main_Load(EOS(STATIC_1549), java.lang.Object(ARRAY(i8)), i468)
1549_0_main_Load(EOS(STATIC_1549), java.lang.Object(ARRAY(i8)), i317) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(i8)), i317, i317)
1729_0_main_NE(EOS(STATIC_1729), java.lang.Object(ARRAY(i8)), i317, matching1) → 1741_0_main_Load(EOS(STATIC_1741), java.lang.Object(ARRAY(i8)), i317) | =(matching1, 0)
1741_0_main_Load(EOS(STATIC_1741), java.lang.Object(ARRAY(i8)), i317) → 1754_0_main_ArrayLength(EOS(STATIC_1754), java.lang.Object(ARRAY(i8)), i317, java.lang.Object(ARRAY(i8)))
1754_0_main_ArrayLength(EOS(STATIC_1754), java.lang.Object(ARRAY(i8)), i317, java.lang.Object(ARRAY(i8))) → 1765_0_main_Load(EOS(STATIC_1765), java.lang.Object(ARRAY(i8)), i317, i8) | >=(i8, 0)
1765_0_main_Load(EOS(STATIC_1765), java.lang.Object(ARRAY(i8)), i317, i8) → 1778_0_main_InvokeMethod(EOS(STATIC_1778), java.lang.Object(ARRAY(i8)), i317, i8, i317)
1778_0_main_InvokeMethod(EOS(STATIC_1778), java.lang.Object(ARRAY(i8)), i317, i8, i317) → 1795_1_main_InvokeMethod(1795_0_exp_Load(EOS(STATIC_1795), i8, i317), java.lang.Object(ARRAY(i8)), i317, i8, i317)
1795_1_main_InvokeMethod(1338_0_exp_Return(EOS(STATIC_1338), i424, matching1), java.lang.Object(ARRAY(i8)), matching2, i424, matching3) → 1849_0_exp_Return(EOS(STATIC_1849), java.lang.Object(ARRAY(i424)), 0, i424, 0, i424, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1795_1_main_InvokeMethod(1676_0_exp_Return(EOS(STATIC_1676)), java.lang.Object(ARRAY(i8)), i426, i425, i426) → 1850_0_exp_Return(EOS(STATIC_1850), java.lang.Object(ARRAY(i425)), i426, i425, i426)
1849_0_exp_Return(EOS(STATIC_1849), java.lang.Object(ARRAY(i424)), matching1, i424, matching2, i424, matching3) → 1859_0_main_StackPop(EOS(STATIC_1859), java.lang.Object(ARRAY(i424)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1859_0_main_StackPop(EOS(STATIC_1859), java.lang.Object(ARRAY(i424)), matching1) → 1867_0_main_JMP(EOS(STATIC_1867), java.lang.Object(ARRAY(i424)), 0) | =(matching1, 0)
1867_0_main_JMP(EOS(STATIC_1867), java.lang.Object(ARRAY(i424)), matching1) → 1876_0_main_Inc(EOS(STATIC_1876), java.lang.Object(ARRAY(i424)), 0) | =(matching1, 0)
1876_0_main_Inc(EOS(STATIC_1876), java.lang.Object(ARRAY(i424)), matching1) → 1933_0_main_Inc(EOS(STATIC_1933), java.lang.Object(ARRAY(i424)), 0) | =(matching1, 0)
1850_0_exp_Return(EOS(STATIC_1850), java.lang.Object(ARRAY(i425)), i426, i425, i426) → 1862_0_main_StackPop(EOS(STATIC_1862), java.lang.Object(ARRAY(i425)), i426)
1862_0_main_StackPop(EOS(STATIC_1862), java.lang.Object(ARRAY(i425)), i426) → 1869_0_main_JMP(EOS(STATIC_1869), java.lang.Object(ARRAY(i425)), i426)
1869_0_main_JMP(EOS(STATIC_1869), java.lang.Object(ARRAY(i425)), i426) → 1880_0_main_Inc(EOS(STATIC_1880), java.lang.Object(ARRAY(i425)), i426)
1880_0_main_Inc(EOS(STATIC_1880), java.lang.Object(ARRAY(i425)), i426) → 1933_0_main_Inc(EOS(STATIC_1933), java.lang.Object(ARRAY(i425)), i426)
1673_0_main_NE(EOS(STATIC_1673), java.lang.Object(ARRAY(i8)), i317, matching1) → 1685_0_main_Load(EOS(STATIC_1685), java.lang.Object(ARRAY(i8)), i317) | =(matching1, 0)
1685_0_main_Load(EOS(STATIC_1685), java.lang.Object(ARRAY(i8)), i317) → 1695_0_main_ArrayLength(EOS(STATIC_1695), java.lang.Object(ARRAY(i8)), i317, java.lang.Object(ARRAY(i8)))
1695_0_main_ArrayLength(EOS(STATIC_1695), java.lang.Object(ARRAY(i8)), i317, java.lang.Object(ARRAY(i8))) → 1705_0_main_Load(EOS(STATIC_1705), java.lang.Object(ARRAY(i8)), i317, i8) | >=(i8, 0)
1705_0_main_Load(EOS(STATIC_1705), java.lang.Object(ARRAY(i8)), i317, i8) → 1718_0_main_InvokeMethod(EOS(STATIC_1718), java.lang.Object(ARRAY(i8)), i317, i8, i317)
1718_0_main_InvokeMethod(EOS(STATIC_1718), java.lang.Object(ARRAY(i8)), i317, i8, i317) → 1731_1_main_InvokeMethod(1731_0_cos_Load(EOS(STATIC_1731), i8, i317), java.lang.Object(ARRAY(i8)), i317, i8, i317)
1731_1_main_InvokeMethod(1258_0_cos_Return(EOS(STATIC_1258), i383, matching1), java.lang.Object(ARRAY(i8)), matching2, i383, matching3) → 1779_0_cos_Return(EOS(STATIC_1779), java.lang.Object(ARRAY(i383)), 0, i383, 0, i383, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1731_1_main_InvokeMethod(1771_0_cos_Return(EOS(STATIC_1771)), java.lang.Object(ARRAY(i8)), i399, i398, i399) → 1821_0_cos_Return(EOS(STATIC_1821), java.lang.Object(ARRAY(i398)), i399, i398, i399)
1779_0_cos_Return(EOS(STATIC_1779), java.lang.Object(ARRAY(i383)), matching1, i383, matching2, i383, matching3) → 1797_0_main_StackPop(EOS(STATIC_1797), java.lang.Object(ARRAY(i383)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1797_0_main_StackPop(EOS(STATIC_1797), java.lang.Object(ARRAY(i383)), matching1) → 1817_0_main_JMP(EOS(STATIC_1817), java.lang.Object(ARRAY(i383)), 0) | =(matching1, 0)
1817_0_main_JMP(EOS(STATIC_1817), java.lang.Object(ARRAY(i383)), matching1) → 1826_0_main_Inc(EOS(STATIC_1826), java.lang.Object(ARRAY(i383)), 0) | =(matching1, 0)
1826_0_main_Inc(EOS(STATIC_1826), java.lang.Object(ARRAY(i383)), matching1) → 1876_0_main_Inc(EOS(STATIC_1876), java.lang.Object(ARRAY(i383)), 0) | =(matching1, 0)
1821_0_cos_Return(EOS(STATIC_1821), java.lang.Object(ARRAY(i398)), i399, i398, i399) → 1829_0_main_StackPop(EOS(STATIC_1829), java.lang.Object(ARRAY(i398)), i399)
1829_0_main_StackPop(EOS(STATIC_1829), java.lang.Object(ARRAY(i398)), i399) → 1846_0_main_JMP(EOS(STATIC_1846), java.lang.Object(ARRAY(i398)), i399)
1846_0_main_JMP(EOS(STATIC_1846), java.lang.Object(ARRAY(i398)), i399) → 1855_0_main_Inc(EOS(STATIC_1855), java.lang.Object(ARRAY(i398)), i399)
1855_0_main_Inc(EOS(STATIC_1855), java.lang.Object(ARRAY(i398)), i399) → 1880_0_main_Inc(EOS(STATIC_1880), java.lang.Object(ARRAY(i398)), i399)
1629_0_main_NE(EOS(STATIC_1629), java.lang.Object(ARRAY(i8)), i317, matching1) → 1637_0_main_Load(EOS(STATIC_1637), java.lang.Object(ARRAY(i8)), i317) | =(matching1, 0)
1637_0_main_Load(EOS(STATIC_1637), java.lang.Object(ARRAY(i8)), i317) → 1645_0_main_ArrayLength(EOS(STATIC_1645), java.lang.Object(ARRAY(i8)), i317, java.lang.Object(ARRAY(i8)))
1645_0_main_ArrayLength(EOS(STATIC_1645), java.lang.Object(ARRAY(i8)), i317, java.lang.Object(ARRAY(i8))) → 1656_0_main_Load(EOS(STATIC_1656), java.lang.Object(ARRAY(i8)), i317, i8) | >=(i8, 0)
1656_0_main_Load(EOS(STATIC_1656), java.lang.Object(ARRAY(i8)), i317, i8) → 1663_0_main_InvokeMethod(EOS(STATIC_1663), java.lang.Object(ARRAY(i8)), i317, i8, i317)
1663_0_main_InvokeMethod(EOS(STATIC_1663), java.lang.Object(ARRAY(i8)), i317, i8, i317) → 1675_1_main_InvokeMethod(1675_0_sin_Load(EOS(STATIC_1675), i8, i317), java.lang.Object(ARRAY(i8)), i317, i8, i317)
1675_1_main_InvokeMethod(1195_0_sin_Return(EOS(STATIC_1195), i358, matching1, i358), java.lang.Object(ARRAY(i8)), matching2, i358, matching3) → 1719_0_sin_Return(EOS(STATIC_1719), java.lang.Object(ARRAY(i358)), 0, i358, 0, i358, 0, i358) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1675_1_main_InvokeMethod(1760_0_sin_Return(EOS(STATIC_1760), i379), java.lang.Object(ARRAY(i8)), i392, i391, i392) → 1809_0_sin_Return(EOS(STATIC_1809), java.lang.Object(ARRAY(i391)), i392, i391, i392, i379)
1719_0_sin_Return(EOS(STATIC_1719), java.lang.Object(ARRAY(i358)), matching1, i358, matching2, i358, matching3, i358) → 1733_0_main_StackPop(EOS(STATIC_1733), java.lang.Object(ARRAY(i358)), 0, i358) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
1733_0_main_StackPop(EOS(STATIC_1733), java.lang.Object(ARRAY(i358)), matching1, i358) → 1744_0_main_JMP(EOS(STATIC_1744), java.lang.Object(ARRAY(i358)), 0) | =(matching1, 0)
1744_0_main_JMP(EOS(STATIC_1744), java.lang.Object(ARRAY(i358)), matching1) → 1756_0_main_Inc(EOS(STATIC_1756), java.lang.Object(ARRAY(i358)), 0) | =(matching1, 0)
1756_0_main_Inc(EOS(STATIC_1756), java.lang.Object(ARRAY(i358)), matching1) → 1826_0_main_Inc(EOS(STATIC_1826), java.lang.Object(ARRAY(i358)), 0) | =(matching1, 0)
1809_0_sin_Return(EOS(STATIC_1809), java.lang.Object(ARRAY(i391)), i392, i391, i392, i379) → 1738_0_sin_Return(EOS(STATIC_1738), java.lang.Object(ARRAY(i391)), i392, i391, i392, i379)
1738_0_sin_Return(EOS(STATIC_1738), java.lang.Object(ARRAY(i368)), i369, i368, i369, i355) → 1751_0_main_StackPop(EOS(STATIC_1751), java.lang.Object(ARRAY(i368)), i369, i355)
1751_0_main_StackPop(EOS(STATIC_1751), java.lang.Object(ARRAY(i368)), i369, i355) → 1762_0_main_JMP(EOS(STATIC_1762), java.lang.Object(ARRAY(i368)), i369)
1762_0_main_JMP(EOS(STATIC_1762), java.lang.Object(ARRAY(i368)), i369) → 1775_0_main_Inc(EOS(STATIC_1775), java.lang.Object(ARRAY(i368)), i369)
1775_0_main_Inc(EOS(STATIC_1775), java.lang.Object(ARRAY(i368)), i369) → 1855_0_main_Inc(EOS(STATIC_1855), java.lang.Object(ARRAY(i368)), i369)
R rules:
1795_0_exp_Load(EOS(STATIC_1795), i8, i317) → 1816_0_exp_Load(EOS(STATIC_1816), i8, i317)
1816_0_exp_Load(EOS(STATIC_1816), i8, i317) → 1281_0_exp_Load(EOS(STATIC_1281), i8, i317)
1731_0_cos_Load(EOS(STATIC_1731), i8, i317) → 1743_0_cos_Load(EOS(STATIC_1743), i8, i317)
1743_0_cos_Load(EOS(STATIC_1743), i8, i317) → 1207_0_cos_Load(EOS(STATIC_1207), i8, i317)
1675_0_sin_Load(EOS(STATIC_1675), i8, i317) → 1687_0_sin_Load(EOS(STATIC_1687), i8, i317)
1687_0_sin_Load(EOS(STATIC_1687), i8, i317) → 1154_0_sin_Load(EOS(STATIC_1154), i8, i317)
1389_0_power_Load(EOS(STATIC_1389), i8, i245) → 654_0_power_Load(EOS(STATIC_654), i8, i245)
1467_0_fact_Load(EOS(STATIC_1467), i277) → 1054_0_fact_Load(EOS(STATIC_1054), i277)
1586_0_exp_Load(EOS(STATIC_1586), i276) → 1281_0_exp_Load(EOS(STATIC_1281), i276, i320)
1313_0_power_Load(EOS(STATIC_1313), i225) → 654_0_power_Load(EOS(STATIC_654), -1, i225)
1455_0_power_Load(EOS(STATIC_1455), i8) → 654_0_power_Load(EOS(STATIC_654), i8, i281)
1562_0_fact_Load(EOS(STATIC_1562)) → 1054_0_fact_Load(EOS(STATIC_1054), i315)
1659_0_cos_Load(EOS(STATIC_1659), i295) → 1207_0_cos_Load(EOS(STATIC_1207), i295, i336)
1238_0_power_Load(EOS(STATIC_1238), i217) → 654_0_power_Load(EOS(STATIC_654), -1, i217)
1416_0_power_Load(EOS(STATIC_1416), i210) → 654_0_power_Load(EOS(STATIC_654), i210, i269)
1557_0_fact_Load(EOS(STATIC_1557)) → 1054_0_fact_Load(EOS(STATIC_1054), i312)
1652_0_sin_Load(EOS(STATIC_1652), i286) → 1154_0_sin_Load(EOS(STATIC_1154), i286, i335)
763_0_power_Load(EOS(STATIC_763), i78) → 654_0_power_Load(EOS(STATIC_654), i78, i102)
1147_0_fact_Load(EOS(STATIC_1147)) → 1054_0_fact_Load(EOS(STATIC_1054), i207)
1281_0_exp_Load(EOS(STATIC_1281), i8, i236) → 1294_0_exp_GT(EOS(STATIC_1294), i8, i236, i236)
1294_0_exp_GT(EOS(STATIC_1294), i8, matching1, matching2) → 1308_0_exp_GT(EOS(STATIC_1308), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1294_0_exp_GT(EOS(STATIC_1294), i8, i245, i245) → 1309_0_exp_GT(EOS(STATIC_1309), i8, i245, i245)
1308_0_exp_GT(EOS(STATIC_1308), i8, matching1, matching2) → 1326_0_exp_ConstantStackPush(EOS(STATIC_1326), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1309_0_exp_GT(EOS(STATIC_1309), i8, i245, i245) → 1328_0_exp_Load(EOS(STATIC_1328), i8, i245) | >(i245, 0)
1326_0_exp_ConstantStackPush(EOS(STATIC_1326), i8, matching1) → 1338_0_exp_Return(EOS(STATIC_1338), i8, 0) | =(matching1, 0)
1328_0_exp_Load(EOS(STATIC_1328), i8, i245) → 1340_0_exp_Load(EOS(STATIC_1340), i8, i245, i8)
1340_0_exp_Load(EOS(STATIC_1340), i8, i245, i8) → 1361_0_exp_InvokeMethod(EOS(STATIC_1361), i8, i245, i8, i245)
1361_0_exp_InvokeMethod(EOS(STATIC_1361), i8, i245, i8, i245) → 1376_1_exp_InvokeMethod(1376_0_power_Load(EOS(STATIC_1376), i8, i245), i8, i245, i8, i245)
1376_0_power_Load(EOS(STATIC_1376), i8, i245) → 1389_0_power_Load(EOS(STATIC_1389), i8, i245)
1376_1_exp_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i167), i276, i277, i276, i277) → 1429_0_power_Return(EOS(STATIC_1429), i276, i277, i276, i277, i167)
1429_0_power_Return(EOS(STATIC_1429), i276, i277, i276, i277, i167) → 1436_0_exp_Load(EOS(STATIC_1436), i276, i277, i167)
1436_0_exp_Load(EOS(STATIC_1436), i276, i277, i167) → 1453_0_exp_InvokeMethod(EOS(STATIC_1453), i276, i277, i167, i277)
1453_0_exp_InvokeMethod(EOS(STATIC_1453), i276, i277, i167, i277) → 1461_1_exp_InvokeMethod(1461_0_fact_Load(EOS(STATIC_1461), i277), i276, i277, i167, i277)
1461_0_fact_Load(EOS(STATIC_1461), i277) → 1467_0_fact_Load(EOS(STATIC_1467), i277)
1461_1_exp_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), i257), i276, i304, i167, i304) → 1507_0_fact_Return(EOS(STATIC_1507), i276, i304, i167, i304, i257)
1507_0_fact_Return(EOS(STATIC_1507), i276, i304, i167, i304, i257) → 1516_0_exp_IntArithmetic(EOS(STATIC_1516), i276, i304, i167, i257)
1516_0_exp_IntArithmetic(EOS(STATIC_1516), i276, i304, i167, i257) → 1528_0_exp_Load(EOS(STATIC_1528), i276, i304) | >=(i257, 1)
1528_0_exp_Load(EOS(STATIC_1528), i276, i304) → 1537_0_exp_Load(EOS(STATIC_1537), i304, i276)
1537_0_exp_Load(EOS(STATIC_1537), i304, i276) → 1553_0_exp_ConstantStackPush(EOS(STATIC_1553), i276, i304)
1553_0_exp_ConstantStackPush(EOS(STATIC_1553), i276, i304) → 1560_0_exp_IntArithmetic(EOS(STATIC_1560), i276, i304)
1560_0_exp_IntArithmetic(EOS(STATIC_1560), i276, i304) → 1565_0_exp_InvokeMethod(EOS(STATIC_1565), i276) | >(i304, 0)
1565_0_exp_InvokeMethod(EOS(STATIC_1565), i276) → 1574_1_exp_InvokeMethod(1574_0_exp_Load(EOS(STATIC_1574), i276), i276)
1574_0_exp_Load(EOS(STATIC_1574), i276) → 1586_0_exp_Load(EOS(STATIC_1586), i276)
1574_1_exp_InvokeMethod(1338_0_exp_Return(EOS(STATIC_1338), i331, matching1), i331) → 1614_0_exp_Return(EOS(STATIC_1614), i331, 0, i331, 0) | =(matching1, 0)
1574_1_exp_InvokeMethod(1676_0_exp_Return(EOS(STATIC_1676)), i353) → 1711_0_exp_Return(EOS(STATIC_1711), i353)
1614_0_exp_Return(EOS(STATIC_1614), i331, matching1, i331, matching2) → 1622_0_exp_IntArithmetic(EOS(STATIC_1622)) | &&(=(matching1, 0), =(matching2, 0))
1622_0_exp_IntArithmetic(EOS(STATIC_1622)) → 1666_0_exp_IntArithmetic(EOS(STATIC_1666))
1657_0_exp_Return(EOS(STATIC_1657), i338) → 1666_0_exp_IntArithmetic(EOS(STATIC_1666))
1666_0_exp_IntArithmetic(EOS(STATIC_1666)) → 1676_0_exp_Return(EOS(STATIC_1676))
1711_0_exp_Return(EOS(STATIC_1711), i353) → 1657_0_exp_Return(EOS(STATIC_1657), i353)
1207_0_cos_Load(EOS(STATIC_1207), i8, i219) → 1218_0_cos_GT(EOS(STATIC_1218), i8, i219, i219)
1218_0_cos_GT(EOS(STATIC_1218), i8, matching1, matching2) → 1234_0_cos_GT(EOS(STATIC_1234), i8, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1218_0_cos_GT(EOS(STATIC_1218), i8, i225, i225) → 1235_0_cos_GT(EOS(STATIC_1235), i8, i225, i225)
1234_0_cos_GT(EOS(STATIC_1234), i8, matching1, matching2) → 1246_0_cos_ConstantStackPush(EOS(STATIC_1246), i8, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1235_0_cos_GT(EOS(STATIC_1235), i8, i225, i225) → 1248_0_cos_ConstantStackPush(EOS(STATIC_1248), i8, i225) | >(i225, 0)
1246_0_cos_ConstantStackPush(EOS(STATIC_1246), i8, matching1) → 1258_0_cos_Return(EOS(STATIC_1258), i8, 0) | =(matching1, 0)
1248_0_cos_ConstantStackPush(EOS(STATIC_1248), i8, i225) → 1260_0_cos_Load(EOS(STATIC_1260), i8, i225)
1260_0_cos_Load(EOS(STATIC_1260), i8, i225) → 1284_0_cos_InvokeMethod(EOS(STATIC_1284), i8, i225, i225)
1284_0_cos_InvokeMethod(EOS(STATIC_1284), i8, i225, i225) → 1298_1_cos_InvokeMethod(1298_0_power_Load(EOS(STATIC_1298), i225), i8, i225, i225)
1298_0_power_Load(EOS(STATIC_1298), i225) → 1313_0_power_Load(EOS(STATIC_1313), i225)
1298_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i167), i8, i256, i256) → 1366_0_power_Return(EOS(STATIC_1366), i8, i256, i256, i167)
1366_0_power_Return(EOS(STATIC_1366), i8, i256, i256, i167) → 1380_0_cos_Load(EOS(STATIC_1380), i8, i256, i167)
1380_0_cos_Load(EOS(STATIC_1380), i8, i256, i167) → 1394_0_cos_ConstantStackPush(EOS(STATIC_1394), i8, i256, i167, i8)
1394_0_cos_ConstantStackPush(EOS(STATIC_1394), i8, i256, i167, i8) → 1403_0_cos_Load(EOS(STATIC_1403), i8, i256, i167, i8)
1403_0_cos_Load(EOS(STATIC_1403), i8, i256, i167, i8) → 1414_0_cos_IntArithmetic(EOS(STATIC_1414), i8, i256, i167, i8, i256)
1414_0_cos_IntArithmetic(EOS(STATIC_1414), i8, i256, i167, i8, i256) → 1431_0_cos_InvokeMethod(EOS(STATIC_1431), i8, i256, i167, i8) | >=(i256, 1)
1431_0_cos_InvokeMethod(EOS(STATIC_1431), i8, i256, i167, i8) → 1438_1_cos_InvokeMethod(1438_0_power_Load(EOS(STATIC_1438), i8), i8, i256, i167, i8)
1438_0_power_Load(EOS(STATIC_1438), i8) → 1455_0_power_Load(EOS(STATIC_1455), i8)
1438_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i294), i295, i256, i167, i295) → 1488_0_power_Return(EOS(STATIC_1488), i295, i256, i167, i295, i294)
1488_0_power_Return(EOS(STATIC_1488), i295, i256, i167, i295, i294) → 1500_0_cos_IntArithmetic(EOS(STATIC_1500), i295, i256, i167, i294)
1500_0_cos_IntArithmetic(EOS(STATIC_1500), i295, i256, i167, i294) → 1509_0_cos_ConstantStackPush(EOS(STATIC_1509), i295, i256)
1509_0_cos_ConstantStackPush(EOS(STATIC_1509), i295, i256) → 1518_0_cos_Load(EOS(STATIC_1518), i295, i256)
1518_0_cos_Load(EOS(STATIC_1518), i295, i256) → 1530_0_cos_IntArithmetic(EOS(STATIC_1530), i295, i256, i256)
1530_0_cos_IntArithmetic(EOS(STATIC_1530), i295, i256, i256) → 1538_0_cos_InvokeMethod(EOS(STATIC_1538), i295, i256) | >=(i256, 1)
1538_0_cos_InvokeMethod(EOS(STATIC_1538), i295, i256) → 1555_1_cos_InvokeMethod(1555_0_fact_Load(EOS(STATIC_1555)), i295, i256)
1555_0_fact_Load(EOS(STATIC_1555)) → 1562_0_fact_Load(EOS(STATIC_1562))
1555_1_cos_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), i257), i295, i256) → 1588_0_fact_Return(EOS(STATIC_1588), i295, i256, i257)
1588_0_fact_Return(EOS(STATIC_1588), i295, i256, i257) → 1596_0_cos_IntArithmetic(EOS(STATIC_1596), i295, i256, i257)
1596_0_cos_IntArithmetic(EOS(STATIC_1596), i295, i256, i257) → 1609_0_cos_Load(EOS(STATIC_1609), i295, i256) | >=(i257, 1)
1609_0_cos_Load(EOS(STATIC_1609), i295, i256) → 1615_0_cos_Load(EOS(STATIC_1615), i256, i295)
1615_0_cos_Load(EOS(STATIC_1615), i256, i295) → 1624_0_cos_ConstantStackPush(EOS(STATIC_1624), i295, i256)
1624_0_cos_ConstantStackPush(EOS(STATIC_1624), i295, i256) → 1632_0_cos_IntArithmetic(EOS(STATIC_1632), i295, i256)
1632_0_cos_IntArithmetic(EOS(STATIC_1632), i295, i256) → 1640_0_cos_InvokeMethod(EOS(STATIC_1640), i295) | >(i256, 0)
1640_0_cos_InvokeMethod(EOS(STATIC_1640), i295) → 1651_1_cos_InvokeMethod(1651_0_cos_Load(EOS(STATIC_1651), i295), i295)
1651_0_cos_Load(EOS(STATIC_1651), i295) → 1659_0_cos_Load(EOS(STATIC_1659), i295)
1651_1_cos_InvokeMethod(1258_0_cos_Return(EOS(STATIC_1258), i351, matching1), i351) → 1690_0_cos_Return(EOS(STATIC_1690), i351, 0, i351, 0) | =(matching1, 0)
1651_1_cos_InvokeMethod(1771_0_cos_Return(EOS(STATIC_1771)), i396) → 1820_0_cos_Return(EOS(STATIC_1820), i396)
1690_0_cos_Return(EOS(STATIC_1690), i351, matching1, i351, matching2) → 1700_0_cos_IntArithmetic(EOS(STATIC_1700)) | &&(=(matching1, 0), =(matching2, 0))
1700_0_cos_IntArithmetic(EOS(STATIC_1700)) → 1758_0_cos_IntArithmetic(EOS(STATIC_1758))
1746_0_cos_Return(EOS(STATIC_1746), i372) → 1758_0_cos_IntArithmetic(EOS(STATIC_1758))
1758_0_cos_IntArithmetic(EOS(STATIC_1758)) → 1771_0_cos_Return(EOS(STATIC_1771))
1820_0_cos_Return(EOS(STATIC_1820), i396) → 1746_0_cos_Return(EOS(STATIC_1746), i396)
1154_0_sin_Load(EOS(STATIC_1154), i210, i211) → 1162_0_sin_GT(EOS(STATIC_1162), i210, i211, i211)
1162_0_sin_GT(EOS(STATIC_1162), i210, matching1, matching2) → 1175_0_sin_GT(EOS(STATIC_1175), i210, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1162_0_sin_GT(EOS(STATIC_1162), i210, i217, i217) → 1176_0_sin_GT(EOS(STATIC_1176), i210, i217, i217)
1175_0_sin_GT(EOS(STATIC_1175), i210, matching1, matching2) → 1184_0_sin_Load(EOS(STATIC_1184), i210, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1176_0_sin_GT(EOS(STATIC_1176), i210, i217, i217) → 1186_0_sin_ConstantStackPush(EOS(STATIC_1186), i210, i217) | >(i217, 0)
1184_0_sin_Load(EOS(STATIC_1184), i210, matching1) → 1195_0_sin_Return(EOS(STATIC_1195), i210, 0, i210) | =(matching1, 0)
1186_0_sin_ConstantStackPush(EOS(STATIC_1186), i210, i217) → 1197_0_sin_Load(EOS(STATIC_1197), i210, i217)
1197_0_sin_Load(EOS(STATIC_1197), i210, i217) → 1210_0_sin_InvokeMethod(EOS(STATIC_1210), i210, i217, i217)
1210_0_sin_InvokeMethod(EOS(STATIC_1210), i210, i217, i217) → 1222_1_sin_InvokeMethod(1222_0_power_Load(EOS(STATIC_1222), i217), i210, i217, i217)
1222_0_power_Load(EOS(STATIC_1222), i217) → 1238_0_power_Load(EOS(STATIC_1238), i217)
1222_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i167), i210, i229, i229) → 1288_0_power_Return(EOS(STATIC_1288), i210, i229, i229, i167)
1288_0_power_Return(EOS(STATIC_1288), i210, i229, i229, i167) → 1302_0_sin_Load(EOS(STATIC_1302), i210, i229, i167)
1302_0_sin_Load(EOS(STATIC_1302), i210, i229, i167) → 1317_0_sin_ConstantStackPush(EOS(STATIC_1317), i210, i229, i167, i210)
1317_0_sin_ConstantStackPush(EOS(STATIC_1317), i210, i229, i167, i210) → 1332_0_sin_Load(EOS(STATIC_1332), i210, i229, i167, i210)
1332_0_sin_Load(EOS(STATIC_1332), i210, i229, i167, i210) → 1348_0_sin_IntArithmetic(EOS(STATIC_1348), i210, i229, i167, i210, i229)
1348_0_sin_IntArithmetic(EOS(STATIC_1348), i210, i229, i167, i210, i229) → 1368_0_sin_ConstantStackPush(EOS(STATIC_1368), i210, i229, i167, i210) | >=(i229, 1)
1368_0_sin_ConstantStackPush(EOS(STATIC_1368), i210, i229, i167, i210) → 1381_0_sin_IntArithmetic(EOS(STATIC_1381), i210, i229, i167, i210)
1381_0_sin_IntArithmetic(EOS(STATIC_1381), i210, i229, i167, i210) → 1395_0_sin_InvokeMethod(EOS(STATIC_1395), i210, i229, i167, i210)
1395_0_sin_InvokeMethod(EOS(STATIC_1395), i210, i229, i167, i210) → 1405_1_sin_InvokeMethod(1405_0_power_Load(EOS(STATIC_1405), i210), i210, i229, i167, i210)
1405_0_power_Load(EOS(STATIC_1405), i210) → 1416_0_power_Load(EOS(STATIC_1416), i210)
1405_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i285), i286, i229, i167, i286) → 1458_0_power_Return(EOS(STATIC_1458), i286, i229, i167, i286, i285)
1458_0_power_Return(EOS(STATIC_1458), i286, i229, i167, i286, i285) → 1463_0_sin_IntArithmetic(EOS(STATIC_1463), i286, i229, i167, i285)
1463_0_sin_IntArithmetic(EOS(STATIC_1463), i286, i229, i167, i285) → 1476_0_sin_ConstantStackPush(EOS(STATIC_1476), i286, i229, *(i167, i285))
1476_0_sin_ConstantStackPush(EOS(STATIC_1476), i286, i229, i297) → 1489_0_sin_Load(EOS(STATIC_1489), i286, i229, i297)
1489_0_sin_Load(EOS(STATIC_1489), i286, i229, i297) → 1501_0_sin_IntArithmetic(EOS(STATIC_1501), i286, i229, i297, i229)
1501_0_sin_IntArithmetic(EOS(STATIC_1501), i286, i229, i297, i229) → 1511_0_sin_ConstantStackPush(EOS(STATIC_1511), i286, i229, i297) | >=(i229, 1)
1511_0_sin_ConstantStackPush(EOS(STATIC_1511), i286, i229, i297) → 1520_0_sin_IntArithmetic(EOS(STATIC_1520), i286, i229, i297)
1520_0_sin_IntArithmetic(EOS(STATIC_1520), i286, i229, i297) → 1532_0_sin_InvokeMethod(EOS(STATIC_1532), i286, i229, i297)
1532_0_sin_InvokeMethod(EOS(STATIC_1532), i286, i229, i297) → 1540_1_sin_InvokeMethod(1540_0_fact_Load(EOS(STATIC_1540)), i286, i229, i297)
1540_0_fact_Load(EOS(STATIC_1540)) → 1557_0_fact_Load(EOS(STATIC_1557))
1540_1_sin_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), i257), i286, i229, i297) → 1581_0_fact_Return(EOS(STATIC_1581), i286, i229, i297, i257)
1581_0_fact_Return(EOS(STATIC_1581), i286, i229, i297, i257) → 1590_0_sin_IntArithmetic(EOS(STATIC_1590), i286, i229, i297, i257)
1590_0_sin_IntArithmetic(EOS(STATIC_1590), i286, i229, i297, i257) → 1598_0_sin_Load(EOS(STATIC_1598), i286, i229, /(i297, i257)) | >=(i257, 1)
1598_0_sin_Load(EOS(STATIC_1598), i286, i229, i327) → 1611_0_sin_Load(EOS(STATIC_1611), i229, i327, i286)
1611_0_sin_Load(EOS(STATIC_1611), i229, i327, i286) → 1617_0_sin_ConstantStackPush(EOS(STATIC_1617), i327, i286, i229)
1617_0_sin_ConstantStackPush(EOS(STATIC_1617), i327, i286, i229) → 1625_0_sin_IntArithmetic(EOS(STATIC_1625), i327, i286, i229)
1625_0_sin_IntArithmetic(EOS(STATIC_1625), i327, i286, i229) → 1634_0_sin_InvokeMethod(EOS(STATIC_1634), i327, i286) | >(i229, 0)
1634_0_sin_InvokeMethod(EOS(STATIC_1634), i327, i286) → 1642_1_sin_InvokeMethod(1642_0_sin_Load(EOS(STATIC_1642), i286), i327, i286)
1642_0_sin_Load(EOS(STATIC_1642), i286) → 1652_0_sin_Load(EOS(STATIC_1652), i286)
1642_1_sin_InvokeMethod(1195_0_sin_Return(EOS(STATIC_1195), i346, matching1, i346), i327, i346) → 1682_0_sin_Return(EOS(STATIC_1682), i327, i346, 0, i346, 0, i346) | =(matching1, 0)
1642_1_sin_InvokeMethod(1760_0_sin_Return(EOS(STATIC_1760), i379), i327, i389) → 1806_0_sin_Return(EOS(STATIC_1806), i327, i389, i379)
1682_0_sin_Return(EOS(STATIC_1682), i327, i346, matching1, i346, matching2, i346) → 1691_0_sin_IntArithmetic(EOS(STATIC_1691), i327, i346) | &&(=(matching1, 0), =(matching2, 0))
1691_0_sin_IntArithmetic(EOS(STATIC_1691), i327, i346) → 1748_0_sin_IntArithmetic(EOS(STATIC_1748), i327, i346)
1737_0_sin_Return(EOS(STATIC_1737), i327, i366, i355) → 1748_0_sin_IntArithmetic(EOS(STATIC_1748), i327, i355)
1748_0_sin_IntArithmetic(EOS(STATIC_1748), i327, i355) → 1760_0_sin_Return(EOS(STATIC_1760), +(i327, i355))
1806_0_sin_Return(EOS(STATIC_1806), i327, i389, i379) → 1737_0_sin_Return(EOS(STATIC_1737), i327, i389, i379)
654_0_power_Load(EOS(STATIC_654), i78, i79) → 667_0_power_GT(EOS(STATIC_667), i78, i79, i79)
667_0_power_GT(EOS(STATIC_667), i78, matching1, matching2) → 676_0_power_GT(EOS(STATIC_676), i78, 0, 0) | &&(=(matching1, 0), =(matching2, 0))
667_0_power_GT(EOS(STATIC_667), i78, i87, i87) → 677_0_power_GT(EOS(STATIC_677), i78, i87, i87)
676_0_power_GT(EOS(STATIC_676), i78, matching1, matching2) → 688_0_power_ConstantStackPush(EOS(STATIC_688), i78, 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
677_0_power_GT(EOS(STATIC_677), i78, i87, i87) → 689_0_power_Load(EOS(STATIC_689), i78, i87) | >(i87, 0)
688_0_power_ConstantStackPush(EOS(STATIC_688), i78, matching1) → 697_0_power_Return(EOS(STATIC_697), i78, 0, 1) | =(matching1, 0)
689_0_power_Load(EOS(STATIC_689), i78, i87) → 699_0_power_Load(EOS(STATIC_699), i78, i87, i78)
699_0_power_Load(EOS(STATIC_699), i78, i87, i78) → 708_0_power_Load(EOS(STATIC_708), i87, i78, i78)
708_0_power_Load(EOS(STATIC_708), i87, i78, i78) → 721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87)
721_0_power_ConstantStackPush(EOS(STATIC_721), i78, i78, i87) → 731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87)
731_0_power_IntArithmetic(EOS(STATIC_731), i78, i78, i87) → 743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) | >(i87, 0)
743_0_power_InvokeMethod(EOS(STATIC_743), i78, i78) → 751_1_power_InvokeMethod(751_0_power_Load(EOS(STATIC_751), i78), i78, i78)
751_0_power_Load(EOS(STATIC_751), i78) → 763_0_power_Load(EOS(STATIC_763), i78)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), i112, matching1, matching2), i112, i112) → 804_0_power_Return(EOS(STATIC_804), i112, i112, 0, i112, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996), i167), i173, i173) → 1047_0_power_Return(EOS(STATIC_1047), i173, i173, i167)
804_0_power_Return(EOS(STATIC_804), i112, i112, matching1, i112, matching2, matching3) → 810_0_power_IntArithmetic(EOS(STATIC_810), i112, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
810_0_power_IntArithmetic(EOS(STATIC_810), i112, matching1) → 985_0_power_IntArithmetic(EOS(STATIC_985), i112, 1) | =(matching1, 1)
972_0_power_Return(EOS(STATIC_972), i160, i160, i161) → 985_0_power_IntArithmetic(EOS(STATIC_985), i160, i161)
985_0_power_IntArithmetic(EOS(STATIC_985), i160, i161) → 996_0_power_Return(EOS(STATIC_996), *(i160, i161))
1047_0_power_Return(EOS(STATIC_1047), i173, i173, i167) → 972_0_power_Return(EOS(STATIC_972), i173, i173, i167)
1054_0_fact_Load(EOS(STATIC_1054), i187) → 1061_0_fact_GT(EOS(STATIC_1061), i187, i187)
1061_0_fact_GT(EOS(STATIC_1061), matching1, matching2) → 1067_0_fact_GT(EOS(STATIC_1067), 0, 0) | &&(=(matching1, 0), =(matching2, 0))
1061_0_fact_GT(EOS(STATIC_1061), i191, i191) → 1068_0_fact_GT(EOS(STATIC_1068), i191, i191)
1067_0_fact_GT(EOS(STATIC_1067), matching1, matching2) → 1078_0_fact_ConstantStackPush(EOS(STATIC_1078), 0) | &&(&&(<=(0, 0), =(matching1, 0)), =(matching2, 0))
1068_0_fact_GT(EOS(STATIC_1068), i191, i191) → 1080_0_fact_Load(EOS(STATIC_1080), i191) | >(i191, 0)
1078_0_fact_ConstantStackPush(EOS(STATIC_1078), matching1) → 1088_0_fact_Return(EOS(STATIC_1088), 0, 1) | =(matching1, 0)
1080_0_fact_Load(EOS(STATIC_1080), i191) → 1090_0_fact_Load(EOS(STATIC_1090), i191, i191)
1090_0_fact_Load(EOS(STATIC_1090), i191, i191) → 1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191)
1104_0_fact_ConstantStackPush(EOS(STATIC_1104), i191, i191) → 1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191)
1116_0_fact_IntArithmetic(EOS(STATIC_1116), i191, i191) → 1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) | >(i191, 0)
1127_0_fact_InvokeMethod(EOS(STATIC_1127), i191) → 1137_1_fact_InvokeMethod(1137_0_fact_Load(EOS(STATIC_1137)), i191)
1137_0_fact_Load(EOS(STATIC_1137)) → 1147_0_fact_Load(EOS(STATIC_1147))
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), matching1, matching2), i191) → 1177_0_fact_Return(EOS(STATIC_1177), i191, 0, 0, 1) | &&(=(matching1, 0), =(matching2, 1))
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), i257), i191) → 1398_0_fact_Return(EOS(STATIC_1398), i191, i257)
1177_0_fact_Return(EOS(STATIC_1177), i191, matching1, matching2, matching3) → 1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191, 1) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 1))
1190_0_fact_IntArithmetic(EOS(STATIC_1190), i191, matching1) → 1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191, 1) | =(matching1, 1)
1254_0_fact_IntArithmetic(EOS(STATIC_1254), i191, i224) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191, i224)
1323_0_fact_Return(EOS(STATIC_1323), i191, i248) → 1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191, i248)
1334_0_fact_IntArithmetic(EOS(STATIC_1334), i191, i248) → 1350_0_fact_Return(EOS(STATIC_1350), *(i191, i248)) | &&(>=(i191, 1), >=(i248, 1))
1398_0_fact_Return(EOS(STATIC_1398), i191, i257) → 1323_0_fact_Return(EOS(STATIC_1323), i191, i257)
Combined rules. Obtained 12 conditional rules for P and 31 conditional rules for R.
P rules:
1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), x1, x1) → 1925_0_main_GE(EOS(STATIC_1925), java.lang.Object(ARRAY(x0)), x1, 0, 0, 100) | &&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), <(0, %(x1, 5))), <(0, %(x1, 3)))
1925_0_main_GE(EOS(STATIC_1925), java.lang.Object(ARRAY(x0)), x1, x2, x2, 100) → 1925_0_main_GE(EOS(STATIC_1925), java.lang.Object(ARRAY(x0)), x1, +(x2, 1), +(x2, 1), 100) | &&(>(+(x2, 1), 0), <(x2, 100))
1925_0_main_GE(EOS(STATIC_1925), java.lang.Object(ARRAY(x0)), x1, 100, 100, 100) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), x1, x1) → 1795_1_main_InvokeMethod(1795_0_exp_Load(EOS(STATIC_1795), x0, x1), java.lang.Object(ARRAY(x0)), x1, x0, x1) | &&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 5))), <(0, %(x1, 3)))
1795_1_main_InvokeMethod(1338_0_exp_Return(EOS(STATIC_1338), x0, 0), java.lang.Object(ARRAY(x2)), 0, x0, 0) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), 1, 1)
1795_1_main_InvokeMethod(1676_0_exp_Return(EOS(STATIC_1676)), java.lang.Object(ARRAY(x0)), x1, x2, x1) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x2)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), x1, x1) → 1731_1_main_InvokeMethod(1731_0_cos_Load(EOS(STATIC_1731), x0, x1), java.lang.Object(ARRAY(x0)), x1, x0, x1) | &&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 3)))
1731_1_main_InvokeMethod(1258_0_cos_Return(EOS(STATIC_1258), x0, 0), java.lang.Object(ARRAY(x2)), 0, x0, 0) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), 1, 1)
1731_1_main_InvokeMethod(1771_0_cos_Return(EOS(STATIC_1771)), java.lang.Object(ARRAY(x0)), x1, x2, x1) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x2)), +(x1, 1), +(x1, 1)) | >(+(x1, 1), 0)
1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), x1, x1) → 1675_1_main_InvokeMethod(1675_0_sin_Load(EOS(STATIC_1675), x0, x1), java.lang.Object(ARRAY(x0)), x1, x0, x1) | &&(&&(<(x1, x0), >(+(x0, 1), 0)), =(0, %(x1, 2)))
1675_1_main_InvokeMethod(1195_0_sin_Return(EOS(STATIC_1195), x0, 0, x0), java.lang.Object(ARRAY(x2)), 0, x0, 0) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x0)), 1, 1)
1675_1_main_InvokeMethod(1760_0_sin_Return(EOS(STATIC_1760), x0), java.lang.Object(ARRAY(x1)), x2, x3, x2) → 1558_0_main_Load(EOS(STATIC_1558), java.lang.Object(ARRAY(x3)), +(x2, 1), +(x2, 1)) | >(+(x2, 1), 0)
R rules:
1795_0_exp_Load(EOS(STATIC_1795), x0, x1) → 1294_0_exp_GT(EOS(STATIC_1294), x0, x1, x1)
1731_0_cos_Load(EOS(STATIC_1731), x0, x1) → 1218_0_cos_GT(EOS(STATIC_1218), x0, x1, x1)
1675_0_sin_Load(EOS(STATIC_1675), x0, x1) → 1162_0_sin_GT(EOS(STATIC_1162), x0, x1, x1)
1294_0_exp_GT(EOS(STATIC_1294), x0, 0, 0) → 1338_0_exp_Return(EOS(STATIC_1338), x0, 0)
1294_0_exp_GT(EOS(STATIC_1294), x0, x1, x1) → 1376_1_exp_InvokeMethod(667_0_power_GT(EOS(STATIC_667), x0, x1, x1), x0, x1, x0, x1) | >(x1, 0)
1376_1_exp_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x2, x1, x2) → 1461_1_exp_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), x2, x2), x1, x2, x0, x2)
1461_1_exp_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), x0), x1, x2, x3, x2) → 1574_1_exp_InvokeMethod(1294_0_exp_GT(EOS(STATIC_1294), x1, x4, x4), x1) | &&(>(x2, 0), >(+(x0, 1), 1))
1574_1_exp_InvokeMethod(1338_0_exp_Return(EOS(STATIC_1338), x0, 0), x0) → 1676_0_exp_Return(EOS(STATIC_1676))
1574_1_exp_InvokeMethod(1676_0_exp_Return(EOS(STATIC_1676)), x0) → 1676_0_exp_Return(EOS(STATIC_1676))
1218_0_cos_GT(EOS(STATIC_1218), x0, 0, 0) → 1258_0_cos_Return(EOS(STATIC_1258), x0, 0)
1218_0_cos_GT(EOS(STATIC_1218), x0, x1, x1) → 1298_1_cos_InvokeMethod(667_0_power_GT(EOS(STATIC_667), -1, x1, x1), x0, x1, x1) | >(x1, 0)
1298_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x2, x2) → 1438_1_cos_InvokeMethod(667_0_power_GT(EOS(STATIC_667), x1, x3, x3), x1, x2, x0, x1) | >(+(x2, 1), 1)
1438_1_cos_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x2, x3, x1) → 1555_1_cos_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), x4, x4), x1, x2) | >(+(x2, 1), 1)
1555_1_cos_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), x0), x1, x2) → 1651_1_cos_InvokeMethod(1218_0_cos_GT(EOS(STATIC_1218), x1, x3, x3), x1) | &&(>(x2, 0), >(+(x0, 1), 1))
1651_1_cos_InvokeMethod(1258_0_cos_Return(EOS(STATIC_1258), x0, 0), x0) → 1771_0_cos_Return(EOS(STATIC_1771))
1651_1_cos_InvokeMethod(1771_0_cos_Return(EOS(STATIC_1771)), x0) → 1771_0_cos_Return(EOS(STATIC_1771))
1162_0_sin_GT(EOS(STATIC_1162), x0, 0, 0) → 1195_0_sin_Return(EOS(STATIC_1195), x0, 0, x0)
1162_0_sin_GT(EOS(STATIC_1162), x0, x1, x1) → 1222_1_sin_InvokeMethod(667_0_power_GT(EOS(STATIC_667), -1, x1, x1), x0, x1, x1) | >(x1, 0)
1222_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x2, x2) → 1405_1_sin_InvokeMethod(667_0_power_GT(EOS(STATIC_667), x1, x3, x3), x1, x2, x0, x1) | >(+(x2, 1), 1)
1405_1_sin_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x2, x3, x1) → 1540_1_sin_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), x4, x4), x1, x2, *(x3, x0)) | >(+(x2, 1), 1)
1540_1_sin_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), x0), x1, x2, x3) → 1642_1_sin_InvokeMethod(1162_0_sin_GT(EOS(STATIC_1162), x1, x4, x4), /(x3, x0), x1) | &&(>(x2, 0), >(+(x0, 1), 1))
1642_1_sin_InvokeMethod(1195_0_sin_Return(EOS(STATIC_1195), x0, 0, x0), x2, x0) → 1760_0_sin_Return(EOS(STATIC_1760), +(x2, x0))
1642_1_sin_InvokeMethod(1760_0_sin_Return(EOS(STATIC_1760), x0), x1, x2) → 1760_0_sin_Return(EOS(STATIC_1760), +(x1, x0))
667_0_power_GT(EOS(STATIC_667), x0, 0, 0) → 697_0_power_Return(EOS(STATIC_697), x0, 0, 1)
667_0_power_GT(EOS(STATIC_667), x0, x1, x1) → 751_1_power_InvokeMethod(667_0_power_GT(EOS(STATIC_667), x0, x2, x2), x0, x0) | >(x1, 0)
751_1_power_InvokeMethod(697_0_power_Return(EOS(STATIC_697), arith[1], 0, 1), arith[1], arith[1]) → 996_0_power_Return(EOS(STATIC_996), arith[1])
751_1_power_InvokeMethod(996_0_power_Return(EOS(STATIC_996), x0), x1, x1) → 996_0_power_Return(EOS(STATIC_996), *(x1, x0))
1061_0_fact_GT(EOS(STATIC_1061), 0, 0) → 1088_0_fact_Return(EOS(STATIC_1088), 0, 1)
1061_0_fact_GT(EOS(STATIC_1061), x0, x0) → 1137_1_fact_InvokeMethod(1061_0_fact_GT(EOS(STATIC_1061), x1, x1), x0) | >(x0, 0)
1137_1_fact_InvokeMethod(1088_0_fact_Return(EOS(STATIC_1088), 0, 1), arith[1]) → 1350_0_fact_Return(EOS(STATIC_1350), arith[1]) | >(+(arith[1], 1), 1)
1137_1_fact_InvokeMethod(1350_0_fact_Return(EOS(STATIC_1350), x0), x1) → 1350_0_fact_Return(EOS(STATIC_1350), *(x1, x0)) | &&(>(+(x1, 1), 1), >(+(x0, 1), 1))
Filtered ground terms:
1558_0_main_Load(x1, x2, x3, x4) → 1558_0_main_Load(x2, x3, x4)
1760_0_sin_Return(x1, x2) → 1760_0_sin_Return(x2)
1195_0_sin_Return(x1, x2, x3, x4) → 1195_0_sin_Return(x2, x4)
1675_0_sin_Load(x1, x2, x3) → 1675_0_sin_Load(x2, x3)
Cond_1558_0_main_Load3(x1, x2, x3, x4, x5) → Cond_1558_0_main_Load3(x1, x3, x4, x5)
Cond_1731_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1731_1_main_InvokeMethod(x1, x3, x4, x5, x6)
1771_0_cos_Return(x1) → 1771_0_cos_Return
1258_0_cos_Return(x1, x2, x3) → 1258_0_cos_Return(x2)
1731_0_cos_Load(x1, x2, x3) → 1731_0_cos_Load(x2, x3)
Cond_1558_0_main_Load2(x1, x2, x3, x4, x5) → Cond_1558_0_main_Load2(x1, x3, x4, x5)
Cond_1795_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1795_1_main_InvokeMethod(x1, x3, x4, x5, x6)
1676_0_exp_Return(x1) → 1676_0_exp_Return
1338_0_exp_Return(x1, x2, x3) → 1338_0_exp_Return(x2)
1795_0_exp_Load(x1, x2, x3) → 1795_0_exp_Load(x2, x3)
Cond_1558_0_main_Load1(x1, x2, x3, x4, x5) → Cond_1558_0_main_Load1(x1, x3, x4, x5)
Cond_1925_0_main_GE1(x1, x2, x3, x4, x5, x6, x7) → Cond_1925_0_main_GE1(x1, x3, x4)
1925_0_main_GE(x1, x2, x3, x4, x5, x6) → 1925_0_main_GE(x2, x3, x4, x5)
Cond_1925_0_main_GE(x1, x2, x3, x4, x5, x6, x7) → Cond_1925_0_main_GE(x1, x3, x4, x5, x6)
Cond_1558_0_main_Load(x1, x2, x3, x4, x5) → Cond_1558_0_main_Load(x1, x3, x4, x5)
1350_0_fact_Return(x1, x2) → 1350_0_fact_Return(x2)
Cond_1137_1_fact_InvokeMethod(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod(x1, x3)
1088_0_fact_Return(x1, x2, x3) → 1088_0_fact_Return
1061_0_fact_GT(x1, x2, x3) → 1061_0_fact_GT(x2, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4, x5) → Cond_1061_0_fact_GT(x1, x3, x4, x5)
996_0_power_Return(x1, x2) → 996_0_power_Return(x2)
697_0_power_Return(x1, x2, x3, x4) → 697_0_power_Return(x2)
667_0_power_GT(x1, x2, x3, x4) → 667_0_power_GT(x2, x3, x4)
Cond_667_0_power_GT(x1, x2, x3, x4, x5, x6) → Cond_667_0_power_GT(x1, x3, x4, x5, x6)
1162_0_sin_GT(x1, x2, x3, x4) → 1162_0_sin_GT(x2, x3, x4)
Cond_1162_0_sin_GT(x1, x2, x3, x4, x5) → Cond_1162_0_sin_GT(x1, x3, x4, x5)
1218_0_cos_GT(x1, x2, x3, x4) → 1218_0_cos_GT(x2, x3, x4)
Cond_1218_0_cos_GT(x1, x2, x3, x4, x5) → Cond_1218_0_cos_GT(x1, x3, x4, x5)
1294_0_exp_GT(x1, x2, x3, x4) → 1294_0_exp_GT(x2, x3, x4)
Cond_1294_0_exp_GT(x1, x2, x3, x4, x5) → Cond_1294_0_exp_GT(x1, x3, x4, x5)
Filtered duplicate args:
1558_0_main_Load(x1, x2, x3) → 1558_0_main_Load(x1, x3)
Cond_1558_0_main_Load(x1, x2, x3, x4) → Cond_1558_0_main_Load(x1, x2, x4)
1925_0_main_GE(x1, x2, x3, x4) → 1925_0_main_GE(x1, x2, x4)
Cond_1925_0_main_GE(x1, x2, x3, x4, x5) → Cond_1925_0_main_GE(x1, x2, x3, x5)
Cond_1558_0_main_Load1(x1, x2, x3, x4) → Cond_1558_0_main_Load1(x1, x2, x4)
1795_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 1795_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1795_1_main_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1795_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1558_0_main_Load2(x1, x2, x3, x4) → Cond_1558_0_main_Load2(x1, x2, x4)
1731_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 1731_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1731_1_main_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1731_1_main_InvokeMethod(x1, x2, x4, x5)
Cond_1558_0_main_Load3(x1, x2, x3, x4) → Cond_1558_0_main_Load3(x1, x2, x4)
1675_1_main_InvokeMethod(x1, x2, x3, x4, x5) → 1675_1_main_InvokeMethod(x1, x2, x4, x5)
1195_0_sin_Return(x1, x2) → 1195_0_sin_Return(x2)
Cond_1675_1_main_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1675_1_main_InvokeMethod(x1, x2, x3, x5, x6)
1294_0_exp_GT(x1, x2, x3) → 1294_0_exp_GT(x1, x3)
1218_0_cos_GT(x1, x2, x3) → 1218_0_cos_GT(x1, x3)
1162_0_sin_GT(x1, x2, x3) → 1162_0_sin_GT(x1, x3)
Cond_1294_0_exp_GT(x1, x2, x3, x4) → Cond_1294_0_exp_GT(x1, x2, x4)
1376_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → 1376_1_exp_InvokeMethod(x1, x4, x5)
667_0_power_GT(x1, x2, x3) → 667_0_power_GT(x1, x3)
1461_1_exp_InvokeMethod(x1, x2, x3, x4, x5) → 1461_1_exp_InvokeMethod(x1, x2, x4, x5)
1061_0_fact_GT(x1, x2) → 1061_0_fact_GT(x2)
Cond_1461_1_exp_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1461_1_exp_InvokeMethod(x1, x2, x3, x5, x6, x7)
Cond_1218_0_cos_GT(x1, x2, x3, x4) → Cond_1218_0_cos_GT(x1, x2, x4)
1298_1_cos_InvokeMethod(x1, x2, x3, x4) → 1298_1_cos_InvokeMethod(x1, x2, x4)
Cond_1298_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1298_1_cos_InvokeMethod(x1, x2, x3, x5, x6)
1438_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → 1438_1_cos_InvokeMethod(x1, x3, x4, x5)
Cond_1438_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1438_1_cos_InvokeMethod(x1, x2, x4, x5, x6, x7)
Cond_1162_0_sin_GT(x1, x2, x3, x4) → Cond_1162_0_sin_GT(x1, x2, x4)
1222_1_sin_InvokeMethod(x1, x2, x3, x4) → 1222_1_sin_InvokeMethod(x1, x2, x4)
Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x5, x6)
1405_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → 1405_1_sin_InvokeMethod(x1, x3, x4, x5)
Cond_1405_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6, x7) → Cond_1405_1_sin_InvokeMethod(x1, x2, x4, x5, x6, x7)
Cond_667_0_power_GT(x1, x2, x3, x4, x5) → Cond_667_0_power_GT(x1, x2, x4, x5)
751_1_power_InvokeMethod(x1, x2, x3) → 751_1_power_InvokeMethod(x1, x3)
Cond_1061_0_fact_GT(x1, x2, x3, x4) → Cond_1061_0_fact_GT(x1, x3, x4)
Filtered unneeded arguments:
1795_1_main_InvokeMethod(x1, x2, x3, x4) → 1795_1_main_InvokeMethod(x1, x3, x4)
Cond_1795_1_main_InvokeMethod(x1, x2, x3, x4) → Cond_1795_1_main_InvokeMethod(x1, x3, x4)
1731_1_main_InvokeMethod(x1, x2, x3, x4) → 1731_1_main_InvokeMethod(x1, x3, x4)
Cond_1731_1_main_InvokeMethod(x1, x2, x3, x4) → Cond_1731_1_main_InvokeMethod(x1, x3, x4)
1675_1_main_InvokeMethod(x1, x2, x3, x4) → 1675_1_main_InvokeMethod(x1, x3, x4)
Cond_1675_1_main_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1675_1_main_InvokeMethod(x1, x4, x5)
1461_1_exp_InvokeMethod(x1, x2, x3, x4) → 1461_1_exp_InvokeMethod(x1, x2, x4)
Cond_1461_1_exp_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1461_1_exp_InvokeMethod(x1, x3, x6)
Cond_1298_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1298_1_cos_InvokeMethod(x1, x3, x4, x5)
1438_1_cos_InvokeMethod(x1, x2, x3, x4) → 1438_1_cos_InvokeMethod(x1, x2, x4)
Cond_1438_1_cos_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1438_1_cos_InvokeMethod(x1, x3, x5, x6)
Cond_1555_1_cos_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1555_1_cos_InvokeMethod(x1, x3, x5)
Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x4, x5) → Cond_1222_1_sin_InvokeMethod(x1, x3, x4, x5)
1405_1_sin_InvokeMethod(x1, x2, x3, x4) → 1405_1_sin_InvokeMethod(x1, x2, x4)
Cond_1405_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1405_1_sin_InvokeMethod(x1, x3, x5, x6)
1540_1_sin_InvokeMethod(x1, x2, x3, x4) → 1540_1_sin_InvokeMethod(x1, x2, x3)
Cond_1540_1_sin_InvokeMethod(x1, x2, x3, x4, x5, x6) → Cond_1540_1_sin_InvokeMethod(x1, x3, x6)
1642_1_sin_InvokeMethod(x1, x2, x3) → 1642_1_sin_InvokeMethod(x1, x3)
667_0_power_GT(x1, x2) → 667_0_power_GT(x2)
Cond_667_0_power_GT(x1, x2, x3, x4) → Cond_667_0_power_GT(x1, x4)
751_1_power_InvokeMethod(x1, x2) → 751_1_power_InvokeMethod(x1)
Filtered free variables in P:
Cond_1461_1_exp_InvokeMethod(x1, x2, x3) → Cond_1461_1_exp_InvokeMethod(x1, x2)
1294_0_exp_GT(x1, x2) → 1294_0_exp_GT(x1)
Cond_1298_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1298_1_cos_InvokeMethod(x1, x2)
667_0_power_GT(x1) → 667_0_power_GT
Cond_1438_1_cos_InvokeMethod(x1, x2, x3, x4) → Cond_1438_1_cos_InvokeMethod(x1, x3)
1061_0_fact_GT(x1) → 1061_0_fact_GT
Cond_1555_1_cos_InvokeMethod(x1, x2, x3) → Cond_1555_1_cos_InvokeMethod(x1, x2)
1218_0_cos_GT(x1, x2) → 1218_0_cos_GT(x1)
Cond_1222_1_sin_InvokeMethod(x1, x2, x3, x4) → Cond_1222_1_sin_InvokeMethod(x1, x2)
Cond_1405_1_sin_InvokeMethod(x1, x2, x3, x4) → Cond_1405_1_sin_InvokeMethod(x1, x3)
Cond_1540_1_sin_InvokeMethod(x1, x2, x3) → Cond_1540_1_sin_InvokeMethod(x1, x2)
1162_0_sin_GT(x1, x2) → 1162_0_sin_GT(x1)
697_0_power_Return(x1) → 697_0_power_Return
Cond_667_0_power_GT(x1, x2) → Cond_667_0_power_GT(x1)
996_0_power_Return(x1) → 996_0_power_Return
Cond_1061_0_fact_GT(x1, x2, x3) → Cond_1061_0_fact_GT(x1)
1137_1_fact_InvokeMethod(x1, x2) → 1137_1_fact_InvokeMethod(x1)
Cond_1137_1_fact_InvokeMethod(x1, x2) → Cond_1137_1_fact_InvokeMethod(x1)
1350_0_fact_Return(x1) → 1350_0_fact_Return
Cond_1137_1_fact_InvokeMethod1(x1, x2, x3) → Cond_1137_1_fact_InvokeMethod1(x1, x2)
Cond_1294_0_exp_GT(x1, x2, x3) → Cond_1294_0_exp_GT(x1, x2)
1376_1_exp_InvokeMethod(x1, x2, x3) → 1376_1_exp_InvokeMethod(x1, x2)
1461_1_exp_InvokeMethod(x1, x2, x3) → 1461_1_exp_InvokeMethod(x1, x2)
Cond_1218_0_cos_GT(x1, x2, x3) → Cond_1218_0_cos_GT(x1, x2)
1298_1_cos_InvokeMethod(x1, x2, x3) → 1298_1_cos_InvokeMethod(x1, x2)
1438_1_cos_InvokeMethod(x1, x2, x3) → 1438_1_cos_InvokeMethod(x1, x3)
1555_1_cos_InvokeMethod(x1, x2, x3) → 1555_1_cos_InvokeMethod(x1, x2)
Cond_1162_0_sin_GT(x1, x2, x3) → Cond_1162_0_sin_GT(x1, x2)
1222_1_sin_InvokeMethod(x1, x2, x3) → 1222_1_sin_InvokeMethod(x1, x2)
1405_1_sin_InvokeMethod(x1, x2, x3) → 1405_1_sin_InvokeMethod(x1, x3)
1540_1_sin_InvokeMethod(x1, x2, x3) → 1540_1_sin_InvokeMethod(x1, x2)
Current set of rules:
P rules:
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1558_0_main_Load(&&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), <(0, %(x1, 5))), <(0, %(x1, 3))), java.lang.Object(ARRAY(x0)), x1)
Cond_1558_0_main_Load(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 0)
1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, x2) → Cond_1925_0_main_GE(&&(>(+(x2, 1), 0), <(x2, 100)), java.lang.Object(ARRAY(x0)), x1, x2)
Cond_1925_0_main_GE(TRUE, java.lang.Object(ARRAY(x0)), x1, x2) → 1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, +(x2, 1))
1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 100) → Cond_1925_0_main_GE1(>(+(x1, 1), 0), java.lang.Object(ARRAY(x0)), x1)
Cond_1925_0_main_GE1(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1))
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1558_0_main_Load1(&&(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 5))), <(0, %(x1, 3))), java.lang.Object(ARRAY(x0)), x1)
Cond_1558_0_main_Load1(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1795_1_main_InvokeMethod(1795_0_exp_Load(x0, x1), x0, x1)
1795_1_main_InvokeMethod(1338_0_exp_Return(x0), x0, 0) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1795_1_main_InvokeMethod(1676_0_exp_Return, x2, x1) → Cond_1795_1_main_InvokeMethod(>(+(x1, 1), 0), x2, x1)
Cond_1795_1_main_InvokeMethod(TRUE, x2, x1) → 1558_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1))
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1558_0_main_Load2(&&(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(1, %(x1, 2))), =(0, %(x1, 3))), java.lang.Object(ARRAY(x0)), x1)
Cond_1558_0_main_Load2(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1731_1_main_InvokeMethod(1731_0_cos_Load(x0, x1), x0, x1)
1731_1_main_InvokeMethod(1258_0_cos_Return(x0), x0, 0) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1731_1_main_InvokeMethod(1771_0_cos_Return, x2, x1) → Cond_1731_1_main_InvokeMethod(>(+(x1, 1), 0), x2, x1)
Cond_1731_1_main_InvokeMethod(TRUE, x2, x1) → 1558_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1))
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → Cond_1558_0_main_Load3(&&(&&(<(x1, x0), >(+(x0, 1), 0)), =(0, %(x1, 2))), java.lang.Object(ARRAY(x0)), x1)
Cond_1558_0_main_Load3(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1675_1_main_InvokeMethod(1675_0_sin_Load(x0, x1), x0, x1)
1675_1_main_InvokeMethod(1195_0_sin_Return(x0), x0, 0) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1675_1_main_InvokeMethod(1760_0_sin_Return(x0), x3, x2) → Cond_1675_1_main_InvokeMethod(>(+(x2, 1), 0), x3, x2)
Cond_1675_1_main_InvokeMethod(TRUE, x3, x2) → 1558_0_main_Load(java.lang.Object(ARRAY(x3)), +(x2, 1))
R rules:
1795_0_exp_Load(x0, x1) → 1294_0_exp_GT(x0)
1731_0_cos_Load(x0, x1) → 1218_0_cos_GT(x0)
1675_0_sin_Load(x0, x1) → 1162_0_sin_GT(x0)
1294_0_exp_GT(x0) → 1338_0_exp_Return(x0)
1294_0_exp_GT(x0) → Cond_1294_0_exp_GT(x1_[0], x0)
Cond_1294_0_exp_GT(TRUE, x0) → 1376_1_exp_InvokeMethod(667_0_power_GT, x0)
1376_1_exp_InvokeMethod(996_0_power_Return, x1) → 1461_1_exp_InvokeMethod(1061_0_fact_GT, x1)
1461_1_exp_InvokeMethod(1350_0_fact_Return, x1) → Cond_1461_1_exp_InvokeMethod(x0_[0,0]_[0], x1)
Cond_1461_1_exp_InvokeMethod(TRUE, x1) → 1574_1_exp_InvokeMethod(1294_0_exp_GT(x1), x1)
1574_1_exp_InvokeMethod(1338_0_exp_Return(x0), x0) → 1676_0_exp_Return
1574_1_exp_InvokeMethod(1676_0_exp_Return, x0) → 1676_0_exp_Return
1218_0_cos_GT(x0) → 1258_0_cos_Return(x0)
1218_0_cos_GT(x0) → Cond_1218_0_cos_GT(x1_[0], x0)
Cond_1218_0_cos_GT(TRUE, x0) → 1298_1_cos_InvokeMethod(667_0_power_GT, x0)
1298_1_cos_InvokeMethod(996_0_power_Return, x1) → Cond_1298_1_cos_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1298_1_cos_InvokeMethod(TRUE, x1) → 1438_1_cos_InvokeMethod(667_0_power_GT, x1)
1438_1_cos_InvokeMethod(996_0_power_Return, x1) → Cond_1438_1_cos_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1438_1_cos_InvokeMethod(TRUE, x1) → 1555_1_cos_InvokeMethod(1061_0_fact_GT, x1)
1555_1_cos_InvokeMethod(1350_0_fact_Return, x1) → Cond_1555_1_cos_InvokeMethod(x0_[0,0]_[0], x1)
Cond_1555_1_cos_InvokeMethod(TRUE, x1) → 1651_1_cos_InvokeMethod(1218_0_cos_GT(x1), x1)
1651_1_cos_InvokeMethod(1258_0_cos_Return(x0), x0) → 1771_0_cos_Return
1651_1_cos_InvokeMethod(1771_0_cos_Return, x0) → 1771_0_cos_Return
1162_0_sin_GT(x0) → 1195_0_sin_Return(x0)
1162_0_sin_GT(x0) → Cond_1162_0_sin_GT(x1_[0], x0)
Cond_1162_0_sin_GT(TRUE, x0) → 1222_1_sin_InvokeMethod(667_0_power_GT, x0)
1222_1_sin_InvokeMethod(996_0_power_Return, x1) → Cond_1222_1_sin_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1222_1_sin_InvokeMethod(TRUE, x1) → 1405_1_sin_InvokeMethod(667_0_power_GT, x1)
1405_1_sin_InvokeMethod(996_0_power_Return, x1) → Cond_1405_1_sin_InvokeMethod(x2_[0,0]_[0], x1)
Cond_1405_1_sin_InvokeMethod(TRUE, x1) → 1540_1_sin_InvokeMethod(1061_0_fact_GT, x1)
1540_1_sin_InvokeMethod(1350_0_fact_Return, x1) → Cond_1540_1_sin_InvokeMethod(x0_[0,0]_[0], x1)
Cond_1540_1_sin_InvokeMethod(TRUE, x1) → 1642_1_sin_InvokeMethod(1162_0_sin_GT(x1), x1)
1642_1_sin_InvokeMethod(1195_0_sin_Return(x0), x0) → 1760_0_sin_Return(x2_[0])
1642_1_sin_InvokeMethod(1760_0_sin_Return(x0), x2) → 1760_0_sin_Return(x1_[0])
667_0_power_GT → 697_0_power_Return
667_0_power_GT → Cond_667_0_power_GT(x1_[0])
Cond_667_0_power_GT(TRUE) → 751_1_power_InvokeMethod(667_0_power_GT)
751_1_power_InvokeMethod(697_0_power_Return) → 996_0_power_Return
751_1_power_InvokeMethod(996_0_power_Return) → 996_0_power_Return
1061_0_fact_GT → 1088_0_fact_Return
1061_0_fact_GT → Cond_1061_0_fact_GT(x0_[0])
Cond_1061_0_fact_GT(TRUE) → 1137_1_fact_InvokeMethod(1061_0_fact_GT)
1137_1_fact_InvokeMethod(1088_0_fact_Return) → Cond_1137_1_fact_InvokeMethod(arith[1]_[0,0]_[0])
Cond_1137_1_fact_InvokeMethod(TRUE) → 1350_0_fact_Return
1137_1_fact_InvokeMethod(1350_0_fact_Return) → Cond_1137_1_fact_InvokeMethod1(x0_[0,0]_[0], 1350_0_fact_Return)
Cond_1137_1_fact_InvokeMethod1(TRUE, 1350_0_fact_Return) → 1350_0_fact_Return
Filtered ground terms:
Cond_1137_1_fact_InvokeMethod1(x1, x2) → Cond_1137_1_fact_InvokeMethod1(x1)
Filtered modulo operations.
Combined rules. Obtained 12 conditional rules for P and 31 conditional rules for R.
P rules:
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 0) | &&(<(x1, x0), >(x0, -1))
1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, x2) → 1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, +(x2, 1)) | &&(>(x2, -1), <(x2, 100))
1925_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 100) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1)) | >(x1, -1)
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 1795_1_main_InvokeMethod(1795_0_exp_Load(x0, x1), x0, x1) | &&(<(x1, x0), >(x0, -1))
1795_1_main_InvokeMethod(1338_0_exp_Return(x0), x0, 0) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1795_1_main_InvokeMethod(1676_0_exp_Return, x2, x1) → 1558_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1)) | >(x1, -1)
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 1731_1_main_InvokeMethod(1731_0_cos_Load(x0, x1), x0, x1) | &&(<(x1, x0), >(x0, -1))
1731_1_main_InvokeMethod(1258_0_cos_Return(x0), x0, 0) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1731_1_main_InvokeMethod(1771_0_cos_Return, x2, x1) → 1558_0_main_Load(java.lang.Object(ARRAY(x2)), +(x1, 1)) | >(x1, -1)
1558_0_main_Load(java.lang.Object(ARRAY(x0)), x1) → 1675_1_main_InvokeMethod(1675_0_sin_Load(x0, x1), x0, x1) | &&(<(x1, x0), >(x0, -1))
1675_1_main_InvokeMethod(1195_0_sin_Return(x0), x0, 0) → 1558_0_main_Load(java.lang.Object(ARRAY(x0)), 1)
1675_1_main_InvokeMethod(1760_0_sin_Return(x0), x3, x2) → 1558_0_main_Load(java.lang.Object(ARRAY(x3)), +(x2, 1)) | >(x2, -1)
R rules:
1795_0_exp_Load(x0, x1) → 1294_0_exp_GT(x0)
1731_0_cos_Load(x0, x1) → 1218_0_cos_GT(x0)
1675_0_sin_Load(x0, x1) → 1162_0_sin_GT(x0)
1294_0_exp_GT(x0) → 1338_0_exp_Return(x0)
1294_0_exp_GT(x0) → 1376_1_exp_InvokeMethod(667_0_power_GT, x0)
1376_1_exp_InvokeMethod(996_0_power_Return, x1) → 1461_1_exp_InvokeMethod(1061_0_fact_GT, x1)
1461_1_exp_InvokeMethod(1350_0_fact_Return, x1) → 1574_1_exp_InvokeMethod(1294_0_exp_GT(x1), x1)
1574_1_exp_InvokeMethod(1338_0_exp_Return(x0), x0) → 1676_0_exp_Return
1574_1_exp_InvokeMethod(1676_0_exp_Return, x0) → 1676_0_exp_Return
1218_0_cos_GT(x0) → 1258_0_cos_Return(x0)
1218_0_cos_GT(x0) → 1298_1_cos_InvokeMethod(667_0_power_GT, x0)
1298_1_cos_InvokeMethod(996_0_power_Return, x1) → 1438_1_cos_InvokeMethod(667_0_power_GT, x1)
1438_1_cos_InvokeMethod(996_0_power_Return, x1) → 1555_1_cos_InvokeMethod(1061_0_fact_GT, x1)
1555_1_cos_InvokeMethod(1350_0_fact_Return, x1) → 1651_1_cos_InvokeMethod(1218_0_cos_GT(x1), x1)
1651_1_cos_InvokeMethod(1258_0_cos_Return(x0), x0) → 1771_0_cos_Return
1651_1_cos_InvokeMethod(1771_0_cos_Return, x0) → 1771_0_cos_Return
1162_0_sin_GT(x0) → 1195_0_sin_Return(x0)
1162_0_sin_GT(x0) → 1222_1_sin_InvokeMethod(667_0_power_GT, x0)
1222_1_sin_InvokeMethod(996_0_power_Return, x1) → 1405_1_sin_InvokeMethod(667_0_power_GT, x1)
1405_1_sin_InvokeMethod(996_0_power_Return, x1) → 1540_1_sin_InvokeMethod(1061_0_fact_GT, x1)
1540_1_sin_InvokeMethod(1350_0_fact_Return, x1) → 1642_1_sin_InvokeMethod(1162_0_sin_GT(x1), x1)
1642_1_sin_InvokeMethod(1195_0_sin_Return(x0), x0) → 1760_0_sin_Return(x2_[0])
1642_1_sin_InvokeMethod(1760_0_sin_Return(x0), x2) → 1760_0_sin_Return(x1_[0])
667_0_power_GT → 697_0_power_Return
667_0_power_GT → 751_1_power_InvokeMethod(667_0_power_GT)
751_1_power_InvokeMethod(697_0_power_Return) → 996_0_power_Return
751_1_power_InvokeMethod(996_0_power_Return) → 996_0_power_Return
1061_0_fact_GT → 1088_0_fact_Return
1061_0_fact_GT → 1137_1_fact_InvokeMethod(1061_0_fact_GT)
1137_1_fact_InvokeMethod(1088_0_fact_Return) → 1350_0_fact_Return
1137_1_fact_InvokeMethod(1350_0_fact_Return) → 1350_0_fact_Return
Performed bisimulation on rules. Used the following equivalence classes: {[1338_0_exp_Return_1, 1258_0_cos_Return_1, 1195_0_sin_Return_1, 1760_0_sin_Return_1]=1338_0_exp_Return_1, [751_1_power_InvokeMethod_1, 1137_1_fact_InvokeMethod_1]=751_1_power_InvokeMethod_1, [667_0_power_GT, 1061_0_fact_GT]=667_0_power_GT, [996_0_power_Return, 1350_0_fact_Return, 1676_0_exp_Return, 1771_0_cos_Return, 697_0_power_Return, 1088_0_fact_Return]=996_0_power_Return, [Cond_1795_1_main_InvokeMethod_4, Cond_1731_1_main_InvokeMethod_4]=Cond_1795_1_main_InvokeMethod_4}
Finished conversion. Obtained 20 rules for P and 26 rules for R. System has predefined symbols.
P rules:
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1558_0_MAIN_LOAD(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1558_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, 0)
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, x2) → COND_1925_0_MAIN_GE(&&(>(x2, -1), <(x2, 100)), java.lang.Object(ARRAY(x0)), x1, x2)
COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0)), x1, x2) → 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, +(x2, 1))
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0)), x1, 100) → COND_1925_0_MAIN_GE1(>(x1, -1), java.lang.Object(ARRAY(x0)), x1, 100)
COND_1925_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0)), x1, 100) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), +(x1, 1))
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1558_0_MAIN_LOAD1(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1558_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0, x1), x0, x1)
1795_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0), x0, 0) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), 1)
1795_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2, x1) → COND_1795_1_MAIN_INVOKEMETHOD(>(x1, -1), 996_0_power_Return, x2, x1)
COND_1795_1_MAIN_INVOKEMETHOD(TRUE, 996_0_power_Return, x2, x1) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2)), +(x1, 1))
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1558_0_MAIN_LOAD2(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1558_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0, x1), x0, x1)
1731_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0), x0, 0) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), 1)
1731_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2, x1) → COND_1795_1_MAIN_INVOKEMETHOD(>(x1, -1), 996_0_power_Return, x2, x1)
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), x1) → COND_1558_0_MAIN_LOAD3(&&(<(x1, x0), >(x0, -1)), java.lang.Object(ARRAY(x0)), x1)
COND_1558_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0)), x1) → 1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0, x1), x0, x1)
1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0), x0, 0) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0)), 1)
1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0), x3, x2) → COND_1675_1_MAIN_INVOKEMETHOD(>(x2, -1), 1338_0_exp_Return(x0), x3, x2)
COND_1675_1_MAIN_INVOKEMETHOD(TRUE, 1338_0_exp_Return(x0), x3, x2) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3)), +(x2, 1))
R rules:
1795_0_exp_Load(x0, x1) → 1294_0_exp_GT(x0)
1731_0_cos_Load(x0, x1) → 1218_0_cos_GT(x0)
1675_0_sin_Load(x0, x1) → 1162_0_sin_GT(x0)
1294_0_exp_GT(x0) → 1338_0_exp_Return(x0)
1294_0_exp_GT(x0) → 1376_1_exp_InvokeMethod(667_0_power_GT, x0)
1376_1_exp_InvokeMethod(996_0_power_Return, x1) → 1461_1_exp_InvokeMethod(667_0_power_GT, x1)
1461_1_exp_InvokeMethod(996_0_power_Return, x1) → 1574_1_exp_InvokeMethod(1294_0_exp_GT(x1), x1)
1574_1_exp_InvokeMethod(1338_0_exp_Return(x0), x0) → 996_0_power_Return
1574_1_exp_InvokeMethod(996_0_power_Return, x0) → 996_0_power_Return
1218_0_cos_GT(x0) → 1338_0_exp_Return(x0)
1218_0_cos_GT(x0) → 1298_1_cos_InvokeMethod(667_0_power_GT, x0)
1298_1_cos_InvokeMethod(996_0_power_Return, x1) → 1438_1_cos_InvokeMethod(667_0_power_GT, x1)
1438_1_cos_InvokeMethod(996_0_power_Return, x1) → 1555_1_cos_InvokeMethod(667_0_power_GT, x1)
1555_1_cos_InvokeMethod(996_0_power_Return, x1) → 1651_1_cos_InvokeMethod(1218_0_cos_GT(x1), x1)
1651_1_cos_InvokeMethod(1338_0_exp_Return(x0), x0) → 996_0_power_Return
1651_1_cos_InvokeMethod(996_0_power_Return, x0) → 996_0_power_Return
1162_0_sin_GT(x0) → 1338_0_exp_Return(x0)
1162_0_sin_GT(x0) → 1222_1_sin_InvokeMethod(667_0_power_GT, x0)
1222_1_sin_InvokeMethod(996_0_power_Return, x1) → 1405_1_sin_InvokeMethod(667_0_power_GT, x1)
1405_1_sin_InvokeMethod(996_0_power_Return, x1) → 1540_1_sin_InvokeMethod(667_0_power_GT, x1)
1540_1_sin_InvokeMethod(996_0_power_Return, x1) → 1642_1_sin_InvokeMethod(1162_0_sin_GT(x1), x1)
1642_1_sin_InvokeMethod(1338_0_exp_Return(x0), x0) → 1338_0_exp_Return(x2_[0])
1642_1_sin_InvokeMethod(1338_0_exp_Return(x0), x2) → 1338_0_exp_Return(x1_[0])
667_0_power_GT → 996_0_power_Return
667_0_power_GT → 751_1_power_InvokeMethod(667_0_power_GT)
751_1_power_InvokeMethod(996_0_power_Return) → 996_0_power_Return
!= | ~ | 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 |
Boolean, Integer
(0) -> (1), if (x1[0] < x0[0] && x0[0] > -1 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[1]))∧x1[0] →* x1[1])
(1) -> (2), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[2]))∧x1[1] →* x1[2]∧0 →* x2[2])
(1) -> (4), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[4]))∧x1[1] →* x1[4]∧0 →* 100)
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(3) -> (4), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4]))∧x1[3] →* x1[4]∧x2[3] + 1 →* 100)
(4) -> (5), if (x1[4] > -1 ∧java.lang.Object(ARRAY(x0[4])) →* java.lang.Object(ARRAY(x0[5]))∧x1[4] →* x1[5])
(5) -> (0), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[0]))∧x1[5] + 1 →* x1[0])
(5) -> (6), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[6]))∧x1[5] + 1 →* x1[6])
(5) -> (11), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[11]))∧x1[5] + 1 →* x1[11])
(5) -> (15), if (java.lang.Object(ARRAY(x0[5])) →* java.lang.Object(ARRAY(x0[15]))∧x1[5] + 1 →* x1[15])
(6) -> (7), if (x1[6] < x0[6] && x0[6] > -1 ∧java.lang.Object(ARRAY(x0[6])) →* java.lang.Object(ARRAY(x0[7]))∧x1[6] →* x1[7])
(7) -> (8), if (1795_0_exp_Load(x0[7], x1[7]) →* 1338_0_exp_Return(x0[8])∧x0[7] →* x0[8]∧x1[7] →* 0)
(7) -> (9), if (1795_0_exp_Load(x0[7], x1[7]) →* 996_0_power_Return∧x0[7] →* x2[9]∧x1[7] →* x1[9])
(8) -> (0), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(8) -> (6), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[6]))∧1 →* x1[6])
(8) -> (11), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[11]))∧1 →* x1[11])
(8) -> (15), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[15]))∧1 →* x1[15])
(9) -> (10), if (x1[9] > -1 ∧x2[9] →* x2[10]∧x1[9] →* x1[10])
(10) -> (0), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[0]))∧x1[10] + 1 →* x1[0])
(10) -> (6), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[6]))∧x1[10] + 1 →* x1[6])
(10) -> (11), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[11]))∧x1[10] + 1 →* x1[11])
(10) -> (15), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[15]))∧x1[10] + 1 →* x1[15])
(11) -> (12), if (x1[11] < x0[11] && x0[11] > -1 ∧java.lang.Object(ARRAY(x0[11])) →* java.lang.Object(ARRAY(x0[12]))∧x1[11] →* x1[12])
(12) -> (13), if (1731_0_cos_Load(x0[12], x1[12]) →* 1338_0_exp_Return(x0[13])∧x0[12] →* x0[13]∧x1[12] →* 0)
(12) -> (14), if (1731_0_cos_Load(x0[12], x1[12]) →* 996_0_power_Return∧x0[12] →* x2[14]∧x1[12] →* x1[14])
(13) -> (0), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(13) -> (6), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[6]))∧1 →* x1[6])
(13) -> (11), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[11]))∧1 →* x1[11])
(13) -> (15), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[15]))∧1 →* x1[15])
(14) -> (10), if (x1[14] > -1 ∧x2[14] →* x2[10]∧x1[14] →* x1[10])
(15) -> (16), if (x1[15] < x0[15] && x0[15] > -1 ∧java.lang.Object(ARRAY(x0[15])) →* java.lang.Object(ARRAY(x0[16]))∧x1[15] →* x1[16])
(16) -> (17), if (1675_0_sin_Load(x0[16], x1[16]) →* 1338_0_exp_Return(x0[17])∧x0[16] →* x0[17]∧x1[16] →* 0)
(16) -> (18), if (1675_0_sin_Load(x0[16], x1[16]) →* 1338_0_exp_Return(x0[18])∧x0[16] →* x3[18]∧x1[16] →* x2[18])
(17) -> (0), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(17) -> (6), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[6]))∧1 →* x1[6])
(17) -> (11), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[11]))∧1 →* x1[11])
(17) -> (15), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[15]))∧1 →* x1[15])
(18) -> (19), if (x2[18] > -1 ∧1338_0_exp_Return(x0[18]) →* 1338_0_exp_Return(x0[19])∧x3[18] →* x3[19]∧x2[18] →* x2[19])
(19) -> (0), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[0]))∧x2[19] + 1 →* x1[0])
(19) -> (6), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[6]))∧x2[19] + 1 →* x1[6])
(19) -> (11), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[11]))∧x2[19] + 1 →* x1[11])
(19) -> (15), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[15]))∧x2[19] + 1 →* x1[15])
(1) (&&(<(x1[0], x0[0]), >(x0[0], -1))=TRUE∧java.lang.Object(ARRAY(x0[0]))=java.lang.Object(ARRAY(x0[1]))∧x1[0]=x1[1] ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])∧(UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥))
(2) (<(x1[0], x0[0])=TRUE∧>(x0[0], -1)=TRUE ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0])≥COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])∧(UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥))
(3) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(4) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(5) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(6) (x0[0] + [-1] + [-1]x1[0] ≥ 0∧x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)Bound*bni_67] + [(-1)bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(7) (x0[0] + [-1] + x1[0] ≥ 0∧x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)Bound*bni_67] + [bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(8) (x0[0] ≥ 0∧[1] + x1[0] + x0[0] ≥ 0∧x1[0] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])), ≥)∧[(-1)Bound*bni_67 + (2)bni_67] + [bni_67]x1[0] + [(2)bni_67]x0[0] ≥ 0∧[(-1)bso_68] ≥ 0)
(9) (COND_1558_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1])≥NonInfC∧COND_1558_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1])≥1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)∧(UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥))
(10) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧[(-1)bso_70] ≥ 0)
(11) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧[(-1)bso_70] ≥ 0)
(12) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧[(-1)bso_70] ≥ 0)
(13) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)), ≥)∧[bni_69] = 0∧0 = 0∧0 = 0∧[(-1)bso_70] ≥ 0)
(14) (&&(>(x2[2], -1), <(x2[2], 100))=TRUE∧java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(15) (>(x2[2], -1)=TRUE∧<(x2[2], 100)=TRUE ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(16) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)Bound*bni_71] + [(-1)bni_71]x1[2] + [(2)bni_71]x0[2] ≥ 0∧[(-1)bso_72] ≥ 0)
(17) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)Bound*bni_71] + [(-1)bni_71]x1[2] + [(2)bni_71]x0[2] ≥ 0∧[(-1)bso_72] ≥ 0)
(18) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)Bound*bni_71] + [(-1)bni_71]x1[2] + [(2)bni_71]x0[2] ≥ 0∧[(-1)bso_72] ≥ 0)
(19) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_71] = 0∧[(2)bni_71] = 0∧[(-1)Bound*bni_71] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_72] ≥ 0)
(20) (COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥NonInfC∧COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥))
(21) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧[(-1)bso_74] ≥ 0)
(22) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧[(-1)bso_74] ≥ 0)
(23) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧[(-1)bso_74] ≥ 0)
(24) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_73] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_74] ≥ 0)
(25) (>(x1[4], -1)=TRUE∧java.lang.Object(ARRAY(x0[4]))=java.lang.Object(ARRAY(x0[5]))∧x1[4]=x1[5] ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)∧(UIncreasing(COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥))
(26) (>(x1[4], -1)=TRUE ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100)≥COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)∧(UIncreasing(COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥))
(27) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(-1)Bound*bni_75] + [(-1)bni_75]x1[4] + [(2)bni_75]x0[4] ≥ 0∧[(-1)bso_76] ≥ 0)
(28) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(-1)Bound*bni_75] + [(-1)bni_75]x1[4] + [(2)bni_75]x0[4] ≥ 0∧[(-1)bso_76] ≥ 0)
(29) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(-1)Bound*bni_75] + [(-1)bni_75]x1[4] + [(2)bni_75]x0[4] ≥ 0∧[(-1)bso_76] ≥ 0)
(30) (x1[4] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)), ≥)∧[(2)bni_75] = 0∧[(-1)Bound*bni_75] + [(-1)bni_75]x1[4] ≥ 0∧0 = 0∧[(-1)bso_76] ≥ 0)
(31) (COND_1925_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0[5])), x1[5], 100)≥NonInfC∧COND_1925_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0[5])), x1[5], 100)≥1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))∧(UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥))
(32) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧[1 + (-1)bso_78] ≥ 0)
(33) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧[1 + (-1)bso_78] ≥ 0)
(34) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧[1 + (-1)bso_78] ≥ 0)
(35) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))), ≥)∧[bni_77] = 0∧0 = 0∧0 = 0∧[1 + (-1)bso_78] ≥ 0)
(36) (&&(<(x1[6], x0[6]), >(x0[6], -1))=TRUE∧java.lang.Object(ARRAY(x0[6]))=java.lang.Object(ARRAY(x0[7]))∧x1[6]=x1[7] ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])∧(UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥))
(37) (<(x1[6], x0[6])=TRUE∧>(x0[6], -1)=TRUE ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6])≥COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])∧(UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥))
(38) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[1 + (-1)bso_80] ≥ 0)
(39) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[1 + (-1)bso_80] ≥ 0)
(40) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[1 + (-1)bso_80] ≥ 0)
(41) (x0[6] + [-1] + [-1]x1[6] ≥ 0∧x0[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)Bound*bni_79] + [(-1)bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[1 + (-1)bso_80] ≥ 0)
(42) (x0[6] + [-1] + x1[6] ≥ 0∧x0[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)Bound*bni_79] + [bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[1 + (-1)bso_80] ≥ 0)
(43) (x0[6] ≥ 0∧[1] + x1[6] + x0[6] ≥ 0∧x1[6] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])), ≥)∧[(-1)Bound*bni_79 + (2)bni_79] + [bni_79]x1[6] + [(2)bni_79]x0[6] ≥ 0∧[1 + (-1)bso_80] ≥ 0)
(44) (COND_1558_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0[7])), x1[7])≥NonInfC∧COND_1558_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0[7])), x1[7])≥1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])∧(UIncreasing(1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥))
(45) ((UIncreasing(1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧[(-1)bso_82] ≥ 0)
(46) ((UIncreasing(1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧[(-1)bso_82] ≥ 0)
(47) ((UIncreasing(1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧[(-1)bso_82] ≥ 0)
(48) ((UIncreasing(1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])), ≥)∧[bni_81] = 0∧0 = 0∧0 = 0∧[(-1)bso_82] ≥ 0)
(49) (1795_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[8]), x0[8], 0)≥NonInfC∧1795_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[8]), x0[8], 0)≥1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)∧(UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥))
(50) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧[(-1)bso_84] ≥ 0)
(51) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧[(-1)bso_84] ≥ 0)
(52) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧[(-1)bso_84] ≥ 0)
(53) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)), ≥)∧[bni_83] = 0∧0 = 0∧[(-1)bso_84] ≥ 0)
(54) (>(x1[9], -1)=TRUE∧x2[9]=x2[10]∧x1[9]=x1[10] ⇒ 1795_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[9], x1[9])≥NonInfC∧1795_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[9], x1[9])≥COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])∧(UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])), ≥))
(55) (>(x1[9], -1)=TRUE ⇒ 1795_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[9], x1[9])≥NonInfC∧1795_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[9], x1[9])≥COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])∧(UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])), ≥))
(56) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x2[9] + [(-1)bni_85]x1[9] ≥ 0∧[(-1)bso_86] ≥ 0)
(57) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x2[9] + [(-1)bni_85]x1[9] ≥ 0∧[(-1)bso_86] ≥ 0)
(58) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])), ≥)∧[(-1)bni_85 + (-1)Bound*bni_85] + [(2)bni_85]x2[9] + [(-1)bni_85]x1[9] ≥ 0∧[(-1)bso_86] ≥ 0)
(59) (x1[9] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])), ≥)∧[(2)bni_85] = 0∧[(-1)bni_85 + (-1)Bound*bni_85] + [(-1)bni_85]x1[9] ≥ 0∧0 = 0∧[(-1)bso_86] ≥ 0)
(60) (COND_1795_1_MAIN_INVOKEMETHOD(TRUE, 996_0_power_Return, x2[10], x1[10])≥NonInfC∧COND_1795_1_MAIN_INVOKEMETHOD(TRUE, 996_0_power_Return, x2[10], x1[10])≥1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))∧(UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥))
(61) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧[(-1)bso_88] ≥ 0)
(62) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧[(-1)bso_88] ≥ 0)
(63) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧[(-1)bso_88] ≥ 0)
(64) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))), ≥)∧[bni_87] = 0∧0 = 0∧0 = 0∧[(-1)bso_88] ≥ 0)
(65) (&&(<(x1[11], x0[11]), >(x0[11], -1))=TRUE∧java.lang.Object(ARRAY(x0[11]))=java.lang.Object(ARRAY(x0[12]))∧x1[11]=x1[12] ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])∧(UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥))
(66) (<(x1[11], x0[11])=TRUE∧>(x0[11], -1)=TRUE ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11])≥COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])∧(UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥))
(67) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[1 + (-1)bso_90] ≥ 0)
(68) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[1 + (-1)bso_90] ≥ 0)
(69) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[1 + (-1)bso_90] ≥ 0)
(70) (x0[11] + [-1] + [-1]x1[11] ≥ 0∧x0[11] ≥ 0∧x1[11] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)Bound*bni_89] + [(-1)bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[1 + (-1)bso_90] ≥ 0)
(71) (x0[11] + [-1] + x1[11] ≥ 0∧x0[11] ≥ 0∧x1[11] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)Bound*bni_89] + [bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[1 + (-1)bso_90] ≥ 0)
(72) (x0[11] ≥ 0∧[1] + x1[11] + x0[11] ≥ 0∧x1[11] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])), ≥)∧[(-1)Bound*bni_89 + (2)bni_89] + [bni_89]x1[11] + [(2)bni_89]x0[11] ≥ 0∧[1 + (-1)bso_90] ≥ 0)
(73) (COND_1558_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0[12])), x1[12])≥NonInfC∧COND_1558_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0[12])), x1[12])≥1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])∧(UIncreasing(1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥))
(74) ((UIncreasing(1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧[(-1)bso_92] ≥ 0)
(75) ((UIncreasing(1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧[(-1)bso_92] ≥ 0)
(76) ((UIncreasing(1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧[(-1)bso_92] ≥ 0)
(77) ((UIncreasing(1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])), ≥)∧[bni_91] = 0∧0 = 0∧0 = 0∧[(-1)bso_92] ≥ 0)
(78) (1731_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[13]), x0[13], 0)≥NonInfC∧1731_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[13]), x0[13], 0)≥1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)∧(UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥))
(79) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧[(-1)bso_94] ≥ 0)
(80) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧[(-1)bso_94] ≥ 0)
(81) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧[(-1)bso_94] ≥ 0)
(82) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)), ≥)∧[bni_93] = 0∧0 = 0∧[(-1)bso_94] ≥ 0)
(83) (>(x1[14], -1)=TRUE∧x2[14]=x2[10]∧x1[14]=x1[10] ⇒ 1731_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[14], x1[14])≥NonInfC∧1731_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[14], x1[14])≥COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])∧(UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])), ≥))
(84) (>(x1[14], -1)=TRUE ⇒ 1731_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[14], x1[14])≥NonInfC∧1731_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[14], x1[14])≥COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])∧(UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])), ≥))
(85) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])), ≥)∧[(-1)bni_95 + (-1)Bound*bni_95] + [(2)bni_95]x2[14] + [(-1)bni_95]x1[14] ≥ 0∧[(-1)bso_96] ≥ 0)
(86) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])), ≥)∧[(-1)bni_95 + (-1)Bound*bni_95] + [(2)bni_95]x2[14] + [(-1)bni_95]x1[14] ≥ 0∧[(-1)bso_96] ≥ 0)
(87) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])), ≥)∧[(-1)bni_95 + (-1)Bound*bni_95] + [(2)bni_95]x2[14] + [(-1)bni_95]x1[14] ≥ 0∧[(-1)bso_96] ≥ 0)
(88) (x1[14] ≥ 0 ⇒ (UIncreasing(COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])), ≥)∧[(2)bni_95] = 0∧[(-1)bni_95 + (-1)Bound*bni_95] + [(-1)bni_95]x1[14] ≥ 0∧0 = 0∧[(-1)bso_96] ≥ 0)
(89) (&&(<(x1[15], x0[15]), >(x0[15], -1))=TRUE∧java.lang.Object(ARRAY(x0[15]))=java.lang.Object(ARRAY(x0[16]))∧x1[15]=x1[16] ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])∧(UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥))
(90) (<(x1[15], x0[15])=TRUE∧>(x0[15], -1)=TRUE ⇒ 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥NonInfC∧1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15])≥COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])∧(UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥))
(91) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[1 + (-1)bso_98] ≥ 0)
(92) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[1 + (-1)bso_98] ≥ 0)
(93) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[1 + (-1)bso_98] ≥ 0)
(94) (x0[15] + [-1] + [-1]x1[15] ≥ 0∧x0[15] ≥ 0∧x1[15] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)Bound*bni_97] + [(-1)bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[1 + (-1)bso_98] ≥ 0)
(95) (x0[15] + [-1] + x1[15] ≥ 0∧x0[15] ≥ 0∧x1[15] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)Bound*bni_97] + [bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[1 + (-1)bso_98] ≥ 0)
(96) (x0[15] ≥ 0∧[1] + x1[15] + x0[15] ≥ 0∧x1[15] ≥ 0 ⇒ (UIncreasing(COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])), ≥)∧[(-1)Bound*bni_97 + (2)bni_97] + [bni_97]x1[15] + [(2)bni_97]x0[15] ≥ 0∧[1 + (-1)bso_98] ≥ 0)
(97) (COND_1558_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0[16])), x1[16])≥NonInfC∧COND_1558_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0[16])), x1[16])≥1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])∧(UIncreasing(1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥))
(98) ((UIncreasing(1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧[(-1)bso_100] ≥ 0)
(99) ((UIncreasing(1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧[(-1)bso_100] ≥ 0)
(100) ((UIncreasing(1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧[(-1)bso_100] ≥ 0)
(101) ((UIncreasing(1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])), ≥)∧[bni_99] = 0∧0 = 0∧0 = 0∧[(-1)bso_100] ≥ 0)
(102) (1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[17]), x0[17], 0)≥NonInfC∧1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[17]), x0[17], 0)≥1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)∧(UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥))
(103) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧[(-1)bso_102] ≥ 0)
(104) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧[(-1)bso_102] ≥ 0)
(105) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧[(-1)bso_102] ≥ 0)
(106) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)), ≥)∧[bni_101] = 0∧0 = 0∧[(-1)bso_102] ≥ 0)
(107) (>(x2[18], -1)=TRUE∧1338_0_exp_Return(x0[18])=1338_0_exp_Return(x0[19])∧x3[18]=x3[19]∧x2[18]=x2[19] ⇒ 1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[18]), x3[18], x2[18])≥NonInfC∧1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[18]), x3[18], x2[18])≥COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])∧(UIncreasing(COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])), ≥))
(108) (>(x2[18], -1)=TRUE ⇒ 1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[18]), x3[18], x2[18])≥NonInfC∧1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[18]), x3[18], x2[18])≥COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])∧(UIncreasing(COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])), ≥))
(109) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(-1)bni_103 + (-1)Bound*bni_103] + [(2)bni_103]x3[18] + [(-1)bni_103]x2[18] ≥ 0∧[(-1)bso_104] ≥ 0)
(110) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(-1)bni_103 + (-1)Bound*bni_103] + [(2)bni_103]x3[18] + [(-1)bni_103]x2[18] ≥ 0∧[(-1)bso_104] ≥ 0)
(111) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(-1)bni_103 + (-1)Bound*bni_103] + [(2)bni_103]x3[18] + [(-1)bni_103]x2[18] ≥ 0∧[(-1)bso_104] ≥ 0)
(112) (x2[18] ≥ 0 ⇒ (UIncreasing(COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])), ≥)∧[(2)bni_103] = 0∧0 = 0∧[(-1)bni_103 + (-1)Bound*bni_103] + [(-1)bni_103]x2[18] ≥ 0∧0 = 0∧0 = 0∧[(-1)bso_104] ≥ 0)
(113) (COND_1675_1_MAIN_INVOKEMETHOD(TRUE, 1338_0_exp_Return(x0[19]), x3[19], x2[19])≥NonInfC∧COND_1675_1_MAIN_INVOKEMETHOD(TRUE, 1338_0_exp_Return(x0[19]), x3[19], x2[19])≥1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))∧(UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥))
(114) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧[(-1)bso_106] ≥ 0)
(115) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧[(-1)bso_106] ≥ 0)
(116) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧[(-1)bso_106] ≥ 0)
(117) ((UIncreasing(1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))), ≥)∧[bni_105] = 0∧0 = 0∧0 = 0∧0 = 0∧[(-1)bso_106] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(1795_0_exp_Load(x1, x2)) = [-1] + [-1]x2 + x1
POL(1294_0_exp_GT(x1)) = [2] + [-1]x1
POL(1731_0_cos_Load(x1, x2)) = [-1] + [-1]x2 + [-1]x1
POL(1218_0_cos_GT(x1)) = [1] + [-1]x1
POL(1675_0_sin_Load(x1, x2)) = [-1] + [-1]x2 + [2]x1
POL(1162_0_sin_GT(x1)) = [-1] + [-1]x1
POL(1338_0_exp_Return(x1)) = x1
POL(1376_1_exp_InvokeMethod(x1, x2)) = [2] + [2]x2
POL(667_0_power_GT) = [-1]
POL(996_0_power_Return) = [-1]
POL(1461_1_exp_InvokeMethod(x1, x2)) = [1] + [-1]x2
POL(1574_1_exp_InvokeMethod(x1, x2)) = [-1] + x1 + x2
POL(1298_1_cos_InvokeMethod(x1, x2)) = 0
POL(1438_1_cos_InvokeMethod(x1, x2)) = [1] + [2]x2
POL(1555_1_cos_InvokeMethod(x1, x2)) = [-1] + x2
POL(1651_1_cos_InvokeMethod(x1, x2)) = [-1] + x1 + [-1]x2
POL(1222_1_sin_InvokeMethod(x1, x2)) = [2] + x2
POL(1405_1_sin_InvokeMethod(x1, x2)) = [-1]x2
POL(1540_1_sin_InvokeMethod(x1, x2)) = [-1]
POL(1642_1_sin_InvokeMethod(x1, x2)) = [1] + [-1]x1 + [2]x2
POL(751_1_power_InvokeMethod(x1)) = [-1]
POL(1558_0_MAIN_LOAD(x1, x2)) = [-1]x2 + [2]x1
POL(java.lang.Object(x1)) = x1
POL(ARRAY(x1)) = x1
POL(COND_1558_0_MAIN_LOAD(x1, x2, x3)) = [-1]x3 + [2]x2
POL(&&(x1, x2)) = [-1]
POL(<(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(1925_0_MAIN_GE(x1, x2, x3)) = [-1]x2 + [2]x1
POL(0) = 0
POL(COND_1925_0_MAIN_GE(x1, x2, x3, x4)) = [-1]x3 + [2]x2
POL(100) = [100]
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(COND_1925_0_MAIN_GE1(x1, x2, x3, x4)) = [-1]x3 + [2]x2
POL(COND_1558_0_MAIN_LOAD1(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2
POL(1795_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x2 + [-1]x3
POL(COND_1795_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3
POL(COND_1558_0_MAIN_LOAD2(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2
POL(1731_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x2 + [-1]x3
POL(COND_1558_0_MAIN_LOAD3(x1, x2, x3)) = [-1] + [-1]x3 + [2]x2
POL(1675_1_MAIN_INVOKEMETHOD(x1, x2, x3)) = [-1] + [2]x2 + [-1]x3
POL(COND_1675_1_MAIN_INVOKEMETHOD(x1, x2, x3, x4)) = [-1] + [-1]x4 + [2]x3
COND_1925_0_MAIN_GE1(TRUE, java.lang.Object(ARRAY(x0[5])), x1[5], 100) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[5])), +(x1[5], 1))
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6]) → COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11]) → COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15]) → COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0]) → COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[6])), x1[6]) → COND_1558_0_MAIN_LOAD1(&&(<(x1[6], x0[6]), >(x0[6], -1)), java.lang.Object(ARRAY(x0[6])), x1[6])
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[11])), x1[11]) → COND_1558_0_MAIN_LOAD2(&&(<(x1[11], x0[11]), >(x0[11], -1)), java.lang.Object(ARRAY(x0[11])), x1[11])
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[15])), x1[15]) → COND_1558_0_MAIN_LOAD3(&&(<(x1[15], x0[15]), >(x0[15], -1)), java.lang.Object(ARRAY(x0[15])), x1[15])
1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[0])), x1[0]) → COND_1558_0_MAIN_LOAD(&&(<(x1[0], x0[0]), >(x0[0], -1)), java.lang.Object(ARRAY(x0[0])), x1[0])
COND_1558_0_MAIN_LOAD(TRUE, java.lang.Object(ARRAY(x0[1])), x1[1]) → 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[1])), x1[1], 0)
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3]) → 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[4])), x1[4], 100) → COND_1925_0_MAIN_GE1(>(x1[4], -1), java.lang.Object(ARRAY(x0[4])), x1[4], 100)
COND_1558_0_MAIN_LOAD1(TRUE, java.lang.Object(ARRAY(x0[7])), x1[7]) → 1795_1_MAIN_INVOKEMETHOD(1795_0_exp_Load(x0[7], x1[7]), x0[7], x1[7])
1795_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[8]), x0[8], 0) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[8])), 1)
1795_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[9], x1[9]) → COND_1795_1_MAIN_INVOKEMETHOD(>(x1[9], -1), 996_0_power_Return, x2[9], x1[9])
COND_1795_1_MAIN_INVOKEMETHOD(TRUE, 996_0_power_Return, x2[10], x1[10]) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x2[10])), +(x1[10], 1))
COND_1558_0_MAIN_LOAD2(TRUE, java.lang.Object(ARRAY(x0[12])), x1[12]) → 1731_1_MAIN_INVOKEMETHOD(1731_0_cos_Load(x0[12], x1[12]), x0[12], x1[12])
1731_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[13]), x0[13], 0) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[13])), 1)
1731_1_MAIN_INVOKEMETHOD(996_0_power_Return, x2[14], x1[14]) → COND_1795_1_MAIN_INVOKEMETHOD(>(x1[14], -1), 996_0_power_Return, x2[14], x1[14])
COND_1558_0_MAIN_LOAD3(TRUE, java.lang.Object(ARRAY(x0[16])), x1[16]) → 1675_1_MAIN_INVOKEMETHOD(1675_0_sin_Load(x0[16], x1[16]), x0[16], x1[16])
1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[17]), x0[17], 0) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x0[17])), 1)
1675_1_MAIN_INVOKEMETHOD(1338_0_exp_Return(x0[18]), x3[18], x2[18]) → COND_1675_1_MAIN_INVOKEMETHOD(>(x2[18], -1), 1338_0_exp_Return(x0[18]), x3[18], x2[18])
COND_1675_1_MAIN_INVOKEMETHOD(TRUE, 1338_0_exp_Return(x0[19]), x3[19], x2[19]) → 1558_0_MAIN_LOAD(java.lang.Object(ARRAY(x3[19])), +(x2[19], 1))
!= | ~ | 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 |
Boolean, Integer
(8) -> (0), if (java.lang.Object(ARRAY(x0[8])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(10) -> (0), if (java.lang.Object(ARRAY(x2[10])) →* java.lang.Object(ARRAY(x0[0]))∧x1[10] + 1 →* x1[0])
(13) -> (0), if (java.lang.Object(ARRAY(x0[13])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(17) -> (0), if (java.lang.Object(ARRAY(x0[17])) →* java.lang.Object(ARRAY(x0[0]))∧1 →* x1[0])
(19) -> (0), if (java.lang.Object(ARRAY(x3[19])) →* java.lang.Object(ARRAY(x0[0]))∧x2[19] + 1 →* x1[0])
(0) -> (1), if (x1[0] < x0[0] && x0[0] > -1 ∧java.lang.Object(ARRAY(x0[0])) →* java.lang.Object(ARRAY(x0[1]))∧x1[0] →* x1[1])
(1) -> (2), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[2]))∧x1[1] →* x1[2]∧0 →* x2[2])
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) -> (4), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[4]))∧x1[1] →* x1[4]∧0 →* 100)
(3) -> (4), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4]))∧x1[3] →* x1[4]∧x2[3] + 1 →* 100)
(7) -> (8), if (1795_0_exp_Load(x0[7], x1[7]) →* 1338_0_exp_Return(x0[8])∧x0[7] →* x0[8]∧x1[7] →* 0)
(7) -> (9), if (1795_0_exp_Load(x0[7], x1[7]) →* 996_0_power_Return∧x0[7] →* x2[9]∧x1[7] →* x1[9])
(9) -> (10), if (x1[9] > -1 ∧x2[9] →* x2[10]∧x1[9] →* x1[10])
(14) -> (10), if (x1[14] > -1 ∧x2[14] →* x2[10]∧x1[14] →* x1[10])
(12) -> (13), if (1731_0_cos_Load(x0[12], x1[12]) →* 1338_0_exp_Return(x0[13])∧x0[12] →* x0[13]∧x1[12] →* 0)
(12) -> (14), if (1731_0_cos_Load(x0[12], x1[12]) →* 996_0_power_Return∧x0[12] →* x2[14]∧x1[12] →* x1[14])
(16) -> (17), if (1675_0_sin_Load(x0[16], x1[16]) →* 1338_0_exp_Return(x0[17])∧x0[16] →* x0[17]∧x1[16] →* 0)
(16) -> (18), if (1675_0_sin_Load(x0[16], x1[16]) →* 1338_0_exp_Return(x0[18])∧x0[16] →* x3[18]∧x1[16] →* x2[18])
(18) -> (19), if (x2[18] > -1 ∧1338_0_exp_Return(x0[18]) →* 1338_0_exp_Return(x0[19])∧x3[18] →* x3[19]∧x2[18] →* x2[19])
!= | ~ | 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 |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
!= | ~ | 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 |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) (COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥NonInfC∧COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥))
(2) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧[1 + (-1)bso_12] ≥ 0)
(3) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧[1 + (-1)bso_12] ≥ 0)
(4) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧[1 + (-1)bso_12] ≥ 0)
(5) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_11] = 0∧0 = 0∧[1 + (-1)bso_12] ≥ 0)
(6) (&&(>(x2[2], -1), <(x2[2], 100))=TRUE∧java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(7) (>(x2[2], -1)=TRUE∧<(x2[2], 100)=TRUE ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(8) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_13 + (-1)Bound*bni_13] + [(-1)bni_13]x2[2] ≥ 0∧[(-1)bso_14] ≥ 0)
(9) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_13 + (-1)Bound*bni_13] + [(-1)bni_13]x2[2] ≥ 0∧[(-1)bso_14] ≥ 0)
(10) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_13 + (-1)Bound*bni_13] + [(-1)bni_13]x2[2] ≥ 0∧[(-1)bso_14] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_1925_0_MAIN_GE(x1, x2, x3, x4)) = [-1] + [-1]x4
POL(java.lang.Object(x1)) = [-1]
POL(ARRAY(x1)) = [-1]
POL(1925_0_MAIN_GE(x1, x2, x3)) = [-1] + [-1]x3
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(100) = [100]
COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3]) → 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
!= | ~ | 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 |
Boolean, Integer
!= | ~ | 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 |
Integer
!= | ~ | 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 |
Boolean, Integer
(1) -> (2), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[2]))∧x1[1] →* x1[2]∧0 →* x2[2])
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) -> (4), if (java.lang.Object(ARRAY(x0[1])) →* java.lang.Object(ARRAY(x0[4]))∧x1[1] →* x1[4]∧0 →* 100)
(3) -> (4), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[4]))∧x1[3] →* x1[4]∧x2[3] + 1 →* 100)
(4) -> (5), if (x1[4] > -1 ∧java.lang.Object(ARRAY(x0[4])) →* java.lang.Object(ARRAY(x0[5]))∧x1[4] →* x1[5])
(7) -> (8), if (1795_0_exp_Load(x0[7], x1[7]) →* 1338_0_exp_Return(x0[8])∧x0[7] →* x0[8]∧x1[7] →* 0)
(7) -> (9), if (1795_0_exp_Load(x0[7], x1[7]) →* 996_0_power_Return∧x0[7] →* x2[9]∧x1[7] →* x1[9])
(9) -> (10), if (x1[9] > -1 ∧x2[9] →* x2[10]∧x1[9] →* x1[10])
(14) -> (10), if (x1[14] > -1 ∧x2[14] →* x2[10]∧x1[14] →* x1[10])
(12) -> (13), if (1731_0_cos_Load(x0[12], x1[12]) →* 1338_0_exp_Return(x0[13])∧x0[12] →* x0[13]∧x1[12] →* 0)
(12) -> (14), if (1731_0_cos_Load(x0[12], x1[12]) →* 996_0_power_Return∧x0[12] →* x2[14]∧x1[12] →* x1[14])
(16) -> (17), if (1675_0_sin_Load(x0[16], x1[16]) →* 1338_0_exp_Return(x0[17])∧x0[16] →* x0[17]∧x1[16] →* 0)
(16) -> (18), if (1675_0_sin_Load(x0[16], x1[16]) →* 1338_0_exp_Return(x0[18])∧x0[16] →* x3[18]∧x1[16] →* x2[18])
(18) -> (19), if (x2[18] > -1 ∧1338_0_exp_Return(x0[18]) →* 1338_0_exp_Return(x0[19])∧x3[18] →* x3[19]∧x2[18] →* x2[19])
!= | ~ | 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 |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
!= | ~ | 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 |
Integer, Boolean
(3) -> (2), if (java.lang.Object(ARRAY(x0[3])) →* java.lang.Object(ARRAY(x0[2]))∧x1[3] →* x1[2]∧x2[3] + 1 →* x2[2])
(2) -> (3), if (x2[2] > -1 && x2[2] < 100 ∧java.lang.Object(ARRAY(x0[2])) →* java.lang.Object(ARRAY(x0[3]))∧x1[2] →* x1[3]∧x2[2] →* x2[3])
(1) (COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥NonInfC∧COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3])≥1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))∧(UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥))
(2) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(3) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(4) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧[1 + (-1)bso_11] ≥ 0)
(5) ((UIncreasing(1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))), ≥)∧[bni_10] = 0∧0 = 0∧[1 + (-1)bso_11] ≥ 0)
(6) (&&(>(x2[2], -1), <(x2[2], 100))=TRUE∧java.lang.Object(ARRAY(x0[2]))=java.lang.Object(ARRAY(x0[3]))∧x1[2]=x1[3]∧x2[2]=x2[3] ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(7) (>(x2[2], -1)=TRUE∧<(x2[2], 100)=TRUE ⇒ 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥NonInfC∧1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])≥COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])∧(UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥))
(8) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[2] ≥ 0∧[(-1)bso_13] ≥ 0)
(9) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[2] ≥ 0∧[(-1)bso_13] ≥ 0)
(10) (x2[2] ≥ 0∧[99] + [-1]x2[2] ≥ 0 ⇒ (UIncreasing(COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])), ≥)∧[(-1)bni_12 + (-1)Bound*bni_12] + [(-1)bni_12]x2[2] ≥ 0∧[(-1)bso_13] ≥ 0)
POL(TRUE) = 0
POL(FALSE) = 0
POL(COND_1925_0_MAIN_GE(x1, x2, x3, x4)) = [-1] + [-1]x4
POL(java.lang.Object(x1)) = [-1]
POL(ARRAY(x1)) = [-1]
POL(1925_0_MAIN_GE(x1, x2, x3)) = [-1] + [-1]x3
POL(+(x1, x2)) = x1 + x2
POL(1) = [1]
POL(&&(x1, x2)) = [-1]
POL(>(x1, x2)) = [-1]
POL(-1) = [-1]
POL(<(x1, x2)) = [-1]
POL(100) = [100]
COND_1925_0_MAIN_GE(TRUE, java.lang.Object(ARRAY(x0[3])), x1[3], x2[3]) → 1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[3])), x1[3], +(x2[3], 1))
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
1925_0_MAIN_GE(java.lang.Object(ARRAY(x0[2])), x1[2], x2[2]) → COND_1925_0_MAIN_GE(&&(>(x2[2], -1), <(x2[2], 100)), java.lang.Object(ARRAY(x0[2])), x1[2], x2[2])
!= | ~ | 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 |
Boolean, Integer
!= | ~ | 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 |
Integer