Select Git revision
calibration_and_imaging.py
spline_n6.cpp 175.62 KiB
/**********************************************************************
* *
* 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 <cmath>
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;
}
}