0 JBC
↳1 JBCToGraph (⇒, 1007 ms)
↳2 JBCTerminationGraph
↳3 TerminationGraphToSCCProof (⇒, 0 ms)
↳4 AND
↳5 JBCTerminationSCC
↳6 SCCToIntTRSProof (⇒, 21 ms)
↳7 intTRS
↳8 LinearRankingProcessor (⇔, 0 ms)
↳9 YES
↳10 JBCTerminationSCC
↳11 SCCToIntTRSProof (⇒, 28 ms)
↳12 intTRS
↳13 PolynomialOrderProcessor (⇔, 0 ms)
↳14 YES
↳15 JBCTerminationSCC
↳16 SCCToIntTRSProof (⇒, 30 ms)
↳17 intTRS
↳18 PolynomialOrderProcessor (⇔, 0 ms)
↳19 YES
↳20 JBCTerminationSCC
↳21 SCCToIntTRSProof (⇒, 136 ms)
↳22 intTRS
↳23 PolynomialOrderProcessor (⇔, 0 ms)
↳24 YES
↳25 JBCTerminationSCC
↳26 SCCToIntTRSProof (⇒, 132 ms)
↳27 intTRS
↳28 PolynomialOrderProcessor (⇔, 0 ms)
↳29 YES
↳30 JBCTerminationSCC
↳31 SCCToIntTRSProof (⇒, 557 ms)
↳32 intTRS
↳33 TerminationGraphProcessor (⇒, 172 ms)
↳34 intTRS
↳35 PolynomialOrderProcessor (⇒, 43 ms)
↳36 intTRS
↳37 TerminationGraphProcessor (⇒, 0 ms)
↳38 intTRS
↳39 PolynomialOrderProcessor (⇔, 0 ms)
↳40 YES
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 rules. Obtained 11 IRules
P rules:
f1897_0_fact_GT(EOS, i324, i324, i324) → f1905_0_fact_GT(EOS, i324, i324, i324)
f1905_0_fact_GT(EOS, i324, i324, i324) → f1926_0_fact_Load(EOS, i324, i324) | >(i324, 0)
f1926_0_fact_Load(EOS, i324, i324) → f1938_0_fact_Load(EOS, i324, i324, i324)
f1938_0_fact_Load(EOS, i324, i324, i324) → f1945_0_fact_ConstantStackPush(EOS, i324, i324, i324)
f1945_0_fact_ConstantStackPush(EOS, i324, i324, i324) → f1975_0_fact_IntArithmetic(EOS, i324, i324, i324, 1)
f1975_0_fact_IntArithmetic(EOS, i324, i324, i324, matching1) → f1981_0_fact_InvokeMethod(EOS, i324, i324, -(i324, 1)) | &&(>(i324, 0), =(matching1, 1))
f1981_0_fact_InvokeMethod(EOS, i324, i324, i338) → f1984_0_fact_Load(EOS, i338, i338)
f1981_0_fact_InvokeMethod(EOS, i324, i324, i338) → f1984_1_fact_Load(EOS, i324, i324, i338, i338)
f1984_0_fact_Load(EOS, i338, i338) → f1992_0_fact_Load(EOS, i338, i338)
f1992_0_fact_Load(EOS, i338, i338) → f1885_0_fact_Load(EOS, i338, i338)
f1885_0_fact_Load(EOS, i320, i320) → f1897_0_fact_GT(EOS, i320, i320, i320)
Combined rules. Obtained 2 IRules
P rules:
f1897_0_fact_GT(EOS, x0, x0, x0) → f1984_1_fact_Load(EOS, x0, x0, -(x0, 1), -(x0, 1)) | >(x0, 0)
f1897_0_fact_GT(EOS, x0, x0, x0) → f1897_0_fact_GT(EOS, -(x0, 1), -(x0, 1), -(x0, 1)) | >(x0, 0)
Filtered ground terms:
f1897_0_fact_GT(x1, x2, x3, x4) → f1897_0_fact_GT(x2, x3, x4)
Cond_f1897_0_fact_GT(x1, x2, x3, x4, x5) → Cond_f1897_0_fact_GT(x1, x3, x4, x5)
f1984_1_fact_Load(x1, x2, x3, x4, x5) → f1984_1_fact_Load(x2, x3, x4, x5)
Cond_f1897_0_fact_GT1(x1, x2, x3, x4, x5) → Cond_f1897_0_fact_GT1(x1, x3, x4, x5)
Filtered duplicate terms:
f1897_0_fact_GT(x1, x2, x3) → f1897_0_fact_GT(x3)
Cond_f1897_0_fact_GT(x1, x2, x3, x4) → Cond_f1897_0_fact_GT(x1, x4)
f1984_1_fact_Load(x1, x2, x3, x4) → f1984_1_fact_Load(x4)
Cond_f1897_0_fact_GT1(x1, x2, x3, x4) → Cond_f1897_0_fact_GT1(x1, x4)
Filtered unneeded terms:
Cond_f1897_0_fact_GT(x1, x2) → Cond_f1897_0_fact_GT(x1)
Prepared 2 rules for path length conversion:
P rules:
f1897_0_fact_GT(x0) → f1984_1_fact_Load(-(x0, 1)) | >(x0, 0)
f1897_0_fact_GT(x0) → f1897_0_fact_GT(-(x0, 1)) | >(x0, 0)
Finished conversion. Obtained 1 rules.
P rules:
f1897_0_fact_GT(x1) → f1897_0_fact_GT(-(x1, 1)) | >(x1, 0)
Linear ranking:
where x = (x1, ... ,xn).
Therefore the following rule(s) have been dropped:
Generated rules. Obtained 12 IRules
P rules:
f999_0_power_GT(EOS, i100, i100, i100) → f1007_0_power_GT(EOS, i100, i100, i100)
f1007_0_power_GT(EOS, i100, i100, i100) → f1018_0_power_Load(EOS, i100, i100) | >(i100, 0)
f1018_0_power_Load(EOS, i100, i100) → f1031_0_power_Load(EOS, i100, i100)
f1031_0_power_Load(EOS, i100, i100) → f1045_0_power_Load(EOS, i100, i100)
f1045_0_power_Load(EOS, i100, i100) → f1112_0_power_ConstantStackPush(EOS, i100, i100)
f1112_0_power_ConstantStackPush(EOS, i100, i100) → f1123_0_power_IntArithmetic(EOS, i100, i100, 1)
f1123_0_power_IntArithmetic(EOS, i100, i100, matching1) → f1128_0_power_InvokeMethod(EOS, i100, -(i100, 1)) | &&(>(i100, 0), =(matching1, 1))
f1128_0_power_InvokeMethod(EOS, i100, i117) → f1133_0_power_Load(EOS, i117, i117)
f1128_0_power_InvokeMethod(EOS, i100, i117) → f1133_1_power_Load(EOS, i100, i117, i117)
f1133_0_power_Load(EOS, i117, i117) → f1139_0_power_Load(EOS, i117, i117)
f1139_0_power_Load(EOS, i117, i117) → f987_0_power_Load(EOS, i117, i117)
f987_0_power_Load(EOS, i98, i98) → f999_0_power_GT(EOS, i98, i98, i98)
Combined rules. Obtained 2 IRules
P rules:
f999_0_power_GT(EOS, x0, x0, x0) → f1133_1_power_Load(EOS, x0, -(x0, 1), -(x0, 1)) | >(x0, 0)
f999_0_power_GT(EOS, x0, x0, x0) → f999_0_power_GT(EOS, -(x0, 1), -(x0, 1), -(x0, 1)) | >(x0, 0)
Filtered ground terms:
f999_0_power_GT(x1, x2, x3, x4) → f999_0_power_GT(x2, x3, x4)
Cond_f999_0_power_GT(x1, x2, x3, x4, x5) → Cond_f999_0_power_GT(x1, x3, x4, x5)
f1133_1_power_Load(x1, x2, x3, x4) → f1133_1_power_Load(x2, x3, x4)
Cond_f999_0_power_GT1(x1, x2, x3, x4, x5) → Cond_f999_0_power_GT1(x1, x3, x4, x5)
Filtered duplicate terms:
f999_0_power_GT(x1, x2, x3) → f999_0_power_GT(x3)
Cond_f999_0_power_GT(x1, x2, x3, x4) → Cond_f999_0_power_GT(x1, x4)
f1133_1_power_Load(x1, x2, x3) → f1133_1_power_Load(x3)
Cond_f999_0_power_GT1(x1, x2, x3, x4) → Cond_f999_0_power_GT1(x1, x4)
Filtered unneeded terms:
Cond_f999_0_power_GT(x1, x2) → Cond_f999_0_power_GT(x1)
Prepared 2 rules for path length conversion:
P rules:
f999_0_power_GT(x0) → f1133_1_power_Load(-(x0, 1)) | >(x0, 0)
f999_0_power_GT(x0) → f999_0_power_GT(-(x0, 1)) | >(x0, 0)
Finished conversion. Obtained 1 rules.
P rules:
f999_0_power_GT(x1) → f999_0_power_GT(-(x1, 1)) | >(x1, 0)
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped:
Generated rules. Obtained 25 IRules
P rules:
f2794_0_power_Return(EOS, i586, i586, i586) → f2801_0_exp_Load(EOS, i586, i586)
f2801_0_exp_Load(EOS, i586, i586) → f2808_0_exp_InvokeMethod(EOS, i586, i586, i586)
f2808_0_exp_InvokeMethod(EOS, i586, i586, i586) → f2818_0_fact_Load(EOS, i586, i586)
f2808_0_exp_InvokeMethod(EOS, i586, i586, i586) → f2818_1_fact_Load(EOS, i586, i586, i586, i586)
f2818_0_fact_Load(EOS, i586, i586) → f2825_0_fact_Load(EOS, i586, i586)
f2896_0_fact_Return(EOS, i612, i612, i612) → f2911_0_exp_IntArithmetic(EOS, i612, i612)
f2911_0_exp_IntArithmetic(EOS, i612, i612) → f2918_0_exp_Load(EOS, i612, i612)
f2918_0_exp_Load(EOS, i612, i612) → f2925_0_exp_Load(EOS, i612, i612)
f2925_0_exp_Load(EOS, i612, i612) → f2940_0_exp_ConstantStackPush(EOS, i612, i612)
f2940_0_exp_ConstantStackPush(EOS, i612, i612) → f2947_0_exp_IntArithmetic(EOS, i612, i612, 1)
f2947_0_exp_IntArithmetic(EOS, i612, i612, matching1) → f2961_0_exp_InvokeMethod(EOS, i612, -(i612, 1)) | &&(>(i612, 0), =(matching1, 1))
f2961_0_exp_InvokeMethod(EOS, i612, i638) → f2974_0_exp_Load(EOS, i638, i638)
f2961_0_exp_InvokeMethod(EOS, i612, i638) → f2974_1_exp_Load(EOS, i612, i638, i638)
f2974_0_exp_Load(EOS, i638, i638) → f2983_0_exp_Load(EOS, i638, i638)
f2983_0_exp_Load(EOS, i638, i638) → f2640_0_exp_Load(EOS, i638, i638)
f2640_0_exp_Load(EOS, i538, i538) → f2649_0_exp_GT(EOS, i538, i538, i538)
f2649_0_exp_GT(EOS, i542, i542, i542) → f2658_0_exp_GT(EOS, i542, i542, i542)
f2658_0_exp_GT(EOS, i542, i542, i542) → f2673_0_exp_Load(EOS, i542, i542) | >(i542, 0)
f2673_0_exp_Load(EOS, i542, i542) → f2690_0_exp_Load(EOS, i542, i542)
f2690_0_exp_Load(EOS, i542, i542) → f2703_0_exp_InvokeMethod(EOS, i542, i542, i542)
f2703_0_exp_InvokeMethod(EOS, i542, i542, i542) → f2736_0_power_Load(EOS, i542, i542)
f2703_0_exp_InvokeMethod(EOS, i542, i542, i542) → f2736_1_power_Load(EOS, i542, i542, i542, i542)
f2736_0_power_Load(EOS, i542, i542) → f2748_0_power_Load(EOS, i542, i542)
f2818_1_fact_Load(EOS, i612, i612, i612, i612) → f2896_0_fact_Return(EOS, i612, i612, i612)
f2736_1_power_Load(EOS, i586, i586, i586, i586) → f2794_0_power_Return(EOS, i586, i586, i586)
Combined rules. Obtained 4 IRules
P rules:
f2794_0_power_Return(EOS, x0, x0, x0) → f2825_0_fact_Load(EOS, x0, x0)
f2794_0_power_Return(EOS, x0, x0, x0) → f2974_1_exp_Load(EOS, x0, -(x0, 1), -(x0, 1)) | >(x0, 0)
f2794_0_power_Return(EOS, x0, x0, x0) → f2748_0_power_Load(EOS, -(x0, 1), -(x0, 1)) | >(x0, 1)
f2794_0_power_Return(EOS, x0, x0, x0) → f2794_0_power_Return(EOS, -(x0, 1), -(x0, 1), -(x0, 1)) | >(x0, 1)
Filtered ground terms:
f2794_0_power_Return(x1, x2, x3, x4) → f2794_0_power_Return(x2, x3, x4)
f2825_0_fact_Load(x1, x2, x3) → f2825_0_fact_Load(x2, x3)
Cond_f2794_0_power_Return(x1, x2, x3, x4, x5) → Cond_f2794_0_power_Return(x1, x3, x4, x5)
f2974_1_exp_Load(x1, x2, x3, x4) → f2974_1_exp_Load(x2, x3, x4)
Cond_f2794_0_power_Return1(x1, x2, x3, x4, x5) → Cond_f2794_0_power_Return1(x1, x3, x4, x5)
f2748_0_power_Load(x1, x2, x3) → f2748_0_power_Load(x2, x3)
Cond_f2794_0_power_Return2(x1, x2, x3, x4, x5) → Cond_f2794_0_power_Return2(x1, x3, x4, x5)
Filtered duplicate terms:
f2794_0_power_Return(x1, x2, x3) → f2794_0_power_Return(x3)
f2825_0_fact_Load(x1, x2) → f2825_0_fact_Load(x2)
Cond_f2794_0_power_Return(x1, x2, x3, x4) → Cond_f2794_0_power_Return(x1, x4)
f2974_1_exp_Load(x1, x2, x3) → f2974_1_exp_Load(x3)
Cond_f2794_0_power_Return1(x1, x2, x3, x4) → Cond_f2794_0_power_Return1(x1, x4)
f2748_0_power_Load(x1, x2) → f2748_0_power_Load(x2)
Cond_f2794_0_power_Return2(x1, x2, x3, x4) → Cond_f2794_0_power_Return2(x1, x4)
Filtered unneeded terms:
Cond_f2794_0_power_Return(x1, x2) → Cond_f2794_0_power_Return(x1)
Cond_f2794_0_power_Return1(x1, x2) → Cond_f2794_0_power_Return1(x1)
Prepared 4 rules for path length conversion:
P rules:
f2794_0_power_Return(x0) → f2825_0_fact_Load(x0)
f2794_0_power_Return(x0) → f2974_1_exp_Load(-(x0, 1)) | >(x0, 0)
f2794_0_power_Return(x0) → f2748_0_power_Load(-(x0, 1)) | >(x0, 1)
f2794_0_power_Return(x0) → f2794_0_power_Return(-(x0, 1)) | >(x0, 1)
Finished conversion. Obtained 1 rules.
P rules:
f2794_0_power_Return(x3) → f2794_0_power_Return(-(x3, 1)) | >(x3, 1)
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped:
Generated rules. Obtained 37 IRules
P rules:
f2642_0_power_Return(EOS, i523, i523, i523) → f2651_0_cos_Load(EOS, i523, i523)
f2651_0_cos_Load(EOS, i523, i523) → f2659_0_cos_ConstantStackPush(EOS, i523, i523)
f2659_0_cos_ConstantStackPush(EOS, i523, i523) → f2667_0_cos_Load(EOS, i523, i523, 2)
f2667_0_cos_Load(EOS, i523, i523, matching1) → f2674_0_cos_IntArithmetic(EOS, i523, i523, 2, i523) | =(matching1, 2)
f2674_0_cos_IntArithmetic(EOS, i523, i523, matching1, i523) → f2682_0_cos_InvokeMethod(EOS, i523, i523, *(2, i523)) | &&(>=(i523, 1), =(matching1, 2))
f2682_0_cos_InvokeMethod(EOS, i523, i523, i545) → f2691_0_power_Load(EOS, i545, i545)
f2682_0_cos_InvokeMethod(EOS, i523, i523, i545) → f2691_1_power_Load(EOS, i523, i523, i545, i545)
f2691_0_power_Load(EOS, i545, i545) → f2698_0_power_Load(EOS, i545, i545)
f2749_0_power_Return(EOS, i523, i523, i562) → f2766_0_cos_IntArithmetic(EOS, i523, i523)
f2766_0_cos_IntArithmetic(EOS, i523, i523) → f2784_0_cos_ConstantStackPush(EOS, i523, i523)
f2784_0_cos_ConstantStackPush(EOS, i523, i523) → f2790_0_cos_Load(EOS, i523, i523, 2)
f2790_0_cos_Load(EOS, i523, i523, matching1) → f2796_0_cos_IntArithmetic(EOS, i523, i523, 2, i523) | =(matching1, 2)
f2796_0_cos_IntArithmetic(EOS, i523, i523, matching1, i523) → f2803_0_cos_InvokeMethod(EOS, i523, i523, *(2, i523)) | &&(>=(i523, 1), =(matching1, 2))
f2803_0_cos_InvokeMethod(EOS, i523, i523, i591) → f2809_0_fact_Load(EOS, i591, i591)
f2803_0_cos_InvokeMethod(EOS, i523, i523, i591) → f2809_1_fact_Load(EOS, i523, i523, i591, i591)
f2809_0_fact_Load(EOS, i591, i591) → f2820_0_fact_Load(EOS, i591, i591)
f2893_0_fact_Return(EOS, i523, i523, i603) → f2898_0_cos_IntArithmetic(EOS, i523, i523)
f2898_0_cos_IntArithmetic(EOS, i523, i523) → f2913_0_cos_Load(EOS, i523, i523)
f2913_0_cos_Load(EOS, i523, i523) → f2920_0_cos_Load(EOS, i523, i523)
f2920_0_cos_Load(EOS, i523, i523) → f2926_0_cos_ConstantStackPush(EOS, i523, i523)
f2926_0_cos_ConstantStackPush(EOS, i523, i523) → f2942_0_cos_IntArithmetic(EOS, i523, i523, 1)
f2942_0_cos_IntArithmetic(EOS, i523, i523, matching1) → f2949_0_cos_InvokeMethod(EOS, i523, -(i523, 1)) | &&(>(i523, 0), =(matching1, 1))
f2949_0_cos_InvokeMethod(EOS, i523, i626) → f2962_0_cos_Load(EOS, i626, i626)
f2949_0_cos_InvokeMethod(EOS, i523, i626) → f2962_1_cos_Load(EOS, i523, i626, i626)
f2962_0_cos_Load(EOS, i626, i626) → f2976_0_cos_Load(EOS, i626, i626)
f2976_0_cos_Load(EOS, i626, i626) → f2520_0_cos_Load(EOS, i626, i626)
f2520_0_cos_Load(EOS, i495, i495) → f2537_0_cos_GT(EOS, i495, i495, i495)
f2537_0_cos_GT(EOS, i505, i505, i505) → f2543_0_cos_GT(EOS, i505, i505, i505)
f2543_0_cos_GT(EOS, i505, i505, i505) → f2551_0_cos_ConstantStackPush(EOS, i505, i505) | >(i505, 0)
f2551_0_cos_ConstantStackPush(EOS, i505, i505) → f2561_0_cos_Load(EOS, i505, i505)
f2561_0_cos_Load(EOS, i505, i505) → f2570_0_cos_InvokeMethod(EOS, i505, i505, i505)
f2570_0_cos_InvokeMethod(EOS, i505, i505, i505) → f2587_0_power_Load(EOS, i505, i505)
f2570_0_cos_InvokeMethod(EOS, i505, i505, i505) → f2587_1_power_Load(EOS, i505, i505, i505, i505)
f2587_0_power_Load(EOS, i505, i505) → f2590_0_power_Load(EOS, i505, i505)
f2691_1_power_Load(EOS, i523, i523, i562, i562) → f2749_0_power_Return(EOS, i523, i523, i562)
f2809_1_fact_Load(EOS, i523, i523, i603, i603) → f2893_0_fact_Return(EOS, i523, i523, i603)
f2587_1_power_Load(EOS, i523, i523, i523, i523) → f2642_0_power_Return(EOS, i523, i523, i523)
Combined rules. Obtained 5 IRules
P rules:
f2642_0_power_Return(EOS, x0, x0, x0) → f2698_0_power_Load(EOS, *(2, x0), *(2, x0)) | >(+(x0, 1), 1)
f2642_0_power_Return(EOS, x0, x0, x0) → f2820_0_fact_Load(EOS, *(2, x0), *(2, x0)) | >(+(x0, 1), 1)
f2642_0_power_Return(EOS, x0, x0, x0) → f2962_1_cos_Load(EOS, x0, -(x0, 1), -(x0, 1)) | >(+(x0, 1), 1)
f2642_0_power_Return(EOS, x0, x0, x0) → f2590_0_power_Load(EOS, -(x0, 1), -(x0, 1)) | >(x0, 1)
f2642_0_power_Return(EOS, x0, x0, x0) → f2642_0_power_Return(EOS, -(x0, 1), -(x0, 1), -(x0, 1)) | >(x0, 1)
Filtered ground terms:
f2642_0_power_Return(x1, x2, x3, x4) → f2642_0_power_Return(x2, x3, x4)
Cond_f2642_0_power_Return(x1, x2, x3, x4, x5) → Cond_f2642_0_power_Return(x1, x3, x4, x5)
f2698_0_power_Load(x1, x2, x3) → f2698_0_power_Load(x2, x3)
Cond_f2642_0_power_Return1(x1, x2, x3, x4, x5) → Cond_f2642_0_power_Return1(x1, x3, x4, x5)
f2820_0_fact_Load(x1, x2, x3) → f2820_0_fact_Load(x2, x3)
Cond_f2642_0_power_Return2(x1, x2, x3, x4, x5) → Cond_f2642_0_power_Return2(x1, x3, x4, x5)
f2962_1_cos_Load(x1, x2, x3, x4) → f2962_1_cos_Load(x2, x3, x4)
Cond_f2642_0_power_Return3(x1, x2, x3, x4, x5) → Cond_f2642_0_power_Return3(x1, x3, x4, x5)
f2590_0_power_Load(x1, x2, x3) → f2590_0_power_Load(x2, x3)
Cond_f2642_0_power_Return4(x1, x2, x3, x4, x5) → Cond_f2642_0_power_Return4(x1, x3, x4, x5)
Filtered duplicate terms:
f2642_0_power_Return(x1, x2, x3) → f2642_0_power_Return(x3)
Cond_f2642_0_power_Return(x1, x2, x3, x4) → Cond_f2642_0_power_Return(x1, x4)
f2698_0_power_Load(x1, x2) → f2698_0_power_Load(x2)
Cond_f2642_0_power_Return1(x1, x2, x3, x4) → Cond_f2642_0_power_Return1(x1, x4)
f2820_0_fact_Load(x1, x2) → f2820_0_fact_Load(x2)
Cond_f2642_0_power_Return2(x1, x2, x3, x4) → Cond_f2642_0_power_Return2(x1, x4)
f2962_1_cos_Load(x1, x2, x3) → f2962_1_cos_Load(x3)
Cond_f2642_0_power_Return3(x1, x2, x3, x4) → Cond_f2642_0_power_Return3(x1, x4)
f2590_0_power_Load(x1, x2) → f2590_0_power_Load(x2)
Cond_f2642_0_power_Return4(x1, x2, x3, x4) → Cond_f2642_0_power_Return4(x1, x4)
Filtered unneeded terms:
Cond_f2642_0_power_Return(x1, x2) → Cond_f2642_0_power_Return(x1)
Cond_f2642_0_power_Return1(x1, x2) → Cond_f2642_0_power_Return1(x1)
Cond_f2642_0_power_Return2(x1, x2) → Cond_f2642_0_power_Return2(x1)
Cond_f2642_0_power_Return3(x1, x2) → Cond_f2642_0_power_Return3(x1)
Prepared 5 rules for path length conversion:
P rules:
f2642_0_power_Return(x0) → f2698_0_power_Load(*(2, x0)) | >(+(x0, 1), 1)
f2642_0_power_Return(x0) → f2820_0_fact_Load(*(2, x0)) | >(+(x0, 1), 1)
f2642_0_power_Return(x0) → f2962_1_cos_Load(-(x0, 1)) | >(+(x0, 1), 1)
f2642_0_power_Return(x0) → f2590_0_power_Load(-(x0, 1)) | >(x0, 1)
f2642_0_power_Return(x0) → f2642_0_power_Return(-(x0, 1)) | >(x0, 1)
Finished conversion. Obtained 1 rules.
P rules:
f2642_0_power_Return(x4) → f2642_0_power_Return(-(x4, 1)) | >(x4, 1)
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped:
Generated rules. Obtained 41 IRules
P rules:
f2436_0_sin_GT(EOS, i481, i481, i481) → f2452_0_sin_GT(EOS, i481, i481, i481)
f2452_0_sin_GT(EOS, i481, i481, i481) → f2474_0_sin_ConstantStackPush(EOS, i481, i481) | >(i481, 0)
f2474_0_sin_ConstantStackPush(EOS, i481, i481) → f2486_0_sin_Load(EOS, i481, i481)
f2486_0_sin_Load(EOS, i481, i481) → f2494_0_sin_InvokeMethod(EOS, i481, i481, i481)
f2494_0_sin_InvokeMethod(EOS, i481, i481, i481) → f2508_0_power_Load(EOS, i481, i481)
f2494_0_sin_InvokeMethod(EOS, i481, i481, i481) → f2508_1_power_Load(EOS, i481, i481, i481, i481)
f2508_0_power_Load(EOS, i481, i481) → f2514_0_power_Load(EOS, i481, i481)
f2544_0_power_Return(EOS, i503, i503, i503) → f2548_0_sin_Load(EOS, i503, i503)
f2548_0_sin_Load(EOS, i503, i503) → f2553_0_sin_ConstantStackPush(EOS, i503, i503)
f2553_0_sin_ConstantStackPush(EOS, i503, i503) → f2557_0_sin_Load(EOS, i503, i503, 2)
f2557_0_sin_Load(EOS, i503, i503, matching1) → f2562_0_sin_IntArithmetic(EOS, i503, i503, 2, i503) | =(matching1, 2)
f2562_0_sin_IntArithmetic(EOS, i503, i503, matching1, i503) → f2567_0_sin_ConstantStackPush(EOS, i503, i503, *(2, i503)) | &&(>=(i503, 1), =(matching1, 2))
f2567_0_sin_ConstantStackPush(EOS, i503, i503, i506) → f2572_0_sin_IntArithmetic(EOS, i503, i503, i506, 1)
f2572_0_sin_IntArithmetic(EOS, i503, i503, i506, matching1) → f2583_0_sin_InvokeMethod(EOS, i503, i503, +(i506, 1)) | &&(>(i506, 0), =(matching1, 1))
f2583_0_sin_InvokeMethod(EOS, i503, i503, i515) → f2588_0_power_Load(EOS, i515, i515)
f2583_0_sin_InvokeMethod(EOS, i503, i503, i515) → f2588_1_power_Load(EOS, i503, i503, i515, i515)
f2588_0_power_Load(EOS, i515, i515) → f2592_0_power_Load(EOS, i515, i515)
f2643_0_power_Return(EOS, i503, i503, i535) → f2653_0_sin_IntArithmetic(EOS, i503, i503)
f2653_0_sin_IntArithmetic(EOS, i503, i503) → f2661_0_sin_ConstantStackPush(EOS, i503, i503)
f2661_0_sin_ConstantStackPush(EOS, i503, i503) → f2669_0_sin_Load(EOS, i503, i503, 2)
f2669_0_sin_Load(EOS, i503, i503, matching1) → f2676_0_sin_IntArithmetic(EOS, i503, i503, 2, i503) | =(matching1, 2)
f2676_0_sin_IntArithmetic(EOS, i503, i503, matching1, i503) → f2684_0_sin_ConstantStackPush(EOS, i503, i503, *(2, i503)) | &&(>=(i503, 1), =(matching1, 2))
f2684_0_sin_ConstantStackPush(EOS, i503, i503, i546) → f2693_0_sin_IntArithmetic(EOS, i503, i503, i546, 1)
f2693_0_sin_IntArithmetic(EOS, i503, i503, i546, matching1) → f2700_0_sin_InvokeMethod(EOS, i503, i503, +(i546, 1)) | &&(>(i546, 0), =(matching1, 1))
f2700_0_sin_InvokeMethod(EOS, i503, i503, i548) → f2705_0_fact_Load(EOS, i548, i548)
f2700_0_sin_InvokeMethod(EOS, i503, i503, i548) → f2705_1_fact_Load(EOS, i503, i503, i548, i548)
f2705_0_fact_Load(EOS, i548, i548) → f2730_0_fact_Load(EOS, i548, i548)
f2785_0_fact_Return(EOS, i503, i503, i575) → f2791_0_sin_IntArithmetic(EOS, i503, i503)
f2791_0_sin_IntArithmetic(EOS, i503, i503) → f2798_0_sin_Load(EOS, i503, i503)
f2798_0_sin_Load(EOS, i503, i503) → f2805_0_sin_Load(EOS, i503, i503)
f2805_0_sin_Load(EOS, i503, i503) → f2811_0_sin_ConstantStackPush(EOS, i503, i503)
f2811_0_sin_ConstantStackPush(EOS, i503, i503) → f2821_0_sin_IntArithmetic(EOS, i503, i503, 1)
f2821_0_sin_IntArithmetic(EOS, i503, i503, matching1) → f2827_0_sin_InvokeMethod(EOS, i503, -(i503, 1)) | &&(>(i503, 0), =(matching1, 1))
f2827_0_sin_InvokeMethod(EOS, i503, i595) → f2849_0_sin_Load(EOS, i595, i595)
f2827_0_sin_InvokeMethod(EOS, i503, i595) → f2849_1_sin_Load(EOS, i503, i595, i595)
f2849_0_sin_Load(EOS, i595, i595) → f2886_0_sin_Load(EOS, i595, i595)
f2886_0_sin_Load(EOS, i595, i595) → f2418_0_sin_Load(EOS, i595, i595)
f2418_0_sin_Load(EOS, i467, i467) → f2436_0_sin_GT(EOS, i467, i467, i467)
f2508_1_power_Load(EOS, i503, i503, i503, i503) → f2544_0_power_Return(EOS, i503, i503, i503)
f2588_1_power_Load(EOS, i503, i503, i535, i535) → f2643_0_power_Return(EOS, i503, i503, i535)
f2705_1_fact_Load(EOS, i503, i503, i575, i575) → f2785_0_fact_Return(EOS, i503, i503, i575)
Combined rules. Obtained 5 IRules
P rules:
f2785_0_fact_Return(EOS, x0, x0, x1) → f2849_1_sin_Load(EOS, x0, -(x0, 1), -(x0, 1)) | >(x0, 0)
f2785_0_fact_Return(EOS, x0, x0, x1) → f2514_0_power_Load(EOS, -(x0, 1), -(x0, 1)) | >(x0, 1)
f2785_0_fact_Return(EOS, x0, x0, x1) → f2592_0_power_Load(EOS, +(*(2, -(x0, 1)), 1), +(*(2, -(x0, 1)), 1)) | &&(>(+(x0, 1), 2), >(*(2, -(x0, 1)), 0))
f2785_0_fact_Return(EOS, x0, x0, x1) → f2730_0_fact_Load(EOS, +(*(2, -(x0, 1)), 1), +(*(2, -(x0, 1)), 1)) | &&(>(+(x0, 1), 2), >(*(2, -(x0, 1)), 0))
f2785_0_fact_Return(EOS, x0, x0, x1) → f2785_0_fact_Return(EOS, -(x0, 1), -(x0, 1), +(*(2, -(x0, 1)), 1)) | &&(>(+(x0, 1), 2), >(*(2, -(x0, 1)), 0))
Filtered ground terms:
f2785_0_fact_Return(x1, x2, x3, x4) → f2785_0_fact_Return(x2, x3, x4)
Cond_f2785_0_fact_Return(x1, x2, x3, x4, x5) → Cond_f2785_0_fact_Return(x1, x3, x4, x5)
f2849_1_sin_Load(x1, x2, x3, x4) → f2849_1_sin_Load(x2, x3, x4)
Cond_f2785_0_fact_Return1(x1, x2, x3, x4, x5) → Cond_f2785_0_fact_Return1(x1, x3, x4, x5)
f2514_0_power_Load(x1, x2, x3) → f2514_0_power_Load(x2, x3)
Cond_f2785_0_fact_Return2(x1, x2, x3, x4, x5) → Cond_f2785_0_fact_Return2(x1, x3, x4, x5)
f2592_0_power_Load(x1, x2, x3) → f2592_0_power_Load(x2, x3)
Cond_f2785_0_fact_Return3(x1, x2, x3, x4, x5) → Cond_f2785_0_fact_Return3(x1, x3, x4, x5)
f2730_0_fact_Load(x1, x2, x3) → f2730_0_fact_Load(x2, x3)
Cond_f2785_0_fact_Return4(x1, x2, x3, x4, x5) → Cond_f2785_0_fact_Return4(x1, x3, x4, x5)
Filtered duplicate terms:
f2785_0_fact_Return(x1, x2, x3) → f2785_0_fact_Return(x2, x3)
Cond_f2785_0_fact_Return(x1, x2, x3, x4) → Cond_f2785_0_fact_Return(x1, x3, x4)
f2849_1_sin_Load(x1, x2, x3) → f2849_1_sin_Load(x3)
Cond_f2785_0_fact_Return1(x1, x2, x3, x4) → Cond_f2785_0_fact_Return1(x1, x3, x4)
f2514_0_power_Load(x1, x2) → f2514_0_power_Load(x2)
Cond_f2785_0_fact_Return2(x1, x2, x3, x4) → Cond_f2785_0_fact_Return2(x1, x3, x4)
f2592_0_power_Load(x1, x2) → f2592_0_power_Load(x2)
Cond_f2785_0_fact_Return3(x1, x2, x3, x4) → Cond_f2785_0_fact_Return3(x1, x3, x4)
f2730_0_fact_Load(x1, x2) → f2730_0_fact_Load(x2)
Cond_f2785_0_fact_Return4(x1, x2, x3, x4) → Cond_f2785_0_fact_Return4(x1, x3, x4)
Filtered unneeded terms:
Cond_f2785_0_fact_Return(x1, x2, x3) → Cond_f2785_0_fact_Return(x1)
Cond_f2785_0_fact_Return1(x1, x2, x3) → Cond_f2785_0_fact_Return1(x1)
Cond_f2785_0_fact_Return2(x1, x2, x3) → Cond_f2785_0_fact_Return2(x1)
Cond_f2785_0_fact_Return3(x1, x2, x3) → Cond_f2785_0_fact_Return3(x1)
Cond_f2785_0_fact_Return4(x1, x2, x3) → Cond_f2785_0_fact_Return4(x1, x2)
f2785_0_fact_Return(x1, x2) → f2785_0_fact_Return(x1)
Prepared 5 rules for path length conversion:
P rules:
f2785_0_fact_Return(x0) → f2849_1_sin_Load(-(x0, 1)) | >(x0, 0)
f2785_0_fact_Return(x0) → f2514_0_power_Load(-(x0, 1)) | >(x0, 1)
f2785_0_fact_Return(x0) → f2592_0_power_Load(+(*(2, -(x0, 1)), 1)) | &&(>(+(x0, 1), 2), >(*(2, -(x0, 1)), 0))
f2785_0_fact_Return(x0) → f2730_0_fact_Load(+(*(2, -(x0, 1)), 1)) | &&(>(+(x0, 1), 2), >(*(2, -(x0, 1)), 0))
f2785_0_fact_Return(x0) → f2785_0_fact_Return(-(x0, 1)) | &&(>(+(x0, 1), 2), >(*(2, -(x0, 1)), 0))
Finished conversion. Obtained 1 rules.
P rules:
f2785_0_fact_Return(x4) → f2785_0_fact_Return(-(x4, 1)) | &&(>(*(2, x4), 2), >(x4, 1))
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped:
Generated rules. Obtained 92 IRules
P rules:
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728) → f3230_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, java.lang.Object(ARRAY(i9)))
f3230_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, java.lang.Object(ARRAY(i9))) → f3232_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, i9) | >=(i9, 0)
f3232_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, i9) → f3235_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, i9)
f3235_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, i9) → f3239_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | <(i728, i9)
f3239_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3242_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728)
f3242_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728) → f3245_0_main_IntArithmetic(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, 2)
f3245_0_main_IntArithmetic(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, matching1) → f3248_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, %(i728, 2)) | =(matching1, 2)
f3248_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3250_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, 1) | =(matching1, 1)
f3248_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3251_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, 0) | =(matching1, 0)
f3250_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3253_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | &&(>(1, 0), =(matching1, 1))
f3253_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3257_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728)
f3257_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728) → f3261_0_main_IntArithmetic(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, 3)
f3261_0_main_IntArithmetic(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, matching1) → f3265_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, %(i728, 3)) | =(matching1, 3)
f3265_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i763) → f3268_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i763)
f3265_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3269_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, 0) | =(matching1, 0)
f3268_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i763) → f3272_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | >(i763, 0)
f3272_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3277_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728)
f3277_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728) → f3281_0_main_IntArithmetic(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, 5)
f3281_0_main_IntArithmetic(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728, matching1) → f3301_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, %(i728, 5)) | =(matching1, 5)
f3301_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i779) → f3307_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i779)
f3301_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3308_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, 0) | =(matching1, 0)
f3307_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i779) → f3316_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | >(i779, 0)
f3316_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3326_0_main_Store(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, 0)
f3326_0_main_Store(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3334_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, 0) | =(matching1, 0)
f3334_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3416_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, 0) | =(matching1, 0)
f3416_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i808) → f3499_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i808)
f3499_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i841) → f3529_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i841)
f3529_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i850) → f3549_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i850)
f3549_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i853) → f3552_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i853, i853)
f3552_0_main_ConstantStackPush(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i853, i853) → f3555_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i853, i853, 100)
f3555_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i857, i857, matching1) → f3557_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i857, i857, 100) | =(matching1, 100)
f3555_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i858, i858, matching1) → f3558_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i858, i858, 100) | =(matching1, 100)
f3557_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i857, i857, matching1) → f3560_0_main_Inc(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i857) | &&(<(i857, 100), =(matching1, 100))
f3560_0_main_Inc(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i857) → f3570_0_main_JMP(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, +(i857, 1)) | >=(i857, 0)
f3570_0_main_JMP(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i863) → f3577_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i863)
f3577_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i863) → f3549_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i863)
f3558_0_main_GE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i858, i858, matching1) → f3566_0_main_Inc(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | &&(>=(i858, 100), =(matching1, 100))
f3566_0_main_Inc(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3572_0_main_JMP(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), +(i728, 1)) | >=(i728, 0)
f3572_0_main_JMP(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i864) → f3582_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i864)
f3582_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i864) → f3161_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i864)
f3161_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3228_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i728)
f3308_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3318_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | =(matching1, 0)
f3318_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3328_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, java.lang.Object(ARRAY(i9)))
f3328_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, java.lang.Object(ARRAY(i9))) → f3336_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9) | >=(i9, 0)
f3336_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9) → f3361_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728)
f3361_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728) → f3375_0_exp_Load(EOS, i9, i728, i9, i728)
f3361_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728) → f3375_1_exp_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728, i9, i728)
f3375_0_exp_Load(EOS, i9, i728, i9, i728) → f3384_0_exp_Load(EOS, i9, i728, i9, i728)
f3450_0_exp_Return(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), matching1, i818, matching2, i818, matching3) → f3463_0_main_StackPop(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f3463_0_main_StackPop(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), matching1) → f3470_0_main_JMP(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), 0) | =(matching1, 0)
f3470_0_main_JMP(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), matching1) → f3479_0_main_Inc(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), 0) | =(matching1, 0)
f3479_0_main_Inc(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), matching1) → f3566_0_main_Inc(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), 0) | =(matching1, 0)
f3451_0_exp_Return(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824, i826, i824) → f3466_0_main_StackPop(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824)
f3466_0_main_StackPop(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824) → f3472_0_main_JMP(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824)
f3472_0_main_JMP(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824) → f3486_0_main_Inc(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824)
f3486_0_main_Inc(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824) → f3566_0_main_Inc(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824)
f3269_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3274_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | =(matching1, 0)
f3274_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3279_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, java.lang.Object(ARRAY(i9)))
f3279_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, java.lang.Object(ARRAY(i9))) → f3283_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9) | >=(i9, 0)
f3283_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9) → f3303_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728)
f3303_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728) → f3310_0_cos_Load(EOS, i9, i728, i9, i728)
f3303_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728) → f3310_1_cos_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728, i9, i728)
f3310_0_cos_Load(EOS, i9, i728, i9, i728) → f3320_0_cos_Load(EOS, i9, i728, i9, i728)
f3362_0_cos_Return(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), matching1, i786, matching2, i786, matching3) → f3377_0_main_StackPop(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f3377_0_main_StackPop(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), matching1) → f3385_0_main_JMP(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), 0) | =(matching1, 0)
f3385_0_main_JMP(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), matching1) → f3394_0_main_Inc(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), 0) | =(matching1, 0)
f3394_0_main_Inc(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), matching1) → f3479_0_main_Inc(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), 0) | =(matching1, 0)
f3364_0_cos_Return(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792, i794, i792) → f3380_0_main_StackPop(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792)
f3380_0_main_StackPop(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792) → f3388_0_main_JMP(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792)
f3388_0_main_JMP(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792) → f3402_0_main_Inc(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792)
f3402_0_main_Inc(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792) → f3486_0_main_Inc(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792)
f3251_0_main_NE(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, matching1) → f3255_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) | =(matching1, 0)
f3255_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728) → f3259_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, java.lang.Object(ARRAY(i9)))
f3259_0_main_ArrayLength(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, java.lang.Object(ARRAY(i9))) → f3262_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9) | >=(i9, 0)
f3262_0_main_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9) → f3266_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728)
f3266_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728) → f3271_0_sin_Load(EOS, i9, i728, i9, i728)
f3266_0_main_InvokeMethod(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728) → f3271_1_sin_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i728, i9, i728, i9, i728)
f3271_0_sin_Load(EOS, i9, i728, i9, i728) → f3276_0_sin_Load(EOS, i9, i728, i9, i728)
f3304_0_sin_Return(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), matching1, i768, matching2, i768, matching3, i768) → f3312_0_main_StackPop(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), 0, i768) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f3312_0_main_StackPop(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), matching1, i768) → f3321_0_main_JMP(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), 0) | =(matching1, 0)
f3321_0_main_JMP(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), matching1) → f3330_0_main_Inc(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), 0) | =(matching1, 0)
f3330_0_main_Inc(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), matching1) → f3394_0_main_Inc(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), 0) | =(matching1, 0)
f3305_0_sin_Return(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773, i775, i773, i771) → f3314_0_main_StackPop(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773, i771)
f3314_0_main_StackPop(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773, i771) → f3324_0_main_JMP(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773)
f3324_0_main_JMP(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773) → f3332_0_main_Inc(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773)
f3332_0_main_Inc(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773) → f3402_0_main_Inc(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773)
f3375_1_exp_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), matching1, i818, matching2, i818, matching3) → f3450_0_exp_Return(EOS, java.lang.Object(ARRAY(i818)), java.lang.Object(ARRAY(i818)), 0, i818, 0, i818, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f3375_1_exp_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i824, i826, i824, i826, i824) → f3451_0_exp_Return(EOS, java.lang.Object(ARRAY(i826)), java.lang.Object(ARRAY(i826)), i824, i826, i824)
f3310_1_cos_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), matching1, i786, matching2, i786, matching3) → f3362_0_cos_Return(EOS, java.lang.Object(ARRAY(i786)), java.lang.Object(ARRAY(i786)), 0, i786, 0, i786, 0) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f3310_1_cos_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i792, i794, i792, i794, i792) → f3364_0_cos_Return(EOS, java.lang.Object(ARRAY(i794)), java.lang.Object(ARRAY(i794)), i792, i794, i792)
f3271_1_sin_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), matching1, i768, matching2, i768, matching3) → f3304_0_sin_Return(EOS, java.lang.Object(ARRAY(i768)), java.lang.Object(ARRAY(i768)), 0, i768, 0, i768, 0, i768) | &&(&&(=(matching1, 0), =(matching2, 0)), =(matching3, 0))
f3271_1_sin_Load(EOS, java.lang.Object(ARRAY(i9)), java.lang.Object(ARRAY(i9)), i773, i775, i773, i775, i773) → f3305_0_sin_Return(EOS, java.lang.Object(ARRAY(i775)), java.lang.Object(ARRAY(i775)), i773, i775, i773, i771)
Combined rules. Obtained 10 IRules
P rules:
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x1) → f3555_0_main_GE(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, 0, 0, 100) | &&(&&(&&(&&(<(x1, x0), >(%(x1, 5), 0)), >(%(x1, 3), 0)), >(+(x0, 1), 0)), =(%(x1, 2), 1))
f3555_0_main_GE(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x2, x2, 100) → f3555_0_main_GE(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, +(x2, 1), +(x2, 1), 100) | &&(<(x2, 100), >(+(x2, 1), 0))
f3555_0_main_GE(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x2, x2, 100) → f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), +(x1, 1), +(x1, 1)) | &&(>(+(x1, 1), 0), >(+(x2, 1), 100))
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x1) → f3384_0_exp_Load(EOS, x0, x1, x0, x1) | &&(&&(&&(&&(<(x1, x0), =(%(x1, 5), 0)), >(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x1) → f3320_0_cos_Load(EOS, x0, x1, x0, x1) | &&(&&(&&(<(x1, x0), =(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x1) → f3276_0_sin_Load(EOS, x0, x1, x0, x1) | &&(&&(<(x1, x0), =(%(x1, 2), 0)), >(+(x0, 1), 0))
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x1) → f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), +(x1, 1), +(x1, 1)) | &&(&&(&&(&&(&&(>(+(x1, 1), 0), <(x1, x0)), =(%(x1, 5), 0)), >(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x1) → f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), +(x1, 1), +(x1, 1)) | &&(&&(&&(&&(>(+(x1, 1), 0), <(x1, x0)), =(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), 0, 0) → f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), 1, 1) | >(x0, 0)
f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), x1, x1) → f3228_0_main_Load(EOS, java.lang.Object(ARRAY(x0)), java.lang.Object(ARRAY(x0)), +(x1, 1), +(x1, 1)) | &&(&&(&&(>(+(x1, 1), 0), <(x1, x0)), =(%(x1, 2), 0)), >(+(x0, 1), 0))
Filtered ground terms:
f3228_0_main_Load(x1, x2, x3, x4, x5) → f3228_0_main_Load(x2, x3, x4, x5)
Cond_f3228_0_main_Load(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load(x1, x3, x4, x5, x6)
f3555_0_main_GE(x1, x2, x3, x4, x5, x6, x7) → f3555_0_main_GE(x2, x3, x4, x5, x6)
Cond_f3555_0_main_GE(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f3555_0_main_GE(x1, x3, x4, x5, x6, x7)
Cond_f3555_0_main_GE1(x1, x2, x3, x4, x5, x6, x7, x8) → Cond_f3555_0_main_GE1(x1, x3, x4, x5, x6, x7)
Cond_f3228_0_main_Load1(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load1(x1, x3, x4, x5, x6)
f3384_0_exp_Load(x1, x2, x3, x4, x5) → f3384_0_exp_Load(x2, x3, x4, x5)
Cond_f3228_0_main_Load2(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load2(x1, x3, x4, x5, x6)
f3320_0_cos_Load(x1, x2, x3, x4, x5) → f3320_0_cos_Load(x2, x3, x4, x5)
Cond_f3228_0_main_Load3(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load3(x1, x3, x4, x5, x6)
f3276_0_sin_Load(x1, x2, x3, x4, x5) → f3276_0_sin_Load(x2, x3, x4, x5)
Cond_f3228_0_main_Load4(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load4(x1, x3, x4, x5, x6)
Cond_f3228_0_main_Load5(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load5(x1, x3, x4, x5, x6)
Cond_f3228_0_main_Load6(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load6(x1, x3, x4)
Cond_f3228_0_main_Load7(x1, x2, x3, x4, x5, x6) → Cond_f3228_0_main_Load7(x1, x3, x4, x5, x6)
Filtered duplicate terms:
f3228_0_main_Load(x1, x2, x3, x4) → f3228_0_main_Load(x2, x4)
Cond_f3228_0_main_Load(x1, x2, x3, x4, x5) → Cond_f3228_0_main_Load(x1, x3, x5)
f3555_0_main_GE(x1, x2, x3, x4, x5) → f3555_0_main_GE(x2, x3, x5)
Cond_f3555_0_main_GE(x1, x2, x3, x4, x5, x6) → Cond_f3555_0_main_GE(x1, x3, x4, x6)
Cond_f3555_0_main_GE1(x1, x2, x3, x4, x5, x6) → Cond_f3555_0_main_GE1(x1, x3, x4, x6)
Cond_f3228_0_main_Load1(x1, x2, x3, x4, x5) → Cond_f3228_0_main_Load1(x1, x3, x5)
f3384_0_exp_Load(x1, x2, x3, x4) → f3384_0_exp_Load(x3, x4)
Cond_f3228_0_main_Load2(x1, x2, x3, x4, x5) → Cond_f3228_0_main_Load2(x1, x3, x5)
f3320_0_cos_Load(x1, x2, x3, x4) → f3320_0_cos_Load(x3, x4)
Cond_f3228_0_main_Load3(x1, x2, x3, x4, x5) → Cond_f3228_0_main_Load3(x1, x3, x5)
f3276_0_sin_Load(x1, x2, x3, x4) → f3276_0_sin_Load(x3, x4)
Cond_f3228_0_main_Load4(x1, x2, x3, x4, x5) → Cond_f3228_0_main_Load4(x1, x3, x5)
Cond_f3228_0_main_Load5(x1, x2, x3, x4, x5) → Cond_f3228_0_main_Load5(x1, x3, x5)
Cond_f3228_0_main_Load6(x1, x2, x3) → Cond_f3228_0_main_Load6(x1, x3)
Cond_f3228_0_main_Load7(x1, x2, x3, x4, x5) → Cond_f3228_0_main_Load7(x1, x3, x5)
Filtered unneeded terms:
Cond_f3555_0_main_GE1(x1, x2, x3, x4) → Cond_f3555_0_main_GE1(x1, x2, x3)
Cond_f3228_0_main_Load1(x1, x2, x3) → Cond_f3228_0_main_Load1(x1)
Cond_f3228_0_main_Load2(x1, x2, x3) → Cond_f3228_0_main_Load2(x1)
Cond_f3228_0_main_Load3(x1, x2, x3) → Cond_f3228_0_main_Load3(x1)
Prepared 10 rules for path length conversion:
P rules:
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), x1, x0) → f3555_0_main_GE(java.lang.Object(ARRAY(x0)), x1, 0, x0) | &&(&&(&&(&&(<(x1, x0), >(%(x1, 5), 0)), >(%(x1, 3), 0)), >(+(x0, 1), 0)), =(%(x1, 2), 1))
f3555_0_main_GE(java.lang.Object(ARRAY(x0)), x1, x2, x0) → f3555_0_main_GE(java.lang.Object(ARRAY(x0)), x1, +(x2, 1), x0) | &&(<(x2, 100), >(+(x2, 1), 0))
f3555_0_main_GE(java.lang.Object(ARRAY(x0)), x1, x2, x0) → f3228_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1), x0) | &&(>(+(x1, 1), 0), >(+(x2, 1), 100))
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), x1, x0) → f3384_0_exp_Load(x0, x1) | &&(&&(&&(&&(<(x1, x0), =(%(x1, 5), 0)), >(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), x1, x0) → f3320_0_cos_Load(x0, x1) | &&(&&(&&(<(x1, x0), =(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), x1, x0) → f3276_0_sin_Load(x0, x1) | &&(&&(<(x1, x0), =(%(x1, 2), 0)), >(+(x0, 1), 0))
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), x1, x0) → f3228_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1), x0) | &&(&&(&&(&&(&&(>(+(x1, 1), 0), <(x1, x0)), =(%(x1, 5), 0)), >(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), x1, x0) → f3228_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1), x0) | &&(&&(&&(&&(>(+(x1, 1), 0), <(x1, x0)), =(%(x1, 3), 0)), =(%(x1, 2), 1)), >(+(x0, 1), 0))
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), 0, x0) → f3228_0_main_Load(java.lang.Object(ARRAY(x0)), 1, x0) | >(x0, 0)
f3228_0_main_Load(java.lang.Object(ARRAY(x0)), x1, x0) → f3228_0_main_Load(java.lang.Object(ARRAY(x0)), +(x1, 1), x0) | &&(&&(&&(>(+(x1, 1), 0), <(x1, x0)), =(%(x1, 2), 0)), >(+(x0, 1), 0))
Finished conversion. Obtained 11 rules.
P rules:
f3228_0_main_Load(v28, x1, x0) → f3228_0_main_Load'(v28, x1, x0) | &&(&&(&&(&&(&&(&&(&&(<(x1, x0), >(-(x1, *(5, div)), 0)), >(-(x1, *(3, div1)), 0)), =(-(x1, *(2, div2)), 1)), >(x0, -1)), >(+(v29, 1), 1)), <=(v29, v28)), >(+(v28, 1), 1))
f3228_0_main_Load'(v28, x1, x0) → f3555_0_main_GE(v29, x1, 0, x0) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(<(x1, x0), >(-(x1, *(5, div)), 0)), <(-(x1, *(5, div)), 5)), >(-(x1, *(3, div1)), 0)), <(-(x1, *(3, div1)), 3)), >=(-(x1, *(2, div2)), 0)), =(-(x1, *(2, div2)), 1)), <(-(x1, *(2, div2)), 2)), >(x0, -1)), >(+(v29, 1), 1)), <=(v29, v28)), >(+(v28, 1), 1))
f3555_0_main_GE(v30, x3, x4, x2) → f3555_0_main_GE(v31, x3, +(x4, 1), x2) | &&(&&(&&(&&(>(x4, -1), <(x4, 100)), >(+(v31, 1), 1)), <=(v31, v30)), >(+(v30, 1), 1))
f3555_0_main_GE(v32, x6, x7, x5) → f3228_0_main_Load(v33, +(x6, 1), x5) | &&(&&(&&(&&(>(x7, 99), >(x6, -1)), >(+(v33, 1), 1)), <=(v33, v32)), >(+(v32, 1), 1))
f3228_0_main_Load(v34, x15, x14) → f3228_0_main_Load'(v34, x15, x14) | &&(&&(&&(&&(&&(&&(&&(&&(>(x15, -1), <(x15, x14)), =(-(x15, *(5, div)), 0)), >(-(x15, *(3, div1)), 0)), =(-(x15, *(2, div2)), 1)), >(x14, -1)), >(+(v35, 1), 1)), <=(v35, v34)), >(+(v34, 1), 1))
f3228_0_main_Load'(v34, x15, x14) → f3228_0_main_Load(v35, +(x15, 1), x14) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x15, -1), <(x15, x14)), >=(-(x15, *(5, div)), 0)), =(-(x15, *(5, div)), 0)), <(-(x15, *(5, div)), 5)), >(-(x15, *(3, div1)), 0)), <(-(x15, *(3, div1)), 3)), >=(-(x15, *(2, div2)), 0)), =(-(x15, *(2, div2)), 1)), <(-(x15, *(2, div2)), 2)), >(x14, -1)), >(+(v35, 1), 1)), <=(v35, v34)), >(+(v34, 1), 1))
f3228_0_main_Load(v36, x17, x16) → f3228_0_main_Load'(v36, x17, x16) | &&(&&(&&(&&(&&(&&(&&(>(x17, -1), <(x17, x16)), =(-(x17, *(3, div)), 0)), =(-(x17, *(2, div1)), 1)), >(x16, -1)), >(+(v37, 1), 1)), <=(v37, v36)), >(+(v36, 1), 1))
f3228_0_main_Load'(v36, x17, x16) → f3228_0_main_Load(v37, +(x17, 1), x16) | &&(&&(&&(&&(&&(&&(&&(&&(&&(&&(&&(>(x17, -1), <(x17, x16)), >=(-(x17, *(3, div)), 0)), =(-(x17, *(3, div)), 0)), <(-(x17, *(3, div)), 3)), >=(-(x17, *(2, div1)), 0)), =(-(x17, *(2, div1)), 1)), <(-(x17, *(2, div1)), 2)), >(x16, -1)), >(+(v37, 1), 1)), <=(v37, v36)), >(+(v36, 1), 1))
f3228_0_main_Load(v38, c0, x18) → f3228_0_main_Load(v39, 1, x18) | &&(&&(&&(&&(>(x18, 0), >(+(v39, 1), 1)), <=(v39, v38)), >(+(v38, 1), 1)), =(0, c0))
f3228_0_main_Load(v40, x20, x19) → f3228_0_main_Load'(v40, x20, x19) | &&(&&(&&(&&(&&(&&(>(x20, -1), <(x20, x19)), =(-(x20, *(2, div)), 0)), >(x19, -1)), >(+(v41, 1), 1)), <=(v41, v40)), >(+(v40, 1), 1))
f3228_0_main_Load'(v40, x20, x19) → f3228_0_main_Load(v41, +(x20, 1), x19) | &&(&&(&&(&&(&&(&&(&&(&&(>(x20, -1), <(x20, x19)), >=(-(x20, *(2, div)), 0)), =(-(x20, *(2, div)), 0)), <(-(x20, *(2, div)), 2)), >(x19, -1)), >(+(v41, 1), 1)), <=(v41, v40)), >(+(v40, 1), 1))
Constructed the termination graph and obtained one non-trivial SCC.
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped:
Constructed the termination graph and obtained one non-trivial SCC.
Found the following polynomial interpretation:
Therefore the following rule(s) have been dropped: