diff --git a/bfps/cpp/slab_field_particles.cpp b/bfps/cpp/slab_field_particles.cpp index fa135a580182c65a827b6adeb88dda4060ad9cf7..28d5a8e2af91a68a06dce0384f0d15f3e7f010a8 100644 --- a/bfps/cpp/slab_field_particles.cpp +++ b/bfps/cpp/slab_field_particles.cpp @@ -40,6 +40,9 @@ #include "spline_n1.hpp" #include "spline_n2.hpp" #include "spline_n3.hpp" +#include "spline_n4.hpp" +#include "spline_n5.hpp" +#include "spline_n6.hpp" extern int myrank, nprocs; @@ -58,7 +61,10 @@ slab_field_particles<rnumber>::slab_field_particles( assert((NCOMPONENTS % 3) == 0); assert((INTERP_NEIGHBOURS == 1) || (INTERP_NEIGHBOURS == 2) || - (INTERP_NEIGHBOURS == 3)); + (INTERP_NEIGHBOURS == 3) || + (INTERP_NEIGHBOURS == 4) || + (INTERP_NEIGHBOURS == 5) || + (INTERP_NEIGHBOURS == 6)); assert((INTEGRATION_STEPS <= 6) && (INTEGRATION_STEPS >= 1)); strncpy(this->name, NAME, 256); @@ -141,6 +147,75 @@ slab_field_particles<rnumber>::slab_field_particles( break; } break; + case 4: + //this->spline_formula = &slab_field_particles<rnumber>::spline_n3_formula; + assert(this->interp_smoothness >= 0 || + this->interp_smoothness <= 4); + switch(this->interp_smoothness) + { + case 0: + this->compute_beta = &beta_n4_m0; + break; + case 1: + this->compute_beta = &beta_n4_m1; + break; + case 2: + this->compute_beta = &beta_n4_m2; + break; + case 3: + this->compute_beta = &beta_n4_m3; + break; + case 4: + this->compute_beta = &beta_n4_m4; + break; + } + break; + case 5: + //this->spline_formula = &slab_field_particles<rnumber>::spline_n3_formula; + assert(this->interp_smoothness >= 0 || + this->interp_smoothness <= 4); + switch(this->interp_smoothness) + { + case 0: + this->compute_beta = &beta_n5_m0; + break; + case 1: + this->compute_beta = &beta_n5_m1; + break; + case 2: + this->compute_beta = &beta_n5_m2; + break; + case 3: + this->compute_beta = &beta_n5_m3; + break; + case 4: + this->compute_beta = &beta_n5_m4; + break; + } + break; + case 6: + //this->spline_formula = &slab_field_particles<rnumber>::spline_n3_formula; + assert(this->interp_smoothness >= 0 || + this->interp_smoothness <= 4); + switch(this->interp_smoothness) + { + case 0: + this->compute_beta = &beta_n6_m0; + break; + case 1: + this->compute_beta = &beta_n6_m1; + break; + case 2: + this->compute_beta = &beta_n6_m2; + break; + case 3: + this->compute_beta = &beta_n6_m3; + break; + case 4: + this->compute_beta = &beta_n6_m4; + break; + } + break; } // in principle only the buffer width at the top needs the +1, // but things are simpler if buffer_width is the same diff --git a/bfps/cpp/spline_n4.cpp b/bfps/cpp/spline_n4.cpp new file mode 100644 index 0000000000000000000000000000000000000000..5fa074df3674f3c17f486e015e96050336642a4a --- /dev/null +++ b/bfps/cpp/spline_n4.cpp @@ -0,0 +1,397 @@ +/********************************************************************** +* * +* Copyright 2015 Max Planck Institute * +* for Dynamics and Self-Organization * +* * +* This file is part of bfps. * +* * +* bfps is free software: you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published * +* by the Free Software Foundation, either version 3 of the License, * +* or (at your option) any later version. * +* * +* bfps is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with bfps. If not, see <http://www.gnu.org/licenses/> * +* * +* Contact: Cristian.Lalescu@ds.mpg.de * +* * +**********************************************************************/ + + + +#include "spline_n4.hpp" +#include <math.h> +void beta_n4_m0(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = -x + 1; +poly_val[5] = x; +poly_val[6] = 0; +poly_val[7] = 0; +poly_val[8] = 0; +poly_val[9] = 0; +break; +case 1: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = -1; +poly_val[5] = 1; +poly_val[6] = 0; +poly_val[7] = 0; +poly_val[8] = 0; +poly_val[9] = 0; +break; +case 2: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = 0; +poly_val[5] = 0; +poly_val[6] = 0; +poly_val[7] = 0; +poly_val[8] = 0; +poly_val[9] = 0; +break; +} +} +void beta_n4_m1(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*((1.0L/280.0L)*x - 1.0L/140.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(-29.0L/840.0L*x + 61.0L/840.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*((17.0L/105.0L)*x - 38.0L/105.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(-3.0L/5.0L*x + 7.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*((6.0L/5.0L)*x - 11.0L/5.0L) + 1; +poly_val[5] = x*(x*(-6.0L/5.0L*x + 7.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*((3.0L/5.0L)*x - 2.0L/5.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(-17.0L/105.0L*x + 13.0L/105.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*((29.0L/840.0L)*x - 13.0L/420.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 2)*(-1.0L/280.0L*x + 1.0L/280.0L); +break; +case 1: +poly_val[0] = x*((3.0L/280.0L)*x - 1.0L/70.0L) + 1.0L/280.0L; +poly_val[1] = x*(-29.0L/280.0L*x + 61.0L/420.0L) - 4.0L/105.0L; +poly_val[2] = x*((17.0L/35.0L)*x - 76.0L/105.0L) + 1.0L/5.0L; +poly_val[3] = x*(-9.0L/5.0L*x + 14.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*((18.0L/5.0L)*x - 22.0L/5.0L); +poly_val[5] = x*(-18.0L/5.0L*x + 14.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*((9.0L/5.0L)*x - 4.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(-17.0L/35.0L*x + 26.0L/105.0L) + 4.0L/105.0L; +poly_val[8] = x*((29.0L/280.0L)*x - 13.0L/210.0L) - 1.0L/280.0L; +poly_val[9] = x*(-3.0L/280.0L*x + 1.0L/140.0L); +break; +case 2: +poly_val[0] = (3.0L/140.0L)*x - 1.0L/70.0L; +poly_val[1] = -29.0L/140.0L*x + 61.0L/420.0L; +poly_val[2] = (34.0L/35.0L)*x - 76.0L/105.0L; +poly_val[3] = -18.0L/5.0L*x + 14.0L/5.0L; +poly_val[4] = (36.0L/5.0L)*x - 22.0L/5.0L; +poly_val[5] = -36.0L/5.0L*x + 14.0L/5.0L; +poly_val[6] = (18.0L/5.0L)*x - 4.0L/5.0L; +poly_val[7] = -34.0L/35.0L*x + 26.0L/105.0L; +poly_val[8] = (29.0L/140.0L)*x - 13.0L/210.0L; +poly_val[9] = -3.0L/140.0L*x + 1.0L/140.0L; +break; +} +} +void beta_n4_m2(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(-11.0L/1120.0L*x + 29.0L/1120.0L) - 3.0L/160.0L) - 1.0L/1120.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(x*(x*((907.0L/10080.0L)*x - 403.0L/1680.0L) + 589.0L/3360.0L) + 4.0L/315.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*(x*(x*(-47.0L/126.0L*x + 127.0L/126.0L) - 463.0L/630.0L) - 1.0L/10.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(x*(x*((9.0L/10.0L)*x - 12.0L/5.0L) + 3.0L/2.0L) + 4.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*(x*(x*(-991.0L/720.0L*x + 847.0L/240.0L) - 83.0L/48.0L) - 205.0L/144.0L) + 1; +poly_val[5] = x*(x*(x*(x*((991.0L/720.0L)*x - 1207.0L/360.0L) + 991.0L/720.0L) + 4.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*(x*(x*(-9.0L/10.0L*x + 21.0L/10.0L) - 9.0L/10.0L) - 1.0L/10.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(x*(x*((47.0L/126.0L)*x - 6.0L/7.0L) + 13.0L/30.0L) + 4.0L/315.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*(x*(x*(-907.0L/10080.0L*x + 2117.0L/10080.0L) - 233.0L/2016.0L) - 1.0L/1120.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 3)*(x*((11.0L/1120.0L)*x - 13.0L/560.0L) + 3.0L/224.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(-11.0L/224.0L*x + 29.0L/280.0L) - 9.0L/160.0L) - 1.0L/560.0L) + 1.0L/280.0L; +poly_val[1] = x*(x*(x*((907.0L/2016.0L)*x - 403.0L/420.0L) + 589.0L/1120.0L) + 8.0L/315.0L) - 4.0L/105.0L; +poly_val[2] = x*(x*(x*(-235.0L/126.0L*x + 254.0L/63.0L) - 463.0L/210.0L) - 1.0L/5.0L) + 1.0L/5.0L; +poly_val[3] = x*(x*(x*((9.0L/2.0L)*x - 48.0L/5.0L) + 9.0L/2.0L) + 8.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*(x*(x*(-991.0L/144.0L*x + 847.0L/60.0L) - 83.0L/16.0L) - 205.0L/72.0L); +poly_val[5] = x*(x*(x*((991.0L/144.0L)*x - 1207.0L/90.0L) + 991.0L/240.0L) + 8.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*(x*(x*(-9.0L/2.0L*x + 42.0L/5.0L) - 27.0L/10.0L) - 1.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*((235.0L/126.0L)*x - 24.0L/7.0L) + 13.0L/10.0L) + 8.0L/315.0L) + 4.0L/105.0L; +poly_val[8] = x*(x*(x*(-907.0L/2016.0L*x + 2117.0L/2520.0L) - 233.0L/672.0L) - 1.0L/560.0L) - 1.0L/280.0L; +poly_val[9] = pow(x, 2)*(x*((11.0L/224.0L)*x - 13.0L/140.0L) + 9.0L/224.0L); +break; +case 2: +poly_val[0] = x*(x*(-11.0L/56.0L*x + 87.0L/280.0L) - 9.0L/80.0L) - 1.0L/560.0L; +poly_val[1] = x*(x*((907.0L/504.0L)*x - 403.0L/140.0L) + 589.0L/560.0L) + 8.0L/315.0L; +poly_val[2] = x*(x*(-470.0L/63.0L*x + 254.0L/21.0L) - 463.0L/105.0L) - 1.0L/5.0L; +poly_val[3] = x*(x*(18*x - 144.0L/5.0L) + 9) + 8.0L/5.0L; +poly_val[4] = x*(x*(-991.0L/36.0L*x + 847.0L/20.0L) - 83.0L/8.0L) - 205.0L/72.0L; +poly_val[5] = x*(x*((991.0L/36.0L)*x - 1207.0L/30.0L) + 991.0L/120.0L) + 8.0L/5.0L; +poly_val[6] = x*(x*(-18*x + 126.0L/5.0L) - 27.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*((470.0L/63.0L)*x - 72.0L/7.0L) + 13.0L/5.0L) + 8.0L/315.0L; +poly_val[8] = x*(x*(-907.0L/504.0L*x + 2117.0L/840.0L) - 233.0L/336.0L) - 1.0L/560.0L; +poly_val[9] = x*(x*((11.0L/56.0L)*x - 39.0L/140.0L) + 9.0L/112.0L); +break; +} +} +void beta_n4_m3(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*((55.0L/2016.0L)*x - 193.0L/2016.0L) + 191.0L/1680.0L) - 31.0L/720.0L) - 7.0L/1440.0L) - 1.0L/1120.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(-2477.0L/10080.0L*x + 69.0L/80.0L) - 10313.0L/10080.0L) + 481.0L/1260.0L) + 1.0L/20.0L) + 4.0L/315.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*((4957.0L/5040.0L)*x - 1087.0L/315.0L) + 10277.0L/2520.0L) - 31.0L/21.0L) - 169.0L/720.0L) - 1.0L/10.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(-551.0L/240.0L*x + 1159.0L/144.0L) - 2273.0L/240.0L) + 811.0L/240.0L) + 61.0L/180.0L) + 4.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*(pow(x, 2)*(x*(x*((31.0L/9.0L)*x - 193.0L/16.0L) + 1273.0L/90.0L) - 1837.0L/360.0L) - 205.0L/144.0L) + 1; +poly_val[5] = x*(x*(x*(x*(x*(x*(-31.0L/9.0L*x + 1735.0L/144.0L) - 5077.0L/360.0L) + 419.0L/80.0L) - 61.0L/180.0L) + 4.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*((551.0L/240.0L)*x - 361.0L/45.0L) + 1127.0L/120.0L) - 18.0L/5.0L) + 169.0L/720.0L) - 1.0L/10.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(-4957.0L/5040.0L*x + 1923.0L/560.0L) - 20299.0L/5040.0L) + 227.0L/144.0L) - 1.0L/20.0L) + 4.0L/315.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*((2477.0L/10080.0L)*x - 247.0L/288.0L) + 5083.0L/5040.0L) - 667.0L/1680.0L) + 7.0L/1440.0L) - 1.0L/1120.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 4)*(x*(x*(-55.0L/2016.0L*x + 2.0L/21.0L) - 377.0L/3360.0L) + 223.0L/5040.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*((55.0L/288.0L)*x - 193.0L/336.0L) + 191.0L/336.0L) - 31.0L/180.0L) - 7.0L/480.0L) - 1.0L/560.0L) + 1.0L/280.0L; +poly_val[1] = x*(x*(x*(x*(x*(-2477.0L/1440.0L*x + 207.0L/40.0L) - 10313.0L/2016.0L) + 481.0L/315.0L) + 3.0L/20.0L) + 8.0L/315.0L) - 4.0L/105.0L; +poly_val[2] = x*(x*(x*(x*(x*((4957.0L/720.0L)*x - 2174.0L/105.0L) + 10277.0L/504.0L) - 124.0L/21.0L) - 169.0L/240.0L) - 1.0L/5.0L) + 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(-3857.0L/240.0L*x + 1159.0L/24.0L) - 2273.0L/48.0L) + 811.0L/60.0L) + 61.0L/60.0L) + 8.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*(pow(x, 2)*(x*(x*((217.0L/9.0L)*x - 579.0L/8.0L) + 1273.0L/18.0L) - 1837.0L/90.0L) - 205.0L/72.0L); +poly_val[5] = x*(x*(x*(x*(x*(-217.0L/9.0L*x + 1735.0L/24.0L) - 5077.0L/72.0L) + 419.0L/20.0L) - 61.0L/60.0L) + 8.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*((3857.0L/240.0L)*x - 722.0L/15.0L) + 1127.0L/24.0L) - 72.0L/5.0L) + 169.0L/240.0L) - 1.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(-4957.0L/720.0L*x + 5769.0L/280.0L) - 20299.0L/1008.0L) + 227.0L/36.0L) - 3.0L/20.0L) + 8.0L/315.0L) + 4.0L/105.0L; +poly_val[8] = x*(x*(x*(x*(x*((2477.0L/1440.0L)*x - 247.0L/48.0L) + 5083.0L/1008.0L) - 667.0L/420.0L) + 7.0L/480.0L) - 1.0L/560.0L) - 1.0L/280.0L; +poly_val[9] = pow(x, 3)*(x*(x*(-55.0L/288.0L*x + 4.0L/7.0L) - 377.0L/672.0L) + 223.0L/1260.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*((55.0L/48.0L)*x - 965.0L/336.0L) + 191.0L/84.0L) - 31.0L/60.0L) - 7.0L/240.0L) - 1.0L/560.0L; +poly_val[1] = x*(x*(x*(x*(-2477.0L/240.0L*x + 207.0L/8.0L) - 10313.0L/504.0L) + 481.0L/105.0L) + 3.0L/10.0L) + 8.0L/315.0L; +poly_val[2] = x*(x*(x*(x*((4957.0L/120.0L)*x - 2174.0L/21.0L) + 10277.0L/126.0L) - 124.0L/7.0L) - 169.0L/120.0L) - 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(-3857.0L/40.0L*x + 5795.0L/24.0L) - 2273.0L/12.0L) + 811.0L/20.0L) + 61.0L/30.0L) + 8.0L/5.0L; +poly_val[4] = pow(x, 2)*(x*(x*((434.0L/3.0L)*x - 2895.0L/8.0L) + 2546.0L/9.0L) - 1837.0L/30.0L) - 205.0L/72.0L; +poly_val[5] = x*(x*(x*(x*(-434.0L/3.0L*x + 8675.0L/24.0L) - 5077.0L/18.0L) + 1257.0L/20.0L) - 61.0L/30.0L) + 8.0L/5.0L; +poly_val[6] = x*(x*(x*(x*((3857.0L/40.0L)*x - 722.0L/3.0L) + 1127.0L/6.0L) - 216.0L/5.0L) + 169.0L/120.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(-4957.0L/120.0L*x + 5769.0L/56.0L) - 20299.0L/252.0L) + 227.0L/12.0L) - 3.0L/10.0L) + 8.0L/315.0L; +poly_val[8] = x*(x*(x*(x*((2477.0L/240.0L)*x - 1235.0L/48.0L) + 5083.0L/252.0L) - 667.0L/140.0L) + 7.0L/240.0L) - 1.0L/560.0L; +poly_val[9] = pow(x, 2)*(x*(x*(-55.0L/48.0L*x + 20.0L/7.0L) - 377.0L/168.0L) + 223.0L/420.0L); +break; +} +} +void beta_n4_m4(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(-3569.0L/40320.0L*x + 16061.0L/40320.0L) - 1961.0L/2880.0L) + 503.0L/960.0L) - 175.0L/1152.0L) + 7.0L/5760.0L) - 7.0L/1440.0L) - 1.0L/1120.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*((3569.0L/4480.0L)*x - 36137.0L/10080.0L) + 41179.0L/6720.0L) - 2263.0L/480.0L) + 175.0L/128.0L) - 1.0L/60.0L) + 1.0L/20.0L) + 4.0L/315.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(-3569.0L/1120.0L*x + 144547.0L/10080.0L) - 30883.0L/1260.0L) + 13577.0L/720.0L) - 1579.0L/288.0L) + 169.0L/1440.0L) - 169.0L/720.0L) - 1.0L/10.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*((3569.0L/480.0L)*x - 24091.0L/720.0L) + 5147.0L/90.0L) - 31681.0L/720.0L) + 3697.0L/288.0L) - 61.0L/180.0L) + 61.0L/180.0L) + 4.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(-3569.0L/320.0L*x + 28909.0L/576.0L) - 2745.0L/32.0L) + 6337.0L/96.0L) - 6181.0L/320.0L) + 91.0L/192.0L) - 205.0L/144.0L) + 1; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*((3569.0L/320.0L)*x - 4517.0L/90.0L) + 123523.0L/1440.0L) - 2971.0L/45.0L) + 11149.0L/576.0L) - 61.0L/180.0L) - 61.0L/180.0L) + 4.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(-3569.0L/480.0L*x + 48181.0L/1440.0L) - 20587.0L/360.0L) + 31697.0L/720.0L) - 3719.0L/288.0L) + 169.0L/1440.0L) + 169.0L/720.0L) - 1.0L/10.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*((3569.0L/1120.0L)*x - 72271.0L/5040.0L) + 2941.0L/120.0L) - 4529.0L/240.0L) + 177.0L/32.0L) - 1.0L/60.0L) - 1.0L/20.0L) + 4.0L/315.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(-3569.0L/4480.0L*x + 144541.0L/40320.0L) - 123523.0L/20160.0L) + 13589.0L/2880.0L) - 1591.0L/1152.0L) + 7.0L/5760.0L) + 7.0L/1440.0L) - 1.0L/1120.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 5)*(x*(x*(x*((3569.0L/40320.0L)*x - 803.0L/2016.0L) + 305.0L/448.0L) - 151.0L/288.0L) + 883.0L/5760.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(-3569.0L/4480.0L*x + 16061.0L/5040.0L) - 13727.0L/2880.0L) + 503.0L/160.0L) - 875.0L/1152.0L) + 7.0L/1440.0L) - 7.0L/480.0L) - 1.0L/560.0L) + 1.0L/280.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*((32121.0L/4480.0L)*x - 36137.0L/1260.0L) + 41179.0L/960.0L) - 2263.0L/80.0L) + 875.0L/128.0L) - 1.0L/15.0L) + 3.0L/20.0L) + 8.0L/315.0L) - 4.0L/105.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(-32121.0L/1120.0L*x + 144547.0L/1260.0L) - 30883.0L/180.0L) + 13577.0L/120.0L) - 7895.0L/288.0L) + 169.0L/360.0L) - 169.0L/240.0L) - 1.0L/5.0L) + 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*((10707.0L/160.0L)*x - 24091.0L/90.0L) + 36029.0L/90.0L) - 31681.0L/120.0L) + 18485.0L/288.0L) - 61.0L/45.0L) + 61.0L/60.0L) + 8.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*(pow(x, 2)*(x*(x*(x*(x*(-32121.0L/320.0L*x + 28909.0L/72.0L) - 19215.0L/32.0L) + 6337.0L/16.0L) - 6181.0L/64.0L) + 91.0L/48.0L) - 205.0L/72.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*((32121.0L/320.0L)*x - 18068.0L/45.0L) + 864661.0L/1440.0L) - 5942.0L/15.0L) + 55745.0L/576.0L) - 61.0L/45.0L) - 61.0L/60.0L) + 8.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(-10707.0L/160.0L*x + 48181.0L/180.0L) - 144109.0L/360.0L) + 31697.0L/120.0L) - 18595.0L/288.0L) + 169.0L/360.0L) + 169.0L/240.0L) - 1.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*((32121.0L/1120.0L)*x - 72271.0L/630.0L) + 20587.0L/120.0L) - 4529.0L/40.0L) + 885.0L/32.0L) - 1.0L/15.0L) - 3.0L/20.0L) + 8.0L/315.0L) + 4.0L/105.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(-32121.0L/4480.0L*x + 144541.0L/5040.0L) - 123523.0L/2880.0L) + 13589.0L/480.0L) - 7955.0L/1152.0L) + 7.0L/1440.0L) + 7.0L/480.0L) - 1.0L/560.0L) - 1.0L/280.0L; +poly_val[9] = pow(x, 4)*(x*(x*(x*((3569.0L/4480.0L)*x - 803.0L/252.0L) + 305.0L/64.0L) - 151.0L/48.0L) + 883.0L/1152.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(-3569.0L/560.0L*x + 16061.0L/720.0L) - 13727.0L/480.0L) + 503.0L/32.0L) - 875.0L/288.0L) + 7.0L/480.0L) - 7.0L/240.0L) - 1.0L/560.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*((32121.0L/560.0L)*x - 36137.0L/180.0L) + 41179.0L/160.0L) - 2263.0L/16.0L) + 875.0L/32.0L) - 1.0L/5.0L) + 3.0L/10.0L) + 8.0L/315.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(-32121.0L/140.0L*x + 144547.0L/180.0L) - 30883.0L/30.0L) + 13577.0L/24.0L) - 7895.0L/72.0L) + 169.0L/120.0L) - 169.0L/120.0L) - 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*((10707.0L/20.0L)*x - 168637.0L/90.0L) + 36029.0L/15.0L) - 31681.0L/24.0L) + 18485.0L/72.0L) - 61.0L/15.0L) + 61.0L/30.0L) + 8.0L/5.0L; +poly_val[4] = pow(x, 2)*(x*(x*(x*(x*(-32121.0L/40.0L*x + 202363.0L/72.0L) - 57645.0L/16.0L) + 31685.0L/16.0L) - 6181.0L/16.0L) + 91.0L/16.0L) - 205.0L/72.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*((32121.0L/40.0L)*x - 126476.0L/45.0L) + 864661.0L/240.0L) - 5942.0L/3.0L) + 55745.0L/144.0L) - 61.0L/15.0L) - 61.0L/30.0L) + 8.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(-10707.0L/20.0L*x + 337267.0L/180.0L) - 144109.0L/60.0L) + 31697.0L/24.0L) - 18595.0L/72.0L) + 169.0L/120.0L) + 169.0L/120.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*((32121.0L/140.0L)*x - 72271.0L/90.0L) + 20587.0L/20.0L) - 4529.0L/8.0L) + 885.0L/8.0L) - 1.0L/5.0L) - 3.0L/10.0L) + 8.0L/315.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(-32121.0L/560.0L*x + 144541.0L/720.0L) - 123523.0L/480.0L) + 13589.0L/96.0L) - 7955.0L/288.0L) + 7.0L/480.0L) + 7.0L/240.0L) - 1.0L/560.0L; +poly_val[9] = pow(x, 3)*(x*(x*(x*((3569.0L/560.0L)*x - 803.0L/36.0L) + 915.0L/32.0L) - 755.0L/48.0L) + 883.0L/288.0L); +break; +} +} +void beta_n4_m5(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((883.0L/2880.0L)*x - 9713.0L/5760.0L) + 37739.0L/10080.0L) - 169369.0L/40320.0L) + 6869.0L/2880.0L) - 3163.0L/5760.0L) + 1.0L/720.0L) + 7.0L/5760.0L) - 7.0L/1440.0L) - 1.0L/1120.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-883.0L/320.0L*x + 9713.0L/640.0L) - 37739.0L/1120.0L) + 762161.0L/20160.0L) - 144251.0L/6720.0L) + 9491.0L/1920.0L) - 1.0L/80.0L) - 1.0L/60.0L) + 1.0L/20.0L) + 4.0L/315.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((883.0L/80.0L)*x - 9713.0L/160.0L) + 37739.0L/280.0L) - 1524323.0L/10080.0L) + 216379.0L/2520.0L) - 5695.0L/288.0L) + 13.0L/360.0L) + 169.0L/1440.0L) - 169.0L/720.0L) - 1.0L/10.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6181.0L/240.0L*x + 67991.0L/480.0L) - 37739.0L/120.0L) + 127027.0L/360.0L) - 72127.0L/360.0L) + 66439.0L/1440.0L) - 29.0L/720.0L) - 61.0L/180.0L) + 61.0L/180.0L) + 4.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((6181.0L/160.0L)*x - 67991.0L/320.0L) + 37739.0L/80.0L) - 304865.0L/576.0L) + 9617.0L/32.0L) - 66431.0L/960.0L) + 91.0L/192.0L) - 205.0L/144.0L) + 1; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6181.0L/160.0L*x + 67991.0L/320.0L) - 37739.0L/80.0L) + 762163.0L/1440.0L) - 432767.0L/1440.0L) + 199259.0L/2880.0L) + 29.0L/720.0L) - 61.0L/180.0L) - 61.0L/180.0L) + 4.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6181.0L/240.0L)*x - 67991.0L/480.0L) + 37739.0L/120.0L) - 508109.0L/1440.0L) + 9016.0L/45.0L) - 66407.0L/1440.0L) - 13.0L/360.0L) + 169.0L/1440.0L) + 169.0L/720.0L) - 1.0L/10.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-883.0L/80.0L*x + 9713.0L/160.0L) - 37739.0L/280.0L) + 190541.0L/1260.0L) - 1288.0L/15.0L) + 1897.0L/96.0L) + 1.0L/80.0L) - 1.0L/60.0L) - 1.0L/20.0L) + 4.0L/315.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((883.0L/320.0L)*x - 9713.0L/640.0L) + 37739.0L/1120.0L) - 1524329.0L/40320.0L) + 432767.0L/20160.0L) - 28451.0L/5760.0L) - 1.0L/720.0L) + 7.0L/5760.0L) + 7.0L/1440.0L) - 1.0L/1120.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 6)*(x*(x*(x*(x*(-883.0L/2880.0L*x + 9713.0L/5760.0L) - 37739.0L/10080.0L) + 16937.0L/4032.0L) - 9617.0L/4032.0L) + 3161.0L/5760.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*((9713.0L/2880.0L)*x - 9713.0L/576.0L) + 37739.0L/1120.0L) - 169369.0L/5040.0L) + 48083.0L/2880.0L) - 3163.0L/960.0L) + 1.0L/144.0L) + 7.0L/1440.0L) - 7.0L/480.0L) - 1.0L/560.0L) + 1.0L/280.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-9713.0L/320.0L*x + 9713.0L/64.0L) - 339651.0L/1120.0L) + 762161.0L/2520.0L) - 144251.0L/960.0L) + 9491.0L/320.0L) - 1.0L/16.0L) - 1.0L/15.0L) + 3.0L/20.0L) + 8.0L/315.0L) - 4.0L/105.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*((9713.0L/80.0L)*x - 9713.0L/16.0L) + 339651.0L/280.0L) - 1524323.0L/1260.0L) + 216379.0L/360.0L) - 5695.0L/48.0L) + 13.0L/72.0L) + 169.0L/360.0L) - 169.0L/240.0L) - 1.0L/5.0L) + 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-67991.0L/240.0L*x + 67991.0L/48.0L) - 113217.0L/40.0L) + 127027.0L/45.0L) - 504889.0L/360.0L) + 66439.0L/240.0L) - 29.0L/144.0L) - 61.0L/45.0L) + 61.0L/60.0L) + 8.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((67991.0L/160.0L)*x - 67991.0L/32.0L) + 339651.0L/80.0L) - 304865.0L/72.0L) + 67319.0L/32.0L) - 66431.0L/160.0L) + 91.0L/48.0L) - 205.0L/72.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-67991.0L/160.0L*x + 67991.0L/32.0L) - 339651.0L/80.0L) + 762163.0L/180.0L) - 3029369.0L/1440.0L) + 199259.0L/480.0L) + 29.0L/144.0L) - 61.0L/45.0L) - 61.0L/60.0L) + 8.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*((67991.0L/240.0L)*x - 67991.0L/48.0L) + 113217.0L/40.0L) - 508109.0L/180.0L) + 63112.0L/45.0L) - 66407.0L/240.0L) - 13.0L/72.0L) + 169.0L/360.0L) + 169.0L/240.0L) - 1.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-9713.0L/80.0L*x + 9713.0L/16.0L) - 339651.0L/280.0L) + 381082.0L/315.0L) - 9016.0L/15.0L) + 1897.0L/16.0L) + 1.0L/16.0L) - 1.0L/15.0L) - 3.0L/20.0L) + 8.0L/315.0L) + 4.0L/105.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*((9713.0L/320.0L)*x - 9713.0L/64.0L) + 339651.0L/1120.0L) - 1524329.0L/5040.0L) + 432767.0L/2880.0L) - 28451.0L/960.0L) - 1.0L/144.0L) + 7.0L/1440.0L) + 7.0L/480.0L) - 1.0L/560.0L) - 1.0L/280.0L; +poly_val[9] = pow(x, 5)*(x*(x*(x*(x*(-9713.0L/2880.0L*x + 9713.0L/576.0L) - 37739.0L/1120.0L) + 16937.0L/504.0L) - 9617.0L/576.0L) + 3161.0L/960.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*((9713.0L/288.0L)*x - 9713.0L/64.0L) + 37739.0L/140.0L) - 169369.0L/720.0L) + 48083.0L/480.0L) - 3163.0L/192.0L) + 1.0L/36.0L) + 7.0L/480.0L) - 7.0L/240.0L) - 1.0L/560.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(-9713.0L/32.0L*x + 87417.0L/64.0L) - 339651.0L/140.0L) + 762161.0L/360.0L) - 144251.0L/160.0L) + 9491.0L/64.0L) - 1.0L/4.0L) - 1.0L/5.0L) + 3.0L/10.0L) + 8.0L/315.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*((9713.0L/8.0L)*x - 87417.0L/16.0L) + 339651.0L/35.0L) - 1524323.0L/180.0L) + 216379.0L/60.0L) - 28475.0L/48.0L) + 13.0L/18.0L) + 169.0L/120.0L) - 169.0L/120.0L) - 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(-67991.0L/24.0L*x + 203973.0L/16.0L) - 113217.0L/5.0L) + 889189.0L/45.0L) - 504889.0L/60.0L) + 66439.0L/48.0L) - 29.0L/36.0L) - 61.0L/15.0L) + 61.0L/30.0L) + 8.0L/5.0L; +poly_val[4] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((67991.0L/16.0L)*x - 611919.0L/32.0L) + 339651.0L/10.0L) - 2134055.0L/72.0L) + 201957.0L/16.0L) - 66431.0L/32.0L) + 91.0L/16.0L) - 205.0L/72.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(-67991.0L/16.0L*x + 611919.0L/32.0L) - 339651.0L/10.0L) + 5335141.0L/180.0L) - 3029369.0L/240.0L) + 199259.0L/96.0L) + 29.0L/36.0L) - 61.0L/15.0L) - 61.0L/30.0L) + 8.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*((67991.0L/24.0L)*x - 203973.0L/16.0L) + 113217.0L/5.0L) - 3556763.0L/180.0L) + 126224.0L/15.0L) - 66407.0L/48.0L) - 13.0L/18.0L) + 169.0L/120.0L) + 169.0L/120.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(-9713.0L/8.0L*x + 87417.0L/16.0L) - 339651.0L/35.0L) + 381082.0L/45.0L) - 18032.0L/5.0L) + 9485.0L/16.0L) + 1.0L/4.0L) - 1.0L/5.0L) - 3.0L/10.0L) + 8.0L/315.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*((9713.0L/32.0L)*x - 87417.0L/64.0L) + 339651.0L/140.0L) - 1524329.0L/720.0L) + 432767.0L/480.0L) - 28451.0L/192.0L) - 1.0L/36.0L) + 7.0L/480.0L) + 7.0L/240.0L) - 1.0L/560.0L; +poly_val[9] = pow(x, 4)*(x*(x*(x*(x*(-9713.0L/288.0L*x + 9713.0L/64.0L) - 37739.0L/140.0L) + 16937.0L/72.0L) - 9617.0L/96.0L) + 3161.0L/192.0L); +break; +} +} +void beta_n4_m6(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-3161.0L/2880.0L*x + 41093.0L/5760.0L) - 11203.0L/576.0L) + 9119.0L/320.0L) - 477697.0L/20160.0L) + 21403.0L/2016.0L) - 385.0L/192.0L) - 1.0L/2880.0L) + 1.0L/720.0L) + 7.0L/5760.0L) - 7.0L/1440.0L) - 1.0L/1120.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((3161.0L/320.0L)*x - 41093.0L/640.0L) + 11203.0L/64.0L) - 82071.0L/320.0L) + 477697.0L/2240.0L) - 3852539.0L/40320.0L) + 121273.0L/6720.0L) + 1.0L/240.0L) - 1.0L/80.0L) - 1.0L/60.0L) + 1.0L/20.0L) + 4.0L/315.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-3161.0L/80.0L*x + 41093.0L/160.0L) - 11203.0L/16.0L) + 82071.0L/80.0L) - 477697.0L/560.0L) + 1926269.0L/5040.0L) - 181907.0L/2520.0L) - 13.0L/720.0L) + 13.0L/360.0L) + 169.0L/1440.0L) - 169.0L/720.0L) - 1.0L/10.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((22127.0L/240.0L)*x - 287651.0L/480.0L) + 78421.0L/48.0L) - 191499.0L/80.0L) + 477697.0L/240.0L) - 1284179.0L/1440.0L) + 12127.0L/72.0L) + 29.0L/720.0L) - 29.0L/720.0L) - 61.0L/180.0L) + 61.0L/180.0L) + 4.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-22127.0L/160.0L*x + 287651.0L/320.0L) - 78421.0L/32.0L) + 574497.0L/160.0L) - 477697.0L/160.0L) + 481567.0L/360.0L) - 40423.0L/160.0L) - 5.0L/96.0L) + 91.0L/192.0L) - 205.0L/144.0L) + 1; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((22127.0L/160.0L)*x - 287651.0L/320.0L) + 78421.0L/32.0L) - 574497.0L/160.0L) + 477697.0L/160.0L) - 770507.0L/576.0L) + 72761.0L/288.0L) + 29.0L/720.0L) + 29.0L/720.0L) - 61.0L/180.0L) - 61.0L/180.0L) + 4.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-22127.0L/240.0L*x + 287651.0L/480.0L) - 78421.0L/48.0L) + 191499.0L/80.0L) - 477697.0L/240.0L) + 642089.0L/720.0L) - 30317.0L/180.0L) - 13.0L/720.0L) - 13.0L/360.0L) + 169.0L/1440.0L) + 169.0L/720.0L) - 1.0L/10.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((3161.0L/80.0L)*x - 41093.0L/160.0L) + 11203.0L/16.0L) - 82071.0L/80.0L) + 477697.0L/560.0L) - 3852533.0L/10080.0L) + 4331.0L/60.0L) + 1.0L/240.0L) + 1.0L/80.0L) - 1.0L/60.0L) - 1.0L/20.0L) + 4.0L/315.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-3161.0L/320.0L*x + 41093.0L/640.0L) - 11203.0L/64.0L) + 82071.0L/320.0L) - 477697.0L/2240.0L) + 963133.0L/10080.0L) - 72761.0L/4032.0L) - 1.0L/2880.0L) - 1.0L/720.0L) + 7.0L/5760.0L) + 7.0L/1440.0L) - 1.0L/1120.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 7)*(x*(x*(x*(x*(x*((3161.0L/2880.0L)*x - 41093.0L/5760.0L) + 11203.0L/576.0L) - 9119.0L/320.0L) + 477697.0L/20160.0L) - 428059.0L/40320.0L) + 40423.0L/20160.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-41093.0L/2880.0L*x + 41093.0L/480.0L) - 123233.0L/576.0L) + 9119.0L/32.0L) - 477697.0L/2240.0L) + 21403.0L/252.0L) - 2695.0L/192.0L) - 1.0L/480.0L) + 1.0L/144.0L) + 7.0L/1440.0L) - 7.0L/480.0L) - 1.0L/560.0L) + 1.0L/280.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((41093.0L/320.0L)*x - 123279.0L/160.0L) + 123233.0L/64.0L) - 82071.0L/32.0L) + 4299273.0L/2240.0L) - 3852539.0L/5040.0L) + 121273.0L/960.0L) + 1.0L/40.0L) - 1.0L/16.0L) - 1.0L/15.0L) + 3.0L/20.0L) + 8.0L/315.0L) - 4.0L/105.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-41093.0L/80.0L*x + 123279.0L/40.0L) - 123233.0L/16.0L) + 82071.0L/8.0L) - 4299273.0L/560.0L) + 1926269.0L/630.0L) - 181907.0L/360.0L) - 13.0L/120.0L) + 13.0L/72.0L) + 169.0L/360.0L) - 169.0L/240.0L) - 1.0L/5.0L) + 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((287651.0L/240.0L)*x - 287651.0L/40.0L) + 862631.0L/48.0L) - 191499.0L/8.0L) + 1433091.0L/80.0L) - 1284179.0L/180.0L) + 84889.0L/72.0L) + 29.0L/120.0L) - 29.0L/144.0L) - 61.0L/45.0L) + 61.0L/60.0L) + 8.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-287651.0L/160.0L*x + 862953.0L/80.0L) - 862631.0L/32.0L) + 574497.0L/16.0L) - 4299273.0L/160.0L) + 481567.0L/45.0L) - 282961.0L/160.0L) - 5.0L/16.0L) + 91.0L/48.0L) - 205.0L/72.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((287651.0L/160.0L)*x - 862953.0L/80.0L) + 862631.0L/32.0L) - 574497.0L/16.0L) + 4299273.0L/160.0L) - 770507.0L/72.0L) + 509327.0L/288.0L) + 29.0L/120.0L) + 29.0L/144.0L) - 61.0L/45.0L) - 61.0L/60.0L) + 8.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-287651.0L/240.0L*x + 287651.0L/40.0L) - 862631.0L/48.0L) + 191499.0L/8.0L) - 1433091.0L/80.0L) + 642089.0L/90.0L) - 212219.0L/180.0L) - 13.0L/120.0L) - 13.0L/72.0L) + 169.0L/360.0L) + 169.0L/240.0L) - 1.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((41093.0L/80.0L)*x - 123279.0L/40.0L) + 123233.0L/16.0L) - 82071.0L/8.0L) + 4299273.0L/560.0L) - 3852533.0L/1260.0L) + 30317.0L/60.0L) + 1.0L/40.0L) + 1.0L/16.0L) - 1.0L/15.0L) - 3.0L/20.0L) + 8.0L/315.0L) + 4.0L/105.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-41093.0L/320.0L*x + 123279.0L/160.0L) - 123233.0L/64.0L) + 82071.0L/32.0L) - 4299273.0L/2240.0L) + 963133.0L/1260.0L) - 72761.0L/576.0L) - 1.0L/480.0L) - 1.0L/144.0L) + 7.0L/1440.0L) + 7.0L/480.0L) - 1.0L/560.0L) - 1.0L/280.0L; +poly_val[9] = pow(x, 6)*(x*(x*(x*(x*(x*((41093.0L/2880.0L)*x - 41093.0L/480.0L) + 123233.0L/576.0L) - 9119.0L/32.0L) + 477697.0L/2240.0L) - 428059.0L/5040.0L) + 40423.0L/2880.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-41093.0L/240.0L*x + 452023.0L/480.0L) - 616165.0L/288.0L) + 82071.0L/32.0L) - 477697.0L/280.0L) + 21403.0L/36.0L) - 2695.0L/32.0L) - 1.0L/96.0L) + 1.0L/36.0L) + 7.0L/480.0L) - 7.0L/240.0L) - 1.0L/560.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((123279.0L/80.0L)*x - 1356069.0L/160.0L) + 616165.0L/32.0L) - 738639.0L/32.0L) + 4299273.0L/280.0L) - 3852539.0L/720.0L) + 121273.0L/160.0L) + 1.0L/8.0L) - 1.0L/4.0L) - 1.0L/5.0L) + 3.0L/10.0L) + 8.0L/315.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-123279.0L/20.0L*x + 1356069.0L/40.0L) - 616165.0L/8.0L) + 738639.0L/8.0L) - 4299273.0L/70.0L) + 1926269.0L/90.0L) - 181907.0L/60.0L) - 13.0L/24.0L) + 13.0L/18.0L) + 169.0L/120.0L) - 169.0L/120.0L) - 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((287651.0L/20.0L)*x - 3164161.0L/40.0L) + 4313155.0L/24.0L) - 1723491.0L/8.0L) + 1433091.0L/10.0L) - 8989253.0L/180.0L) + 84889.0L/12.0L) + 29.0L/24.0L) - 29.0L/36.0L) - 61.0L/15.0L) + 61.0L/30.0L) + 8.0L/5.0L; +poly_val[4] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-862953.0L/40.0L*x + 9492483.0L/80.0L) - 4313155.0L/16.0L) + 5170473.0L/16.0L) - 4299273.0L/20.0L) + 3370969.0L/45.0L) - 848883.0L/80.0L) - 25.0L/16.0L) + 91.0L/16.0L) - 205.0L/72.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((862953.0L/40.0L)*x - 9492483.0L/80.0L) + 4313155.0L/16.0L) - 5170473.0L/16.0L) + 4299273.0L/20.0L) - 5393549.0L/72.0L) + 509327.0L/48.0L) + 29.0L/24.0L) + 29.0L/36.0L) - 61.0L/15.0L) - 61.0L/30.0L) + 8.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-287651.0L/20.0L*x + 3164161.0L/40.0L) - 4313155.0L/24.0L) + 1723491.0L/8.0L) - 1433091.0L/10.0L) + 4494623.0L/90.0L) - 212219.0L/30.0L) - 13.0L/24.0L) - 13.0L/18.0L) + 169.0L/120.0L) + 169.0L/120.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((123279.0L/20.0L)*x - 1356069.0L/40.0L) + 616165.0L/8.0L) - 738639.0L/8.0L) + 4299273.0L/70.0L) - 3852533.0L/180.0L) + 30317.0L/10.0L) + 1.0L/8.0L) + 1.0L/4.0L) - 1.0L/5.0L) - 3.0L/10.0L) + 8.0L/315.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-123279.0L/80.0L*x + 1356069.0L/160.0L) - 616165.0L/32.0L) + 738639.0L/32.0L) - 4299273.0L/280.0L) + 963133.0L/180.0L) - 72761.0L/96.0L) - 1.0L/96.0L) - 1.0L/36.0L) + 7.0L/480.0L) + 7.0L/240.0L) - 1.0L/560.0L; +poly_val[9] = pow(x, 5)*(x*(x*(x*(x*(x*((41093.0L/240.0L)*x - 452023.0L/480.0L) + 616165.0L/288.0L) - 82071.0L/32.0L) + 477697.0L/280.0L) - 428059.0L/720.0L) + 40423.0L/480.0L); +break; +} +} +void beta_n4_m7(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((40423.0L/10080.0L)*x - 40423.0L/1344.0L) + 6995.0L/72.0L) - 67327.0L/384.0L) + 55033.0L/288.0L) - 181291.0L/1440.0L) + 234277.0L/5040.0L) - 149777.0L/20160.0L) - 1.0L/10080.0L) - 1.0L/2880.0L) + 1.0L/720.0L) + 7.0L/5760.0L) - 7.0L/1440.0L) - 1.0L/1120.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-40423.0L/1120.0L*x + 121269.0L/448.0L) - 6995.0L/8.0L) + 201981.0L/128.0L) - 55033.0L/32.0L) + 181291.0L/160.0L) - 234277.0L/560.0L) + 385141.0L/5760.0L) + 1.0L/1680.0L) + 1.0L/240.0L) - 1.0L/80.0L) - 1.0L/60.0L) + 1.0L/20.0L) + 4.0L/315.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((40423.0L/280.0L)*x - 121269.0L/112.0L) + 6995.0L/2.0L) - 201981.0L/32.0L) + 55033.0L/8.0L) - 181291.0L/40.0L) + 234277.0L/140.0L) - 673997.0L/2520.0L) - 1.0L/720.0L) - 13.0L/720.0L) + 13.0L/360.0L) + 169.0L/1440.0L) - 169.0L/720.0L) - 1.0L/10.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-40423.0L/120.0L*x + 40423.0L/16.0L) - 48965.0L/6.0L) + 471289.0L/32.0L) - 385231.0L/24.0L) + 1269037.0L/120.0L) - 234277.0L/60.0L) + 898663.0L/1440.0L) + 1.0L/720.0L) + 29.0L/720.0L) - 29.0L/720.0L) - 61.0L/180.0L) + 61.0L/180.0L) + 4.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((40423.0L/80.0L)*x - 121269.0L/32.0L) + 48965.0L/4.0L) - 1413867.0L/64.0L) + 385231.0L/16.0L) - 1269037.0L/80.0L) + 234277.0L/40.0L) - 269599.0L/288.0L) - 5.0L/96.0L) + 91.0L/192.0L) - 205.0L/144.0L) + 1; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-40423.0L/80.0L*x + 121269.0L/32.0L) - 48965.0L/4.0L) + 1413867.0L/64.0L) - 385231.0L/16.0L) + 1269037.0L/80.0L) - 234277.0L/40.0L) + 2695991.0L/2880.0L) - 1.0L/720.0L) + 29.0L/720.0L) + 29.0L/720.0L) - 61.0L/180.0L) - 61.0L/180.0L) + 4.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((40423.0L/120.0L)*x - 40423.0L/16.0L) + 48965.0L/6.0L) - 471289.0L/32.0L) + 385231.0L/24.0L) - 1269037.0L/120.0L) + 234277.0L/60.0L) - 112333.0L/180.0L) + 1.0L/720.0L) - 13.0L/720.0L) - 13.0L/360.0L) + 169.0L/1440.0L) + 169.0L/720.0L) - 1.0L/10.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-40423.0L/280.0L*x + 121269.0L/112.0L) - 6995.0L/2.0L) + 201981.0L/32.0L) - 55033.0L/8.0L) + 181291.0L/40.0L) - 234277.0L/140.0L) + 2695993.0L/10080.0L) - 1.0L/1680.0L) + 1.0L/240.0L) + 1.0L/80.0L) - 1.0L/60.0L) - 1.0L/20.0L) + 4.0L/315.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((40423.0L/1120.0L)*x - 121269.0L/448.0L) + 6995.0L/8.0L) - 201981.0L/128.0L) + 55033.0L/32.0L) - 181291.0L/160.0L) + 234277.0L/560.0L) - 192571.0L/2880.0L) + 1.0L/10080.0L) - 1.0L/2880.0L) - 1.0L/720.0L) + 7.0L/5760.0L) + 7.0L/1440.0L) - 1.0L/1120.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 8)*(x*(x*(x*(x*(x*(x*(-40423.0L/10080.0L*x + 40423.0L/1344.0L) - 6995.0L/72.0L) + 67327.0L/384.0L) - 55033.0L/288.0L) + 181291.0L/1440.0L) - 234277.0L/5040.0L) + 59911.0L/8064.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((40423.0L/672.0L)*x - 40423.0L/96.0L) + 90935.0L/72.0L) - 67327.0L/32.0L) + 605363.0L/288.0L) - 181291.0L/144.0L) + 234277.0L/560.0L) - 149777.0L/2520.0L) - 1.0L/1440.0L) - 1.0L/480.0L) + 1.0L/144.0L) + 7.0L/1440.0L) - 7.0L/480.0L) - 1.0L/560.0L) + 1.0L/280.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-121269.0L/224.0L*x + 121269.0L/32.0L) - 90935.0L/8.0L) + 605943.0L/32.0L) - 605363.0L/32.0L) + 181291.0L/16.0L) - 2108493.0L/560.0L) + 385141.0L/720.0L) + 1.0L/240.0L) + 1.0L/40.0L) - 1.0L/16.0L) - 1.0L/15.0L) + 3.0L/20.0L) + 8.0L/315.0L) - 4.0L/105.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((121269.0L/56.0L)*x - 121269.0L/8.0L) + 90935.0L/2.0L) - 605943.0L/8.0L) + 605363.0L/8.0L) - 181291.0L/4.0L) + 2108493.0L/140.0L) - 673997.0L/315.0L) - 7.0L/720.0L) - 13.0L/120.0L) + 13.0L/72.0L) + 169.0L/360.0L) - 169.0L/240.0L) - 1.0L/5.0L) + 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-40423.0L/8.0L*x + 282961.0L/8.0L) - 636545.0L/6.0L) + 1413867.0L/8.0L) - 4237541.0L/24.0L) + 1269037.0L/12.0L) - 702831.0L/20.0L) + 898663.0L/180.0L) + 7.0L/720.0L) + 29.0L/120.0L) - 29.0L/144.0L) - 61.0L/45.0L) + 61.0L/60.0L) + 8.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((121269.0L/16.0L)*x - 848883.0L/16.0L) + 636545.0L/4.0L) - 4241601.0L/16.0L) + 4237541.0L/16.0L) - 1269037.0L/8.0L) + 2108493.0L/40.0L) - 269599.0L/36.0L) - 5.0L/16.0L) + 91.0L/48.0L) - 205.0L/72.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-121269.0L/16.0L*x + 848883.0L/16.0L) - 636545.0L/4.0L) + 4241601.0L/16.0L) - 4237541.0L/16.0L) + 1269037.0L/8.0L) - 2108493.0L/40.0L) + 2695991.0L/360.0L) - 7.0L/720.0L) + 29.0L/120.0L) + 29.0L/144.0L) - 61.0L/45.0L) - 61.0L/60.0L) + 8.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((40423.0L/8.0L)*x - 282961.0L/8.0L) + 636545.0L/6.0L) - 1413867.0L/8.0L) + 4237541.0L/24.0L) - 1269037.0L/12.0L) + 702831.0L/20.0L) - 224666.0L/45.0L) + 7.0L/720.0L) - 13.0L/120.0L) - 13.0L/72.0L) + 169.0L/360.0L) + 169.0L/240.0L) - 1.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-121269.0L/56.0L*x + 121269.0L/8.0L) - 90935.0L/2.0L) + 605943.0L/8.0L) - 605363.0L/8.0L) + 181291.0L/4.0L) - 2108493.0L/140.0L) + 2695993.0L/1260.0L) - 1.0L/240.0L) + 1.0L/40.0L) + 1.0L/16.0L) - 1.0L/15.0L) - 3.0L/20.0L) + 8.0L/315.0L) + 4.0L/105.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((121269.0L/224.0L)*x - 121269.0L/32.0L) + 90935.0L/8.0L) - 605943.0L/32.0L) + 605363.0L/32.0L) - 181291.0L/16.0L) + 2108493.0L/560.0L) - 192571.0L/360.0L) + 1.0L/1440.0L) - 1.0L/480.0L) - 1.0L/144.0L) + 7.0L/1440.0L) + 7.0L/480.0L) - 1.0L/560.0L) - 1.0L/280.0L; +poly_val[9] = pow(x, 7)*(x*(x*(x*(x*(x*(x*(-40423.0L/672.0L*x + 40423.0L/96.0L) - 90935.0L/72.0L) + 67327.0L/32.0L) - 605363.0L/288.0L) + 181291.0L/144.0L) - 234277.0L/560.0L) + 59911.0L/1008.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((40423.0L/48.0L)*x - 525499.0L/96.0L) + 90935.0L/6.0L) - 740597.0L/32.0L) + 3026815.0L/144.0L) - 181291.0L/16.0L) + 234277.0L/70.0L) - 149777.0L/360.0L) - 1.0L/240.0L) - 1.0L/96.0L) + 1.0L/36.0L) + 7.0L/480.0L) - 7.0L/240.0L) - 1.0L/560.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-121269.0L/16.0L*x + 1576497.0L/32.0L) - 272805.0L/2.0L) + 6665373.0L/32.0L) - 3026815.0L/16.0L) + 1631619.0L/16.0L) - 2108493.0L/70.0L) + 2695987.0L/720.0L) + 1.0L/40.0L) + 1.0L/8.0L) - 1.0L/4.0L) - 1.0L/5.0L) + 3.0L/10.0L) + 8.0L/315.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((121269.0L/4.0L)*x - 1576497.0L/8.0L) + 545610) - 6665373.0L/8.0L) + 3026815.0L/4.0L) - 1631619.0L/4.0L) + 4216986.0L/35.0L) - 673997.0L/45.0L) - 7.0L/120.0L) - 13.0L/24.0L) + 13.0L/18.0L) + 169.0L/120.0L) - 169.0L/120.0L) - 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-282961.0L/4.0L*x + 3678493.0L/8.0L) - 1273090) + 15552537.0L/8.0L) - 21187705.0L/12.0L) + 3807111.0L/4.0L) - 1405662.0L/5.0L) + 6290641.0L/180.0L) + 7.0L/120.0L) + 29.0L/24.0L) - 29.0L/36.0L) - 61.0L/15.0L) + 61.0L/30.0L) + 8.0L/5.0L; +poly_val[4] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((848883.0L/8.0L)*x - 11035479.0L/16.0L) + 1909635) - 46657611.0L/16.0L) + 21187705.0L/8.0L) - 11421333.0L/8.0L) + 2108493.0L/5.0L) - 1887193.0L/36.0L) - 25.0L/16.0L) + 91.0L/16.0L) - 205.0L/72.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-848883.0L/8.0L*x + 11035479.0L/16.0L) - 1909635) + 46657611.0L/16.0L) - 21187705.0L/8.0L) + 11421333.0L/8.0L) - 2108493.0L/5.0L) + 18871937.0L/360.0L) - 7.0L/120.0L) + 29.0L/24.0L) + 29.0L/36.0L) - 61.0L/15.0L) - 61.0L/30.0L) + 8.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((282961.0L/4.0L)*x - 3678493.0L/8.0L) + 1273090) - 15552537.0L/8.0L) + 21187705.0L/12.0L) - 3807111.0L/4.0L) + 1405662.0L/5.0L) - 1572662.0L/45.0L) + 7.0L/120.0L) - 13.0L/24.0L) - 13.0L/18.0L) + 169.0L/120.0L) + 169.0L/120.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-121269.0L/4.0L*x + 1576497.0L/8.0L) - 545610) + 6665373.0L/8.0L) - 3026815.0L/4.0L) + 1631619.0L/4.0L) - 4216986.0L/35.0L) + 2695993.0L/180.0L) - 1.0L/40.0L) + 1.0L/8.0L) + 1.0L/4.0L) - 1.0L/5.0L) - 3.0L/10.0L) + 8.0L/315.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((121269.0L/16.0L)*x - 1576497.0L/32.0L) + 272805.0L/2.0L) - 6665373.0L/32.0L) + 3026815.0L/16.0L) - 1631619.0L/16.0L) + 2108493.0L/70.0L) - 1347997.0L/360.0L) + 1.0L/240.0L) - 1.0L/96.0L) - 1.0L/36.0L) + 7.0L/480.0L) + 7.0L/240.0L) - 1.0L/560.0L; +poly_val[9] = pow(x, 6)*(x*(x*(x*(x*(x*(x*(-40423.0L/48.0L*x + 525499.0L/96.0L) - 90935.0L/6.0L) + 740597.0L/32.0L) - 3026815.0L/144.0L) + 181291.0L/16.0L) - 234277.0L/70.0L) + 59911.0L/144.0L); +break; +} +} +void beta_n4_m8(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-59911.0L/4032.0L*x + 1018487.0L/8064.0L) - 4752457.0L/10080.0L) + 4072501.0L/4032.0L) - 391397.0L/288.0L) + 1355705.0L/1152.0L) - 61537.0L/96.0L) + 168839.0L/840.0L) - 186889.0L/6720.0L) + 1.0L/40320.0L) - 1.0L/10080.0L) - 1.0L/2880.0L) + 1.0L/720.0L) + 7.0L/5760.0L) - 7.0L/1440.0L) - 1.0L/1120.0L) + 1.0L/280.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((59911.0L/448.0L)*x - 1018487.0L/896.0L) + 4752457.0L/1120.0L) - 4072501.0L/448.0L) + 391397.0L/32.0L) - 1355705.0L/128.0L) + 184611.0L/32.0L) - 506517.0L/280.0L) + 560667.0L/2240.0L) - 1.0L/5040.0L) + 1.0L/1680.0L) + 1.0L/240.0L) - 1.0L/80.0L) - 1.0L/60.0L) + 1.0L/20.0L) + 4.0L/315.0L) - 4.0L/105.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-59911.0L/112.0L*x + 1018487.0L/224.0L) - 4752457.0L/280.0L) + 4072501.0L/112.0L) - 391397.0L/8.0L) + 1355705.0L/32.0L) - 184611.0L/8.0L) + 506517.0L/70.0L) - 560667.0L/560.0L) + 1.0L/1440.0L) - 1.0L/720.0L) - 13.0L/720.0L) + 13.0L/360.0L) + 169.0L/1440.0L) - 169.0L/720.0L) - 1.0L/10.0L) + 1.0L/5.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((59911.0L/48.0L)*x - 1018487.0L/96.0L) + 4752457.0L/120.0L) - 4072501.0L/48.0L) + 2739779.0L/24.0L) - 9489935.0L/96.0L) + 430759.0L/8.0L) - 168839.0L/10.0L) + 186889.0L/80.0L) - 1.0L/720.0L) + 1.0L/720.0L) + 29.0L/720.0L) - 29.0L/720.0L) - 61.0L/180.0L) + 61.0L/180.0L) + 4.0L/5.0L) - 4.0L/5.0L); +poly_val[4] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-59911.0L/32.0L*x + 1018487.0L/64.0L) - 4752457.0L/80.0L) + 4072501.0L/32.0L) - 2739779.0L/16.0L) + 9489935.0L/64.0L) - 1292277.0L/16.0L) + 506517.0L/20.0L) - 560667.0L/160.0L) + 1.0L/576.0L) - 5.0L/96.0L) + 91.0L/192.0L) - 205.0L/144.0L) + 1; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((59911.0L/32.0L)*x - 1018487.0L/64.0L) + 4752457.0L/80.0L) - 4072501.0L/32.0L) + 2739779.0L/16.0L) - 9489935.0L/64.0L) + 1292277.0L/16.0L) - 506517.0L/20.0L) + 560667.0L/160.0L) - 1.0L/720.0L) - 1.0L/720.0L) + 29.0L/720.0L) + 29.0L/720.0L) - 61.0L/180.0L) - 61.0L/180.0L) + 4.0L/5.0L) + 4.0L/5.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-59911.0L/48.0L*x + 1018487.0L/96.0L) - 4752457.0L/120.0L) + 4072501.0L/48.0L) - 2739779.0L/24.0L) + 9489935.0L/96.0L) - 430759.0L/8.0L) + 168839.0L/10.0L) - 186889.0L/80.0L) + 1.0L/1440.0L) + 1.0L/720.0L) - 13.0L/720.0L) - 13.0L/360.0L) + 169.0L/1440.0L) + 169.0L/720.0L) - 1.0L/10.0L) - 1.0L/5.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((59911.0L/112.0L)*x - 1018487.0L/224.0L) + 4752457.0L/280.0L) - 4072501.0L/112.0L) + 391397.0L/8.0L) - 1355705.0L/32.0L) + 184611.0L/8.0L) - 506517.0L/70.0L) + 560667.0L/560.0L) - 1.0L/5040.0L) - 1.0L/1680.0L) + 1.0L/240.0L) + 1.0L/80.0L) - 1.0L/60.0L) - 1.0L/20.0L) + 4.0L/315.0L) + 4.0L/105.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-59911.0L/448.0L*x + 1018487.0L/896.0L) - 4752457.0L/1120.0L) + 4072501.0L/448.0L) - 391397.0L/32.0L) + 1355705.0L/128.0L) - 184611.0L/32.0L) + 506517.0L/280.0L) - 560667.0L/2240.0L) + 1.0L/40320.0L) + 1.0L/10080.0L) - 1.0L/2880.0L) - 1.0L/720.0L) + 7.0L/5760.0L) + 7.0L/1440.0L) - 1.0L/1120.0L) - 1.0L/280.0L); +poly_val[9] = pow(x, 9)*(x*(x*(x*(x*(x*(x*(x*((59911.0L/4032.0L)*x - 1018487.0L/8064.0L) + 4752457.0L/10080.0L) - 4072501.0L/4032.0L) + 391397.0L/288.0L) - 1355705.0L/1152.0L) + 61537.0L/96.0L) - 168839.0L/840.0L) + 186889.0L/6720.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/4032.0L*x + 1018487.0L/504.0L) - 4752457.0L/672.0L) + 4072501.0L/288.0L) - 5088161.0L/288.0L) + 1355705.0L/96.0L) - 676907.0L/96.0L) + 168839.0L/84.0L) - 560667.0L/2240.0L) + 1.0L/5040.0L) - 1.0L/1440.0L) - 1.0L/480.0L) + 1.0L/144.0L) + 7.0L/1440.0L) - 7.0L/480.0L) - 1.0L/560.0L) + 1.0L/280.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/448.0L)*x - 1018487.0L/56.0L) + 14257371.0L/224.0L) - 4072501.0L/32.0L) + 5088161.0L/32.0L) - 4067115.0L/32.0L) + 2030721.0L/32.0L) - 506517.0L/28.0L) + 5046003.0L/2240.0L) - 1.0L/630.0L) + 1.0L/240.0L) + 1.0L/40.0L) - 1.0L/16.0L) - 1.0L/15.0L) + 3.0L/20.0L) + 8.0L/315.0L) - 4.0L/105.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/112.0L*x + 1018487.0L/14.0L) - 14257371.0L/56.0L) + 4072501.0L/8.0L) - 5088161.0L/8.0L) + 4067115.0L/8.0L) - 2030721.0L/8.0L) + 506517.0L/7.0L) - 5046003.0L/560.0L) + 1.0L/180.0L) - 7.0L/720.0L) - 13.0L/120.0L) + 13.0L/72.0L) + 169.0L/360.0L) - 169.0L/240.0L) - 1.0L/5.0L) + 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/48.0L)*x - 1018487.0L/6.0L) + 4752457.0L/8.0L) - 28507507.0L/24.0L) + 35617127.0L/24.0L) - 9489935.0L/8.0L) + 4738349.0L/8.0L) - 168839) + 1682001.0L/80.0L) - 1.0L/90.0L) + 7.0L/720.0L) + 29.0L/120.0L) - 29.0L/144.0L) - 61.0L/45.0L) + 61.0L/60.0L) + 8.0L/5.0L) - 4.0L/5.0L; +poly_val[4] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/32.0L*x + 1018487.0L/4.0L) - 14257371.0L/16.0L) + 28507507.0L/16.0L) - 35617127.0L/16.0L) + 28469805.0L/16.0L) - 14215047.0L/16.0L) + 506517.0L/2.0L) - 5046003.0L/160.0L) + 1.0L/72.0L) - 5.0L/16.0L) + 91.0L/48.0L) - 205.0L/72.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/32.0L)*x - 1018487.0L/4.0L) + 14257371.0L/16.0L) - 28507507.0L/16.0L) + 35617127.0L/16.0L) - 28469805.0L/16.0L) + 14215047.0L/16.0L) - 506517.0L/2.0L) + 5046003.0L/160.0L) - 1.0L/90.0L) - 7.0L/720.0L) + 29.0L/120.0L) + 29.0L/144.0L) - 61.0L/45.0L) - 61.0L/60.0L) + 8.0L/5.0L) + 4.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/48.0L*x + 1018487.0L/6.0L) - 4752457.0L/8.0L) + 28507507.0L/24.0L) - 35617127.0L/24.0L) + 9489935.0L/8.0L) - 4738349.0L/8.0L) + 168839) - 1682001.0L/80.0L) + 1.0L/180.0L) + 7.0L/720.0L) - 13.0L/120.0L) - 13.0L/72.0L) + 169.0L/360.0L) + 169.0L/240.0L) - 1.0L/5.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/112.0L)*x - 1018487.0L/14.0L) + 14257371.0L/56.0L) - 4072501.0L/8.0L) + 5088161.0L/8.0L) - 4067115.0L/8.0L) + 2030721.0L/8.0L) - 506517.0L/7.0L) + 5046003.0L/560.0L) - 1.0L/630.0L) - 1.0L/240.0L) + 1.0L/40.0L) + 1.0L/16.0L) - 1.0L/15.0L) - 3.0L/20.0L) + 8.0L/315.0L) + 4.0L/105.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/448.0L*x + 1018487.0L/56.0L) - 14257371.0L/224.0L) + 4072501.0L/32.0L) - 5088161.0L/32.0L) + 4067115.0L/32.0L) - 2030721.0L/32.0L) + 506517.0L/28.0L) - 5046003.0L/2240.0L) + 1.0L/5040.0L) + 1.0L/1440.0L) - 1.0L/480.0L) - 1.0L/144.0L) + 7.0L/1440.0L) + 7.0L/480.0L) - 1.0L/560.0L) - 1.0L/280.0L; +poly_val[9] = pow(x, 8)*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/4032.0L)*x - 1018487.0L/504.0L) + 4752457.0L/672.0L) - 4072501.0L/288.0L) + 5088161.0L/288.0L) - 1355705.0L/96.0L) + 676907.0L/96.0L) - 168839.0L/84.0L) + 560667.0L/2240.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/252.0L*x + 5092435.0L/168.0L) - 4752457.0L/48.0L) + 52942513.0L/288.0L) - 5088161.0L/24.0L) + 14912755.0L/96.0L) - 3384535.0L/48.0L) + 506517.0L/28.0L) - 560667.0L/280.0L) + 1.0L/720.0L) - 1.0L/240.0L) - 1.0L/96.0L) + 1.0L/36.0L) + 7.0L/480.0L) - 7.0L/240.0L) - 1.0L/560.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/28.0L)*x - 15277305.0L/56.0L) + 14257371.0L/16.0L) - 52942513.0L/32.0L) + 15264483.0L/8.0L) - 44738265.0L/32.0L) + 10153605.0L/16.0L) - 4558653.0L/28.0L) + 5046003.0L/280.0L) - 1.0L/90.0L) + 1.0L/40.0L) + 1.0L/8.0L) - 1.0L/4.0L) - 1.0L/5.0L) + 3.0L/10.0L) + 8.0L/315.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/7.0L*x + 15277305.0L/14.0L) - 14257371.0L/4.0L) + 52942513.0L/8.0L) - 15264483.0L/2.0L) + 44738265.0L/8.0L) - 10153605.0L/4.0L) + 4558653.0L/7.0L) - 5046003.0L/70.0L) + 7.0L/180.0L) - 7.0L/120.0L) - 13.0L/24.0L) + 13.0L/18.0L) + 169.0L/120.0L) - 169.0L/120.0L) - 1.0L/5.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/3.0L)*x - 5092435.0L/2.0L) + 33267199.0L/4.0L) - 370597591.0L/24.0L) + 35617127.0L/2.0L) - 104389285.0L/8.0L) + 23691745.0L/4.0L) - 1519551) + 1682001.0L/10.0L) - 7.0L/90.0L) + 7.0L/120.0L) + 29.0L/24.0L) - 29.0L/36.0L) - 61.0L/15.0L) + 61.0L/30.0L) + 8.0L/5.0L; +poly_val[4] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/2.0L*x + 15277305.0L/4.0L) - 99801597.0L/8.0L) + 370597591.0L/16.0L) - 106851381.0L/4.0L) + 313167855.0L/16.0L) - 71075235.0L/8.0L) + 4558653.0L/2.0L) - 5046003.0L/20.0L) + 7.0L/72.0L) - 25.0L/16.0L) + 91.0L/16.0L) - 205.0L/72.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/2.0L)*x - 15277305.0L/4.0L) + 99801597.0L/8.0L) - 370597591.0L/16.0L) + 106851381.0L/4.0L) - 313167855.0L/16.0L) + 71075235.0L/8.0L) - 4558653.0L/2.0L) + 5046003.0L/20.0L) - 7.0L/90.0L) - 7.0L/120.0L) + 29.0L/24.0L) + 29.0L/36.0L) - 61.0L/15.0L) - 61.0L/30.0L) + 8.0L/5.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/3.0L*x + 5092435.0L/2.0L) - 33267199.0L/4.0L) + 370597591.0L/24.0L) - 35617127.0L/2.0L) + 104389285.0L/8.0L) - 23691745.0L/4.0L) + 1519551) - 1682001.0L/10.0L) + 7.0L/180.0L) + 7.0L/120.0L) - 13.0L/24.0L) - 13.0L/18.0L) + 169.0L/120.0L) + 169.0L/120.0L) - 1.0L/5.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/7.0L)*x - 15277305.0L/14.0L) + 14257371.0L/4.0L) - 52942513.0L/8.0L) + 15264483.0L/2.0L) - 44738265.0L/8.0L) + 10153605.0L/4.0L) - 4558653.0L/7.0L) + 5046003.0L/70.0L) - 1.0L/90.0L) - 1.0L/40.0L) + 1.0L/8.0L) + 1.0L/4.0L) - 1.0L/5.0L) - 3.0L/10.0L) + 8.0L/315.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1018487.0L/28.0L*x + 15277305.0L/56.0L) - 14257371.0L/16.0L) + 52942513.0L/32.0L) - 15264483.0L/8.0L) + 44738265.0L/32.0L) - 10153605.0L/16.0L) + 4558653.0L/28.0L) - 5046003.0L/280.0L) + 1.0L/720.0L) + 1.0L/240.0L) - 1.0L/96.0L) - 1.0L/36.0L) + 7.0L/480.0L) + 7.0L/240.0L) - 1.0L/560.0L; +poly_val[9] = pow(x, 7)*(x*(x*(x*(x*(x*(x*(x*((1018487.0L/252.0L)*x - 5092435.0L/168.0L) + 4752457.0L/48.0L) - 52942513.0L/288.0L) + 5088161.0L/24.0L) - 14912755.0L/96.0L) + 3384535.0L/48.0L) - 506517.0L/28.0L) + 560667.0L/280.0L); +break; +} +} diff --git a/bfps/cpp/spline_n4.hpp b/bfps/cpp/spline_n4.hpp new file mode 100644 index 0000000000000000000000000000000000000000..a3cb59609f07ddf12700839f06b24beba9d44294 --- /dev/null +++ b/bfps/cpp/spline_n4.hpp @@ -0,0 +1,42 @@ +/********************************************************************** +* * +* Copyright 2015 Max Planck Institute * +* for Dynamics and Self-Organization * +* * +* This file is part of bfps. * +* * +* bfps is free software: you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published * +* by the Free Software Foundation, either version 3 of the License, * +* or (at your option) any later version. * +* * +* bfps is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with bfps. If not, see <http://www.gnu.org/licenses/> * +* * +* Contact: Cristian.Lalescu@ds.mpg.de * +* * +**********************************************************************/ + + + +#ifndef SPLINE_N4 + +#define SPLINE_N4 + +void beta_n4_m0(int deriv, double x, double *poly_val); +void beta_n4_m1(int deriv, double x, double *poly_val); +void beta_n4_m2(int deriv, double x, double *poly_val); +void beta_n4_m3(int deriv, double x, double *poly_val); +void beta_n4_m4(int deriv, double x, double *poly_val); +void beta_n4_m5(int deriv, double x, double *poly_val); +void beta_n4_m6(int deriv, double x, double *poly_val); +void beta_n4_m7(int deriv, double x, double *poly_val); +void beta_n4_m8(int deriv, double x, double *poly_val); + +#endif//SPLINE_N4 + diff --git a/bfps/cpp/spline_n5.cpp b/bfps/cpp/spline_n5.cpp new file mode 100644 index 0000000000000000000000000000000000000000..6750dee70ee0952b52efd494367117020113d371 --- /dev/null +++ b/bfps/cpp/spline_n5.cpp @@ -0,0 +1,545 @@ +/********************************************************************** +* * +* Copyright 2015 Max Planck Institute * +* for Dynamics and Self-Organization * +* * +* This file is part of bfps. * +* * +* bfps is free software: you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published * +* by the Free Software Foundation, either version 3 of the License, * +* or (at your option) any later version. * +* * +* bfps is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with bfps. If not, see <http://www.gnu.org/licenses/> * +* * +* Contact: Cristian.Lalescu@ds.mpg.de * +* * +**********************************************************************/ + + + +#include "spline_n5.hpp" +#include <math.h> +void beta_n5_m0(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = 0; +poly_val[5] = -x + 1; +poly_val[6] = x; +poly_val[7] = 0; +poly_val[8] = 0; +poly_val[9] = 0; +poly_val[10] = 0; +poly_val[11] = 0; +break; +case 1: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = 0; +poly_val[5] = -1; +poly_val[6] = 1; +poly_val[7] = 0; +poly_val[8] = 0; +poly_val[9] = 0; +poly_val[10] = 0; +poly_val[11] = 0; +break; +case 2: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = 0; +poly_val[5] = 0; +poly_val[6] = 0; +poly_val[7] = 0; +poly_val[8] = 0; +poly_val[9] = 0; +poly_val[10] = 0; +poly_val[11] = 0; +break; +} +} +void beta_n5_m1(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(-1.0L/1260.0L*x + 1.0L/630.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*((23.0L/2520.0L)*x - 2.0L/105.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(-25.0L/504.0L*x + 55.0L/504.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*((5.0L/28.0L)*x - 5.0L/12.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(-25.0L/42.0L*x + 10.0L/7.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*((7.0L/6.0L)*x - 13.0L/6.0L) + 1; +poly_val[6] = x*(x*(-7.0L/6.0L*x + 4.0L/3.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*((25.0L/42.0L)*x - 5.0L/14.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(-5.0L/28.0L*x + 5.0L/42.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*((25.0L/504.0L)*x - 5.0L/126.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(-23.0L/2520.0L*x + 1.0L/120.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 2)*((1.0L/1260.0L)*x - 1.0L/1260.0L); +break; +case 1: +poly_val[0] = x*(-1.0L/420.0L*x + 1.0L/315.0L) - 1.0L/1260.0L; +poly_val[1] = x*((23.0L/840.0L)*x - 4.0L/105.0L) + 5.0L/504.0L; +poly_val[2] = x*(-25.0L/168.0L*x + 55.0L/252.0L) - 5.0L/84.0L; +poly_val[3] = x*((15.0L/28.0L)*x - 5.0L/6.0L) + 5.0L/21.0L; +poly_val[4] = x*(-25.0L/14.0L*x + 20.0L/7.0L) - 5.0L/6.0L; +poly_val[5] = x*((7.0L/2.0L)*x - 13.0L/3.0L); +poly_val[6] = x*(-7.0L/2.0L*x + 8.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*((25.0L/14.0L)*x - 5.0L/7.0L) - 5.0L/21.0L; +poly_val[8] = x*(-15.0L/28.0L*x + 5.0L/21.0L) + 5.0L/84.0L; +poly_val[9] = x*((25.0L/168.0L)*x - 5.0L/63.0L) - 5.0L/504.0L; +poly_val[10] = x*(-23.0L/840.0L*x + 1.0L/60.0L) + 1.0L/1260.0L; +poly_val[11] = x*((1.0L/420.0L)*x - 1.0L/630.0L); +break; +case 2: +poly_val[0] = -1.0L/210.0L*x + 1.0L/315.0L; +poly_val[1] = (23.0L/420.0L)*x - 4.0L/105.0L; +poly_val[2] = -25.0L/84.0L*x + 55.0L/252.0L; +poly_val[3] = (15.0L/14.0L)*x - 5.0L/6.0L; +poly_val[4] = -25.0L/7.0L*x + 20.0L/7.0L; +poly_val[5] = 7*x - 13.0L/3.0L; +poly_val[6] = -7*x + 8.0L/3.0L; +poly_val[7] = (25.0L/7.0L)*x - 5.0L/7.0L; +poly_val[8] = -15.0L/14.0L*x + 5.0L/21.0L; +poly_val[9] = (25.0L/84.0L)*x - 5.0L/63.0L; +poly_val[10] = -23.0L/420.0L*x + 1.0L/60.0L; +poly_val[11] = (1.0L/210.0L)*x - 1.0L/630.0L; +break; +} +} +void beta_n5_m2(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*((1.0L/450.0L)*x - 37.0L/6300.0L) + 3.0L/700.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(-1247.0L/50400.0L*x + 3329.0L/50400.0L) - 39.0L/800.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*((85.0L/672.0L)*x - 115.0L/336.0L) + 515.0L/2016.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(-25.0L/63.0L*x + 275.0L/252.0L) - 205.0L/252.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*((5.0L/6.0L)*x - 95.0L/42.0L) + 10.0L/7.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(x*(x*(-4331.0L/3600.0L*x + 3731.0L/1200.0L) - 577.0L/400.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*((4331.0L/3600.0L)*x - 5231.0L/1800.0L) + 3731.0L/3600.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(-5.0L/6.0L*x + 40.0L/21.0L) - 5.0L/7.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*((25.0L/63.0L)*x - 25.0L/28.0L) + 5.0L/12.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(-85.0L/672.0L*x + 65.0L/224.0L) - 305.0L/2016.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*((1247.0L/50400.0L)*x - 1453.0L/25200.0L) + 179.0L/5600.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 3)*(x*(-1.0L/450.0L*x + 11.0L/2100.0L) - 19.0L/6300.0L); +break; +case 1: +poly_val[0] = x*(x*(x*((1.0L/90.0L)*x - 37.0L/1575.0L) + 9.0L/700.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(-1247.0L/10080.0L*x + 3329.0L/12600.0L) - 117.0L/800.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*((425.0L/672.0L)*x - 115.0L/84.0L) + 515.0L/672.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(-125.0L/63.0L*x + 275.0L/63.0L) - 205.0L/84.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*((25.0L/6.0L)*x - 190.0L/21.0L) + 30.0L/7.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(x*(x*(-4331.0L/720.0L*x + 3731.0L/300.0L) - 1731.0L/400.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*((4331.0L/720.0L)*x - 5231.0L/450.0L) + 3731.0L/1200.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(-25.0L/6.0L*x + 160.0L/21.0L) - 15.0L/7.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*((125.0L/63.0L)*x - 25.0L/7.0L) + 5.0L/4.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(-425.0L/672.0L*x + 65.0L/56.0L) - 305.0L/672.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*((1247.0L/10080.0L)*x - 1453.0L/6300.0L) + 537.0L/5600.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 2)*(x*(-1.0L/90.0L*x + 11.0L/525.0L) - 19.0L/2100.0L); +break; +case 2: +poly_val[0] = x*(x*((2.0L/45.0L)*x - 37.0L/525.0L) + 9.0L/350.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(-1247.0L/2520.0L*x + 3329.0L/4200.0L) - 117.0L/400.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*((425.0L/168.0L)*x - 115.0L/28.0L) + 515.0L/336.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(-500.0L/63.0L*x + 275.0L/21.0L) - 205.0L/42.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*((50.0L/3.0L)*x - 190.0L/7.0L) + 60.0L/7.0L) + 5.0L/3.0L; +poly_val[5] = x*(x*(-4331.0L/180.0L*x + 3731.0L/100.0L) - 1731.0L/200.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*((4331.0L/180.0L)*x - 5231.0L/150.0L) + 3731.0L/600.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(-50.0L/3.0L*x + 160.0L/7.0L) - 30.0L/7.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*((500.0L/63.0L)*x - 75.0L/7.0L) + 5.0L/2.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(-425.0L/168.0L*x + 195.0L/56.0L) - 305.0L/336.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*((1247.0L/2520.0L)*x - 1453.0L/2100.0L) + 537.0L/2800.0L) + 1.0L/3150.0L; +poly_val[11] = x*(x*(-2.0L/45.0L*x + 11.0L/175.0L) - 19.0L/1050.0L); +break; +} +} +void beta_n5_m3(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(-5599.0L/907200.0L*x + 983.0L/45360.0L) - 779.0L/30240.0L) + 443.0L/45360.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*((61639.0L/907200.0L)*x - 216533.0L/907200.0L) + 28591.0L/100800.0L) - 2759.0L/25920.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(-12343.0L/36288.0L*x + 1291.0L/1080.0L) - 5363.0L/3780.0L) + 23711.0L/45360.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*((61793.0L/60480.0L)*x - 217103.0L/60480.0L) + 85517.0L/20160.0L) - 2599.0L/1728.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(-12371.0L/6048.0L*x + 108541.0L/15120.0L) - 7081.0L/840.0L) + 44003.0L/15120.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(x*(x*((61889.0L/21600.0L)*x - 2891.0L/288.0L) + 16877.0L/1440.0L) - 17641.0L/4320.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(-61889.0L/21600.0L*x + 108199.0L/10800.0L) - 13993.0L/1200.0L) + 9131.0L/2160.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*((12371.0L/6048.0L)*x - 215903.0L/30240.0L) + 27931.0L/3360.0L) - 95269.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(-61793.0L/60480.0L*x + 8977.0L/2520.0L) - 4659.0L/1120.0L) + 175.0L/108.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*((12343.0L/36288.0L)*x - 30731.0L/25920.0L) + 84037.0L/60480.0L) - 98981.0L/181440.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(-61639.0L/907200.0L*x + 10747.0L/45360.0L) - 1403.0L/5040.0L) + 71.0L/648.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 4)*(x*(x*((5599.0L/907200.0L)*x - 6511.0L/302400.0L) + 7663.0L/302400.0L) - 1811.0L/181440.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(-5599.0L/129600.0L*x + 983.0L/7560.0L) - 779.0L/6048.0L) + 443.0L/11340.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*((61639.0L/129600.0L)*x - 216533.0L/151200.0L) + 28591.0L/20160.0L) - 2759.0L/6480.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(-12343.0L/5184.0L*x + 1291.0L/180.0L) - 5363.0L/756.0L) + 23711.0L/11340.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*((61793.0L/8640.0L)*x - 217103.0L/10080.0L) + 85517.0L/4032.0L) - 2599.0L/432.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(-12371.0L/864.0L*x + 108541.0L/2520.0L) - 7081.0L/168.0L) + 44003.0L/3780.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(x*(x*((433223.0L/21600.0L)*x - 2891.0L/48.0L) + 16877.0L/288.0L) - 17641.0L/1080.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(-433223.0L/21600.0L*x + 108199.0L/1800.0L) - 13993.0L/240.0L) + 9131.0L/540.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*((12371.0L/864.0L)*x - 215903.0L/5040.0L) + 27931.0L/672.0L) - 95269.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(-61793.0L/8640.0L*x + 8977.0L/420.0L) - 4659.0L/224.0L) + 175.0L/27.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*((12343.0L/5184.0L)*x - 30731.0L/4320.0L) + 84037.0L/12096.0L) - 98981.0L/45360.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(-61639.0L/129600.0L*x + 10747.0L/7560.0L) - 1403.0L/1008.0L) + 71.0L/162.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 3)*(x*(x*((5599.0L/129600.0L)*x - 6511.0L/50400.0L) + 7663.0L/60480.0L) - 1811.0L/45360.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(-5599.0L/21600.0L*x + 983.0L/1512.0L) - 779.0L/1512.0L) + 443.0L/3780.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*((61639.0L/21600.0L)*x - 216533.0L/30240.0L) + 28591.0L/5040.0L) - 2759.0L/2160.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(-12343.0L/864.0L*x + 1291.0L/36.0L) - 5363.0L/189.0L) + 23711.0L/3780.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*((61793.0L/1440.0L)*x - 217103.0L/2016.0L) + 85517.0L/1008.0L) - 2599.0L/144.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(-12371.0L/144.0L*x + 108541.0L/504.0L) - 7081.0L/42.0L) + 44003.0L/1260.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(x*(x*((433223.0L/3600.0L)*x - 14455.0L/48.0L) + 16877.0L/72.0L) - 17641.0L/360.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(-433223.0L/3600.0L*x + 108199.0L/360.0L) - 13993.0L/60.0L) + 9131.0L/180.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*((12371.0L/144.0L)*x - 215903.0L/1008.0L) + 27931.0L/168.0L) - 95269.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(-61793.0L/1440.0L*x + 8977.0L/84.0L) - 4659.0L/56.0L) + 175.0L/9.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*((12343.0L/864.0L)*x - 30731.0L/864.0L) + 84037.0L/3024.0L) - 98981.0L/15120.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(-61639.0L/21600.0L*x + 10747.0L/1512.0L) - 1403.0L/252.0L) + 71.0L/54.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 2)*(x*(x*((5599.0L/21600.0L)*x - 6511.0L/10080.0L) + 7663.0L/15120.0L) - 1811.0L/15120.0L); +break; +} +} +void beta_n5_m4(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*((151.0L/7560.0L)*x - 16309.0L/181440.0L) + 139381.0L/907200.0L) - 10721.0L/90720.0L) + 443.0L/12960.0L) - 41.0L/181440.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(-79729.0L/362880.0L*x + 13289.0L/13440.0L) - 766583.0L/453600.0L) + 589531.0L/453600.0L) - 227249.0L/604800.0L) + 1261.0L/362880.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*((132883.0L/120960.0L)*x - 897011.0L/181440.0L) + 18251.0L/2160.0L) - 877.0L/135.0L) + 136301.0L/72576.0L) - 541.0L/20160.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(-33221.0L/10080.0L*x + 897007.0L/60480.0L) - 306595.0L/12096.0L) + 1178419.0L/60480.0L) - 341587.0L/60480.0L) + 4369.0L/30240.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*((199327.0L/30240.0L)*x - 298999.0L/10080.0L) + 1532863.0L/30240.0L) - 29459.0L/756.0L) + 114389.0L/10080.0L) - 1669.0L/4320.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(-2953.0L/320.0L*x + 358793.0L/8640.0L) - 255461.0L/3600.0L) + 9821.0L/180.0L) - 27589.0L/1728.0L) + 1529.0L/2880.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*((2953.0L/320.0L)*x - 179393.0L/4320.0L) + 191587.0L/2700.0L) - 589421.0L/10800.0L) + 692147.0L/43200.0L) - 1669.0L/4320.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(-199327.0L/30240.0L*x + 149491.0L/5040.0L) - 1532659.0L/30240.0L) + 1179233.0L/30240.0L) - 275.0L/24.0L) + 4369.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*((33221.0L/10080.0L)*x - 896927.0L/60480.0L) + 11353.0L/448.0L) - 65533.0L/3360.0L) + 43279.0L/7560.0L) - 541.0L/20160.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(-132883.0L/120960.0L*x + 1793819.0L/362880.0L) - 109477.0L/12960.0L) + 16855.0L/2592.0L) - 691319.0L/362880.0L) + 1261.0L/362880.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*((79729.0L/362880.0L)*x - 19931.0L/20160.0L) + 383179.0L/226800.0L) - 58999.0L/45360.0L) + 46027.0L/120960.0L) - 41.0L/181440.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 5)*(x*(x*(x*(-151.0L/7560.0L*x + 16307.0L/181440.0L) - 46447.0L/302400.0L) + 35759.0L/302400.0L) - 31351.0L/907200.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*((151.0L/840.0L)*x - 16309.0L/22680.0L) + 139381.0L/129600.0L) - 10721.0L/15120.0L) + 443.0L/2592.0L) - 41.0L/45360.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(-79729.0L/40320.0L*x + 13289.0L/1680.0L) - 766583.0L/64800.0L) + 589531.0L/75600.0L) - 227249.0L/120960.0L) + 1261.0L/90720.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*((132883.0L/13440.0L)*x - 897011.0L/22680.0L) + 127757.0L/2160.0L) - 1754.0L/45.0L) + 681505.0L/72576.0L) - 541.0L/5040.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(-33221.0L/1120.0L*x + 897007.0L/7560.0L) - 306595.0L/1728.0L) + 1178419.0L/10080.0L) - 341587.0L/12096.0L) + 4369.0L/7560.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*((199327.0L/3360.0L)*x - 298999.0L/1260.0L) + 1532863.0L/4320.0L) - 29459.0L/126.0L) + 114389.0L/2016.0L) - 1669.0L/1080.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(x*(x*(x*(x*(-26577.0L/320.0L*x + 358793.0L/1080.0L) - 1788227.0L/3600.0L) + 9821.0L/30.0L) - 137945.0L/1728.0L) + 1529.0L/720.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*((26577.0L/320.0L)*x - 179393.0L/540.0L) + 1341109.0L/2700.0L) - 589421.0L/1800.0L) + 692147.0L/8640.0L) - 1669.0L/1080.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(-199327.0L/3360.0L*x + 149491.0L/630.0L) - 1532659.0L/4320.0L) + 1179233.0L/5040.0L) - 1375.0L/24.0L) + 4369.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*((33221.0L/1120.0L)*x - 896927.0L/7560.0L) + 11353.0L/64.0L) - 65533.0L/560.0L) + 43279.0L/1512.0L) - 541.0L/5040.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(-132883.0L/13440.0L*x + 1793819.0L/45360.0L) - 766339.0L/12960.0L) + 16855.0L/432.0L) - 691319.0L/72576.0L) + 1261.0L/90720.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*((79729.0L/40320.0L)*x - 19931.0L/2520.0L) + 383179.0L/32400.0L) - 58999.0L/7560.0L) + 46027.0L/24192.0L) - 41.0L/45360.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 4)*(x*(x*(x*(-151.0L/840.0L*x + 16307.0L/22680.0L) - 46447.0L/43200.0L) + 35759.0L/50400.0L) - 31351.0L/181440.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*((151.0L/105.0L)*x - 16309.0L/3240.0L) + 139381.0L/21600.0L) - 10721.0L/3024.0L) + 443.0L/648.0L) - 41.0L/15120.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(-79729.0L/5040.0L*x + 13289.0L/240.0L) - 766583.0L/10800.0L) + 589531.0L/15120.0L) - 227249.0L/30240.0L) + 1261.0L/30240.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*((132883.0L/1680.0L)*x - 897011.0L/3240.0L) + 127757.0L/360.0L) - 1754.0L/9.0L) + 681505.0L/18144.0L) - 541.0L/1680.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(-33221.0L/140.0L*x + 897007.0L/1080.0L) - 306595.0L/288.0L) + 1178419.0L/2016.0L) - 341587.0L/3024.0L) + 4369.0L/2520.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*((199327.0L/420.0L)*x - 298999.0L/180.0L) + 1532863.0L/720.0L) - 147295.0L/126.0L) + 114389.0L/504.0L) - 1669.0L/360.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(x*(x*(x*(x*(-26577.0L/40.0L*x + 2511551.0L/1080.0L) - 1788227.0L/600.0L) + 9821.0L/6.0L) - 137945.0L/432.0L) + 1529.0L/240.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*((26577.0L/40.0L)*x - 1255751.0L/540.0L) + 1341109.0L/450.0L) - 589421.0L/360.0L) + 692147.0L/2160.0L) - 1669.0L/360.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(-199327.0L/420.0L*x + 149491.0L/90.0L) - 1532659.0L/720.0L) + 1179233.0L/1008.0L) - 1375.0L/6.0L) + 4369.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*((33221.0L/140.0L)*x - 896927.0L/1080.0L) + 34059.0L/32.0L) - 65533.0L/112.0L) + 43279.0L/378.0L) - 541.0L/1680.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(-132883.0L/1680.0L*x + 1793819.0L/6480.0L) - 766339.0L/2160.0L) + 84275.0L/432.0L) - 691319.0L/18144.0L) + 1261.0L/30240.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*((79729.0L/5040.0L)*x - 19931.0L/360.0L) + 383179.0L/5400.0L) - 58999.0L/1512.0L) + 46027.0L/6048.0L) - 41.0L/15120.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 3)*(x*(x*(x*(-151.0L/105.0L*x + 16307.0L/3240.0L) - 46447.0L/7200.0L) + 35759.0L/10080.0L) - 31351.0L/45360.0L); +break; +} +} +void beta_n5_m5(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-83603.0L/1209600.0L*x + 27589.0L/72576.0L) - 612527.0L/725760.0L) + 28633.0L/30240.0L) - 278653.0L/518400.0L) + 32071.0L/259200.0L) - 13.0L/34560.0L) - 41.0L/181440.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((919633.0L/1209600.0L)*x - 722569.0L/172800.0L) + 481271.0L/51840.0L) - 41995.0L/4032.0L) + 21456371.0L/3628800.0L) - 705703.0L/518400.0L) + 19.0L/4320.0L) + 1261.0L/362880.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-919633.0L/241920.0L*x + 3793487.0L/181440.0L) - 33688957.0L/725760.0L) + 3149623.0L/60480.0L) - 21456689.0L/725760.0L) + 176479.0L/25920.0L) - 29.0L/1280.0L) - 541.0L/20160.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((919633.0L/80640.0L)*x - 15173947.0L/241920.0L) + 16844473.0L/120960.0L) - 2099749.0L/13440.0L) + 4291423.0L/48384.0L) - 706069.0L/34560.0L) + 13.0L/240.0L) + 4369.0L/30240.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-919633.0L/40320.0L*x + 280999.0L/2240.0L) - 33688937.0L/120960.0L) + 1574813.0L/5040.0L) - 21457553.0L/120960.0L) + 353051.0L/8640.0L) - 323.0L/5760.0L) - 1669.0L/4320.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((919633.0L/28800.0L)*x - 3034789.0L/17280.0L) + 3368893.0L/8640.0L) - 314963.0L/720.0L) + 21457931.0L/86400.0L) - 4942069.0L/86400.0L) + 1529.0L/2880.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-919633.0L/28800.0L*x + 1896743.0L/10800.0L) - 1347557.0L/3456.0L) + 629927.0L/1440.0L) - 21458201.0L/86400.0L) + 617597.0L/10800.0L) + 323.0L/5760.0L) - 1669.0L/4320.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((919633.0L/40320.0L)*x - 5057981.0L/40320.0L) + 16844461.0L/60480.0L) - 6299281.0L/20160.0L) + 3065477.0L/17280.0L) - 705601.0L/17280.0L) - 13.0L/240.0L) + 4369.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-919633.0L/80640.0L*x + 1083853.0L/17280.0L) - 4812703.0L/34560.0L) + 524941.0L/3360.0L) - 4291669.0L/48384.0L) + 352697.0L/17280.0L) + 29.0L/1280.0L) - 541.0L/20160.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((919633.0L/241920.0L)*x - 15173941.0L/725760.0L) + 16844461.0L/362880.0L) - 3149651.0L/60480.0L) + 21458243.0L/725760.0L) - 705247.0L/103680.0L) - 19.0L/4320.0L) + 1261.0L/362880.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-919633.0L/1209600.0L*x + 252899.0L/60480.0L) - 1347557.0L/145152.0L) + 209977.0L/20160.0L) - 21458081.0L/3628800.0L) + 176293.0L/129600.0L) + 13.0L/34560.0L) - 41.0L/181440.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 6)*(x*(x*(x*(x*((83603.0L/1209600.0L)*x - 1379449.0L/3628800.0L) + 306263.0L/362880.0L) - 114533.0L/120960.0L) + 1950721.0L/3628800.0L) - 64103.0L/518400.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-919633.0L/1209600.0L*x + 137945.0L/36288.0L) - 612527.0L/80640.0L) + 28633.0L/3780.0L) - 1950571.0L/518400.0L) + 32071.0L/43200.0L) - 13.0L/6912.0L) - 41.0L/45360.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/1209600.0L)*x - 722569.0L/17280.0L) + 481271.0L/5760.0L) - 41995.0L/504.0L) + 21456371.0L/518400.0L) - 705703.0L/86400.0L) + 19.0L/864.0L) + 1261.0L/90720.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/241920.0L*x + 3793487.0L/18144.0L) - 33688957.0L/80640.0L) + 3149623.0L/7560.0L) - 21456689.0L/103680.0L) + 176479.0L/4320.0L) - 29.0L/256.0L) - 541.0L/5040.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/80640.0L)*x - 15173947.0L/24192.0L) + 16844473.0L/13440.0L) - 2099749.0L/1680.0L) + 4291423.0L/6912.0L) - 706069.0L/5760.0L) + 13.0L/48.0L) + 4369.0L/7560.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/40320.0L*x + 280999.0L/224.0L) - 33688937.0L/13440.0L) + 1574813.0L/630.0L) - 21457553.0L/17280.0L) + 353051.0L/1440.0L) - 323.0L/1152.0L) - 1669.0L/1080.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((10115963.0L/28800.0L)*x - 3034789.0L/1728.0L) + 3368893.0L/960.0L) - 314963.0L/90.0L) + 150205517.0L/86400.0L) - 4942069.0L/14400.0L) + 1529.0L/720.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/28800.0L*x + 1896743.0L/1080.0L) - 1347557.0L/384.0L) + 629927.0L/180.0L) - 150207407.0L/86400.0L) + 617597.0L/1800.0L) + 323.0L/1152.0L) - 1669.0L/1080.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/40320.0L)*x - 5057981.0L/4032.0L) + 16844461.0L/6720.0L) - 6299281.0L/2520.0L) + 21458339.0L/17280.0L) - 705601.0L/2880.0L) - 13.0L/48.0L) + 4369.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/80640.0L*x + 1083853.0L/1728.0L) - 4812703.0L/3840.0L) + 524941.0L/420.0L) - 4291669.0L/6912.0L) + 352697.0L/2880.0L) + 29.0L/256.0L) - 541.0L/5040.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/241920.0L)*x - 15173941.0L/72576.0L) + 16844461.0L/40320.0L) - 3149651.0L/7560.0L) + 21458243.0L/103680.0L) - 705247.0L/17280.0L) - 19.0L/864.0L) + 1261.0L/90720.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/1209600.0L*x + 252899.0L/6048.0L) - 1347557.0L/16128.0L) + 209977.0L/2520.0L) - 21458081.0L/518400.0L) + 176293.0L/21600.0L) + 13.0L/6912.0L) - 41.0L/45360.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 5)*(x*(x*(x*(x*((919633.0L/1209600.0L)*x - 1379449.0L/362880.0L) + 306263.0L/40320.0L) - 114533.0L/15120.0L) + 1950721.0L/518400.0L) - 64103.0L/86400.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(-919633.0L/120960.0L*x + 137945.0L/4032.0L) - 612527.0L/10080.0L) + 28633.0L/540.0L) - 1950571.0L/86400.0L) + 32071.0L/8640.0L) - 13.0L/1728.0L) - 41.0L/15120.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/120960.0L)*x - 722569.0L/1920.0L) + 481271.0L/720.0L) - 41995.0L/72.0L) + 21456371.0L/86400.0L) - 705703.0L/17280.0L) + 19.0L/216.0L) + 1261.0L/30240.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/24192.0L*x + 3793487.0L/2016.0L) - 33688957.0L/10080.0L) + 3149623.0L/1080.0L) - 21456689.0L/17280.0L) + 176479.0L/864.0L) - 29.0L/64.0L) - 541.0L/1680.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/8064.0L)*x - 15173947.0L/2688.0L) + 16844473.0L/1680.0L) - 2099749.0L/240.0L) + 4291423.0L/1152.0L) - 706069.0L/1152.0L) + 13.0L/12.0L) + 4369.0L/2520.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/4032.0L*x + 2528991.0L/224.0L) - 33688937.0L/1680.0L) + 1574813.0L/90.0L) - 21457553.0L/2880.0L) + 353051.0L/288.0L) - 323.0L/288.0L) - 1669.0L/360.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((10115963.0L/2880.0L)*x - 3034789.0L/192.0L) + 3368893.0L/120.0L) - 2204741.0L/90.0L) + 150205517.0L/14400.0L) - 4942069.0L/2880.0L) + 1529.0L/240.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/2880.0L*x + 1896743.0L/120.0L) - 1347557.0L/48.0L) + 4409489.0L/180.0L) - 150207407.0L/14400.0L) + 617597.0L/360.0L) + 323.0L/288.0L) - 1669.0L/360.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/4032.0L)*x - 5057981.0L/448.0L) + 16844461.0L/840.0L) - 6299281.0L/360.0L) + 21458339.0L/2880.0L) - 705601.0L/576.0L) - 13.0L/12.0L) + 4369.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/8064.0L*x + 1083853.0L/192.0L) - 4812703.0L/480.0L) + 524941.0L/60.0L) - 4291669.0L/1152.0L) + 352697.0L/576.0L) + 29.0L/64.0L) - 541.0L/1680.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*((10115963.0L/24192.0L)*x - 15173941.0L/8064.0L) + 16844461.0L/5040.0L) - 3149651.0L/1080.0L) + 21458243.0L/17280.0L) - 705247.0L/3456.0L) - 19.0L/216.0L) + 1261.0L/30240.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(-10115963.0L/120960.0L*x + 252899.0L/672.0L) - 1347557.0L/2016.0L) + 209977.0L/360.0L) - 21458081.0L/86400.0L) + 176293.0L/4320.0L) + 13.0L/1728.0L) - 41.0L/15120.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 4)*(x*(x*(x*(x*((919633.0L/120960.0L)*x - 1379449.0L/40320.0L) + 306263.0L/5040.0L) - 114533.0L/2160.0L) + 1950721.0L/86400.0L) - 64103.0L/17280.0L); +break; +} +} +void beta_n5_m6(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((64103.0L/259200.0L)*x - 833339.0L/518400.0L) + 5301049.0L/1209600.0L) - 1553347.0L/241920.0L) + 1291561.0L/241920.0L) - 2893169.0L/1209600.0L) + 2891.0L/6400.0L) + 13.0L/172800.0L) - 13.0L/34560.0L) - 41.0L/181440.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-705133.0L/259200.0L*x + 9166729.0L/518400.0L) - 58311539.0L/1209600.0L) + 2288413.0L/32400.0L) - 169133.0L/2880.0L) + 10608293.0L/403200.0L) - 2003453.0L/403200.0L) - 19.0L/17280.0L) + 19.0L/4320.0L) + 1261.0L/362880.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((705133.0L/51840.0L)*x - 9166729.0L/103680.0L) + 58311539.0L/241920.0L) - 256302257.0L/725760.0L) + 213107593.0L/725760.0L) - 31824887.0L/241920.0L) + 6010253.0L/241920.0L) + 29.0L/3840.0L) - 29.0L/1280.0L) - 541.0L/20160.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-705133.0L/17280.0L*x + 9166729.0L/34560.0L) - 58311539.0L/80640.0L) + 42717043.0L/40320.0L) - 17758967.0L/20160.0L) + 2121659.0L/5376.0L) - 6010111.0L/80640.0L) - 13.0L/480.0L) + 13.0L/240.0L) + 4369.0L/30240.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((705133.0L/8640.0L)*x - 9166729.0L/17280.0L) + 58311539.0L/40320.0L) - 256302259.0L/120960.0L) + 71035871.0L/40320.0L) - 6364975.0L/8064.0L) + 1201993.0L/8064.0L) + 323.0L/5760.0L) - 323.0L/5760.0L) - 1669.0L/4320.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-4935931.0L/43200.0L*x + 64167103.0L/86400.0L) - 58311539.0L/28800.0L) + 12815113.0L/4320.0L) - 10655381.0L/4320.0L) + 31824859.0L/28800.0L) - 6009839.0L/28800.0L) - 341.0L/4800.0L) + 1529.0L/2880.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((4935931.0L/43200.0L)*x - 64167103.0L/86400.0L) + 58311539.0L/28800.0L) - 28478029.0L/9600.0L) + 315715.0L/128.0L) - 31824839.0L/28800.0L) + 6009749.0L/28800.0L) + 323.0L/5760.0L) + 323.0L/5760.0L) - 1669.0L/4320.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-705133.0L/8640.0L*x + 9166729.0L/17280.0L) - 58311539.0L/40320.0L) + 128151131.0L/60480.0L) - 17758969.0L/10080.0L) + 31824817.0L/40320.0L) - 858529.0L/5760.0L) - 13.0L/480.0L) - 13.0L/240.0L) + 4369.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((705133.0L/17280.0L)*x - 9166729.0L/34560.0L) + 58311539.0L/80640.0L) - 36614609.0L/34560.0L) + 30443947.0L/34560.0L) - 2121653.0L/5376.0L) + 6009701.0L/80640.0L) + 29.0L/3840.0L) + 29.0L/1280.0L) - 541.0L/20160.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-705133.0L/51840.0L*x + 9166729.0L/103680.0L) - 58311539.0L/241920.0L) + 10679261.0L/30240.0L) - 17758969.0L/60480.0L) + 6364955.0L/48384.0L) - 400649.0L/16128.0L) - 19.0L/17280.0L) - 19.0L/4320.0L) + 1261.0L/362880.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((705133.0L/259200.0L)*x - 9166729.0L/518400.0L) + 58311539.0L/1209600.0L) - 51260453.0L/725760.0L) + 315715.0L/5376.0L) - 10608253.0L/403200.0L) + 2003263.0L/403200.0L) + 13.0L/172800.0L) + 13.0L/34560.0L) - 41.0L/181440.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 7)*(x*(x*(x*(x*(x*(-64103.0L/259200.0L*x + 833339.0L/518400.0L) - 5301049.0L/1209600.0L) + 11650103.0L/1814400.0L) - 968671.0L/181440.0L) + 2893159.0L/1209600.0L) - 546349.0L/1209600.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((833339.0L/259200.0L)*x - 833339.0L/43200.0L) + 58311539.0L/1209600.0L) - 1553347.0L/24192.0L) + 1291561.0L/26880.0L) - 2893169.0L/151200.0L) + 20237.0L/6400.0L) + 13.0L/28800.0L) - 13.0L/6912.0L) - 41.0L/45360.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/259200.0L*x + 9166729.0L/43200.0L) - 641426929.0L/1209600.0L) + 2288413.0L/3240.0L) - 169133.0L/320.0L) + 10608293.0L/50400.0L) - 2003453.0L/57600.0L) - 19.0L/2880.0L) + 19.0L/864.0L) + 1261.0L/90720.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/51840.0L)*x - 9166729.0L/8640.0L) + 641426929.0L/241920.0L) - 256302257.0L/72576.0L) + 213107593.0L/80640.0L) - 31824887.0L/30240.0L) + 6010253.0L/34560.0L) + 29.0L/640.0L) - 29.0L/256.0L) - 541.0L/5040.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/17280.0L*x + 9166729.0L/2880.0L) - 641426929.0L/80640.0L) + 42717043.0L/4032.0L) - 17758967.0L/2240.0L) + 2121659.0L/672.0L) - 6010111.0L/11520.0L) - 13.0L/80.0L) + 13.0L/48.0L) + 4369.0L/7560.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/8640.0L)*x - 9166729.0L/1440.0L) + 641426929.0L/40320.0L) - 256302259.0L/12096.0L) + 71035871.0L/4480.0L) - 6364975.0L/1008.0L) + 1201993.0L/1152.0L) + 323.0L/960.0L) - 323.0L/1152.0L) - 1669.0L/1080.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-64167103.0L/43200.0L*x + 64167103.0L/7200.0L) - 641426929.0L/28800.0L) + 12815113.0L/432.0L) - 10655381.0L/480.0L) + 31824859.0L/3600.0L) - 42068873.0L/28800.0L) - 341.0L/800.0L) + 1529.0L/720.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((64167103.0L/43200.0L)*x - 64167103.0L/7200.0L) + 641426929.0L/28800.0L) - 28478029.0L/960.0L) + 2841435.0L/128.0L) - 31824839.0L/3600.0L) + 42068243.0L/28800.0L) + 323.0L/960.0L) + 323.0L/1152.0L) - 1669.0L/1080.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/8640.0L*x + 9166729.0L/1440.0L) - 641426929.0L/40320.0L) + 128151131.0L/6048.0L) - 17758969.0L/1120.0L) + 31824817.0L/5040.0L) - 6009703.0L/5760.0L) - 13.0L/80.0L) - 13.0L/48.0L) + 4369.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/17280.0L)*x - 9166729.0L/2880.0L) + 641426929.0L/80640.0L) - 36614609.0L/3456.0L) + 30443947.0L/3840.0L) - 2121653.0L/672.0L) + 6009701.0L/11520.0L) + 29.0L/640.0L) + 29.0L/256.0L) - 541.0L/5040.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/51840.0L*x + 9166729.0L/8640.0L) - 641426929.0L/241920.0L) + 10679261.0L/3024.0L) - 17758969.0L/6720.0L) + 6364955.0L/6048.0L) - 400649.0L/2304.0L) - 19.0L/2880.0L) - 19.0L/864.0L) + 1261.0L/90720.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/259200.0L)*x - 9166729.0L/43200.0L) + 641426929.0L/1209600.0L) - 51260453.0L/72576.0L) + 947145.0L/1792.0L) - 10608253.0L/50400.0L) + 2003263.0L/57600.0L) + 13.0L/28800.0L) + 13.0L/6912.0L) - 41.0L/45360.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 6)*(x*(x*(x*(x*(x*(-833339.0L/259200.0L*x + 833339.0L/43200.0L) - 58311539.0L/1209600.0L) + 11650103.0L/181440.0L) - 968671.0L/20160.0L) + 2893159.0L/151200.0L) - 546349.0L/172800.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((833339.0L/21600.0L)*x - 9166729.0L/43200.0L) + 58311539.0L/120960.0L) - 1553347.0L/2688.0L) + 1291561.0L/3360.0L) - 2893169.0L/21600.0L) + 60711.0L/3200.0L) + 13.0L/5760.0L) - 13.0L/1728.0L) - 41.0L/15120.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/21600.0L*x + 100834019.0L/43200.0L) - 641426929.0L/120960.0L) + 2288413.0L/360.0L) - 169133.0L/40.0L) + 10608293.0L/7200.0L) - 2003453.0L/9600.0L) - 19.0L/576.0L) + 19.0L/216.0L) + 1261.0L/30240.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/4320.0L)*x - 100834019.0L/8640.0L) + 641426929.0L/24192.0L) - 256302257.0L/8064.0L) + 213107593.0L/10080.0L) - 31824887.0L/4320.0L) + 6010253.0L/5760.0L) + 29.0L/128.0L) - 29.0L/64.0L) - 541.0L/1680.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/1440.0L*x + 100834019.0L/2880.0L) - 641426929.0L/8064.0L) + 42717043.0L/448.0L) - 17758967.0L/280.0L) + 2121659.0L/96.0L) - 6010111.0L/1920.0L) - 13.0L/16.0L) + 13.0L/12.0L) + 4369.0L/2520.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/720.0L)*x - 100834019.0L/1440.0L) + 641426929.0L/4032.0L) - 256302259.0L/1344.0L) + 71035871.0L/560.0L) - 6364975.0L/144.0L) + 1201993.0L/192.0L) + 323.0L/192.0L) - 323.0L/288.0L) - 1669.0L/360.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-64167103.0L/3600.0L*x + 705838133.0L/7200.0L) - 641426929.0L/2880.0L) + 12815113.0L/48.0L) - 10655381.0L/60.0L) + 222774013.0L/3600.0L) - 42068873.0L/4800.0L) - 341.0L/160.0L) + 1529.0L/240.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((64167103.0L/3600.0L)*x - 705838133.0L/7200.0L) + 641426929.0L/2880.0L) - 85434087.0L/320.0L) + 2841435.0L/16.0L) - 222773873.0L/3600.0L) + 42068243.0L/4800.0L) + 323.0L/192.0L) + 323.0L/288.0L) - 1669.0L/360.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/720.0L*x + 100834019.0L/1440.0L) - 641426929.0L/4032.0L) + 128151131.0L/672.0L) - 17758969.0L/140.0L) + 31824817.0L/720.0L) - 6009703.0L/960.0L) - 13.0L/16.0L) - 13.0L/12.0L) + 4369.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/1440.0L)*x - 100834019.0L/2880.0L) + 641426929.0L/8064.0L) - 36614609.0L/384.0L) + 30443947.0L/480.0L) - 2121653.0L/96.0L) + 6009701.0L/1920.0L) + 29.0L/128.0L) + 29.0L/64.0L) - 541.0L/1680.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9166729.0L/4320.0L*x + 100834019.0L/8640.0L) - 641426929.0L/24192.0L) + 10679261.0L/336.0L) - 17758969.0L/840.0L) + 6364955.0L/864.0L) - 400649.0L/384.0L) - 19.0L/576.0L) - 19.0L/216.0L) + 1261.0L/30240.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9166729.0L/21600.0L)*x - 100834019.0L/43200.0L) + 641426929.0L/120960.0L) - 51260453.0L/8064.0L) + 947145.0L/224.0L) - 10608253.0L/7200.0L) + 2003263.0L/9600.0L) + 13.0L/5760.0L) + 13.0L/1728.0L) - 41.0L/15120.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 5)*(x*(x*(x*(x*(x*(-833339.0L/21600.0L*x + 9166729.0L/43200.0L) - 58311539.0L/120960.0L) + 11650103.0L/20160.0L) - 968671.0L/2520.0L) + 2893159.0L/21600.0L) - 546349.0L/28800.0L); +break; +} +} +void beta_n5_m7(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-546349.0L/604800.0L*x + 546349.0L/80640.0L) - 11345123.0L/518400.0L) + 639821.0L/16200.0L) - 13016399.0L/302400.0L) + 5717023.0L/201600.0L) - 422147.0L/40320.0L) + 505993.0L/302400.0L) + 1.0L/24192.0L) + 13.0L/172800.0L) - 13.0L/34560.0L) - 41.0L/181440.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/604800.0L)*x - 6009839.0L/80640.0L) + 124796353.0L/518400.0L) - 7038031.0L/16200.0L) + 143180389.0L/302400.0L) - 161710079.0L/518400.0L) + 3980243.0L/34560.0L) - 927653.0L/50400.0L) - 13.0L/30240.0L) - 19.0L/17280.0L) + 19.0L/4320.0L) + 1261.0L/362880.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/120960.0L*x + 6009839.0L/16128.0L) - 124796353.0L/103680.0L) + 7038031.0L/3240.0L) - 143180389.0L/60480.0L) + 141496319.0L/90720.0L) - 208962751.0L/362880.0L) + 1391479.0L/15120.0L) + 23.0L/13440.0L) + 29.0L/3840.0L) - 29.0L/1280.0L) - 541.0L/20160.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/40320.0L)*x - 6009839.0L/5376.0L) + 124796353.0L/34560.0L) - 7038031.0L/1080.0L) + 143180389.0L/20160.0L) - 377323517.0L/80640.0L) + 139308497.0L/80640.0L) - 3710611.0L/13440.0L) - 17.0L/5040.0L) - 13.0L/480.0L) + 13.0L/240.0L) + 4369.0L/30240.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/20160.0L*x + 6009839.0L/2688.0L) - 124796353.0L/17280.0L) + 7038031.0L/540.0L) - 143180389.0L/10080.0L) + 113197055.0L/12096.0L) - 69654247.0L/20160.0L) + 5565919.0L/10080.0L) + 1.0L/320.0L) + 323.0L/5760.0L) - 323.0L/5760.0L) - 1669.0L/4320.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((6009839.0L/14400.0L)*x - 6009839.0L/1920.0L) + 873574471.0L/86400.0L) - 49266217.0L/2700.0L) + 143180389.0L/7200.0L) - 1131970549.0L/86400.0L) + 16717019.0L/3456.0L) - 5565923.0L/7200.0L) - 341.0L/4800.0L) + 1529.0L/2880.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/14400.0L*x + 6009839.0L/1920.0L) - 873574471.0L/86400.0L) + 49266217.0L/2700.0L) - 143180389.0L/7200.0L) + 94330879.0L/7200.0L) - 13930849.0L/2880.0L) + 695741.0L/900.0L) - 1.0L/320.0L) + 323.0L/5760.0L) + 323.0L/5760.0L) - 1669.0L/4320.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/20160.0L)*x - 6009839.0L/2688.0L) + 124796353.0L/17280.0L) - 7038031.0L/540.0L) + 143180389.0L/10080.0L) - 1131970547.0L/120960.0L) + 15478721.0L/4480.0L) - 11131867.0L/20160.0L) + 17.0L/5040.0L) - 13.0L/480.0L) - 13.0L/240.0L) + 4369.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/40320.0L*x + 6009839.0L/5376.0L) - 124796353.0L/34560.0L) + 7038031.0L/1080.0L) - 143180389.0L/20160.0L) + 80855039.0L/17280.0L) - 29851819.0L/17280.0L) + 1855313.0L/6720.0L) - 23.0L/13440.0L) + 29.0L/3840.0L) + 29.0L/1280.0L) - 541.0L/20160.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/120960.0L)*x - 6009839.0L/16128.0L) + 124796353.0L/103680.0L) - 7038031.0L/3240.0L) + 143180389.0L/60480.0L) - 2794989.0L/1792.0L) + 15478721.0L/26880.0L) - 695743.0L/7560.0L) + 13.0L/30240.0L) - 19.0L/17280.0L) - 19.0L/4320.0L) + 1261.0L/362880.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/604800.0L*x + 6009839.0L/80640.0L) - 124796353.0L/518400.0L) + 7038031.0L/16200.0L) - 143180389.0L/302400.0L) + 70748159.0L/226800.0L) - 13930849.0L/120960.0L) + 463829.0L/25200.0L) - 1.0L/24192.0L) + 13.0L/172800.0L) + 13.0L/34560.0L) - 41.0L/181440.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 8)*(x*(x*(x*(x*(x*(x*((546349.0L/604800.0L)*x - 546349.0L/80640.0L) + 11345123.0L/518400.0L) - 639821.0L/16200.0L) + 13016399.0L/302400.0L) - 102906413.0L/3628800.0L) + 1519729.0L/145152.0L) - 1011991.0L/604800.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-546349.0L/40320.0L*x + 546349.0L/5760.0L) - 147486599.0L/518400.0L) + 639821.0L/1350.0L) - 143180389.0L/302400.0L) + 5717023.0L/20160.0L) - 422147.0L/4480.0L) + 505993.0L/37800.0L) + 1.0L/3456.0L) + 13.0L/28800.0L) - 13.0L/6912.0L) - 41.0L/45360.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/40320.0L)*x - 6009839.0L/5760.0L) + 1622352589.0L/518400.0L) - 7038031.0L/1350.0L) + 1574984279.0L/302400.0L) - 161710079.0L/51840.0L) + 3980243.0L/3840.0L) - 927653.0L/6300.0L) - 13.0L/4320.0L) - 19.0L/2880.0L) + 19.0L/864.0L) + 1261.0L/90720.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/8064.0L*x + 6009839.0L/1152.0L) - 1622352589.0L/103680.0L) + 7038031.0L/270.0L) - 1574984279.0L/60480.0L) + 141496319.0L/9072.0L) - 208962751.0L/40320.0L) + 1391479.0L/1890.0L) + 23.0L/1920.0L) + 29.0L/640.0L) - 29.0L/256.0L) - 541.0L/5040.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/2688.0L)*x - 6009839.0L/384.0L) + 1622352589.0L/34560.0L) - 7038031.0L/90.0L) + 1574984279.0L/20160.0L) - 377323517.0L/8064.0L) + 139308497.0L/8960.0L) - 3710611.0L/1680.0L) - 17.0L/720.0L) - 13.0L/80.0L) + 13.0L/48.0L) + 4369.0L/7560.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/1344.0L*x + 6009839.0L/192.0L) - 1622352589.0L/17280.0L) + 7038031.0L/45.0L) - 1574984279.0L/10080.0L) + 565985275.0L/6048.0L) - 69654247.0L/2240.0L) + 5565919.0L/1260.0L) + 7.0L/320.0L) + 323.0L/960.0L) - 323.0L/1152.0L) - 1669.0L/1080.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((6009839.0L/960.0L)*x - 42068873.0L/960.0L) + 11356468123.0L/86400.0L) - 49266217.0L/225.0L) + 1574984279.0L/7200.0L) - 1131970549.0L/8640.0L) + 16717019.0L/384.0L) - 5565923.0L/900.0L) - 341.0L/800.0L) + 1529.0L/720.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/960.0L*x + 42068873.0L/960.0L) - 11356468123.0L/86400.0L) + 49266217.0L/225.0L) - 1574984279.0L/7200.0L) + 94330879.0L/720.0L) - 13930849.0L/320.0L) + 1391482.0L/225.0L) - 7.0L/320.0L) + 323.0L/960.0L) + 323.0L/1152.0L) - 1669.0L/1080.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/1344.0L)*x - 6009839.0L/192.0L) + 1622352589.0L/17280.0L) - 7038031.0L/45.0L) + 1574984279.0L/10080.0L) - 1131970547.0L/12096.0L) + 139308489.0L/4480.0L) - 11131867.0L/2520.0L) + 17.0L/720.0L) - 13.0L/80.0L) - 13.0L/48.0L) + 4369.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/2688.0L*x + 6009839.0L/384.0L) - 1622352589.0L/34560.0L) + 7038031.0L/90.0L) - 1574984279.0L/20160.0L) + 80855039.0L/1728.0L) - 29851819.0L/1920.0L) + 1855313.0L/840.0L) - 23.0L/1920.0L) + 29.0L/640.0L) + 29.0L/256.0L) - 541.0L/5040.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/8064.0L)*x - 6009839.0L/1152.0L) + 1622352589.0L/103680.0L) - 7038031.0L/270.0L) + 1574984279.0L/60480.0L) - 13974945.0L/896.0L) + 46436163.0L/8960.0L) - 695743.0L/945.0L) + 13.0L/4320.0L) - 19.0L/2880.0L) - 19.0L/864.0L) + 1261.0L/90720.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/40320.0L*x + 6009839.0L/5760.0L) - 1622352589.0L/518400.0L) + 7038031.0L/1350.0L) - 1574984279.0L/302400.0L) + 70748159.0L/22680.0L) - 13930849.0L/13440.0L) + 463829.0L/3150.0L) - 1.0L/3456.0L) + 13.0L/28800.0L) + 13.0L/6912.0L) - 41.0L/45360.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 7)*(x*(x*(x*(x*(x*(x*((546349.0L/40320.0L)*x - 546349.0L/5760.0L) + 147486599.0L/518400.0L) - 639821.0L/1350.0L) + 143180389.0L/302400.0L) - 102906413.0L/362880.0L) + 1519729.0L/16128.0L) - 1011991.0L/75600.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-546349.0L/2880.0L*x + 7102537.0L/5760.0L) - 147486599.0L/43200.0L) + 7038031.0L/1350.0L) - 143180389.0L/30240.0L) + 5717023.0L/2240.0L) - 422147.0L/560.0L) + 505993.0L/5400.0L) + 1.0L/576.0L) + 13.0L/5760.0L) - 13.0L/1728.0L) - 41.0L/15120.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/2880.0L)*x - 78127907.0L/5760.0L) + 1622352589.0L/43200.0L) - 77418341.0L/1350.0L) + 1574984279.0L/30240.0L) - 161710079.0L/5760.0L) + 3980243.0L/480.0L) - 927653.0L/900.0L) - 13.0L/720.0L) - 19.0L/576.0L) + 19.0L/216.0L) + 1261.0L/30240.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/576.0L*x + 78127907.0L/1152.0L) - 1622352589.0L/8640.0L) + 77418341.0L/270.0L) - 1574984279.0L/6048.0L) + 141496319.0L/1008.0L) - 208962751.0L/5040.0L) + 1391479.0L/270.0L) + 23.0L/320.0L) + 29.0L/128.0L) - 29.0L/64.0L) - 541.0L/1680.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/192.0L)*x - 78127907.0L/384.0L) + 1622352589.0L/2880.0L) - 77418341.0L/90.0L) + 1574984279.0L/2016.0L) - 377323517.0L/896.0L) + 139308497.0L/1120.0L) - 3710611.0L/240.0L) - 17.0L/120.0L) - 13.0L/16.0L) + 13.0L/12.0L) + 4369.0L/2520.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/96.0L*x + 78127907.0L/192.0L) - 1622352589.0L/1440.0L) + 77418341.0L/45.0L) - 1574984279.0L/1008.0L) + 565985275.0L/672.0L) - 69654247.0L/280.0L) + 5565919.0L/180.0L) + 21.0L/160.0L) + 323.0L/192.0L) - 323.0L/288.0L) - 1669.0L/360.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((42068873.0L/480.0L)*x - 546895349.0L/960.0L) + 11356468123.0L/7200.0L) - 541928387.0L/225.0L) + 1574984279.0L/720.0L) - 1131970549.0L/960.0L) + 16717019.0L/48.0L) - 38961461.0L/900.0L) - 341.0L/160.0L) + 1529.0L/240.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-42068873.0L/480.0L*x + 546895349.0L/960.0L) - 11356468123.0L/7200.0L) + 541928387.0L/225.0L) - 1574984279.0L/720.0L) + 94330879.0L/80.0L) - 13930849.0L/40.0L) + 9740374.0L/225.0L) - 21.0L/160.0L) + 323.0L/192.0L) + 323.0L/288.0L) - 1669.0L/360.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/96.0L)*x - 78127907.0L/192.0L) + 1622352589.0L/1440.0L) - 77418341.0L/45.0L) + 1574984279.0L/1008.0L) - 1131970547.0L/1344.0L) + 139308489.0L/560.0L) - 11131867.0L/360.0L) + 17.0L/120.0L) - 13.0L/16.0L) - 13.0L/12.0L) + 4369.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/192.0L*x + 78127907.0L/384.0L) - 1622352589.0L/2880.0L) + 77418341.0L/90.0L) - 1574984279.0L/2016.0L) + 80855039.0L/192.0L) - 29851819.0L/240.0L) + 1855313.0L/120.0L) - 23.0L/320.0L) + 29.0L/128.0L) + 29.0L/64.0L) - 541.0L/1680.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6009839.0L/576.0L)*x - 78127907.0L/1152.0L) + 1622352589.0L/8640.0L) - 77418341.0L/270.0L) + 1574984279.0L/6048.0L) - 125774505.0L/896.0L) + 46436163.0L/1120.0L) - 695743.0L/135.0L) + 13.0L/720.0L) - 19.0L/576.0L) - 19.0L/216.0L) + 1261.0L/30240.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6009839.0L/2880.0L*x + 78127907.0L/5760.0L) - 1622352589.0L/43200.0L) + 77418341.0L/1350.0L) - 1574984279.0L/30240.0L) + 70748159.0L/2520.0L) - 13930849.0L/1680.0L) + 463829.0L/450.0L) - 1.0L/576.0L) + 13.0L/5760.0L) + 13.0L/1728.0L) - 41.0L/15120.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 6)*(x*(x*(x*(x*(x*(x*((546349.0L/2880.0L)*x - 7102537.0L/5760.0L) + 147486599.0L/43200.0L) - 7038031.0L/1350.0L) + 143180389.0L/30240.0L) - 102906413.0L/40320.0L) + 1519729.0L/2016.0L) - 1011991.0L/10800.0L); +break; +} +} +void beta_n5_m8(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1011991.0L/302400.0L)*x - 17203847.0L/604800.0L) + 285427.0L/2688.0L) - 55032449.0L/241920.0L) + 31733873.0L/103680.0L) - 34349081.0L/129600.0L) + 14551699.0L/100800.0L) - 5475307.0L/120960.0L) + 757541.0L/120960.0L) - 1.0L/120960.0L) + 1.0L/24192.0L) + 13.0L/172800.0L) - 13.0L/34560.0L) - 41.0L/181440.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11131901.0L/302400.0L*x + 189242317.0L/604800.0L) - 3139697.0L/2688.0L) + 605356939.0L/241920.0L) - 349072603.0L/103680.0L) + 377839891.0L/129600.0L) - 160068689.0L/100800.0L) + 1806851311.0L/3628800.0L) - 1851767.0L/26880.0L) + 13.0L/120960.0L) - 13.0L/30240.0L) - 19.0L/17280.0L) + 19.0L/4320.0L) + 1261.0L/362880.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11131901.0L/60480.0L)*x - 189242317.0L/120960.0L) + 15698485.0L/2688.0L) - 605356939.0L/48384.0L) + 349072603.0L/20736.0L) - 377839891.0L/25920.0L) + 160068689.0L/20160.0L) - 16132601.0L/6480.0L) + 124994279.0L/362880.0L) - 23.0L/40320.0L) + 23.0L/13440.0L) + 29.0L/3840.0L) - 29.0L/1280.0L) - 541.0L/20160.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11131901.0L/20160.0L*x + 189242317.0L/40320.0L) - 15698485.0L/896.0L) + 605356939.0L/16128.0L) - 349072603.0L/6912.0L) + 377839891.0L/8640.0L) - 160068689.0L/6720.0L) + 66920419.0L/8960.0L) - 83329523.0L/80640.0L) + 17.0L/10080.0L) - 17.0L/5040.0L) - 13.0L/480.0L) + 13.0L/240.0L) + 4369.0L/30240.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11131901.0L/10080.0L)*x - 189242317.0L/20160.0L) + 15698485.0L/448.0L) - 605356939.0L/8064.0L) + 349072603.0L/3456.0L) - 377839891.0L/4320.0L) + 160068689.0L/3360.0L) - 903425657.0L/60480.0L) + 5952109.0L/2880.0L) - 1.0L/320.0L) + 1.0L/320.0L) + 323.0L/5760.0L) - 323.0L/5760.0L) - 1669.0L/4320.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-11131901.0L/7200.0L*x + 189242317.0L/14400.0L) - 3139697.0L/64.0L) + 605356939.0L/5760.0L) - 2443508221.0L/17280.0L) + 2644879237.0L/21600.0L) - 160068689.0L/2400.0L) + 361370263.0L/17280.0L) - 49997717.0L/17280.0L) + 11.0L/2880.0L) - 341.0L/4800.0L) + 1529.0L/2880.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11131901.0L/7200.0L)*x - 189242317.0L/14400.0L) + 3139697.0L/64.0L) - 605356939.0L/5760.0L) + 2443508221.0L/17280.0L) - 2644879237.0L/21600.0L) + 160068689.0L/2400.0L) - 150570943.0L/7200.0L) + 2777651.0L/960.0L) - 1.0L/320.0L) - 1.0L/320.0L) + 323.0L/5760.0L) + 323.0L/5760.0L) - 1669.0L/4320.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11131901.0L/10080.0L*x + 189242317.0L/20160.0L) - 15698485.0L/448.0L) + 605356939.0L/8064.0L) - 349072603.0L/3456.0L) + 377839891.0L/4320.0L) - 160068689.0L/3360.0L) + 1806851317.0L/120960.0L) - 83329531.0L/40320.0L) + 17.0L/10080.0L) + 17.0L/5040.0L) - 13.0L/480.0L) - 13.0L/240.0L) + 4369.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11131901.0L/20160.0L)*x - 189242317.0L/40320.0L) + 15698485.0L/896.0L) - 605356939.0L/16128.0L) + 349072603.0L/6912.0L) - 377839891.0L/8640.0L) + 160068689.0L/6720.0L) - 903425659.0L/120960.0L) + 124994297.0L/120960.0L) - 23.0L/40320.0L) - 23.0L/13440.0L) + 29.0L/3840.0L) + 29.0L/1280.0L) - 541.0L/20160.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11131901.0L/60480.0L*x + 189242317.0L/120960.0L) - 15698485.0L/2688.0L) + 605356939.0L/48384.0L) - 349072603.0L/20736.0L) + 377839891.0L/25920.0L) - 160068689.0L/20160.0L) + 86040539.0L/34560.0L) - 83329531.0L/241920.0L) + 13.0L/120960.0L) + 13.0L/30240.0L) - 19.0L/17280.0L) - 19.0L/4320.0L) + 1261.0L/362880.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11131901.0L/302400.0L)*x - 189242317.0L/604800.0L) + 3139697.0L/2688.0L) - 605356939.0L/241920.0L) + 349072603.0L/103680.0L) - 377839891.0L/129600.0L) + 160068689.0L/100800.0L) - 45171283.0L/90720.0L) + 2777651.0L/40320.0L) - 1.0L/120960.0L) - 1.0L/24192.0L) + 13.0L/172800.0L) + 13.0L/34560.0L) - 41.0L/181440.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 9)*(x*(x*(x*(x*(x*(x*(x*(-1011991.0L/302400.0L*x + 17203847.0L/604800.0L) - 285427.0L/2688.0L) + 55032449.0L/241920.0L) - 31733873.0L/103680.0L) + 34349081.0L/129600.0L) - 14551699.0L/100800.0L) + 164259211.0L/3628800.0L) - 649321.0L/103680.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17203847.0L/302400.0L)*x - 17203847.0L/37800.0L) + 1427135.0L/896.0L) - 55032449.0L/17280.0L) + 412540349.0L/103680.0L) - 34349081.0L/10800.0L) + 160068689.0L/100800.0L) - 5475307.0L/12096.0L) + 757541.0L/13440.0L) - 1.0L/15120.0L) + 1.0L/3456.0L) + 13.0L/28800.0L) - 13.0L/6912.0L) - 41.0L/45360.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/302400.0L*x + 189242317.0L/37800.0L) - 15698485.0L/896.0L) + 605356939.0L/17280.0L) - 4537943839.0L/103680.0L) + 377839891.0L/10800.0L) - 1760755579.0L/100800.0L) + 1806851311.0L/362880.0L) - 5555301.0L/8960.0L) + 13.0L/15120.0L) - 13.0L/4320.0L) - 19.0L/2880.0L) + 19.0L/864.0L) + 1261.0L/90720.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/60480.0L)*x - 189242317.0L/7560.0L) + 78492425.0L/896.0L) - 605356939.0L/3456.0L) + 4537943839.0L/20736.0L) - 377839891.0L/2160.0L) + 1760755579.0L/20160.0L) - 16132601.0L/648.0L) + 124994279.0L/40320.0L) - 23.0L/5040.0L) + 23.0L/1920.0L) + 29.0L/640.0L) - 29.0L/256.0L) - 541.0L/5040.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/20160.0L*x + 189242317.0L/2520.0L) - 235477275.0L/896.0L) + 605356939.0L/1152.0L) - 4537943839.0L/6912.0L) + 377839891.0L/720.0L) - 1760755579.0L/6720.0L) + 66920419.0L/896.0L) - 83329523.0L/8960.0L) + 17.0L/1260.0L) - 17.0L/720.0L) - 13.0L/80.0L) + 13.0L/48.0L) + 4369.0L/7560.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/10080.0L)*x - 189242317.0L/1260.0L) + 235477275.0L/448.0L) - 605356939.0L/576.0L) + 4537943839.0L/3456.0L) - 377839891.0L/360.0L) + 1760755579.0L/3360.0L) - 903425657.0L/6048.0L) + 5952109.0L/320.0L) - 1.0L/40.0L) + 7.0L/320.0L) + 323.0L/960.0L) - 323.0L/1152.0L) - 1669.0L/1080.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/7200.0L*x + 189242317.0L/900.0L) - 47095455.0L/64.0L) + 4237498573.0L/2880.0L) - 31765606873.0L/17280.0L) + 2644879237.0L/1800.0L) - 1760755579.0L/2400.0L) + 361370263.0L/1728.0L) - 49997717.0L/1920.0L) + 11.0L/360.0L) - 341.0L/800.0L) + 1529.0L/720.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/7200.0L)*x - 189242317.0L/900.0L) + 47095455.0L/64.0L) - 4237498573.0L/2880.0L) + 31765606873.0L/17280.0L) - 2644879237.0L/1800.0L) + 1760755579.0L/2400.0L) - 150570943.0L/720.0L) + 8332953.0L/320.0L) - 1.0L/40.0L) - 7.0L/320.0L) + 323.0L/960.0L) + 323.0L/1152.0L) - 1669.0L/1080.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/10080.0L*x + 189242317.0L/1260.0L) - 235477275.0L/448.0L) + 605356939.0L/576.0L) - 4537943839.0L/3456.0L) + 377839891.0L/360.0L) - 1760755579.0L/3360.0L) + 1806851317.0L/12096.0L) - 83329531.0L/4480.0L) + 17.0L/1260.0L) + 17.0L/720.0L) - 13.0L/80.0L) - 13.0L/48.0L) + 4369.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/20160.0L)*x - 189242317.0L/2520.0L) + 235477275.0L/896.0L) - 605356939.0L/1152.0L) + 4537943839.0L/6912.0L) - 377839891.0L/720.0L) + 1760755579.0L/6720.0L) - 903425659.0L/12096.0L) + 124994297.0L/13440.0L) - 23.0L/5040.0L) - 23.0L/1920.0L) + 29.0L/640.0L) + 29.0L/256.0L) - 541.0L/5040.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/60480.0L*x + 189242317.0L/7560.0L) - 78492425.0L/896.0L) + 605356939.0L/3456.0L) - 4537943839.0L/20736.0L) + 377839891.0L/2160.0L) - 1760755579.0L/20160.0L) + 86040539.0L/3456.0L) - 83329531.0L/26880.0L) + 13.0L/15120.0L) + 13.0L/4320.0L) - 19.0L/2880.0L) - 19.0L/864.0L) + 1261.0L/90720.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/302400.0L)*x - 189242317.0L/37800.0L) + 15698485.0L/896.0L) - 605356939.0L/17280.0L) + 4537943839.0L/103680.0L) - 377839891.0L/10800.0L) + 1760755579.0L/100800.0L) - 45171283.0L/9072.0L) + 2777651.0L/4480.0L) - 1.0L/15120.0L) - 1.0L/3456.0L) + 13.0L/28800.0L) + 13.0L/6912.0L) - 41.0L/45360.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 8)*(x*(x*(x*(x*(x*(x*(x*(-17203847.0L/302400.0L*x + 17203847.0L/37800.0L) - 1427135.0L/896.0L) + 55032449.0L/17280.0L) - 412540349.0L/103680.0L) + 34349081.0L/10800.0L) - 160068689.0L/100800.0L) + 164259211.0L/362880.0L) - 649321.0L/11520.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17203847.0L/18900.0L)*x - 17203847.0L/2520.0L) + 1427135.0L/64.0L) - 715421837.0L/17280.0L) + 412540349.0L/8640.0L) - 377839891.0L/10800.0L) + 160068689.0L/10080.0L) - 5475307.0L/1344.0L) + 757541.0L/1680.0L) - 1.0L/2160.0L) + 1.0L/576.0L) + 13.0L/5760.0L) - 13.0L/1728.0L) - 41.0L/15120.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/18900.0L*x + 189242317.0L/2520.0L) - 15698485.0L/64.0L) + 7869640207.0L/17280.0L) - 4537943839.0L/8640.0L) + 4156238801.0L/10800.0L) - 1760755579.0L/10080.0L) + 1806851311.0L/40320.0L) - 5555301.0L/1120.0L) + 13.0L/2160.0L) - 13.0L/720.0L) - 19.0L/576.0L) + 19.0L/216.0L) + 1261.0L/30240.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/3780.0L)*x - 189242317.0L/504.0L) + 78492425.0L/64.0L) - 7869640207.0L/3456.0L) + 4537943839.0L/1728.0L) - 4156238801.0L/2160.0L) + 1760755579.0L/2016.0L) - 16132601.0L/72.0L) + 124994279.0L/5040.0L) - 23.0L/720.0L) + 23.0L/320.0L) + 29.0L/128.0L) - 29.0L/64.0L) - 541.0L/1680.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/1260.0L*x + 189242317.0L/168.0L) - 235477275.0L/64.0L) + 7869640207.0L/1152.0L) - 4537943839.0L/576.0L) + 4156238801.0L/720.0L) - 1760755579.0L/672.0L) + 602283771.0L/896.0L) - 83329523.0L/1120.0L) + 17.0L/180.0L) - 17.0L/120.0L) - 13.0L/16.0L) + 13.0L/12.0L) + 4369.0L/2520.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/630.0L)*x - 189242317.0L/84.0L) + 235477275.0L/32.0L) - 7869640207.0L/576.0L) + 4537943839.0L/288.0L) - 4156238801.0L/360.0L) + 1760755579.0L/336.0L) - 903425657.0L/672.0L) + 5952109.0L/40.0L) - 7.0L/40.0L) + 21.0L/160.0L) + 323.0L/192.0L) - 323.0L/288.0L) - 1669.0L/360.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/450.0L*x + 189242317.0L/60.0L) - 329668185.0L/32.0L) + 55087481449.0L/2880.0L) - 31765606873.0L/1440.0L) + 29093671607.0L/1800.0L) - 1760755579.0L/240.0L) + 361370263.0L/192.0L) - 49997717.0L/240.0L) + 77.0L/360.0L) - 341.0L/160.0L) + 1529.0L/240.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/450.0L)*x - 189242317.0L/60.0L) + 329668185.0L/32.0L) - 55087481449.0L/2880.0L) + 31765606873.0L/1440.0L) - 29093671607.0L/1800.0L) + 1760755579.0L/240.0L) - 150570943.0L/80.0L) + 8332953.0L/40.0L) - 7.0L/40.0L) - 21.0L/160.0L) + 323.0L/192.0L) + 323.0L/288.0L) - 1669.0L/360.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/630.0L*x + 189242317.0L/84.0L) - 235477275.0L/32.0L) + 7869640207.0L/576.0L) - 4537943839.0L/288.0L) + 4156238801.0L/360.0L) - 1760755579.0L/336.0L) + 1806851317.0L/1344.0L) - 83329531.0L/560.0L) + 17.0L/180.0L) + 17.0L/120.0L) - 13.0L/16.0L) - 13.0L/12.0L) + 4369.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/1260.0L)*x - 189242317.0L/168.0L) + 235477275.0L/64.0L) - 7869640207.0L/1152.0L) + 4537943839.0L/576.0L) - 4156238801.0L/720.0L) + 1760755579.0L/672.0L) - 903425659.0L/1344.0L) + 124994297.0L/1680.0L) - 23.0L/720.0L) - 23.0L/320.0L) + 29.0L/128.0L) + 29.0L/64.0L) - 541.0L/1680.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-189242317.0L/3780.0L*x + 189242317.0L/504.0L) - 78492425.0L/64.0L) + 7869640207.0L/3456.0L) - 4537943839.0L/1728.0L) + 4156238801.0L/2160.0L) - 1760755579.0L/2016.0L) + 86040539.0L/384.0L) - 83329531.0L/3360.0L) + 13.0L/2160.0L) + 13.0L/720.0L) - 19.0L/576.0L) - 19.0L/216.0L) + 1261.0L/30240.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((189242317.0L/18900.0L)*x - 189242317.0L/2520.0L) + 15698485.0L/64.0L) - 7869640207.0L/17280.0L) + 4537943839.0L/8640.0L) - 4156238801.0L/10800.0L) + 1760755579.0L/10080.0L) - 45171283.0L/1008.0L) + 2777651.0L/560.0L) - 1.0L/2160.0L) - 1.0L/576.0L) + 13.0L/5760.0L) + 13.0L/1728.0L) - 41.0L/15120.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 7)*(x*(x*(x*(x*(x*(x*(x*(-17203847.0L/18900.0L*x + 17203847.0L/2520.0L) - 1427135.0L/64.0L) + 715421837.0L/17280.0L) - 412540349.0L/8640.0L) + 377839891.0L/10800.0L) - 160068689.0L/10080.0L) + 164259211.0L/40320.0L) - 649321.0L/1440.0L); +break; +} +} +void beta_n5_m9(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-649321.0L/51840.0L*x + 12337099.0L/103680.0L) - 609560381.0L/1209600.0L) + 83943127.0L/67200.0L) - 241689617.0L/120960.0L) + 517668673.0L/241920.0L) - 159166501.0L/103680.0L) + 46134257.0L/64800.0L) - 39075307.0L/201600.0L) + 3429175.0L/145152.0L) - 1.0L/725760.0L) - 1.0L/120960.0L) + 1.0L/24192.0L) + 13.0L/172800.0L) - 13.0L/34560.0L) - 41.0L/181440.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7142531.0L/51840.0L)*x - 135708089.0L/103680.0L) + 6705164191.0L/1209600.0L) - 923374397.0L/67200.0L) + 2658585787.0L/120960.0L) - 5694355403.0L/241920.0L) + 1750831511.0L/103680.0L) - 507476827.0L/64800.0L) + 429828377.0L/201600.0L) - 235755781.0L/907200.0L) + 1.0L/90720.0L) + 13.0L/120960.0L) - 13.0L/30240.0L) - 19.0L/17280.0L) + 19.0L/4320.0L) + 1261.0L/362880.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7142531.0L/10368.0L*x + 135708089.0L/20736.0L) - 6705164191.0L/241920.0L) + 923374397.0L/13440.0L) - 2658585787.0L/24192.0L) + 5694355403.0L/48384.0L) - 1750831511.0L/20736.0L) + 507476827.0L/12960.0L) - 429828377.0L/40320.0L) + 14968621.0L/11520.0L) - 1.0L/26880.0L) - 23.0L/40320.0L) + 23.0L/13440.0L) + 29.0L/3840.0L) - 29.0L/1280.0L) - 541.0L/20160.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7142531.0L/3456.0L)*x - 135708089.0L/6912.0L) + 6705164191.0L/80640.0L) - 923374397.0L/4480.0L) + 2658585787.0L/8064.0L) - 5694355403.0L/16128.0L) + 1750831511.0L/6912.0L) - 507476827.0L/4320.0L) + 429828377.0L/13440.0L) - 471511561.0L/120960.0L) + 1.0L/15120.0L) + 17.0L/10080.0L) - 17.0L/5040.0L) - 13.0L/480.0L) + 13.0L/240.0L) + 4369.0L/30240.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7142531.0L/1728.0L*x + 135708089.0L/3456.0L) - 6705164191.0L/40320.0L) + 923374397.0L/2240.0L) - 2658585787.0L/4032.0L) + 5694355403.0L/8064.0L) - 1750831511.0L/3456.0L) + 507476827.0L/2160.0L) - 429828377.0L/6720.0L) + 943023121.0L/120960.0L) - 1.0L/17280.0L) - 1.0L/320.0L) + 1.0L/320.0L) + 323.0L/5760.0L) - 323.0L/5760.0L) - 1669.0L/4320.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*((49997717.0L/8640.0L)*x - 949956623.0L/17280.0L) + 6705164191.0L/28800.0L) - 923374397.0L/1600.0L) + 2658585787.0L/2880.0L) - 5694355403.0L/5760.0L) + 12255820577.0L/17280.0L) - 3552337789.0L/10800.0L) + 429828377.0L/4800.0L) - 3929263.0L/360.0L) + 11.0L/2880.0L) - 341.0L/4800.0L) + 1529.0L/2880.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-49997717.0L/8640.0L*x + 949956623.0L/17280.0L) - 6705164191.0L/28800.0L) + 923374397.0L/1600.0L) - 2658585787.0L/2880.0L) + 5694355403.0L/5760.0L) - 12255820577.0L/17280.0L) + 3552337789.0L/10800.0L) - 429828377.0L/4800.0L) + 943023119.0L/86400.0L) + 1.0L/17280.0L) - 1.0L/320.0L) - 1.0L/320.0L) + 323.0L/5760.0L) + 323.0L/5760.0L) - 1669.0L/4320.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7142531.0L/1728.0L)*x - 135708089.0L/3456.0L) + 6705164191.0L/40320.0L) - 923374397.0L/2240.0L) + 2658585787.0L/4032.0L) - 5694355403.0L/8064.0L) + 1750831511.0L/3456.0L) - 507476827.0L/2160.0L) + 429828377.0L/6720.0L) - 471511559.0L/60480.0L) - 1.0L/15120.0L) + 17.0L/10080.0L) + 17.0L/5040.0L) - 13.0L/480.0L) - 13.0L/240.0L) + 4369.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7142531.0L/3456.0L*x + 135708089.0L/6912.0L) - 6705164191.0L/80640.0L) + 923374397.0L/4480.0L) - 2658585787.0L/8064.0L) + 5694355403.0L/16128.0L) - 1750831511.0L/6912.0L) + 507476827.0L/4320.0L) - 429828377.0L/13440.0L) + 314341039.0L/80640.0L) + 1.0L/26880.0L) - 23.0L/40320.0L) - 23.0L/13440.0L) + 29.0L/3840.0L) + 29.0L/1280.0L) - 541.0L/20160.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7142531.0L/10368.0L)*x - 135708089.0L/20736.0L) + 6705164191.0L/241920.0L) - 923374397.0L/13440.0L) + 2658585787.0L/24192.0L) - 5694355403.0L/48384.0L) + 1750831511.0L/20736.0L) - 507476827.0L/12960.0L) + 429828377.0L/40320.0L) - 33679397.0L/25920.0L) - 1.0L/90720.0L) + 13.0L/120960.0L) + 13.0L/30240.0L) - 19.0L/17280.0L) - 19.0L/4320.0L) + 1261.0L/362880.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7142531.0L/51840.0L*x + 135708089.0L/103680.0L) - 6705164191.0L/1209600.0L) + 923374397.0L/67200.0L) - 2658585787.0L/120960.0L) + 5694355403.0L/241920.0L) - 1750831511.0L/103680.0L) + 507476827.0L/64800.0L) - 429828377.0L/201600.0L) + 188604623.0L/725760.0L) + 1.0L/725760.0L) - 1.0L/120960.0L) - 1.0L/24192.0L) + 13.0L/172800.0L) + 13.0L/34560.0L) - 41.0L/181440.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 10)*(x*(x*(x*(x*(x*(x*(x*(x*((649321.0L/51840.0L)*x - 12337099.0L/103680.0L) + 609560381.0L/1209600.0L) - 83943127.0L/67200.0L) + 241689617.0L/120960.0L) - 517668673.0L/241920.0L) + 159166501.0L/103680.0L) - 46134257.0L/64800.0L) + 39075307.0L/201600.0L) - 1587581.0L/67200.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-12337099.0L/51840.0L*x + 12337099.0L/5760.0L) - 10362526477.0L/1209600.0L) + 83943127.0L/4200.0L) - 241689617.0L/8064.0L) + 517668673.0L/17280.0L) - 2069164513.0L/103680.0L) + 46134257.0L/5400.0L) - 429828377.0L/201600.0L) + 17145875.0L/72576.0L) - 1.0L/80640.0L) - 1.0L/15120.0L) + 1.0L/3456.0L) + 13.0L/28800.0L) - 13.0L/6912.0L) - 41.0L/45360.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/51840.0L)*x - 135708089.0L/5760.0L) + 113987791247.0L/1209600.0L) - 923374397.0L/4200.0L) + 2658585787.0L/8064.0L) - 5694355403.0L/17280.0L) + 22760809643.0L/103680.0L) - 507476827.0L/5400.0L) + 4728112147.0L/201600.0L) - 235755781.0L/90720.0L) + 1.0L/10080.0L) + 13.0L/15120.0L) - 13.0L/4320.0L) - 19.0L/2880.0L) + 19.0L/864.0L) + 1261.0L/90720.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/10368.0L*x + 135708089.0L/1152.0L) - 113987791247.0L/241920.0L) + 923374397.0L/840.0L) - 13292928935.0L/8064.0L) + 5694355403.0L/3456.0L) - 22760809643.0L/20736.0L) + 507476827.0L/1080.0L) - 4728112147.0L/40320.0L) + 14968621.0L/1152.0L) - 3.0L/8960.0L) - 23.0L/5040.0L) + 23.0L/1920.0L) + 29.0L/640.0L) - 29.0L/256.0L) - 541.0L/5040.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/3456.0L)*x - 135708089.0L/384.0L) + 113987791247.0L/80640.0L) - 923374397.0L/280.0L) + 13292928935.0L/2688.0L) - 5694355403.0L/1152.0L) + 22760809643.0L/6912.0L) - 507476827.0L/360.0L) + 4728112147.0L/13440.0L) - 471511561.0L/12096.0L) + 1.0L/1680.0L) + 17.0L/1260.0L) - 17.0L/720.0L) - 13.0L/80.0L) + 13.0L/48.0L) + 4369.0L/7560.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/1728.0L*x + 135708089.0L/192.0L) - 113987791247.0L/40320.0L) + 923374397.0L/140.0L) - 13292928935.0L/1344.0L) + 5694355403.0L/576.0L) - 22760809643.0L/3456.0L) + 507476827.0L/180.0L) - 4728112147.0L/6720.0L) + 943023121.0L/12096.0L) - 1.0L/1920.0L) - 1.0L/40.0L) + 7.0L/320.0L) + 323.0L/960.0L) - 323.0L/1152.0L) - 1669.0L/1080.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*((949956623.0L/8640.0L)*x - 949956623.0L/960.0L) + 113987791247.0L/28800.0L) - 923374397.0L/100.0L) + 2658585787.0L/192.0L) - 39860487821.0L/2880.0L) + 159325667501.0L/17280.0L) - 3552337789.0L/900.0L) + 4728112147.0L/4800.0L) - 3929263.0L/36.0L) + 11.0L/360.0L) - 341.0L/800.0L) + 1529.0L/720.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-949956623.0L/8640.0L*x + 949956623.0L/960.0L) - 113987791247.0L/28800.0L) + 923374397.0L/100.0L) - 2658585787.0L/192.0L) + 39860487821.0L/2880.0L) - 159325667501.0L/17280.0L) + 3552337789.0L/900.0L) - 4728112147.0L/4800.0L) + 943023119.0L/8640.0L) + 1.0L/1920.0L) - 1.0L/40.0L) - 7.0L/320.0L) + 323.0L/960.0L) + 323.0L/1152.0L) - 1669.0L/1080.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/1728.0L)*x - 135708089.0L/192.0L) + 113987791247.0L/40320.0L) - 923374397.0L/140.0L) + 13292928935.0L/1344.0L) - 5694355403.0L/576.0L) + 22760809643.0L/3456.0L) - 507476827.0L/180.0L) + 4728112147.0L/6720.0L) - 471511559.0L/6048.0L) - 1.0L/1680.0L) + 17.0L/1260.0L) + 17.0L/720.0L) - 13.0L/80.0L) - 13.0L/48.0L) + 4369.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/3456.0L*x + 135708089.0L/384.0L) - 113987791247.0L/80640.0L) + 923374397.0L/280.0L) - 13292928935.0L/2688.0L) + 5694355403.0L/1152.0L) - 22760809643.0L/6912.0L) + 507476827.0L/360.0L) - 4728112147.0L/13440.0L) + 314341039.0L/8064.0L) + 3.0L/8960.0L) - 23.0L/5040.0L) - 23.0L/1920.0L) + 29.0L/640.0L) + 29.0L/256.0L) - 541.0L/5040.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/10368.0L)*x - 135708089.0L/1152.0L) + 113987791247.0L/241920.0L) - 923374397.0L/840.0L) + 13292928935.0L/8064.0L) - 5694355403.0L/3456.0L) + 22760809643.0L/20736.0L) - 507476827.0L/1080.0L) + 4728112147.0L/40320.0L) - 33679397.0L/2592.0L) - 1.0L/10080.0L) + 13.0L/15120.0L) + 13.0L/4320.0L) - 19.0L/2880.0L) - 19.0L/864.0L) + 1261.0L/90720.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/51840.0L*x + 135708089.0L/5760.0L) - 113987791247.0L/1209600.0L) + 923374397.0L/4200.0L) - 2658585787.0L/8064.0L) + 5694355403.0L/17280.0L) - 22760809643.0L/103680.0L) + 507476827.0L/5400.0L) - 4728112147.0L/201600.0L) + 188604623.0L/72576.0L) + 1.0L/80640.0L) - 1.0L/15120.0L) - 1.0L/3456.0L) + 13.0L/28800.0L) + 13.0L/6912.0L) - 41.0L/45360.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 9)*(x*(x*(x*(x*(x*(x*(x*(x*((12337099.0L/51840.0L)*x - 12337099.0L/5760.0L) + 10362526477.0L/1209600.0L) - 83943127.0L/4200.0L) + 241689617.0L/8064.0L) - 517668673.0L/17280.0L) + 2069164513.0L/103680.0L) - 46134257.0L/5400.0L) + 429828377.0L/201600.0L) - 1587581.0L/6720.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-12337099.0L/2880.0L*x + 209730683.0L/5760.0L) - 10362526477.0L/75600.0L) + 83943127.0L/280.0L) - 241689617.0L/576.0L) + 6729692749.0L/17280.0L) - 2069164513.0L/8640.0L) + 507476827.0L/5400.0L) - 429828377.0L/20160.0L) + 17145875.0L/8064.0L) - 1.0L/10080.0L) - 1.0L/2160.0L) + 1.0L/576.0L) + 13.0L/5760.0L) - 13.0L/1728.0L) - 41.0L/15120.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/2880.0L)*x - 2307037513.0L/5760.0L) + 113987791247.0L/75600.0L) - 923374397.0L/280.0L) + 2658585787.0L/576.0L) - 74026620239.0L/17280.0L) + 22760809643.0L/8640.0L) - 5582245097.0L/5400.0L) + 4728112147.0L/20160.0L) - 235755781.0L/10080.0L) + 1.0L/1260.0L) + 13.0L/2160.0L) - 13.0L/720.0L) - 19.0L/576.0L) + 19.0L/216.0L) + 1261.0L/30240.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/576.0L*x + 2307037513.0L/1152.0L) - 113987791247.0L/15120.0L) + 923374397.0L/56.0L) - 13292928935.0L/576.0L) + 74026620239.0L/3456.0L) - 22760809643.0L/1728.0L) + 5582245097.0L/1080.0L) - 4728112147.0L/4032.0L) + 14968621.0L/128.0L) - 3.0L/1120.0L) - 23.0L/720.0L) + 23.0L/320.0L) + 29.0L/128.0L) - 29.0L/64.0L) - 541.0L/1680.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/192.0L)*x - 2307037513.0L/384.0L) + 113987791247.0L/5040.0L) - 2770123191.0L/56.0L) + 13292928935.0L/192.0L) - 74026620239.0L/1152.0L) + 22760809643.0L/576.0L) - 5582245097.0L/360.0L) + 4728112147.0L/1344.0L) - 471511561.0L/1344.0L) + 1.0L/210.0L) + 17.0L/180.0L) - 17.0L/120.0L) - 13.0L/16.0L) + 13.0L/12.0L) + 4369.0L/2520.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/96.0L*x + 2307037513.0L/192.0L) - 113987791247.0L/2520.0L) + 2770123191.0L/28.0L) - 13292928935.0L/96.0L) + 74026620239.0L/576.0L) - 22760809643.0L/288.0L) + 5582245097.0L/180.0L) - 4728112147.0L/672.0L) + 943023121.0L/1344.0L) - 1.0L/240.0L) - 7.0L/40.0L) + 21.0L/160.0L) + 323.0L/192.0L) - 323.0L/288.0L) - 1669.0L/360.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*((949956623.0L/480.0L)*x - 16149262591.0L/960.0L) + 113987791247.0L/1800.0L) - 2770123191.0L/20.0L) + 18610100509.0L/96.0L) - 518186341673.0L/2880.0L) + 159325667501.0L/1440.0L) - 39075715679.0L/900.0L) + 4728112147.0L/480.0L) - 3929263.0L/4.0L) + 77.0L/360.0L) - 341.0L/160.0L) + 1529.0L/240.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-949956623.0L/480.0L*x + 16149262591.0L/960.0L) - 113987791247.0L/1800.0L) + 2770123191.0L/20.0L) - 18610100509.0L/96.0L) + 518186341673.0L/2880.0L) - 159325667501.0L/1440.0L) + 39075715679.0L/900.0L) - 4728112147.0L/480.0L) + 943023119.0L/960.0L) + 1.0L/240.0L) - 7.0L/40.0L) - 21.0L/160.0L) + 323.0L/192.0L) + 323.0L/288.0L) - 1669.0L/360.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/96.0L)*x - 2307037513.0L/192.0L) + 113987791247.0L/2520.0L) - 2770123191.0L/28.0L) + 13292928935.0L/96.0L) - 74026620239.0L/576.0L) + 22760809643.0L/288.0L) - 5582245097.0L/180.0L) + 4728112147.0L/672.0L) - 471511559.0L/672.0L) - 1.0L/210.0L) + 17.0L/180.0L) + 17.0L/120.0L) - 13.0L/16.0L) - 13.0L/12.0L) + 4369.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/192.0L*x + 2307037513.0L/384.0L) - 113987791247.0L/5040.0L) + 2770123191.0L/56.0L) - 13292928935.0L/192.0L) + 74026620239.0L/1152.0L) - 22760809643.0L/576.0L) + 5582245097.0L/360.0L) - 4728112147.0L/1344.0L) + 314341039.0L/896.0L) + 3.0L/1120.0L) - 23.0L/720.0L) - 23.0L/320.0L) + 29.0L/128.0L) + 29.0L/64.0L) - 541.0L/1680.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((135708089.0L/576.0L)*x - 2307037513.0L/1152.0L) + 113987791247.0L/15120.0L) - 923374397.0L/56.0L) + 13292928935.0L/576.0L) - 74026620239.0L/3456.0L) + 22760809643.0L/1728.0L) - 5582245097.0L/1080.0L) + 4728112147.0L/4032.0L) - 33679397.0L/288.0L) - 1.0L/1260.0L) + 13.0L/2160.0L) + 13.0L/720.0L) - 19.0L/576.0L) - 19.0L/216.0L) + 1261.0L/30240.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-135708089.0L/2880.0L*x + 2307037513.0L/5760.0L) - 113987791247.0L/75600.0L) + 923374397.0L/280.0L) - 2658585787.0L/576.0L) + 74026620239.0L/17280.0L) - 22760809643.0L/8640.0L) + 5582245097.0L/5400.0L) - 4728112147.0L/20160.0L) + 188604623.0L/8064.0L) + 1.0L/10080.0L) - 1.0L/2160.0L) - 1.0L/576.0L) + 13.0L/5760.0L) + 13.0L/1728.0L) - 41.0L/15120.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 8)*(x*(x*(x*(x*(x*(x*(x*(x*((12337099.0L/2880.0L)*x - 209730683.0L/5760.0L) + 10362526477.0L/75600.0L) - 83943127.0L/280.0L) + 241689617.0L/576.0L) - 6729692749.0L/17280.0L) + 2069164513.0L/8640.0L) - 507476827.0L/5400.0L) + 429828377.0L/20160.0L) - 4762743.0L/2240.0L); +break; +} +} +void beta_n5_m10(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1587581.0L/33600.0L)*x - 1587581.0L/3200.0L) + 852748493.0L/362880.0L) - 960042925.0L/145152.0L) + 14821726939.0L/1209600.0L) - 1049589707.0L/67200.0L) + 8393241803.0L/604800.0L) - 2054212547.0L/241920.0L) + 355209743.0L/103680.0L) - 1494445459.0L/1814400.0L) + 18077609.0L/201600.0L) + 1.0L/3628800.0L) - 1.0L/725760.0L) - 1.0L/120960.0L) + 1.0L/24192.0L) + 13.0L/172800.0L) - 13.0L/34560.0L) - 41.0L/181440.0L) + 41.0L/36288.0L) + 1.0L/6300.0L) - 1.0L/1260.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/33600.0L*x + 17463391.0L/3200.0L) - 9380233423.0L/362880.0L) + 10560472175.0L/145152.0L) - 163038996329.0L/1209600.0L) + 11545486777.0L/67200.0L) - 92325659833.0L/604800.0L) + 22596338017.0L/241920.0L) - 3907307173.0L/103680.0L) + 16438900049.0L/1814400.0L) - 198853699.0L/201600.0L) - 1.0L/362880.0L) + 1.0L/90720.0L) + 13.0L/120960.0L) - 13.0L/30240.0L) - 19.0L/17280.0L) + 19.0L/4320.0L) + 1261.0L/362880.0L) - 1261.0L/90720.0L) - 5.0L/2016.0L) + 5.0L/504.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/6720.0L)*x - 17463391.0L/640.0L) + 9380233423.0L/72576.0L) - 52802360875.0L/145152.0L) + 163038996329.0L/241920.0L) - 11545486777.0L/13440.0L) + 92325659833.0L/120960.0L) - 22596338017.0L/48384.0L) + 3907307173.0L/20736.0L) - 16438900049.0L/362880.0L) + 198853699.0L/40320.0L) + 1.0L/80640.0L) - 1.0L/26880.0L) - 23.0L/40320.0L) + 23.0L/13440.0L) + 29.0L/3840.0L) - 29.0L/1280.0L) - 541.0L/20160.0L) + 541.0L/6720.0L) + 5.0L/252.0L) - 5.0L/84.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/2240.0L*x + 52390173.0L/640.0L) - 9380233423.0L/24192.0L) + 52802360875.0L/48384.0L) - 163038996329.0L/80640.0L) + 11545486777.0L/4480.0L) - 92325659833.0L/40320.0L) + 22596338017.0L/16128.0L) - 3907307173.0L/6912.0L) + 16438900049.0L/120960.0L) - 198853699.0L/13440.0L) - 1.0L/30240.0L) + 1.0L/15120.0L) + 17.0L/10080.0L) - 17.0L/5040.0L) - 13.0L/480.0L) + 13.0L/240.0L) + 4369.0L/30240.0L) - 4369.0L/15120.0L) - 5.0L/42.0L) + 5.0L/21.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/1120.0L)*x - 52390173.0L/320.0L) + 9380233423.0L/12096.0L) - 52802360875.0L/24192.0L) + 163038996329.0L/40320.0L) - 11545486777.0L/2240.0L) + 92325659833.0L/20160.0L) - 22596338017.0L/8064.0L) + 3907307173.0L/3456.0L) - 16438900049.0L/60480.0L) + 198853699.0L/6720.0L) + 1.0L/17280.0L) - 1.0L/17280.0L) - 1.0L/320.0L) + 1.0L/320.0L) + 323.0L/5760.0L) - 323.0L/5760.0L) - 1669.0L/4320.0L) + 1669.0L/4320.0L) + 5.0L/6.0L) - 5.0L/6.0L); +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/800.0L*x + 366731211.0L/1600.0L) - 9380233423.0L/8640.0L) + 10560472175.0L/3456.0L) - 163038996329.0L/28800.0L) + 11545486777.0L/1600.0L) - 92325659833.0L/14400.0L) + 22596338017.0L/5760.0L) - 27351150211.0L/17280.0L) + 16438900049.0L/43200.0L) - 198853699.0L/4800.0L) - 1.0L/14400.0L) + 11.0L/2880.0L) - 341.0L/4800.0L) + 1529.0L/2880.0L) - 5269.0L/3600.0L) + 1; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/800.0L)*x - 366731211.0L/1600.0L) + 9380233423.0L/8640.0L) - 10560472175.0L/3456.0L) + 163038996329.0L/28800.0L) - 11545486777.0L/1600.0L) + 92325659833.0L/14400.0L) - 22596338017.0L/5760.0L) + 27351150211.0L/17280.0L) - 16438900049.0L/43200.0L) + 198853699.0L/4800.0L) + 1.0L/17280.0L) + 1.0L/17280.0L) - 1.0L/320.0L) - 1.0L/320.0L) + 323.0L/5760.0L) + 323.0L/5760.0L) - 1669.0L/4320.0L) - 1669.0L/4320.0L) + 5.0L/6.0L) + 5.0L/6.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/1120.0L*x + 52390173.0L/320.0L) - 9380233423.0L/12096.0L) + 52802360875.0L/24192.0L) - 163038996329.0L/40320.0L) + 11545486777.0L/2240.0L) - 92325659833.0L/20160.0L) + 22596338017.0L/8064.0L) - 3907307173.0L/3456.0L) + 16438900049.0L/60480.0L) - 198853699.0L/6720.0L) - 1.0L/30240.0L) - 1.0L/15120.0L) + 17.0L/10080.0L) + 17.0L/5040.0L) - 13.0L/480.0L) - 13.0L/240.0L) + 4369.0L/30240.0L) + 4369.0L/15120.0L) - 5.0L/42.0L) - 5.0L/21.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/2240.0L)*x - 52390173.0L/640.0L) + 9380233423.0L/24192.0L) - 52802360875.0L/48384.0L) + 163038996329.0L/80640.0L) - 11545486777.0L/4480.0L) + 92325659833.0L/40320.0L) - 22596338017.0L/16128.0L) + 3907307173.0L/6912.0L) - 16438900049.0L/120960.0L) + 198853699.0L/13440.0L) + 1.0L/80640.0L) + 1.0L/26880.0L) - 23.0L/40320.0L) - 23.0L/13440.0L) + 29.0L/3840.0L) + 29.0L/1280.0L) - 541.0L/20160.0L) - 541.0L/6720.0L) + 5.0L/252.0L) + 5.0L/84.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/6720.0L*x + 17463391.0L/640.0L) - 9380233423.0L/72576.0L) + 52802360875.0L/145152.0L) - 163038996329.0L/241920.0L) + 11545486777.0L/13440.0L) - 92325659833.0L/120960.0L) + 22596338017.0L/48384.0L) - 3907307173.0L/20736.0L) + 16438900049.0L/362880.0L) - 198853699.0L/40320.0L) - 1.0L/362880.0L) - 1.0L/90720.0L) + 13.0L/120960.0L) + 13.0L/30240.0L) - 19.0L/17280.0L) - 19.0L/4320.0L) + 1261.0L/362880.0L) + 1261.0L/90720.0L) - 5.0L/2016.0L) - 5.0L/504.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/33600.0L)*x - 17463391.0L/3200.0L) + 9380233423.0L/362880.0L) - 10560472175.0L/145152.0L) + 163038996329.0L/1209600.0L) - 11545486777.0L/67200.0L) + 92325659833.0L/604800.0L) - 22596338017.0L/241920.0L) + 3907307173.0L/103680.0L) - 16438900049.0L/1814400.0L) + 198853699.0L/201600.0L) + 1.0L/3628800.0L) + 1.0L/725760.0L) - 1.0L/120960.0L) - 1.0L/24192.0L) + 13.0L/172800.0L) + 13.0L/34560.0L) - 41.0L/181440.0L) - 41.0L/36288.0L) + 1.0L/6300.0L) + 1.0L/1260.0L); +poly_val[11] = pow(x, 11)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1587581.0L/33600.0L*x + 1587581.0L/3200.0L) - 852748493.0L/362880.0L) + 960042925.0L/145152.0L) - 14821726939.0L/1209600.0L) + 1049589707.0L/67200.0L) - 8393241803.0L/604800.0L) + 2054212547.0L/241920.0L) - 355209743.0L/103680.0L) + 1494445459.0L/1814400.0L) - 18077609.0L/201600.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1587581.0L/1600.0L)*x - 1587581.0L/160.0L) + 16202221367.0L/362880.0L) - 960042925.0L/8064.0L) + 251969357963.0L/1209600.0L) - 1049589707.0L/4200.0L) + 8393241803.0L/40320.0L) - 2054212547.0L/17280.0L) + 4617726659.0L/103680.0L) - 1494445459.0L/151200.0L) + 198853699.0L/201600.0L) + 1.0L/362880.0L) - 1.0L/80640.0L) - 1.0L/15120.0L) + 1.0L/3456.0L) + 13.0L/28800.0L) - 13.0L/6912.0L) - 41.0L/45360.0L) + 41.0L/12096.0L) + 1.0L/3150.0L) - 1.0L/1260.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/1600.0L*x + 17463391.0L/160.0L) - 178224435037.0L/362880.0L) + 10560472175.0L/8064.0L) - 2771662937593.0L/1209600.0L) + 11545486777.0L/4200.0L) - 92325659833.0L/40320.0L) + 22596338017.0L/17280.0L) - 50794993249.0L/103680.0L) + 16438900049.0L/151200.0L) - 2187390689.0L/201600.0L) - 1.0L/36288.0L) + 1.0L/10080.0L) + 13.0L/15120.0L) - 13.0L/4320.0L) - 19.0L/2880.0L) + 19.0L/864.0L) + 1261.0L/90720.0L) - 1261.0L/30240.0L) - 5.0L/1008.0L) + 5.0L/504.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/320.0L)*x - 17463391.0L/32.0L) + 178224435037.0L/72576.0L) - 52802360875.0L/8064.0L) + 2771662937593.0L/241920.0L) - 11545486777.0L/840.0L) + 92325659833.0L/8064.0L) - 22596338017.0L/3456.0L) + 50794993249.0L/20736.0L) - 16438900049.0L/30240.0L) + 2187390689.0L/40320.0L) + 1.0L/8064.0L) - 3.0L/8960.0L) - 23.0L/5040.0L) + 23.0L/1920.0L) + 29.0L/640.0L) - 29.0L/256.0L) - 541.0L/5040.0L) + 541.0L/2240.0L) + 5.0L/126.0L) - 5.0L/84.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-52390173.0L/320.0L*x + 52390173.0L/32.0L) - 178224435037.0L/24192.0L) + 52802360875.0L/2688.0L) - 2771662937593.0L/80640.0L) + 11545486777.0L/280.0L) - 92325659833.0L/2688.0L) + 22596338017.0L/1152.0L) - 50794993249.0L/6912.0L) + 16438900049.0L/10080.0L) - 2187390689.0L/13440.0L) - 1.0L/3024.0L) + 1.0L/1680.0L) + 17.0L/1260.0L) - 17.0L/720.0L) - 13.0L/80.0L) + 13.0L/48.0L) + 4369.0L/7560.0L) - 4369.0L/5040.0L) - 5.0L/21.0L) + 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((52390173.0L/160.0L)*x - 52390173.0L/16.0L) + 178224435037.0L/12096.0L) - 52802360875.0L/1344.0L) + 2771662937593.0L/40320.0L) - 11545486777.0L/140.0L) + 92325659833.0L/1344.0L) - 22596338017.0L/576.0L) + 50794993249.0L/3456.0L) - 16438900049.0L/5040.0L) + 2187390689.0L/6720.0L) + 1.0L/1728.0L) - 1.0L/1920.0L) - 1.0L/40.0L) + 7.0L/320.0L) + 323.0L/960.0L) - 323.0L/1152.0L) - 1669.0L/1080.0L) + 1669.0L/1440.0L) + 5.0L/3.0L) - 5.0L/6.0L; +poly_val[5] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-366731211.0L/800.0L*x + 366731211.0L/80.0L) - 178224435037.0L/8640.0L) + 10560472175.0L/192.0L) - 2771662937593.0L/28800.0L) + 11545486777.0L/100.0L) - 92325659833.0L/960.0L) + 158174366119.0L/2880.0L) - 355564952743.0L/17280.0L) + 16438900049.0L/3600.0L) - 2187390689.0L/4800.0L) - 1.0L/1440.0L) + 11.0L/360.0L) - 341.0L/800.0L) + 1529.0L/720.0L) - 5269.0L/1800.0L); +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((366731211.0L/800.0L)*x - 366731211.0L/80.0L) + 178224435037.0L/8640.0L) - 10560472175.0L/192.0L) + 2771662937593.0L/28800.0L) - 11545486777.0L/100.0L) + 92325659833.0L/960.0L) - 158174366119.0L/2880.0L) + 355564952743.0L/17280.0L) - 16438900049.0L/3600.0L) + 2187390689.0L/4800.0L) + 1.0L/1728.0L) + 1.0L/1920.0L) - 1.0L/40.0L) - 7.0L/320.0L) + 323.0L/960.0L) + 323.0L/1152.0L) - 1669.0L/1080.0L) - 1669.0L/1440.0L) + 5.0L/3.0L) + 5.0L/6.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-52390173.0L/160.0L*x + 52390173.0L/16.0L) - 178224435037.0L/12096.0L) + 52802360875.0L/1344.0L) - 2771662937593.0L/40320.0L) + 11545486777.0L/140.0L) - 92325659833.0L/1344.0L) + 22596338017.0L/576.0L) - 50794993249.0L/3456.0L) + 16438900049.0L/5040.0L) - 2187390689.0L/6720.0L) - 1.0L/3024.0L) - 1.0L/1680.0L) + 17.0L/1260.0L) + 17.0L/720.0L) - 13.0L/80.0L) - 13.0L/48.0L) + 4369.0L/7560.0L) + 4369.0L/5040.0L) - 5.0L/21.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((52390173.0L/320.0L)*x - 52390173.0L/32.0L) + 178224435037.0L/24192.0L) - 52802360875.0L/2688.0L) + 2771662937593.0L/80640.0L) - 11545486777.0L/280.0L) + 92325659833.0L/2688.0L) - 22596338017.0L/1152.0L) + 50794993249.0L/6912.0L) - 16438900049.0L/10080.0L) + 2187390689.0L/13440.0L) + 1.0L/8064.0L) + 3.0L/8960.0L) - 23.0L/5040.0L) - 23.0L/1920.0L) + 29.0L/640.0L) + 29.0L/256.0L) - 541.0L/5040.0L) - 541.0L/2240.0L) + 5.0L/126.0L) + 5.0L/84.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/320.0L*x + 17463391.0L/32.0L) - 178224435037.0L/72576.0L) + 52802360875.0L/8064.0L) - 2771662937593.0L/241920.0L) + 11545486777.0L/840.0L) - 92325659833.0L/8064.0L) + 22596338017.0L/3456.0L) - 50794993249.0L/20736.0L) + 16438900049.0L/30240.0L) - 2187390689.0L/40320.0L) - 1.0L/36288.0L) - 1.0L/10080.0L) + 13.0L/15120.0L) + 13.0L/4320.0L) - 19.0L/2880.0L) - 19.0L/864.0L) + 1261.0L/90720.0L) + 1261.0L/30240.0L) - 5.0L/1008.0L) - 5.0L/504.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/1600.0L)*x - 17463391.0L/160.0L) + 178224435037.0L/362880.0L) - 10560472175.0L/8064.0L) + 2771662937593.0L/1209600.0L) - 11545486777.0L/4200.0L) + 92325659833.0L/40320.0L) - 22596338017.0L/17280.0L) + 50794993249.0L/103680.0L) - 16438900049.0L/151200.0L) + 2187390689.0L/201600.0L) + 1.0L/362880.0L) + 1.0L/80640.0L) - 1.0L/15120.0L) - 1.0L/3456.0L) + 13.0L/28800.0L) + 13.0L/6912.0L) - 41.0L/45360.0L) - 41.0L/12096.0L) + 1.0L/3150.0L) + 1.0L/1260.0L; +poly_val[11] = pow(x, 10)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1587581.0L/1600.0L*x + 1587581.0L/160.0L) - 16202221367.0L/362880.0L) + 960042925.0L/8064.0L) - 251969357963.0L/1209600.0L) + 1049589707.0L/4200.0L) - 8393241803.0L/40320.0L) + 2054212547.0L/17280.0L) - 4617726659.0L/103680.0L) + 1494445459.0L/151200.0L) - 198853699.0L/201600.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1587581.0L/80.0L)*x - 30164039.0L/160.0L) + 16202221367.0L/20160.0L) - 16320729725.0L/8064.0L) + 251969357963.0L/75600.0L) - 1049589707.0L/280.0L) + 8393241803.0L/2880.0L) - 26704763111.0L/17280.0L) + 4617726659.0L/8640.0L) - 16438900049.0L/151200.0L) + 198853699.0L/20160.0L) + 1.0L/40320.0L) - 1.0L/10080.0L) - 1.0L/2160.0L) + 1.0L/576.0L) + 13.0L/5760.0L) - 13.0L/1728.0L) - 41.0L/15120.0L) + 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/80.0L*x + 331804429.0L/160.0L) - 178224435037.0L/20160.0L) + 179528026975.0L/8064.0L) - 2771662937593.0L/75600.0L) + 11545486777.0L/280.0L) - 92325659833.0L/2880.0L) + 293752394221.0L/17280.0L) - 50794993249.0L/8640.0L) + 180827900539.0L/151200.0L) - 2187390689.0L/20160.0L) - 1.0L/4032.0L) + 1.0L/1260.0L) + 13.0L/2160.0L) - 13.0L/720.0L) - 19.0L/576.0L) + 19.0L/216.0L) + 1261.0L/30240.0L) - 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/16.0L)*x - 331804429.0L/32.0L) + 178224435037.0L/4032.0L) - 897640134875.0L/8064.0L) + 2771662937593.0L/15120.0L) - 11545486777.0L/56.0L) + 92325659833.0L/576.0L) - 293752394221.0L/3456.0L) + 50794993249.0L/1728.0L) - 180827900539.0L/30240.0L) + 2187390689.0L/4032.0L) + 1.0L/896.0L) - 3.0L/1120.0L) - 23.0L/720.0L) + 23.0L/320.0L) + 29.0L/128.0L) - 29.0L/64.0L) - 541.0L/1680.0L) + 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-52390173.0L/16.0L*x + 995413287.0L/32.0L) - 178224435037.0L/1344.0L) + 897640134875.0L/2688.0L) - 2771662937593.0L/5040.0L) + 34636460331.0L/56.0L) - 92325659833.0L/192.0L) + 293752394221.0L/1152.0L) - 50794993249.0L/576.0L) + 180827900539.0L/10080.0L) - 2187390689.0L/1344.0L) - 1.0L/336.0L) + 1.0L/210.0L) + 17.0L/180.0L) - 17.0L/120.0L) - 13.0L/16.0L) + 13.0L/12.0L) + 4369.0L/2520.0L) - 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((52390173.0L/8.0L)*x - 995413287.0L/16.0L) + 178224435037.0L/672.0L) - 897640134875.0L/1344.0L) + 2771662937593.0L/2520.0L) - 34636460331.0L/28.0L) + 92325659833.0L/96.0L) - 293752394221.0L/576.0L) + 50794993249.0L/288.0L) - 180827900539.0L/5040.0L) + 2187390689.0L/672.0L) + 1.0L/192.0L) - 1.0L/240.0L) - 7.0L/40.0L) + 21.0L/160.0L) + 323.0L/192.0L) - 323.0L/288.0L) - 1669.0L/360.0L) + 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[5] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-366731211.0L/40.0L*x + 6967893009.0L/80.0L) - 178224435037.0L/480.0L) + 179528026975.0L/192.0L) - 2771662937593.0L/1800.0L) + 34636460331.0L/20.0L) - 646279618831.0L/480.0L) + 2056266759547.0L/2880.0L) - 355564952743.0L/1440.0L) + 180827900539.0L/3600.0L) - 2187390689.0L/480.0L) - 1.0L/160.0L) + 77.0L/360.0L) - 341.0L/160.0L) + 1529.0L/240.0L) - 5269.0L/1800.0L; +poly_val[6] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((366731211.0L/40.0L)*x - 6967893009.0L/80.0L) + 178224435037.0L/480.0L) - 179528026975.0L/192.0L) + 2771662937593.0L/1800.0L) - 34636460331.0L/20.0L) + 646279618831.0L/480.0L) - 2056266759547.0L/2880.0L) + 355564952743.0L/1440.0L) - 180827900539.0L/3600.0L) + 2187390689.0L/480.0L) + 1.0L/192.0L) + 1.0L/240.0L) - 7.0L/40.0L) - 21.0L/160.0L) + 323.0L/192.0L) + 323.0L/288.0L) - 1669.0L/360.0L) - 1669.0L/720.0L) + 5.0L/3.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-52390173.0L/8.0L*x + 995413287.0L/16.0L) - 178224435037.0L/672.0L) + 897640134875.0L/1344.0L) - 2771662937593.0L/2520.0L) + 34636460331.0L/28.0L) - 92325659833.0L/96.0L) + 293752394221.0L/576.0L) - 50794993249.0L/288.0L) + 180827900539.0L/5040.0L) - 2187390689.0L/672.0L) - 1.0L/336.0L) - 1.0L/210.0L) + 17.0L/180.0L) + 17.0L/120.0L) - 13.0L/16.0L) - 13.0L/12.0L) + 4369.0L/2520.0L) + 4369.0L/2520.0L) - 5.0L/21.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((52390173.0L/16.0L)*x - 995413287.0L/32.0L) + 178224435037.0L/1344.0L) - 897640134875.0L/2688.0L) + 2771662937593.0L/5040.0L) - 34636460331.0L/56.0L) + 92325659833.0L/192.0L) - 293752394221.0L/1152.0L) + 50794993249.0L/576.0L) - 180827900539.0L/10080.0L) + 2187390689.0L/1344.0L) + 1.0L/896.0L) + 3.0L/1120.0L) - 23.0L/720.0L) - 23.0L/320.0L) + 29.0L/128.0L) + 29.0L/64.0L) - 541.0L/1680.0L) - 541.0L/1120.0L) + 5.0L/126.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-17463391.0L/16.0L*x + 331804429.0L/32.0L) - 178224435037.0L/4032.0L) + 897640134875.0L/8064.0L) - 2771662937593.0L/15120.0L) + 11545486777.0L/56.0L) - 92325659833.0L/576.0L) + 293752394221.0L/3456.0L) - 50794993249.0L/1728.0L) + 180827900539.0L/30240.0L) - 2187390689.0L/4032.0L) - 1.0L/4032.0L) - 1.0L/1260.0L) + 13.0L/2160.0L) + 13.0L/720.0L) - 19.0L/576.0L) - 19.0L/216.0L) + 1261.0L/30240.0L) + 1261.0L/15120.0L) - 5.0L/1008.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((17463391.0L/80.0L)*x - 331804429.0L/160.0L) + 178224435037.0L/20160.0L) - 179528026975.0L/8064.0L) + 2771662937593.0L/75600.0L) - 11545486777.0L/280.0L) + 92325659833.0L/2880.0L) - 293752394221.0L/17280.0L) + 50794993249.0L/8640.0L) - 180827900539.0L/151200.0L) + 2187390689.0L/20160.0L) + 1.0L/40320.0L) + 1.0L/10080.0L) - 1.0L/2160.0L) - 1.0L/576.0L) + 13.0L/5760.0L) + 13.0L/1728.0L) - 41.0L/15120.0L) - 41.0L/6048.0L) + 1.0L/3150.0L; +poly_val[11] = pow(x, 9)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1587581.0L/80.0L*x + 30164039.0L/160.0L) - 16202221367.0L/20160.0L) + 16320729725.0L/8064.0L) - 251969357963.0L/75600.0L) + 1049589707.0L/280.0L) - 8393241803.0L/2880.0L) + 26704763111.0L/17280.0L) - 4617726659.0L/8640.0L) + 16438900049.0L/151200.0L) - 198853699.0L/20160.0L); +break; +} +} diff --git a/bfps/cpp/spline_n5.hpp b/bfps/cpp/spline_n5.hpp new file mode 100644 index 0000000000000000000000000000000000000000..e256ef31f88c7e231d58a163011e067b8309f04c --- /dev/null +++ b/bfps/cpp/spline_n5.hpp @@ -0,0 +1,44 @@ +/********************************************************************** +* * +* Copyright 2015 Max Planck Institute * +* for Dynamics and Self-Organization * +* * +* This file is part of bfps. * +* * +* bfps is free software: you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published * +* by the Free Software Foundation, either version 3 of the License, * +* or (at your option) any later version. * +* * +* bfps is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with bfps. If not, see <http://www.gnu.org/licenses/> * +* * +* Contact: Cristian.Lalescu@ds.mpg.de * +* * +**********************************************************************/ + + + +#ifndef SPLINE_N5 + +#define SPLINE_N5 + +void beta_n5_m0(int deriv, double x, double *poly_val); +void beta_n5_m1(int deriv, double x, double *poly_val); +void beta_n5_m2(int deriv, double x, double *poly_val); +void beta_n5_m3(int deriv, double x, double *poly_val); +void beta_n5_m4(int deriv, double x, double *poly_val); +void beta_n5_m5(int deriv, double x, double *poly_val); +void beta_n5_m6(int deriv, double x, double *poly_val); +void beta_n5_m7(int deriv, double x, double *poly_val); +void beta_n5_m8(int deriv, double x, double *poly_val); +void beta_n5_m9(int deriv, double x, double *poly_val); +void beta_n5_m10(int deriv, double x, double *poly_val); + +#endif//SPLINE_N5 + diff --git a/bfps/cpp/spline_n6.cpp b/bfps/cpp/spline_n6.cpp new file mode 100644 index 0000000000000000000000000000000000000000..8b98e7e624fa282cfe1ca18210c536e4d6267c55 --- /dev/null +++ b/bfps/cpp/spline_n6.cpp @@ -0,0 +1,717 @@ +/********************************************************************** +* * +* Copyright 2015 Max Planck Institute * +* for Dynamics and Self-Organization * +* * +* This file is part of bfps. * +* * +* bfps is free software: you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published * +* by the Free Software Foundation, either version 3 of the License, * +* or (at your option) any later version. * +* * +* bfps is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with bfps. If not, see <http://www.gnu.org/licenses/> * +* * +* Contact: Cristian.Lalescu@ds.mpg.de * +* * +**********************************************************************/ + + + +#include "spline_n6.hpp" +#include <math.h> +void beta_n6_m0(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = 0; +poly_val[5] = 0; +poly_val[6] = -x + 1; +poly_val[7] = x; +poly_val[8] = 0; +poly_val[9] = 0; +poly_val[10] = 0; +poly_val[11] = 0; +poly_val[12] = 0; +poly_val[13] = 0; +break; +case 1: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = 0; +poly_val[5] = 0; +poly_val[6] = -1; +poly_val[7] = 1; +poly_val[8] = 0; +poly_val[9] = 0; +poly_val[10] = 0; +poly_val[11] = 0; +poly_val[12] = 0; +poly_val[13] = 0; +break; +case 2: +poly_val[0] = 0; +poly_val[1] = 0; +poly_val[2] = 0; +poly_val[3] = 0; +poly_val[4] = 0; +poly_val[5] = 0; +poly_val[6] = 0; +poly_val[7] = 0; +poly_val[8] = 0; +poly_val[9] = 0; +poly_val[10] = 0; +poly_val[11] = 0; +poly_val[12] = 0; +poly_val[13] = 0; +break; +} +} +void beta_n6_m1(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*((1.0L/5544.0L)*x - 1.0L/2772.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(-67.0L/27720.0L*x + 139.0L/27720.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*((47.0L/3080.0L)*x - 51.0L/1540.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(-31.0L/504.0L*x + 71.0L/504.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*((95.0L/504.0L)*x - 115.0L/252.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(-33.0L/56.0L*x + 81.0L/56.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*((8.0L/7.0L)*x - 15.0L/7.0L) + 1; +poly_val[7] = x*(x*(-8.0L/7.0L*x + 9.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*((33.0L/56.0L)*x - 9.0L/28.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(-95.0L/504.0L*x + 55.0L/504.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*((31.0L/504.0L)*x - 11.0L/252.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(-47.0L/3080.0L*x + 39.0L/3080.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*((67.0L/27720.0L)*x - 31.0L/13860.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 2)*(-1.0L/5544.0L*x + 1.0L/5544.0L); +break; +case 1: +poly_val[0] = x*((1.0L/1848.0L)*x - 1.0L/1386.0L) + 1.0L/5544.0L; +poly_val[1] = x*(-67.0L/9240.0L*x + 139.0L/13860.0L) - 1.0L/385.0L; +poly_val[2] = x*((141.0L/3080.0L)*x - 51.0L/770.0L) + 1.0L/56.0L; +poly_val[3] = x*(-31.0L/168.0L*x + 71.0L/252.0L) - 5.0L/63.0L; +poly_val[4] = x*((95.0L/168.0L)*x - 115.0L/126.0L) + 15.0L/56.0L; +poly_val[5] = x*(-99.0L/56.0L*x + 81.0L/28.0L) - 6.0L/7.0L; +poly_val[6] = x*((24.0L/7.0L)*x - 30.0L/7.0L); +poly_val[7] = x*(-24.0L/7.0L*x + 18.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*((99.0L/56.0L)*x - 9.0L/14.0L) - 15.0L/56.0L; +poly_val[9] = x*(-95.0L/168.0L*x + 55.0L/252.0L) + 5.0L/63.0L; +poly_val[10] = x*((31.0L/168.0L)*x - 11.0L/126.0L) - 1.0L/56.0L; +poly_val[11] = x*(-141.0L/3080.0L*x + 39.0L/1540.0L) + 1.0L/385.0L; +poly_val[12] = x*((67.0L/9240.0L)*x - 31.0L/6930.0L) - 1.0L/5544.0L; +poly_val[13] = x*(-1.0L/1848.0L*x + 1.0L/2772.0L); +break; +case 2: +poly_val[0] = (1.0L/924.0L)*x - 1.0L/1386.0L; +poly_val[1] = -67.0L/4620.0L*x + 139.0L/13860.0L; +poly_val[2] = (141.0L/1540.0L)*x - 51.0L/770.0L; +poly_val[3] = -31.0L/84.0L*x + 71.0L/252.0L; +poly_val[4] = (95.0L/84.0L)*x - 115.0L/126.0L; +poly_val[5] = -99.0L/28.0L*x + 81.0L/28.0L; +poly_val[6] = (48.0L/7.0L)*x - 30.0L/7.0L; +poly_val[7] = -48.0L/7.0L*x + 18.0L/7.0L; +poly_val[8] = (99.0L/28.0L)*x - 9.0L/14.0L; +poly_val[9] = -95.0L/84.0L*x + 55.0L/252.0L; +poly_val[10] = (31.0L/84.0L)*x - 11.0L/126.0L; +poly_val[11] = -141.0L/1540.0L*x + 39.0L/1540.0L; +poly_val[12] = (67.0L/4620.0L)*x - 31.0L/6930.0L; +poly_val[13] = -1.0L/924.0L*x + 1.0L/2772.0L; +break; +} +} +void beta_n6_m2(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(-17.0L/33264.0L*x + 5.0L/3696.0L) - 1.0L/1008.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*((5573.0L/831600.0L)*x - 3721.0L/207900.0L) + 1577.0L/118800.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(-359.0L/8800.0L*x + 6791.0L/61600.0L) - 729.0L/8800.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*((929.0L/6048.0L)*x - 425.0L/1008.0L) + 647.0L/2016.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(-175.0L/432.0L*x + 3425.0L/3024.0L) - 2605.0L/3024.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*((87.0L/112.0L)*x - 15.0L/7.0L) + 153.0L/112.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(x*(x*(-27217.0L/25200.0L*x + 23617.0L/8400.0L) - 10417.0L/8400.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*((27217.0L/25200.0L)*x - 32617.0L/12600.0L) + 20017.0L/25200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(-87.0L/112.0L*x + 195.0L/112.0L) - 9.0L/16.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*((175.0L/432.0L)*x - 25.0L/28.0L) + 55.0L/144.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(-929.0L/6048.0L*x + 2095.0L/6048.0L) - 1031.0L/6048.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*((359.0L/8800.0L)*x - 2887.0L/30800.0L) + 279.0L/5600.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(-5573.0L/831600.0L*x + 4327.0L/277200.0L) - 2411.0L/277200.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 3)*(x*((17.0L/33264.0L)*x - 5.0L/4158.0L) + 23.0L/33264.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(-85.0L/33264.0L*x + 5.0L/924.0L) - 1.0L/336.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*((5573.0L/166320.0L)*x - 3721.0L/51975.0L) + 1577.0L/39600.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(-359.0L/1760.0L*x + 6791.0L/15400.0L) - 2187.0L/8800.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*((4645.0L/6048.0L)*x - 425.0L/252.0L) + 647.0L/672.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(-875.0L/432.0L*x + 3425.0L/756.0L) - 2605.0L/1008.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*((435.0L/112.0L)*x - 60.0L/7.0L) + 459.0L/112.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(x*(x*(-27217.0L/5040.0L*x + 23617.0L/2100.0L) - 10417.0L/2800.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*((27217.0L/5040.0L)*x - 32617.0L/3150.0L) + 20017.0L/8400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(-435.0L/112.0L*x + 195.0L/28.0L) - 27.0L/16.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*((875.0L/432.0L)*x - 25.0L/7.0L) + 55.0L/48.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(-4645.0L/6048.0L*x + 2095.0L/1512.0L) - 1031.0L/2016.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*((359.0L/1760.0L)*x - 2887.0L/7700.0L) + 837.0L/5600.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(-5573.0L/166320.0L*x + 4327.0L/69300.0L) - 2411.0L/92400.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 2)*(x*((85.0L/33264.0L)*x - 10.0L/2079.0L) + 23.0L/11088.0L); +break; +case 2: +poly_val[0] = x*(x*(-85.0L/8316.0L*x + 5.0L/308.0L) - 1.0L/168.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*((5573.0L/41580.0L)*x - 3721.0L/17325.0L) + 1577.0L/19800.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(-359.0L/440.0L*x + 20373.0L/15400.0L) - 2187.0L/4400.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*((4645.0L/1512.0L)*x - 425.0L/84.0L) + 647.0L/336.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(-875.0L/108.0L*x + 3425.0L/252.0L) - 2605.0L/504.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*((435.0L/28.0L)*x - 180.0L/7.0L) + 459.0L/56.0L) + 12.0L/7.0L; +poly_val[6] = x*(x*(-27217.0L/1260.0L*x + 23617.0L/700.0L) - 10417.0L/1400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*((27217.0L/1260.0L)*x - 32617.0L/1050.0L) + 20017.0L/4200.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(-435.0L/28.0L*x + 585.0L/28.0L) - 27.0L/8.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*((875.0L/108.0L)*x - 75.0L/7.0L) + 55.0L/24.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(-4645.0L/1512.0L*x + 2095.0L/504.0L) - 1031.0L/1008.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*((359.0L/440.0L)*x - 8661.0L/7700.0L) + 837.0L/2800.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(-5573.0L/41580.0L*x + 4327.0L/23100.0L) - 2411.0L/46200.0L) - 1.0L/16632.0L; +poly_val[13] = x*(x*((85.0L/8316.0L)*x - 10.0L/693.0L) + 23.0L/5544.0L); +break; +} +} +void beta_n6_m3(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*((28331.0L/19958400.0L)*x - 24881.0L/4989600.0L) + 6577.0L/1108800.0L) - 1021.0L/453600.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(-52651.0L/2851200.0L*x + 431789.0L/6652800.0L) - 171223.0L/2217600.0L) + 580429.0L/19958400.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*((15373.0L/138600.0L)*x - 216257.0L/554400.0L) + 1299.0L/2800.0L) - 23929.0L/138600.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(-11549.0L/28350.0L*x + 92891.0L/64800.0L) - 64361.0L/37800.0L) + 281189.0L/453600.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*((370289.0L/362880.0L)*x - 4021.0L/1120.0L) + 36659.0L/8640.0L) - 26755.0L/18144.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(-17663.0L/9600.0L*x + 434419.0L/67200.0L) - 169737.0L/22400.0L) + 170129.0L/67200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(x*(x*((30941.0L/12600.0L)*x - 72299.0L/8400.0L) + 18013.0L/1800.0L) - 757.0L/225.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(-30941.0L/12600.0L*x + 216277.0L/25200.0L) - 125161.0L/12600.0L) + 88541.0L/25200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*((17663.0L/9600.0L)*x - 107767.0L/16800.0L) + 83193.0L/11200.0L) - 46769.0L/16800.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(-370289.0L/362880.0L*x + 1289219.0L/362880.0L) - 166547.0L/40320.0L) + 116269.0L/72576.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*((11549.0L/28350.0L)*x - 30631.0L/21600.0L) + 41743.0L/25200.0L) - 73589.0L/113400.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(-15373.0L/138600.0L*x + 214187.0L/554400.0L) - 249.0L/550.0L) + 8969.0L/50400.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*((52651.0L/2851200.0L)*x - 321133.0L/4989600.0L) + 251417.0L/3326400.0L) - 148399.0L/4989600.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 4)*(x*(x*(-28331.0L/19958400.0L*x + 3659.0L/739200.0L) - 503.0L/86400.0L) + 6533.0L/2851200.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*((28331.0L/2851200.0L)*x - 24881.0L/831600.0L) + 6577.0L/221760.0L) - 1021.0L/113400.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(-368557.0L/2851200.0L*x + 431789.0L/1108800.0L) - 171223.0L/443520.0L) + 580429.0L/4989600.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*((15373.0L/19800.0L)*x - 216257.0L/92400.0L) + 1299.0L/560.0L) - 23929.0L/34650.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(-11549.0L/4050.0L*x + 92891.0L/10800.0L) - 64361.0L/7560.0L) + 281189.0L/113400.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*((370289.0L/51840.0L)*x - 12063.0L/560.0L) + 36659.0L/1728.0L) - 26755.0L/4536.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(-123641.0L/9600.0L*x + 434419.0L/11200.0L) - 169737.0L/4480.0L) + 170129.0L/16800.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(x*(x*((30941.0L/1800.0L)*x - 72299.0L/1400.0L) + 18013.0L/360.0L) - 3028.0L/225.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(-30941.0L/1800.0L*x + 216277.0L/4200.0L) - 125161.0L/2520.0L) + 88541.0L/6300.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*((123641.0L/9600.0L)*x - 107767.0L/2800.0L) + 83193.0L/2240.0L) - 46769.0L/4200.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(-370289.0L/51840.0L*x + 1289219.0L/60480.0L) - 166547.0L/8064.0L) + 116269.0L/18144.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*((11549.0L/4050.0L)*x - 30631.0L/3600.0L) + 41743.0L/5040.0L) - 73589.0L/28350.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(-15373.0L/19800.0L*x + 214187.0L/92400.0L) - 249.0L/110.0L) + 8969.0L/12600.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*((368557.0L/2851200.0L)*x - 321133.0L/831600.0L) + 251417.0L/665280.0L) - 148399.0L/1247400.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 3)*(x*(x*(-28331.0L/2851200.0L*x + 3659.0L/123200.0L) - 503.0L/17280.0L) + 6533.0L/712800.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*((28331.0L/475200.0L)*x - 24881.0L/166320.0L) + 6577.0L/55440.0L) - 1021.0L/37800.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(-368557.0L/475200.0L*x + 431789.0L/221760.0L) - 171223.0L/110880.0L) + 580429.0L/1663200.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*((15373.0L/3300.0L)*x - 216257.0L/18480.0L) + 1299.0L/140.0L) - 23929.0L/11550.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(-11549.0L/675.0L*x + 92891.0L/2160.0L) - 64361.0L/1890.0L) + 281189.0L/37800.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*((370289.0L/8640.0L)*x - 12063.0L/112.0L) + 36659.0L/432.0L) - 26755.0L/1512.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(-123641.0L/1600.0L*x + 434419.0L/2240.0L) - 169737.0L/1120.0L) + 170129.0L/5600.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(x*(x*((30941.0L/300.0L)*x - 72299.0L/280.0L) + 18013.0L/90.0L) - 3028.0L/75.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(-30941.0L/300.0L*x + 216277.0L/840.0L) - 125161.0L/630.0L) + 88541.0L/2100.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*((123641.0L/1600.0L)*x - 107767.0L/560.0L) + 83193.0L/560.0L) - 46769.0L/1400.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(-370289.0L/8640.0L*x + 1289219.0L/12096.0L) - 166547.0L/2016.0L) + 116269.0L/6048.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*((11549.0L/675.0L)*x - 30631.0L/720.0L) + 41743.0L/1260.0L) - 73589.0L/9450.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(-15373.0L/3300.0L*x + 214187.0L/18480.0L) - 498.0L/55.0L) + 8969.0L/4200.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*((368557.0L/475200.0L)*x - 321133.0L/166320.0L) + 251417.0L/166320.0L) - 148399.0L/415800.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 2)*(x*(x*(-28331.0L/475200.0L*x + 3659.0L/24640.0L) - 503.0L/4320.0L) + 6533.0L/237600.0L); +break; +} +} +void beta_n6_m4(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(-78457.0L/17107200.0L*x + 353087.0L/17107200.0L) - 211223.0L/5987520.0L) + 324853.0L/11975040.0L) - 17057.0L/2177280.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*((7139707.0L/119750400.0L)*x - 3213169.0L/11975040.0L) + 4576529.0L/9979200.0L) - 21111899.0L/59875200.0L) + 12185113.0L/119750400.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(-396659.0L/1108800.0L*x + 198349.0L/123200.0L) - 305099.0L/110880.0L) + 36643.0L/17325.0L) - 9017.0L/14784.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*((3570011.0L/2721600.0L)*x - 8033279.0L/1360800.0L) + 13728709.0L/1360800.0L) - 1506979.0L/194400.0L) + 243283.0L/108864.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(-7140163.0L/2177280.0L*x + 4590463.0L/311040.0L) - 114395.0L/4536.0L) + 21089681.0L/1088640.0L) - 12192451.0L/2177280.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*((793363.0L/134400.0L)*x - 595053.0L/22400.0L) + 21787.0L/480.0L) - 468581.0L/13440.0L) + 90827.0L/8960.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(-510023.0L/64800.0L*x + 459029.0L/12960.0L) - 13724287.0L/226800.0L) + 5272181.0L/113400.0L) - 881767.0L/64800.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*((510023.0L/64800.0L)*x - 1147531.0L/32400.0L) + 182975.0L/3024.0L) - 10548199.0L/226800.0L) + 248141.0L/18144.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(-793363.0L/134400.0L*x + 1189983.0L/44800.0L) - 1524721.0L/33600.0L) + 2345149.0L/67200.0L) - 92069.0L/8960.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*((7140163.0L/2177280.0L)*x - 16064113.0L/1088640.0L) + 2744477.0L/108864.0L) - 21115391.0L/1088640.0L) + 12416921.0L/2177280.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(-3570011.0L/2721600.0L*x + 16063541.0L/2721600.0L) - 182969.0L/18144.0L) + 37717.0L/4860.0L) - 1239151.0L/544320.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*((396659.0L/1108800.0L)*x - 2833.0L/1760.0L) + 1524793.0L/554400.0L) - 1173593.0L/554400.0L) + 20827.0L/33600.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(-7139707.0L/119750400.0L*x + 32125673.0L/119750400.0L) - 196051.0L/427680.0L) + 21126353.0L/59875200.0L) - 494243.0L/4790016.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 5)*(x*(x*(x*((78457.0L/17107200.0L)*x - 176513.0L/8553600.0L) + 43987.0L/1247400.0L) - 1625177.0L/59875200.0L) + 27131.0L/3421440.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(-78457.0L/1900800.0L*x + 353087.0L/2138400.0L) - 211223.0L/855360.0L) + 324853.0L/1995840.0L) - 17057.0L/435456.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*((7139707.0L/13305600.0L)*x - 3213169.0L/1496880.0L) + 4576529.0L/1425600.0L) - 21111899.0L/9979200.0L) + 12185113.0L/23950080.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(-396659.0L/123200.0L*x + 198349.0L/15400.0L) - 305099.0L/15840.0L) + 73286.0L/5775.0L) - 45085.0L/14784.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*((3570011.0L/302400.0L)*x - 8033279.0L/170100.0L) + 13728709.0L/194400.0L) - 1506979.0L/32400.0L) + 1216415.0L/108864.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(-7140163.0L/241920.0L*x + 4590463.0L/38880.0L) - 114395.0L/648.0L) + 21089681.0L/181440.0L) - 12192451.0L/435456.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*((2380089.0L/44800.0L)*x - 595053.0L/2800.0L) + 152509.0L/480.0L) - 468581.0L/2240.0L) + 90827.0L/1792.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(x*(x*(x*(x*(-510023.0L/7200.0L*x + 459029.0L/1620.0L) - 13724287.0L/32400.0L) + 5272181.0L/18900.0L) - 881767.0L/12960.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*((510023.0L/7200.0L)*x - 1147531.0L/4050.0L) + 182975.0L/432.0L) - 10548199.0L/37800.0L) + 1240705.0L/18144.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(-2380089.0L/44800.0L*x + 1189983.0L/5600.0L) - 1524721.0L/4800.0L) + 2345149.0L/11200.0L) - 92069.0L/1792.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*((7140163.0L/241920.0L)*x - 16064113.0L/136080.0L) + 2744477.0L/15552.0L) - 21115391.0L/181440.0L) + 12416921.0L/435456.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(-3570011.0L/302400.0L*x + 16063541.0L/340200.0L) - 182969.0L/2592.0L) + 37717.0L/810.0L) - 1239151.0L/108864.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*((396659.0L/123200.0L)*x - 2833.0L/220.0L) + 1524793.0L/79200.0L) - 1173593.0L/92400.0L) + 20827.0L/6720.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(-7139707.0L/13305600.0L*x + 32125673.0L/14968800.0L) - 1372357.0L/427680.0L) + 21126353.0L/9979200.0L) - 2471215.0L/4790016.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 4)*(x*(x*(x*((78457.0L/1900800.0L)*x - 176513.0L/1069200.0L) + 43987.0L/178200.0L) - 1625177.0L/9979200.0L) + 27131.0L/684288.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(-78457.0L/237600.0L*x + 2471609.0L/2138400.0L) - 211223.0L/142560.0L) + 324853.0L/399168.0L) - 17057.0L/108864.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*((7139707.0L/1663200.0L)*x - 3213169.0L/213840.0L) + 4576529.0L/237600.0L) - 21111899.0L/1995840.0L) + 12185113.0L/5987520.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(-396659.0L/15400.0L*x + 198349.0L/2200.0L) - 305099.0L/2640.0L) + 73286.0L/1155.0L) - 45085.0L/3696.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*((3570011.0L/37800.0L)*x - 8033279.0L/24300.0L) + 13728709.0L/32400.0L) - 1506979.0L/6480.0L) + 1216415.0L/27216.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(-7140163.0L/30240.0L*x + 32133241.0L/38880.0L) - 114395.0L/108.0L) + 21089681.0L/36288.0L) - 12192451.0L/108864.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*((2380089.0L/5600.0L)*x - 595053.0L/400.0L) + 152509.0L/80.0L) - 468581.0L/448.0L) + 90827.0L/448.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(x*(x*(x*(x*(-510023.0L/900.0L*x + 3213203.0L/1620.0L) - 13724287.0L/5400.0L) + 5272181.0L/3780.0L) - 881767.0L/3240.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*((510023.0L/900.0L)*x - 8032717.0L/4050.0L) + 182975.0L/72.0L) - 10548199.0L/7560.0L) + 1240705.0L/4536.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(-2380089.0L/5600.0L*x + 1189983.0L/800.0L) - 1524721.0L/800.0L) + 2345149.0L/2240.0L) - 92069.0L/448.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*((7140163.0L/30240.0L)*x - 16064113.0L/19440.0L) + 2744477.0L/2592.0L) - 21115391.0L/36288.0L) + 12416921.0L/108864.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(-3570011.0L/37800.0L*x + 16063541.0L/48600.0L) - 182969.0L/432.0L) + 37717.0L/162.0L) - 1239151.0L/27216.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*((396659.0L/15400.0L)*x - 19831.0L/220.0L) + 1524793.0L/13200.0L) - 1173593.0L/18480.0L) + 20827.0L/1680.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(-7139707.0L/1663200.0L*x + 32125673.0L/2138400.0L) - 1372357.0L/71280.0L) + 21126353.0L/1995840.0L) - 2471215.0L/1197504.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 3)*(x*(x*(x*((78457.0L/237600.0L)*x - 1235591.0L/1069200.0L) + 43987.0L/29700.0L) - 1625177.0L/1995840.0L) + 27131.0L/171072.0L); +break; +} +} +void beta_n6_m5(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7235.0L/456192.0L)*x - 74611.0L/855360.0L) + 2208637.0L/11404800.0L) - 412957.0L/1900800.0L) + 5907001.0L/47900160.0L) - 3433.0L/120960.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-16459627.0L/79833600.0L*x + 24689461.0L/21772800.0L) - 43068409.0L/17107200.0L) + 278363.0L/98560.0L) - 383954369.0L/239500800.0L) + 17675923.0L/47900160.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((24689443.0L/19958400.0L)*x - 3394801.0L/498960.0L) + 301478693.0L/19958400.0L) - 56368357.0L/3326400.0L) + 38395529.0L/3991680.0L) - 345319.0L/155925.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1645963.0L/362880.0L*x + 27158407.0L/1088640.0L) - 7178059.0L/129600.0L) + 18789413.0L/302400.0L) - 191980489.0L/5443200.0L) + 2105623.0L/259200.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((16459631.0L/1451520.0L)*x - 67896011.0L/1088640.0L) + 602956499.0L/4354560.0L) - 37578791.0L/241920.0L) + 76794211.0L/870912.0L) - 2764627.0L/136080.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-9875779.0L/483840.0L*x + 7759543.0L/69120.0L) - 301478033.0L/1209600.0L) + 1789467.0L/6400.0L) - 76796659.0L/483840.0L) + 17696393.0L/483840.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((5443.0L/200.0L)*x - 9699427.0L/64800.0L) + 1794511.0L/5400.0L) - 59649.0L/160.0L) + 5999921.0L/28350.0L) - 1474523.0L/30240.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-5443.0L/200.0L*x + 387977.0L/2592.0L) - 10767061.0L/32400.0L) + 671053.0L/1800.0L) - 2400023.0L/11340.0L) + 22110101.0L/453600.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((9875779.0L/483840.0L)*x - 1697399.0L/15120.0L) + 86136463.0L/345600.0L) - 112737253.0L/403200.0L) + 384008213.0L/2419200.0L) - 22100089.0L/604800.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-16459631.0L/1451520.0L*x + 271583779.0L/4354560.0L) - 100492529.0L/725760.0L) + 37579201.0L/241920.0L) - 76801705.0L/870912.0L) + 3272737.0L/161280.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1645963.0L/362880.0L)*x - 6789593.0L/272160.0L) + 43068229.0L/777600.0L) - 695913.0L/11200.0L) + 7680115.0L/217728.0L) - 315497.0L/38880.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-24689443.0L/19958400.0L*x + 135791833.0L/19958400.0L) - 150738829.0L/9979200.0L) + 11273813.0L/665280.0L) - 192000847.0L/19958400.0L) + 802967.0L/362880.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((16459627.0L/79833600.0L)*x - 176353.0L/155520.0L) + 200985157.0L/79833600.0L) - 5368489.0L/1900800.0L) + 76799599.0L/47900160.0L) - 3679981.0L/9979200.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 6)*(x*(x*(x*(x*(-7235.0L/456192.0L*x + 596887.0L/6842880.0L) - 3312943.0L/17107200.0L) + 412961.0L/1900800.0L) - 29538071.0L/239500800.0L) + 6793517.0L/239500800.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*((7235.0L/41472.0L)*x - 74611.0L/85536.0L) + 2208637.0L/1267200.0L) - 412957.0L/237600.0L) + 5907001.0L/6842880.0L) - 3433.0L/20160.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-16459627.0L/7257600.0L*x + 24689461.0L/2177280.0L) - 43068409.0L/1900800.0L) + 278363.0L/12320.0L) - 383954369.0L/34214400.0L) + 17675923.0L/7983360.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*((24689443.0L/1814400.0L)*x - 3394801.0L/49896.0L) + 301478693.0L/2217600.0L) - 56368357.0L/415800.0L) + 38395529.0L/570240.0L) - 690638.0L/51975.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-18105593.0L/362880.0L*x + 27158407.0L/108864.0L) - 7178059.0L/14400.0L) + 18789413.0L/37800.0L) - 191980489.0L/777600.0L) + 2105623.0L/43200.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*((181055941.0L/1451520.0L)*x - 67896011.0L/108864.0L) + 602956499.0L/483840.0L) - 37578791.0L/30240.0L) + 76794211.0L/124416.0L) - 2764627.0L/22680.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-108633569.0L/483840.0L*x + 7759543.0L/6912.0L) - 301478033.0L/134400.0L) + 1789467.0L/800.0L) - 76796659.0L/69120.0L) + 17696393.0L/80640.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((59873.0L/200.0L)*x - 9699427.0L/6480.0L) + 1794511.0L/600.0L) - 59649.0L/20.0L) + 5999921.0L/4050.0L) - 1474523.0L/5040.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-59873.0L/200.0L*x + 1939885.0L/1296.0L) - 10767061.0L/3600.0L) + 671053.0L/225.0L) - 2400023.0L/1620.0L) + 22110101.0L/75600.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*((108633569.0L/483840.0L)*x - 1697399.0L/1512.0L) + 86136463.0L/38400.0L) - 112737253.0L/50400.0L) + 384008213.0L/345600.0L) - 22100089.0L/100800.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-181055941.0L/1451520.0L*x + 271583779.0L/435456.0L) - 100492529.0L/80640.0L) + 37579201.0L/30240.0L) - 76801705.0L/124416.0L) + 3272737.0L/26880.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*((18105593.0L/362880.0L)*x - 6789593.0L/27216.0L) + 43068229.0L/86400.0L) - 695913.0L/1400.0L) + 7680115.0L/31104.0L) - 315497.0L/6480.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(-24689443.0L/1814400.0L*x + 135791833.0L/1995840.0L) - 150738829.0L/1108800.0L) + 11273813.0L/83160.0L) - 192000847.0L/2851200.0L) + 802967.0L/60480.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*((16459627.0L/7257600.0L)*x - 176353.0L/15552.0L) + 200985157.0L/8870400.0L) - 5368489.0L/237600.0L) + 76799599.0L/6842880.0L) - 3679981.0L/1663200.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 5)*(x*(x*(x*(x*(-7235.0L/41472.0L*x + 596887.0L/684288.0L) - 3312943.0L/1900800.0L) + 412961.0L/237600.0L) - 29538071.0L/34214400.0L) + 6793517.0L/39916800.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*((36175.0L/20736.0L)*x - 74611.0L/9504.0L) + 2208637.0L/158400.0L) - 2890699.0L/237600.0L) + 5907001.0L/1140480.0L) - 3433.0L/4032.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(-16459627.0L/725760.0L*x + 24689461.0L/241920.0L) - 43068409.0L/237600.0L) + 278363.0L/1760.0L) - 383954369.0L/5702400.0L) + 17675923.0L/1596672.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*((24689443.0L/181440.0L)*x - 3394801.0L/5544.0L) + 301478693.0L/277200.0L) - 56368357.0L/59400.0L) + 38395529.0L/95040.0L) - 690638.0L/10395.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(-18105593.0L/36288.0L*x + 27158407.0L/12096.0L) - 7178059.0L/1800.0L) + 18789413.0L/5400.0L) - 191980489.0L/129600.0L) + 2105623.0L/8640.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*((181055941.0L/145152.0L)*x - 67896011.0L/12096.0L) + 602956499.0L/60480.0L) - 37578791.0L/4320.0L) + 76794211.0L/20736.0L) - 2764627.0L/4536.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(-108633569.0L/48384.0L*x + 7759543.0L/768.0L) - 301478033.0L/16800.0L) + 12526269.0L/800.0L) - 76796659.0L/11520.0L) + 17696393.0L/16128.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*((59873.0L/20.0L)*x - 9699427.0L/720.0L) + 1794511.0L/75.0L) - 417543.0L/20.0L) + 5999921.0L/675.0L) - 1474523.0L/1008.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(-59873.0L/20.0L*x + 1939885.0L/144.0L) - 10767061.0L/450.0L) + 4697371.0L/225.0L) - 2400023.0L/270.0L) + 22110101.0L/15120.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*((108633569.0L/48384.0L)*x - 1697399.0L/168.0L) + 86136463.0L/4800.0L) - 112737253.0L/7200.0L) + 384008213.0L/57600.0L) - 22100089.0L/20160.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(-181055941.0L/145152.0L*x + 271583779.0L/48384.0L) - 100492529.0L/10080.0L) + 37579201.0L/4320.0L) - 76801705.0L/20736.0L) + 3272737.0L/5376.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*((18105593.0L/36288.0L)*x - 6789593.0L/3024.0L) + 43068229.0L/10800.0L) - 695913.0L/200.0L) + 7680115.0L/5184.0L) - 315497.0L/1296.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(-24689443.0L/181440.0L*x + 135791833.0L/221760.0L) - 150738829.0L/138600.0L) + 11273813.0L/11880.0L) - 192000847.0L/475200.0L) + 802967.0L/12096.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*((16459627.0L/725760.0L)*x - 176353.0L/1728.0L) + 200985157.0L/1108800.0L) - 37579423.0L/237600.0L) + 76799599.0L/1140480.0L) - 3679981.0L/332640.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 4)*(x*(x*(x*(x*(-36175.0L/20736.0L*x + 596887.0L/76032.0L) - 3312943.0L/237600.0L) + 2890727.0L/237600.0L) - 29538071.0L/5702400.0L) + 6793517.0L/7983360.0L); +break; +} +} +void beta_n6_m6(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1006447.0L/17740800.0L*x + 176631449.0L/479001600.0L) - 108089.0L/107520.0L) + 12827359.0L/8709120.0L) - 53326271.0L/43545600.0L) + 318527.0L/580608.0L) - 644497.0L/6220800.0L) - 139.0L/8709120.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13083811.0L/17740800.0L)*x - 574052209.0L/119750400.0L) + 695552713.0L/53222400.0L) - 104222291.0L/5443200.0L) + 693241553.0L/43545600.0L) - 25880341.0L/3628800.0L) + 8378479.0L/6220800.0L) + 121.0L/453600.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13083811.0L/2956800.0L*x + 51026863.0L/1774080.0L) - 6259974401.0L/79833600.0L) + 33351133.0L/290304.0L) - 693241613.0L/7257600.0L) + 103521473.0L/2419200.0L) - 1675691.0L/207360.0L) - 625.0L/290304.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13083811.0L/806400.0L)*x - 1148104417.0L/10886400.0L) + 2086658129.0L/7257600.0L) - 458578079.0L/1088640.0L) + 7625658583.0L/21772800.0L) - 569368571.0L/3628800.0L) + 92161379.0L/3110400.0L) + 3011.0L/272160.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13083811.0L/322560.0L*x + 2296208833.0L/8709120.0L) - 417331625.0L/580608.0L) + 9171561617.0L/8709120.0L) - 7625659477.0L/8709120.0L) + 1138737557.0L/2903040.0L) - 92158499.0L/1244160.0L) - 33853.0L/967680.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13083811.0L/179200.0L)*x - 11959421.0L/25200.0L) + 1251994873.0L/967680.0L) - 114644521.0L/60480.0L) + 7625660323.0L/4838400.0L) - 4744739.0L/6720.0L) + 92155001.0L/691200.0L) + 1039.0L/15120.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-13083811.0L/134400.0L*x + 328029833.0L/518400.0L) - 298094017.0L/172800.0L) + 1310223109.0L/518400.0L) - 1089380149.0L/518400.0L) + 162676657.0L/172800.0L) - 645061703.0L/3628800.0L) - 44473.0L/518400.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13083811.0L/134400.0L)*x - 229620883.0L/362880.0L) + 2086658117.0L/1209600.0L) - 458578093.0L/181440.0L) + 7625661583.0L/3628800.0L) - 569367709.0L/604800.0L) + 3685967.0L/20736.0L) + 1039.0L/15120.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13083811.0L/179200.0L*x + 765402943.0L/1612800.0L) - 6259974347.0L/4838400.0L) + 1834312393.0L/967680.0L) - 7625661913.0L/4838400.0L) + 1138734017.0L/1612800.0L) - 92147879.0L/691200.0L) - 33853.0L/967680.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13083811.0L/322560.0L)*x - 574052207.0L/2177280.0L) + 139110541.0L/193536.0L) - 1146445259.0L/1088640.0L) + 7625662027.0L/8709120.0L) - 284683153.0L/725760.0L) + 92147789.0L/1244160.0L) + 3011.0L/272160.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13083811.0L/806400.0L*x + 2296208827.0L/21772800.0L) - 139110541.0L/483840.0L) + 366862487.0L/870912.0L) - 7625661943.0L/21772800.0L) + 227746279.0L/1451520.0L) - 92148581.0L/3110400.0L) - 625.0L/290304.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13083811.0L/2956800.0L)*x - 127567157.0L/4435200.0L) + 569088577.0L/7257600.0L) - 208444597.0L/1814400.0L) + 693241973.0L/7257600.0L) - 51760477.0L/1209600.0L) + 8377249.0L/1036800.0L) + 121.0L/453600.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13083811.0L/17740800.0L*x + 91848353.0L/19160064.0L) - 2086658117.0L/159667200.0L) + 166755679.0L/8709120.0L) - 693241943.0L/43545600.0L) + 103520903.0L/14515200.0L) - 1675469.0L/1244160.0L) - 139.0L/8709120.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 7)*(x*(x*(x*(x*(x*((1006447.0L/17740800.0L)*x - 3154133.0L/8553600.0L) + 22930309.0L/22809600.0L) - 11453.0L/7776.0L) + 7618043.0L/6220800.0L) - 142199.0L/259200.0L) + 4510921.0L/43545600.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13083811.0L/17740800.0L*x + 176631449.0L/39916800.0L) - 1188979.0L/107520.0L) + 12827359.0L/870912.0L) - 53326271.0L/4838400.0L) + 318527.0L/72576.0L) - 4511479.0L/6220800.0L) - 139.0L/1451520.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/17740800.0L)*x - 574052209.0L/9979200.0L) + 695552713.0L/4838400.0L) - 104222291.0L/544320.0L) + 693241553.0L/4838400.0L) - 25880341.0L/453600.0L) + 58649353.0L/6220800.0L) + 121.0L/75600.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/2956800.0L*x + 51026863.0L/147840.0L) - 6259974401.0L/7257600.0L) + 166755665.0L/145152.0L) - 693241613.0L/806400.0L) + 103521473.0L/302400.0L) - 11729837.0L/207360.0L) - 625.0L/48384.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/806400.0L)*x - 1148104417.0L/907200.0L) + 22953239419.0L/7257600.0L) - 458578079.0L/108864.0L) + 7625658583.0L/2419200.0L) - 569368571.0L/453600.0L) + 645129653.0L/3110400.0L) + 3011.0L/45360.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/322560.0L*x + 2296208833.0L/725760.0L) - 4590647875.0L/580608.0L) + 9171561617.0L/870912.0L) - 7625659477.0L/967680.0L) + 1138737557.0L/362880.0L) - 645109493.0L/1244160.0L) - 33853.0L/161280.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/179200.0L)*x - 11959421.0L/2100.0L) + 13771943603.0L/967680.0L) - 114644521.0L/6048.0L) + 7625660323.0L/537600.0L) - 4744739.0L/840.0L) + 645085007.0L/691200.0L) + 1039.0L/2520.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-170089543.0L/134400.0L*x + 328029833.0L/43200.0L) - 3279034187.0L/172800.0L) + 1310223109.0L/51840.0L) - 1089380149.0L/57600.0L) + 162676657.0L/21600.0L) - 645061703.0L/518400.0L) - 44473.0L/86400.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/134400.0L)*x - 229620883.0L/30240.0L) + 22953239287.0L/1209600.0L) - 458578093.0L/18144.0L) + 7625661583.0L/403200.0L) - 569367709.0L/75600.0L) + 25801769.0L/20736.0L) + 1039.0L/2520.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/179200.0L*x + 765402943.0L/134400.0L) - 68859717817.0L/4838400.0L) + 1834312393.0L/96768.0L) - 7625661913.0L/537600.0L) + 1138734017.0L/201600.0L) - 645035153.0L/691200.0L) - 33853.0L/161280.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/322560.0L)*x - 574052207.0L/181440.0L) + 1530215951.0L/193536.0L) - 1146445259.0L/108864.0L) + 7625662027.0L/967680.0L) - 284683153.0L/90720.0L) + 645034523.0L/1244160.0L) + 3011.0L/45360.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/806400.0L*x + 2296208827.0L/1814400.0L) - 1530215951.0L/483840.0L) + 1834312435.0L/435456.0L) - 7625661943.0L/2419200.0L) + 227746279.0L/181440.0L) - 645040067.0L/3110400.0L) - 625.0L/48384.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/2956800.0L)*x - 127567157.0L/369600.0L) + 6259974347.0L/7257600.0L) - 208444597.0L/181440.0L) + 693241973.0L/806400.0L) - 51760477.0L/151200.0L) + 58640743.0L/1036800.0L) + 121.0L/75600.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/17740800.0L*x + 91848353.0L/1596672.0L) - 2086658117.0L/14515200.0L) + 166755679.0L/870912.0L) - 693241943.0L/4838400.0L) + 103520903.0L/1814400.0L) - 11728283.0L/1244160.0L) - 139.0L/1451520.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 6)*(x*(x*(x*(x*(x*((13083811.0L/17740800.0L)*x - 3154133.0L/712800.0L) + 22930309.0L/2073600.0L) - 57265.0L/3888.0L) + 7618043.0L/691200.0L) - 142199.0L/32400.0L) + 4510921.0L/6220800.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13083811.0L/1478400.0L*x + 176631449.0L/3628800.0L) - 1188979.0L/10752.0L) + 12827359.0L/96768.0L) - 53326271.0L/604800.0L) + 318527.0L/10368.0L) - 4511479.0L/1036800.0L) - 139.0L/290304.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/1478400.0L)*x - 574052209.0L/907200.0L) + 695552713.0L/483840.0L) - 104222291.0L/60480.0L) + 693241553.0L/604800.0L) - 25880341.0L/64800.0L) + 58649353.0L/1036800.0L) + 121.0L/15120.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/246400.0L*x + 51026863.0L/13440.0L) - 6259974401.0L/725760.0L) + 166755665.0L/16128.0L) - 693241613.0L/100800.0L) + 103521473.0L/43200.0L) - 11729837.0L/34560.0L) - 3125.0L/48384.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/67200.0L)*x - 12629148587.0L/907200.0L) + 22953239419.0L/725760.0L) - 458578079.0L/12096.0L) + 7625658583.0L/302400.0L) - 569368571.0L/64800.0L) + 645129653.0L/518400.0L) + 3011.0L/9072.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/26880.0L*x + 25258297163.0L/725760.0L) - 22953239375.0L/290304.0L) + 9171561617.0L/96768.0L) - 7625659477.0L/120960.0L) + 1138737557.0L/51840.0L) - 645109493.0L/207360.0L) - 33853.0L/32256.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((510268629.0L/44800.0L)*x - 131553631.0L/2100.0L) + 13771943603.0L/96768.0L) - 114644521.0L/672.0L) + 7625660323.0L/67200.0L) - 4744739.0L/120.0L) + 645085007.0L/115200.0L) + 1039.0L/504.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(-170089543.0L/11200.0L*x + 3608328163.0L/43200.0L) - 3279034187.0L/17280.0L) + 1310223109.0L/5760.0L) - 1089380149.0L/7200.0L) + 1138736599.0L/21600.0L) - 645061703.0L/86400.0L) - 44473.0L/17280.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/11200.0L)*x - 2525829713.0L/30240.0L) + 22953239287.0L/120960.0L) - 458578093.0L/2016.0L) + 7625661583.0L/50400.0L) - 569367709.0L/10800.0L) + 25801769.0L/3456.0L) + 1039.0L/504.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-510268629.0L/44800.0L*x + 8419432373.0L/134400.0L) - 68859717817.0L/483840.0L) + 1834312393.0L/10752.0L) - 7625661913.0L/67200.0L) + 1138734017.0L/28800.0L) - 645035153.0L/115200.0L) - 33853.0L/32256.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/26880.0L)*x - 6314574277.0L/181440.0L) + 7651079755.0L/96768.0L) - 1146445259.0L/12096.0L) + 7625662027.0L/120960.0L) - 284683153.0L/12960.0L) + 645034523.0L/207360.0L) + 3011.0L/9072.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/67200.0L*x + 25258297097.0L/1814400.0L) - 1530215951.0L/48384.0L) + 1834312435.0L/48384.0L) - 7625661943.0L/302400.0L) + 227746279.0L/25920.0L) - 645040067.0L/518400.0L) - 3125.0L/48384.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((170089543.0L/246400.0L)*x - 127567157.0L/33600.0L) + 6259974347.0L/725760.0L) - 208444597.0L/20160.0L) + 693241973.0L/100800.0L) - 51760477.0L/21600.0L) + 58640743.0L/172800.0L) + 121.0L/15120.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-170089543.0L/1478400.0L*x + 91848353.0L/145152.0L) - 2086658117.0L/1451520.0L) + 166755679.0L/96768.0L) - 693241943.0L/604800.0L) + 103520903.0L/259200.0L) - 11728283.0L/207360.0L) - 139.0L/290304.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 5)*(x*(x*(x*(x*(x*((13083811.0L/1478400.0L)*x - 3154133.0L/64800.0L) + 22930309.0L/207360.0L) - 57265.0L/432.0L) + 7618043.0L/86400.0L) - 995393.0L/32400.0L) + 4510921.0L/1036800.0L); +break; +} +} +void beta_n6_m7(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((4510921.0L/21772800.0L)*x - 4510921.0L/2903040.0L) + 48084247.0L/9580032.0L) - 180783353.0L/19958400.0L) + 7164511.0L/725760.0L) - 47200687.0L/7257600.0L) + 8712997.0L/3628800.0L) - 1392397.0L/3628800.0L) - 31.0L/2419200.0L) - 139.0L/8709120.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58641973.0L/21772800.0L*x + 58641973.0L/2903040.0L) - 625095211.0L/9580032.0L) + 56404406137.0L/479001600.0L) - 10245250733.0L/79833600.0L) + 3681653593.0L/43545600.0L) - 75512639.0L/2419200.0L) + 14480911.0L/2903040.0L) + 41.0L/241920.0L) + 121.0L/453600.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58641973.0L/3628800.0L)*x - 58641973.0L/483840.0L) + 625095211.0L/1596672.0L) - 28202203069.0L/39916800.0L) + 30735752207.0L/39916800.0L) - 920413399.0L/1814400.0L) + 226537907.0L/1209600.0L) - 36202223.0L/1209600.0L) - 601.0L/604800.0L) - 625.0L/290304.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/10886400.0L*x + 645061703.0L/1451520.0L) - 625095211.0L/435456.0L) + 18801468713.0L/7257600.0L) - 5122625369.0L/1814400.0L) + 4499798839.0L/2419200.0L) - 2491916837.0L/3628800.0L) + 113778281.0L/1036800.0L) + 151.0L/48384.0L) + 3011.0L/272160.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/4354560.0L)*x - 645061703.0L/580608.0L) + 3125476055.0L/870912.0L) - 2820220307.0L/435456.0L) + 170754179.0L/24192.0L) - 20249094757.0L/4354560.0L) + 17304977.0L/10080.0L) - 12444493.0L/45360.0L) - 59.0L/10752.0L) - 33853.0L/967680.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/2419200.0L*x + 645061703.0L/322560.0L) - 625095211.0L/96768.0L) + 56404406141.0L/4838400.0L) - 1229430089.0L/96768.0L) + 40498189451.0L/4838400.0L) - 830638849.0L/268800.0L) + 265482583.0L/537600.0L) + 971.0L/201600.0L) + 1039.0L/15120.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((645061703.0L/1814400.0L)*x - 645061703.0L/241920.0L) + 625095211.0L/72576.0L) - 447654017.0L/28800.0L) + 487869083.0L/28800.0L) - 241060651.0L/21600.0L) + 13184743.0L/3200.0L) - 79644851.0L/120960.0L) - 44473.0L/518400.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/1814400.0L*x + 645061703.0L/241920.0L) - 625095211.0L/72576.0L) + 56404406143.0L/3628800.0L) - 1280656343.0L/75600.0L) + 40498189271.0L/3628800.0L) - 276879593.0L/67200.0L) + 796449691.0L/1209600.0L) - 971.0L/201600.0L) + 1039.0L/15120.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/2419200.0L)*x - 645061703.0L/322560.0L) + 625095211.0L/96768.0L) - 440659423.0L/37800.0L) + 15367876117.0L/1209600.0L) - 20249094583.0L/2419200.0L) + 1245958141.0L/403200.0L) - 199112773.0L/403200.0L) + 59.0L/10752.0L) - 33853.0L/967680.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/4354560.0L*x + 645061703.0L/580608.0L) - 3125476055.0L/870912.0L) + 3760293743.0L/580608.0L) - 2049050149.0L/290304.0L) + 13499396353.0L/2903040.0L) - 2491916263.0L/1451520.0L) + 796452497.0L/2903040.0L) - 151.0L/48384.0L) + 3011.0L/272160.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/10886400.0L)*x - 645061703.0L/1451520.0L) + 625095211.0L/435456.0L) - 28202203073.0L/10886400.0L) + 2049050149.0L/725760.0L) - 10124547239.0L/5443200.0L) + 830638759.0L/1209600.0L) - 56889551.0L/518400.0L) + 601.0L/604800.0L) - 625.0L/290304.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58641973.0L/3628800.0L*x + 58641973.0L/483840.0L) - 625095211.0L/1596672.0L) + 56404406147.0L/79833600.0L) - 1397079647.0L/1814400.0L) + 3681653533.0L/7257600.0L) - 226537847.0L/1209600.0L) + 14480993.0L/483840.0L) - 41.0L/241920.0L) + 121.0L/453600.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58641973.0L/21772800.0L)*x - 58641973.0L/2903040.0L) + 625095211.0L/9580032.0L) - 4700367179.0L/39916800.0L) + 1280656343.0L/9979200.0L) - 68178769.0L/806400.0L) + 56634463.0L/1814400.0L) - 9050627.0L/1814400.0L) + 31.0L/2419200.0L) - 139.0L/8709120.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 8)*(x*(x*(x*(x*(x*(x*(-4510921.0L/21772800.0L*x + 4510921.0L/2903040.0L) - 48084247.0L/9580032.0L) + 619828639.0L/68428800.0L) - 37528391.0L/3801600.0L) + 40457731.0L/6220800.0L) - 92201.0L/38400.0L) + 5569619.0L/14515200.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((4510921.0L/1451520.0L)*x - 4510921.0L/207360.0L) + 625095211.0L/9580032.0L) - 180783353.0L/1663200.0L) + 78809621.0L/725760.0L) - 47200687.0L/725760.0L) + 8712997.0L/403200.0L) - 1392397.0L/453600.0L) - 31.0L/345600.0L) - 139.0L/1451520.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58641973.0L/1451520.0L*x + 58641973.0L/207360.0L) - 8126237743.0L/9580032.0L) + 56404406137.0L/39916800.0L) - 10245250733.0L/7257600.0L) + 3681653593.0L/4354560.0L) - 75512639.0L/268800.0L) + 14480911.0L/362880.0L) + 41.0L/34560.0L) + 121.0L/75600.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58641973.0L/241920.0L)*x - 58641973.0L/34560.0L) + 8126237743.0L/1596672.0L) - 28202203069.0L/3326400.0L) + 30735752207.0L/3628800.0L) - 920413399.0L/181440.0L) + 226537907.0L/134400.0L) - 36202223.0L/151200.0L) - 601.0L/86400.0L) - 625.0L/48384.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/725760.0L*x + 645061703.0L/103680.0L) - 8126237743.0L/435456.0L) + 18801468713.0L/604800.0L) - 56348879059.0L/1814400.0L) + 4499798839.0L/241920.0L) - 2491916837.0L/403200.0L) + 113778281.0L/129600.0L) + 151.0L/6912.0L) + 3011.0L/45360.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/290304.0L)*x - 645061703.0L/41472.0L) + 40631188715.0L/870912.0L) - 2820220307.0L/36288.0L) + 1878295969.0L/24192.0L) - 20249094757.0L/435456.0L) + 17304977.0L/1120.0L) - 12444493.0L/5670.0L) - 59.0L/1536.0L) - 33853.0L/161280.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/161280.0L*x + 645061703.0L/23040.0L) - 8126237743.0L/96768.0L) + 56404406141.0L/403200.0L) - 13523730979.0L/96768.0L) + 40498189451.0L/483840.0L) - 2491916547.0L/89600.0L) + 265482583.0L/67200.0L) + 971.0L/28800.0L) + 1039.0L/2520.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((645061703.0L/120960.0L)*x - 645061703.0L/17280.0L) + 8126237743.0L/72576.0L) - 447654017.0L/2400.0L) + 5366559913.0L/28800.0L) - 241060651.0L/2160.0L) + 118662687.0L/3200.0L) - 79644851.0L/15120.0L) - 44473.0L/86400.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/120960.0L*x + 645061703.0L/17280.0L) - 8126237743.0L/72576.0L) + 56404406143.0L/302400.0L) - 14087219773.0L/75600.0L) + 40498189271.0L/362880.0L) - 830638779.0L/22400.0L) + 796449691.0L/151200.0L) - 971.0L/28800.0L) + 1039.0L/2520.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/161280.0L)*x - 645061703.0L/23040.0L) + 8126237743.0L/96768.0L) - 440659423.0L/3150.0L) + 169046637287.0L/1209600.0L) - 20249094583.0L/241920.0L) + 1245958141.0L/44800.0L) - 199112773.0L/50400.0L) + 59.0L/1536.0L) - 33853.0L/161280.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/290304.0L*x + 645061703.0L/41472.0L) - 40631188715.0L/870912.0L) + 3760293743.0L/48384.0L) - 22539551639.0L/290304.0L) + 13499396353.0L/290304.0L) - 2491916263.0L/161280.0L) + 796452497.0L/362880.0L) - 151.0L/6912.0L) + 3011.0L/45360.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/725760.0L)*x - 645061703.0L/103680.0L) + 8126237743.0L/435456.0L) - 28202203073.0L/907200.0L) + 22539551639.0L/725760.0L) - 10124547239.0L/544320.0L) + 830638759.0L/134400.0L) - 56889551.0L/64800.0L) + 601.0L/86400.0L) - 625.0L/48384.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58641973.0L/241920.0L*x + 58641973.0L/34560.0L) - 8126237743.0L/1596672.0L) + 56404406147.0L/6652800.0L) - 15367876117.0L/1814400.0L) + 3681653533.0L/725760.0L) - 226537847.0L/134400.0L) + 14480993.0L/60480.0L) - 41.0L/34560.0L) + 121.0L/75600.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58641973.0L/1451520.0L)*x - 58641973.0L/207360.0L) + 8126237743.0L/9580032.0L) - 4700367179.0L/3326400.0L) + 1280656343.0L/907200.0L) - 68178769.0L/80640.0L) + 56634463.0L/201600.0L) - 9050627.0L/226800.0L) + 31.0L/345600.0L) - 139.0L/1451520.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 7)*(x*(x*(x*(x*(x*(x*(-4510921.0L/1451520.0L*x + 4510921.0L/207360.0L) - 625095211.0L/9580032.0L) + 619828639.0L/5702400.0L) - 37528391.0L/345600.0L) + 40457731.0L/622080.0L) - 276603.0L/12800.0L) + 5569619.0L/1814400.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((4510921.0L/103680.0L)*x - 58641973.0L/207360.0L) + 625095211.0L/798336.0L) - 180783353.0L/151200.0L) + 78809621.0L/72576.0L) - 47200687.0L/80640.0L) + 8712997.0L/50400.0L) - 1392397.0L/64800.0L) - 31.0L/57600.0L) - 139.0L/290304.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58641973.0L/103680.0L*x + 762345649.0L/207360.0L) - 8126237743.0L/798336.0L) + 56404406137.0L/3628800.0L) - 10245250733.0L/725760.0L) + 3681653593.0L/483840.0L) - 75512639.0L/33600.0L) + 14480911.0L/51840.0L) + 41.0L/5760.0L) + 121.0L/15120.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58641973.0L/17280.0L)*x - 762345649.0L/34560.0L) + 8126237743.0L/133056.0L) - 28202203069.0L/302400.0L) + 30735752207.0L/362880.0L) - 920413399.0L/20160.0L) + 226537907.0L/16800.0L) - 36202223.0L/21600.0L) - 601.0L/14400.0L) - 3125.0L/48384.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/51840.0L*x + 8385802139.0L/103680.0L) - 8126237743.0L/36288.0L) + 206816155843.0L/604800.0L) - 56348879059.0L/181440.0L) + 4499798839.0L/26880.0L) - 2491916837.0L/50400.0L) + 796447967.0L/129600.0L) + 151.0L/1152.0L) + 3011.0L/9072.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/20736.0L)*x - 8385802139.0L/41472.0L) + 40631188715.0L/72576.0L) - 31022423377.0L/36288.0L) + 9391479845.0L/12096.0L) - 20249094757.0L/48384.0L) + 17304977.0L/140.0L) - 12444493.0L/810.0L) - 59.0L/256.0L) - 33853.0L/32256.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/11520.0L*x + 8385802139.0L/23040.0L) - 8126237743.0L/8064.0L) + 620448467551.0L/403200.0L) - 67618654895.0L/48384.0L) + 40498189451.0L/53760.0L) - 2491916547.0L/11200.0L) + 265482583.0L/9600.0L) + 971.0L/4800.0L) + 1039.0L/504.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*((645061703.0L/8640.0L)*x - 8385802139.0L/17280.0L) + 8126237743.0L/6048.0L) - 4924194187.0L/2400.0L) + 5366559913.0L/2880.0L) - 241060651.0L/240.0L) + 118662687.0L/400.0L) - 79644851.0L/2160.0L) - 44473.0L/17280.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/8640.0L*x + 8385802139.0L/17280.0L) - 8126237743.0L/6048.0L) + 620448467573.0L/302400.0L) - 14087219773.0L/7560.0L) + 40498189271.0L/40320.0L) - 830638779.0L/2800.0L) + 796449691.0L/21600.0L) - 971.0L/4800.0L) + 1039.0L/504.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/11520.0L)*x - 8385802139.0L/23040.0L) + 8126237743.0L/8064.0L) - 4847253653.0L/3150.0L) + 169046637287.0L/120960.0L) - 20249094583.0L/26880.0L) + 1245958141.0L/5600.0L) - 199112773.0L/7200.0L) + 59.0L/256.0L) - 33853.0L/32256.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-645061703.0L/20736.0L*x + 8385802139.0L/41472.0L) - 40631188715.0L/72576.0L) + 41363231173.0L/48384.0L) - 112697758195.0L/145152.0L) + 13499396353.0L/32256.0L) - 2491916263.0L/20160.0L) + 796452497.0L/51840.0L) - 151.0L/1152.0L) + 3011.0L/9072.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((645061703.0L/51840.0L)*x - 8385802139.0L/103680.0L) + 8126237743.0L/36288.0L) - 310224233803.0L/907200.0L) + 22539551639.0L/72576.0L) - 10124547239.0L/60480.0L) + 830638759.0L/16800.0L) - 398226857.0L/64800.0L) + 601.0L/14400.0L) - 3125.0L/48384.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58641973.0L/17280.0L*x + 762345649.0L/34560.0L) - 8126237743.0L/133056.0L) + 56404406147.0L/604800.0L) - 15367876117.0L/181440.0L) + 3681653533.0L/80640.0L) - 226537847.0L/16800.0L) + 14480993.0L/8640.0L) - 41.0L/5760.0L) + 121.0L/15120.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58641973.0L/103680.0L)*x - 762345649.0L/207360.0L) + 8126237743.0L/798336.0L) - 4700367179.0L/302400.0L) + 1280656343.0L/90720.0L) - 68178769.0L/8960.0L) + 56634463.0L/25200.0L) - 9050627.0L/32400.0L) + 31.0L/57600.0L) - 139.0L/290304.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 6)*(x*(x*(x*(x*(x*(x*(-4510921.0L/103680.0L*x + 58641973.0L/207360.0L) - 625095211.0L/798336.0L) + 619828639.0L/518400.0L) - 37528391.0L/34560.0L) + 40457731.0L/69120.0L) - 276603.0L/1600.0L) + 5569619.0L/259200.0L); +break; +} +} +void beta_n6_m8(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-5569619.0L/7257600.0L*x + 94683523.0L/14515200.0L) - 75738929.0L/3110400.0L) + 151438411.0L/2903040.0L) - 16810041671.0L/239500800.0L) + 4852055207.0L/79833600.0L) - 40042259.0L/1209600.0L) + 75330931.0L/7257600.0L) - 10422101.0L/7257600.0L) + 31.0L/14515200.0L) - 31.0L/2419200.0L) - 139.0L/8709120.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((72405047.0L/7257600.0L)*x - 1230885799.0L/14515200.0L) + 984606077.0L/3110400.0L) - 1968699343.0L/2903040.0L) + 218530541723.0L/239500800.0L) - 75692061229.0L/95800320.0L) + 11452086073.0L/26611200.0L) - 5875812611.0L/43545600.0L) + 67743659.0L/3628800.0L) - 41.0L/1209600.0L) + 41.0L/241920.0L) + 121.0L/453600.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-72405047.0L/1209600.0L*x + 1230885799.0L/2419200.0L) - 984606077.0L/518400.0L) + 1968699343.0L/483840.0L) - 218530541723.0L/39916800.0L) + 11826884567.0L/2494800.0L) - 103068774649.0L/39916800.0L) + 22952393.0L/28350.0L) - 4233979.0L/37800.0L) + 601.0L/2419200.0L) - 601.0L/604800.0L) - 625.0L/290304.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((796455517.0L/3628800.0L)*x - 13539743789.0L/7257600.0L) + 10830666847.0L/1555200.0L) - 21655692773.0L/1451520.0L) + 218530541723.0L/10886400.0L) - 42051145127.0L/2419200.0L) + 17178129107.0L/1814400.0L) - 21544646231.0L/7257600.0L) + 124196729.0L/302400.0L) - 151.0L/145152.0L) + 151.0L/48384.0L) + 3011.0L/272160.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-796455517.0L/1451520.0L*x + 13539743789.0L/2903040.0L) - 10830666847.0L/622080.0L) + 21655692773.0L/580608.0L) - 218530541723.0L/4354560.0L) + 189230153071.0L/4354560.0L) - 8589064553.0L/362880.0L) + 6463393873.0L/870912.0L) - 1490360897.0L/1451520.0L) + 59.0L/21504.0L) - 59.0L/10752.0L) - 33853.0L/967680.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((796455517.0L/806400.0L)*x - 13539743789.0L/1612800.0L) + 10830666847.0L/345600.0L) - 21655692773.0L/322560.0L) + 218530541723.0L/2419200.0L) - 378460306141.0L/4838400.0L) + 103068774631.0L/2419200.0L) - 64633938793.0L/4838400.0L) + 745180519.0L/403200.0L) - 971.0L/201600.0L) + 971.0L/201600.0L) + 1039.0L/15120.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-796455517.0L/604800.0L*x + 13539743789.0L/1209600.0L) - 10830666847.0L/259200.0L) + 21655692773.0L/241920.0L) - 218530541723.0L/1814400.0L) + 901095967.0L/8640.0L) - 4908036887.0L/86400.0L) + 598462397.0L/33600.0L) - 745180579.0L/302400.0L) + 1001.0L/172800.0L) - 44473.0L/518400.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((796455517.0L/604800.0L)*x - 13539743789.0L/1209600.0L) + 10830666847.0L/259200.0L) - 21655692773.0L/241920.0L) + 218530541723.0L/1814400.0L) - 378460306139.0L/3628800.0L) + 1073633069.0L/18900.0L) - 64633938973.0L/3628800.0L) + 46573789.0L/18900.0L) - 971.0L/201600.0L) - 971.0L/201600.0L) + 1039.0L/15120.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-796455517.0L/806400.0L*x + 13539743789.0L/1612800.0L) - 10830666847.0L/345600.0L) + 21655692773.0L/322560.0L) - 218530541723.0L/2419200.0L) + 189230153069.0L/2419200.0L) - 51534387311.0L/1209600.0L) + 32316969539.0L/2419200.0L) - 496787101.0L/268800.0L) + 59.0L/21504.0L) + 59.0L/10752.0L) - 33853.0L/967680.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((796455517.0L/1451520.0L)*x - 13539743789.0L/2903040.0L) + 10830666847.0L/622080.0L) - 21655692773.0L/580608.0L) + 218530541723.0L/4354560.0L) - 126153435379.0L/2903040.0L) + 3817362023.0L/161280.0L) - 4308929279.0L/580608.0L) + 745180661.0L/725760.0L) - 151.0L/145152.0L) - 151.0L/48384.0L) + 3011.0L/272160.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-796455517.0L/3628800.0L*x + 13539743789.0L/7257600.0L) - 10830666847.0L/1555200.0L) + 21655692773.0L/1451520.0L) - 218530541723.0L/10886400.0L) + 47307538267.0L/2721600.0L) - 3817362023.0L/403200.0L) + 8079242411.0L/2721600.0L) - 372590327.0L/907200.0L) + 601.0L/2419200.0L) + 601.0L/604800.0L) - 625.0L/290304.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((72405047.0L/1209600.0L)*x - 1230885799.0L/2419200.0L) + 984606077.0L/518400.0L) - 1968699343.0L/483840.0L) + 218530541723.0L/39916800.0L) - 75692061227.0L/15966720.0L) + 4684944301.0L/1814400.0L) - 5875812671.0L/7257600.0L) + 33871847.0L/302400.0L) - 41.0L/1209600.0L) - 41.0L/241920.0L) + 121.0L/453600.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-72405047.0L/7257600.0L*x + 1230885799.0L/14515200.0L) - 984606077.0L/3110400.0L) + 1968699343.0L/2903040.0L) - 218530541723.0L/239500800.0L) + 21025572563.0L/26611200.0L) - 1073633069.0L/2494800.0L) + 979302113.0L/7257600.0L) - 45162461.0L/2419200.0L) + 31.0L/14515200.0L) + 31.0L/2419200.0L) - 139.0L/8709120.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 9)*(x*(x*(x*(x*(x*(x*(x*((5569619.0L/7257600.0L)*x - 94683523.0L/14515200.0L) + 75738929.0L/3110400.0L) - 151438411.0L/2903040.0L) + 16810041671.0L/239500800.0L) - 4158904463.0L/68428800.0L) + 377541299.0L/11404800.0L) - 451985591.0L/43545600.0L) + 5211053.0L/3628800.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-94683523.0L/7257600.0L*x + 94683523.0L/907200.0L) - 75738929.0L/207360.0L) + 151438411.0L/207360.0L) - 218530541723.0L/239500800.0L) + 4852055207.0L/6652800.0L) - 440464849.0L/1209600.0L) + 75330931.0L/725760.0L) - 10422101.0L/806400.0L) + 31.0L/1814400.0L) - 31.0L/345600.0L) - 139.0L/1451520.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1230885799.0L/7257600.0L)*x - 1230885799.0L/907200.0L) + 984606077.0L/207360.0L) - 1968699343.0L/207360.0L) + 2840897042399.0L/239500800.0L) - 75692061229.0L/7983360.0L) + 11452086073.0L/2419200.0L) - 5875812611.0L/4354560.0L) + 67743659.0L/403200.0L) - 41.0L/151200.0L) + 41.0L/34560.0L) + 121.0L/75600.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1230885799.0L/1209600.0L*x + 1230885799.0L/151200.0L) - 984606077.0L/34560.0L) + 1968699343.0L/34560.0L) - 2840897042399.0L/39916800.0L) + 11826884567.0L/207900.0L) - 103068774649.0L/3628800.0L) + 22952393.0L/2835.0L) - 4233979.0L/4200.0L) + 601.0L/302400.0L) - 601.0L/86400.0L) - 625.0L/48384.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/3628800.0L)*x - 13539743789.0L/453600.0L) + 10830666847.0L/103680.0L) - 21655692773.0L/103680.0L) + 2840897042399.0L/10886400.0L) - 42051145127.0L/201600.0L) + 188959420177.0L/1814400.0L) - 21544646231.0L/725760.0L) + 124196729.0L/33600.0L) - 151.0L/18144.0L) + 151.0L/6912.0L) + 3011.0L/45360.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/1451520.0L*x + 13539743789.0L/181440.0L) - 10830666847.0L/41472.0L) + 21655692773.0L/41472.0L) - 2840897042399.0L/4354560.0L) + 189230153071.0L/362880.0L) - 94479710083.0L/362880.0L) + 32316969365.0L/435456.0L) - 1490360897.0L/161280.0L) + 59.0L/2688.0L) - 59.0L/1536.0L) - 33853.0L/161280.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/806400.0L)*x - 13539743789.0L/100800.0L) + 10830666847.0L/23040.0L) - 21655692773.0L/23040.0L) + 2840897042399.0L/2419200.0L) - 378460306141.0L/403200.0L) + 1133756520941.0L/2419200.0L) - 64633938793.0L/483840.0L) + 745180519.0L/44800.0L) - 971.0L/25200.0L) + 971.0L/28800.0L) + 1039.0L/2520.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/604800.0L*x + 13539743789.0L/75600.0L) - 10830666847.0L/17280.0L) + 21655692773.0L/17280.0L) - 2840897042399.0L/1814400.0L) + 901095967.0L/720.0L) - 53988405757.0L/86400.0L) + 598462397.0L/3360.0L) - 745180579.0L/33600.0L) + 1001.0L/21600.0L) - 44473.0L/86400.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/604800.0L)*x - 13539743789.0L/75600.0L) + 10830666847.0L/17280.0L) - 21655692773.0L/17280.0L) + 2840897042399.0L/1814400.0L) - 378460306139.0L/302400.0L) + 11809963759.0L/18900.0L) - 64633938973.0L/362880.0L) + 46573789.0L/2100.0L) - 971.0L/25200.0L) - 971.0L/28800.0L) + 1039.0L/2520.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/806400.0L*x + 13539743789.0L/100800.0L) - 10830666847.0L/23040.0L) + 21655692773.0L/23040.0L) - 2840897042399.0L/2419200.0L) + 189230153069.0L/201600.0L) - 566878260421.0L/1209600.0L) + 32316969539.0L/241920.0L) - 1490361303.0L/89600.0L) + 59.0L/2688.0L) + 59.0L/1536.0L) - 33853.0L/161280.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/1451520.0L)*x - 13539743789.0L/181440.0L) + 10830666847.0L/41472.0L) - 21655692773.0L/41472.0L) + 2840897042399.0L/4354560.0L) - 126153435379.0L/241920.0L) + 41990982253.0L/161280.0L) - 21544646395.0L/290304.0L) + 745180661.0L/80640.0L) - 151.0L/18144.0L) - 151.0L/6912.0L) + 3011.0L/45360.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/3628800.0L*x + 13539743789.0L/453600.0L) - 10830666847.0L/103680.0L) + 21655692773.0L/103680.0L) - 2840897042399.0L/10886400.0L) + 47307538267.0L/226800.0L) - 41990982253.0L/403200.0L) + 8079242411.0L/272160.0L) - 372590327.0L/100800.0L) + 601.0L/302400.0L) + 601.0L/86400.0L) - 625.0L/48384.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1230885799.0L/1209600.0L)*x - 1230885799.0L/151200.0L) + 984606077.0L/34560.0L) - 1968699343.0L/34560.0L) + 2840897042399.0L/39916800.0L) - 75692061227.0L/1330560.0L) + 51534387311.0L/1814400.0L) - 5875812671.0L/725760.0L) + 33871847.0L/33600.0L) - 41.0L/151200.0L) - 41.0L/34560.0L) + 121.0L/75600.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1230885799.0L/7257600.0L*x + 1230885799.0L/907200.0L) - 984606077.0L/207360.0L) + 1968699343.0L/207360.0L) - 2840897042399.0L/239500800.0L) + 21025572563.0L/2217600.0L) - 1073633069.0L/226800.0L) + 979302113.0L/725760.0L) - 45162461.0L/268800.0L) + 31.0L/1814400.0L) + 31.0L/345600.0L) - 139.0L/1451520.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 8)*(x*(x*(x*(x*(x*(x*(x*((94683523.0L/7257600.0L)*x - 94683523.0L/907200.0L) + 75738929.0L/207360.0L) - 151438411.0L/207360.0L) + 218530541723.0L/239500800.0L) - 4158904463.0L/5702400.0L) + 377541299.0L/1036800.0L) - 451985591.0L/4354560.0L) + 5211053.0L/403200.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-94683523.0L/453600.0L*x + 94683523.0L/60480.0L) - 530172503.0L/103680.0L) + 1968699343.0L/207360.0L) - 218530541723.0L/19958400.0L) + 4852055207.0L/604800.0L) - 440464849.0L/120960.0L) + 75330931.0L/80640.0L) - 10422101.0L/100800.0L) + 31.0L/259200.0L) - 31.0L/57600.0L) - 139.0L/290304.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1230885799.0L/453600.0L)*x - 1230885799.0L/60480.0L) + 6892242539.0L/103680.0L) - 25593091459.0L/207360.0L) + 2840897042399.0L/19958400.0L) - 75692061229.0L/725760.0L) + 11452086073.0L/241920.0L) - 5875812611.0L/483840.0L) + 67743659.0L/50400.0L) - 41.0L/21600.0L) + 41.0L/5760.0L) + 121.0L/15120.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1230885799.0L/75600.0L*x + 1230885799.0L/10080.0L) - 6892242539.0L/17280.0L) + 25593091459.0L/34560.0L) - 2840897042399.0L/3326400.0L) + 11826884567.0L/18900.0L) - 103068774649.0L/362880.0L) + 22952393.0L/315.0L) - 4233979.0L/525.0L) + 601.0L/43200.0L) - 601.0L/14400.0L) - 3125.0L/48384.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/226800.0L)*x - 13539743789.0L/30240.0L) + 75814667929.0L/51840.0L) - 281524006049.0L/103680.0L) + 2840897042399.0L/907200.0L) - 462562596397.0L/201600.0L) + 188959420177.0L/181440.0L) - 21544646231.0L/80640.0L) + 124196729.0L/4200.0L) - 151.0L/2592.0L) + 151.0L/1152.0L) + 3011.0L/9072.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/90720.0L*x + 13539743789.0L/12096.0L) - 75814667929.0L/20736.0L) + 281524006049.0L/41472.0L) - 2840897042399.0L/362880.0L) + 2081531683781.0L/362880.0L) - 94479710083.0L/36288.0L) + 32316969365.0L/48384.0L) - 1490360897.0L/20160.0L) + 59.0L/384.0L) - 59.0L/256.0L) - 33853.0L/32256.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/50400.0L)*x - 13539743789.0L/6720.0L) + 75814667929.0L/11520.0L) - 281524006049.0L/23040.0L) + 2840897042399.0L/201600.0L) - 4163063367551.0L/403200.0L) + 1133756520941.0L/241920.0L) - 64633938793.0L/53760.0L) + 745180519.0L/5600.0L) - 971.0L/3600.0L) + 971.0L/4800.0L) + 1039.0L/504.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/37800.0L*x + 13539743789.0L/5040.0L) - 75814667929.0L/8640.0L) + 281524006049.0L/17280.0L) - 2840897042399.0L/151200.0L) + 9912055637.0L/720.0L) - 53988405757.0L/8640.0L) + 1795387191.0L/1120.0L) - 745180579.0L/4200.0L) + 7007.0L/21600.0L) - 44473.0L/17280.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/37800.0L)*x - 13539743789.0L/5040.0L) + 75814667929.0L/8640.0L) - 281524006049.0L/17280.0L) + 2840897042399.0L/151200.0L) - 4163063367529.0L/302400.0L) + 11809963759.0L/1890.0L) - 64633938973.0L/40320.0L) + 93147578.0L/525.0L) - 971.0L/3600.0L) - 971.0L/4800.0L) + 1039.0L/504.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/50400.0L*x + 13539743789.0L/6720.0L) - 75814667929.0L/11520.0L) + 281524006049.0L/23040.0L) - 2840897042399.0L/201600.0L) + 2081531683759.0L/201600.0L) - 566878260421.0L/120960.0L) + 32316969539.0L/26880.0L) - 1490361303.0L/11200.0L) + 59.0L/384.0L) + 59.0L/256.0L) - 33853.0L/32256.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((13539743789.0L/90720.0L)*x - 13539743789.0L/12096.0L) + 75814667929.0L/20736.0L) - 281524006049.0L/41472.0L) + 2840897042399.0L/362880.0L) - 1387687789169.0L/241920.0L) + 41990982253.0L/16128.0L) - 21544646395.0L/32256.0L) + 745180661.0L/10080.0L) - 151.0L/2592.0L) - 151.0L/1152.0L) + 3011.0L/9072.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-13539743789.0L/226800.0L*x + 13539743789.0L/30240.0L) - 75814667929.0L/51840.0L) + 281524006049.0L/103680.0L) - 2840897042399.0L/907200.0L) + 520382920937.0L/226800.0L) - 41990982253.0L/40320.0L) + 8079242411.0L/30240.0L) - 372590327.0L/12600.0L) + 601.0L/43200.0L) + 601.0L/14400.0L) - 3125.0L/48384.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1230885799.0L/75600.0L)*x - 1230885799.0L/10080.0L) + 6892242539.0L/17280.0L) - 25593091459.0L/34560.0L) + 2840897042399.0L/3326400.0L) - 75692061227.0L/120960.0L) + 51534387311.0L/181440.0L) - 5875812671.0L/80640.0L) + 33871847.0L/4200.0L) - 41.0L/21600.0L) - 41.0L/5760.0L) + 121.0L/15120.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1230885799.0L/453600.0L*x + 1230885799.0L/60480.0L) - 6892242539.0L/103680.0L) + 25593091459.0L/207360.0L) - 2840897042399.0L/19958400.0L) + 21025572563.0L/201600.0L) - 1073633069.0L/22680.0L) + 979302113.0L/80640.0L) - 45162461.0L/33600.0L) + 31.0L/259200.0L) + 31.0L/57600.0L) - 139.0L/290304.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 7)*(x*(x*(x*(x*(x*(x*(x*((94683523.0L/453600.0L)*x - 94683523.0L/60480.0L) + 530172503.0L/103680.0L) - 1968699343.0L/207360.0L) + 218530541723.0L/19958400.0L) - 4158904463.0L/518400.0L) + 377541299.0L/103680.0L) - 451985591.0L/483840.0L) + 5211053.0L/50400.0L); +break; +} +} +void beta_n6_m9(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((5211053.0L/1814400.0L)*x - 99010007.0L/3628800.0L) + 838620967.0L/7257600.0L) - 23757347.0L/82944.0L) + 285008867.0L/622080.0L) - 7121920081.0L/14515200.0L) + 84305230741.0L/239500800.0L) - 13032278689.0L/79833600.0L) + 10751339.0L/241920.0L) - 7862447.0L/1451520.0L) + 1.0L/1451520.0L) + 31.0L/14515200.0L) - 31.0L/2419200.0L) - 139.0L/8709120.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-67743689.0L/1814400.0L*x + 1287130091.0L/3628800.0L) - 10902072571.0L/7257600.0L) + 308845511.0L/82944.0L) - 3705115271.0L/622080.0L) + 92584961053.0L/14515200.0L) - 1095967999633.0L/239500800.0L) + 1016517737743.0L/479001600.0L) - 15374414771.0L/26611200.0L) + 3066354337.0L/43545600.0L) - 1.0L/120960.0L) - 41.0L/1209600.0L) + 41.0L/241920.0L) + 121.0L/453600.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((67743689.0L/302400.0L)*x - 1287130091.0L/604800.0L) + 10902072571.0L/1209600.0L) - 308845511.0L/13824.0L) + 3705115271.0L/103680.0L) - 92584961053.0L/2419200.0L) + 1095967999633.0L/39916800.0L) - 63532358609.0L/4989600.0L) + 138369732947.0L/39916800.0L) - 21902531.0L/51840.0L) + 1.0L/24192.0L) + 601.0L/2419200.0L) - 601.0L/604800.0L) - 625.0L/290304.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-745180579.0L/907200.0L*x + 14158431001.0L/1814400.0L) - 119922798281.0L/3628800.0L) + 3397300621.0L/41472.0L) - 40756267981.0L/311040.0L) + 1018434571583.0L/7257600.0L) - 1095967999633.0L/10886400.0L) + 22589283061.0L/483840.0L) - 23061622159.0L/1814400.0L) + 749553283.0L/483840.0L) - 41.0L/362880.0L) - 151.0L/145152.0L) + 151.0L/48384.0L) + 3011.0L/272160.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((745180579.0L/362880.0L)*x - 14158431001.0L/725760.0L) + 119922798281.0L/1451520.0L) - 16986503105.0L/82944.0L) + 40756267981.0L/124416.0L) - 1018434571583.0L/2903040.0L) + 1095967999633.0L/4354560.0L) - 72608409839.0L/622080.0L) + 288270277.0L/9072.0L) - 2409278407.0L/622080.0L) + 29.0L/161280.0L) + 59.0L/21504.0L) - 59.0L/10752.0L) - 33853.0L/967680.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-745180579.0L/201600.0L*x + 14158431001.0L/403200.0L) - 119922798281.0L/806400.0L) + 3397300621.0L/9216.0L) - 40756267981.0L/69120.0L) + 1018434571583.0L/1612800.0L) - 1095967999633.0L/2419200.0L) + 1016517737747.0L/4838400.0L) - 27673946593.0L/483840.0L) + 963711361.0L/138240.0L) - 1.0L/6720.0L) - 971.0L/201600.0L) + 971.0L/201600.0L) + 1039.0L/15120.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*((745180579.0L/151200.0L)*x - 14158431001.0L/302400.0L) + 119922798281.0L/604800.0L) - 3397300621.0L/6912.0L) + 40756267981.0L/51840.0L) - 1018434571583.0L/1209600.0L) + 1095967999633.0L/1814400.0L) - 84709811479.0L/302400.0L) + 46123244323.0L/604800.0L) - 702706199.0L/75600.0L) + 1001.0L/172800.0L) - 44473.0L/518400.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-745180579.0L/151200.0L*x + 14158431001.0L/302400.0L) - 119922798281.0L/604800.0L) + 3397300621.0L/6912.0L) - 40756267981.0L/51840.0L) + 1018434571583.0L/1209600.0L) - 1095967999633.0L/1814400.0L) + 1016517737749.0L/3628800.0L) - 11530811081.0L/151200.0L) + 6745979491.0L/725760.0L) + 1.0L/6720.0L) - 971.0L/201600.0L) - 971.0L/201600.0L) + 1039.0L/15120.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((745180579.0L/201600.0L)*x - 14158431001.0L/403200.0L) + 119922798281.0L/806400.0L) - 3397300621.0L/9216.0L) + 40756267981.0L/69120.0L) - 1018434571583.0L/1612800.0L) + 1095967999633.0L/2419200.0L) - 20330354755.0L/96768.0L) + 69184866487.0L/1209600.0L) - 674597947.0L/96768.0L) - 29.0L/161280.0L) + 59.0L/21504.0L) + 59.0L/10752.0L) - 33853.0L/967680.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-745180579.0L/362880.0L*x + 14158431001.0L/725760.0L) - 119922798281.0L/1451520.0L) + 16986503105.0L/82944.0L) - 40756267981.0L/124416.0L) + 1018434571583.0L/2903040.0L) - 1095967999633.0L/4354560.0L) + 338839245917.0L/2903040.0L) - 1024960985.0L/32256.0L) + 1606185583.0L/414720.0L) + 41.0L/362880.0L) - 151.0L/145152.0L) - 151.0L/48384.0L) + 3011.0L/272160.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((745180579.0L/907200.0L)*x - 14158431001.0L/1814400.0L) + 119922798281.0L/3628800.0L) - 3397300621.0L/41472.0L) + 40756267981.0L/311040.0L) - 1018434571583.0L/7257600.0L) + 1095967999633.0L/10886400.0L) - 127064717219.0L/2721600.0L) + 204992197.0L/16128.0L) - 1686494857.0L/1088640.0L) - 1.0L/24192.0L) + 601.0L/2419200.0L) + 601.0L/604800.0L) - 625.0L/290304.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-67743689.0L/302400.0L*x + 1287130091.0L/604800.0L) - 10902072571.0L/1209600.0L) + 308845511.0L/13824.0L) - 3705115271.0L/103680.0L) + 92584961053.0L/2419200.0L) - 1095967999633.0L/39916800.0L) + 145216819679.0L/11404800.0L) - 6289533317.0L/1814400.0L) + 438050611.0L/1036800.0L) + 1.0L/120960.0L) - 41.0L/1209600.0L) - 41.0L/241920.0L) + 121.0L/453600.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((67743689.0L/1814400.0L)*x - 1287130091.0L/3628800.0L) + 10902072571.0L/7257600.0L) - 308845511.0L/82944.0L) + 3705115271.0L/622080.0L) - 92584961053.0L/14515200.0L) + 1095967999633.0L/239500800.0L) - 18824402551.0L/8870400.0L) + 11530811081.0L/19958400.0L) - 4867229.0L/69120.0L) - 1.0L/1451520.0L) + 31.0L/14515200.0L) + 31.0L/2419200.0L) - 139.0L/8709120.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 10)*(x*(x*(x*(x*(x*(x*(x*(x*(-5211053.0L/1814400.0L*x + 99010007.0L/3628800.0L) - 838620967.0L/7257600.0L) + 23757347.0L/82944.0L) - 285008867.0L/622080.0L) + 7121920081.0L/14515200.0L) - 84305230741.0L/239500800.0L) + 15638734427.0L/95800320.0L) - 3547941871.0L/79833600.0L) + 47174681.0L/8709120.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((99010007.0L/1814400.0L)*x - 99010007.0L/201600.0L) + 14256556439.0L/7257600.0L) - 23757347.0L/5184.0L) + 285008867.0L/41472.0L) - 7121920081.0L/1036800.0L) + 1095967999633.0L/239500800.0L) - 13032278689.0L/6652800.0L) + 118264729.0L/241920.0L) - 7862447.0L/145152.0L) + 1.0L/161280.0L) + 31.0L/1814400.0L) - 31.0L/345600.0L) - 139.0L/1451520.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1287130091.0L/1814400.0L*x + 1287130091.0L/201600.0L) - 185335233707.0L/7257600.0L) + 308845511.0L/5184.0L) - 3705115271.0L/41472.0L) + 92584961053.0L/1036800.0L) - 14247583995229.0L/239500800.0L) + 1016517737743.0L/39916800.0L) - 15374414771.0L/2419200.0L) + 3066354337.0L/4354560.0L) - 1.0L/13440.0L) - 41.0L/151200.0L) + 41.0L/34560.0L) + 121.0L/75600.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1287130091.0L/302400.0L)*x - 1287130091.0L/33600.0L) + 185335233707.0L/1209600.0L) - 308845511.0L/864.0L) + 3705115271.0L/6912.0L) - 92584961053.0L/172800.0L) + 14247583995229.0L/39916800.0L) - 63532358609.0L/415800.0L) + 138369732947.0L/3628800.0L) - 21902531.0L/5184.0L) + 1.0L/2688.0L) + 601.0L/302400.0L) - 601.0L/86400.0L) - 625.0L/48384.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/907200.0L*x + 14158431001.0L/100800.0L) - 2038687570777.0L/3628800.0L) + 3397300621.0L/2592.0L) - 40756267981.0L/20736.0L) + 1018434571583.0L/518400.0L) - 14247583995229.0L/10886400.0L) + 22589283061.0L/40320.0L) - 253677843749.0L/1814400.0L) + 749553283.0L/48384.0L) - 41.0L/40320.0L) - 151.0L/18144.0L) + 151.0L/6912.0L) + 3011.0L/45360.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/362880.0L)*x - 14158431001.0L/40320.0L) + 2038687570777.0L/1451520.0L) - 16986503105.0L/5184.0L) + 203781339905.0L/41472.0L) - 1018434571583.0L/207360.0L) + 14247583995229.0L/4354560.0L) - 72608409839.0L/51840.0L) + 3170973047.0L/9072.0L) - 2409278407.0L/62208.0L) + 29.0L/17920.0L) + 59.0L/2688.0L) - 59.0L/1536.0L) - 33853.0L/161280.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/201600.0L*x + 14158431001.0L/22400.0L) - 2038687570777.0L/806400.0L) + 3397300621.0L/576.0L) - 40756267981.0L/4608.0L) + 1018434571583.0L/115200.0L) - 14247583995229.0L/2419200.0L) + 1016517737747.0L/403200.0L) - 304413412523.0L/483840.0L) + 963711361.0L/13824.0L) - 3.0L/2240.0L) - 971.0L/25200.0L) + 971.0L/28800.0L) + 1039.0L/2520.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/151200.0L)*x - 14158431001.0L/16800.0L) + 2038687570777.0L/604800.0L) - 3397300621.0L/432.0L) + 40756267981.0L/3456.0L) - 1018434571583.0L/86400.0L) + 14247583995229.0L/1814400.0L) - 84709811479.0L/25200.0L) + 507355687553.0L/604800.0L) - 702706199.0L/7560.0L) + 1001.0L/21600.0L) - 44473.0L/86400.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/151200.0L*x + 14158431001.0L/16800.0L) - 2038687570777.0L/604800.0L) + 3397300621.0L/432.0L) - 40756267981.0L/3456.0L) + 1018434571583.0L/86400.0L) - 14247583995229.0L/1814400.0L) + 1016517737749.0L/302400.0L) - 126838921891.0L/151200.0L) + 6745979491.0L/72576.0L) + 3.0L/2240.0L) - 971.0L/25200.0L) - 971.0L/28800.0L) + 1039.0L/2520.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/201600.0L)*x - 14158431001.0L/22400.0L) + 2038687570777.0L/806400.0L) - 3397300621.0L/576.0L) + 40756267981.0L/4608.0L) - 1018434571583.0L/115200.0L) + 14247583995229.0L/2419200.0L) - 20330354755.0L/8064.0L) + 761033531357.0L/1209600.0L) - 3372989735.0L/48384.0L) - 29.0L/17920.0L) + 59.0L/2688.0L) + 59.0L/1536.0L) - 33853.0L/161280.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/362880.0L*x + 14158431001.0L/40320.0L) - 2038687570777.0L/1451520.0L) + 16986503105.0L/5184.0L) - 203781339905.0L/41472.0L) + 1018434571583.0L/207360.0L) - 14247583995229.0L/4354560.0L) + 338839245917.0L/241920.0L) - 11274570835.0L/32256.0L) + 1606185583.0L/41472.0L) + 41.0L/40320.0L) - 151.0L/18144.0L) - 151.0L/6912.0L) + 3011.0L/45360.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/907200.0L)*x - 14158431001.0L/100800.0L) + 2038687570777.0L/3628800.0L) - 3397300621.0L/2592.0L) + 40756267981.0L/20736.0L) - 1018434571583.0L/518400.0L) + 14247583995229.0L/10886400.0L) - 127064717219.0L/226800.0L) + 2254914167.0L/16128.0L) - 1686494857.0L/108864.0L) - 1.0L/2688.0L) + 601.0L/302400.0L) + 601.0L/86400.0L) - 625.0L/48384.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1287130091.0L/302400.0L*x + 1287130091.0L/33600.0L) - 185335233707.0L/1209600.0L) + 308845511.0L/864.0L) - 3705115271.0L/6912.0L) + 92584961053.0L/172800.0L) - 14247583995229.0L/39916800.0L) + 145216819679.0L/950400.0L) - 69184866487.0L/1814400.0L) + 438050611.0L/103680.0L) + 1.0L/13440.0L) - 41.0L/151200.0L) - 41.0L/34560.0L) + 121.0L/75600.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1287130091.0L/1814400.0L)*x - 1287130091.0L/201600.0L) + 185335233707.0L/7257600.0L) - 308845511.0L/5184.0L) + 3705115271.0L/41472.0L) - 92584961053.0L/1036800.0L) + 14247583995229.0L/239500800.0L) - 18824402551.0L/739200.0L) + 11530811081.0L/1814400.0L) - 4867229.0L/6912.0L) - 1.0L/161280.0L) + 31.0L/1814400.0L) + 31.0L/345600.0L) - 139.0L/1451520.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 9)*(x*(x*(x*(x*(x*(x*(x*(x*(-99010007.0L/1814400.0L*x + 99010007.0L/201600.0L) - 14256556439.0L/7257600.0L) + 23757347.0L/5184.0L) - 285008867.0L/41472.0L) + 7121920081.0L/1036800.0L) - 1095967999633.0L/239500800.0L) + 15638734427.0L/7983360.0L) - 3547941871.0L/7257600.0L) + 47174681.0L/870912.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((99010007.0L/100800.0L)*x - 1683170119.0L/201600.0L) + 14256556439.0L/453600.0L) - 118786735.0L/1728.0L) + 1995062069.0L/20736.0L) - 92584961053.0L/1036800.0L) + 1095967999633.0L/19958400.0L) - 13032278689.0L/604800.0L) + 118264729.0L/24192.0L) - 7862447.0L/16128.0L) + 1.0L/20160.0L) + 31.0L/259200.0L) - 31.0L/57600.0L) - 139.0L/290304.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1287130091.0L/100800.0L*x + 21881211547.0L/201600.0L) - 185335233707.0L/453600.0L) + 1544227555.0L/1728.0L) - 25935806897.0L/20736.0L) + 1203604493689.0L/1036800.0L) - 14247583995229.0L/19958400.0L) + 1016517737743.0L/3628800.0L) - 15374414771.0L/241920.0L) + 3066354337.0L/483840.0L) - 1.0L/1680.0L) - 41.0L/21600.0L) + 41.0L/5760.0L) + 121.0L/15120.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1287130091.0L/16800.0L)*x - 21881211547.0L/33600.0L) + 185335233707.0L/75600.0L) - 1544227555.0L/288.0L) + 25935806897.0L/3456.0L) - 1203604493689.0L/172800.0L) + 14247583995229.0L/3326400.0L) - 63532358609.0L/37800.0L) + 138369732947.0L/362880.0L) - 21902531.0L/576.0L) + 1.0L/336.0L) + 601.0L/43200.0L) - 601.0L/14400.0L) - 3125.0L/48384.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/50400.0L*x + 240693327017.0L/100800.0L) - 2038687570777.0L/226800.0L) + 16986503105.0L/864.0L) - 285293875867.0L/10368.0L) + 13239649430579.0L/518400.0L) - 14247583995229.0L/907200.0L) + 248482113671.0L/40320.0L) - 253677843749.0L/181440.0L) + 749553283.0L/5376.0L) - 41.0L/5040.0L) - 151.0L/2592.0L) + 151.0L/1152.0L) + 3011.0L/9072.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/20160.0L)*x - 240693327017.0L/40320.0L) + 2038687570777.0L/90720.0L) - 84932515525.0L/1728.0L) + 1426469379335.0L/20736.0L) - 13239649430579.0L/207360.0L) + 14247583995229.0L/362880.0L) - 798692508229.0L/51840.0L) + 15854865235.0L/4536.0L) - 2409278407.0L/6912.0L) + 29.0L/2240.0L) + 59.0L/384.0L) - 59.0L/256.0L) - 33853.0L/32256.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/11200.0L*x + 240693327017.0L/22400.0L) - 2038687570777.0L/50400.0L) + 16986503105.0L/192.0L) - 285293875867.0L/2304.0L) + 13239649430579.0L/115200.0L) - 14247583995229.0L/201600.0L) + 11181695115217.0L/403200.0L) - 304413412523.0L/48384.0L) + 963711361.0L/1536.0L) - 3.0L/280.0L) - 971.0L/3600.0L) + 971.0L/4800.0L) + 1039.0L/504.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/8400.0L)*x - 240693327017.0L/16800.0L) + 2038687570777.0L/37800.0L) - 16986503105.0L/144.0L) + 285293875867.0L/1728.0L) - 13239649430579.0L/86400.0L) + 14247583995229.0L/151200.0L) - 931807926269.0L/25200.0L) + 507355687553.0L/60480.0L) - 702706199.0L/840.0L) + 7007.0L/21600.0L) - 44473.0L/17280.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/8400.0L*x + 240693327017.0L/16800.0L) - 2038687570777.0L/37800.0L) + 16986503105.0L/144.0L) - 285293875867.0L/1728.0L) + 13239649430579.0L/86400.0L) - 14247583995229.0L/151200.0L) + 11181695115239.0L/302400.0L) - 126838921891.0L/15120.0L) + 6745979491.0L/8064.0L) + 3.0L/280.0L) - 971.0L/3600.0L) - 971.0L/4800.0L) + 1039.0L/504.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/11200.0L)*x - 240693327017.0L/22400.0L) + 2038687570777.0L/50400.0L) - 16986503105.0L/192.0L) + 285293875867.0L/2304.0L) - 13239649430579.0L/115200.0L) + 14247583995229.0L/201600.0L) - 223633902305.0L/8064.0L) + 761033531357.0L/120960.0L) - 3372989735.0L/5376.0L) - 29.0L/2240.0L) + 59.0L/384.0L) + 59.0L/256.0L) - 33853.0L/32256.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-14158431001.0L/20160.0L*x + 240693327017.0L/40320.0L) - 2038687570777.0L/90720.0L) + 84932515525.0L/1728.0L) - 1426469379335.0L/20736.0L) + 13239649430579.0L/207360.0L) - 14247583995229.0L/362880.0L) + 3727231705087.0L/241920.0L) - 56372854175.0L/16128.0L) + 1606185583.0L/4608.0L) + 41.0L/5040.0L) - 151.0L/2592.0L) - 151.0L/1152.0L) + 3011.0L/9072.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((14158431001.0L/50400.0L)*x - 240693327017.0L/100800.0L) + 2038687570777.0L/226800.0L) - 16986503105.0L/864.0L) + 285293875867.0L/10368.0L) - 13239649430579.0L/518400.0L) + 14247583995229.0L/907200.0L) - 1397711889409.0L/226800.0L) + 11274570835.0L/8064.0L) - 1686494857.0L/12096.0L) - 1.0L/336.0L) + 601.0L/43200.0L) + 601.0L/14400.0L) - 3125.0L/48384.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-1287130091.0L/16800.0L*x + 21881211547.0L/33600.0L) - 185335233707.0L/75600.0L) + 1544227555.0L/288.0L) - 25935806897.0L/3456.0L) + 1203604493689.0L/172800.0L) - 14247583995229.0L/3326400.0L) + 145216819679.0L/86400.0L) - 69184866487.0L/181440.0L) + 438050611.0L/11520.0L) + 1.0L/1680.0L) - 41.0L/21600.0L) - 41.0L/5760.0L) + 121.0L/15120.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((1287130091.0L/100800.0L)*x - 21881211547.0L/201600.0L) + 185335233707.0L/453600.0L) - 1544227555.0L/1728.0L) + 25935806897.0L/20736.0L) - 1203604493689.0L/1036800.0L) + 14247583995229.0L/19958400.0L) - 18824402551.0L/67200.0L) + 11530811081.0L/181440.0L) - 4867229.0L/768.0L) - 1.0L/20160.0L) + 31.0L/259200.0L) + 31.0L/57600.0L) - 139.0L/290304.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 8)*(x*(x*(x*(x*(x*(x*(x*(x*(-99010007.0L/100800.0L*x + 1683170119.0L/201600.0L) - 14256556439.0L/453600.0L) + 118786735.0L/1728.0L) - 1995062069.0L/20736.0L) + 92584961053.0L/1036800.0L) - 1095967999633.0L/19958400.0L) + 15638734427.0L/725760.0L) - 3547941871.0L/725760.0L) + 47174681.0L/96768.0L); +break; +} +} +void beta_n6_m10(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-47174681.0L/4354560.0L*x + 47174681.0L/414720.0L) - 837938401.0L/1555200.0L) + 349395769.0L/230400.0L) - 2912855069.0L/1036800.0L) + 1485152419.0L/414720.0L) - 1979375821.0L/622080.0L) + 28259090669.0L/14515200.0L) - 94064276017.0L/119750400.0L) + 90455812441.0L/479001600.0L) - 1865083.0L/90720.0L) - 1.0L/8709120.0L) + 1.0L/1451520.0L) + 31.0L/14515200.0L) - 31.0L/2419200.0L) - 139.0L/8709120.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((613270853.0L/4354560.0L)*x - 613270853.0L/414720.0L) + 10893199213.0L/1555200.0L) - 4542144997.0L/230400.0L) + 37867115897.0L/1036800.0L) - 19306981447.0L/414720.0L) + 25731885673.0L/622080.0L) - 367368178697.0L/14515200.0L) + 1222835588221.0L/119750400.0L) - 32664598937.0L/13305600.0L) + 21336549517.0L/79833600.0L) + 1.0L/604800.0L) - 1.0L/120960.0L) - 41.0L/1209600.0L) + 41.0L/241920.0L) + 121.0L/453600.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-613270853.0L/725760.0L*x + 613270853.0L/69120.0L) - 10893199213.0L/259200.0L) + 4542144997.0L/38400.0L) - 37867115897.0L/172800.0L) + 19306981447.0L/69120.0L) - 25731885673.0L/103680.0L) + 367368178697.0L/2419200.0L) - 1222835588221.0L/19958400.0L) + 1175925561731.0L/79833600.0L) - 64009648543.0L/39916800.0L) - 1.0L/96768.0L) + 1.0L/24192.0L) + 601.0L/2419200.0L) - 601.0L/604800.0L) - 625.0L/290304.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/2177280.0L)*x - 6745979383.0L/207360.0L) + 119825191343.0L/777600.0L) - 49963594967.0L/115200.0L) + 416538274867.0L/518400.0L) - 212376795917.0L/207360.0L) + 283050742403.0L/311040.0L) - 4041049965667.0L/7257600.0L) + 1222835588221.0L/5443200.0L) - 117592556173.0L/2177280.0L) + 2667068689.0L/453600.0L) + 41.0L/1088640.0L) - 41.0L/362880.0L) - 151.0L/145152.0L) + 151.0L/48384.0L) + 3011.0L/272160.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/870912.0L*x + 6745979383.0L/82944.0L) - 119825191343.0L/311040.0L) + 49963594967.0L/46080.0L) - 416538274867.0L/207360.0L) + 212376795917.0L/82944.0L) - 283050742403.0L/124416.0L) + 4041049965667.0L/2903040.0L) - 1222835588221.0L/2177280.0L) + 391975187243.0L/2903040.0L) - 711218317.0L/48384.0L) - 29.0L/322560.0L) + 29.0L/161280.0L) + 59.0L/21504.0L) - 59.0L/10752.0L) - 33853.0L/967680.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/483840.0L)*x - 6745979383.0L/46080.0L) + 119825191343.0L/172800.0L) - 49963594967.0L/25600.0L) + 416538274867.0L/115200.0L) - 212376795917.0L/46080.0L) + 283050742403.0L/69120.0L) - 4041049965667.0L/1612800.0L) + 1222835588221.0L/1209600.0L) - 9186918451.0L/37800.0L) + 2560385941.0L/96768.0L) + 1.0L/6720.0L) - 1.0L/6720.0L) - 971.0L/201600.0L) + 971.0L/201600.0L) + 1039.0L/15120.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/362880.0L*x + 6745979383.0L/34560.0L) - 119825191343.0L/129600.0L) + 49963594967.0L/19200.0L) - 416538274867.0L/86400.0L) + 212376795917.0L/34560.0L) - 283050742403.0L/51840.0L) + 4041049965667.0L/1209600.0L) - 1222835588221.0L/907200.0L) + 167989365961.0L/518400.0L) - 338675389.0L/9600.0L) - 91.0L/518400.0L) + 1001.0L/172800.0L) - 44473.0L/518400.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/362880.0L)*x - 6745979383.0L/34560.0L) + 119825191343.0L/129600.0L) - 49963594967.0L/19200.0L) + 416538274867.0L/86400.0L) - 212376795917.0L/34560.0L) + 283050742403.0L/51840.0L) - 4041049965667.0L/1209600.0L) + 1222835588221.0L/907200.0L) - 195987593621.0L/604800.0L) + 10668274753.0L/302400.0L) + 1.0L/6720.0L) + 1.0L/6720.0L) - 971.0L/201600.0L) - 971.0L/201600.0L) + 1039.0L/15120.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/483840.0L*x + 6745979383.0L/46080.0L) - 119825191343.0L/172800.0L) + 49963594967.0L/25600.0L) - 416538274867.0L/115200.0L) + 212376795917.0L/46080.0L) - 283050742403.0L/69120.0L) + 4041049965667.0L/1612800.0L) - 1222835588221.0L/1209600.0L) + 47037022469.0L/193536.0L) - 16002412129.0L/604800.0L) - 29.0L/322560.0L) - 29.0L/161280.0L) + 59.0L/21504.0L) + 59.0L/10752.0L) - 33853.0L/967680.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/870912.0L)*x - 6745979383.0L/82944.0L) + 119825191343.0L/311040.0L) - 49963594967.0L/46080.0L) + 416538274867.0L/207360.0L) - 212376795917.0L/82944.0L) + 283050742403.0L/124416.0L) - 4041049965667.0L/2903040.0L) + 1222835588221.0L/2177280.0L) - 293981390431.0L/2177280.0L) + 4267309901.0L/290304.0L) + 41.0L/1088640.0L) + 41.0L/362880.0L) - 151.0L/145152.0L) - 151.0L/48384.0L) + 3011.0L/272160.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/2177280.0L*x + 6745979383.0L/207360.0L) - 119825191343.0L/777600.0L) + 49963594967.0L/115200.0L) - 416538274867.0L/518400.0L) + 212376795917.0L/207360.0L) - 283050742403.0L/311040.0L) + 4041049965667.0L/7257600.0L) - 1222835588221.0L/5443200.0L) + 130658395747.0L/2419200.0L) - 4267309901.0L/725760.0L) - 1.0L/96768.0L) - 1.0L/24192.0L) + 601.0L/2419200.0L) + 601.0L/604800.0L) - 625.0L/290304.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((613270853.0L/725760.0L)*x - 613270853.0L/69120.0L) + 10893199213.0L/259200.0L) - 4542144997.0L/38400.0L) + 37867115897.0L/172800.0L) - 19306981447.0L/69120.0L) + 25731885673.0L/103680.0L) - 367368178697.0L/2419200.0L) + 1222835588221.0L/19958400.0L) - 587962780861.0L/39916800.0L) + 1454764739.0L/907200.0L) + 1.0L/604800.0L) + 1.0L/120960.0L) - 41.0L/1209600.0L) - 41.0L/241920.0L) + 121.0L/453600.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-613270853.0L/4354560.0L*x + 613270853.0L/414720.0L) - 10893199213.0L/1555200.0L) + 4542144997.0L/230400.0L) - 37867115897.0L/1036800.0L) + 19306981447.0L/414720.0L) - 25731885673.0L/622080.0L) + 367368178697.0L/14515200.0L) - 1222835588221.0L/119750400.0L) + 1175925561721.0L/479001600.0L) - 10668274753.0L/39916800.0L) - 1.0L/8709120.0L) - 1.0L/1451520.0L) + 31.0L/14515200.0L) + 31.0L/2419200.0L) - 139.0L/8709120.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 11)*(x*(x*(x*(x*(x*(x*(x*(x*(x*((47174681.0L/4354560.0L)*x - 47174681.0L/414720.0L) + 837938401.0L/1555200.0L) - 349395769.0L/230400.0L) + 2912855069.0L/1036800.0L) - 1485152419.0L/414720.0L) + 1979375821.0L/622080.0L) - 28259090669.0L/14515200.0L) + 94064276017.0L/119750400.0L) - 107685491.0L/570240.0L) + 26051953.0L/1267200.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-47174681.0L/207360.0L*x + 47174681.0L/20736.0L) - 15920829619.0L/1555200.0L) + 349395769.0L/12800.0L) - 49518536173.0L/1036800.0L) + 1485152419.0L/25920.0L) - 1979375821.0L/41472.0L) + 28259090669.0L/1036800.0L) - 1222835588221.0L/119750400.0L) + 90455812441.0L/39916800.0L) - 20515913.0L/90720.0L) - 1.0L/870912.0L) + 1.0L/161280.0L) + 31.0L/1814400.0L) - 31.0L/345600.0L) - 139.0L/1451520.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((613270853.0L/207360.0L)*x - 613270853.0L/20736.0L) + 206970785047.0L/1555200.0L) - 4542144997.0L/12800.0L) + 643740970249.0L/1036800.0L) - 19306981447.0L/25920.0L) + 25731885673.0L/41472.0L) - 367368178697.0L/1036800.0L) + 15896862646873.0L/119750400.0L) - 32664598937.0L/1108800.0L) + 21336549517.0L/7257600.0L) + 1.0L/60480.0L) - 1.0L/13440.0L) - 41.0L/151200.0L) + 41.0L/34560.0L) + 121.0L/75600.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-613270853.0L/34560.0L*x + 613270853.0L/3456.0L) - 206970785047.0L/259200.0L) + 13626434991.0L/6400.0L) - 643740970249.0L/172800.0L) + 19306981447.0L/4320.0L) - 25731885673.0L/6912.0L) + 367368178697.0L/172800.0L) - 15896862646873.0L/19958400.0L) + 1175925561731.0L/6652800.0L) - 64009648543.0L/3628800.0L) - 5.0L/48384.0L) + 1.0L/2688.0L) + 601.0L/302400.0L) - 601.0L/86400.0L) - 625.0L/48384.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/103680.0L)*x - 6745979383.0L/10368.0L) + 2276678635517.0L/777600.0L) - 49963594967.0L/6400.0L) + 7081150672739.0L/518400.0L) - 212376795917.0L/12960.0L) + 283050742403.0L/20736.0L) - 4041049965667.0L/518400.0L) + 15896862646873.0L/5443200.0L) - 117592556173.0L/181440.0L) + 29337755579.0L/453600.0L) + 41.0L/108864.0L) - 41.0L/40320.0L) - 151.0L/18144.0L) + 151.0L/6912.0L) + 3011.0L/45360.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/41472.0L*x + 33729896915.0L/20736.0L) - 2276678635517.0L/311040.0L) + 49963594967.0L/2560.0L) - 7081150672739.0L/207360.0L) + 212376795917.0L/5184.0L) - 1415253712015.0L/41472.0L) + 4041049965667.0L/207360.0L) - 15896862646873.0L/2177280.0L) + 391975187243.0L/241920.0L) - 7823401487.0L/48384.0L) - 29.0L/32256.0L) + 29.0L/17920.0L) + 59.0L/2688.0L) - 59.0L/1536.0L) - 33853.0L/161280.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/23040.0L)*x - 6745979383.0L/2304.0L) + 2276678635517.0L/172800.0L) - 449672354703.0L/12800.0L) + 7081150672739.0L/115200.0L) - 212376795917.0L/2880.0L) + 283050742403.0L/4608.0L) - 4041049965667.0L/115200.0L) + 15896862646873.0L/1209600.0L) - 9186918451.0L/3150.0L) + 28164245351.0L/96768.0L) + 1.0L/672.0L) - 3.0L/2240.0L) - 971.0L/25200.0L) + 971.0L/28800.0L) + 1039.0L/2520.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/17280.0L*x + 6745979383.0L/1728.0L) - 2276678635517.0L/129600.0L) + 149890784901.0L/3200.0L) - 7081150672739.0L/86400.0L) + 212376795917.0L/2160.0L) - 283050742403.0L/3456.0L) + 4041049965667.0L/86400.0L) - 15896862646873.0L/907200.0L) + 167989365961.0L/43200.0L) - 3725429279.0L/9600.0L) - 91.0L/51840.0L) + 1001.0L/21600.0L) - 44473.0L/86400.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/17280.0L)*x - 6745979383.0L/1728.0L) + 2276678635517.0L/129600.0L) - 149890784901.0L/3200.0L) + 7081150672739.0L/86400.0L) - 212376795917.0L/2160.0L) + 283050742403.0L/3456.0L) - 4041049965667.0L/86400.0L) + 15896862646873.0L/907200.0L) - 195987593621.0L/50400.0L) + 117351022283.0L/302400.0L) + 1.0L/672.0L) + 3.0L/2240.0L) - 971.0L/25200.0L) - 971.0L/28800.0L) + 1039.0L/2520.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/23040.0L*x + 6745979383.0L/2304.0L) - 2276678635517.0L/172800.0L) + 449672354703.0L/12800.0L) - 7081150672739.0L/115200.0L) + 212376795917.0L/2880.0L) - 283050742403.0L/4608.0L) + 4041049965667.0L/115200.0L) - 15896862646873.0L/1209600.0L) + 47037022469.0L/16128.0L) - 176026533419.0L/604800.0L) - 29.0L/32256.0L) - 29.0L/17920.0L) + 59.0L/2688.0L) + 59.0L/1536.0L) - 33853.0L/161280.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/41472.0L)*x - 33729896915.0L/20736.0L) + 2276678635517.0L/311040.0L) - 49963594967.0L/2560.0L) + 7081150672739.0L/207360.0L) - 212376795917.0L/5184.0L) + 1415253712015.0L/41472.0L) - 4041049965667.0L/207360.0L) + 15896862646873.0L/2177280.0L) - 293981390431.0L/181440.0L) + 46940408911.0L/290304.0L) + 41.0L/108864.0L) + 41.0L/40320.0L) - 151.0L/18144.0L) - 151.0L/6912.0L) + 3011.0L/45360.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/103680.0L*x + 6745979383.0L/10368.0L) - 2276678635517.0L/777600.0L) + 49963594967.0L/6400.0L) - 7081150672739.0L/518400.0L) + 212376795917.0L/12960.0L) - 283050742403.0L/20736.0L) + 4041049965667.0L/518400.0L) - 15896862646873.0L/5443200.0L) + 130658395747.0L/201600.0L) - 46940408911.0L/725760.0L) - 5.0L/48384.0L) - 1.0L/2688.0L) + 601.0L/302400.0L) + 601.0L/86400.0L) - 625.0L/48384.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((613270853.0L/34560.0L)*x - 613270853.0L/3456.0L) + 206970785047.0L/259200.0L) - 13626434991.0L/6400.0L) + 643740970249.0L/172800.0L) - 19306981447.0L/4320.0L) + 25731885673.0L/6912.0L) - 367368178697.0L/172800.0L) + 15896862646873.0L/19958400.0L) - 587962780861.0L/3326400.0L) + 16002412129.0L/907200.0L) + 1.0L/60480.0L) + 1.0L/13440.0L) - 41.0L/151200.0L) - 41.0L/34560.0L) + 121.0L/75600.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-613270853.0L/207360.0L*x + 613270853.0L/20736.0L) - 206970785047.0L/1555200.0L) + 4542144997.0L/12800.0L) - 643740970249.0L/1036800.0L) + 19306981447.0L/25920.0L) - 25731885673.0L/41472.0L) + 367368178697.0L/1036800.0L) - 15896862646873.0L/119750400.0L) + 1175925561721.0L/39916800.0L) - 10668274753.0L/3628800.0L) - 1.0L/870912.0L) - 1.0L/161280.0L) + 31.0L/1814400.0L) + 31.0L/345600.0L) - 139.0L/1451520.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 10)*(x*(x*(x*(x*(x*(x*(x*(x*(x*((47174681.0L/207360.0L)*x - 47174681.0L/20736.0L) + 15920829619.0L/1555200.0L) - 349395769.0L/12800.0L) + 49518536173.0L/1036800.0L) - 1485152419.0L/25920.0L) + 1979375821.0L/41472.0L) - 28259090669.0L/1036800.0L) + 1222835588221.0L/119750400.0L) - 107685491.0L/47520.0L) + 26051953.0L/115200.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-47174681.0L/10368.0L*x + 896318939.0L/20736.0L) - 15920829619.0L/86400.0L) + 5939728073.0L/12800.0L) - 49518536173.0L/64800.0L) + 1485152419.0L/1728.0L) - 13855630747.0L/20736.0L) + 367368178697.0L/1036800.0L) - 1222835588221.0L/9979200.0L) + 90455812441.0L/3628800.0L) - 20515913.0L/9072.0L) - 1.0L/96768.0L) + 1.0L/20160.0L) + 31.0L/259200.0L) - 31.0L/57600.0L) - 139.0L/290304.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((613270853.0L/10368.0L)*x - 11652146207.0L/20736.0L) + 206970785047.0L/86400.0L) - 77216464949.0L/12800.0L) + 643740970249.0L/64800.0L) - 19306981447.0L/1728.0L) + 180123199711.0L/20736.0L) - 4775786323061.0L/1036800.0L) + 15896862646873.0L/9979200.0L) - 32664598937.0L/100800.0L) + 21336549517.0L/725760.0L) + 1.0L/6720.0L) - 1.0L/1680.0L) - 41.0L/21600.0L) + 41.0L/5760.0L) + 121.0L/15120.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-613270853.0L/1728.0L*x + 11652146207.0L/3456.0L) - 206970785047.0L/14400.0L) + 231649394847.0L/6400.0L) - 643740970249.0L/10800.0L) + 19306981447.0L/288.0L) - 180123199711.0L/3456.0L) + 4775786323061.0L/172800.0L) - 15896862646873.0L/1663200.0L) + 1175925561731.0L/604800.0L) - 64009648543.0L/362880.0L) - 5.0L/5376.0L) + 1.0L/336.0L) + 601.0L/43200.0L) - 601.0L/14400.0L) - 3125.0L/48384.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/5184.0L)*x - 128173608277.0L/10368.0L) + 2276678635517.0L/43200.0L) - 849381114439.0L/6400.0L) + 7081150672739.0L/32400.0L) - 212376795917.0L/864.0L) + 1981355196821.0L/10368.0L) - 52533649553671.0L/518400.0L) + 15896862646873.0L/453600.0L) - 1293518117903.0L/181440.0L) + 29337755579.0L/45360.0L) + 41.0L/12096.0L) - 41.0L/5040.0L) - 151.0L/2592.0L) + 151.0L/1152.0L) + 3011.0L/9072.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-33729896915.0L/10368.0L*x + 640868041385.0L/20736.0L) - 2276678635517.0L/17280.0L) + 849381114439.0L/2560.0L) - 7081150672739.0L/12960.0L) + 1061883979585.0L/1728.0L) - 9906775984105.0L/20736.0L) + 52533649553671.0L/207360.0L) - 15896862646873.0L/181440.0L) + 4311727059673.0L/241920.0L) - 39117007435.0L/24192.0L) - 29.0L/3584.0L) + 29.0L/2240.0L) + 59.0L/384.0L) - 59.0L/256.0L) - 33853.0L/32256.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/1152.0L)*x - 128173608277.0L/2304.0L) + 2276678635517.0L/9600.0L) - 7644430029951.0L/12800.0L) + 7081150672739.0L/7200.0L) - 212376795917.0L/192.0L) + 1981355196821.0L/2304.0L) - 52533649553671.0L/115200.0L) + 15896862646873.0L/100800.0L) - 101056102961.0L/3150.0L) + 140821226755.0L/48384.0L) + 3.0L/224.0L) - 3.0L/280.0L) - 971.0L/3600.0L) + 971.0L/4800.0L) + 1039.0L/504.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/864.0L*x + 128173608277.0L/1728.0L) - 2276678635517.0L/7200.0L) + 2548143343317.0L/3200.0L) - 7081150672739.0L/5400.0L) + 212376795917.0L/144.0L) - 1981355196821.0L/1728.0L) + 52533649553671.0L/86400.0L) - 15896862646873.0L/75600.0L) + 1847883025571.0L/43200.0L) - 3725429279.0L/960.0L) - 91.0L/5760.0L) + 7007.0L/21600.0L) - 44473.0L/17280.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((6745979383.0L/864.0L)*x - 128173608277.0L/1728.0L) + 2276678635517.0L/7200.0L) - 2548143343317.0L/3200.0L) + 7081150672739.0L/5400.0L) - 212376795917.0L/144.0L) + 1981355196821.0L/1728.0L) - 52533649553671.0L/86400.0L) + 15896862646873.0L/75600.0L) - 2155863529831.0L/50400.0L) + 117351022283.0L/30240.0L) + 3.0L/224.0L) + 3.0L/280.0L) - 971.0L/3600.0L) - 971.0L/4800.0L) + 1039.0L/504.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/1152.0L*x + 128173608277.0L/2304.0L) - 2276678635517.0L/9600.0L) + 7644430029951.0L/12800.0L) - 7081150672739.0L/7200.0L) + 212376795917.0L/192.0L) - 1981355196821.0L/2304.0L) + 52533649553671.0L/115200.0L) - 15896862646873.0L/100800.0L) + 517407247159.0L/16128.0L) - 176026533419.0L/60480.0L) - 29.0L/3584.0L) - 29.0L/2240.0L) + 59.0L/384.0L) + 59.0L/256.0L) - 33853.0L/32256.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((33729896915.0L/10368.0L)*x - 640868041385.0L/20736.0L) + 2276678635517.0L/17280.0L) - 849381114439.0L/2560.0L) + 7081150672739.0L/12960.0L) - 1061883979585.0L/1728.0L) + 9906775984105.0L/20736.0L) - 52533649553671.0L/207360.0L) + 15896862646873.0L/181440.0L) - 3233795294741.0L/181440.0L) + 234702044555.0L/145152.0L) + 41.0L/12096.0L) + 41.0L/5040.0L) - 151.0L/2592.0L) - 151.0L/1152.0L) + 3011.0L/9072.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-6745979383.0L/5184.0L*x + 128173608277.0L/10368.0L) - 2276678635517.0L/43200.0L) + 849381114439.0L/6400.0L) - 7081150672739.0L/32400.0L) + 212376795917.0L/864.0L) - 1981355196821.0L/10368.0L) + 52533649553671.0L/518400.0L) - 15896862646873.0L/453600.0L) + 1437242353217.0L/201600.0L) - 46940408911.0L/72576.0L) - 5.0L/5376.0L) - 1.0L/336.0L) + 601.0L/43200.0L) + 601.0L/14400.0L) - 3125.0L/48384.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((613270853.0L/1728.0L)*x - 11652146207.0L/3456.0L) + 206970785047.0L/14400.0L) - 231649394847.0L/6400.0L) + 643740970249.0L/10800.0L) - 19306981447.0L/288.0L) + 180123199711.0L/3456.0L) - 4775786323061.0L/172800.0L) + 15896862646873.0L/1663200.0L) - 587962780861.0L/302400.0L) + 16002412129.0L/90720.0L) + 1.0L/6720.0L) + 1.0L/1680.0L) - 41.0L/21600.0L) - 41.0L/5760.0L) + 121.0L/15120.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-613270853.0L/10368.0L*x + 11652146207.0L/20736.0L) - 206970785047.0L/86400.0L) + 77216464949.0L/12800.0L) - 643740970249.0L/64800.0L) + 19306981447.0L/1728.0L) - 180123199711.0L/20736.0L) + 4775786323061.0L/1036800.0L) - 15896862646873.0L/9979200.0L) + 1175925561721.0L/3628800.0L) - 10668274753.0L/362880.0L) - 1.0L/96768.0L) - 1.0L/20160.0L) + 31.0L/259200.0L) + 31.0L/57600.0L) - 139.0L/290304.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 9)*(x*(x*(x*(x*(x*(x*(x*(x*(x*((47174681.0L/10368.0L)*x - 896318939.0L/20736.0L) + 15920829619.0L/86400.0L) - 5939728073.0L/12800.0L) + 49518536173.0L/64800.0L) - 1485152419.0L/1728.0L) + 13855630747.0L/20736.0L) - 367368178697.0L/1036800.0L) + 1222835588221.0L/9979200.0L) - 107685491.0L/4320.0L) + 26051953.0L/11520.0L); +break; +} +} +void beta_n6_m11(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((26051953.0L/633600.0L)*x - 599194919.0L/1267200.0L) + 26963068441.0L/10886400.0L) - 3235371397.0L/414720.0L) + 51079328023.0L/3110400.0L) - 1118089903.0L/46080.0L) + 26630059633.0L/1036800.0L) - 40405623613.0L/2073600.0L) + 6461456951.0L/622080.0L) - 53804561281.0L/14515200.0L) + 7640220799.0L/9580032.0L) - 37563484601.0L/479001600.0L) - 1.0L/79833600.0L) - 1.0L/8709120.0L) + 1.0L/1451520.0L) + 31.0L/14515200.0L) - 31.0L/2419200.0L) - 139.0L/8709120.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-338675389.0L/633600.0L*x + 7789533947.0L/1267200.0L) - 350519889733.0L/10886400.0L) + 42059828161.0L/414720.0L) - 664031264299.0L/3110400.0L) + 14535168739.0L/46080.0L) - 346190775229.0L/1036800.0L) + 525273106969.0L/2073600.0L) - 83998940363.0L/622080.0L) + 699459296653.0L/14515200.0L) - 99322870387.0L/9580032.0L) + 2466289393.0L/2419200.0L) + 1.0L/7983360.0L) + 1.0L/604800.0L) - 1.0L/120960.0L) - 41.0L/1209600.0L) + 41.0L/241920.0L) + 121.0L/453600.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((338675389.0L/105600.0L)*x - 7789533947.0L/211200.0L) + 350519889733.0L/1814400.0L) - 42059828161.0L/69120.0L) + 664031264299.0L/518400.0L) - 14535168739.0L/7680.0L) + 346190775229.0L/172800.0L) - 525273106969.0L/345600.0L) + 83998940363.0L/103680.0L) - 699459296653.0L/2419200.0L) + 99322870387.0L/1596672.0L) - 97665059963.0L/15966720.0L) - 1.0L/1814400.0L) - 1.0L/96768.0L) + 1.0L/24192.0L) + 601.0L/2419200.0L) - 601.0L/604800.0L) - 625.0L/290304.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-338675389.0L/28800.0L*x + 7789533947.0L/57600.0L) - 3855718787063.0L/5443200.0L) + 462658109771.0L/207360.0L) - 7304343907289.0L/1555200.0L) + 159886856129.0L/23040.0L) - 3808098527519.0L/518400.0L) + 5778004176659.0L/1036800.0L) - 923988343993.0L/311040.0L) + 7694052263183.0L/7257600.0L) - 99322870387.0L/435456.0L) + 61040662477.0L/2721600.0L) + 1.0L/725760.0L) + 41.0L/1088640.0L) - 41.0L/362880.0L) - 151.0L/145152.0L) + 151.0L/48384.0L) + 3011.0L/272160.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((338675389.0L/11520.0L)*x - 7789533947.0L/23040.0L) + 3855718787063.0L/2177280.0L) - 462658109771.0L/82944.0L) + 7304343907289.0L/622080.0L) - 159886856129.0L/9216.0L) + 3808098527519.0L/207360.0L) - 5778004176659.0L/414720.0L) + 923988343993.0L/124416.0L) - 7694052263183.0L/2903040.0L) + 496614351935.0L/870912.0L) - 162775099939.0L/2903040.0L) - 1.0L/483840.0L) - 29.0L/322560.0L) + 29.0L/161280.0L) + 59.0L/21504.0L) - 59.0L/10752.0L) - 33853.0L/967680.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-338675389.0L/6400.0L*x + 7789533947.0L/12800.0L) - 3855718787063.0L/1209600.0L) + 462658109771.0L/46080.0L) - 7304343907289.0L/345600.0L) + 159886856129.0L/5120.0L) - 3808098527519.0L/115200.0L) + 5778004176659.0L/230400.0L) - 923988343993.0L/69120.0L) + 7694052263183.0L/1612800.0L) - 99322870387.0L/96768.0L) + 244162649909.0L/2419200.0L) + 1.0L/604800.0L) + 1.0L/6720.0L) - 1.0L/6720.0L) - 971.0L/201600.0L) + 971.0L/201600.0L) + 1039.0L/15120.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((338675389.0L/4800.0L)*x - 7789533947.0L/9600.0L) + 3855718787063.0L/907200.0L) - 462658109771.0L/34560.0L) + 7304343907289.0L/259200.0L) - 159886856129.0L/3840.0L) + 3808098527519.0L/86400.0L) - 5778004176659.0L/172800.0L) + 923988343993.0L/51840.0L) - 7694052263183.0L/1209600.0L) + 99322870387.0L/72576.0L) - 69760757117.0L/518400.0L) - 91.0L/518400.0L) + 1001.0L/172800.0L) - 44473.0L/518400.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-338675389.0L/4800.0L*x + 7789533947.0L/9600.0L) - 3855718787063.0L/907200.0L) + 462658109771.0L/34560.0L) - 7304343907289.0L/259200.0L) + 159886856129.0L/3840.0L) - 3808098527519.0L/86400.0L) + 5778004176659.0L/172800.0L) - 923988343993.0L/51840.0L) + 7694052263183.0L/1209600.0L) - 99322870387.0L/72576.0L) + 8138754997.0L/60480.0L) - 1.0L/604800.0L) + 1.0L/6720.0L) + 1.0L/6720.0L) - 971.0L/201600.0L) - 971.0L/201600.0L) + 1039.0L/15120.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((338675389.0L/6400.0L)*x - 7789533947.0L/12800.0L) + 3855718787063.0L/1209600.0L) - 462658109771.0L/46080.0L) + 7304343907289.0L/345600.0L) - 159886856129.0L/5120.0L) + 3808098527519.0L/115200.0L) - 5778004176659.0L/230400.0L) + 923988343993.0L/69120.0L) - 7694052263183.0L/1612800.0L) + 99322870387.0L/96768.0L) - 488325299821.0L/4838400.0L) + 1.0L/483840.0L) - 29.0L/322560.0L) - 29.0L/161280.0L) + 59.0L/21504.0L) + 59.0L/10752.0L) - 33853.0L/967680.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-338675389.0L/11520.0L*x + 7789533947.0L/23040.0L) - 3855718787063.0L/2177280.0L) + 462658109771.0L/82944.0L) - 7304343907289.0L/622080.0L) + 159886856129.0L/9216.0L) - 3808098527519.0L/207360.0L) + 5778004176659.0L/414720.0L) - 923988343993.0L/124416.0L) + 7694052263183.0L/2903040.0L) - 496614351935.0L/870912.0L) + 244162649911.0L/4354560.0L) - 1.0L/725760.0L) + 41.0L/1088640.0L) + 41.0L/362880.0L) - 151.0L/145152.0L) - 151.0L/48384.0L) + 3011.0L/272160.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((338675389.0L/28800.0L)*x - 7789533947.0L/57600.0L) + 3855718787063.0L/5443200.0L) - 462658109771.0L/207360.0L) + 7304343907289.0L/1555200.0L) - 159886856129.0L/23040.0L) + 3808098527519.0L/518400.0L) - 5778004176659.0L/1036800.0L) + 923988343993.0L/311040.0L) - 7694052263183.0L/7257600.0L) + 99322870387.0L/435456.0L) - 54258366647.0L/2419200.0L) + 1.0L/1814400.0L) - 1.0L/96768.0L) - 1.0L/24192.0L) + 601.0L/2419200.0L) + 601.0L/604800.0L) - 625.0L/290304.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-338675389.0L/105600.0L*x + 7789533947.0L/211200.0L) - 350519889733.0L/1814400.0L) + 42059828161.0L/69120.0L) - 664031264299.0L/518400.0L) + 14535168739.0L/7680.0L) - 346190775229.0L/172800.0L) + 525273106969.0L/345600.0L) - 83998940363.0L/103680.0L) + 699459296653.0L/2419200.0L) - 99322870387.0L/1596672.0L) + 30520331239.0L/4989600.0L) - 1.0L/7983360.0L) + 1.0L/604800.0L) + 1.0L/120960.0L) - 41.0L/1209600.0L) - 41.0L/241920.0L) + 121.0L/453600.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((338675389.0L/633600.0L)*x - 7789533947.0L/1267200.0L) + 350519889733.0L/10886400.0L) - 42059828161.0L/414720.0L) + 664031264299.0L/3110400.0L) - 14535168739.0L/46080.0L) + 346190775229.0L/1036800.0L) - 525273106969.0L/2073600.0L) + 83998940363.0L/622080.0L) - 699459296653.0L/14515200.0L) + 99322870387.0L/9580032.0L) - 1775728363.0L/1741824.0L) + 1.0L/79833600.0L) - 1.0L/8709120.0L) - 1.0L/1451520.0L) + 31.0L/14515200.0L) + 31.0L/2419200.0L) - 139.0L/8709120.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 12)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-26051953.0L/633600.0L*x + 599194919.0L/1267200.0L) - 26963068441.0L/10886400.0L) + 3235371397.0L/414720.0L) - 51079328023.0L/3110400.0L) + 1118089903.0L/46080.0L) - 26630059633.0L/1036800.0L) + 40405623613.0L/2073600.0L) - 6461456951.0L/622080.0L) + 53804561281.0L/14515200.0L) - 7640220799.0L/9580032.0L) + 894368681.0L/11404800.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((599194919.0L/633600.0L)*x - 599194919.0L/57600.0L) + 26963068441.0L/518400.0L) - 3235371397.0L/20736.0L) + 970507232437.0L/3110400.0L) - 1118089903.0L/2560.0L) + 452711013761.0L/1036800.0L) - 40405623613.0L/129600.0L) + 6461456951.0L/41472.0L) - 53804561281.0L/1036800.0L) + 99322870387.0L/9580032.0L) - 37563484601.0L/39916800.0L) - 1.0L/7257600.0L) - 1.0L/870912.0L) + 1.0L/161280.0L) + 31.0L/1814400.0L) - 31.0L/345600.0L) - 139.0L/1451520.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/633600.0L*x + 7789533947.0L/57600.0L) - 350519889733.0L/518400.0L) + 42059828161.0L/20736.0L) - 12616594021681.0L/3110400.0L) + 14535168739.0L/2560.0L) - 5885243178893.0L/1036800.0L) + 525273106969.0L/129600.0L) - 83998940363.0L/41472.0L) + 699459296653.0L/1036800.0L) - 1291197315031.0L/9580032.0L) + 2466289393.0L/201600.0L) + 1.0L/725760.0L) + 1.0L/60480.0L) - 1.0L/13440.0L) - 41.0L/151200.0L) + 41.0L/34560.0L) + 121.0L/75600.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/105600.0L)*x - 7789533947.0L/9600.0L) + 350519889733.0L/86400.0L) - 42059828161.0L/3456.0L) + 12616594021681.0L/518400.0L) - 43605506217.0L/1280.0L) + 5885243178893.0L/172800.0L) - 525273106969.0L/21600.0L) + 83998940363.0L/6912.0L) - 699459296653.0L/172800.0L) + 1291197315031.0L/1596672.0L) - 97665059963.0L/1330560.0L) - 11.0L/1814400.0L) - 5.0L/48384.0L) + 1.0L/2688.0L) + 601.0L/302400.0L) - 601.0L/86400.0L) - 625.0L/48384.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/28800.0L*x + 85684873417.0L/28800.0L) - 3855718787063.0L/259200.0L) + 462658109771.0L/10368.0L) - 138782534238491.0L/1555200.0L) + 159886856129.0L/1280.0L) - 64737674967823.0L/518400.0L) + 5778004176659.0L/64800.0L) - 923988343993.0L/20736.0L) + 7694052263183.0L/518400.0L) - 1291197315031.0L/435456.0L) + 61040662477.0L/226800.0L) + 11.0L/725760.0L) + 41.0L/108864.0L) - 41.0L/40320.0L) - 151.0L/18144.0L) + 151.0L/6912.0L) + 3011.0L/45360.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/11520.0L)*x - 85684873417.0L/11520.0L) + 3855718787063.0L/103680.0L) - 2313290548855.0L/20736.0L) + 138782534238491.0L/622080.0L) - 159886856129.0L/512.0L) + 64737674967823.0L/207360.0L) - 5778004176659.0L/25920.0L) + 4619941719965.0L/41472.0L) - 7694052263183.0L/207360.0L) + 6455986575155.0L/870912.0L) - 162775099939.0L/241920.0L) - 11.0L/483840.0L) - 29.0L/32256.0L) + 29.0L/17920.0L) + 59.0L/2688.0L) - 59.0L/1536.0L) - 33853.0L/161280.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/6400.0L*x + 85684873417.0L/6400.0L) - 3855718787063.0L/57600.0L) + 462658109771.0L/2304.0L) - 138782534238491.0L/345600.0L) + 1438981705161.0L/2560.0L) - 64737674967823.0L/115200.0L) + 5778004176659.0L/14400.0L) - 923988343993.0L/4608.0L) + 7694052263183.0L/115200.0L) - 1291197315031.0L/96768.0L) + 244162649909.0L/201600.0L) + 11.0L/604800.0L) + 1.0L/672.0L) - 3.0L/2240.0L) - 971.0L/25200.0L) + 971.0L/28800.0L) + 1039.0L/2520.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/4800.0L)*x - 85684873417.0L/4800.0L) + 3855718787063.0L/43200.0L) - 462658109771.0L/1728.0L) + 138782534238491.0L/259200.0L) - 479660568387.0L/640.0L) + 64737674967823.0L/86400.0L) - 5778004176659.0L/10800.0L) + 923988343993.0L/3456.0L) - 7694052263183.0L/86400.0L) + 1291197315031.0L/72576.0L) - 69760757117.0L/43200.0L) - 91.0L/51840.0L) + 1001.0L/21600.0L) - 44473.0L/86400.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/4800.0L*x + 85684873417.0L/4800.0L) - 3855718787063.0L/43200.0L) + 462658109771.0L/1728.0L) - 138782534238491.0L/259200.0L) + 479660568387.0L/640.0L) - 64737674967823.0L/86400.0L) + 5778004176659.0L/10800.0L) - 923988343993.0L/3456.0L) + 7694052263183.0L/86400.0L) - 1291197315031.0L/72576.0L) + 8138754997.0L/5040.0L) - 11.0L/604800.0L) + 1.0L/672.0L) + 3.0L/2240.0L) - 971.0L/25200.0L) - 971.0L/28800.0L) + 1039.0L/2520.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/6400.0L)*x - 85684873417.0L/6400.0L) + 3855718787063.0L/57600.0L) - 462658109771.0L/2304.0L) + 138782534238491.0L/345600.0L) - 1438981705161.0L/2560.0L) + 64737674967823.0L/115200.0L) - 5778004176659.0L/14400.0L) + 923988343993.0L/4608.0L) - 7694052263183.0L/115200.0L) + 1291197315031.0L/96768.0L) - 488325299821.0L/403200.0L) + 11.0L/483840.0L) - 29.0L/32256.0L) - 29.0L/17920.0L) + 59.0L/2688.0L) + 59.0L/1536.0L) - 33853.0L/161280.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/11520.0L*x + 85684873417.0L/11520.0L) - 3855718787063.0L/103680.0L) + 2313290548855.0L/20736.0L) - 138782534238491.0L/622080.0L) + 159886856129.0L/512.0L) - 64737674967823.0L/207360.0L) + 5778004176659.0L/25920.0L) - 4619941719965.0L/41472.0L) + 7694052263183.0L/207360.0L) - 6455986575155.0L/870912.0L) + 244162649911.0L/362880.0L) - 11.0L/725760.0L) + 41.0L/108864.0L) + 41.0L/40320.0L) - 151.0L/18144.0L) - 151.0L/6912.0L) + 3011.0L/45360.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/28800.0L)*x - 85684873417.0L/28800.0L) + 3855718787063.0L/259200.0L) - 462658109771.0L/10368.0L) + 138782534238491.0L/1555200.0L) - 159886856129.0L/1280.0L) + 64737674967823.0L/518400.0L) - 5778004176659.0L/64800.0L) + 923988343993.0L/20736.0L) - 7694052263183.0L/518400.0L) + 1291197315031.0L/435456.0L) - 54258366647.0L/201600.0L) + 11.0L/1814400.0L) - 5.0L/48384.0L) - 1.0L/2688.0L) + 601.0L/302400.0L) + 601.0L/86400.0L) - 625.0L/48384.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/105600.0L*x + 7789533947.0L/9600.0L) - 350519889733.0L/86400.0L) + 42059828161.0L/3456.0L) - 12616594021681.0L/518400.0L) + 43605506217.0L/1280.0L) - 5885243178893.0L/172800.0L) + 525273106969.0L/21600.0L) - 83998940363.0L/6912.0L) + 699459296653.0L/172800.0L) - 1291197315031.0L/1596672.0L) + 30520331239.0L/415800.0L) - 1.0L/725760.0L) + 1.0L/60480.0L) + 1.0L/13440.0L) - 41.0L/151200.0L) - 41.0L/34560.0L) + 121.0L/75600.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/633600.0L)*x - 7789533947.0L/57600.0L) + 350519889733.0L/518400.0L) - 42059828161.0L/20736.0L) + 12616594021681.0L/3110400.0L) - 14535168739.0L/2560.0L) + 5885243178893.0L/1036800.0L) - 525273106969.0L/129600.0L) + 83998940363.0L/41472.0L) - 699459296653.0L/1036800.0L) + 1291197315031.0L/9580032.0L) - 1775728363.0L/145152.0L) + 1.0L/7257600.0L) - 1.0L/870912.0L) - 1.0L/161280.0L) + 31.0L/1814400.0L) + 31.0L/345600.0L) - 139.0L/1451520.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 11)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-599194919.0L/633600.0L*x + 599194919.0L/57600.0L) - 26963068441.0L/518400.0L) + 3235371397.0L/20736.0L) - 970507232437.0L/3110400.0L) + 1118089903.0L/2560.0L) - 452711013761.0L/1036800.0L) + 40405623613.0L/129600.0L) - 6461456951.0L/41472.0L) + 53804561281.0L/1036800.0L) - 99322870387.0L/9580032.0L) + 894368681.0L/950400.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((599194919.0L/28800.0L)*x - 4194364433.0L/19200.0L) + 26963068441.0L/25920.0L) - 61472056543.0L/20736.0L) + 970507232437.0L/172800.0L) - 19007528351.0L/2560.0L) + 452711013761.0L/64800.0L) - 40405623613.0L/8640.0L) + 45230198657.0L/20736.0L) - 699459296653.0L/1036800.0L) + 99322870387.0L/798336.0L) - 37563484601.0L/3628800.0L) - 1.0L/725760.0L) - 1.0L/96768.0L) + 1.0L/20160.0L) + 31.0L/259200.0L) - 31.0L/57600.0L) - 139.0L/290304.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/28800.0L*x + 54526737629.0L/19200.0L) - 350519889733.0L/25920.0L) + 799136735059.0L/20736.0L) - 12616594021681.0L/172800.0L) + 247097868563.0L/2560.0L) - 5885243178893.0L/64800.0L) + 525273106969.0L/8640.0L) - 587992582541.0L/20736.0L) + 9092970856489.0L/1036800.0L) - 1291197315031.0L/798336.0L) + 27129183323.0L/201600.0L) + 1.0L/72576.0L) + 1.0L/6720.0L) - 1.0L/1680.0L) - 41.0L/21600.0L) + 41.0L/5760.0L) + 121.0L/15120.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/4800.0L)*x - 54526737629.0L/3200.0L) + 350519889733.0L/4320.0L) - 799136735059.0L/3456.0L) + 12616594021681.0L/28800.0L) - 741293605689.0L/1280.0L) + 5885243178893.0L/10800.0L) - 525273106969.0L/1440.0L) + 587992582541.0L/3456.0L) - 9092970856489.0L/172800.0L) + 1291197315031.0L/133056.0L) - 97665059963.0L/120960.0L) - 11.0L/181440.0L) - 5.0L/5376.0L) + 1.0L/336.0L) + 601.0L/43200.0L) - 601.0L/14400.0L) - 3125.0L/48384.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-85684873417.0L/14400.0L*x + 599794113919.0L/9600.0L) - 3855718787063.0L/12960.0L) + 8790504085649.0L/10368.0L) - 138782534238491.0L/86400.0L) + 2718076554193.0L/1280.0L) - 64737674967823.0L/32400.0L) + 5778004176659.0L/4320.0L) - 6467918407951.0L/10368.0L) + 100022679421379.0L/518400.0L) - 1291197315031.0L/36288.0L) + 671447287247.0L/226800.0L) + 11.0L/72576.0L) + 41.0L/12096.0L) - 41.0L/5040.0L) - 151.0L/2592.0L) + 151.0L/1152.0L) + 3011.0L/9072.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((85684873417.0L/5760.0L)*x - 599794113919.0L/3840.0L) + 3855718787063.0L/5184.0L) - 43952520428245.0L/20736.0L) + 138782534238491.0L/34560.0L) - 2718076554193.0L/512.0L) + 64737674967823.0L/12960.0L) - 5778004176659.0L/1728.0L) + 32339592039755.0L/20736.0L) - 100022679421379.0L/207360.0L) + 6455986575155.0L/72576.0L) - 1790526099329.0L/241920.0L) - 11.0L/48384.0L) - 29.0L/3584.0L) + 29.0L/2240.0L) + 59.0L/384.0L) - 59.0L/256.0L) - 33853.0L/32256.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-85684873417.0L/3200.0L*x + 1799382341757.0L/6400.0L) - 3855718787063.0L/2880.0L) + 8790504085649.0L/2304.0L) - 138782534238491.0L/19200.0L) + 24462688987737.0L/2560.0L) - 64737674967823.0L/7200.0L) + 5778004176659.0L/960.0L) - 6467918407951.0L/2304.0L) + 100022679421379.0L/115200.0L) - 1291197315031.0L/8064.0L) + 2685789148999.0L/201600.0L) + 11.0L/60480.0L) + 3.0L/224.0L) - 3.0L/280.0L) - 971.0L/3600.0L) + 971.0L/4800.0L) + 1039.0L/504.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((85684873417.0L/2400.0L)*x - 599794113919.0L/1600.0L) + 3855718787063.0L/2160.0L) - 8790504085649.0L/1728.0L) + 138782534238491.0L/14400.0L) - 8154229662579.0L/640.0L) + 64737674967823.0L/5400.0L) - 5778004176659.0L/720.0L) + 6467918407951.0L/1728.0L) - 100022679421379.0L/86400.0L) + 1291197315031.0L/6048.0L) - 767368328287.0L/43200.0L) - 91.0L/5760.0L) + 7007.0L/21600.0L) - 44473.0L/17280.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-85684873417.0L/2400.0L*x + 599794113919.0L/1600.0L) - 3855718787063.0L/2160.0L) + 8790504085649.0L/1728.0L) - 138782534238491.0L/14400.0L) + 8154229662579.0L/640.0L) - 64737674967823.0L/5400.0L) + 5778004176659.0L/720.0L) - 6467918407951.0L/1728.0L) + 100022679421379.0L/86400.0L) - 1291197315031.0L/6048.0L) + 89526304967.0L/5040.0L) - 11.0L/60480.0L) + 3.0L/224.0L) + 3.0L/280.0L) - 971.0L/3600.0L) - 971.0L/4800.0L) + 1039.0L/504.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((85684873417.0L/3200.0L)*x - 1799382341757.0L/6400.0L) + 3855718787063.0L/2880.0L) - 8790504085649.0L/2304.0L) + 138782534238491.0L/19200.0L) - 24462688987737.0L/2560.0L) + 64737674967823.0L/7200.0L) - 5778004176659.0L/960.0L) + 6467918407951.0L/2304.0L) - 100022679421379.0L/115200.0L) + 1291197315031.0L/8064.0L) - 5371578298031.0L/403200.0L) + 11.0L/48384.0L) - 29.0L/3584.0L) - 29.0L/2240.0L) + 59.0L/384.0L) + 59.0L/256.0L) - 33853.0L/32256.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-85684873417.0L/5760.0L*x + 599794113919.0L/3840.0L) - 3855718787063.0L/5184.0L) + 43952520428245.0L/20736.0L) - 138782534238491.0L/34560.0L) + 2718076554193.0L/512.0L) - 64737674967823.0L/12960.0L) + 5778004176659.0L/1728.0L) - 32339592039755.0L/20736.0L) + 100022679421379.0L/207360.0L) - 6455986575155.0L/72576.0L) + 2685789149021.0L/362880.0L) - 11.0L/72576.0L) + 41.0L/12096.0L) + 41.0L/5040.0L) - 151.0L/2592.0L) - 151.0L/1152.0L) + 3011.0L/9072.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((85684873417.0L/14400.0L)*x - 599794113919.0L/9600.0L) + 3855718787063.0L/12960.0L) - 8790504085649.0L/10368.0L) + 138782534238491.0L/86400.0L) - 2718076554193.0L/1280.0L) + 64737674967823.0L/32400.0L) - 5778004176659.0L/4320.0L) + 6467918407951.0L/10368.0L) - 100022679421379.0L/518400.0L) + 1291197315031.0L/36288.0L) - 596842033117.0L/201600.0L) + 11.0L/181440.0L) - 5.0L/5376.0L) - 1.0L/336.0L) + 601.0L/43200.0L) + 601.0L/14400.0L) - 3125.0L/48384.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-7789533947.0L/4800.0L*x + 54526737629.0L/3200.0L) - 350519889733.0L/4320.0L) + 799136735059.0L/3456.0L) - 12616594021681.0L/28800.0L) + 741293605689.0L/1280.0L) - 5885243178893.0L/10800.0L) + 525273106969.0L/1440.0L) - 587992582541.0L/3456.0L) + 9092970856489.0L/172800.0L) - 1291197315031.0L/133056.0L) + 30520331239.0L/37800.0L) - 1.0L/72576.0L) + 1.0L/6720.0L) + 1.0L/1680.0L) - 41.0L/21600.0L) - 41.0L/5760.0L) + 121.0L/15120.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((7789533947.0L/28800.0L)*x - 54526737629.0L/19200.0L) + 350519889733.0L/25920.0L) - 799136735059.0L/20736.0L) + 12616594021681.0L/172800.0L) - 247097868563.0L/2560.0L) + 5885243178893.0L/64800.0L) - 525273106969.0L/8640.0L) + 587992582541.0L/20736.0L) - 9092970856489.0L/1036800.0L) + 1291197315031.0L/798336.0L) - 19533011993.0L/145152.0L) + 1.0L/725760.0L) - 1.0L/96768.0L) - 1.0L/20160.0L) + 31.0L/259200.0L) + 31.0L/57600.0L) - 139.0L/290304.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 10)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-599194919.0L/28800.0L*x + 4194364433.0L/19200.0L) - 26963068441.0L/25920.0L) + 61472056543.0L/20736.0L) - 970507232437.0L/172800.0L) + 19007528351.0L/2560.0L) - 452711013761.0L/64800.0L) + 40405623613.0L/8640.0L) - 45230198657.0L/20736.0L) + 699459296653.0L/1036800.0L) - 99322870387.0L/798336.0L) + 894368681.0L/86400.0L); +break; +} +} +void beta_n6_m12(int deriv, double x, double *poly_val){ +switch(deriv) +{ +case 0: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-894368681.0L/5702400.0L*x + 894368681.0L/456192.0L) - 475259833.0L/42240.0L) + 89431559663.0L/2280960.0L) - 503016379057.0L/5443200.0L) + 321894504433.0L/2073600.0L) - 592866122297.0L/3110400.0L) + 119172690967.0L/691200.0L) - 118257666689.0L/1036800.0L) + 37212350719.0L/691200.0L) - 53552108621.0L/3110400.0L) + 535054363969.0L/159667200.0L) - 71938872239.0L/239500800.0L) + 1.0L/479001600.0L) - 1.0L/79833600.0L) - 1.0L/8709120.0L) + 1.0L/1451520.0L) + 31.0L/14515200.0L) - 31.0L/2419200.0L) - 139.0L/8709120.0L) + 139.0L/1451520.0L) + 479.0L/10886400.0L) - 479.0L/1814400.0L) - 1.0L/33264.0L) + 1.0L/5544.0L); +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/5702400.0L)*x - 11626792853.0L/456192.0L) + 6178377829.0L/42240.0L) - 1162610275619.0L/2280960.0L) + 6539212927741.0L/5443200.0L) - 4184628557629.0L/2073600.0L) + 7707259589861.0L/3110400.0L) - 1549244982571.0L/691200.0L) + 1537349666957.0L/1036800.0L) - 483760559347.0L/691200.0L) + 696177412073.0L/3110400.0L) - 6955706731597.0L/159667200.0L) + 935205339107.0L/239500800.0L) - 1.0L/39916800.0L) + 1.0L/7983360.0L) + 1.0L/604800.0L) - 1.0L/120960.0L) - 41.0L/1209600.0L) + 41.0L/241920.0L) + 121.0L/453600.0L) - 121.0L/90720.0L) - 19.0L/25200.0L) + 19.0L/5040.0L) + 1.0L/1925.0L) - 1.0L/385.0L); +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/950400.0L*x + 11626792853.0L/76032.0L) - 6178377829.0L/7040.0L) + 1162610275619.0L/380160.0L) - 6539212927741.0L/907200.0L) + 4184628557629.0L/345600.0L) - 7707259589861.0L/518400.0L) + 1549244982571.0L/115200.0L) - 1537349666957.0L/172800.0L) + 483760559347.0L/115200.0L) - 696177412073.0L/518400.0L) + 6955706731597.0L/26611200.0L) - 935205339107.0L/39916800.0L) + 1.0L/7257600.0L) - 1.0L/1814400.0L) - 1.0L/96768.0L) + 1.0L/24192.0L) + 601.0L/2419200.0L) - 601.0L/604800.0L) - 625.0L/290304.0L) + 625.0L/72576.0L) + 643.0L/100800.0L) - 643.0L/25200.0L) - 1.0L/224.0L) + 1.0L/56.0L); +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/259200.0L)*x - 11626792853.0L/20736.0L) + 6178377829.0L/1920.0L) - 1162610275619.0L/103680.0L) + 71931342205151.0L/2721600.0L) - 46030914133919.0L/1036800.0L) + 84779855488471.0L/1555200.0L) - 17041694808281.0L/345600.0L) + 16910846336527.0L/518400.0L) - 5321366152817.0L/345600.0L) + 7657951532803.0L/1555200.0L) - 6955706731597.0L/7257600.0L) + 935205339107.0L/10886400.0L) - 1.0L/2177280.0L) + 1.0L/725760.0L) + 41.0L/1088640.0L) - 41.0L/362880.0L) - 151.0L/145152.0L) + 151.0L/48384.0L) + 3011.0L/272160.0L) - 3011.0L/90720.0L) - 4969.0L/136080.0L) + 4969.0L/45360.0L) + 5.0L/189.0L) - 5.0L/63.0L); +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/103680.0L*x + 58133964265.0L/41472.0L) - 6178377829.0L/768.0L) + 1162610275619.0L/41472.0L) - 71931342205151.0L/1088640.0L) + 46030914133919.0L/414720.0L) - 84779855488471.0L/622080.0L) + 17041694808281.0L/138240.0L) - 16910846336527.0L/207360.0L) + 5321366152817.0L/138240.0L) - 7657951532803.0L/622080.0L) + 6955706731597.0L/2903040.0L) - 935205339107.0L/4354560.0L) + 1.0L/967680.0L) - 1.0L/483840.0L) - 29.0L/322560.0L) + 29.0L/161280.0L) + 59.0L/21504.0L) - 59.0L/10752.0L) - 33853.0L/967680.0L) + 33853.0L/483840.0L) + 4469.0L/26880.0L) - 4469.0L/13440.0L) - 15.0L/112.0L) + 15.0L/56.0L); +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/57600.0L)*x - 11626792853.0L/4608.0L) + 18535133487.0L/1280.0L) - 1162610275619.0L/23040.0L) + 71931342205151.0L/604800.0L) - 46030914133919.0L/230400.0L) + 84779855488471.0L/345600.0L) - 17041694808281.0L/76800.0L) + 16910846336527.0L/115200.0L) - 5321366152817.0L/76800.0L) + 7657951532803.0L/345600.0L) - 6955706731597.0L/1612800.0L) + 935205339107.0L/2419200.0L) - 1.0L/604800.0L) + 1.0L/604800.0L) + 1.0L/6720.0L) - 1.0L/6720.0L) - 971.0L/201600.0L) + 971.0L/201600.0L) + 1039.0L/15120.0L) - 1039.0L/15120.0L) - 1769.0L/4200.0L) + 1769.0L/4200.0L) + 6.0L/7.0L) - 6.0L/7.0L); +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/43200.0L*x + 11626792853.0L/3456.0L) - 6178377829.0L/320.0L) + 1162610275619.0L/17280.0L) - 71931342205151.0L/453600.0L) + 46030914133919.0L/172800.0L) - 84779855488471.0L/259200.0L) + 17041694808281.0L/57600.0L) - 16910846336527.0L/86400.0L) + 5321366152817.0L/57600.0L) - 7657951532803.0L/259200.0L) + 6955706731597.0L/1209600.0L) - 935205339107.0L/1814400.0L) + 1.0L/518400.0L) - 91.0L/518400.0L) + 1001.0L/172800.0L) - 44473.0L/518400.0L) + 37037.0L/64800.0L) - 5369.0L/3600.0L) + 1; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/43200.0L)*x - 11626792853.0L/3456.0L) + 6178377829.0L/320.0L) - 1162610275619.0L/17280.0L) + 71931342205151.0L/453600.0L) - 46030914133919.0L/172800.0L) + 84779855488471.0L/259200.0L) - 17041694808281.0L/57600.0L) + 16910846336527.0L/86400.0L) - 5321366152817.0L/57600.0L) + 7657951532803.0L/259200.0L) - 6955706731597.0L/1209600.0L) + 935205339107.0L/1814400.0L) - 1.0L/604800.0L) - 1.0L/604800.0L) + 1.0L/6720.0L) + 1.0L/6720.0L) - 971.0L/201600.0L) - 971.0L/201600.0L) + 1039.0L/15120.0L) + 1039.0L/15120.0L) - 1769.0L/4200.0L) - 1769.0L/4200.0L) + 6.0L/7.0L) + 6.0L/7.0L); +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/57600.0L*x + 11626792853.0L/4608.0L) - 18535133487.0L/1280.0L) + 1162610275619.0L/23040.0L) - 71931342205151.0L/604800.0L) + 46030914133919.0L/230400.0L) - 84779855488471.0L/345600.0L) + 17041694808281.0L/76800.0L) - 16910846336527.0L/115200.0L) + 5321366152817.0L/76800.0L) - 7657951532803.0L/345600.0L) + 6955706731597.0L/1612800.0L) - 935205339107.0L/2419200.0L) + 1.0L/967680.0L) + 1.0L/483840.0L) - 29.0L/322560.0L) - 29.0L/161280.0L) + 59.0L/21504.0L) + 59.0L/10752.0L) - 33853.0L/967680.0L) - 33853.0L/483840.0L) + 4469.0L/26880.0L) + 4469.0L/13440.0L) - 15.0L/112.0L) - 15.0L/56.0L); +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/103680.0L)*x - 58133964265.0L/41472.0L) + 6178377829.0L/768.0L) - 1162610275619.0L/41472.0L) + 71931342205151.0L/1088640.0L) - 46030914133919.0L/414720.0L) + 84779855488471.0L/622080.0L) - 17041694808281.0L/138240.0L) + 16910846336527.0L/207360.0L) - 5321366152817.0L/138240.0L) + 7657951532803.0L/622080.0L) - 6955706731597.0L/2903040.0L) + 935205339107.0L/4354560.0L) - 1.0L/2177280.0L) - 1.0L/725760.0L) + 41.0L/1088640.0L) + 41.0L/362880.0L) - 151.0L/145152.0L) - 151.0L/48384.0L) + 3011.0L/272160.0L) + 3011.0L/90720.0L) - 4969.0L/136080.0L) - 4969.0L/45360.0L) + 5.0L/189.0L) + 5.0L/63.0L); +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/259200.0L*x + 11626792853.0L/20736.0L) - 6178377829.0L/1920.0L) + 1162610275619.0L/103680.0L) - 71931342205151.0L/2721600.0L) + 46030914133919.0L/1036800.0L) - 84779855488471.0L/1555200.0L) + 17041694808281.0L/345600.0L) - 16910846336527.0L/518400.0L) + 5321366152817.0L/345600.0L) - 7657951532803.0L/1555200.0L) + 6955706731597.0L/7257600.0L) - 935205339107.0L/10886400.0L) + 1.0L/7257600.0L) + 1.0L/1814400.0L) - 1.0L/96768.0L) - 1.0L/24192.0L) + 601.0L/2419200.0L) + 601.0L/604800.0L) - 625.0L/290304.0L) - 625.0L/72576.0L) + 643.0L/100800.0L) + 643.0L/25200.0L) - 1.0L/224.0L) - 1.0L/56.0L); +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/950400.0L)*x - 11626792853.0L/76032.0L) + 6178377829.0L/7040.0L) - 1162610275619.0L/380160.0L) + 6539212927741.0L/907200.0L) - 4184628557629.0L/345600.0L) + 7707259589861.0L/518400.0L) - 1549244982571.0L/115200.0L) + 1537349666957.0L/172800.0L) - 483760559347.0L/115200.0L) + 696177412073.0L/518400.0L) - 6955706731597.0L/26611200.0L) + 935205339107.0L/39916800.0L) - 1.0L/39916800.0L) - 1.0L/7983360.0L) + 1.0L/604800.0L) + 1.0L/120960.0L) - 41.0L/1209600.0L) - 41.0L/241920.0L) + 121.0L/453600.0L) + 121.0L/90720.0L) - 19.0L/25200.0L) - 19.0L/5040.0L) + 1.0L/1925.0L) + 1.0L/385.0L); +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/5702400.0L*x + 11626792853.0L/456192.0L) - 6178377829.0L/42240.0L) + 1162610275619.0L/2280960.0L) - 6539212927741.0L/5443200.0L) + 4184628557629.0L/2073600.0L) - 7707259589861.0L/3110400.0L) + 1549244982571.0L/691200.0L) - 1537349666957.0L/1036800.0L) + 483760559347.0L/691200.0L) - 696177412073.0L/3110400.0L) + 6955706731597.0L/159667200.0L) - 935205339107.0L/239500800.0L) + 1.0L/479001600.0L) + 1.0L/79833600.0L) - 1.0L/8709120.0L) - 1.0L/1451520.0L) + 31.0L/14515200.0L) + 31.0L/2419200.0L) - 139.0L/8709120.0L) - 139.0L/1451520.0L) + 479.0L/10886400.0L) + 479.0L/1814400.0L) - 1.0L/33264.0L) - 1.0L/5544.0L); +poly_val[13] = pow(x, 13)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((894368681.0L/5702400.0L)*x - 894368681.0L/456192.0L) + 475259833.0L/42240.0L) - 89431559663.0L/2280960.0L) + 503016379057.0L/5443200.0L) - 321894504433.0L/2073600.0L) + 592866122297.0L/3110400.0L) - 119172690967.0L/691200.0L) + 118257666689.0L/1036800.0L) - 37212350719.0L/691200.0L) + 53552108621.0L/3110400.0L) - 535054363969.0L/159667200.0L) + 71938872239.0L/239500800.0L); +break; +case 1: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-894368681.0L/228096.0L*x + 894368681.0L/19008.0L) - 10930976159.0L/42240.0L) + 89431559663.0L/103680.0L) - 503016379057.0L/259200.0L) + 321894504433.0L/103680.0L) - 11264456323643.0L/3110400.0L) + 119172690967.0L/38400.0L) - 2010380333713.0L/1036800.0L) + 37212350719.0L/43200.0L) - 53552108621.0L/207360.0L) + 535054363969.0L/11404800.0L) - 935205339107.0L/239500800.0L) + 1.0L/39916800.0L) - 1.0L/7257600.0L) - 1.0L/870912.0L) + 1.0L/161280.0L) + 31.0L/1814400.0L) - 31.0L/345600.0L) - 139.0L/1451520.0L) + 139.0L/290304.0L) + 479.0L/2721600.0L) - 479.0L/604800.0L) - 1.0L/16632.0L) + 1.0L/5544.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/228096.0L)*x - 11626792853.0L/19008.0L) + 142102690067.0L/42240.0L) - 1162610275619.0L/103680.0L) + 6539212927741.0L/259200.0L) - 4184628557629.0L/103680.0L) + 146437932207359.0L/3110400.0L) - 1549244982571.0L/38400.0L) + 26134944338269.0L/1036800.0L) - 483760559347.0L/43200.0L) + 696177412073.0L/207360.0L) - 6955706731597.0L/11404800.0L) + 12157669408391.0L/239500800.0L) - 1.0L/3326400.0L) + 1.0L/725760.0L) + 1.0L/60480.0L) - 1.0L/13440.0L) - 41.0L/151200.0L) + 41.0L/34560.0L) + 121.0L/75600.0L) - 121.0L/18144.0L) - 19.0L/6300.0L) + 19.0L/1680.0L) + 2.0L/1925.0L) - 1.0L/385.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/38016.0L*x + 11626792853.0L/3168.0L) - 142102690067.0L/7040.0L) + 1162610275619.0L/17280.0L) - 6539212927741.0L/43200.0L) + 4184628557629.0L/17280.0L) - 146437932207359.0L/518400.0L) + 1549244982571.0L/6400.0L) - 26134944338269.0L/172800.0L) + 483760559347.0L/7200.0L) - 696177412073.0L/34560.0L) + 6955706731597.0L/1900800.0L) - 12157669408391.0L/39916800.0L) + 1.0L/604800.0L) - 11.0L/1814400.0L) - 5.0L/48384.0L) + 1.0L/2688.0L) + 601.0L/302400.0L) - 601.0L/86400.0L) - 625.0L/48384.0L) + 3125.0L/72576.0L) + 643.0L/25200.0L) - 643.0L/8400.0L) - 1.0L/112.0L) + 1.0L/56.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/10368.0L)*x - 11626792853.0L/864.0L) + 142102690067.0L/1920.0L) - 12788713031809.0L/51840.0L) + 71931342205151.0L/129600.0L) - 46030914133919.0L/51840.0L) + 1610817254280949.0L/1555200.0L) - 17041694808281.0L/19200.0L) + 287484387720959.0L/518400.0L) - 5321366152817.0L/21600.0L) + 7657951532803.0L/103680.0L) - 6955706731597.0L/518400.0L) + 12157669408391.0L/10886400.0L) - 1.0L/181440.0L) + 11.0L/725760.0L) + 41.0L/108864.0L) - 41.0L/40320.0L) - 151.0L/18144.0L) + 151.0L/6912.0L) + 3011.0L/45360.0L) - 3011.0L/18144.0L) - 4969.0L/34020.0L) + 4969.0L/15120.0L) + 10.0L/189.0L) - 5.0L/63.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58133964265.0L/20736.0L*x + 58133964265.0L/1728.0L) - 142102690067.0L/768.0L) + 12788713031809.0L/20736.0L) - 71931342205151.0L/51840.0L) + 46030914133919.0L/20736.0L) - 1610817254280949.0L/622080.0L) + 17041694808281.0L/7680.0L) - 287484387720959.0L/207360.0L) + 5321366152817.0L/8640.0L) - 7657951532803.0L/41472.0L) + 6955706731597.0L/207360.0L) - 12157669408391.0L/4354560.0L) + 1.0L/80640.0L) - 11.0L/483840.0L) - 29.0L/32256.0L) + 29.0L/17920.0L) + 59.0L/2688.0L) - 59.0L/1536.0L) - 33853.0L/161280.0L) + 33853.0L/96768.0L) + 4469.0L/6720.0L) - 4469.0L/4480.0L) - 15.0L/56.0L) + 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/2304.0L)*x - 11626792853.0L/192.0L) + 426308070201.0L/1280.0L) - 12788713031809.0L/11520.0L) + 71931342205151.0L/28800.0L) - 46030914133919.0L/11520.0L) + 1610817254280949.0L/345600.0L) - 51125084424843.0L/12800.0L) + 287484387720959.0L/115200.0L) - 5321366152817.0L/4800.0L) + 7657951532803.0L/23040.0L) - 6955706731597.0L/115200.0L) + 12157669408391.0L/2419200.0L) - 1.0L/50400.0L) + 11.0L/604800.0L) + 1.0L/672.0L) - 3.0L/2240.0L) - 971.0L/25200.0L) + 971.0L/28800.0L) + 1039.0L/2520.0L) - 1039.0L/3024.0L) - 1769.0L/1050.0L) + 1769.0L/1400.0L) + 12.0L/7.0L) - 6.0L/7.0L; +poly_val[6] = x*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/1728.0L*x + 11626792853.0L/144.0L) - 142102690067.0L/320.0L) + 12788713031809.0L/8640.0L) - 71931342205151.0L/21600.0L) + 46030914133919.0L/8640.0L) - 1610817254280949.0L/259200.0L) + 17041694808281.0L/3200.0L) - 287484387720959.0L/86400.0L) + 5321366152817.0L/3600.0L) - 7657951532803.0L/17280.0L) + 6955706731597.0L/86400.0L) - 12157669408391.0L/1814400.0L) + 1.0L/43200.0L) - 91.0L/51840.0L) + 1001.0L/21600.0L) - 44473.0L/86400.0L) + 37037.0L/16200.0L) - 5369.0L/1800.0L); +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/1728.0L)*x - 11626792853.0L/144.0L) + 142102690067.0L/320.0L) - 12788713031809.0L/8640.0L) + 71931342205151.0L/21600.0L) - 46030914133919.0L/8640.0L) + 1610817254280949.0L/259200.0L) - 17041694808281.0L/3200.0L) + 287484387720959.0L/86400.0L) - 5321366152817.0L/3600.0L) + 7657951532803.0L/17280.0L) - 6955706731597.0L/86400.0L) + 12157669408391.0L/1814400.0L) - 1.0L/50400.0L) - 11.0L/604800.0L) + 1.0L/672.0L) + 3.0L/2240.0L) - 971.0L/25200.0L) - 971.0L/28800.0L) + 1039.0L/2520.0L) + 1039.0L/3024.0L) - 1769.0L/1050.0L) - 1769.0L/1400.0L) + 12.0L/7.0L) + 6.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/2304.0L*x + 11626792853.0L/192.0L) - 426308070201.0L/1280.0L) + 12788713031809.0L/11520.0L) - 71931342205151.0L/28800.0L) + 46030914133919.0L/11520.0L) - 1610817254280949.0L/345600.0L) + 51125084424843.0L/12800.0L) - 287484387720959.0L/115200.0L) + 5321366152817.0L/4800.0L) - 7657951532803.0L/23040.0L) + 6955706731597.0L/115200.0L) - 12157669408391.0L/2419200.0L) + 1.0L/80640.0L) + 11.0L/483840.0L) - 29.0L/32256.0L) - 29.0L/17920.0L) + 59.0L/2688.0L) + 59.0L/1536.0L) - 33853.0L/161280.0L) - 33853.0L/96768.0L) + 4469.0L/6720.0L) + 4469.0L/4480.0L) - 15.0L/56.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58133964265.0L/20736.0L)*x - 58133964265.0L/1728.0L) + 142102690067.0L/768.0L) - 12788713031809.0L/20736.0L) + 71931342205151.0L/51840.0L) - 46030914133919.0L/20736.0L) + 1610817254280949.0L/622080.0L) - 17041694808281.0L/7680.0L) + 287484387720959.0L/207360.0L) - 5321366152817.0L/8640.0L) + 7657951532803.0L/41472.0L) - 6955706731597.0L/207360.0L) + 12157669408391.0L/4354560.0L) - 1.0L/181440.0L) - 11.0L/725760.0L) + 41.0L/108864.0L) + 41.0L/40320.0L) - 151.0L/18144.0L) - 151.0L/6912.0L) + 3011.0L/45360.0L) + 3011.0L/18144.0L) - 4969.0L/34020.0L) - 4969.0L/15120.0L) + 10.0L/189.0L) + 5.0L/63.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/10368.0L*x + 11626792853.0L/864.0L) - 142102690067.0L/1920.0L) + 12788713031809.0L/51840.0L) - 71931342205151.0L/129600.0L) + 46030914133919.0L/51840.0L) - 1610817254280949.0L/1555200.0L) + 17041694808281.0L/19200.0L) - 287484387720959.0L/518400.0L) + 5321366152817.0L/21600.0L) - 7657951532803.0L/103680.0L) + 6955706731597.0L/518400.0L) - 12157669408391.0L/10886400.0L) + 1.0L/604800.0L) + 11.0L/1814400.0L) - 5.0L/48384.0L) - 1.0L/2688.0L) + 601.0L/302400.0L) + 601.0L/86400.0L) - 625.0L/48384.0L) - 3125.0L/72576.0L) + 643.0L/25200.0L) + 643.0L/8400.0L) - 1.0L/112.0L) - 1.0L/56.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/38016.0L)*x - 11626792853.0L/3168.0L) + 142102690067.0L/7040.0L) - 1162610275619.0L/17280.0L) + 6539212927741.0L/43200.0L) - 4184628557629.0L/17280.0L) + 146437932207359.0L/518400.0L) - 1549244982571.0L/6400.0L) + 26134944338269.0L/172800.0L) - 483760559347.0L/7200.0L) + 696177412073.0L/34560.0L) - 6955706731597.0L/1900800.0L) + 12157669408391.0L/39916800.0L) - 1.0L/3326400.0L) - 1.0L/725760.0L) + 1.0L/60480.0L) + 1.0L/13440.0L) - 41.0L/151200.0L) - 41.0L/34560.0L) + 121.0L/75600.0L) + 121.0L/18144.0L) - 19.0L/6300.0L) - 19.0L/1680.0L) + 2.0L/1925.0L) + 1.0L/385.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/228096.0L*x + 11626792853.0L/19008.0L) - 142102690067.0L/42240.0L) + 1162610275619.0L/103680.0L) - 6539212927741.0L/259200.0L) + 4184628557629.0L/103680.0L) - 146437932207359.0L/3110400.0L) + 1549244982571.0L/38400.0L) - 26134944338269.0L/1036800.0L) + 483760559347.0L/43200.0L) - 696177412073.0L/207360.0L) + 6955706731597.0L/11404800.0L) - 12157669408391.0L/239500800.0L) + 1.0L/39916800.0L) + 1.0L/7257600.0L) - 1.0L/870912.0L) - 1.0L/161280.0L) + 31.0L/1814400.0L) + 31.0L/345600.0L) - 139.0L/1451520.0L) - 139.0L/290304.0L) + 479.0L/2721600.0L) + 479.0L/604800.0L) - 1.0L/16632.0L) - 1.0L/5544.0L; +poly_val[13] = pow(x, 12)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((894368681.0L/228096.0L)*x - 894368681.0L/19008.0L) + 10930976159.0L/42240.0L) - 89431559663.0L/103680.0L) + 503016379057.0L/259200.0L) - 321894504433.0L/103680.0L) + 11264456323643.0L/3110400.0L) - 119172690967.0L/38400.0L) + 2010380333713.0L/1036800.0L) - 37212350719.0L/43200.0L) + 53552108621.0L/207360.0L) - 535054363969.0L/11404800.0L) + 935205339107.0L/239500800.0L); +break; +case 2: +poly_val[0] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-894368681.0L/9504.0L*x + 20570479663.0L/19008.0L) - 10930976159.0L/1920.0L) + 626020917641.0L/34560.0L) - 503016379057.0L/12960.0L) + 6115995584227.0L/103680.0L) - 11264456323643.0L/172800.0L) + 2025935746439.0L/38400.0L) - 2010380333713.0L/64800.0L) + 37212350719.0L/2880.0L) - 374864760347.0L/103680.0L) + 6955706731597.0L/11404800.0L) - 935205339107.0L/19958400.0L) + 1.0L/3628800.0L) - 1.0L/725760.0L) - 1.0L/96768.0L) + 1.0L/20160.0L) + 31.0L/259200.0L) - 31.0L/57600.0L) - 139.0L/290304.0L) + 139.0L/72576.0L) + 479.0L/907200.0L) - 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[1] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/9504.0L)*x - 267416235619.0L/19008.0L) + 142102690067.0L/1920.0L) - 8138271929333.0L/34560.0L) + 6539212927741.0L/12960.0L) - 79507942594951.0L/103680.0L) + 146437932207359.0L/172800.0L) - 26337164703707.0L/38400.0L) + 26134944338269.0L/64800.0L) - 483760559347.0L/2880.0L) + 4873241884511.0L/103680.0L) - 90424187510761.0L/11404800.0L) + 12157669408391.0L/19958400.0L) - 1.0L/302400.0L) + 1.0L/72576.0L) + 1.0L/6720.0L) - 1.0L/1680.0L) - 41.0L/21600.0L) + 41.0L/5760.0L) + 121.0L/15120.0L) - 121.0L/4536.0L) - 19.0L/2100.0L) + 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[2] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/1584.0L*x + 267416235619.0L/3168.0L) - 142102690067.0L/320.0L) + 8138271929333.0L/5760.0L) - 6539212927741.0L/2160.0L) + 79507942594951.0L/17280.0L) - 146437932207359.0L/28800.0L) + 26337164703707.0L/6400.0L) - 26134944338269.0L/10800.0L) + 483760559347.0L/480.0L) - 4873241884511.0L/17280.0L) + 90424187510761.0L/1900800.0L) - 12157669408391.0L/3326400.0L) + 11.0L/604800.0L) - 11.0L/181440.0L) - 5.0L/5376.0L) + 1.0L/336.0L) + 601.0L/43200.0L) - 601.0L/14400.0L) - 3125.0L/48384.0L) + 3125.0L/18144.0L) + 643.0L/8400.0L) - 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[3] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/432.0L)*x - 267416235619.0L/864.0L) + 1563129590737.0L/960.0L) - 89520991222663.0L/17280.0L) + 71931342205151.0L/6480.0L) - 874587368544461.0L/51840.0L) + 1610817254280949.0L/86400.0L) - 289708811740777.0L/19200.0L) + 287484387720959.0L/32400.0L) - 5321366152817.0L/1440.0L) + 53605660729621.0L/51840.0L) - 90424187510761.0L/518400.0L) + 12157669408391.0L/907200.0L) - 11.0L/181440.0L) + 11.0L/72576.0L) + 41.0L/12096.0L) - 41.0L/5040.0L) - 151.0L/2592.0L) + 151.0L/1152.0L) + 3011.0L/9072.0L) - 3011.0L/4536.0L) - 4969.0L/11340.0L) + 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[4] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-58133964265.0L/864.0L*x + 1337081178095.0L/1728.0L) - 1563129590737.0L/384.0L) + 89520991222663.0L/6912.0L) - 71931342205151.0L/2592.0L) + 874587368544461.0L/20736.0L) - 1610817254280949.0L/34560.0L) + 289708811740777.0L/7680.0L) - 287484387720959.0L/12960.0L) + 5321366152817.0L/576.0L) - 53605660729621.0L/20736.0L) + 90424187510761.0L/207360.0L) - 12157669408391.0L/362880.0L) + 11.0L/80640.0L) - 11.0L/48384.0L) - 29.0L/3584.0L) + 29.0L/2240.0L) + 59.0L/384.0L) - 59.0L/256.0L) - 33853.0L/32256.0L) + 33853.0L/24192.0L) + 4469.0L/2240.0L) - 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[5] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/96.0L)*x - 267416235619.0L/192.0L) + 4689388772211.0L/640.0L) - 89520991222663.0L/3840.0L) + 71931342205151.0L/1440.0L) - 874587368544461.0L/11520.0L) + 1610817254280949.0L/19200.0L) - 869126435222331.0L/12800.0L) + 287484387720959.0L/7200.0L) - 5321366152817.0L/320.0L) + 53605660729621.0L/11520.0L) - 90424187510761.0L/115200.0L) + 12157669408391.0L/201600.0L) - 11.0L/50400.0L) + 11.0L/60480.0L) + 3.0L/224.0L) - 3.0L/280.0L) - 971.0L/3600.0L) + 971.0L/4800.0L) + 1039.0L/504.0L) - 1039.0L/756.0L) - 1769.0L/350.0L) + 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[6] = pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(pow(x, 2)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/72.0L*x + 267416235619.0L/144.0L) - 1563129590737.0L/160.0L) + 89520991222663.0L/2880.0L) - 71931342205151.0L/1080.0L) + 874587368544461.0L/8640.0L) - 1610817254280949.0L/14400.0L) + 289708811740777.0L/3200.0L) - 287484387720959.0L/5400.0L) + 5321366152817.0L/240.0L) - 53605660729621.0L/8640.0L) + 90424187510761.0L/86400.0L) - 12157669408391.0L/151200.0L) + 11.0L/43200.0L) - 91.0L/5760.0L) + 7007.0L/21600.0L) - 44473.0L/17280.0L) + 37037.0L/5400.0L) - 5369.0L/1800.0L; +poly_val[7] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/72.0L)*x - 267416235619.0L/144.0L) + 1563129590737.0L/160.0L) - 89520991222663.0L/2880.0L) + 71931342205151.0L/1080.0L) - 874587368544461.0L/8640.0L) + 1610817254280949.0L/14400.0L) - 289708811740777.0L/3200.0L) + 287484387720959.0L/5400.0L) - 5321366152817.0L/240.0L) + 53605660729621.0L/8640.0L) - 90424187510761.0L/86400.0L) + 12157669408391.0L/151200.0L) - 11.0L/50400.0L) - 11.0L/60480.0L) + 3.0L/224.0L) + 3.0L/280.0L) - 971.0L/3600.0L) - 971.0L/4800.0L) + 1039.0L/504.0L) + 1039.0L/756.0L) - 1769.0L/350.0L) - 1769.0L/700.0L) + 12.0L/7.0L; +poly_val[8] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/96.0L*x + 267416235619.0L/192.0L) - 4689388772211.0L/640.0L) + 89520991222663.0L/3840.0L) - 71931342205151.0L/1440.0L) + 874587368544461.0L/11520.0L) - 1610817254280949.0L/19200.0L) + 869126435222331.0L/12800.0L) - 287484387720959.0L/7200.0L) + 5321366152817.0L/320.0L) - 53605660729621.0L/11520.0L) + 90424187510761.0L/115200.0L) - 12157669408391.0L/201600.0L) + 11.0L/80640.0L) + 11.0L/48384.0L) - 29.0L/3584.0L) - 29.0L/2240.0L) + 59.0L/384.0L) + 59.0L/256.0L) - 33853.0L/32256.0L) - 33853.0L/24192.0L) + 4469.0L/2240.0L) + 4469.0L/2240.0L) - 15.0L/56.0L; +poly_val[9] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((58133964265.0L/864.0L)*x - 1337081178095.0L/1728.0L) + 1563129590737.0L/384.0L) - 89520991222663.0L/6912.0L) + 71931342205151.0L/2592.0L) - 874587368544461.0L/20736.0L) + 1610817254280949.0L/34560.0L) - 289708811740777.0L/7680.0L) + 287484387720959.0L/12960.0L) - 5321366152817.0L/576.0L) + 53605660729621.0L/20736.0L) - 90424187510761.0L/207360.0L) + 12157669408391.0L/362880.0L) - 11.0L/181440.0L) - 11.0L/72576.0L) + 41.0L/12096.0L) + 41.0L/5040.0L) - 151.0L/2592.0L) - 151.0L/1152.0L) + 3011.0L/9072.0L) + 3011.0L/4536.0L) - 4969.0L/11340.0L) - 4969.0L/7560.0L) + 10.0L/189.0L; +poly_val[10] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/432.0L*x + 267416235619.0L/864.0L) - 1563129590737.0L/960.0L) + 89520991222663.0L/17280.0L) - 71931342205151.0L/6480.0L) + 874587368544461.0L/51840.0L) - 1610817254280949.0L/86400.0L) + 289708811740777.0L/19200.0L) - 287484387720959.0L/32400.0L) + 5321366152817.0L/1440.0L) - 53605660729621.0L/51840.0L) + 90424187510761.0L/518400.0L) - 12157669408391.0L/907200.0L) + 11.0L/604800.0L) + 11.0L/181440.0L) - 5.0L/5376.0L) - 1.0L/336.0L) + 601.0L/43200.0L) + 601.0L/14400.0L) - 3125.0L/48384.0L) - 3125.0L/18144.0L) + 643.0L/8400.0L) + 643.0L/4200.0L) - 1.0L/112.0L; +poly_val[11] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((11626792853.0L/1584.0L)*x - 267416235619.0L/3168.0L) + 142102690067.0L/320.0L) - 8138271929333.0L/5760.0L) + 6539212927741.0L/2160.0L) - 79507942594951.0L/17280.0L) + 146437932207359.0L/28800.0L) - 26337164703707.0L/6400.0L) + 26134944338269.0L/10800.0L) - 483760559347.0L/480.0L) + 4873241884511.0L/17280.0L) - 90424187510761.0L/1900800.0L) + 12157669408391.0L/3326400.0L) - 1.0L/302400.0L) - 1.0L/72576.0L) + 1.0L/6720.0L) + 1.0L/1680.0L) - 41.0L/21600.0L) - 41.0L/5760.0L) + 121.0L/15120.0L) + 121.0L/4536.0L) - 19.0L/2100.0L) - 19.0L/840.0L) + 2.0L/1925.0L; +poly_val[12] = x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(-11626792853.0L/9504.0L*x + 267416235619.0L/19008.0L) - 142102690067.0L/1920.0L) + 8138271929333.0L/34560.0L) - 6539212927741.0L/12960.0L) + 79507942594951.0L/103680.0L) - 146437932207359.0L/172800.0L) + 26337164703707.0L/38400.0L) - 26134944338269.0L/64800.0L) + 483760559347.0L/2880.0L) - 4873241884511.0L/103680.0L) + 90424187510761.0L/11404800.0L) - 12157669408391.0L/19958400.0L) + 1.0L/3628800.0L) + 1.0L/725760.0L) - 1.0L/96768.0L) - 1.0L/20160.0L) + 31.0L/259200.0L) + 31.0L/57600.0L) - 139.0L/290304.0L) - 139.0L/72576.0L) + 479.0L/907200.0L) + 479.0L/302400.0L) - 1.0L/16632.0L; +poly_val[13] = pow(x, 11)*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*(x*((894368681.0L/9504.0L)*x - 20570479663.0L/19008.0L) + 10930976159.0L/1920.0L) - 626020917641.0L/34560.0L) + 503016379057.0L/12960.0L) - 6115995584227.0L/103680.0L) + 11264456323643.0L/172800.0L) - 2025935746439.0L/38400.0L) + 2010380333713.0L/64800.0L) - 37212350719.0L/2880.0L) + 374864760347.0L/103680.0L) - 6955706731597.0L/11404800.0L) + 935205339107.0L/19958400.0L); +break; +} +} diff --git a/bfps/cpp/spline_n6.hpp b/bfps/cpp/spline_n6.hpp new file mode 100644 index 0000000000000000000000000000000000000000..6e0a4b0ef33831868bd579c144be7ed9a6d05bb6 --- /dev/null +++ b/bfps/cpp/spline_n6.hpp @@ -0,0 +1,46 @@ +/********************************************************************** +* * +* Copyright 2015 Max Planck Institute * +* for Dynamics and Self-Organization * +* * +* This file is part of bfps. * +* * +* bfps is free software: you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published * +* by the Free Software Foundation, either version 3 of the License, * +* or (at your option) any later version. * +* * +* bfps is distributed in the hope that it will be useful, * +* but WITHOUT ANY WARRANTY; without even the implied warranty of * +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * +* GNU General Public License for more details. * +* * +* You should have received a copy of the GNU General Public License * +* along with bfps. If not, see <http://www.gnu.org/licenses/> * +* * +* Contact: Cristian.Lalescu@ds.mpg.de * +* * +**********************************************************************/ + + + +#ifndef SPLINE_N6 + +#define SPLINE_N6 + +void beta_n6_m0(int deriv, double x, double *poly_val); +void beta_n6_m1(int deriv, double x, double *poly_val); +void beta_n6_m2(int deriv, double x, double *poly_val); +void beta_n6_m3(int deriv, double x, double *poly_val); +void beta_n6_m4(int deriv, double x, double *poly_val); +void beta_n6_m5(int deriv, double x, double *poly_val); +void beta_n6_m6(int deriv, double x, double *poly_val); +void beta_n6_m7(int deriv, double x, double *poly_val); +void beta_n6_m8(int deriv, double x, double *poly_val); +void beta_n6_m9(int deriv, double x, double *poly_val); +void beta_n6_m10(int deriv, double x, double *poly_val); +void beta_n6_m11(int deriv, double x, double *poly_val); +void beta_n6_m12(int deriv, double x, double *poly_val); + +#endif//SPLINE_N6 + diff --git a/setup.py b/setup.py index 115956471030e2660977493143967a4bfe35dfff..e78b787ff94938c64ec5948ac27b322f1a3057ae 100644 --- a/setup.py +++ b/setup.py @@ -53,7 +53,10 @@ src_file_list = ['field_descriptor', 'tracers', 'spline_n1', 'spline_n2', - 'spline_n3'] + 'spline_n3', + 'spline_n4', + 'spline_n5', + 'spline_n6'] header_list = ['cpp/base.hpp'] + ['cpp/' + fname + '.hpp' for fname in src_file_list]