subroutine besseljzero ( k, x ) !*****************************************************************************80 ! !! BESSELJZERO computes the kth zero of the J0(X) Bessel function. ! ! Discussion: ! ! Note that the first 20 zeros are tabulated. After that, they are ! computed. ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 04 January 2016 ! ! Author: ! ! Original C++ version by Ignace Bogaert. ! This FORTRAN90 version by John Burkardt. ! ! Reference: ! ! Ignace Bogaert, ! Iteration-free computation of Gauss-Legendre quadrature nodes and weights, ! SIAM Journal on Scientific Computing, ! Volume 36, Number 3, 2014, pages A1008-1026. ! ! Parameters: ! ! Input, integer K, the index of the desired zero. ! 1 <= K. ! ! Output, real ( kind = rk ) X, the value of the zero. ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) real ( kind = rk ), dimension ( 20 ) :: jz = (/ & 2.40482555769577276862163187933D+00, & 5.52007811028631064959660411281D+00, & 8.65372791291101221695419871266D+00, & 11.7915344390142816137430449119D+00, & 14.9309177084877859477625939974D+00, & 18.0710639679109225431478829756D+00, & 21.2116366298792589590783933505D+00, & 24.3524715307493027370579447632D+00, & 27.4934791320402547958772882346D+00, & 30.6346064684319751175495789269D+00, & 33.7758202135735686842385463467D+00, & 36.9170983536640439797694930633D+00, & 40.0584257646282392947993073740D+00, & 43.1997917131767303575240727287D+00, & 46.3411883716618140186857888791D+00, & 49.4826098973978171736027615332D+00, & 52.6240518411149960292512853804D+00, & 55.7655107550199793116834927735D+00, & 58.9069839260809421328344066346D+00, & 62.0484691902271698828525002646D+00 /) integer k real ( kind = rk ) r real ( kind = rk ) r2 real ( kind = rk ), parameter :: r8_pi = 3.141592653589793238463D+00 real ( kind = rk ) x if ( 20 < k ) then x = r8_pi * ( real ( k, kind = rk ) - 0.25D+00 ) r = 1.0D+00 / x r2 = r * r x = x & + r * ( 0.125D+00 & + r2 * ( -0.807291666666666666666666666667D-01 & + r2 * ( 0.246028645833333333333333333333D+00 & + r2 * ( -0.182443876720610119047619047619D+01 & + r2 * ( 0.253364147973439050099206349206D+02 & + r2 * ( -0.567644412135183381139802038240D+03 & + r2 * ( 0.186904765282320653831636345064D+05 & + r2 * ( -0.849353580299148769921876983660D+06 & + r2 * 0.509225462402226769498681286758D+08 )))))))) else x = jz(k) end if return end subroutine besselj1squared ( k, z ) !*****************************************************************************80 ! !! BESSELJ1SQUARED computes the square of BesselJ(1, BesselZero(0,k)) ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 03 January 2016 ! ! Author: ! ! Original C++ version by Ignace Bogaert. ! This FORTRAN90 version by John Burkardt. ! ! Reference: ! ! Ignace Bogaert, ! Iteration-free computation of Gauss-Legendre quadrature nodes and weights, ! SIAM Journal on Scientific Computing, ! Volume 36, Number 3, 2014, pages A1008-1026. ! ! Parameters: ! ! Input, integer K, the index of the desired zero. ! ! Output, real ( kind = rk ) Z, the value of the square of the Bessel ! J1 function at the K-th zero of the Bessel J0 function. ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) real ( kind = rk ), dimension ( 21 ) :: j1 = (/ & 0.269514123941916926139021992911D+00, & 0.115780138582203695807812836182D+00, & 0.0736863511364082151406476811985D+00, & 0.0540375731981162820417749182758D+00, & 0.0426614290172430912655106063495D+00, & 0.0352421034909961013587473033648D+00, & 0.0300210701030546726750888157688D+00, & 0.0261473914953080885904584675399D+00, & 0.0231591218246913922652676382178D+00, & 0.0207838291222678576039808057297D+00, & 0.0188504506693176678161056800214D+00, & 0.0172461575696650082995240053542D+00, & 0.0158935181059235978027065594287D+00, & 0.0147376260964721895895742982592D+00, & 0.0137384651453871179182880484134D+00, & 0.0128661817376151328791406637228D+00, & 0.0120980515486267975471075438497D+00, & 0.0114164712244916085168627222986D+00, & 0.0108075927911802040115547286830D+00, & 0.0102603729262807628110423992790D+00, & 0.00976589713979105054059846736696D+00 /) integer k real ( kind = rk ) x real ( kind = rk ) x2 real ( kind = rk ) z if ( 21 < k ) then x = 1.0D+00 / ( real ( k, kind = rk ) - 0.25D+00 ) x2 = x * x z = & x * ( 0.202642367284675542887758926420D+00 & + x2 * x2 * ( -0.303380429711290253026202643516D-03 & + x2 * ( 0.198924364245969295201137972743D-03 & + x2 * ( -0.228969902772111653038747229723D-03 & + x2 * ( 0.433710719130746277915572905025D-03 & + x2 * ( -0.123632349727175414724737657367D-02 & + x2 * ( 0.496101423268883102872271417616D-02 & + x2 * ( -0.266837393702323757700998557826D-01 & + x2 * ( 0.185395398206345628711318848386D+00 ) )))))))) else z = j1(k) end if return end subroutine glpair ( n, k, theta, weight, x ) !******************************************************************************/ ! !! GLPAIR computes the K-th pair of an N-point Gauss-Legendre rule. ! ! Discussion: ! ! If N <= 100, GLPAIRTABULATED is called, otherwise GLPAIR is called. ! ! Theta values of the zeros are in [0,pi], and monotonically increasing. ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 05 January 2016 ! ! Author: ! ! Original C++ version by Ignace Bogaert. ! This FORTRAN90 version by John Burkardt. ! ! Reference: ! ! Ignace Bogaert, ! Iteration-free computation of Gauss-Legendre quadrature nodes and weights, ! SIAM Journal on Scientific Computing, ! Volume 36, Number 3, 2014, pages A1008-1026. ! ! Parameters: ! ! Input, integer N, the number of points in the given rule. ! 0 < N. ! ! Input, integer K, the index of the point to be returned. ! 1 <= K <= N. ! ! Output, real ( kind = rk ) THETA, WEIGHT, X, the theta coordinate, weight, ! and x coordinate of the point. ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) integer k integer n real ( kind = rk ) theta real ( kind = rk ) weight real ( kind = rk ) x if ( n < 1 ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'GLPAIR - Fatal error!' write ( *, '(a)' ) ' Illegal value of N.' stop 1 end if if ( k < 1 .or. n < k ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'GLPAIR - Fatal error!' write ( *, '(a)' ) ' Illegal value of K.' stop 1 end if if ( n < 101 ) then call glpairtabulated ( n, k, theta, weight, x ) else call glpairs ( n, k, theta, weight, x ) end if return end subroutine glpairs ( n, k, theta, weight, x ) !*****************************************************************************80 ! !! GLPAIRS computes the K-th pair of an N-point Gauss-Legendre rule. ! ! Discussion: ! ! This routine is intended for cases were 100 < N. ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 05 January 2016 ! ! Author: ! ! Original C++ version by Ignace Bogaert. ! This FORTRAN90 version by John Burkardt. ! ! Reference: ! ! Ignace Bogaert, ! Iteration-free computation of Gauss-Legendre quadrature nodes and weights, ! SIAM Journal on Scientific Computing, ! Volume 36, Number 3, 2014, pages A1008-1026. ! ! Parameters: ! ! Input, integer N, the number of points in the given rule. ! 1 <= N. ! ! Input, integer K, the index of the point to be returned. ! 1 <= K <= N. ! ! Output, real ( kind = rk ) THETA, WEIGHT, X, the theta coordinate, weight, ! and x coordinate of the point. ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) real ( kind = rk ) b real ( kind = rk ) bnuosin real ( kind = rk ) deno integer k integer kcopy integer n real ( kind = rk ) nu real ( kind = rk ) nuosin real ( kind = rk ), parameter :: r8_pi = 3.141592653589793238463D+00 real ( kind = rk ) sf1t real ( kind = rk ) sf2t real ( kind = rk ) sf3t real ( kind = rk ) theta real ( kind = rk ) w real ( kind = rk ) weight real ( kind = rk ) winvsinc real ( kind = rk ) wis2 real ( kind = rk ) wsf1t real ( kind = rk ) wsf2t real ( kind = rk ) wsf3t real ( kind = rk ) x real ( kind = rk ) y if ( n < 1 ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'GLPAIRS - Fatal error!' write ( *, '(a)' ) ' Illegal value of N.' stop 1 end if if ( k < 1 .or. n < k ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'GLPAIRS - Fatal error!' write ( *, '(a)' ) ' Illegal value of K.' stop 1 end if if ( n < ( 2 * k - 1 ) ) then kcopy = n - k + 1 else kcopy = k end if ! ! Get the Bessel zero. ! w = 1.0D+00 / ( real ( n, kind = rk ) + 0.5D+00 ) call besseljzero ( kcopy, nu ) theta = w * nu y = theta ** 2 ! ! Get the asymptotic BesselJ(1,nu) squared. ! call besselj1squared ( kcopy, b ) ! ! Get the Chebyshev interpolants for the nodes. ! sf1t = ((((( & - 1.29052996274280508473467968379D-12 * y & + 2.40724685864330121825976175184D-10 ) * y & - 3.13148654635992041468855740012D-08 ) * y & + 0.275573168962061235623801563453D-05 ) * y & - 0.148809523713909147898955880165D-03 ) * y & + 0.416666666665193394525296923981D-02 ) * y & - 0.416666666666662959639712457549D-01 sf2t = ((((( & + 2.20639421781871003734786884322D-09 * y & - 7.53036771373769326811030753538D-08 ) * y & + 0.161969259453836261731700382098D-05 ) * y & - 0.253300326008232025914059965302D-04 ) * y & + 0.282116886057560434805998583817D-03 ) * y & - 0.209022248387852902722635654229D-02 ) * y & + 0.815972221772932265640401128517D-02 sf3t = ((((( & - 2.97058225375526229899781956673D-08 * y & + 5.55845330223796209655886325712D-07 ) * y & - 0.567797841356833081642185432056D-05 ) * y & + 0.418498100329504574443885193835D-04 ) * y & - 0.251395293283965914823026348764D-03 ) * y & + 0.128654198542845137196151147483D-02 ) * y & - 0.416012165620204364833694266818D-02 ! ! Get the Chebyshev interpolants for the weights. ! wsf1t = (((((((( & - 2.20902861044616638398573427475D-14 * y & + 2.30365726860377376873232578871D-12 ) * y & - 1.75257700735423807659851042318D-10 ) * y & + 1.03756066927916795821098009353D-08 ) * y & - 4.63968647553221331251529631098D-07 ) * y & + 0.149644593625028648361395938176D-04 ) * y & - 0.326278659594412170300449074873D-03 ) * y & + 0.436507936507598105249726413120D-02 ) * y & - 0.305555555555553028279487898503D-01 ) * y & + 0.833333333333333302184063103900D-01 wsf2t = ((((((( & + 3.63117412152654783455929483029D-12 * y & + 7.67643545069893130779501844323D-11 ) * y & - 7.12912857233642220650643150625D-09 ) * y & + 2.11483880685947151466370130277D-07 ) * y & - 0.381817918680045468483009307090D-05 ) * y & + 0.465969530694968391417927388162D-04 ) * y & - 0.407297185611335764191683161117D-03 ) * y & + 0.268959435694729660779984493795D-02 ) * y & - 0.111111111111214923138249347172D-01 wsf3t = ((((((( & + 2.01826791256703301806643264922D-09 * y & - 4.38647122520206649251063212545D-08 ) * y & + 5.08898347288671653137451093208D-07 ) * y & - 0.397933316519135275712977531366D-05 ) * y & + 0.200559326396458326778521795392D-04 ) * y & - 0.422888059282921161626339411388D-04 ) * y & - 0.105646050254076140548678457002D-03 ) * y & - 0.947969308958577323145923317955D-04 ) * y & + 0.656966489926484797412985260842D-02 ! ! Refine with the paper expansions. ! nuosin = nu / sin ( theta ) bnuosin = b * nuosin winvsinc = w * w * nuosin wis2 = winvsinc * winvsinc ! ! Finally compute the node and the weight. ! theta = w * ( nu + theta * winvsinc & * ( sf1t + wis2 * ( sf2t + wis2 * sf3t ) ) ) deno = bnuosin + bnuosin * wis2 * ( wsf1t + wis2 * ( wsf2t + wis2 * wsf3t ) ) weight = ( 2.0D+00 * w ) / deno if ( n < ( 2 * k - 1 ) ) then theta = r8_pi - theta end if x = cos ( theta ) return end subroutine glpairtabulated ( l, k, theta, weight, x ) !*****************************************************************************80 ! !! GLPAIRTABULATED computes the K-th pair of an N-point Gauss-Legendre rule. ! ! Discussion: ! ! Data is tabulated for 1 <= L <= 100. ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 05 January 2016 ! ! Author: ! ! Original C++ version by Ignace Bogaert. ! This FORTRAN90 version by John Burkardt. ! ! Reference: ! ! Ignace Bogaert, ! Iteration-free computation of Gauss-Legendre quadrature nodes and weights, ! SIAM Journal on Scientific Computing, ! Volume 36, Number 3, 2014, pages A1008-1026. ! ! Parameters: ! ! Input, integer L, the number of points in the given rule. ! 1 <= L <= 100. ! ! Input, integer K, the index of the point to be returned. ! 1 <= K <= L. ! ! Output, real ( kind = rk ) THETA, WEIGHT, X, the theta coordinate, weight, ! and x coordinate of the point. ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) integer k integer l real ( kind = rk ) theta real ( kind = rk ) weight real ( kind = rk ) x if ( l < 1 .or. 100 < l ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'GLPAIRTABULATED - Fatal error!' write ( *, '(a)' ) ' Illegal value of L.' stop 1 end if if ( k < 1 .or. l < k ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'GLPAIRTABULATED - Fatal error!' write ( *, '(a)' ) ' Illegal value of K.' stop 1 end if call legendre_theta ( l, k, theta ) call legendre_weight ( l, k, weight ) x = cos ( theta ) return end subroutine legendre_theta ( l, k, theta ) !*****************************************************************************80 ! !! LEGENDRE_THETA returns the K-th theta coordinate in an L point rule. ! ! Discussion: ! ! The X coordinate is simply cos ( THETA ). ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 05 January 2016 ! ! Author: ! ! Original C++ version by Ignace Bogaert. ! This FORTRAN90 version by John Burkardt. ! ! Reference: ! ! Ignace Bogaert, ! Iteration-free computation of Gauss-Legendre quadrature nodes and weights, ! SIAM Journal on Scientific Computing, ! Volume 36, Number 3, 2014, pages A1008-1026. ! ! Parameters: ! ! Input, integer L, the number of points in the given rule. ! 1 <= L. ! ! Input, integer K, the index of the point to be returned. ! 1 <= K <= L. ! ! Output, real ( kind = rk ) THETA, the theta coordinate of the point. ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) real ( kind = rk ) :: EvenThetaZero1(1) = (/ & 0.9553166181245092781638573D+00 /) real ( kind = rk ) :: EvenThetaZero2(2) = (/ & 0.1223899586470372591854100D+01, & 0.5332956802491269896325121D+00 /) real ( kind = rk ) :: EvenThetaZero3(3) = (/ & 0.1329852612388110166006182D+01, & 0.8483666264874876548310910D+00, & 0.3696066519448289481138796D+00 /) real ( kind = rk ) :: EvenThetaZero4(4) = (/ & 0.1386317078892131346282665D+01, & 0.1017455539490153431016397D+01, & 0.6490365804607796100719162D+00, & 0.2827570635937967783987981D+00 /) real ( kind = rk ) :: EvenThetaZero5(5) = (/ & 0.1421366498439524924081833D+01, & 0.1122539327631709474018620D+01, & 0.8238386589997556048023640D+00, & 0.5255196555285001171749362D+00, & 0.2289442988470260178701589D+00 /) real ( kind = rk ) :: EvenThetaZero6(6) = (/ & 0.1445233238471440081118261D+01, & 0.1194120375947706635968399D+01, & 0.9430552870605735796668951D+00, & 0.6921076988818410126677201D+00, & 0.4414870814893317611922530D+00, & 0.1923346793046672033050762D+00 /) real ( kind = rk ) :: EvenThetaZero7(7) = (/ & 0.1462529992921481833498746D+01, & 0.1246003586776677662375070D+01, & 0.1029498592525136749641068D+01, & 0.8130407055389454598609888D+00, & 0.5966877608172733931509619D+00, & 0.3806189306666775272453522D+00, & 0.1658171411523664030454318D+00 /) real ( kind = rk ) :: EvenThetaZero8(8) = (/ & 0.1475640280808194256470687D+01, & 0.1285331444322965257106517D+01, & 0.1095033401803444343034890D+01, & 0.9047575323895165085030778D+00, & 0.7145252532340252146626998D+00, & 0.5243866409035941583262629D+00, & 0.3344986386876292124968005D+00, & 0.1457246820036738335698855D+00 /) real ( kind = rk ) :: EvenThetaZero9(9) = (/ & 0.1485919440392653014379727D+01, & 0.1316167494718022699851110D+01, & 0.1146421481056642228295923D+01, & 0.9766871104439832694094465D+00, & 0.8069738930788195349918620D+00, & 0.6373005058706191519531139D+00, & 0.4677113145328286263205134D+00, & 0.2983460782092324727528346D+00, & 0.1299747364196768405406564D+00 /) real ( kind = rk ) :: EvenThetaZero10(10) = (/ & 0.1494194914310399553510039D+01, & 0.1340993178589955138305166D+01, & 0.1187794926634098887711586D+01, & 0.1034603297590104231043189D+01, & 0.8814230742890135843662021D+00, & 0.7282625848696072912405713D+00, & 0.5751385026314284688366450D+00, & 0.4220907301111166004529037D+00, & 0.2692452880289302424376614D+00, & 0.1172969277059561308491253D+00 /) real ( kind = rk ) :: EvenThetaZero11(11) = (/ & 0.1501000399130816063282492D+01, & 0.1361409225664372117193308D+01, & 0.1221820208990359866348145D+01, & 0.1082235198111836788818162D+01, & 0.9426568273796608630446470D+00, & 0.8030892957063359443650460D+00, & 0.6635400754448062852164288D+00, & 0.5240242709487281141128643D+00, & 0.3845781703583910933413978D+00, & 0.2453165389983612942439953D+00, & 0.1068723357985259945018899D+00 /) real ( kind = rk ) :: EvenThetaZero12(12) = (/ & 0.1506695545558101030878728D+01, & 0.1378494427506219143960887D+01, & 0.1250294703417272987066314D+01, & 0.1122097523267250692925104D+01, & 0.9939044422989454674968570D+00, & 0.8657177770401081355080608D+00, & 0.7375413075437535618804594D+00, & 0.6093818382449565759195927D+00, & 0.4812531951313686873528891D+00, & 0.3531886675690780704072227D+00, & 0.2252936226353075734690198D+00, & 0.9814932949793685067733311D-01 /) real ( kind = rk ) :: EvenThetaZero13(13) = (/ & 0.1511531546703289231944719D+01, & 0.1393002286179807923400254D+01, & 0.1274473959424494104852958D+01, & 0.1155947313793812040125722D+01, & 0.1037423319077439147088755D+01, & 0.9189033445598992550553862D+00, & 0.8003894803353296871788647D+00, & 0.6818851814129298518332401D+00, & 0.5633967073169293284500428D+00, & 0.4449368152119130526034289D+00, & 0.3265362611165358134766736D+00, & 0.2082924425598466358987549D+00, & 0.9074274842993199730441784D-01 /) real ( kind = rk ) :: EvenThetaZero14(14) = (/ & 0.1515689149557281132993364D+01, & 0.1405475003062348722192382D+01, & 0.1295261501292316172835393D+01, & 0.1185049147889021579229406D+01, & 0.1074838574917869281769567D+01, & 0.9646306371285440922680794D+00, & 0.8544265718392254369377945D+00, & 0.7442282945111358297916378D+00, & 0.6340389954584301734412433D+00, & 0.5238644768825679339859620D+00, & 0.4137165857369637683488098D+00, & 0.3036239070914333637971179D+00, & 0.1936769929947376175341314D+00, & 0.8437551461511597225722252D-01 /) real ( kind = rk ) :: EvenThetaZero15(15) = (/ & 0.1519301729274526620713294D+01, & 0.1416312682230741743401738D+01, & 0.1313324092045794720169874D+01, & 0.1210336308624476413072722D+01, & 0.1107349759228459143499061D+01, & 0.1004365001539081003659288D+01, & 0.9013828087667156388167226D+00, & 0.7984043170121235411718744D+00, & 0.6954313000299367256853883D+00, & 0.5924667257887385542924194D+00, & 0.4895160050896970092628705D+00, & 0.3865901987860504829542802D+00, & 0.2837160095793466884313556D+00, & 0.1809780449917272162574031D+00, & 0.7884320726554945051322849D-01 /) real ( kind = rk ) :: EvenThetaZero16(16) = (/ & 0.1522469852641529230282387D+01, & 0.1425817011963825344615095D+01, & 0.1329164502391080681347666D+01, & 0.1232512573416362994802398D+01, & 0.1135861522840293704616614D+01, & 0.1039211728068951568003361D+01, & 0.9425636940046777101926515D+00, & 0.8459181315837993237739032D+00, & 0.7492760951181414487254243D+00, & 0.6526392394594561548023681D+00, & 0.5560103418005302722406995D+00, & 0.4593944730762095704649700D+00, & 0.3628020075350028174968692D+00, & 0.2662579994723859636910796D+00, & 0.1698418454282150179319973D+00, & 0.7399171309970959768773072D-01 /) real ( kind = rk ) :: EvenThetaZero17(17) = (/ & 0.1525270780617194430047563D+01, & 0.1434219768045409606267345D+01, & 0.1343169000217435981125683D+01, & 0.1252118659062444379491066D+01, & 0.1161068957629157748792749D+01, & 0.1070020159291475075961444D+01, & 0.9789726059789103169325141D+00, & 0.8879267623988119819560021D+00, & 0.7968832893748414870413015D+00, & 0.7058431727509840105946884D+00, & 0.6148079652926100198490992D+00, & 0.5237802779694730663856110D+00, & 0.4327648832448234459097574D+00, & 0.3417715500266717765568488D+00, & 0.2508238767288223767569849D+00, & 0.1599966542668327644694431D+00, & 0.6970264809814094464033170D-01 /) real ( kind = rk ) :: EvenThetaZero18(18) = (/ & 0.1527764849261740485876940D+01, & 0.1441701954349064743573367D+01, & 0.1355639243522655042028688D+01, & 0.1269576852063768424508476D+01, & 0.1183514935851550608323947D+01, & 0.1097453683555812711123880D+01, & 0.1011393333949027021740881D+01, & 0.9253342019812867059380523D+00, & 0.8392767201322475821509486D+00, & 0.7532215073977623159515351D+00, & 0.6671694908788198522546767D+00, & 0.5811221342350705406265672D+00, & 0.4950819018993074588093747D+00, & 0.4090533017972007314666814D+00, & 0.3230455648729987995657071D+00, & 0.2370809940997936908335290D+00, & 0.1512302802537625099602687D+00, & 0.6588357082399222649528476D-01 /) real ( kind = rk ) :: EvenThetaZero19(19) = (/ & 0.1529999863223206659623262D+01, & 0.1448406982124841835685420D+01, & 0.1366814241651488684482888D+01, & 0.1285221744143731581870833D+01, & 0.1203629605904952775544878D+01, & 0.1122037965173751996510051D+01, & 0.1040446993107623345153211D+01, & 0.9588569097730895525404200D+00, & 0.8772680085516152329147030D+00, & 0.7956806951062012653043722D+00, & 0.7140955526031660805347356D+00, & 0.6325134568448222221560326D+00, & 0.5509357927460004487348532D+00, & 0.4693648943475422765864580D+00, & 0.3878050333015201414955289D+00, & 0.3062649591511896679168503D+00, & 0.2247658146033686460963295D+00, & 0.1433746167818849555570557D+00, & 0.6246124541276674097388211D-01 /) real ( kind = rk ) :: EvenThetaZero20(20) = (/ & 0.1532014188279762793560699D+01, & 0.1454449946977268522285131D+01, & 0.1376885814601482670609845D+01, & 0.1299321869764876494939757D+01, & 0.1221758200747475205847413D+01, & 0.1144194910846247537582396D+01, & 0.1066632125552939823863593D+01, & 0.9890700026972186303565530D+00, & 0.9115087474225932692070479D+00, & 0.8339486352158799520695092D+00, & 0.7563900488174808348719219D+00, & 0.6788335401193977027577509D+00, & 0.6012799395312684623216685D+00, & 0.5237305617022755897200291D+00, & 0.4461876237541810478131970D+00, & 0.3686551849119556335824055D+00, & 0.2911415613085158758589405D+00, & 0.2136668503694680525340165D+00, & 0.1362947587312224822844743D+00, & 0.5937690028966411906487257D-01 /) real ( kind = rk ) :: EvenThetaZero21(21) = (/ & 0.1533838971193864306068338D+01, & 0.1459924288056445029654271D+01, & 0.1386009690354996919044862D+01, & 0.1312095239305276612560739D+01, & 0.1238181002944535867235042D+01, & 0.1164267059803796726229370D+01, & 0.1090353503721897748980095D+01, & 0.1016440450472067349837507D+01, & 0.9425280472651469176638349D+00, & 0.8686164868955467866176243D+00, & 0.7947060295895204342519786D+00, & 0.7207970381018823842440224D+00, & 0.6468900366403721167107352D+00, & 0.5729858150363658839291287D+00, & 0.4990856247464946058899833D+00, & 0.4251915773724379089467945D+00, & 0.3513075400485981451355368D+00, & 0.2774414365914335857735201D+00, & 0.2036124177925793565507033D+00, & 0.1298811916061515892914930D+00, & 0.5658282534660210272754152D-01 /) real ( kind = rk ) :: EvenThetaZero22(22) = (/ & 0.1535499761264077326499892D+01, & 0.1464906652494521470377318D+01, & 0.1394313611500109323616335D+01, & 0.1323720686538524176057236D+01, & 0.1253127930763390908996314D+01, & 0.1182535404796980113294400D+01, & 0.1111943180033868679273393D+01, & 0.1041351343083674290731439D+01, & 0.9707600019805773720746280D+00, & 0.9001692951667510715040632D+00, & 0.8295794049297955988640329D+00, & 0.7589905782114329186155957D+00, & 0.6884031600807736268672129D+00, & 0.6178176499732537480601935D+00, & 0.5472348011493452159473826D+00, & 0.4766558078624760377875119D+00, & 0.4060826859477620301047824D+00, & 0.3355191279517093844978473D+00, & 0.2649727008485465487101933D+00, & 0.1944616940738156405895778D+00, & 0.1240440866043499301839465D+00, & 0.5403988657613871827831605D-01 /) real ( kind = rk ) :: EvenThetaZero23(23) = (/ & 0.1537017713608809830855653D+01, & 0.1469460505124226636602925D+01, & 0.1401903350962364703169699D+01, & 0.1334346289590505369693957D+01, & 0.1266789363044399933941254D+01, & 0.1199232618763735058848455D+01, & 0.1131676111906105521856066D+01, & 0.1064119908394702657537061D+01, & 0.9965640890815034701957497D+00, & 0.9290087556203499065939494D+00, & 0.8614540390091103102510609D+00, & 0.7939001124053586164046432D+00, & 0.7263472110048245091518914D+00, & 0.6587956640463586742461796D+00, & 0.5912459486086227271608064D+00, & 0.5236987847717837556177452D+00, & 0.4561553147193391989386660D+00, & 0.3886174669444433167860783D+00, & 0.3210887745896478259115420D+00, & 0.2535764786314617292100029D+00, & 0.1860980813776342452540915D+00, & 0.1187090676924131329841811D+00, & 0.5171568198966901682810573D-01 /) real ( kind = rk ) :: EvenThetaZero24(24) = (/ & 0.1538410494858190444190279D+01, & 0.1473638845472165977392911D+01, & 0.1408867240039222913928858D+01, & 0.1344095709533508756473909D+01, & 0.1279324287566779722061664D+01, & 0.1214553011719528935181709D+01, & 0.1149781925191718586091000D+01, & 0.1085011078936665906275419D+01, & 0.1020240534516704208782618D+01, & 0.9554703680422404498752066D+00, & 0.8907006757608306209160649D+00, & 0.8259315822134856671969566D+00, & 0.7611632524946588128425351D+00, & 0.6963959112887657683892237D+00, & 0.6316298735371143844913976D+00, & 0.5668655960010826255149266D+00, & 0.5021037684870694065589284D+00, & 0.4373454855522296089897130D+00, & 0.3725925956833896735786860D+00, & 0.3078484858841616878136371D+00, & 0.2431200981264999375962973D+00, & 0.1784242126043536701754986D+00, & 0.1138140258514833068653307D+00, & 0.4958315373802413441075340D-01 /) real ( kind = rk ) :: EvenThetaZero25(25) = (/ & 0.1539692973716708504412697D+01, & 0.1477486279394502338589519D+01, & 0.1415279620944410339318226D+01, & 0.1353073023537942666830874D+01, & 0.1290866514321280958405103D+01, & 0.1228660123395079609266898D+01, & 0.1166453885011658611362850D+01, & 0.1104247839096738022319035D+01, & 0.1042042033248543055386770D+01, & 0.9798365254403234947595400D+00, & 0.9176313877712591840677176D+00, & 0.8554267118081827231209625D+00, & 0.7932226163976800550406599D+00, & 0.7310192594231560707888939D+00, & 0.6688168560730805146438886D+00, & 0.6066157082814543103941755D+00, & 0.5444162542389049922529553D+00, & 0.4822191559963931133878621D+00, & 0.4200254643636986308379697D+00, & 0.3578369542536859435571624D+00, & 0.2956568781922605524959448D+00, & 0.2334919029083292837123583D+00, & 0.1713581437497397360313735D+00, & 0.1093066902335822942650053D+00, & 0.4761952998197036029817629D-01 /) real ( kind = rk ) :: EvenThetaZero26(26) = (/ & 0.1540877753740080417345045D+01, & 0.1481040617373741365390254D+01, & 0.1421203510518656600018143D+01, & 0.1361366453804322852131292D+01, & 0.1301529469356044341206877D+01, & 0.1241692581525935716830402D+01, & 0.1181855817774264617619371D+01, & 0.1122019209772750368801179D+01, & 0.1062182794829879659341536D+01, & 0.1002346617783007482854908D+01, & 0.9425107335729934538419206D+00, & 0.8826752108319277463183701D+00, & 0.8228401370047382776784725D+00, & 0.7630056258499810562932058D+00, & 0.7031718287376427885875898D+00, & 0.6433389522119553277924537D+00, & 0.5835072863023426715977658D+00, & 0.5236772521416453354847559D+00, & 0.4638494862268433259444639D+00, & 0.4040249990308909882616381D+00, & 0.3442054975680110060507306D+00, & 0.2843941101955779333389742D+00, & 0.2245972494281051799602510D+00, & 0.1648304164747050021714385D+00, & 0.1051427544146599992432949D+00, & 0.4580550859172367960799915D-01 /) real ( kind = rk ) :: EvenThetaZero27(27) = (/ & 0.1541975588842621898865181D+01, & 0.1484334121018556567335167D+01, & 0.1426692677652358867201800D+01, & 0.1369051275783071487471360D+01, & 0.1311409933595114953831618D+01, & 0.1253768670970438091691833D+01, & 0.1196127510146226323327062D+01, & 0.1138486476526912406867032D+01, & 0.1080845599717322003702293D+01, & 0.1023204914871722785830020D+01, & 0.9655644644970043364617272D+00, & 0.9079243009168822510582606D+00, & 0.8502844897148263889326479D+00, & 0.7926451146568312828354346D+00, & 0.7350062849078710810840430D+00, & 0.6773681459074923011631400D+00, & 0.6197308962817025162722438D+00, & 0.5620948151095422609589585D+00, & 0.5044603077892199488064657D+00, & 0.4468279872027509013135997D+00, & 0.3891988265038338944044115D+00, & 0.3315744698431505326770711D+00, & 0.2739579305700525818998611D+00, & 0.2163553856859193758294342D+00, & 0.1587817673749480300092784D+00, & 0.1012844151694839452028589D+00, & 0.4412462056235422293371300D-01 /) real ( kind = rk ) :: EvenThetaZero28(28) = (/ & 0.1542995710582548837472073D+01, & 0.1487394484904746766220933D+01, & 0.1431793279635669382208875D+01, & 0.1376192108950239363921811D+01, & 0.1320590987909222553912422D+01, & 0.1264989932881031519687125D+01, & 0.1209388962038683919740547D+01, & 0.1153788095965648154683658D+01, & 0.1098187358416032947576489D+01, & 0.1042586777292402877200408D+01, & 0.9869863859317282394719449D+00, & 0.9313862248321055503829503D+00, & 0.8757863440192765677772914D+00, & 0.8201868063589761051746975D+00, & 0.7645876922981545448147078D+00, & 0.7089891068198449136125464D+00, & 0.6533911899285832425290628D+00, & 0.5977941329592257586198087D+00, & 0.5421982048745539015834188D+00, & 0.4866037965045890355211229D+00, & 0.4310114988353693539492225D+00, & 0.3754222503860499120445385D+00, & 0.3198376369331602148544626D+00, & 0.2642605649958747239907310D+00, & 0.2086969927688100977274751D+00, & 0.1531613237261629042774314D+00, & 0.9769922156300582041279299D-01, & 0.4256272861907242306694832D-01 /) real ( kind = rk ) :: EvenThetaZero29(29) = (/ & 0.1543946088331101630230404D+01, & 0.1490245617072432741470241D+01, & 0.1436545162952171175361532D+01, & 0.1382844737841275627385236D+01, & 0.1329144354302189376680665D+01, & 0.1275444025914442882448630D+01, & 0.1221743767654456436125309D+01, & 0.1168043596353244531685999D+01, & 0.1114343531263457295536939D+01, & 0.1060643594778787047442989D+01, & 0.1006943813366184678568021D+01, & 0.9532442187977767941200107D+00, & 0.8995448498101763729640445D+00, & 0.8458457543830885615091264D+00, & 0.7921469929325243736682034D+00, & 0.7384486428849507503612470D+00, & 0.6847508053901545384892447D+00, & 0.6310536154445759741044291D+00, & 0.5773572576394624029563656D+00, & 0.5236619915567428835581025D+00, & 0.4699681944935857341529219D+00, & 0.4162764370726533962791279D+00, & 0.3625876255789859906927245D+00, & 0.3089032914359211154562848D+00, & 0.2552262416643531728802047D+00, & 0.2015622306384971766058615D+00, & 0.1479251692966707827334002D+00, & 0.9435916010280739398532997D-01, & 0.4110762866287674188292735D-01 /) real ( kind = rk ) :: EvenThetaZero30(30) = (/ & 0.1544833637851665335244669D+01, & 0.1492908264756388370493025D+01, & 0.1440982906138650837480037D+01, & 0.1389057572001580364167786D+01, & 0.1337132272892735072773304D+01, & 0.1285207020157876647295968D+01, & 0.1233281826234298389291217D+01, & 0.1181356705000596722238457D+01, & 0.1129431672204958843918638D+01, & 0.1077506746001711267258715D+01, & 0.1025581947637229234301640D+01, & 0.9736573023432582093437126D+00, & 0.9217328405213548692702866D+00, & 0.8698085993416727107979968D+00, & 0.8178846249414537373941032D+00, & 0.7659609755086193214466010D+00, & 0.7140377257012462393241274D+00, & 0.6621149731355525426273686D+00, & 0.6101928481720243483360470D+00, & 0.5582715291407654489802101D+00, & 0.5063512668959282414914789D+00, & 0.4544324261262307197237056D+00, & 0.4025155584642650335664553D+00, & 0.3506015401168133792671488D+00, & 0.2986918517703509333332016D+00, & 0.2467892075469457255751440D+00, & 0.1948991714956708008247732D+00, & 0.1430351946011564171352354D+00, & 0.9123992133264713232350199D-01, & 0.3974873026126591246235829D-01 /) real ( kind = rk ) :: EvenThetaZero31(31) = (/ & 0.1545664389841685834178882D+01, & 0.1495400520006868605194165D+01, & 0.1445136662469633349524466D+01, & 0.1394872825707861196682996D+01, & 0.1344609018631531661347402D+01, & 0.1294345250782284139500904D+01, & 0.1244081532562166402923175D+01, & 0.1193817875503760392032898D+01, & 0.1143554292597402872188167D+01, & 0.1093290798696377946301336D+01, & 0.1043027411028491785799717D+01, & 0.9927641498535133311947588D+00, & 0.9425010393224361375194941D+00, & 0.8922381086194002226900769D+00, & 0.8419753935054036625982058D+00, & 0.7917129384431112475049142D+00, & 0.7414507995789214800057706D+00, & 0.6911890490185720721582180D+00, & 0.6409277811053987947460976D+00, & 0.5906671218914768219060599D+00, & 0.5404072438741681591850965D+00, & 0.4901483897634232956856935D+00, & 0.4398909124691513811974471D+00, & 0.3896353458699818240468259D+00, & 0.3393825380385224469051922D+00, & 0.2891339221891949677776928D+00, & 0.2388921255071779766209942D+00, & 0.1886625339124777570188312D+00, & 0.1384581678870181657476050D+00, & 0.8832030722827102577102185D-01, & 0.3847679847963676404657822D-01 /) real ( kind = rk ) :: EvenThetaZero32(32) = (/ & 0.1546443627125265521960044D+01, & 0.1497738231263909315513507D+01, & 0.1449032845902631477147772D+01, & 0.1400327478265391242178337D+01, & 0.1351622135921668846451224D+01, & 0.1302916826944702448727527D+01, & 0.1254211560091483702838765D+01, & 0.1205506345013417018443405D+01, & 0.1156801192508980685500292D+01, & 0.1108096114833249453312212D+01, & 0.1059391126084216587933501D+01, & 0.1010686242693213908544820D+01, & 0.9619814840575052973573711D+00, & 0.9132768733691264344256970D+00, & 0.8645724387181842642305406D+00, & 0.8158682145859558652971026D+00, & 0.7671642439014559105969752D+00, & 0.7184605809290069459742089D+00, & 0.6697572954095121564500879D+00, & 0.6210544786425143220264938D+00, & 0.5723522526623283741373995D+00, & 0.5236507845164779831804685D+00, & 0.4749503092950064087413842D+00, & 0.4262511688770346357064771D+00, & 0.3775538805043668894422883D+00, & 0.3288592658750793954850446D+00, & 0.2801687136893753887834348D+00, & 0.2314847695998852605184853D+00, & 0.1828126524563463299986617D+00, & 0.1341649789468091132459783D+00, & 0.8558174883654483804697753D-01, & 0.3728374374031613183399036D-01 /) real ( kind = rk ) :: EvenThetaZero33(33) = (/ & 0.1547175997094614757138430D+01, & 0.1499935340679181525271649D+01, & 0.1452694693272706215568985D+01, & 0.1405454061061768876728643D+01, & 0.1358213450511184239883293D+01, & 0.1310972868490444296079765D+01, & 0.1263732322416537730871712D+01, & 0.1216491820419724046503073D+01, & 0.1169251371540540180758674D+01, & 0.1122010985968754004469355D+01, & 0.1074770675338453464761893D+01, & 0.1027530453098431393666936D+01, & 0.9802903349842005856557204D+00, & 0.9330503396284544173873149D+00, & 0.8858104893623263267477775D+00, & 0.8385708112832335506864354D+00, & 0.7913313387011139500976360D+00, & 0.7440921131314510897906335D+00, & 0.6968531870945337206139839D+00, & 0.6496146281309018959581539D+00, & 0.6023765246993705639765525D+00, & 0.5551389950762090311242875D+00, & 0.5079022012032895030848024D+00, & 0.4606663710240282967569630D+00, & 0.4134318360639670775957014D+00, & 0.3661990979414348851212686D+00, & 0.3189689535781378596191439D+00, & 0.2717427498485401725509746D+00, & 0.2245229557871702595200694D+00, & 0.1773146332323969343091350D+00, & 0.1301300193754780766338959D+00, & 0.8300791095077070533235660D-01, & 0.3616244959900389221395842D-01 /) real ( kind = rk ) :: EvenThetaZero34(34) = (/ & 0.1547865604457777747119921D+01, & 0.1502004162357357213441384D+01, & 0.1456142728021903760325049D+01, & 0.1410281306774684706589738D+01, & 0.1364419904164498130803254D+01, & 0.1318558526067441138200403D+01, & 0.1272697178801115154796514D+01, & 0.1226835869256177571730448D+01, & 0.1180974605051351016009903D+01, & 0.1135113394719709026888693D+01, & 0.1089252247936466574864114D+01, & 0.1043391175801911243726755D+01, & 0.9975301911979639874925565D+00, & 0.9516693092438447484954432D+00, & 0.9058085478865097428655118D+00, & 0.8599479286766250282572181D+00, & 0.8140874778035996603018790D+00, & 0.7682272274981820559251592D+00, & 0.7223672179660643783333797D+00, & 0.6765075001043380283085699D+00, & 0.6306481393987597674748178D+00, & 0.5847892216487432573582268D+00, & 0.5389308616059791284685642D+00, & 0.4930732164176132508179420D+00, & 0.4472165073094733435432890D+00, & 0.4013610560689043520551232D+00, & 0.3555073496130768130758891D+00, & 0.3096561615434305328219637D+00, & 0.2638087993597793691714182D+00, & 0.2179676599607749036552390D+00, & 0.1721376573496165890967450D+00, & 0.1263306713881449555499955D+00, & 0.8058436603519718986295825D-01, & 0.3510663068970053260227480D-01 /) real ( kind = rk ) :: EvenThetaZero35(35) = (/ & 0.1548516088202564202943238D+01, & 0.1503955613246577879586994D+01, & 0.1459395145012190281751360D+01, & 0.1414834688100222735099866D+01, & 0.1370274247295441414922756D+01, & 0.1325713827649021532002630D+01, & 0.1281153434570536124285912D+01, & 0.1236593073933169034954499D+01, & 0.1192032752196710979323473D+01, & 0.1147472476554108430135576D+01, & 0.1102912255109027578275434D+01, & 0.1058352097094263144928973D+01, & 0.1013792013144153206047048D+01, & 0.9692320156388929821870602D+00, & 0.9246721191454417746654622D+00, & 0.8801123409896300773149632D+00, & 0.8355527020087518049947413D+00, & 0.7909932275560464363973909D+00, & 0.7464339488624693592395086D+00, & 0.7018749049145358048463504D+00, & 0.6573161450929179933243905D+00, & 0.6127577329584494909986789D+00, & 0.5681997518140860838771656D+00, & 0.5236423130979094957496400D+00, & 0.4790855694444512920982626D+00, & 0.4345297357523596151738496D+00, & 0.3899751246318782591316393D+00, & 0.3454222091410984787772492D+00, & 0.3008717408917773811461237D+00, & 0.2563249902500918978614004D+00, & 0.2117842860782107775954396D+00, & 0.1672544029381415755198150D+00, & 0.1227468836419337342946123D+00, & 0.7829832364814667171382217D-01, & 0.3411071484766340151578357D-01 /) real ( kind = rk ) :: EvenThetaZero36(36) = (/ & 0.1549130685823945998342524D+01, & 0.1505799405819664254557106D+01, & 0.1462468131657470292685966D+01, & 0.1419136867330461353369368D+01, & 0.1375805616982638895139986D+01, & 0.1332474384976155365522566D+01, & 0.1289143175965912901391449D+01, & 0.1245811994984327181800398D+01, & 0.1202480847539690438616688D+01, & 0.1159149739732435788417226D+01, & 0.1115818678394807971862305D+01, & 0.1072487671261111519215409D+01, & 0.1029156727178025494814510D+01, & 0.9858258563677261466814511D+00, & 0.9424950707611702085500992D+00, & 0.8991643844255133860018485D+00, & 0.8558338141192845596532563D+00, & 0.8125033800232146117493243D+00, & 0.7691731067161328174004981D+00, & 0.7258430244984030733808537D+00, & 0.6825131712172895509836733D+00, & 0.6391835948321685576634513D+00, & 0.5958543570955633038336902D+00, & 0.5525255389612023677479152D+00, & 0.5091972487450747080139606D+00, & 0.4658696348260689008126722D+00, & 0.4225429061321313393543928D+00, & 0.3792173666095906812269559D+00, & 0.3358934762285008809293807D+00, & 0.2925719658301625547639832D+00, & 0.2492540707015179370724365D+00, & 0.2059420554273186332219697D+00, & 0.1626405628266886976038507D+00, & 0.1193608172622853851645011D+00, & 0.7613840464754681957544313D-01, & 0.3316974474186058622824911D-01 /) real ( kind = rk ) :: EvenThetaZero37(37) = (/ & 0.1549712287207882890839045D+01, & 0.1507544209724862511636878D+01, & 0.1465376137339015815734558D+01, & 0.1423208073529702865859582D+01, & 0.1381040021900765225468989D+01, & 0.1338871986235691269778498D+01, & 0.1296703970558498635765633D+01, & 0.1254535979202491212629656D+01, & 0.1212368016889500927716256D+01, & 0.1170200088822853513468851D+01, & 0.1128032200798161849314963D+01, & 0.1085864359337236600941540D+01, & 0.1043696571852037437540940D+01, & 0.1001528846847853898635169D+01, & 0.9593611941780778060127795D+00, & 0.9171936253674231737318512D+00, & 0.8750261540268988114426643D+00, & 0.8328587963932301252176965D+00, & 0.7906915720393251716472997D+00, & 0.7485245048233193695739358D+00, & 0.7063576241759074809548715D+00, & 0.6641909668761970070284373D+00, & 0.6220245795476036586681135D+00, & 0.5798585222396645710869275D+00, & 0.5376928736905555113005422D+00, & 0.4955277392687366749125653D+00, & 0.4533632633323484070376718D+00, & 0.4111996491651493998151895D+00, & 0.3690371925202636251212886D+00, & 0.3268763409876008462653069D+00, & 0.2847178057580674399826003D+00, & 0.2425627889274157106498810D+00, & 0.2004134942584602007834507D+00, & 0.1582744399049656648660257D+00, & 0.1161565488818554609430574D+00, & 0.7409445176394481360104851D-01, & 0.3227929535095246410912398D-01 /) real ( kind = rk ) :: EvenThetaZero38(38) = (/ & 0.1550263480064160377720298D+01, & 0.1509197788083808185665328D+01, & 0.1468132100566875710992083D+01, & 0.1427066420556418463513913D+01, & 0.1386000751198712817289420D+01, & 0.1344935095788765217267069D+01, & 0.1303869457820298477498722D+01, & 0.1262803841041882838326682D+01, & 0.1221738249521212843639205D+01, & 0.1180672687719991159061894D+01, & 0.1139607160582508034089119D+01, & 0.1098541673641858946868449D+01, & 0.1057476233148907719560749D+01, & 0.1016410846230700992453501D+01, & 0.9753455210872527645472818D+00, & 0.9342802672387126698703291D+00, & 0.8932150958393123732306518D+00, & 0.8521500200807685012223049D+00, & 0.8110850557169691024167180D+00, & 0.7700202217553081279468270D+00, & 0.7289555413804262510029339D+00, & 0.6878910432074509889956044D+00, & 0.6468267630110350344178276D+00, & 0.6057627461556542068727688D+00, & 0.5646990510834698732732127D+00, & 0.5236357544389875315454201D+00, & 0.4825729588028297682338108D+00, & 0.4415108047277878179738561D+00, & 0.4004494901533595099830119D+00, & 0.3593893030723592157150581D+00, & 0.3183306793460978083354355D+00, & 0.2772743115465352362860883D+00, & 0.2362213703174823832436869D+00, & 0.1951740017836102296584907D+00, & 0.1541366059551230775894261D+00, & 0.1131198202589878992052369D+00, & 0.7215736988593890187079586D-01, & 0.3143540438351454384152236D-01 /) real ( kind = rk ) :: EvenThetaZero39(39) = (/ & 0.1550786588415152297375587D+01, & 0.1510767112957397367780716D+01, & 0.1470747641421582916022579D+01, & 0.1430728176478592843861361D+01, & 0.1390708720885325111445925D+01, & 0.1350689277522434511387126D+01, & 0.1310669849435604714836514D+01, & 0.1270650439881648370588402D+01, & 0.1230631052380981613091250D+01, & 0.1190611690778358944744052D+01, & 0.1150592359314214516523625D+01, & 0.1110573062709576809284752D+01, & 0.1070553806268363352417161D+01, & 0.1030534596002003296175373D+01, & 0.9905154387828984834423913D+00, & 0.9504963425353941517573974D+00, & 0.9104773164759498161192732D+00, & 0.8704583714184727086854142D+00, & 0.8304395201669023270865304D+00, & 0.7904207780260519973626051D+00, & 0.7504021634749074983118715D+00, & 0.7103836990664583264642972D+00, & 0.6703654126486745769832673D+00, & 0.6303473390491956215820085D+00, & 0.5903295224434431765765323D+00, & 0.5503120197533818815098408D+00, & 0.5102949056413983084126817D+00, & 0.4702782800468414863285692D+00, & 0.4302622799152491769326599D+00, & 0.3902470981180917254123191D+00, & 0.3502330152869736207185960D+00, & 0.3102204561556976356809728D+00, & 0.2702100956292792195263915D+00, & 0.2302030745053307298726703D+00, & 0.1902014842102915167005070D+00, & 0.1502096126336221315300686D+00, & 0.1102378261690820867329259D+00, & 0.7031899075931525095025389D-01, & 0.3063451333411226493032265D-01 /) real ( kind = rk ) :: EvenThetaZero40(40) = (/ & 0.1551283705347968314195100D+01, & 0.1512258463601911009913297D+01, & 0.1473233225313284690780287D+01, & 0.1434207992834186122366616D+01, & 0.1395182768588723275108301D+01, & 0.1356157555104474252423723D+01, & 0.1317132355046745793679891D+01, & 0.1278107171256650000336432D+01, & 0.1239082006794203284097135D+01, & 0.1200056864987904389011051D+01, & 0.1161031749492588664002624D+01, & 0.1122006664357811755961100D+01, & 0.1082981614109627397900573D+01, & 0.1043956603849447575483550D+01, & 0.1004931639374790125389322D+01, & 0.9659067273282460489273148D+00, & 0.9268818753831082867718635D+00, & 0.8878570924770502938457708D+00, & 0.8488323891094102606331406D+00, & 0.8098077777236123075833052D+00, & 0.7707832732049530424809748D+00, & 0.7317588935368492604710264D+00, & 0.6927346606780251833003950D+00, & 0.6537106017528970872810663D+00, & 0.6146867506941756306797580D+00, & 0.5756631505519364744300804D+00, & 0.5366398568077528417370132D+00, & 0.4976169422443344500752625D+00, & 0.4585945042946725387136724D+00, & 0.4195726764797194195007418D+00, & 0.3805516468579533335376469D+00, & 0.3415316890685593880011997D+00, & 0.3025132172735989410463832D+00, & 0.2634968895917008761291809D+00, & 0.2244838184598823563259898D+00, & 0.1854760433267094750424413D+00, & 0.1464777455344068532549101D+00, & 0.1074990339130794792907032D+00, & 0.6857195785426972961368108D-01, & 0.2987341732561906608807860D-01 /) real ( kind = rk ) :: EvenThetaZero41(41) = (/ & 0.1551756721003315464043007D+01, & 0.1513677510435354867644006D+01, & 0.1475598302924814895692182D+01, & 0.1437519100549654116408972D+01, & 0.1399439905448387106945081D+01, & 0.1361360719846430407096351D+01, & 0.1323281546084682430842605D+01, & 0.1285202386651141609385598D+01, & 0.1247123244216506877361870D+01, & 0.1209044121674894401873626D+01, & 0.1170965022191058363946285D+01, & 0.1132885949255841486220662D+01, & 0.1094806906752030657845562D+01, & 0.1056727899033393535018723D+01, & 0.1018648931020478788570327D+01, & 0.9805700083178549567966928D+00, & 0.9424911373589552049711100D+00, & 0.9044123255867553868253384D+00, & 0.8663335816813894348633149D+00, & 0.8282549158498738099497389D+00, & 0.7901763401989443875774432D+00, & 0.7520978692204962458482329D+00, & 0.7140195204316730003387055D+00, & 0.6759413152305656820841666D+00, & 0.6378632800575392064866756D+00, & 0.5997854479978337579981629D+00, & 0.5617078610344953281799357D+00, & 0.5236305732820186728652802D+00, & 0.4855536557378012985520074D+00, & 0.4474772034530068342865487D+00, & 0.4094013466928584958758982D+00, & 0.3713262689388439070717808D+00, & 0.3332522371792479009733062D+00, & 0.2951796555193184134657530D+00, & 0.2571091661074227554417865D+00, & 0.2190418543971735546480404D+00, & 0.1809797103814301725822348D+00, & 0.1429268140230164119614409D+00, & 0.1048930290780323497410212D+00, & 0.6690962797843649866645769D-01, & 0.2914922224685900914817542D-01 /) real ( kind = rk ) :: EvenThetaZero42(42) = (/ & 0.1552207346590136182648920D+01, & 0.1515029387081184115266415D+01, & 0.1477851430283927973458023D+01, & 0.1440673478039699629370259D+01, & 0.1403495532240969264030648D+01, & 0.1366317594853508812224152D+01, & 0.1329139667940348087929429D+01, & 0.1291961753688162615428688D+01, & 0.1254783854436838464182091D+01, & 0.1217605972713102930414639D+01, & 0.1180428111269300876868432D+01, & 0.1143250273128649048802100D+01, & 0.1106072461638634327789036D+01, & 0.1068894680534663975270023D+01, & 0.1031716934016664760314029D+01, & 0.9945392268421176498894610D+00, & 0.9573615644400829018748874D+00, & 0.9201839530522288586731642D+00, & 0.8830063999088902711516820D+00, & 0.8458289134509915302518266D+00, & 0.8086515036126424512848147D+00, & 0.7714741821849085841225787D+00, & 0.7342969632895448309937051D+00, & 0.6971198640037406540069491D+00, & 0.6599429051953912854163132D+00, & 0.6227661126567800124770610D+00, & 0.5855895186691062254659102D+00, & 0.5484131642019636734351025D+00, & 0.5112371020703309674589504D+00, & 0.4740614015734592960802666D+00, & 0.4368861554959151187817336D+00, & 0.3997114910036376358365916D+00, & 0.3625375872199777754435892D+00, & 0.3253647047992267079974806D+00, & 0.2881932382678453273830096D+00, & 0.2510238145617968753500674D+00, & 0.2138574934303919974438356D+00, & 0.1766962177535783269128215D+00, & 0.1395439709154010255199071D+00, & 0.1024103832005221866954023D+00, & 0.6532598686141261097119747D-01, & 0.2845930797694291389393445D-01 /) real ( kind = rk ) :: EvenThetaZero43(43) = (/ & 0.1552637135069155811491072D+01, & 0.1516318752418798211357541D+01, & 0.1480000372180291690418989D+01, & 0.1443681995989991700140976D+01, & 0.1407363625527612735973164D+01, & 0.1371045262534953065860219D+01, & 0.1334726908836065747097909D+01, & 0.1298408566359386697763653D+01, & 0.1262090237162411913706886D+01, & 0.1225771923459625279363960D+01, & 0.1189453627654523146514386D+01, & 0.1153135352376772077918208D+01, & 0.1116817100525785826106551D+01, & 0.1080498875322336017099434D+01, & 0.1044180680370244915946738D+01, & 0.1007862519730785566833872D+01, & 0.9715443980131875264637689D+00, & 0.9352263204856910439167915D+00, & 0.8989082932130182550456316D+00, & 0.8625903232280967802521182D+00, & 0.8262724187486163930514201D+00, & 0.7899545894528804342126058D+00, & 0.7536368468349768085155075D+00, & 0.7173192046673890278545072D+00, & 0.6810016796111441673128480D+00, & 0.6446842920316340773745262D+00, & 0.6083670671059611518530899D+00, & 0.5720500363511797523369558D+00, & 0.5357332397728172506411618D+00, & 0.4994167289487775362163415D+00, & 0.4631005715608865274454686D+00, & 0.4267848582339839676363509D+00, & 0.3904697131799790288672503D+00, & 0.3541553113674441557740819D+00, & 0.3178419074113077198829473D+00, & 0.2815298867038369044519273D+00, & 0.2452198616736214006194288D+00, & 0.2089128675558041239775998D+00, & 0.1726108022974787183994402D+00, & 0.1363175571713249458600521D+00, & 0.1000425397881322914313825D+00, & 0.6381557644960651200944222D-01, & 0.2780129671121636039734655D-01 /) real ( kind = rk ) :: EvenThetaZero44(44) = (/ & 0.1553047499032218401181962D+01, & 0.1517549844221432542461907D+01, & 0.1482052191561582448658478D+01, & 0.1446554542510861055782865D+01, & 0.1411056898564365493121105D+01, & 0.1375559261269981001734724D+01, & 0.1340061632245437638964436D+01, & 0.1304564013196950335363525D+01, & 0.1269066405939915513649123D+01, & 0.1233568812422221364483924D+01, & 0.1198071234750839346739124D+01, & 0.1162573675222508872274463D+01, & 0.1127076136359515473862368D+01, & 0.1091578620951808778363231D+01, & 0.1056081132107029235444226D+01, & 0.1020583673310438024843461D+01, & 0.9850862484973095869616622D+00, & 0.9495888621411026369897815D+00, & 0.9140915193617473526041913D+00, & 0.8785942260597805964360395D+00, & 0.8430969890839839780181254D+00, & 0.8075998164428632814935249D+00, & 0.7721027175741014967901450D+00, & 0.7366057036915554827257553D+00, & 0.7011087882372792641869964D+00, & 0.6656119874777629720186974D+00, & 0.6301153213012084608241887D+00, & 0.5946188142997514629085459D+00, & 0.5591224972630766104664894D+00, & 0.5236264092783024624074546D+00, & 0.4881306007441175888503326D+00, & 0.4526351377998500905914452D+00, & 0.4171401090099414677462070D+00, & 0.3816456357674021470057899D+00, & 0.3461518890753412856675063D+00, & 0.3106591177837409768492156D+00, & 0.2751676985649013361686770D+00, & 0.2396782299970584002479842D+00, & 0.2041917239104339765549482D+00, & 0.1687100353513348647833163D+00, & 0.1332369676454340307348264D+00, & 0.9778171579501174586520881D-01, & 0.6237343205901608270979365D-01, & 0.2717302558182235133513210D-01 /) real ( kind = rk ) :: EvenThetaZero45(45) = (/ & 0.1553439726211153891540573D+01, & 0.1518726525682668668950427D+01, & 0.1484013327077361052080319D+01, & 0.1449300131698066374929113D+01, & 0.1414586940879145218883617D+01, & 0.1379873756000009717714844D+01, & 0.1345160578499605494109603D+01, & 0.1310447409892181029407508D+01, & 0.1275734251784724823396464D+01, & 0.1241021105896515467487132D+01, & 0.1206307974081314658309029D+01, & 0.1171594858352843571506531D+01, & 0.1136881760914326165420300D+01, & 0.1102168684193068774494217D+01, & 0.1067455630881287279906518D+01, & 0.1032742603984709761582283D+01, & 0.9980296068808995413713835D+00, & 0.9633166433897968474836258D+00, & 0.9286037178597176902839922D+00, & 0.8938908352730483454962679D+00, & 0.8591780013772376740585140D+00, & 0.8244652228485703565016715D+00, & 0.7897525074988288740747291D+00, & 0.7550398645386622329842600D+00, & 0.7203273049167972965433221D+00, & 0.6856148417619669061621766D+00, & 0.6509024909658764678789680D+00, & 0.6161902719627732109904446D+00, & 0.5814782087876726421060849D+00, & 0.5467663315368932859708410D+00, & 0.5120546784214694424751802D+00, & 0.4773432987146161851453875D+00, & 0.4426322570828636775769209D+00, & 0.4079216401227574252826633D+00, & 0.3732115665343573673240355D+00, & 0.3385022035318641142927744D+00, & 0.3037937944563405612019789D+00, & 0.2690867076466992914990193D+00, & 0.2343815284441088285495466D+00, & 0.1996792463094099012688324D+00, & 0.1649816752853099621072722D+00, & 0.1302925346385956500837770D+00, & 0.9562081616094948269905207D-01, & 0.6099502786102040135198395D-01, & 0.2657252290854776665952679D-01 /) real ( kind = rk ) :: EvenThetaZero46(46) = (/ & 0.1553814992974904767594241D+01, & 0.1519852325907741898557817D+01, & 0.1485889660564341242674032D+01, & 0.1451926998111647785152899D+01, & 0.1417964339743630985906479D+01, & 0.1384001686692845945859686D+01, & 0.1350039040242776872946770D+01, & 0.1316076401741232369348729D+01, & 0.1282113772615099921371445D+01, & 0.1248151154386817288949698D+01, & 0.1214188548692984168143550D+01, & 0.1180225957305622474388020D+01, & 0.1146263382156703179022046D+01, & 0.1112300825366698998613230D+01, & 0.1078338289278105103916832D+01, & 0.1044375776495107627552926D+01, & 0.1010413289930890288650173D+01, & 0.9764508328644780886953041D+00, & 0.9424884090095589354132202D+00, & 0.9085260225984488659490189D+00, & 0.8745636784853451215455853D+00, & 0.8406013822743460048537475D+00, & 0.8066391404795569177534715D+00, & 0.7726769607271702244889884D+00, & 0.7387148520130367387469271D+00, & 0.7047528250344497011443004D+00, & 0.6707908926224332706815892D+00, & 0.6368290703120276715090693D+00, & 0.6028673771049329733376093D+00, & 0.5689058365047911420524623D+00, & 0.5349444779460832748774921D+00, & 0.5009833388030907720537138D+00, & 0.4670224672735823328060142D+00, & 0.4330619266162571710985599D+00, & 0.3991018015460700850326972D+00, & 0.3651422081877256344485503D+00, & 0.3311833101314466311103548D+00, & 0.2972253454486352538763297D+00, & 0.2632686745061683534910424D+00, & 0.2293138699815081215985284D+00, & 0.1953618999343470689252174D+00, & 0.1614145391777897730914718D+00, & 0.1274754265555317105245073D+00, & 0.9355335943686297111639257D-01, & 0.5967622944002585907962555D-01, & 0.2599798753052849047032580D-01 /) real ( kind = rk ) :: EvenThetaZero47(47) = (/ & 0.1554174376112911655131098D+01, & 0.1520930475263640362170511D+01, & 0.1487686575963027013435604D+01, & 0.1454442679258803180913942D+01, & 0.1421198786221944168258440D+01, & 0.1387954897956585365296993D+01, & 0.1354711015610581847809736D+01, & 0.1321467140386931222410853D+01, & 0.1288223273556309404505081D+01, & 0.1254979416471008337267759D+01, & 0.1221735570580615776412743D+01, & 0.1188491737449843097435062D+01, & 0.1155247918778991542491874D+01, & 0.1122004116427655660730083D+01, & 0.1088760332442401967089102D+01, & 0.1055516569089340593777585D+01, & 0.1022272828892740925095715D+01, & 0.9890291146811467076264609D+00, & 0.9557854296428465678959260D+00, & 0.9225417773930866874628226D+00, & 0.8892981620561221868061383D+00, & 0.8560545883661619186153440D+00, & 0.8228110617925680415850631D+00, & 0.7895675886964734656602191D+00, & 0.7563241765284943282959446D+00, & 0.7230808340807681383862155D+00, & 0.6898375718116413059811978D+00, & 0.6565944022687408111136058D+00, & 0.6233513406471279431598408D+00, & 0.5901084055357449335782332D+00, & 0.5568656199307345199294838D+00, & 0.5236230126340485109018232D+00, & 0.4903806202198476810807501D+00, & 0.4571384898571183050552302D+00, & 0.4238966834573972483152713D+00, & 0.3906552839347125500730013D+00, & 0.3574144049483910279156003D+00, & 0.3241742066189948531421192D+00, & 0.2909349219721993995636414D+00, & 0.2576969037411283384416169D+00, & 0.2244607124763750082606152D+00, & 0.1912272957431274569912962D+00, & 0.1579983907861406744991899D+00, & 0.1247775594308675650267811D+00, & 0.9157341285433675818728635D-01, & 0.5841325237532701385812948D-01, & 0.2544777076240816313972829D-01 /) real ( kind = rk ) :: EvenThetaZero48(48) = (/ & 0.1554518863153354618809409D+01, & 0.1521963936333782670214978D+01, & 0.1489409010908686292228052D+01, & 0.1456854087820918568482631D+01, & 0.1424299168033388494075931D+01, & 0.1391744252537595165009714D+01, & 0.1359189342362693116905575D+01, & 0.1326634438585269225516707D+01, & 0.1294079542340034988016159D+01, & 0.1261524654831668904330407D+01, & 0.1228969777348083696352705D+01, & 0.1196414911275444418157033D+01, & 0.1163860058115329026827193D+01, & 0.1131305219504506571098859D+01, & 0.1098750397237914982841550D+01, & 0.1066195593295557461150055D+01, & 0.1033640809874212986016967D+01, & 0.1001086049425085324651032D+01, & 0.9685313146988134601280153D+00, & 0.9359766087996588330547245D+00, & 0.9034219352512048766203636D+00, & 0.8708672980765996496647291D+00, & 0.8383127018973108640833295D+00, & 0.8057581520556423644789438D+00, & 0.7732036547680256450048242D+00, & 0.7406492173185620802637676D+00, & 0.7080948483057714882525616D+00, & 0.6755405579604902654406567D+00, & 0.6429863585601198571817691D+00, & 0.6104322649751623629236805D+00, & 0.5778782954001507969801437D+00, & 0.5453244723459250134170285D+00, & 0.5127708240092147734858477D+00, & 0.4802173861982495342372455D+00, & 0.4476642050968422792532389D+00, & 0.4151113413261211455132671D+00, & 0.3825588760747025757978563D+00, & 0.3500069206395502661556462D+00, & 0.3174556318161704671189642D+00, & 0.2849052377944113082878058D+00, & 0.2523560839907875626097181D+00, & 0.2198087193323827316322426D+00, & 0.1872640717400572601243546D+00, & 0.1547238424480887172335593D+00, & 0.1221915194567498709631299D+00, & 0.8967553546914315204781840D-01, & 0.5720262597323678474637133D-01, & 0.2492036059421555107245208D-01 /) real ( kind = rk ) :: EvenThetaZero49(49) = (/ & 0.1554849361424470843090118D+01, & 0.1522955431101933730645303D+01, & 0.1491061502037751976297424D+01, & 0.1459167575082261894770634D+01, & 0.1427273651103158170602525D+01, & 0.1395379730992862183093282D+01, & 0.1363485815676330697886480D+01, & 0.1331591906119453530640248D+01, & 0.1299698003338207337770238D+01, & 0.1267804108408757103237650D+01, & 0.1235910222478728395590872D+01, & 0.1204016346779913703159712D+01, & 0.1172122482642727288439229D+01, & 0.1140228631512787910483320D+01, & 0.1108334794970091261912531D+01, & 0.1076440974751339138680154D+01, & 0.1044547172776127017814204D+01, & 0.1012653391177865049408482D+01, & 0.9807596323405319627306720D+00, & 0.9488658989426541583823449D+00, & 0.9169721940102869797082899D+00, & 0.8850785209812848825432963D+00, & 0.8531848837838285971960304D+00, & 0.8212912869330969580404013D+00, & 0.7893977356512249782795147D+00, & 0.7575042360174185552669765D+00, & 0.7256107951575083863622461D+00, & 0.6937174214856350398887716D+00, & 0.6618241250156435481462849D+00, & 0.6299309177668761147121611D+00, & 0.5980378142995696297245189D+00, & 0.5661448324309071185385071D+00, & 0.5342519942071113461815355D+00, & 0.5023593272451872220760104D+00, & 0.4704668666194035162003700D+00, & 0.4385746575692260390945883D+00, & 0.4066827594785525726660483D+00, & 0.3747912518813925812276922D+00, & 0.3429002438089823350625543D+00, & 0.3110098888674705209106637D+00, & 0.2791204106078991711912441D+00, & 0.2472321474279120600810915D+00, & 0.2153456371036966567922014D+00, & 0.1834617887100953140198272D+00, & 0.1515822689338083535939382D+00, & 0.1197104949484175660714864D+00, & 0.8785472823121690639967810D-01, & 0.5604116141749524467628553D-01, & 0.2441436781606819510490200D-01 /) real ( kind = rk ) :: EvenThetaZero50(50) = (/ & 0.1555166706034023842787706D+01, & 0.1523907464890582273398300D+01, & 0.1492648224885016483409279D+01, & 0.1461388986785839210767990D+01, & 0.1430129751376631035251350D+01, & 0.1398870519462421720845393D+01, & 0.1367611291876438076975682D+01, & 0.1336352069487341263827064D+01, & 0.1305092853207091240256110D+01, & 0.1273833643999595441027728D+01, & 0.1242574442890323705495464D+01, & 0.1211315250977103200801981D+01, & 0.1180056069442347222927677D+01, & 0.1148796899567022469820701D+01, & 0.1117537742746723499546780D+01, & 0.1086278600510304367969825D+01, & 0.1055019474541620880304106D+01, & 0.1023760366705069175705639D+01, & 0.9925012790757765081567637D+00, & 0.9612422139755203374385844D+00, & 0.9299831740157389822411293D+00, & 0.8987241621493743180375722D+00, & 0.8674651817337867269827651D+00, & 0.8362062366076504452859926D+00, & 0.8049473311856388413561914D+00, & 0.7736884705759381993127359D+00, & 0.7424296607273230664538510D+00, & 0.7111709086148904840060001D+00, & 0.6799122224768919982385331D+00, & 0.6486536121198915829209739D+00, & 0.6173950893164463798129595D+00, & 0.5861366683298159921278400D+00, & 0.5548783666157332634604655D+00, & 0.5236202057751242467455922D+00, & 0.4923622128691229579358494D+00, & 0.4611044222679868504944176D+00, & 0.4298468783051183048132298D+00, & 0.3985896391770900735176252D+00, & 0.3673327828297899556279530D+00, & 0.3360764161195064368209114D+00, & 0.3048206895905456571224703D+00, & 0.2735658223403245791263072D+00, & 0.2423121460275046288225596D+00, & 0.2110601877217048587999889D+00, & 0.1798108384023314561549010D+00, & 0.1485657315840060835766576D+00, & 0.1173282164330337207824850D+00, & 0.8610639001623934211634967D-01, & 0.5492592372249737419414775D-01, & 0.2392851379957687254895331D-01 /) real ( kind = rk ) :: OddThetaZero1(1) = (/ & 0.6847192030022829138880982D+00 /) real ( kind = rk ) :: OddThetaZero2(2) = (/ & 0.1002176803643121641749915D+01, & 0.4366349492255221620374655D+00 /) real ( kind = rk ) :: OddThetaZero3(3) = (/ & 0.1152892953722227341986065D+01, & 0.7354466143229520469385622D+00, & 0.3204050902900619825355950D+00 /) real ( kind = rk ) :: OddThetaZero4(4) = (/ & 0.1240573923404363422789550D+01, & 0.9104740292261473250358755D+00, & 0.5807869795060065580284919D+00, & 0.2530224166119306882187233D+00 /) real ( kind = rk ) :: OddThetaZero5(5) = (/ & 0.1297877729331450368298142D+01, & 0.1025003226369574843297844D+01, & 0.7522519395990821317003373D+00, & 0.4798534223256743217333579D+00, & 0.2090492874137409414071522D+00 /) real ( kind = rk ) :: OddThetaZero6(6) = (/ & 0.1338247676100454369194835D+01, & 0.1105718066248490075175419D+01, & 0.8732366099401630367220948D+00, & 0.6408663264733867770811230D+00, & 0.4088002373420211722955679D+00, & 0.1780944581262765470585931D+00 /) real ( kind = rk ) :: OddThetaZero7(7) = (/ & 0.1368219536992351783359098D+01, & 0.1165652065603030148723847D+01, & 0.9631067821301481995711685D+00, & 0.7606069572889918619145483D+00, & 0.5582062109125313357140248D+00, & 0.3560718303314725022788878D+00, & 0.1551231069747375098418591D+00 /) real ( kind = rk ) :: OddThetaZero8(8) = (/ & 0.1391350647015287461874435D+01, & 0.1211909966211469688151240D+01, & 0.1032480728417239563449772D+01, & 0.8530732514258505686069670D+00, & 0.6737074594242522259878462D+00, & 0.4944303818194983217354808D+00, & 0.3153898594929282395996014D+00, & 0.1373998952992547671039022D+00 /) real ( kind = rk ) :: OddThetaZero9(9) = (/ & 0.1409742336767428999667236D+01, & 0.1248691224331339221187704D+01, & 0.1087646521650454938943641D+01, & 0.9266134127998189551499083D+00, & 0.7656007620508340547558669D+00, & 0.6046261769405451549818494D+00, & 0.4437316659960951760051408D+00, & 0.2830497588453068048261493D+00, & 0.1233108673082312764916251D+00 /) real ( kind = rk ) :: OddThetaZero10(10) = (/ & 0.1424715475176742734932665D+01, & 0.1278636375242898727771561D+01, & 0.1132561101012537613667002D+01, & 0.9864925055883793730483278D+00, & 0.8404350520135058972624775D+00, & 0.6943966110110701016065380D+00, & 0.5483930281810389839680525D+00, & 0.4024623099018152227701990D+00, & 0.2567245837448891192759858D+00, & 0.1118422651428890834760883D+00 /) real ( kind = rk ) :: OddThetaZero11(11) = (/ & 0.1437141935303526306632113D+01, & 0.1303488659735581140681362D+01, & 0.1169837785762829821262819D+01, & 0.1036190996404462300207004D+01, & 0.9025507517347875930425807D+00, & 0.7689210263823624893974324D+00, & 0.6353089402976822861185532D+00, & 0.5017289283414202278167583D+00, & 0.3682157131008289798868520D+00, & 0.2348791589702580223688923D+00, & 0.1023252788872632487579640D+00 /) real ( kind = rk ) :: OddThetaZero12(12) = (/ & 0.1447620393135667144403507D+01, & 0.1324445197736386798102445D+01, & 0.1201271573324181312770120D+01, & 0.1078100568411879956441542D+01, & 0.9549336362382321811515336D+00, & 0.8317729718814276781352878D+00, & 0.7086221837538611370849622D+00, & 0.5854877911108011727748238D+00, & 0.4623830630132757357909198D+00, & 0.3393399712563371486343129D+00, & 0.2164597408964339264361902D+00, & 0.9430083986305519349231898D-01 /) real ( kind = rk ) :: OddThetaZero13(13) = (/ & 0.1456575541704195839944967D+01, & 0.1342355260834552126304154D+01, & 0.1228136043468909663499174D+01, & 0.1113918572282611841378549D+01, & 0.9997037539874953933323299D+00, & 0.8854928869950799998575862D+00, & 0.7712879690777516856072467D+00, & 0.6570923167092416238233585D+00, & 0.5429119513798658239789812D+00, & 0.4287591577660783587509129D+00, & 0.3146635662674373982102762D+00, & 0.2007190266590380629766487D+00, & 0.8744338280630300217927750D-01 /) real ( kind = rk ) :: OddThetaZero14(14) = (/ & 0.1464317002991565219979113D+01, & 0.1357838033080061766980173D+01, & 0.1251359804334884770836945D+01, & 0.1144882777708662655968171D+01, & 0.1038407544520296695714932D+01, & 0.9319349156915986836657782D+00, & 0.8254660749671546663859351D+00, & 0.7190028636037068047812305D+00, & 0.6125483562383020473196681D+00, & 0.5061081521562999836102547D+00, & 0.3996936914666951732317457D+00, & 0.2933325857619472952507468D+00, & 0.1871123137498061864373407D+00, & 0.8151560650977882057817999D-01 /) real ( kind = rk ) :: OddThetaZero15(15) = (/ & 0.1471075823713997440657641D+01, & 0.1371355574944658989649887D+01, & 0.1271635855736122280723838D+01, & 0.1171916986981363820797100D+01, & 0.1072199368669106404814915D+01, & 0.9724835301003496870596165D+00, & 0.8727702114891848603047954D+00, & 0.7730605060747958359120755D+00, & 0.6733561257504194406005404D+00, & 0.5736599396529727772420934D+00, & 0.4739771829190733570809765D+00, & 0.3743185619229329461021810D+00, & 0.2747099287638327553949437D+00, & 0.1752332025619508475799133D+00, & 0.7634046205384429302353073D-01 /) real ( kind = rk ) :: OddThetaZero16(16) = (/ & 0.1477027911291552393547878D+01, & 0.1383259682348271685979143D+01, & 0.1289491840051302622319481D+01, & 0.1195724613675799550484673D+01, & 0.1101958282220461402990667D+01, & 0.1008193204014774090964219D+01, & 0.9144298626454031699590564D+00, & 0.8206689427646120483710056D+00, & 0.7269114630504563073034288D+00, & 0.6331590254855162126233733D+00, & 0.5394143214244183829842424D+00, & 0.4456822679082866369288652D+00, & 0.3519729273095236644049666D+00, & 0.2583106041071417718760275D+00, & 0.1647723231643112502628240D+00, & 0.7178317184275122449502857D-01 /) real ( kind = rk ) :: OddThetaZero17(17) = (/ & 0.1482309554825692463999299D+01, & 0.1393822922226542123661077D+01, & 0.1305336577335833571381699D+01, & 0.1216850687682353365944624D+01, & 0.1128365453024608460982204D+01, & 0.1039881123511957522668140D+01, & 0.9513980267579228357946521D+00, & 0.8629166105524045911461307D+00, & 0.7744375139383604902604254D+00, & 0.6859616923374368587817328D+00, & 0.5974906525247623278123711D+00, & 0.5090269299866796725116786D+00, & 0.4205751610647263669405267D+00, & 0.3321448379994943116084719D+00, & 0.2437588931448048912587688D+00, & 0.1554900095178924564386865D+00, & 0.6773932498157585698088354D-01 /) real ( kind = rk ) :: OddThetaZero18(18) = (/ & 0.1487027983239550912222135D+01, & 0.1403259745496922270264564D+01, & 0.1319491725464661433609663D+01, & 0.1235724047968681189212364D+01, & 0.1151956859289811446164825D+01, & 0.1068190338689553494802072D+01, & 0.9844247150109837231349622D+00, & 0.9006602918737365182850484D+00, & 0.8168974877846821404275069D+00, & 0.7331369031796229223580227D+00, & 0.6493794386888650054486281D+00, & 0.5656265174356596757139537D+00, & 0.4818805368222631487731579D+00, & 0.3981458834052590173509113D+00, & 0.3144315409387123154212535D+00, & 0.2307592167302372059759857D+00, & 0.1471977156945989772472748D+00, & 0.6412678117309944052403703D-01 /) real ( kind = rk ) :: OddThetaZero19(19) = (/ & 0.1491268718102344688271411D+01, & 0.1411741190914640487505771D+01, & 0.1332213830951015404441941D+01, & 0.1252686732830809999680267D+01, & 0.1173160005794509313174730D+01, & 0.1093633781237958896879965D+01, & 0.1014108223243148393065201D+01, & 0.9345835440325075907377330D+00, & 0.8550600276575269107773349D+00, & 0.7755380679025248517258532D+00, & 0.6960182317959841585145109D+00, & 0.6165013717819833504477346D+00, & 0.5369888366794912945318079D+00, & 0.4574829005269902932408889D+00, & 0.3779877260196973978940863D+00, & 0.2985118404618624984946326D+00, & 0.2190758506462427957069113D+00, & 0.1397450765119767349146353D+00, & 0.6088003363863534825005464D-01 /) real ( kind = rk ) :: OddThetaZero20(20) = (/ & 0.1495100801651051409999732D+01, & 0.1419405340110198552778393D+01, & 0.1343710008748627892724810D+01, & 0.1268014880389353000310414D+01, & 0.1192320038028903827079750D+01, & 0.1116625579891689469044026D+01, & 0.1040931626310454794079799D+01, & 0.9652383295306942866661884D+00, & 0.8895458882533946571137358D+00, & 0.8138545700535261740447950D+00, & 0.7381647473570304814395029D+00, & 0.6624769578126105498149624D+00, & 0.5867920109947446493391737D+00, & 0.5111111891461744489290992D+00, & 0.4354366553151050147918632D+00, & 0.3597723703299625354660452D+00, & 0.2841264494060559943920389D+00, & 0.2085185052177154996230005D+00, & 0.1330107089065635461375419D+00, & 0.5794620170990797798650123D-01 /) real ( kind = rk ) :: OddThetaZero21(21) = (/ & 0.1498580583401444174317386D+01, & 0.1426364890228584522673414D+01, & 0.1354149299629923281192036D+01, & 0.1281933868420423988034246D+01, & 0.1209718660626713399048551D+01, & 0.1137503750956414845248481D+01, & 0.1065289229411733880607916D+01, & 0.9930752076949068878557126D+00, & 0.9208618284397049456535757D+00, & 0.8486492789905562098591586D+00, & 0.7764378127156926158031943D+00, & 0.7042277832708635930867344D+00, & 0.6320197021480767602848178D+00, & 0.5598143404345395912377042D+00, & 0.4876129202946139420188428D+00, & 0.4154175043169533365541148D+00, & 0.3432318703096418027524597D+00, & 0.2710637595435203246492797D+00, & 0.1989318822110657561806962D+00, & 0.1268955503926593166308254D+00, & 0.5528212871240371048241379D-01 /) real ( kind = rk ) :: OddThetaZero22(22) = (/ & 0.1501754508594837337089856D+01, & 0.1432712730475143340404518D+01, & 0.1363671034069754274950592D+01, & 0.1294629464249430679064317D+01, & 0.1225588071083248538559259D+01, & 0.1156546912269029268686830D+01, & 0.1087506056298747798071893D+01, & 0.1018465586752840651469411D+01, & 0.9494256083335850798964741D+00, & 0.8803862556198167553278643D+00, & 0.8113477061841624760598814D+00, & 0.7423102009244498727845341D+00, & 0.6732740767851639064676858D+00, & 0.6042398217472142478598295D+00, & 0.5352081720899522889584566D+00, & 0.4661802954366277026594659D+00, & 0.3971581629712621730826920D+00, & 0.3281453857685808451825081D+00, & 0.2591493642052661979197670D+00, & 0.1901879854885491785792565D+00, & 0.1213179541186130699071317D+00, & 0.5285224511635143601147552D-01 /) real ( kind = rk ) :: OddThetaZero23(23) = (/ & 0.1504661202517196460191540D+01, & 0.1438526110541037227495230D+01, & 0.1372391084315255737540026D+01, & 0.1306256159670931796771616D+01, & 0.1240121376243315949825014D+01, & 0.1173986779205849344923421D+01, & 0.1107852421486856229076325D+01, & 0.1041718366715156747157745D+01, & 0.9755846932657442605621389D+00, & 0.9094514999854931965227238D+00, & 0.8433189145364798253029042D+00, & 0.7771871059265138564989363D+00, & 0.7110563039566125173946002D+00, & 0.6449268305419475123120585D+00, & 0.5787991523675322133651034D+00, & 0.5126739740395088296453592D+00, & 0.4465524134105889084933393D+00, & 0.3804363581140941600870992D+00, & 0.3143292666717729726674543D+00, & 0.2482382273986418438740754D+00, & 0.1821803739336923550363257D+00, & 0.1162100228791666307841708D+00, & 0.5062697144246344520692308D-01 /) real ( kind = rk ) :: OddThetaZero24(24) = (/ & 0.1507333049739684406957329D+01, & 0.1443869798951040686809862D+01, & 0.1380406601553595646811530D+01, & 0.1316943486448336467960940D+01, & 0.1253480485358734060913055D+01, & 0.1190017634088428795118215D+01, & 0.1126554974102287077081806D+01, & 0.1063092554588577221978254D+01, & 0.9996304352342330000643921D+00, & 0.9361686900661624628632729D+00, & 0.8727074129127595264965883D+00, & 0.8092467253835331800652228D+00, & 0.7457867888716805068068402D+00, & 0.6823278231980088937854296D+00, & 0.6188701366516795329577182D+00, & 0.5554141765061554178407906D+00, & 0.4919606183965743300387332D+00, & 0.4285105345527885639657014D+00, & 0.3650657359209552112046854D+00, & 0.3016295408979540017854803D+00, & 0.2382087510453128743250072D+00, & 0.1748198074104535338147956D+00, & 0.1115148317291502081079519D+00, & 0.4858150828905663931389750D-01 /) real ( kind = rk ) :: OddThetaZero25(25) = (/ & 0.1509797405521643600800862D+01, & 0.1448798505784201776188819D+01, & 0.1387799649767640868379247D+01, & 0.1326800860997572277878513D+01, & 0.1265802165120213614545418D+01, & 0.1204803590828283748583827D+01, & 0.1143805171007496028164312D+01, & 0.1082806944206958485218487D+01, & 0.1021808956582037259849130D+01, & 0.9608112645303606832220554D+00, & 0.8998139383584991342974664D+00, & 0.8388170675106567024157190D+00, & 0.7778207682214244793380700D+00, & 0.7168251950382156442798800D+00, & 0.6558305587295081487906238D+00, & 0.5948371551492265376377962D+00, & 0.5338454137827292925154468D+00, & 0.4728559836463229599006206D+00, & 0.4118698949811841042358258D+00, & 0.3508888880839026413717319D+00, & 0.2899161521835467942607342D+00, & 0.2289582244272697168835150D+00, & 0.1680309071251709912058722D+00, & 0.1071842976730454709494914D+00, & 0.4669490825917857848258897D-01 /) real ( kind = rk ) :: OddThetaZero26(26) = (/ & 0.1512077535592702651885542D+01, & 0.1453358762182399391553360D+01, & 0.1394640024852448295479492D+01, & 0.1335921342914185177270306D+01, & 0.1277202737290683500323248D+01, & 0.1218484231207691826029908D+01, & 0.1159765851037557179133987D+01, & 0.1101047627365156083369632D+01, & 0.1042329596373083545617043D+01, & 0.9836118016874520301049009D+00, & 0.9248942968954766185908511D+00, & 0.8661771490588063053774554D+00, & 0.8074604437333368789787031D+00, & 0.7487442923247565105494255D+00, & 0.6900288431709550365296138D+00, & 0.6313142987730108226833704D+00, & 0.5726009435739572428629866D+00, & 0.5138891906843943809444838D+00, & 0.4551796645660731149033106D+00, & 0.3964733566771858874923011D+00, & 0.3377719420068963817561906D+00, & 0.2790784903284342592940125D+00, & 0.2203992941938221111139898D+00, & 0.1617495649772923108686624D+00, & 0.1031775271253784724197264D+00, & 0.4494935602951385601335598D-01 /) real ( kind = rk ) :: OddThetaZero27(27) = (/ & 0.1514193352804819997509006D+01, & 0.1457590393617468793209691D+01, & 0.1400987464419153080392546D+01, & 0.1344384581184662080889348D+01, & 0.1287781761126833878758488D+01, & 0.1231179023218584237510462D+01, & 0.1174576388822640925688125D+01, & 0.1117973882475943676285829D+01, & 0.1061371532893653466992815D+01, & 0.1004769374285310770780417D+01, & 0.9481674481184788854172919D+00, & 0.8915658055327279211293483D+00, & 0.8349645107156934027761499D+00, & 0.7783636457331086848148917D+00, & 0.7217633176118399859733190D+00, & 0.6651636690166557413471029D+00, & 0.6085648948549621671933311D+00, & 0.5519672690500084950513985D+00, & 0.4953711895788266953367288D+00, & 0.4387772581729219934583483D+00, & 0.3821864303519236078766179D+00, & 0.3256003205491779498477363D+00, & 0.2690218877324958059454348D+00, & 0.2124571975249336244841297D+00, & 0.1559209129891515317090843D+00, & 0.9945952063842375053227931D-01, & 0.4332960406341033436157524D-01 /) real ( kind = rk ) :: OddThetaZero28(28) = (/ & 0.1516162000094549207021851D+01, & 0.1461527685790782385188426D+01, & 0.1406893396579229558427657D+01, & 0.1352259145769086826235918D+01, & 0.1297624947629923059740243D+01, & 0.1242990817790597917328601D+01, & 0.1188356773715062198539162D+01, & 0.1133722835287525783953663D+01, & 0.1079089025551156002698850D+01, & 0.1024455371662101389801169D+01, & 0.9698219061474760364582928D+00, & 0.9151886685974009713577537D+00, & 0.8605557079864861100238346D+00, & 0.8059230859253162466918892D+00, & 0.7512908813164713594661588D+00, & 0.6966591971861112012613682D+00, & 0.6420281709850565965229799D+00, & 0.5873979906122764301937499D+00, & 0.5327689202536826556885353D+00, & 0.4781413438508069051295597D+00, & 0.4235158420269503798571552D+00, & 0.3688933369002844229314675D+00, & 0.3142753865947702189467806D+00, & 0.2596648470121556361200229D+00, & 0.2050675726616484232653526D+00, & 0.1504977164639767777858359D+00, & 0.9600014792058154736462106D-01, & 0.4182252607645932321862773D-01 /) real ( kind = rk ) :: OddThetaZero29(29) = (/ & 0.1517998315905975681819213D+01, & 0.1465200315462026532129551D+01, & 0.1412402336143180968579639D+01, & 0.1359604389111228213837104D+01, & 0.1306806486279734731351497D+01, & 0.1254008640622089183072742D+01, & 0.1201210866535131048800458D+01, & 0.1148413180281179970113571D+01, & 0.1095615600538999408768381D+01, & 0.1042818149105710558651372D+01, & 0.9900208518088600875617620D+00, & 0.9372237397138955502862203D+00, & 0.8844268507524555199840381D+00, & 0.8316302319600398731649744D+00, & 0.7788339426133210890795576D+00, & 0.7260380587255163256281298D+00, & 0.6732426796448045921910045D+00, & 0.6204479380061240544867289D+00, & 0.5676540152134466427854705D+00, & 0.5148611664077887834613451D+00, & 0.4620697624728053757183766D+00, & 0.4092803643735033357684553D+00, & 0.3564938631002461237979451D+00, & 0.3037117642790043703921396D+00, & 0.2509368276982060978106092D+00, & 0.1981747109679032915697317D+00, & 0.1454390911823840643137232D+00, & 0.9277332955453467429763451D-01, & 0.4041676055113025684436480D-01 /) real ( kind = rk ) :: OddThetaZero30(30) = (/ & 0.1519715208823086817411929D+01, & 0.1468634099702062550682430D+01, & 0.1417553008469014674939490D+01, & 0.1366471944542347269659860D+01, & 0.1315390917933946912760115D+01, & 0.1264309939489363760018555D+01, & 0.1213229021168654147755139D+01, & 0.1162148176384137345494752D+01, & 0.1111067420416500738111992D+01, & 0.1059986770938296676746064D+01, & 0.1008906248685091746434581D+01, & 0.9578258783312407255956784D+00, & 0.9067456896525242756445150D+00, & 0.8556657190967860708153477D+00, & 0.8045860119448479090873824D+00, & 0.7535066253423996943740445D+00, & 0.7024276326462752642452137D+00, & 0.6513491298057893513225544D+00, & 0.6002712449887427739045163D+00, & 0.5491941535583390603837715D+00, & 0.4981181022276018128369963D+00, & 0.4470434496975185070560821D+00, & 0.3959707385770101868486847D+00, & 0.3449008307748737032772825D+00, & 0.2938351828535981363494671D+00, & 0.2427764647581323719392653D+00, & 0.1917301500230701193408602D+00, & 0.1407094708800750523796875D+00, & 0.8975637836633630394302762D-01, & 0.3910242380354419363081899D-01 /) real ( kind = rk ) :: OddThetaZero31(31) = (/ & 0.1521323961422700444944464D+01, & 0.1471851603590422118622546D+01, & 0.1422379260986849454727777D+01, & 0.1372906941604798453293218D+01, & 0.1323434653909307929892118D+01, & 0.1273962407026590487708892D+01, & 0.1224490210963055761921526D+01, & 0.1175018076866133593082748D+01, & 0.1125546017342156230227131D+01, & 0.1076074046851682267877939D+01, & 0.1026602182210094558879809D+01, & 0.9771304432322302018639612D+00, & 0.9276588535760335871906045D+00, & 0.8781874418647315968408864D+00, & 0.8287162432047307488040550D+00, & 0.7792453012756761070555010D+00, & 0.7297746712644485550469075D+00, & 0.6803044240724808212528033D+00, & 0.6308346524943159683026367D+00, & 0.5813654805388740483542438D+00, & 0.5318970779332963132260134D+00, & 0.4824296835154055410257004D+00, & 0.4329636445908698102350729D+00, & 0.3834994865870752458854056D+00, & 0.3340380441799942088370002D+00, & 0.2845807279748544733570760D+00, & 0.2351301237470960623526672D+00, & 0.1856915325646991222655151D+00, & 0.1362777698319134965765757D+00, & 0.8692946525012054120187353D-01, & 0.3787087726949234365520114D-01 /) real ( kind = rk ) :: OddThetaZero32(32) = (/ & 0.1522834478472358672931947D+01, & 0.1474872636605138418026177D+01, & 0.1426910807768284322082436D+01, & 0.1378948998781055367310047D+01, & 0.1330987216841224680164684D+01, & 0.1283025469674968454386883D+01, & 0.1235063765709222885799986D+01, & 0.1187102114275073728898860D+01, & 0.1139140525853183114841234D+01, & 0.1091179012375759666645271D+01, & 0.1043217587604604879578741D+01, & 0.9952562676120370548458597D+00, & 0.9472950714021223337048082D+00, & 0.8993340217254078241758816D+00, & 0.8513731461641338285808219D+00, & 0.8034124786014693431693904D+00, & 0.7554520612457602368887930D+00, & 0.7074919474732165281510693D+00, & 0.6595322059052657580628641D+00, & 0.6115729263971504325174172D+00, & 0.5636142290734363894767612D+00, & 0.5156562783879918167717991D+00, & 0.4676993058012953469089537D+00, & 0.4197436479350834076514896D+00, & 0.3717898140987174444032373D+00, & 0.3238386134116156886828960D+00, & 0.2758914133405791810724762D+00, & 0.2279507206431424610498769D+00, & 0.1800216744637006612298520D+00, & 0.1321166988439841543825694D+00, & 0.8427518284958235696897899D-01, & 0.3671453742186897322954009D-01 /) real ( kind = rk ) :: OddThetaZero33(33) = (/ & 0.1524255491013576804195881D+01, & 0.1477714660784952783237945D+01, & 0.1431173841758652772349485D+01, & 0.1384633039781787069436630D+01, & 0.1338092261006965672253841D+01, & 0.1291551512012124788593875D+01, & 0.1245010799937299944123195D+01, & 0.1198470132644670409416924D+01, & 0.1151929518909907204916554D+01, & 0.1105388968655282680015213D+01, & 0.1058848493238442193822372D+01, & 0.1012308105815651361079674D+01, & 0.9657678218054126734684090D+00, & 0.9192276594886802366068293D+00, & 0.8726876407972167893294764D+00, & 0.8261477923647281669131478D+00, & 0.7796081469509049827753598D+00, & 0.7330687454042532567721262D+00, & 0.6865296394193009886613469D+00, & 0.6399908954920466591029822D+00, & 0.5934526007301573325059582D+00, & 0.5469148716199143611697357D+00, & 0.5003778676688561814362271D+00, & 0.4538418134105091550464446D+00, & 0.4073070354279485829740435D+00, & 0.3607740278788822846227453D+00, & 0.3142435758510728338330843D+00, & 0.2677170062389944640113953D+00, & 0.2211967514739567668334169D+00, & 0.1746877983807874325844051D+00, & 0.1282022028383479964348629D+00, & 0.8177818680168764430245080D-01, & 0.3562671947817428176226631D-01 /) real ( kind = rk ) :: OddThetaZero34(34) = (/ & 0.1525594725214770881206476D+01, & 0.1480393128432045740356817D+01, & 0.1435191541323085582529217D+01, & 0.1389989968924959812091252D+01, & 0.1344788416522907866060817D+01, & 0.1299586889746827997174554D+01, & 0.1254385394680661996389736D+01, & 0.1209183937989395175829969D+01, & 0.1163982527069600127515982D+01, & 0.1118781170231154762473596D+01, & 0.1073579876920155012130433D+01, & 0.1028378657996412636748477D+01, & 0.9831775260837211038023103D+00, & 0.9379764960179657076015136D+00, & 0.8927755854282048597997986D+00, & 0.8475748155007347757967789D+00, & 0.8023742119985848209905761D+00, & 0.7571738066433708695662393D+00, & 0.7119736390205872251796930D+00, & 0.6667737592565460745639184D+00, & 0.6215742318591892056934095D+00, & 0.5763751413603713322640298D+00, & 0.5311766008298875656047892D+00, & 0.4859787651249621588538330D+00, & 0.4407818522612533891543536D+00, & 0.3955861793705505114602136D+00, & 0.3503922263398633798966312D+00, & 0.3052007556167344348049303D+00, & 0.2600130558662051177480644D+00, & 0.2148314894784555841956251D+00, & 0.1696608997322034095150907D+00, & 0.1245129955389270002683579D+00, & 0.7942489891978153749097006D-01, & 0.3460150809198016850782325D-01 /) real ( kind = rk ) :: OddThetaZero35(35) = (/ & 0.1526859042890589526378487D+01, & 0.1482921763148403842276533D+01, & 0.1438984491795164536567108D+01, & 0.1395047233189252525231459D+01, & 0.1351109991891878034957302D+01, & 0.1307172772745304669260382D+01, & 0.1263235580960968906699379D+01, & 0.1219298422221050703835127D+01, & 0.1175361302797916700875697D+01, & 0.1131424229697065895207730D+01, & 0.1087487210830887883186060D+01, & 0.1043550255232887174273672D+01, & 0.9996133733253190253881393D+00, & 0.9556765772578535710715874D+00, & 0.9117398813415957196221754D+00, & 0.8678033026125661948850687D+00, & 0.8238668615732247310812836D+00, & 0.7799305831824293601507400D+00, & 0.7359944981977457886183921D+00, & 0.6920586450266629333858465D+00, & 0.6481230723279649663476697D+00, & 0.6041878427445000852182582D+00, & 0.5602530383870993537615272D+00, & 0.5163187691099712879003757D+00, & 0.4723851853891499571797438D+00, & 0.4284524990953311047063058D+00, & 0.3845210184454249891341793D+00, & 0.3405912098612419399584605D+00, & 0.2966638144233703899038032D+00, & 0.2527400847124078576715667D+00, & 0.2088223170017057788708674D+00, & 0.1649152190599722827308055D+00, & 0.1210301722471160155498167D+00, & 0.7720326018898817828206987D-01, & 0.3363364974516995102167462D-01 /) real ( kind = rk ) :: OddThetaZero36(36) = (/ & 0.1528054559083405137047563D+01, & 0.1485312794997097705446883D+01, & 0.1442571038214470776579613D+01, & 0.1399829292522320013570493D+01, & 0.1357087561874166765548658D+01, & 0.1314345850454078759228779D+01, & 0.1271604162748143389685638D+01, & 0.1228862503626296926524085D+01, & 0.1186120878437839368895715D+01, & 0.1143379293124832099340074D+01, & 0.1100637754358770795248912D+01, & 0.1057896269707576280860569D+01, & 0.1015154847842238156769126D+01, & 0.9724134987956584339974640D+00, & 0.9296722342907946818431047D+00, & 0.8869310681617368097575324D+00, & 0.8441900169008687429295884D+00, & 0.8014491003793523040286325D+00, & 0.7587083428093935362576859D+00, & 0.7159677740493625646700975D+00, & 0.6732274314040501413860867D+00, & 0.6304873621547357085895928D+00, & 0.5877476271899241333221832D+00, & 0.5450083063396327078463020D+00, & 0.5022695064252395155059223D+00, & 0.4595313737871711838065652D+00, & 0.4167941144922007176438387D+00, & 0.3740580283336802289311736D+00, & 0.3313235690067746553700419D+00, & 0.2885914573933480330041531D+00, & 0.2458629119584249278750153D+00, & 0.2031401664615301668533461D+00, & 0.1604278005405711652039491D+00, & 0.1177368858339244458607172D+00, & 0.7510252408650086658441596D-01, & 0.3271846270775478856070884D-01 /) real ( kind = rk ) :: OddThetaZero37(37) = (/ & 0.1529186740959505109653289D+01, & 0.1487577158293388707508111D+01, & 0.1445967582009979387718202D+01, & 0.1404358015412336440816745D+01, & 0.1362748461941311565399969D+01, & 0.1321138925227929972823825D+01, & 0.1279529409151733277951100D+01, & 0.1237919917907156982173977D+01, & 0.1196310456080472987418488D+01, & 0.1154701028740456700905269D+01, & 0.1113091641546798022997704D+01, & 0.1071482300881451340842721D+01, & 0.1029873014009735917989475D+01, & 0.9882637892802373569245916D+00, & 0.9466546363756944528310758D+00, & 0.9050455666314926033869497D+00, & 0.8634365934447506520344540D+00, & 0.8218277328062565148449433D+00, & 0.7802190040012226850703573D+00, & 0.7386104305454957746359112D+00, & 0.6970020414556031913861513D+00, & 0.6553938730008771105113861D+00, & 0.6137859711661063914322283D+00, & 0.5721783951857430999179669D+00, & 0.5305712227365694155165922D+00, & 0.4889645577740232855661796D+00, & 0.4473585427277744403333139D+00, & 0.4057533781735039172217875D+00, & 0.3641493559322687127223795D+00, & 0.3225469176515179389138545D+00, & 0.2809467650889194227770571D+00, & 0.2393500844055270891104500D+00, & 0.1977590501629603151642330D+00, & 0.1561781206604067112364815D+00, & 0.1146180742271483316267615D+00, & 0.7311308274978660184520447D-01, & 0.3185176130791400787169333D-01 /) real ( kind = rk ) :: OddThetaZero38(38) = (/ & 0.1530260491394766313570510D+01, & 0.1489724658775115137266557D+01, & 0.1449188831753177403184250D+01, & 0.1408653013220734918131897D+01, & 0.1368117206184034069757975D+01, & 0.1327581413807020172726043D+01, & 0.1287045639459248683416470D+01, & 0.1246509886770075360771330D+01, & 0.1205974159691064843702080D+01, & 0.1165438462569017837684371D+01, & 0.1124902800232641860108690D+01, & 0.1084367178096737546333982D+01, & 0.1043831602288925654461738D+01, & 0.1003296079805520648394589D+01, & 0.9627606187053432591598275D+00, & 0.9222252283533212928777294D+00, & 0.8816899197300536544215117D+00, & 0.8411547058297167490229198D+00, & 0.8006196021777239861105672D+00, & 0.7600846275129127849719743D+00, & 0.7195498046991648764002008D+00, & 0.6790151619622966197448464D+00, & 0.6384807345966275863946969D+00, & 0.5979465673637771458800754D+00, & 0.5574127179353942966481713D+00, & 0.5168792619515766918187819D+00, & 0.4763463006547495614450433D+00, & 0.4358139727703203523144583D+00, & 0.3952824736706231680817472D+00, & 0.3547520876199503791717895D+00, & 0.3142232448436673832093046D+00, & 0.2736966289659020439688229D+00, & 0.2331733955144496369946707D+00, & 0.1926556629116315949109922D+00, & 0.1521477743835989472840536D+00, & 0.1116602300918232453371161D+00, & 0.7122632005925390425640031D-01, & 0.3102979192734513847869512D-01 /) real ( kind = rk ) :: OddThetaZero39(39) = (/ & 0.1531280219945530918862887D+01, & 0.1491764115543711582608611D+01, & 0.1452248016067723206269747D+01, & 0.1412731924058150689920340D+01, & 0.1373215842151127100608219D+01, & 0.1333699773114208203180680D+01, & 0.1294183719885939986844436D+01, & 0.1254667685620366764206205D+01, & 0.1215151673737978313041594D+01, & 0.1175635687984935008823566D+01, & 0.1136119732502868295328130D+01, & 0.1096603811912170337964094D+01, & 0.1057087931412518476253055D+01, & 0.1017572096905509113863513D+01, & 0.9780563151458206514020694D+00, & 0.9385405939294598498464432D+00, & 0.8990249423306286659734381D+00, & 0.8595093710029676968794279D+00, & 0.8199938925669823205931282D+00, & 0.7804785221142635001130339D+00, & 0.7409632778721439753645470D+00, & 0.7014481820920565808095373D+00, & 0.6619332622550151160558599D+00, & 0.6224185527349885679868616D+00, & 0.5829040971371158016902326D+00, & 0.5433899516536147244946347D+00, & 0.5038761899947552937603140D+00, & 0.4643629108305196256509391D+00, & 0.4248502493722176391609139D+00, & 0.3853383960541810555628366D+00, & 0.3458276279674767760058527D+00, & 0.3063183644932167228808922D+00, & 0.2668112720373341483108662D+00, & 0.2273074770384765519559169D+00, & 0.1878090446069578429818381D+00, & 0.1483202086882449059764783D+00, & 0.1088512052741322662621244D+00, & 0.6943448689600673838300180D-01, & 0.3024917865720923179577363D-01 /) real ( kind = rk ) :: OddThetaZero40(40) = (/ & 0.1532249903371281818085917D+01, & 0.1493703482108998740614827D+01, & 0.1455157065195200346809599D+01, & 0.1416610654869340270223431D+01, & 0.1378064253450997606022340D+01, & 0.1339517863369794055919890D+01, & 0.1300971487198245305453001D+01, & 0.1262425127688525048786896D+01, & 0.1223878787814308166546501D+01, & 0.1185332470819113339105535D+01, & 0.1146786180272904774996439D+01, & 0.1108239920139165765487189D+01, & 0.1069693694855262920629379D+01, & 0.1031147509429735196850587D+01, & 0.9926013695612463310882198D+00, & 0.9540552817854489715123326D+00, & 0.9155092536580933534978986D+00, & 0.8769632939856246206308699D+00, & 0.8384174131186299393233148D+00, & 0.7998716233293992826192237D+00, & 0.7613259393034545837300323D+00, & 0.7227803787876118667749166D+00, & 0.6842349634562860931661901D+00, & 0.6456897200871628101751519D+00, & 0.6071446821835496233813653D+00, & 0.5685998922550279415939221D+00, & 0.5300554050908430047380815D+00, & 0.4915112925697217767572364D+00, & 0.4529676509187802579380104D+00, & 0.4144246120108054286121629D+00, & 0.3758823615873930314093573D+00, & 0.3373411699211847213003570D+00, & 0.2988014460838619282843952D+00, & 0.2602638401106843145315994D+00, & 0.2217294507811754336425535D+00, & 0.1832002925124018168986342D+00, & 0.1446804953347050655563166D+00, & 0.1061800440374660771048480D+00, & 0.6773059476567831336488402D-01, & 0.2950687695527422224851832D-01 /) real ( kind = rk ) :: OddThetaZero41(41) = (/ & 0.1533173137460634461235066D+01, & 0.1495549950040734249895393D+01, & 0.1457926766471340970762709D+01, & 0.1420303588732694442267846D+01, & 0.1382680418872520759663065D+01, & 0.1345057259031099988676433D+01, & 0.1307434111468678960501903D+01, & 0.1269810978596001635506341D+01, & 0.1232187863008871596257323D+01, & 0.1194564767527851916244615D+01, & 0.1156941695244461089553108D+01, & 0.1119318649575559636172662D+01, & 0.1081695634328067979412755D+01, & 0.1044072653776750930510111D+01, & 0.1006449712758602402124214D+01, & 0.9688268167884441336521039D+00, & 0.9312039722018274751677424D+00, & 0.8935811863333633591901354D+00, & 0.8559584677414483220357356D+00, & 0.8183358264943738874932307D+00, & 0.7807132745385688213392421D+00, & 0.7430908261781095392995681D+00, & 0.7054684987070400358784448D+00, & 0.6678463132547297820965882D+00, & 0.6302242959332082940279826D+00, & 0.5926024794204980683238426D+00, & 0.5549809051864955237054951D+00, & 0.5173596266878257139037738D+00, & 0.4797387140623364241772428D+00, & 0.4421182612140318859822955D+00, & 0.4044983968396638104610711D+00, & 0.3668793022152994411560368D+00, & 0.3292612411240570212440856D+00, & 0.2916446128242035199998930D+00, & 0.2540300517665934607689814D+00, & 0.2164186303985620085027010D+00, & 0.1788123148742007754778852D+00, & 0.1412151362884411752920148D+00, & 0.1036368402634645114775150D+00, & 0.6610832470916409695729856D-01, & 0.2880013396280840229218334D-01 /) real ( kind = rk ) :: OddThetaZero42(42) = (/ & 0.1534053181584449084854269D+01, & 0.1497310038074501005766978D+01, & 0.1460566897984002644464183D+01, & 0.1423823763069232867789940D+01, & 0.1387080635143547965139117D+01, & 0.1350337516098480646600889D+01, & 0.1313594407926723776707731D+01, & 0.1276851312747612578778902D+01, & 0.1240108232835827171448969D+01, & 0.1203365170654181674634873D+01, & 0.1166622128891556900019450D+01, & 0.1129879110507284864268762D+01, & 0.1093136118783624474731954D+01, & 0.1056393157388405786003046D+01, & 0.1019650230450503114577901D+01, & 0.9829073426515786199715451D+00, & 0.9461644993385942743541994D+00, & 0.9094217066630320811486021D+00, & 0.8726789717547518480094350D+00, & 0.8359363029411928866147184D+00, & 0.7991937100265521402467844D+00, & 0.7624512046511992388808212D+00, & 0.7257088007597790982554974D+00, & 0.6889665152185689899094400D+00, & 0.6522243686409073299342467D+00, & 0.6154823865075504175164916D+00, & 0.5787406007128420496638175D+00, & 0.5419990517384125648087865D+00, & 0.5052577917731960988645056D+00, & 0.4685168892980173635234519D+00, & 0.4317764360047099160222576D+00, & 0.3950365575646972937604113D+00, & 0.3582974309994310205507555D+00, & 0.3215593139080007759227897D+00, & 0.2848225961961619069649047D+00, & 0.2480878974611689122432227D+00, & 0.2113562650517154915467591D+00, & 0.1746296191183898065201571D+00, & 0.1379118964507339113271975D+00, & 0.1012126146941469342401701D+00, & 0.6456194899726137278760257D-01, & 0.2812645439079299219187419D-01 /) real ( kind = rk ) :: OddThetaZero43(43) = (/ & 0.1534892997139557227614279D+01, & 0.1498989668998897501276994D+01, & 0.1463086343903285773505644D+01, & 0.1427183023414814244376429D+01, & 0.1391279709144040438287602D+01, & 0.1355376402767821814937864D+01, & 0.1319473106048673173924451D+01, & 0.1283569820856137399848247D+01, & 0.1247666549190742942502495D+01, & 0.1211763293211231530413995D+01, & 0.1175860055265884319525693D+01, & 0.1139956837928964066704190D+01, & 0.1104053644043538840797350D+01, & 0.1068150476772278342447444D+01, & 0.1032247339658243608912598D+01, & 0.9963442366982618328585493D+00, & 0.9604411724322426430586723D+00, & 0.9245381520528253319358567D+00, & 0.8886351815411563067305273D+00, & 0.8527322678365406966379400D+00, & 0.8168294190504262166761188D+00, & 0.7809266447390142664026016D+00, & 0.7450239562542930157586944D+00, & 0.7091213672012904985883029D+00, & 0.6732188940411854039055226D+00, & 0.6373165568977466866717861D+00, & 0.6014143806519714388063208D+00, & 0.5655123964528129857845238D+00, & 0.5296106438411039715966193D+00, & 0.4937091737981756577948229D+00, & 0.4578080532255782153525438D+00, & 0.4219073717059785387344039D+00, & 0.3860072520255396095683859D+00, & 0.3501078671472635990145335D+00, & 0.3142094687704932495909488D+00, & 0.2783124378775218384923333D+00, & 0.2424173798924625361874772D+00, & 0.2065253182141071551836492D+00, & 0.1706381290938671641708352D+00, & 0.1347596593282315198612592D+00, & 0.9889920900871122533586553D-01, & 0.6308626356388784057588631D-01, & 0.2748357108440508277394892D-01 /) real ( kind = rk ) :: OddThetaZero44(44) = (/ & 0.1535695280838629983064694D+01, & 0.1500594236235067817656313D+01, & 0.1465493194350303789230585D+01, & 0.1430392156577492526495371D+01, & 0.1395291124351096810858349D+01, & 0.1360190099162024176252063D+01, & 0.1325089082574000089379322D+01, & 0.1289988076241572027256558D+01, & 0.1254887081930202663795858D+01, & 0.1219786101538994920367859D+01, & 0.1184685137126702182946916D+01, & 0.1149584190941820846004092D+01, & 0.1114483265457749469332035D+01, & 0.1079382363414242848588494D+01, & 0.1044281487866708939888712D+01, & 0.1009180642245317812316634D+01, & 0.9740798304264509422659935D+00, & 0.9389790568197674899837757D+00, & 0.9038783264751749171405213D+00, & 0.8687776452153701566068907D+00, & 0.8336770198015192229270720D+00, & 0.7985764581422970742698971D+00, & 0.7634759695602610192254430D+00, & 0.7283755651349081311799055D+00, & 0.6932752581495918103871962D+00, & 0.6581750646810479477537782D+00, & 0.6230750043877162525265513D+00, & 0.5879751015798285374141491D+00, & 0.5528753866962970290878822D+00, & 0.5177758983811020490994086D+00, & 0.4826766864637186565865902D+00, & 0.4475778163386701445336738D+00, & 0.4124793755752883735361361D+00, & 0.3773814842049053432591527D+00, & 0.3422843113148581639684411D+00, & 0.3071881029697497767338606D+00, & 0.2720932316284942932084102D+00, & 0.2370002891767127567222407D+00, & 0.2019102761348421810146637D+00, & 0.1668250268181992892198073D+00, & 0.1317483020532982541977987D+00, & 0.9668919410176593344830717D-01, & 0.6167652949817792358742135D-01, & 0.2686941953400762687915995D-01 /) real ( kind = rk ) :: OddThetaZero45(45) = (/ & 0.1536462493634653558154673D+01, & 0.1502128661685489464262068D+01, & 0.1467794832169950298839286D+01, & 0.1433461006333747476463744D+01, & 0.1399127185457927306909792D+01, & 0.1364793370871767472755746D+01, & 0.1330459563966682507229700D+01, & 0.1296125766211456950047804D+01, & 0.1261791979169174443914592D+01, & 0.1227458204516276373551266D+01, & 0.1193124444064268679881601D+01, & 0.1158790699784705540565424D+01, & 0.1124456973838220917338613D+01, & 0.1090123268608563332983681D+01, & 0.1055789586742829027889885D+01, & 0.1021455931199402224481903D+01, & 0.9871223053055240306873772D+00, & 0.9527887128269590857605072D+00, & 0.9184551580529615732874848D+00, & 0.8841216459007313197085517D+00, & 0.8497881820448998068986446D+00, & 0.8154547730794463756650640D+00, & 0.7811214267220410983907210D+00, & 0.7467881520744805288579630D+00, & 0.7124549599581423848996086D+00, & 0.6781218633510390484774053D+00, & 0.6437888779643722276961833D+00, & 0.6094560230135452763170614D+00, & 0.5751233222647905281576305D+00, & 0.5407908054797110156395425D+00, & 0.5064585104462232763044121D+00, & 0.4721264858937837018545325D+00, & 0.4377947957771643018072936D+00, & 0.4034635257416918872885646D+00, & 0.3691327931855416440777167D+00, & 0.3348027634909946151567752D+00, & 0.3004736773353657517478163D+00, & 0.2661458990278703974149616D+00, & 0.2318200075085118064771005D+00, & 0.1974969814205034596217949D+00, & 0.1631786149772797106698111D+00, & 0.1288685867945150272796250D+00, & 0.9457579039019365184018477D-01, & 0.6032842220945916819748797D-01, & 0.2628211572883546008386342D-01 /) real ( kind = rk ) :: OddThetaZero46(46) = (/ & 0.1537196885933572311910085D+01, & 0.1503597446159129663218426D+01, & 0.1469998008568304160871417D+01, & 0.1436398574277729377094190D+01, & 0.1402799144434368418084898D+01, & 0.1369199720226542342210552D+01, & 0.1335600302895785666466344D+01, & 0.1302000893749787833197270D+01, & 0.1268401494176718217187838D+01, & 0.1234802105661283063077015D+01, & 0.1201202729802928570677208D+01, & 0.1167603368336689119731474D+01, & 0.1134004023157288628212183D+01, & 0.1100404696347243386055709D+01, & 0.1066805390209896030700280D+01, & 0.1033206107308545748870827D+01, & 0.9996068505131472996246808D+00, & 0.9660076230564559666956844D+00, & 0.9324084286020318648375284D+00, & 0.8988092713272342656758064D+00, & 0.8652101560253048754543914D+00, & 0.8316110882319595313175680D+00, & 0.7980120743837286767240920D+00, & 0.7644131220178278512956878D+00, & 0.7308142400269308414762795D+00, & 0.6972154389873656296775555D+00, & 0.6636167315867435235683334D+00, & 0.6300181331881122315700717D+00, & 0.5964196625844131090385918D+00, & 0.5628213430226633060114218D+00, & 0.5292232036175455988770345D+00, & 0.4956252813388603291268380D+00, & 0.4620276238643496856689332D+00, & 0.4284302937718012609061760D+00, & 0.3948333748659561479104270D+00, & 0.3612369820255324850503899D+00, & 0.3276412770872600895283016D+00, & 0.2940464955725917238672137D+00, & 0.2604529939906062681054034D+00, & 0.2268613388903867245835696D+00, & 0.1932724879746856807613294D+00, & 0.1596881970714452359218090D+00, & 0.1261120661032951679792394D+00, & 0.9255279834764232165670211D-01, & 0.5903798711627596210077655D-01, & 0.2571993685288741305807485D-01 /) real ( kind = rk ) :: OddThetaZero47(47) = (/ & 0.1537900519639177351485509D+01, & 0.1505004713461118831562885D+01, & 0.1472108909246876714959093D+01, & 0.1439213107999753788389740D+01, & 0.1406317310749171844429399D+01, & 0.1373421518560135827011261D+01, & 0.1340525732543378926238078D+01, & 0.1307629953866399941713193D+01, & 0.1274734183765634621652739D+01, & 0.1241838423560042429086765D+01, & 0.1208942674666441461574345D+01, & 0.1176046938616989970936899D+01, & 0.1143151217079296988032361D+01, & 0.1110255511879752164142939D+01, & 0.1077359825030803093319347D+01, & 0.1044464158763086533573607D+01, & 0.1011568515563550961534623D+01, & 0.9786728982210094134846821D+00, & 0.9457773098809579873452675D+00, & 0.9128817541120207886160886D+00, & 0.8799862349870845994262022D+00, & 0.8470907571831347751008168D+00, & 0.8141953261050969543263697D+00, & 0.7812999480407721032432037D+00, & 0.7484046303564402266425896D+00, & 0.7155093817462244075628281D+00, & 0.6826142125533466396520346D+00, & 0.6497191351887403950357432D+00, & 0.6168241646833332909207560D+00, & 0.5839293194266532352434130D+00, & 0.5510346221695150324949297D+00, & 0.5181401014079633610544426D+00, & 0.4852457933290632607369490D+00, & 0.4523517446039431388003505D+00, & 0.4194580164920722423612656D+00, & 0.3865646910356375140534892D+00, & 0.3536718807003189971969294D+00, & 0.3207797439266498255416416D+00, & 0.2878885112969848452450724D+00, & 0.2549985318477515756044100D+00, & 0.2221103602568508117102717D+00, & 0.1892249341643785313168465D+00, & 0.1563439726212394862316010D+00, & 0.1234710001537068179882843D+00, & 0.9061453776736619019094845D-01, & 0.5780160090309369034797044D-01, & 0.2518130440638251656980999D-01 /) real ( kind = rk ) :: OddThetaZero48(48) = (/ & 0.1538575287485045780713568D+01, & 0.1506354249056545799167351D+01, & 0.1474133212398093554231315D+01, & 0.1441912178413208451704314D+01, & 0.1409691148027973881079186D+01, & 0.1377470122199186272616473D+01, & 0.1345249101923067139210221D+01, & 0.1313028088244711409410919D+01, & 0.1280807082268469343020428D+01, & 0.1248586085169490583375238D+01, & 0.1216365098206699074213627D+01, & 0.1184144122737518830558069D+01, & 0.1151923160234735793613503D+01, & 0.1119702212305964062886069D+01, & 0.1087481280716290811591462D+01, & 0.1055260367414810028339009D+01, & 0.1023039474565930165787482D+01, & 0.9908186045865674272211987D+00, & 0.9585977601906320722299056D+00, & 0.9263769444426036830464570D+00, & 0.8941561608225061952846411D+00, & 0.8619354133052817812042663D+00, & 0.8297147064584916186566054D+00, & 0.7974940455635382827549679D+00, & 0.7652734367673509855003551D+00, & 0.7330528872739117793257283D+00, & 0.7008324055884451343305450D+00, & 0.6686120018320298047193041D+00, & 0.6363916881515750209117372D+00, & 0.6041714792607289968809847D+00, & 0.5719513931632926368357825D+00, & 0.5397314521353000325496229D+00, & 0.5075116840805377280486923D+00, & 0.4752921244363891783961832D+00, & 0.4430728189095547215892704D+00, & 0.4108538274961112658763390D+00, & 0.3786352305487998074788803D+00, & 0.3464171382200184643128623D+00, & 0.3141997056941599156198233D+00, & 0.2819831588178046655599196D+00, & 0.2497678394619649260592757D+00, & 0.2175542909210219972765731D+00, & 0.1853434315961135904158300D+00, & 0.1531369452704970394027659D+00, & 0.1209382841678252589048669D+00, & 0.8875579450016283173293810D-01, & 0.5661593754525190873771522D-01, & 0.2466476940450737058975552D-01 /) real ( kind = rk ) :: OddThetaZero49(49) = (/ & 0.1539222930035210331902410D+01, & 0.1507649534071729882214386D+01, & 0.1476076139707032453353232D+01, & 0.1444502747756546556830706D+01, & 0.1412929359055252480197337D+01, & 0.1381355974464721552102928D+01, & 0.1349782594880622732927647D+01, & 0.1318209221240839295255046D+01, & 0.1286635854534357387243172D+01, & 0.1255062495811112994872428D+01, & 0.1223489146193015470717893D+01, & 0.1191915806886406014313715D+01, & 0.1160342479196260434661502D+01, & 0.1128769164542510055952304D+01, & 0.1097195864478936528824546D+01, & 0.1065622580715200621234508D+01, & 0.1034049315142698534418744D+01, & 0.1002476069865111021377467D+01, & 0.9709028472347329448081481D+00, & 0.9393296498959608456620406D+00, & 0.9077564808376970380335442D+00, & 0.8761833434569334264096395D+00, & 0.8446102416364528348063321D+00, & 0.8130371798404960344077378D+00, & 0.7814641632334840064334645D+00, & 0.7498911978285964532098456D+00, & 0.7183182906753955596314298D+00, & 0.6867454500990591398232408D+00, & 0.6551726860086246453663390D+00, & 0.6236000102986843027011345D+00, & 0.5920274373793840619034224D+00, & 0.5604549848852622707385612D+00, & 0.5288826746375584896948472D+00, & 0.4973105339724571989307663D+00, & 0.4657385976085971045914307D+00, & 0.4341669103277770901346174D+00, & 0.4025955309141879357899857D+00, & 0.3710245380997234377015025D+00, & 0.3394540398171456073906403D+00, & 0.3078841881262277508367562D+00, & 0.2763152043287541015913350D+00, & 0.2447474234189502677044064D+00, & 0.2131813777658572006989977D+00, & 0.1816179673056091210434906D+00, & 0.1500588419721174291665790D+00, & 0.1185073845935281602210493D+00, & 0.8697177361567243680812898D-01, & 0.5547793843128156580348541D-01, & 0.2416899936118312040170588D-01 /) integer k integer kcopy integer l integer lhalf real ( kind = rk ), parameter :: r8_pi = 3.141592653589793238463D+00 real ( kind = rk ) theta if ( l < 1 .or. 100 < l ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'LEGENDRE_THETA - Fatal error!' write ( *, '(a)' ) ' 1 <= L <= 100 is required.' stop 1 end if lhalf = ( l + 1 ) / 2 if ( mod ( l, 2 ) == 1 ) then if ( lhalf < k ) then kcopy = k - lhalf else if ( lhalf == k ) then kcopy = lhalf else kcopy = lhalf - k end if else if ( lhalf < k ) then kcopy = k - lhalf else kcopy = lhalf + 1 - k end if end if if ( kcopy < 1 .or. lhalf < kcopy ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'LEGENDRE_THETA - Fatal error!' write ( *, '(a)' ) ' 1 <= K <= (L+1)/2 is required.' stop 1 end if ! ! If L is odd, and K = ( L - 1 ) / 2, then it's easy. ! if ( mod ( l, 2 ) == 1 .and. kcopy == lhalf ) then theta = r8_pi / 2.0D+00 else if ( l == 2 ) then theta = EvenThetaZero1(kcopy) else if ( l == 3 ) then theta = OddThetaZero1(kcopy) else if ( l == 4 ) then theta = EvenThetaZero2(kcopy) else if ( l == 5 ) then theta = OddThetaZero2(kcopy) else if ( l == 6 ) then theta = EvenThetaZero3(kcopy) else if ( l == 7 ) then theta = OddThetaZero3(kcopy) else if ( l == 8 ) then theta = EvenThetaZero4(kcopy) else if ( l == 9 ) then theta = OddThetaZero4(kcopy) else if ( l == 10 ) then theta = EvenThetaZero5(kcopy) else if ( l == 11 ) then theta = OddThetaZero5(kcopy) else if ( l == 12 ) then theta = EvenThetaZero6(kcopy) else if ( l == 13 ) then theta = OddThetaZero6(kcopy) else if ( l == 14 ) then theta = EvenThetaZero7(kcopy) else if ( l == 15 ) then theta = OddThetaZero7(kcopy) else if ( l == 16 ) then theta = EvenThetaZero8(kcopy) else if ( l == 17 ) then theta = OddThetaZero8(kcopy) else if ( l == 18 ) then theta = EvenThetaZero9(kcopy) else if ( l == 19 ) then theta = OddThetaZero9(kcopy) else if ( l == 20 ) then theta = EvenThetaZero10(kcopy) else if ( l == 21 ) then theta = OddThetaZero10(kcopy) else if ( l == 22 ) then theta = EvenThetaZero11(kcopy) else if ( l == 23 ) then theta = OddThetaZero11(kcopy) else if ( l == 24 ) then theta = EvenThetaZero12(kcopy) else if ( l == 25 ) then theta = OddThetaZero12(kcopy) else if ( l == 26 ) then theta = EvenThetaZero13(kcopy) else if ( l == 27 ) then theta = OddThetaZero13(kcopy) else if ( l == 28 ) then theta = EvenThetaZero14(kcopy) else if ( l == 29 ) then theta = OddThetaZero14(kcopy) else if ( l == 30 ) then theta = EvenThetaZero15(kcopy) else if ( l == 31 ) then theta = OddThetaZero15(kcopy) else if ( l == 32 ) then theta = EvenThetaZero16(kcopy) else if ( l == 33 ) then theta = OddThetaZero16(kcopy) else if ( l == 34 ) then theta = EvenThetaZero17(kcopy) else if ( l == 35 ) then theta = OddThetaZero17(kcopy) else if ( l == 36 ) then theta = EvenThetaZero18(kcopy) else if ( l == 37 ) then theta = OddThetaZero18(kcopy) else if ( l == 38 ) then theta = EvenThetaZero19(kcopy) else if ( l == 39 ) then theta = OddThetaZero19(kcopy) else if ( l == 40 ) then theta = EvenThetaZero20(kcopy) else if ( l == 41 ) then theta = OddThetaZero20(kcopy) else if ( l == 42 ) then theta = EvenThetaZero21(kcopy) else if ( l == 43 ) then theta = OddThetaZero21(kcopy) else if ( l == 44 ) then theta = EvenThetaZero22(kcopy) else if ( l == 45 ) then theta = OddThetaZero22(kcopy) else if ( l == 46 ) then theta = EvenThetaZero23(kcopy) else if ( l == 47 ) then theta = OddThetaZero23(kcopy) else if ( l == 48 ) then theta = EvenThetaZero24(kcopy) else if ( l == 49 ) then theta = OddThetaZero24(kcopy) else if ( l == 50 ) then theta = EvenThetaZero25(kcopy) else if ( l == 51 ) then theta = OddThetaZero25(kcopy) else if ( l == 52 ) then theta = EvenThetaZero26(kcopy) else if ( l == 53 ) then theta = OddThetaZero26(kcopy) else if ( l == 54 ) then theta = EvenThetaZero27(kcopy) else if ( l == 55 ) then theta = OddThetaZero27(kcopy) else if ( l == 56 ) then theta = EvenThetaZero28(kcopy) else if ( l == 57 ) then theta = OddThetaZero28(kcopy) else if ( l == 58 ) then theta = EvenThetaZero29(kcopy) else if ( l == 59 ) then theta = OddThetaZero29(kcopy) else if ( l == 60 ) then theta = EvenThetaZero30(kcopy) else if ( l == 61 ) then theta = OddThetaZero30(kcopy) else if ( l == 62 ) then theta = EvenThetaZero31(kcopy) else if ( l == 63 ) then theta = OddThetaZero31(kcopy) else if ( l == 64 ) then theta = EvenThetaZero32(kcopy) else if ( l == 65 ) then theta = OddThetaZero32(kcopy) else if ( l == 66 ) then theta = EvenThetaZero33(kcopy) else if ( l == 67 ) then theta = OddThetaZero33(kcopy) else if ( l == 68 ) then theta = EvenThetaZero34(kcopy) else if ( l == 69 ) then theta = OddThetaZero34(kcopy) else if ( l == 70 ) then theta = EvenThetaZero35(kcopy) else if ( l == 71 ) then theta = OddThetaZero35(kcopy) else if ( l == 72 ) then theta = EvenThetaZero36(kcopy) else if ( l == 73 ) then theta = OddThetaZero36(kcopy) else if ( l == 74 ) then theta = EvenThetaZero37(kcopy) else if ( l == 75 ) then theta = OddThetaZero37(kcopy) else if ( l == 76 ) then theta = EvenThetaZero38(kcopy) else if ( l == 77 ) then theta = OddThetaZero38(kcopy) else if ( l == 78 ) then theta = EvenThetaZero39(kcopy) else if ( l == 79 ) then theta = OddThetaZero39(kcopy) else if ( l == 80 ) then theta = EvenThetaZero40(kcopy) else if ( l == 81 ) then theta = OddThetaZero40(kcopy) else if ( l == 82 ) then theta = EvenThetaZero41(kcopy) else if ( l == 83 ) then theta = OddThetaZero41(kcopy) else if ( l == 84 ) then theta = EvenThetaZero42(kcopy) else if ( l == 85 ) then theta = OddThetaZero42(kcopy) else if ( l == 86 ) then theta = EvenThetaZero43(kcopy) else if ( l == 87 ) then theta = OddThetaZero43(kcopy) else if ( l == 88 ) then theta = EvenThetaZero44(kcopy) else if ( l == 89 ) then theta = OddThetaZero44(kcopy) else if ( l == 90 ) then theta = EvenThetaZero45(kcopy) else if ( l == 91 ) then theta = OddThetaZero45(kcopy) else if ( l == 92 ) then theta = EvenThetaZero46(kcopy) else if ( l == 93 ) then theta = OddThetaZero46(kcopy) else if ( l == 94 ) then theta = EvenThetaZero47(kcopy) else if ( l == 95 ) then theta = OddThetaZero47(kcopy) else if ( l == 96 ) then theta = EvenThetaZero48(kcopy) else if ( l == 97 ) then theta = OddThetaZero48(kcopy) else if ( l == 98 ) then theta = EvenThetaZero49(kcopy) else if ( l == 99 ) then theta = OddThetaZero49(kcopy) else if ( l == 100 ) then theta = EvenThetaZero50(kcopy) end if if ( ( 2 * k - 1 ) <= l ) then theta = r8_pi - theta end if return end subroutine legendre_weight ( l, k, weight ) !*****************************************************************************80 ! !! LEGENDRE_WEIGHT returns the K-th weight in an L-point Legendre rule. ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 05 January 2016 ! ! Author: ! ! Original C++ version by Ignace Bogaert. ! This FORTRAN90 version by John Burkardt. ! ! Reference: ! ! Ignace Bogaert, ! Iteration-free computation of Gauss-Legendre quadrature nodes and weights, ! SIAM Journal on Scientific Computing, ! Volume 36, Number 3, 2014, pages A1008-1026. ! ! Parameters: ! ! Input, integer L, the number of points in the given rule. ! 1 <= L. ! ! Input, integer K, the index of the point to be returned. ! 1 <= K <= L. ! ! Output, real ( kind = rk ) WEIGHT, the weight of the point. ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) real ( kind = rk ) :: cl(0:100) = (/ & 1.0D+00, & 1.0D+00, & -0.5000000000000000000000000D+00, & -0.1500000000000000000000000D+01, & 0.3750000000000000000000000D+00, & 0.1875000000000000000000000D+01, & -0.3125000000000000000000000D+00, & -0.2187500000000000000000000D+01, & 0.2734375000000000000000000D+00, & 0.2460937500000000000000000D+01, & -0.2460937500000000000000000D+00, & -0.2707031250000000000000000D+01, & 0.2255859375000000000000000D+00, & 0.2932617187500000000000000D+01, & -0.2094726562500000000000000D+00, & -0.3142089843750000000000000D+01, & 0.1963806152343750000000000D+00, & 0.3338470458984375000000000D+01, & -0.1854705810546875000000000D+00, & -0.3523941040039062500000000D+01, & 0.1761970520019531250000000D+00, & 0.3700138092041015625000000D+01, & -0.1681880950927734375000000D+00, & -0.3868326187133789062500000D+01, & 0.1611802577972412109375000D+00, & 0.4029506444931030273437500D+01, & -0.1549810171127319335937500D+00, & -0.4184487462043762207031250D+01, & 0.1494459807872772216796875D+00, & 0.4333933442831039428710938D+01, & -0.1444644480943679809570312D+00, & -0.4478397890925407409667969D+01, & 0.1399499340914189815521240D+00, & 0.4618347825016826391220093D+01, & -0.1358337595593184232711792D+00, & -0.4754181584576144814491272D+01, & 0.1320605995715595781803131D+00, & 0.4886242184147704392671585D+01, & -0.1285853206354659050703049D+00, & -0.5014827504783170297741890D+01, & 0.1253706876195792574435472D+00, & 0.5140198192402749555185437D+01, & -0.1223856712476845132187009D+00, & -0.5262583863650434068404138D+01, & 0.1196041787193280470091850D+00, & 0.5382188042369762115413323D+01, & -0.1170040878776035242481157D+00, & -0.5499192130247365639661439D+01, & 0.1145665027134867841596133D+00, & 0.5613758632960852423821052D+01, & -0.1122751726592170484764210D+00, & -0.5726033805620069472297473D+01, & 0.1101160347234628744672591D+00, & 0.5836149840343532346764732D+01, & -0.1080768488952505990141617D+00, & -0.5944226689238782945778894D+01, & 0.1061469051649782668889088D+00, & 0.6050373594403761212667803D+01, & -0.1043167861104096760804794D+00, & -0.6154690380514170888748282D+01, & 0.1025781730085695148124714D+00, & 0.6257268553522740403560753D+01, & -0.1009236863471409742509799D+00, & -0.6358192239869881377811733D+01, & 0.9934675374796689652830833D-01, & 0.6457538993617848274340042D+01, & -0.9784149990330073142939457D-01, & -0.6555380493521149005769436D+01, & 0.9640265431648748537896230D-01, & 0.6651783147837636491148399D+01, & -0.9502547354053766415926284D-01, & -0.6746808621378174155307661D+01, & 0.9370567529691908549038419D-01, & 0.6840514296675093240798046D+01, & -0.9243938238750126001078440D-01, & -0.6932953679062594500808830D+01, & 0.9122307472450782237906355D-01, & 0.7024176753787102323187894D+01, & -0.9005354812547567081010120D-01, & -0.7114230301912577993997995D+01, & 0.8892787877390722492497493D-01, & 0.7203158180686485218922970D+01, & -0.8784339244739616120637768D-01, & -0.7291001573133881380129347D+01, & 0.8679763777540334976344461D-01, & 0.7377799210909284729892792D+01, & -0.8578836291754982244061386D-01, & -0.7463587573826834552333406D+01, & 0.8481349515712311991287961D-01, & 0.7548401068983957672246285D+01, & -0.8387112298871064080273650D-01, & -0.7632272191972668313049022D+01, & 0.8295948034752900340270676D-01, & 0.7715231672320197316451729D+01, & -0.8207693268425741826012477D-01, & -0.7797308605004454734711853D+01, & 0.8122196463546307015324847D-01, & 0.7878530569639917804865102D+01, & -0.8039316907795834494760308D-01, & -0.7958923738717876149812705D+01, & 0.7958923738717876149812705D-01 /) real ( kind = rk ) :: EvenW1(1) = (/ & 1.0D+00 /) real ( kind = rk ) :: EvenW2(2) = (/ & 0.6521451548625461426269364D+00, & 0.3478548451374538573730642D+00 /) real ( kind = rk ) :: EvenW3(3) = (/ & 0.4679139345726910473898704D+00, & 0.3607615730481386075698336D+00, & 0.1713244923791703450402969D+00 /) real ( kind = rk ) :: EvenW4(4) = (/ & 0.3626837833783619829651504D+00, & 0.3137066458778872873379622D+00, & 0.2223810344533744705443556D+00, & 0.1012285362903762591525320D+00 /) real ( kind = rk ) :: EvenW5(5) = (/ & 0.2955242247147528701738930D+00, & 0.2692667193099963550912268D+00, & 0.2190863625159820439955350D+00, & 0.1494513491505805931457764D+00, & 0.6667134430868813759356850D-01 /) real ( kind = rk ) :: EvenW6(6) = (/ & 0.2491470458134027850005624D+00, & 0.2334925365383548087608498D+00, & 0.2031674267230659217490644D+00, & 0.1600783285433462263346522D+00, & 0.1069393259953184309602552D+00, & 0.4717533638651182719461626D-01 /) real ( kind = rk ) :: EvenW7(7) = (/ & 0.2152638534631577901958766D+00, & 0.2051984637212956039659240D+00, & 0.1855383974779378137417164D+00, & 0.1572031671581935345696019D+00, & 0.1215185706879031846894145D+00, & 0.8015808715976020980563266D-01, & 0.3511946033175186303183410D-01 /) real ( kind = rk ) :: EvenW8(8) = (/ & 0.1894506104550684962853967D+00, & 0.1826034150449235888667636D+00, & 0.1691565193950025381893119D+00, & 0.1495959888165767320815019D+00, & 0.1246289712555338720524763D+00, & 0.9515851168249278480992520D-01, & 0.6225352393864789286284360D-01, & 0.2715245941175409485178166D-01 /) real ( kind = rk ) :: EvenW9(9) = (/ & 0.1691423829631435918406565D+00, & 0.1642764837458327229860538D+00, & 0.1546846751262652449254180D+00, & 0.1406429146706506512047311D+00, & 0.1225552067114784601845192D+00, & 0.1009420441062871655628144D+00, & 0.7642573025488905652912984D-01, & 0.4971454889496979645333512D-01, & 0.2161601352648331031334248D-01 /) real ( kind = rk ) :: EvenW10(10) = (/ & 0.1527533871307258506980843D+00, & 0.1491729864726037467878288D+00, & 0.1420961093183820513292985D+00, & 0.1316886384491766268984948D+00, & 0.1181945319615184173123774D+00, & 0.1019301198172404350367504D+00, & 0.8327674157670474872475850D-01, & 0.6267204833410906356950596D-01, & 0.4060142980038694133103928D-01, & 0.1761400713915211831186249D-01 /) real ( kind = rk ) :: EvenW11(11) = (/ & 0.1392518728556319933754102D+00, & 0.1365414983460151713525738D+00, & 0.1311735047870623707329649D+00, & 0.1232523768105124242855609D+00, & 0.1129322960805392183934005D+00, & 0.1004141444428809649320786D+00, & 0.8594160621706772741444398D-01, & 0.6979646842452048809496104D-01, & 0.5229333515268328594031142D-01, & 0.3377490158481415479330258D-01, & 0.1462799529827220068498987D-01 /) real ( kind = rk ) :: EvenW12(12) = (/ & 0.1279381953467521569740562D+00, & 0.1258374563468282961213754D+00, & 0.1216704729278033912044631D+00, & 0.1155056680537256013533445D+00, & 0.1074442701159656347825772D+00, & 0.9761865210411388826988072D-01, & 0.8619016153195327591718514D-01, & 0.7334648141108030573403386D-01, & 0.5929858491543678074636724D-01, & 0.4427743881741980616860272D-01, & 0.2853138862893366318130802D-01, & 0.1234122979998719954680507D-01 /) real ( kind = rk ) :: EvenW13(13) = (/ & 0.1183214152792622765163711D+00, & 0.1166604434852965820446624D+00, & 0.1133618165463196665494407D+00, & 0.1084718405285765906565795D+00, & 0.1020591610944254232384142D+00, & 0.9421380035591414846366474D-01, & 0.8504589431348523921044770D-01, & 0.7468414976565974588707538D-01, & 0.6327404632957483553945402D-01, & 0.5097582529714781199831990D-01, & 0.3796238329436276395030342D-01, & 0.2441785109263190878961718D-01, & 0.1055137261734300715565387D-01 /) real ( kind = rk ) :: EvenW14(14) = (/ & 0.1100470130164751962823763D+00, & 0.1087111922582941352535716D+00, & 0.1060557659228464179104165D+00, & 0.1021129675780607698142166D+00, & 0.9693065799792991585048880D-01, & 0.9057174439303284094218612D-01, & 0.8311341722890121839039666D-01, & 0.7464621423456877902393178D-01, & 0.6527292396699959579339794D-01, & 0.5510734567571674543148330D-01, & 0.4427293475900422783958756D-01, & 0.3290142778230437997763004D-01, & 0.2113211259277125975149896D-01, & 0.9124282593094517738816778D-02 /) real ( kind = rk ) :: EvenW15(15) = (/ & 0.1028526528935588403412856D+00, & 0.1017623897484055045964290D+00, & 0.9959342058679526706278018D-01, & 0.9636873717464425963946864D-01, & 0.9212252223778612871763266D-01, & 0.8689978720108297980238752D-01, & 0.8075589522942021535469516D-01, & 0.7375597473770520626824384D-01, & 0.6597422988218049512812820D-01, & 0.5749315621761906648172152D-01, & 0.4840267283059405290293858D-01, & 0.3879919256962704959680230D-01, & 0.2878470788332336934971862D-01, & 0.1846646831109095914230276D-01, & 0.7968192496166605615469690D-02 /) real ( kind = rk ) :: EvenW16(16) = (/ & 0.9654008851472780056676488D-01, & 0.9563872007927485941908208D-01, & 0.9384439908080456563918026D-01, & 0.9117387869576388471286854D-01, & 0.8765209300440381114277140D-01, & 0.8331192422694675522219922D-01, & 0.7819389578707030647174106D-01, & 0.7234579410884850622539954D-01, & 0.6582222277636184683765034D-01, & 0.5868409347853554714528360D-01, & 0.5099805926237617619616316D-01, & 0.4283589802222668065687810D-01, & 0.3427386291302143310268716D-01, & 0.2539206530926205945575196D-01, & 0.1627439473090567060516896D-01, & 0.7018610009470096600404748D-02 /) real ( kind = rk ) :: EvenW17(17) = (/ & 0.9095674033025987361533764D-01, & 0.9020304437064072957394216D-01, & 0.8870189783569386928707642D-01, & 0.8646573974703574978424688D-01, & 0.8351309969984565518702044D-01, & 0.7986844433977184473881888D-01, & 0.7556197466003193127083398D-01, & 0.7062937581425572499903896D-01, & 0.6511152155407641137854442D-01, & 0.5905413582752449319396124D-01, & 0.5250741457267810616824590D-01, & 0.4552561152335327245382266D-01, & 0.3816659379638751632176606D-01, & 0.3049138063844613180944194D-01, & 0.2256372198549497008409476D-01, & 0.1445016274859503541520101D-01, & 0.6229140555908684718603220D-02 /) real ( kind = rk ) :: EvenW18(18) = (/ & 0.8598327567039474749008516D-01, & 0.8534668573933862749185052D-01, & 0.8407821897966193493345756D-01, & 0.8218726670433970951722338D-01, & 0.7968782891207160190872470D-01, & 0.7659841064587067452875784D-01, & 0.7294188500565306135387342D-01, & 0.6874532383573644261368974D-01, & 0.6403979735501548955638454D-01, & 0.5886014424532481730967550D-01, & 0.5324471397775991909202590D-01, & 0.4723508349026597841661708D-01, & 0.4087575092364489547411412D-01, & 0.3421381077030722992124474D-01, & 0.2729862149856877909441690D-01, & 0.2018151529773547153209770D-01, & 0.1291594728406557440450307D-01, & 0.5565719664245045361251818D-02 /) real ( kind = rk ) :: EvenW19(19) = (/ & 0.8152502928038578669921876D-01, & 0.8098249377059710062326952D-01, & 0.7990103324352782158602774D-01, & 0.7828784465821094807537540D-01, & 0.7615366354844639606599344D-01, & 0.7351269258474345714520658D-01, & 0.7038250706689895473928292D-01, & 0.6678393797914041193504612D-01, & 0.6274093339213305405296984D-01, & 0.5828039914699720602230556D-01, & 0.5343201991033231997375704D-01, & 0.4822806186075868337435238D-01, & 0.4270315850467443423587832D-01, & 0.3689408159402473816493978D-01, & 0.3083950054517505465873166D-01, & 0.2457973973823237589520214D-01, & 0.1815657770961323689887502D-01, & 0.1161344471646867417766868D-01, & 0.5002880749639345675901886D-02 /) real ( kind = rk ) :: EvenW20(20) = (/ & 0.7750594797842481126372404D-01, & 0.7703981816424796558830758D-01, & 0.7611036190062624237155810D-01, & 0.7472316905796826420018930D-01, & 0.7288658239580405906051074D-01, & 0.7061164739128677969548346D-01, & 0.6791204581523390382569024D-01, & 0.6480401345660103807455446D-01, & 0.6130624249292893916653822D-01, & 0.5743976909939155136661768D-01, & 0.5322784698393682435499678D-01, & 0.4869580763507223206143380D-01, & 0.4387090818567327199167442D-01, & 0.3878216797447201763997196D-01, & 0.3346019528254784739267780D-01, & 0.2793700698002340109848970D-01, & 0.2224584919416695726150432D-01, & 0.1642105838190788871286396D-01, & 0.1049828453115281361474434D-01, & 0.4521277098533191258471490D-02 /) real ( kind = rk ) :: EvenW21(21) = (/ & 0.7386423423217287999638556D-01, & 0.7346081345346752826402828D-01, & 0.7265617524380410488790570D-01, & 0.7145471426517098292181042D-01, & 0.6986299249259415976615480D-01, & 0.6788970337652194485536350D-01, & 0.6554562436490897892700504D-01, & 0.6284355804500257640931846D-01, & 0.5979826222758665431283142D-01, & 0.5642636935801838164642686D-01, & 0.5274629569917407034394234D-01, & 0.4877814079280324502744954D-01, & 0.4454357777196587787431674D-01, & 0.4006573518069226176059618D-01, & 0.3536907109759211083266214D-01, & 0.3047924069960346836290502D-01, & 0.2542295952611304788674188D-01, & 0.2022786956905264475705664D-01, & 0.1492244369735749414467869D-01, & 0.9536220301748502411822340D-02, & 0.4105998604649084610599928D-02 /) real ( kind = rk ) :: EvenW22(22) = (/ & 0.7054915778935406881133824D-01, & 0.7019768547355821258714200D-01, & 0.6949649186157257803708402D-01, & 0.6844907026936666098545864D-01, & 0.6706063890629365239570506D-01, & 0.6533811487918143498424096D-01, & 0.6329007973320385495013890D-01, & 0.6092673670156196803855800D-01, & 0.5825985987759549533421064D-01, & 0.5530273556372805254874660D-01, & 0.5207009609170446188123162D-01, & 0.4857804644835203752763920D-01, & 0.4484398408197003144624282D-01, & 0.4088651231034621890844686D-01, & 0.3672534781380887364290888D-01, & 0.3238122281206982088084682D-01, & 0.2787578282128101008111450D-01, & 0.2323148190201921062895910D-01, & 0.1847148173681474917204335D-01, & 0.1361958675557998552020491D-01, & 0.8700481367524844122565470D-02, & 0.3745404803112777515171456D-02 /) real ( kind = rk ) :: EvenW23(23) = (/ & 0.6751868584903645882021418D-01, & 0.6721061360067817586237416D-01, & 0.6659587476845488737576196D-01, & 0.6567727426778120737875756D-01, & 0.6445900346713906958827948D-01, & 0.6294662106439450817895206D-01, & 0.6114702772465048101535670D-01, & 0.5906843459554631480755080D-01, & 0.5672032584399123581687444D-01, & 0.5411341538585675449163752D-01, & 0.5125959800714302133536554D-01, & 0.4817189510171220053046892D-01, & 0.4486439527731812676709458D-01, & 0.4135219010967872970421980D-01, & 0.3765130535738607132766076D-01, & 0.3377862799910689652060416D-01, & 0.2975182955220275579905234D-01, & 0.2558928639713001063470016D-01, & 0.2130999875413650105447862D-01, & 0.1693351400783623804623151D-01, & 0.1247988377098868420673525D-01, & 0.7969898229724622451610710D-02, & 0.3430300868107048286016700D-02 /) real ( kind = rk ) :: EvenW24(24) = (/ & 0.6473769681268392250302496D-01, & 0.6446616443595008220650418D-01, & 0.6392423858464818662390622D-01, & 0.6311419228625402565712596D-01, & 0.6203942315989266390419786D-01, & 0.6070443916589388005296916D-01, & 0.5911483969839563574647484D-01, & 0.5727729210040321570515042D-01, & 0.5519950369998416286820356D-01, & 0.5289018948519366709550490D-01, & 0.5035903555385447495780746D-01, & 0.4761665849249047482590674D-01, & 0.4467456085669428041944838D-01, & 0.4154508294346474921405856D-01, & 0.3824135106583070631721688D-01, & 0.3477722256477043889254814D-01, & 0.3116722783279808890206628D-01, & 0.2742650970835694820007336D-01, & 0.2357076083932437914051962D-01, & 0.1961616045735552781446139D-01, & 0.1557931572294384872817736D-01, & 0.1147723457923453948959265D-01, & 0.7327553901276262102386656D-02, & 0.3153346052305838632678320D-02 /) real ( kind = rk ) :: EvenW25(25) = (/ & 0.6217661665534726232103316D-01, & 0.6193606742068324338408750D-01, & 0.6145589959031666375640678D-01, & 0.6073797084177021603175000D-01, & 0.5978505870426545750957640D-01, & 0.5860084981322244583512250D-01, & 0.5718992564772838372302946D-01, & 0.5555774480621251762356746D-01, & 0.5371062188899624652345868D-01, & 0.5165570306958113848990528D-01, & 0.4940093844946631492124360D-01, & 0.4695505130394843296563322D-01, & 0.4432750433880327549202254D-01, & 0.4152846309014769742241230D-01, & 0.3856875661258767524477018D-01, & 0.3545983561514615416073452D-01, & 0.3221372822357801664816538D-01, & 0.2884299358053519802990658D-01, & 0.2536067357001239044019428D-01, & 0.2178024317012479298159128D-01, & 0.1811556071348939035125903D-01, & 0.1438082276148557441937880D-01, & 0.1059054838365096926356876D-01, & 0.6759799195745401502778824D-02, & 0.2908622553155140958394976D-02 /) real ( kind = rk ) :: EvenW26(26) = (/ & 0.5981036574529186024778538D-01, & 0.5959626017124815825831088D-01, & 0.5916881546604297036933200D-01, & 0.5852956177181386855029062D-01, & 0.5768078745252682765393200D-01, & 0.5662553090236859719080832D-01, & 0.5536756966930265254904124D-01, & 0.5391140693275726475083694D-01, & 0.5226225538390699303439404D-01, & 0.5042601856634237721821144D-01, & 0.4840926974407489685396032D-01, & 0.4621922837278479350764582D-01, & 0.4386373425900040799512978D-01, & 0.4135121950056027167904044D-01, & 0.3869067831042397898510146D-01, & 0.3589163483509723294194276D-01, & 0.3296410908971879791501014D-01, & 0.2991858114714394664128188D-01, & 0.2676595374650401344949324D-01, & 0.2351751355398446159032286D-01, & 0.2018489150798079220298930D-01, & 0.1678002339630073567792252D-01, & 0.1331511498234096065660116D-01, & 0.9802634579462752061952706D-02, & 0.6255523962973276899717754D-02, & 0.2691316950047111118946698D-02 /) real ( kind = rk ) :: EvenW27(27) = (/ & 0.5761753670714702467237616D-01, & 0.5742613705411211485929010D-01, & 0.5704397355879459856782852D-01, & 0.5647231573062596503104434D-01, & 0.5571306256058998768336982D-01, & 0.5476873621305798630622270D-01, & 0.5364247364755361127210060D-01, & 0.5233801619829874466558872D-01, & 0.5085969714618814431970910D-01, & 0.4921242732452888606879048D-01, & 0.4740167880644499105857626D-01, & 0.4543346672827671397485208D-01, & 0.4331432930959701544192564D-01, & 0.4105130613664497422171834D-01, & 0.3865191478210251683685736D-01, & 0.3612412584038355258288694D-01, & 0.3347633646437264571604038D-01, & 0.3071734249787067605400450D-01, & 0.2785630931059587028700164D-01, & 0.2490274146720877305005456D-01, & 0.2186645142285308594551102D-01, & 0.1875752762146937791200757D-01, & 0.1558630303592413170296832D-01, & 0.1236332812884764416646861D-01, & 0.9099369455509396948032734D-02, & 0.5805611015239984878826112D-02, & 0.2497481835761585775945054D-02 /) real ( kind = rk ) :: EvenW28(28) = (/ & 0.5557974630651439584627342D-01, & 0.5540795250324512321779340D-01, & 0.5506489590176242579630464D-01, & 0.5455163687088942106175058D-01, & 0.5386976186571448570895448D-01, & 0.5302137852401076396799152D-01, & 0.5200910915174139984305222D-01, & 0.5083608261779848056012412D-01, & 0.4950592468304757891996610D-01, & 0.4802274679360025812073550D-01, & 0.4639113337300189676219012D-01, & 0.4461612765269228321341510D-01, & 0.4270321608466708651103858D-01, & 0.4065831138474451788012514D-01, & 0.3848773425924766248682568D-01, & 0.3619819387231518603588452D-01, & 0.3379676711561176129542654D-01, & 0.3129087674731044786783572D-01, & 0.2868826847382274172988602D-01, & 0.2599698705839195219181960D-01, & 0.2322535156256531693725830D-01, & 0.2038192988240257263480560D-01, & 0.1747551291140094650495930D-01, & 0.1451508927802147180777130D-01, & 0.1150982434038338217377419D-01, & 0.8469063163307887661628584D-02, & 0.5402522246015337761313780D-02, & 0.2323855375773215501098716D-02 /) real ( kind = rk ) :: EvenW29(29) = (/ & 0.5368111986333484886390600D-01, & 0.5352634330405825210061082D-01, & 0.5321723644657901410348096D-01, & 0.5275469052637083342964580D-01, & 0.5214003918366981897126058D-01, & 0.5137505461828572547451486D-01, & 0.5046194247995312529765992D-01, & 0.4940333550896239286651076D-01, & 0.4820228594541774840657052D-01, & 0.4686225672902634691841818D-01, & 0.4538711151481980250398048D-01, & 0.4378110353364025103902560D-01, & 0.4204886332958212599457020D-01, & 0.4019538540986779688807676D-01, & 0.3822601384585843322945902D-01, & 0.3614642686708727054078062D-01, & 0.3396262049341601079772722D-01, & 0.3168089125380932732029244D-01, & 0.2930781804416049071839382D-01, & 0.2685024318198186847590714D-01, & 0.2431525272496395254025850D-01, & 0.2171015614014623576691612D-01, & 0.1904246546189340865578709D-01, & 0.1631987423497096505212063D-01, & 0.1355023711298881214517933D-01, & 0.1074155353287877411685532D-01, & 0.7901973849998674754018608D-02, & 0.5039981612650243085015810D-02, & 0.2167723249627449943047768D-02 /) real ( kind = rk ) :: EvenW30(30) = (/ & 0.5190787763122063973286496D-01, & 0.5176794317491018754380368D-01, & 0.5148845150098093399504444D-01, & 0.5107015606985562740454910D-01, & 0.5051418453250937459823872D-01, & 0.4982203569055018101115930D-01, & 0.4899557545575683538947578D-01, & 0.4803703181997118096366674D-01, & 0.4694898884891220484701330D-01, & 0.4573437971611448664719662D-01, & 0.4439647879578711332778398D-01, & 0.4293889283593564195423128D-01, & 0.4136555123558475561316394D-01, & 0.3968069545238079947012286D-01, & 0.3788886756924344403094056D-01, & 0.3599489805108450306657888D-01, & 0.3400389272494642283491466D-01, & 0.3192121901929632894945890D-01, & 0.2975249150078894524083642D-01, & 0.2750355674992479163522324D-01, & 0.2518047762152124837957096D-01, & 0.2278951694399781986378308D-01, & 0.2033712072945728677503268D-01, & 0.1782990101420772026039605D-01, & 0.1527461859678479930672510D-01, & 0.1267816647681596013149540D-01, & 0.1004755718228798435788578D-01, & 0.7389931163345455531517530D-02, & 0.4712729926953568640893942D-02, & 0.2026811968873758496433874D-02 /) real ( kind = rk ) :: EvenW31(31) = (/ & 0.5024800037525628168840300D-01, & 0.5012106956904328807480410D-01, & 0.4986752859495239424476130D-01, & 0.4948801791969929252786578D-01, & 0.4898349622051783710485112D-01, & 0.4835523796347767283480314D-01, & 0.4760483018410123227045008D-01, & 0.4673416847841552480220700D-01, & 0.4574545221457018077723242D-01, & 0.4464117897712441429364478D-01, & 0.4342413825804741958006920D-01, & 0.4209740441038509664302268D-01, & 0.4066432888241744096828524D-01, & 0.3912853175196308412331100D-01, & 0.3749389258228002998561838D-01, & 0.3576454062276814128558760D-01, & 0.3394484437941054509111762D-01, & 0.3203940058162467810633926D-01, & 0.3005302257398987007700934D-01, & 0.2799072816331463754123820D-01, & 0.2585772695402469802709536D-01, & 0.2365940720868279257451652D-01, & 0.2140132227766996884117906D-01, & 0.1908917665857319873250324D-01, & 0.1672881179017731628855027D-01, & 0.1432619182380651776740340D-01, & 0.1188739011701050194481938D-01, & 0.9418579428420387637936636D-02, & 0.6926041901830960871704530D-02, & 0.4416333456930904813271960D-02, & 0.1899205679513690480402948D-02 /) real ( kind = rk ) :: EvenW32(32) = (/ & 0.4869095700913972038336538D-01, & 0.4857546744150342693479908D-01, & 0.4834476223480295716976954D-01, & 0.4799938859645830772812614D-01, & 0.4754016571483030866228214D-01, & 0.4696818281621001732532634D-01, & 0.4628479658131441729595326D-01, & 0.4549162792741814447977098D-01, & 0.4459055816375656306013478D-01, & 0.4358372452932345337682780D-01, & 0.4247351512365358900733972D-01, & 0.4126256324262352861015628D-01, & 0.3995374113272034138665686D-01, & 0.3855015317861562912896262D-01, & 0.3705512854024004604041492D-01, & 0.3547221325688238381069330D-01, & 0.3380516183714160939156536D-01, & 0.3205792835485155358546770D-01, & 0.3023465707240247886797386D-01, & 0.2833967261425948322751098D-01, & 0.2637746971505465867169136D-01, & 0.2435270256871087333817770D-01, & 0.2227017380838325415929788D-01, & 0.2013482315353020937234076D-01, & 0.1795171577569734308504602D-01, & 0.1572603047602471932196614D-01, & 0.1346304789671864259806029D-01, & 0.1116813946013112881859029D-01, & 0.8846759826363947723030856D-02, & 0.6504457968978362856118112D-02, & 0.4147033260562467635287472D-02, & 0.1783280721696432947292054D-02 /) real ( kind = rk ) :: EvenW33(33) = (/ & 0.4722748126299855484563332D-01, & 0.4712209828764473218544518D-01, & 0.4691156748762082774625404D-01, & 0.4659635863958410362582412D-01, & 0.4617717509791597547166640D-01, & 0.4565495222527305612043888D-01, & 0.4503085530544150021519278D-01, & 0.4430627694315316190460328D-01, & 0.4348283395666747864757528D-01, & 0.4256236377005571631890662D-01, & 0.4154692031324188131773448D-01, & 0.4043876943895497912586836D-01, & 0.3924038386682833018781280D-01, & 0.3795443766594162094913028D-01, & 0.3658380028813909441368980D-01, & 0.3513153016547255590064132D-01, & 0.3360086788611223267034862D-01, & 0.3199522896404688727128174D-01, & 0.3031819621886851919364104D-01, & 0.2857351178293187118282268D-01, & 0.2676506875425000190879332D-01, & 0.2489690251475737263773110D-01, & 0.2297318173532665591809836D-01, & 0.2099819909186462577733052D-01, & 0.1897636172277132593486659D-01, & 0.1691218147224521718035102D-01, & 0.1481026500273396017364296D-01, & 0.1267530398126168187644599D-01, & 0.1051206598770575465737803D-01, & 0.8325388765990901416725080D-02, & 0.6120192018447936365568516D-02, & 0.3901625641744248259228942D-02, & 0.1677653744007238599334225D-02 /) real ( kind = rk ) :: EvenW34(34) = (/ & 0.4584938738725097468656398D-01, & 0.4575296541606795051900614D-01, & 0.4556032425064828598070770D-01, & 0.4527186901844377786941174D-01, & 0.4488820634542666782635216D-01, & 0.4441014308035275590934876D-01, & 0.4383868459795605201060492D-01, & 0.4317503268464422322584344D-01, & 0.4242058301114249930061428D-01, & 0.4157692219740291648457550D-01, & 0.4064582447595407614088174D-01, & 0.3962924796071230802540652D-01, & 0.3852933052910671449325372D-01, & 0.3734838532618666771607896D-01, & 0.3608889590017987071497568D-01, & 0.3475351097975151316679320D-01, & 0.3334503890398068790314300D-01, & 0.3186644171682106493934736D-01, & 0.3032082893855398034157906D-01, & 0.2871145102748499071080394D-01, & 0.2704169254590396155797848D-01, & 0.2531506504517639832390244D-01, & 0.2353519968587633336129308D-01, & 0.2170583961037807980146532D-01, & 0.1983083208795549829102926D-01, & 0.1791412045792315248940600D-01, & 0.1595973590961380007213420D-01, & 0.1397178917445765581596455D-01, & 0.1195446231976944210322336D-01, & 0.9912001251585937209131520D-02, & 0.7848711393177167415052160D-02, & 0.5768969918729952021468320D-02, & 0.3677366595011730633570254D-02, & 0.1581140256372912939103728D-02 /) real ( kind = rk ) :: EvenW35(35) = (/ & 0.4454941715975466720216750D-01, & 0.4446096841724637082355728D-01, & 0.4428424653905540677579966D-01, & 0.4401960239018345875735580D-01, & 0.4366756139720144025254848D-01, & 0.4322882250506869978939520D-01, & 0.4270425678944977776996576D-01, & 0.4209490572728440602098398D-01, & 0.4140197912904520863822652D-01, & 0.4062685273678961635122600D-01, & 0.3977106549277656747784952D-01, & 0.3883631648407340397900292D-01, & 0.3782446156922281719727230D-01, & 0.3673750969367269534804046D-01, & 0.3557761890129238053276980D-01, & 0.3434709204990653756854510D-01, & 0.3304837223937242047087430D-01, & 0.3168403796130848173465310D-01, & 0.3025679798015423781653688D-01, & 0.2876948595580828066131070D-01, & 0.2722505481866441715910742D-01, & 0.2562657090846848279898494D-01, & 0.2397720788910029227868640D-01, & 0.2228024045225659583389064D-01, & 0.2053903782432645338449270D-01, & 0.1875705709313342341545081D-01, & 0.1693783637630293253183738D-01, & 0.1508498786544312768229492D-01, & 0.1320219081467674762507440D-01, & 0.1129318464993153764963015D-01, & 0.9361762769699026811498692D-02, & 0.7411769363190210362109460D-02, & 0.5447111874217218312821680D-02, & 0.3471894893078143254999524D-02, & 0.1492721288844515731042666D-02 /) real ( kind = rk ) :: EvenW36(36) = (/ & 0.4332111216548653707639384D-01, & 0.4323978130522261748526514D-01, & 0.4307727227491369974525036D-01, & 0.4283389016833881366683982D-01, & 0.4251009191005772007780078D-01, & 0.4210648539758646414658732D-01, & 0.4162382836013859820760788D-01, & 0.4106302693607506110193610D-01, & 0.4042513397173397004332898D-01, & 0.3971134704483490178239872D-01, & 0.3892300621616966379996300D-01, & 0.3806159151380216383437540D-01, & 0.3712872015450289946055536D-01, & 0.3612614350763799298563092D-01, & 0.3505574380721787043413848D-01, & 0.3391953061828605949719618D-01, & 0.3271963706429384670431246D-01, & 0.3145831582256181397777608D-01, & 0.3013793489537547929298290D-01, & 0.2876097316470176109512506D-01, & 0.2733001573895093443379638D-01, & 0.2584774910065589028389804D-01, & 0.2431695606441916432634724D-01, & 0.2274051055503575445593134D-01, & 0.2112137221644055350981986D-01, & 0.1946258086329427804301667D-01, & 0.1776725078920065359435915D-01, & 0.1603856495028515521816122D-01, & 0.1427976905455419326655572D-01, & 0.1249416561987375776778277D-01, & 0.1068510816535189715895734D-01, & 0.8855996073706153383956510D-02, & 0.7010272321861863296081600D-02, & 0.5151436018790886908248502D-02, & 0.3283169774667495801897558D-02, & 0.1411516393973434135715864D-02 /) real ( kind = rk ) :: EvenW37(37) = (/ & 0.4215870660994342212223066D-01, & 0.4208374996915697247489576D-01, & 0.4193396995777702146995522D-01, & 0.4170963287924075437870998D-01, & 0.4141113759675351082006810D-01, & 0.4103901482412726684741876D-01, & 0.4059392618219472805807676D-01, & 0.4007666302247696675915112D-01, & 0.3948814502019646832363280D-01, & 0.3882941853913770775808220D-01, & 0.3810165477126324889635168D-01, & 0.3730614765439415573370658D-01, & 0.3644431157165856448181076D-01, & 0.3551767883680095992585374D-01, & 0.3452789696982646100333388D-01, & 0.3347672576782876626372244D-01, & 0.3236603417621699952527994D-01, & 0.3119779696591542603337254D-01, & 0.2997409122246118733996502D-01, & 0.2869709265326987534209508D-01, & 0.2736907171967935230243778D-01, & 0.2599238960072378786677346D-01, & 0.2456949399594276724564910D-01, & 0.2310291477491582303093246D-01, & 0.2159525948167588896969968D-01, & 0.2004920870279494425273506D-01, & 0.1846751130897987978285368D-01, & 0.1685297958202485358484807D-01, & 0.1520848424340123480887426D-01, & 0.1353694941178749434105245D-01, & 0.1184134754749966732316814D-01, & 0.1012469453828730542112095D-01, & 0.8390045433971397064089364D-02, & 0.6640492909114357634760192D-02, & 0.4879179758594144584288316D-02, & 0.3109420149896754678673688D-02, & 0.1336761650069883550325931D-02 /) real ( kind = rk ) :: EvenW38(38) = (/ & 0.4105703691622942259325972D-01, & 0.4098780546479395154130842D-01, & 0.4084945930182849228039176D-01, & 0.4064223171029473877745496D-01, & 0.4036647212284402315409558D-01, & 0.4002264553259682611646172D-01, & 0.3961133170906205842314674D-01, & 0.3913322422051844076750754D-01, & 0.3858912926450673834292118D-01, & 0.3797996430840528319523540D-01, & 0.3730675654238160982756716D-01, & 0.3657064114732961700724404D-01, & 0.3577285938071394752777924D-01, & 0.3491475648355076744412550D-01, & 0.3399777941205638084674262D-01, & 0.3302347439779174100654158D-01, & 0.3199348434042160006853510D-01, & 0.3090954603749159538993714D-01, & 0.2977348725590504095670750D-01, & 0.2858722365005400377397500D-01, & 0.2735275553182752167415270D-01, & 0.2607216449798598352427480D-01, & 0.2474760992065967164326474D-01, & 0.2338132530701118662247962D-01, & 0.2197561453441624916801320D-01, & 0.2053284796790802109297466D-01, & 0.1905545846719058280680223D-01, & 0.1754593729147423095419928D-01, & 0.1600682991224857088850986D-01, & 0.1444073174827667993988980D-01, & 0.1285028384751014494492467D-01, & 0.1123816856966768723967455D-01, & 0.9607105414713754082404616D-02, & 0.7959847477239734621118374D-02, & 0.6299180497328445866575096D-02, & 0.4627935228037421326126844D-02, & 0.2949102953642474900394994D-02, & 0.1267791634085359663272804D-02 /) real ( kind = rk ) :: EvenW39(39) = (/ & 0.4001146511842048298877858D-01, & 0.3994739036908802487930490D-01, & 0.3981934348036408922503176D-01, & 0.3962752950781054295639346D-01, & 0.3937225562423312193722022D-01, & 0.3905393062777341314731136D-01, & 0.3867306428725767400389548D-01, & 0.3823026652585098764962036D-01, & 0.3772624644432424786429014D-01, & 0.3716181118549838685067108D-01, & 0.3653786464168470064819248D-01, & 0.3585540600719169544500572D-01, & 0.3511552817821718947488010D-01, & 0.3431941600268909029029166D-01, & 0.3346834438285897797298150D-01, & 0.3256367623368904440805548D-01, & 0.3160686030030479773888294D-01, & 0.3059942883801304528943330D-01, & 0.2954299515860694641162030D-01, & 0.2843925104689751626239046D-01, & 0.2728996405162436486456432D-01, & 0.2609697465510883502983394D-01, & 0.2486219332622245076144308D-01, & 0.2358759746145747209645146D-01, & 0.2227522821911388676305032D-01, & 0.2092718725187772678537816D-01, & 0.1954563334339992337791787D-01, & 0.1813277895498232864440684D-01, & 0.1669088668934389186621294D-01, & 0.1522226568017845169331591D-01, & 0.1372926792014414839372596D-01, & 0.1221428454978988639768250D-01, & 0.1067974215748111335351669D-01, & 0.9128099227255087276943326D-02, & 0.7561843189439718826977318D-02, & 0.5983489944440407989648850D-02, & 0.4395596039460346742737866D-02, & 0.2800868811838630411609396D-02, & 0.1204024566067353280336448D-02 /) real ( kind = rk ) :: EvenW40(40) = (/ & 0.3901781365630665481128044D-01, & 0.3895839596276953119862554D-01, & 0.3883965105905196893177418D-01, & 0.3866175977407646332707712D-01, & 0.3842499300695942318521238D-01, & 0.3812971131447763834420674D-01, & 0.3777636436200139748977496D-01, & 0.3736549023873049002670538D-01, & 0.3689771463827600883915092D-01, & 0.3637374990583597804396502D-01, & 0.3579439395341605460286146D-01, & 0.3516052904474759349552658D-01, & 0.3447312045175392879436434D-01, & 0.3373321498461152281667534D-01, & 0.3294193939764540138283636D-01, & 0.3210049867348777314805654D-01, & 0.3121017418811470164244288D-01, & 0.3027232175955798066122008D-01, & 0.2928836958326784769276746D-01, & 0.2825981605727686239675312D-01, & 0.2718822750048638067441898D-01, & 0.2607523576756511790296854D-01, & 0.2492253576411549110511808D-01, & 0.2373188286593010129319242D-01, & 0.2250509024633246192622164D-01, & 0.2124402611578200638871032D-01, & 0.1995061087814199892889169D-01, & 0.1862681420829903142873492D-01, & 0.1727465205626930635858456D-01, & 0.1589618358372568804490352D-01, & 0.1449350804050907611696272D-01, & 0.1306876159240133929378674D-01, & 0.1162411412079782691646643D-01, & 0.1016176604110306452083288D-01, & 0.8683945269260858426408640D-02, & 0.7192904768117312752674654D-02, & 0.5690922451403198649270494D-02, & 0.4180313124694895236739096D-02, & 0.2663533589512681669292770D-02, & 0.1144950003186941534544369D-02 /) real ( kind = rk ) :: EvenW41(41) = (/ & 0.3807230964014187120769602D-01, & 0.3801710843143526990530278D-01, & 0.3790678605050578477946422D-01, & 0.3774150245427586967153708D-01, & 0.3752149728818502087157412D-01, & 0.3724708953872766418784006D-01, & 0.3691867707095445699853162D-01, & 0.3653673605160765284219780D-01, & 0.3610182025872702307569544D-01, & 0.3561456027872747268049598D-01, & 0.3507566259211269038478042D-01, & 0.3448590854915070550737888D-01, & 0.3384615323699685874463648D-01, & 0.3315732423990721132775848D-01, & 0.3242042029434060507783656D-01, & 0.3163650984090024553762352D-01, & 0.3080672947521562981366802D-01, & 0.2993228230001272463508596D-01, & 0.2901443618076440396145302D-01, & 0.2805452190745423047171398D-01, & 0.2705393126512477151978662D-01, & 0.2601411501601702375386842D-01, & 0.2493658079624075515577230D-01, & 0.2382289093004782634222678D-01, & 0.2267466016491410310244200D-01, & 0.2149355333077484404348958D-01, & 0.2028128292691215890157032D-01, & 0.1903960664017892507303976D-01, & 0.1777032479849840714698234D-01, & 0.1647527776398370889101217D-01, & 0.1515634327076256178846848D-01, & 0.1381543371412645938772740D-01, & 0.1245449340114210467973318D-01, & 0.1107549578175989632022419D-01, & 0.9680440704371073736965104D-02, & 0.8271351818383685604431294D-02, & 0.6850274534183526184325356D-02, & 0.5419276232446765090703842D-02, & 0.3980457937856074619030326D-02, & 0.2536054696856106109823094D-02, & 0.1090118595275830866109234D-02 /) real ( kind = rk ) :: EvenW42(42) = (/ & 0.3717153701903406760328362D-01, & 0.3712016261260209427372758D-01, & 0.3701748480379452058524442D-01, & 0.3686364550259030771845208D-01, & 0.3665885732875907563657692D-01, & 0.3640340331800212248862624D-01, & 0.3609763653077256670175260D-01, & 0.3574197956431530727788894D-01, & 0.3533692396860127616038866D-01, & 0.3488302956696330845641672D-01, & 0.3438092368237270062133504D-01, & 0.3383130027042598480372494D-01, & 0.3323491896024044407471552D-01, & 0.3259260400458425718361322D-01, & 0.3190524314069272748402282D-01, & 0.3117378636334566129196750D-01, & 0.3039924461190246977311372D-01, & 0.2958268837311084528960516D-01, & 0.2872524620162180221266452D-01, & 0.2782810316025840603576668D-01, & 0.2689249918219763751581640D-01, & 0.2591972735733464772516052D-01, & 0.2491113214520642888439108D-01, & 0.2386810751695823938471552D-01, & 0.2279209502894212933888898D-01, & 0.2168458183064482298924430D-01, & 0.2054709860975627861152400D-01, & 0.1938121747731880864780669D-01, & 0.1818854979605654992760044D-01, & 0.1697074395521161134308213D-01, & 0.1572948309558359820159970D-01, & 0.1446648278916118624227443D-01, & 0.1318348867918234598679997D-01, & 0.1188227408980122349505120D-01, & 0.1056463762300824526484878D-01, & 0.9232400784190247014382770D-02, & 0.7887405752648146382107148D-02, & 0.6531513687713654601121566D-02, & 0.5166605182746808329881136D-02, & 0.3794591650452349696393000D-02, & 0.2417511265443122855238466D-02, & 0.1039133516451971889197062D-02 /) real ( kind = rk ) :: EvenW43(43) = (/ & 0.3631239537581333828231516D-01, & 0.3626450208420238743149194D-01, & 0.3616877866860063758274494D-01, & 0.3602535138093525771008956D-01, & 0.3583440939092405578977942D-01, & 0.3559620453657549559069116D-01, & 0.3531105099203420508058466D-01, & 0.3497932485321009937141316D-01, & 0.3460146364173769225993442D-01, & 0.3417796572791990463423808D-01, & 0.3370938967341755486497158D-01, & 0.3319635349455159712009034D-01, & 0.3263953384718992195609868D-01, & 0.3203966513429401611022852D-01, & 0.3139753853730286555853332D-01, & 0.3071400097263205318303994D-01, & 0.2998995397466493249133840D-01, & 0.2922635250670994458366154D-01, & 0.2842420370149349475731242D-01, & 0.2758456553285124838738412D-01, & 0.2670854542037220957530654D-01, & 0.2579729876883953540777106D-01, & 0.2485202744439983591832606D-01, & 0.2387397818947900497321768D-01, & 0.2286444097854800644577274D-01, & 0.2182474731692762780068420D-01, & 0.2075626848490914279058154D-01, & 0.1966041372956217980740210D-01, & 0.1853862840670985920631482D-01, & 0.1739239207569054238672012D-01, & 0.1622321654972902258808405D-01, & 0.1503264390508137868494523D-01, & 0.1382224445276667086664874D-01, & 0.1259361467806969781040954D-01, & 0.1134837515617770397716730D-01, & 0.1008816846038610565467284D-01, & 0.8814657101954815703782366D-02, & 0.7529521612194562606844596D-02, & 0.6234459139140123463885784D-02, & 0.4931184096960103696423408D-02, & 0.3621439249610901437553882D-02, & 0.2307087488809902925963262D-02, & 0.9916432666203635255681510D-03 /) real ( kind = rk ) :: EvenW44(44) = (/ & 0.3549206430171454529606746D-01, & 0.3544734460447076970614316D-01, & 0.3535796155642384379366902D-01, & 0.3522402777945910853287866D-01, & 0.3504571202900426139658624D-01, & 0.3482323898139935499312912D-01, & 0.3455688895080708413486530D-01, & 0.3424699753602007873736958D-01, & 0.3389395519761025923989258D-01, & 0.3349820676595309252806520D-01, & 0.3306025088074670014528066D-01, & 0.3258063936273210868623942D-01, & 0.3205997651840638806926700D-01, & 0.3149891837860489232004182D-01, & 0.3089817187191219763370292D-01, & 0.3025849393394352533513752D-01, & 0.2958069055361934911335230D-01, & 0.2886561575763542924647688D-01, & 0.2811417053440861349157908D-01, & 0.2732730169885533083562360D-01, & 0.2650600069943473772140906D-01, & 0.2565130236896194788477952D-01, & 0.2476428362076873302532156D-01, & 0.2384606209185966126357838D-01, & 0.2289779473478114232724788D-01, & 0.2192067635998985359563460D-01, & 0.2091593813057662423225406D-01, & 0.1988484601127411324360109D-01, & 0.1882869917375545139470985D-01, & 0.1774882836032407455649534D-01, & 0.1664659420821765604511323D-01, & 0.1552338553693355384016474D-01, & 0.1438061760129994423593466D-01, & 0.1321973031362791170818164D-01, & 0.1204218643958121230973900D-01, & 0.1084946977542927125940107D-01, & 0.9643083322053204400769368D-02, & 0.8424547492702473015098308D-02, & 0.7195398459796372059759572D-02, & 0.5957186996138046583131162D-02, & 0.4711479279598661743021848D-02, & 0.3459867667862796423976646D-02, & 0.2204058563143696628535344D-02, & 0.9473355981619272667700360D-03 /) real ( kind = rk ) :: EvenW45(45) = (/ & 0.3470797248895005792046014D-01, & 0.3466615208568824018827232D-01, & 0.3458256166949689141805380D-01, & 0.3445730196032425617459566D-01, & 0.3429052388637504193169728D-01, & 0.3408242840225399546360508D-01, & 0.3383326624683168725792750D-01, & 0.3354333764112427668293316D-01, & 0.3321299192655131651404080D-01, & 0.3284262714400750457863018D-01, & 0.3243268955425561691178950D-01, & 0.3198367310021857603945600D-01, & 0.3149611881181863607695780D-01, & 0.3097061415408092094593650D-01, & 0.3040779231928695269039426D-01, & 0.2980833146403127548714788D-01, & 0.2917295389210074248655798D-01, & 0.2850242518416141631875546D-01, & 0.2779755327530227515803874D-01, & 0.2705918748154795852161408D-01, & 0.2628821747651458736159580D-01, & 0.2548557221944322848446706D-01, & 0.2465221883590485293596628D-01, & 0.2378916145252872321010090D-01, & 0.2289743998716318463498862D-01, & 0.2197812889593413383869188D-01, & 0.2103233587872256311706242D-01, & 0.2006120054463959596453232D-01, & 0.1906589303913731842532399D-01, & 0.1804761263446023616404962D-01, & 0.1700758628522267570939747D-01, & 0.1594706715100663901320649D-01, & 0.1486733308804332405038481D-01, & 0.1376968511233709343075118D-01, & 0.1265544583716812886887583D-01, & 0.1152595788914805885059348D-01, & 0.1038258230989321461380844D-01, & 0.9226696957741990940319884D-02, & 0.8059694944620015658670990D-02, & 0.6882983208463284314729370D-02, & 0.5697981560747352600849438D-02, & 0.4506123613674977864136850D-02, & 0.3308867243336018195431340D-02, & 0.2107778774526329891473788D-02, & 0.9059323712148330937360098D-03 /) real ( kind = rk ) :: EvenW46(46) = (/ & 0.3395777082810234796700260D-01, & 0.3391860442372254949502722D-01, & 0.3384031678893360189141840D-01, & 0.3372299821957387169380074D-01, & 0.3356678402920367631007550D-01, & 0.3337185439303681030780114D-01, & 0.3313843414012938182262046D-01, & 0.3286679249406566032646806D-01, & 0.3255724276244004524316198D-01, & 0.3221014197549332953574452D-01, & 0.3182589047432008582597260D-01, & 0.3140493144912217791614030D-01, & 0.3094775042804103166804096D-01, & 0.3045487471715832098063528D-01, & 0.2992687279231107330786762D-01, & 0.2936435364342281261274650D-01, & 0.2876796607210717582237958D-01, & 0.2813839794335440451445112D-01, & 0.2747637539216417339517938D-01, & 0.2678266198604032330048838D-01, & 0.2605805784431417922245786D-01, & 0.2530339871531322569754810D-01, & 0.2451955501244097425717108D-01, & 0.2370743081028191239353720D-01, & 0.2286796280189254240434106D-01, & 0.2200211921848585739874382D-01, & 0.2111089871276246180997612D-01, & 0.2019532920718748374956428D-01, & 0.1925646670855947471237209D-01, & 0.1829539409026755729118717D-01, & 0.1731321984368977636114053D-01, & 0.1631107680025595800481463D-01, & 0.1529012082579650150690625D-01, & 0.1425152948895392526580707D-01, & 0.1319650070571113802911160D-01, & 0.1212625136263771052929676D-01, & 0.1104201592263539422398575D-01, & 0.9945045019726082041770092D-02, & 0.8836604056467877374547944D-02, & 0.7717971837373568504533128D-02, & 0.6590439334214895223179124D-02, & 0.5455308908000870987158870D-02, & 0.4313895331861700472339122D-02, & 0.3167535943396097874261610D-02, & 0.2017671366262838591883234D-02, & 0.8671851787671421353540866D-03 /) real ( kind = rk ) :: EvenW47(47) = (/ & 0.3323930891781532080070524D-01, & 0.3320257661860686379876634D-01, & 0.3312915261254696321600516D-01, & 0.3301911803949165507667076D-01, & 0.3287259449712959072614770D-01, & 0.3268974390660630715252838D-01, & 0.3247076833358767948450850D-01, & 0.3221590976496030711281812D-01, & 0.3192544984141561392584074D-01, & 0.3159970954621320046477392D-01, & 0.3123904885046741788219108D-01, & 0.3084386631534918741110674D-01, & 0.3041459865164271220328128D-01, & 0.2995172023714386920008800D-01, & 0.2945574259243367639719146D-01, & 0.2892721381560625584227516D-01, & 0.2836671797657610681272962D-01, & 0.2777487447163422062065088D-01, & 0.2715233733896656472388262D-01, & 0.2649979453589169919669406D-01, & 0.2581796717861672816440260D-01, & 0.2510760874535240512858038D-01, & 0.2436950424366898830634656D-01, & 0.2360446934301438228050796D-01, & 0.2281334947335523641001192D-01, & 0.2199701889094007717339700D-01, & 0.2115637971222138981504522D-01, & 0.2029236091701113217988866D-01, & 0.1940591732198200488605189D-01, & 0.1849802852566591095380957D-01, & 0.1756969782614325199872555D-01, & 0.1662195111266549663832874D-01, & 0.1565583573251555786002188D-01, & 0.1467241933449946420426407D-01, & 0.1367278869060687850644038D-01, & 0.1265804849763899444482439D-01, & 0.1162932016112241459607371D-01, & 0.1058774056495412223672440D-01, & 0.9534460832865158250063918D-02, & 0.8470645094534635999910406D-02, & 0.7397469288142356200862272D-02, & 0.6316120091036448223107804D-02, & 0.5227794289507767545307002D-02, & 0.4133699875407776483295790D-02, & 0.3035065891038628027389626D-02, & 0.1933219888725418943121000D-02, & 0.8308716126821624946495838D-03 /) real ( kind = rk ) :: EvenW48(48) = (/ & 0.3255061449236316624196142D-01, & 0.3251611871386883598720548D-01, & 0.3244716371406426936401278D-01, & 0.3234382256857592842877486D-01, & 0.3220620479403025066866710D-01, & 0.3203445623199266321813896D-01, & 0.3182875889441100653475374D-01, & 0.3158933077072716855802074D-01, & 0.3131642559686135581278434D-01, & 0.3101033258631383742324982D-01, & 0.3067137612366914901422878D-01, & 0.3029991542082759379408878D-01, & 0.2989634413632838598438796D-01, & 0.2946108995816790597043632D-01, & 0.2899461415055523654267862D-01, & 0.2849741106508538564559948D-01, & 0.2797000761684833443981840D-01, & 0.2741296272602924282342110D-01, & 0.2682686672559176219805676D-01, & 0.2621234073567241391345816D-01, & 0.2557003600534936149879724D-01, & 0.2490063322248361028838244D-01, & 0.2420484179236469128226730D-01, & 0.2348339908592621984223612D-01, & 0.2273706965832937400134754D-01, & 0.2196664443874434919475618D-01, & 0.2117293989219129898767356D-01, & 0.2035679715433332459524556D-01, & 0.1951908114014502241008485D-01, & 0.1866067962741146738515655D-01, & 0.1778250231604526083761406D-01, & 0.1688547986424517245047785D-01, & 0.1597056290256229138061685D-01, & 0.1503872102699493800587588D-01, & 0.1409094177231486091586166D-01, & 0.1312822956696157263706415D-01, & 0.1215160467108831963518178D-01, & 0.1116210209983849859121361D-01, & 0.1016077053500841575758671D-01, & 0.9148671230783386632584044D-02, & 0.8126876925698759217383246D-02, & 0.7096470791153865269143206D-02, & 0.6058545504235961683315686D-02, & 0.5014202742927517692471308D-02, & 0.3964554338444686673733524D-02, & 0.2910731817934946408411678D-02, & 0.1853960788946921732331620D-02, & 0.7967920655520124294367096D-03 /) real ( kind = rk ) :: EvenW49(49) = (/ & 0.3188987535287646727794502D-01, & 0.3185743815812401071309920D-01, & 0.3179259676252863019831786D-01, & 0.3169541712034925160907410D-01, & 0.3156599807910805290145092D-01, & 0.3140447127904656151748860D-01, & 0.3121100101922626441684056D-01, & 0.3098578409040993463104290D-01, & 0.3072904957489366992001356D-01, & 0.3044105861349325839490764D-01, & 0.3012210413992189884853100D-01, & 0.2977251058282947626617570D-01, & 0.2939263353580649216776328D-01, & 0.2898285939568834204744914D-01, & 0.2854360496952788570349054D-01, & 0.2807531705063613875324586D-01, & 0.2757847196412239390009986D-01, & 0.2705357508239612827767608D-01, & 0.2650116031112363935248738D-01, & 0.2592178954616244891846836D-01, & 0.2531605210202609734314644D-01, & 0.2468456411246099618197954D-01, & 0.2402796790374549880324124D-01, & 0.2334693134134927471268304D-01, & 0.2264214715061843311126274D-01, & 0.2191433221217865041901888D-01, & 0.2116422683277485691127980D-01, & 0.2039259399229191457948346D-01, & 0.1960021856772633077323700D-01, & 0.1878790653490468656148738D-01, & 0.1795648414877062812244296D-01, & 0.1710679710308990026235402D-01, & 0.1623970967045369565272614D-01, & 0.1535610382349775576849818D-01, & 0.1445687833830440197756895D-01, & 0.1354294788102946514364726D-01, & 0.1261524207892195285778215D-01, & 0.1167470457713812428742924D-01, & 0.1072229208322431712024324D-01, & 0.9758973402174096835348026D-02, & 0.8785728467392263202699392D-02, & 0.7803547379100754890979542D-02, & 0.6813429479165215998771186D-02, & 0.5816382546439639112764538D-02, & 0.4813422398586770918478190D-02, & 0.3805574085352359565512666D-02, & 0.2793881135722130870629084D-02, & 0.1779477041014528741695358D-02, & 0.7647669822743134580383448D-03 /) real ( kind = rk ) :: EvenW50(50) = (/ & 0.3125542345386335694764248D-01, & 0.3122488425484935773237650D-01, & 0.3116383569620990678381832D-01, & 0.3107233742756651658781016D-01, & 0.3095047885049098823406346D-01, & 0.3079837903115259042771392D-01, & 0.3061618658398044849645950D-01, & 0.3040407952645482001650792D-01, & 0.3016226510516914491906862D-01, & 0.2989097959333283091683684D-01, & 0.2959048805991264251175454D-01, & 0.2926108411063827662011896D-01, & 0.2890308960112520313487610D-01, & 0.2851685432239509799093676D-01, & 0.2810275565910117331764820D-01, & 0.2766119822079238829420408D-01, & 0.2719261344657688013649158D-01, & 0.2669745918357096266038448D-01, & 0.2617621923954567634230892D-01, & 0.2562940291020811607564182D-01, & 0.2505754448157958970376402D-01, & 0.2446120270795705271997480D-01, & 0.2384096026596820596256040D-01, & 0.2319742318525412162248878D-01, & 0.2253122025633627270179672D-01, & 0.2184300241624738631395360D-01, & 0.2113344211252764154267220D-01, & 0.2040323264620943276683910D-01, & 0.1965308749443530586538157D-01, & 0.1888373961337490455294131D-01, & 0.1809594072212811666439111D-01, & 0.1729046056832358243934388D-01, & 0.1646808617614521264310506D-01, & 0.1562962107754600272393719D-01, & 0.1477588452744130176887969D-01, & 0.1390771070371877268795387D-01, & 0.1302594789297154228555807D-01, & 0.1213145766297949740774437D-01, & 0.1122511402318597711722209D-01, & 0.1030780257486896958578198D-01, & 0.9380419653694457951417628D-02, & 0.8443871469668971402620252D-02, & 0.7499073255464711578829804D-02, & 0.6546948450845322764152444D-02, & 0.5588428003865515157213478D-02, & 0.4624450063422119351093868D-02, & 0.3655961201326375182342828D-02, & 0.2683925371553482419437272D-02, & 0.1709392653518105239533969D-02, & 0.7346344905056717304142370D-03 /) real ( kind = rk ) :: OddW1(1) = (/ & 0.5555555555555555555555555D+00 /) real ( kind = rk ) :: OddW2(2) = (/ & 0.4786286704993664680412916D+00, & 0.2369268850561890875142644D+00 /) real ( kind = rk ) :: OddW3(3) = (/ & 0.3818300505051189449503698D+00, & 0.2797053914892766679014680D+00, & 0.1294849661688696932706118D+00 /) real ( kind = rk ) :: OddW4(4) = (/ & 0.3123470770400028400686304D+00, & 0.2606106964029354623187428D+00, & 0.1806481606948574040584721D+00, & 0.8127438836157441197189206D-01 /) real ( kind = rk ) :: OddW5(5) = (/ & 0.2628045445102466621806890D+00, & 0.2331937645919904799185238D+00, & 0.1862902109277342514260979D+00, & 0.1255803694649046246346947D+00, & 0.5566856711617366648275374D-01 /) real ( kind = rk ) :: OddW6(6) = (/ & 0.2262831802628972384120902D+00, & 0.2078160475368885023125234D+00, & 0.1781459807619457382800468D+00, & 0.1388735102197872384636019D+00, & 0.9212149983772844791442126D-01, & 0.4048400476531587952001996D-01 /) real ( kind = rk ) :: OddW7(7) = (/ & 0.1984314853271115764561182D+00, & 0.1861610000155622110268006D+00, & 0.1662692058169939335532006D+00, & 0.1395706779261543144478051D+00, & 0.1071592204671719350118693D+00, & 0.7036604748810812470926662D-01, & 0.3075324199611726835462762D-01 /) real ( kind = rk ) :: OddW8(8) = (/ & 0.1765627053669926463252710D+00, & 0.1680041021564500445099705D+00, & 0.1540457610768102880814317D+00, & 0.1351363684685254732863199D+00, & 0.1118838471934039710947887D+00, & 0.8503614831717918088353538D-01, & 0.5545952937398720112944102D-01, & 0.2414830286854793196010920D-01 /) real ( kind = rk ) :: OddW9(9) = (/ & 0.1589688433939543476499565D+00, & 0.1527660420658596667788553D+00, & 0.1426067021736066117757460D+00, & 0.1287539625393362276755159D+00, & 0.1115666455473339947160242D+00, & 0.9149002162244999946446222D-01, & 0.6904454273764122658070790D-01, & 0.4481422676569960033283728D-01, & 0.1946178822972647703631351D-01 /) real ( kind = rk ) :: OddW10(10) = (/ & 0.1445244039899700590638271D+00, & 0.1398873947910731547221335D+00, & 0.1322689386333374617810526D+00, & 0.1218314160537285341953671D+00, & 0.1087972991671483776634747D+00, & 0.9344442345603386155329010D-01, & 0.7610011362837930201705132D-01, & 0.5713442542685720828363528D-01, & 0.3695378977085249379995034D-01, & 0.1601722825777433332422273D-01 /) real ( kind = rk ) :: OddW11(11) = (/ & 0.1324620394046966173716425D+00, & 0.1289057221880821499785954D+00, & 0.1230490843067295304675784D+00, & 0.1149966402224113649416434D+00, & 0.1048920914645414100740861D+00, & 0.9291576606003514747701876D-01, & 0.7928141177671895492289248D-01, & 0.6423242140852585212716980D-01, & 0.4803767173108466857164124D-01, & 0.3098800585697944431069484D-01, & 0.1341185948714177208130864D-01 /) real ( kind = rk ) :: OddW12(12) = (/ & 0.1222424429903100416889594D+00, & 0.1194557635357847722281782D+00, & 0.1148582591457116483393255D+00, & 0.1085196244742636531160939D+00, & 0.1005359490670506442022068D+00, & 0.9102826198296364981149704D-01, & 0.8014070033500101801323524D-01, & 0.6803833381235691720718712D-01, & 0.5490469597583519192593686D-01, & 0.4093915670130631265562402D-01, & 0.2635498661503213726190216D-01, & 0.1139379850102628794789998D-01 /) real ( kind = rk ) :: OddW13(13) = (/ & 0.1134763461089651486203700D+00, & 0.1112524883568451926721632D+00, & 0.1075782857885331872121629D+00, & 0.1025016378177457986712478D+00, & 0.9608872737002850756565252D-01, & 0.8842315854375695019432262D-01, & 0.7960486777305777126307488D-01, & 0.6974882376624559298432254D-01, & 0.5898353685983359911030058D-01, & 0.4744941252061506270409646D-01, & 0.3529705375741971102257772D-01, & 0.2268623159618062319603554D-01, & 0.9798996051294360261149438D-02 /) real ( kind = rk ) :: OddW14(14) = (/ & 0.1058761550973209414065914D+00, & 0.1040733100777293739133284D+00, & 0.1010912737599149661218204D+00, & 0.9696383409440860630190016D-01, & 0.9173775713925876334796636D-01, & 0.8547225736617252754534480D-01, & 0.7823832713576378382814484D-01, & 0.7011793325505127856958160D-01, & 0.6120309065707913854210970D-01, & 0.5159482690249792391259412D-01, & 0.4140206251868283610482948D-01, & 0.3074049220209362264440778D-01, & 0.1973208505612270598385931D-01, & 0.8516903878746409654261436D-02 /) real ( kind = rk ) :: OddW15(15) = (/ & 0.9922501122667230787487546D-01, & 0.9774333538632872509347402D-01, & 0.9529024291231951280720412D-01, & 0.9189011389364147821536290D-01, & 0.8757674060847787612619794D-01, & 0.8239299176158926390382334D-01, & 0.7639038659877661642635764D-01, & 0.6962858323541036616775632D-01, & 0.6217478656102842691034334D-01, & 0.5410308242491685371166596D-01, & 0.4549370752720110290231576D-01, & 0.3643227391238546402439264D-01, & 0.2700901918497942180060860D-01, & 0.1731862079031058246315918D-01, & 0.7470831579248775858700554D-02 /) real ( kind = rk ) :: OddW16(16) = (/ & 0.9335642606559611616099912D-01, & 0.9212398664331684621324104D-01, & 0.9008195866063857723974370D-01, & 0.8724828761884433760728158D-01, & 0.8364787606703870761392808D-01, & 0.7931236479488673836390848D-01, & 0.7427985484395414934247216D-01, & 0.6859457281865671280595482D-01, & 0.6230648253031748003162750D-01, & 0.5547084663166356128494468D-01, & 0.4814774281871169567014706D-01, & 0.4040154133166959156340938D-01, & 0.3230035863232895328156104D-01, & 0.2391554810174948035053310D-01, & 0.1532170151293467612794584D-01, & 0.6606227847587378058647800D-02 /) real ( kind = rk ) :: OddW17(17) = (/ & 0.8814053043027546297073886D-01, & 0.8710444699718353424332214D-01, & 0.8538665339209912522594402D-01, & 0.8300059372885658837992644D-01, & 0.7996494224232426293266204D-01, & 0.7630345715544205353865872D-01, & 0.7204479477256006466546180D-01, & 0.6722228526908690396430546D-01, & 0.6187367196608018888701398D-01, & 0.5604081621237012857832772D-01, & 0.4976937040135352980519956D-01, & 0.4310842232617021878230592D-01, & 0.3611011586346338053271748D-01, & 0.2882926010889425404871630D-01, & 0.2132297991148358088343844D-01, & 0.1365082834836149226640441D-01, & 0.5883433420443084975750336D-02 /) real ( kind = rk ) :: OddW18(18) = (/ & 0.8347457362586278725225302D-01, & 0.8259527223643725089123018D-01, & 0.8113662450846503050987774D-01, & 0.7910886183752938076721222D-01, & 0.7652620757052923788588804D-01, & 0.7340677724848817272462668D-01, & 0.6977245155570034488508154D-01, & 0.6564872287275124948402376D-01, & 0.6106451652322598613098804D-01, & 0.5605198799827491780853916D-01, & 0.5064629765482460160387558D-01, & 0.4488536466243716665741054D-01, & 0.3880960250193454448896226D-01, & 0.3246163984752148106723444D-01, & 0.2588603699055893352275954D-01, & 0.1912904448908396604350259D-01, & 0.1223878010030755652630649D-01, & 0.5273057279497939351724544D-02 /) real ( kind = rk ) :: OddW19(19) = (/ & 0.7927622256836847101015574D-01, & 0.7852361328737117672506330D-01, & 0.7727455254468201672851160D-01, & 0.7553693732283605770478448D-01, & 0.7332175341426861738115402D-01, & 0.7064300597060876077011486D-01, & 0.6751763096623126536302120D-01, & 0.6396538813868238898670650D-01, & 0.6000873608859614957494160D-01, & 0.5567269034091629990739094D-01, & 0.5098466529212940521402098D-01, & 0.4597430110891663188417682D-01, & 0.4067327684793384393905618D-01, & 0.3511511149813133076106530D-01, & 0.2933495598390337859215654D-01, & 0.2336938483217816459471240D-01, & 0.1725622909372491904080491D-01, & 0.1103478893916459424267603D-01, & 0.4752944691635101370775866D-02 /) real ( kind = rk ) :: OddW20(20) = (/ & 0.7547874709271582402724706D-01, & 0.7482962317622155189130518D-01, & 0.7375188202722346993928094D-01, & 0.7225169686102307339634646D-01, & 0.7033766062081749748165896D-01, & 0.6802073676087676673553342D-01, & 0.6531419645352741043616384D-01, & 0.6223354258096631647157330D-01, & 0.5879642094987194499118590D-01, & 0.5502251924257874188014710D-01, & 0.5093345429461749478117008D-01, & 0.4655264836901434206075674D-01, & 0.4190519519590968942934048D-01, & 0.3701771670350798843526154D-01, & 0.3191821173169928178706676D-01, & 0.2663589920711044546754900D-01, & 0.2120106336877955307569710D-01, & 0.1564493840781858853082666D-01, & 0.9999938773905945338496546D-02, & 0.4306140358164887684003630D-02 /) real ( kind = rk ) :: OddW21(21) = (/ & 0.7202750197142197434530754D-01, & 0.7146373425251414129758106D-01, & 0.7052738776508502812628636D-01, & 0.6922334419365668428229950D-01, & 0.6755840222936516919240796D-01, & 0.6554124212632279749123378D-01, & 0.6318238044939611232562970D-01, & 0.6049411524999129451967862D-01, & 0.5749046195691051942760910D-01, & 0.5418708031888178686337342D-01, & 0.5060119278439015652385048D-01, & 0.4675149475434658001064704D-01, & 0.4265805719798208376380686D-01, & 0.3834222219413265757212856D-01, & 0.3382649208686029234496834D-01, & 0.2913441326149849491594084D-01, & 0.2429045661383881590201850D-01, & 0.1931990142368390039612543D-01, & 0.1424875643157648610854214D-01, & 0.9103996637401403318866628D-02, & 0.3919490253844127282968528D-02 /) real ( kind = rk ) :: OddW22(22) = (/ & 0.6887731697766132288200278D-01, & 0.6838457737866967453169206D-01, & 0.6756595416360753627091012D-01, & 0.6642534844984252808291474D-01, & 0.6496819575072343085382664D-01, & 0.6320144007381993774996374D-01, & 0.6113350083106652250188634D-01, & 0.5877423271884173857436156D-01, & 0.5613487875978647664392382D-01, & 0.5322801673126895194590376D-01, & 0.5006749923795202979913194D-01, & 0.4666838771837336526776814D-01, & 0.4304688070916497115169120D-01, & 0.3922023672930244756418756D-01, & 0.3520669220160901624770010D-01, & 0.3102537493451546716250854D-01, & 0.2669621396757766480567536D-01, & 0.2223984755057873239395080D-01, & 0.1767753525793759061709347D-01, & 0.1303110499158278432063191D-01, & 0.8323189296218241645734836D-02, & 0.3582663155283558931145652D-02 /) real ( kind = rk ) :: OddW23(23) = (/ & 0.6599053358881047453357062D-01, & 0.6555737776654974025114294D-01, & 0.6483755623894572670260402D-01, & 0.6383421660571703063129384D-01, & 0.6255174622092166264056434D-01, & 0.6099575300873964533071060D-01, & 0.5917304094233887597615438D-01, & 0.5709158029323154022201646D-01, & 0.5476047278153022595712512D-01, & 0.5218991178005714487221170D-01, & 0.4939113774736116960457022D-01, & 0.4637638908650591120440168D-01, & 0.4315884864847953826830162D-01, & 0.3975258612253100378090162D-01, & 0.3617249658417495161345948D-01, & 0.3243423551518475676761786D-01, & 0.2855415070064338650473990D-01, & 0.2454921165965881853783378D-01, & 0.2043693814766842764203432D-01, & 0.1623533314643305967072624D-01, & 0.1196284846431232096394232D-01, & 0.7638616295848833614105174D-02, & 0.3287453842528014883248206D-02 /) real ( kind = rk ) :: OddW24(24) = (/ & 0.6333550929649174859083696D-01, & 0.6295270746519569947439960D-01, & 0.6231641732005726740107682D-01, & 0.6142920097919293629682652D-01, & 0.6029463095315201730310616D-01, & 0.5891727576002726602452756D-01, & 0.5730268153018747548516450D-01, & 0.5545734967480358869043158D-01, & 0.5338871070825896852794302D-01, & 0.5110509433014459067462262D-01, & 0.4861569588782824027765094D-01, & 0.4593053935559585354249958D-01, & 0.4306043698125959798834538D-01, & 0.4001694576637302136860494D-01, & 0.3681232096300068981946734D-01, & 0.3345946679162217434248744D-01, & 0.2997188462058382535069014D-01, & 0.2636361892706601696094518D-01, & 0.2264920158744667649877160D-01, & 0.1884359585308945844445106D-01, & 0.1496214493562465102958377D-01, & 0.1102055103159358049750846D-01, & 0.7035099590086451473452956D-02, & 0.3027278988922905077484090D-02 /) real ( kind = rk ) :: OddW25(25) = (/ & 0.6088546484485634388119860D-01, & 0.6054550693473779513812526D-01, & 0.5998031577750325209006396D-01, & 0.5919199392296154378353896D-01, & 0.5818347398259214059843780D-01, & 0.5695850772025866210007778D-01, & 0.5552165209573869301673704D-01, & 0.5387825231304556143409938D-01, & 0.5203442193669708756413650D-01, & 0.4999702015005740977954886D-01, & 0.4777362624062310199999514D-01, & 0.4537251140765006874816670D-01, & 0.4280260799788008665360980D-01, & 0.4007347628549645318680892D-01, & 0.3719526892326029284290846D-01, & 0.3417869320418833623620910D-01, & 0.3103497129016000845442504D-01, & 0.2777579859416247719599602D-01, & 0.2441330057378143427314164D-01, & 0.2095998840170321057979252D-01, & 0.1742871472340105225950284D-01, & 0.1383263400647782229668883D-01, & 0.1018519129782172993923731D-01, & 0.6500337783252600292109494D-02, & 0.2796807171089895575547228D-02 /) real ( kind = rk ) :: OddW26(26) = (/ & 0.5861758623272026331807196D-01, & 0.5831431136225600755627570D-01, & 0.5781001499171319631968304D-01, & 0.5710643553626719177338328D-01, & 0.5620599838173970980865512D-01, & 0.5511180752393359900234954D-01, & 0.5382763486873102904208140D-01, & 0.5235790722987271819970160D-01, & 0.5070769106929271529648556D-01, & 0.4888267503269914042044844D-01, & 0.4688915034075031402187278D-01, & 0.4473398910367281021276570D-01, & 0.4242462063452001359228150D-01, & 0.3996900584354038212709364D-01, & 0.3737560980348291567417214D-01, & 0.3465337258353423795838740D-01, & 0.3181167845901932306323576D-01, & 0.2886032361782373626279970D-01, & 0.2580948251075751771396152D-01, & 0.2266967305707020839878928D-01, & 0.1945172110763689538804750D-01, & 0.1616672525668746392806095D-01, & 0.1282602614424037917915135D-01, & 0.9441202284940344386662890D-02, & 0.6024276226948673281242120D-02, & 0.2591683720567031811603734D-02 /) real ( kind = rk ) :: OddW27(27) = (/ & 0.5651231824977200140065834D-01, & 0.5624063407108436802827906D-01, & 0.5578879419528408710293598D-01, & 0.5515824600250868759665114D-01, & 0.5435100932991110207032224D-01, & 0.5336967000160547272357054D-01, & 0.5221737154563208456439348D-01, & 0.5089780512449397922477522D-01, & 0.4941519771155173948075862D-01, & 0.4777429855120069555003682D-01, & 0.4598036394628383810390480D-01, & 0.4403914042160658989516800D-01, & 0.4195684631771876239520718D-01, & 0.3974015187433717960946388D-01, & 0.3739615786796554528291572D-01, & 0.3493237287358988740726862D-01, & 0.3235668922618583168470572D-01, & 0.2967735776516104122129630D-01, & 0.2690296145639627066711996D-01, & 0.2404238800972562200779126D-01, & 0.2110480166801645412020978D-01, & 0.1809961452072906240796732D-01, & 0.1503645833351178821315019D-01, & 0.1192516071984861217075236D-01, & 0.8775746107058528177390204D-02, & 0.5598632266560767354082364D-02, & 0.2408323619979788819164582D-02 /) real ( kind = rk ) :: OddW28(28) = (/ & 0.5455280360476188648013898D-01, & 0.5430847145249864313874678D-01, & 0.5390206148329857464280950D-01, & 0.5333478658481915842657698D-01, & 0.5260833972917743244023134D-01, & 0.5172488892051782472062386D-01, & 0.5068707072492740865664050D-01, & 0.4949798240201967899383808D-01, & 0.4816117266168775126885110D-01, & 0.4668063107364150378384082D-01, & 0.4506077616138115779721374D-01, & 0.4330644221621519659643210D-01, & 0.4142286487080111036319668D-01, & 0.3941566547548011408995280D-01, & 0.3729083432441731735473546D-01, & 0.3505471278231261750575064D-01, & 0.3271397436637156854248994D-01, & 0.3027560484269399945849064D-01, & 0.2774688140218019232125814D-01, & 0.2513535099091812264727322D-01, & 0.2244880789077643807968978D-01, & 0.1969527069948852038242318D-01, & 0.1688295902344154903500062D-01, & 0.1402027079075355617024753D-01, & 0.1111576373233599014567619D-01, & 0.8178160067821232626211086D-02, & 0.5216533474718779390504886D-02, & 0.2243753872250662909727492D-02 /) real ( kind = rk ) :: OddW29(29) = (/ & 0.5272443385912793196130422D-01, & 0.5250390264782873905094128D-01, & 0.5213703364837539138398724D-01, & 0.5162484939089148214644000D-01, & 0.5096877742539391685024800D-01, & 0.5017064634299690281072034D-01, & 0.4923268067936198577969374D-01, & 0.4815749471460644038814684D-01, & 0.4694808518696201919315986D-01, & 0.4560782294050976983186828D-01, & 0.4414044353029738069079808D-01, & 0.4255003681106763866730838D-01, & 0.4084103553868670766020196D-01, & 0.3901820301616000950303072D-01, & 0.3708661981887092269183778D-01, & 0.3505166963640010878371850D-01, & 0.3291902427104527775751116D-01, & 0.3069462783611168323975056D-01, & 0.2838468020053479790515332D-01, & 0.2599561973129850018665014D-01, & 0.2353410539371336342527500D-01, & 0.2100699828843718735046168D-01, & 0.1842134275361002936061624D-01, & 0.1578434731308146614732024D-01, & 0.1310336630634519101831859D-01, & 0.1038588550099586219379846D-01, & 0.7639529453487575142699186D-02, & 0.4872239168265284768580414D-02, & 0.2095492284541223402697724D-02 /) real ( kind = rk ) :: OddW30(30) = (/ & 0.5101448703869726354373512D-01, & 0.5081476366881834320770052D-01, & 0.5048247038679740464814450D-01, & 0.5001847410817825342505160D-01, & 0.4942398534673558993996884D-01, & 0.4870055505641152608753004D-01, & 0.4785007058509560716183348D-01, & 0.4687475075080906597642932D-01, & 0.4577714005314595937133982D-01, & 0.4456010203508348827154136D-01, & 0.4322681181249609790104358D-01, & 0.4178074779088849206667564D-01, & 0.4022568259099824736764020D-01, & 0.3856567320700817274615216D-01, & 0.3680505042315481738432126D-01, & 0.3494840751653335109085198D-01, & 0.3300058827590741063272390D-01, & 0.3096667436839739482469792D-01, & 0.2885197208818340150434184D-01, & 0.2666199852415088966281066D-01, & 0.2440246718754420291534050D-01, & 0.2207927314831904400247522D-01, & 0.1969847774610118133051782D-01, & 0.1726629298761374359443389D-01, & 0.1478906588493791454617878D-01, & 0.1227326350781210462927897D-01, & 0.9725461830356133736135366D-02, & 0.7152354991749089585834616D-02, & 0.4560924006012417184541648D-02, & 0.1961453361670282671779431D-02 /) real ( kind = rk ) :: OddW31(31) = (/ & 0.4941183303991817896703964D-01, & 0.4923038042374756078504314D-01, & 0.4892845282051198994470936D-01, & 0.4850678909788384786409014D-01, & 0.4796642113799513141105276D-01, & 0.4730867131226891908060508D-01, & 0.4653514924538369651039536D-01, & 0.4564774787629260868588592D-01, & 0.4464863882594139537033256D-01, & 0.4354026708302759079896428D-01, & 0.4232534502081582298250554D-01, & 0.4100684575966639863511004D-01, & 0.3958799589154409398480778D-01, & 0.3807226758434955676363856D-01, & 0.3646337008545728963045232D-01, & 0.3476524064535587769718026D-01, & 0.3298203488377934176568344D-01, & 0.3111811662221981750821608D-01, & 0.2917804720828052694555162D-01, & 0.2716657435909793322519012D-01, & 0.2508862055334498661862972D-01, & 0.2294927100488993314894282D-01, & 0.2075376125803909077534152D-01, & 0.1850746446016127040926083D-01, & 0.1621587841033833888228333D-01, & 0.1388461261611561082486681D-01, & 0.1151937607688004175075116D-01, & 0.9125968676326656354058462D-02, & 0.6710291765960136251908410D-02, & 0.4278508346863761866081200D-02, & 0.1839874595577084117085868D-02 /) real ( kind = rk ) :: OddW32(32) = (/ & 0.4790669250049586203134730D-01, & 0.4774134868124062155903898D-01, & 0.4746619823288550315264446D-01, & 0.4708187401045452224600686D-01, & 0.4658925997223349830225508D-01, & 0.4598948914665169696389334D-01, & 0.4528394102630023065712822D-01, & 0.4447423839508297442732352D-01, & 0.4356224359580048653228480D-01, & 0.4255005424675580271921714D-01, & 0.4143999841724029302268646D-01, & 0.4023462927300553381544642D-01, & 0.3893671920405119761667398D-01, & 0.3754925344825770980977246D-01, & 0.3607542322556527393216642D-01, & 0.3451861839854905862522142D-01, & 0.3288241967636857498404946D-01, & 0.3117059038018914246443218D-01, & 0.2938706778931066806264472D-01, & 0.2753595408845034394249940D-01, & 0.2562150693803775821408458D-01, & 0.2364812969128723669878144D-01, & 0.2162036128493406284165378D-01, & 0.1954286583675006282683714D-01, & 0.1742042199767024849536596D-01, & 0.1525791214644831034926464D-01, & 0.1306031163999484633616732D-01, & 0.1083267878959796862151440D-01, & 0.8580148266881459893636434D-02, & 0.6307942578971754550189764D-02, & 0.4021524172003736347075858D-02, & 0.1729258251300250898337759D-02 /) real ( kind = rk ) :: OddW33(33) = (/ & 0.4649043816026462820831466D-01, & 0.4633935168241562110844706D-01, & 0.4608790448976157619721740D-01, & 0.4573664116106369093689412D-01, & 0.4528632245466953156805004D-01, & 0.4473792366088982547214182D-01, & 0.4409263248975101830783160D-01, & 0.4335184649869951735915584D-01, & 0.4251717006583049147154770D-01, & 0.4159041091519924309854838D-01, & 0.4057357620174452522725164D-01, & 0.3946886816430888264288692D-01, & 0.3827867935617948064763712D-01, & 0.3700558746349258202313488D-01, & 0.3565234972274500666133270D-01, & 0.3422189694953664673983902D-01, & 0.3271732719153120542712204D-01, & 0.3114189901947282393742616D-01, & 0.2949902447094566969584718D-01, & 0.2779226166243676998720012D-01, & 0.2602530708621323880370460D-01, & 0.2420198760967316472069180D-01, & 0.2232625219645207692279754D-01, & 0.2040216337134354044925720D-01, & 0.1843388845680457387216616D-01, & 0.1642569062253087920472674D-01, & 0.1438191982720055093097663D-01, & 0.1230700384928815052195302D-01, & 0.1020544003410244098666155D-01, & 0.8081790299023136215346300D-02, & 0.5940693177582235216514606D-02, & 0.3787008301825508445960626D-02, & 0.1628325035240012866460003D-02 /) real ( kind = rk ) :: OddW34(34) = (/ & 0.4515543023614546051651704D-01, & 0.4501700814039980219871620D-01, & 0.4478661887831255754213528D-01, & 0.4446473312204713809623108D-01, & 0.4405200846590928438098588D-01, & 0.4354928808292674103357578D-01, & 0.4295759900230521387841984D-01, & 0.4227815001128051285158270D-01, & 0.4151232918565450208287406D-01, & 0.4066170105406160053752604D-01, & 0.3972800340176164120645862D-01, & 0.3871314372049251393273936D-01, & 0.3761919531164090650815840D-01, & 0.3644839305070051405664348D-01, & 0.3520312882168348614775456D-01, & 0.3388594663083228949780964D-01, & 0.3249953740964611124473418D-01, & 0.3104673351789053903268552D-01, & 0.2953050295790671177981110D-01, & 0.2795394331218770599086132D-01, & 0.2632027541686948379176090D-01, & 0.2463283678454245536433616D-01, & 0.2289507479074078565552120D-01, & 0.2111053963987189462789068D-01, & 0.1928287712884940278924393D-01, & 0.1741582123196982913207401D-01, & 0.1551318654340616473976910D-01, & 0.1357886064907567099981112D-01, & 0.1161679661067196554873961D-01, & 0.9631006150415575588660562D-02, & 0.7625555931201510611459992D-02, & 0.5604579927870594828535346D-02, & 0.3572416739397372609702552D-02, & 0.1535976952792084075135094D-02 /) real ( kind = rk ) :: OddW35(35) = (/ & 0.4389487921178858632125256D-01, & 0.4376774491340214497230982D-01, & 0.4355612710410853337113396D-01, & 0.4326043426324126659885626D-01, & 0.4288123715758043502060704D-01, & 0.4241926773962459303533940D-01, & 0.4187541773473300618954268D-01, & 0.4125073691986602424910896D-01, & 0.4054643109724689643492514D-01, & 0.3976385976685758167433708D-01, & 0.3890453350226294749240264D-01, & 0.3797011103483115621441804D-01, & 0.3696239605198203185608278D-01, & 0.3588333371564891077796844D-01, & 0.3473500690768218837536532D-01, & 0.3351963220945403083440624D-01, & 0.3223955562344352694190700D-01, & 0.3089724804509072169860608D-01, & 0.2949530049370881246493644D-01, & 0.2803641911174149061798030D-01, & 0.2652341994215790800810512D-01, & 0.2495922349431387305527612D-01, & 0.2334684910922325263171504D-01, & 0.2168940913598536796183230D-01, & 0.1999010293235011128748561D-01, & 0.1825221070467867050232934D-01, & 0.1647908720746239655059230D-01, & 0.1467415533461152920040808D-01, & 0.1284089966808780607041846D-01, & 0.1098286015429855170627475D-01, & 0.9103626461992005851317578D-02, & 0.7206835281831493387342912D-02, & 0.5296182844025892632677844D-02, & 0.3375555496730675865126842D-02, & 0.1451267330029397268489446D-02 /) real ( kind = rk ) :: OddW36(36) = (/ & 0.4270273086485722207660098D-01, & 0.4258568982601838702576300D-01, & 0.4239085899223159440537396D-01, & 0.4211859425425563626894556D-01, & 0.4176939294869285375410172D-01, & 0.4134389294952549452688336D-01, & 0.4084287150293886154936056D-01, & 0.4026724380756003336494178D-01, & 0.3961806134270614331650800D-01, & 0.3889650994769673952047552D-01, & 0.3810390765573980059550798D-01, & 0.3724170228634977315689404D-01, & 0.3631146880069778469034650D-01, & 0.3531490642472828750906318D-01, & 0.3425383554530221541412972D-01, & 0.3313019438504384067706900D-01, & 0.3194603546197670648650132D-01, & 0.3070352184043350493812614D-01, & 0.2940492318011656010545704D-01, & 0.2805261159057206032380240D-01, & 0.2664905729872748295223048D-01, & 0.2519682413753831281333190D-01, & 0.2369856486421897462660896D-01, & 0.2215701631704007205676952D-01, & 0.2057499442036116916601972D-01, & 0.1895538904867002168973610D-01, & 0.1730115876248908300560664D-01, & 0.1561532543359142299553300D-01, & 0.1390096878831465086752053D-01, & 0.1216122092928111272776412D-01, & 0.1039926099500053220130511D-01, & 0.8618310479532247613912182D-02, & 0.6821631349174792362208078D-02, & 0.5012538571606190263812266D-02, & 0.3194524377289034522078870D-02, & 0.1373376462759619223985654D-02 /) real ( kind = rk ) :: OddW37(37) = (/ & 0.4157356944178127878299940D-01, & 0.4146558103261909213524834D-01, & 0.4128580808246718908346088D-01, & 0.4103456181139210667622250D-01, & 0.4071227717293733029875788D-01, & 0.4031951210114157755817430D-01, & 0.3985694654465635257596536D-01, & 0.3932538128963516252076754D-01, & 0.3872573657343257584146640D-01, & 0.3805905049151360313563098D-01, & 0.3732647720033209016730652D-01, & 0.3652928491929033900685118D-01, & 0.3566885373524045308911856D-01, & 0.3474667321333040653509838D-01, & 0.3376433981833409264695562D-01, & 0.3272355415093422052152286D-01, & 0.3162611800374964805603220D-01, & 0.3047393124221453920313760D-01, & 0.2926898851572598680503318D-01, & 0.2801337580478054082525924D-01, & 0.2670926681012085177235442D-01, & 0.2535891919021637909420806D-01, & 0.2396467065371695917476570D-01, & 0.2252893491386577645054636D-01, & 0.2105419751228284223644546D-01, & 0.1954301152012788937957076D-01, & 0.1799799312564505063794604D-01, & 0.1642181711902464004359937D-01, & 0.1481721228981446852013731D-01, & 0.1318695676282480211961300D-01, & 0.1153387332830449596681366D-01, & 0.9860824916114018392051822D-02, & 0.8170710707327826403717118D-02, & 0.6466464907037538401963982D-02, & 0.4751069185015273965898868D-02, & 0.3027671014606041291230134D-02, & 0.1301591717375855993899257D-02 /) real ( kind = rk ) :: OddW38(38) = (/ & 0.4050253572678803195524960D-01, & 0.4040269003221775617032620D-01, & 0.4023646282485108419526524D-01, & 0.4000412721559123741035150D-01, & 0.3970606493128931068103760D-01, & 0.3934276568757015193713232D-01, & 0.3891482638423378562103292D-01, & 0.3842295012455452367368120D-01, & 0.3786794506008932026166678D-01, & 0.3725072306289371887876038D-01, & 0.3657229822732745453345840D-01, & 0.3583378520391196260264276D-01, & 0.3503639736797827845487748D-01, & 0.3418144482611567926531782D-01, & 0.3327033226369854530283962D-01, & 0.3230455663703097559357210D-01, & 0.3128570471390543339395640D-01, & 0.3021545046662299869139892D-01, & 0.2909555232176876134870268D-01, & 0.2792785027127696854150716D-01, & 0.2671426284955789083200264D-01, & 0.2545678398169440375263742D-01, & 0.2415747970795584494059388D-01, & 0.2281848479012952051290956D-01, & 0.2144199920545613550512462D-01, & 0.2003028453431617639624646D-01, & 0.1858566024834148550917969D-01, & 0.1711049990653110417623953D-01, & 0.1560722726874913129508073D-01, & 0.1407831234002700405016720D-01, & 0.1252626736922736518735940D-01, & 0.1095364285391135423859170D-01, & 0.9363023692386430769260798D-02, & 0.7757025950083070731841176D-02, & 0.6138296159756341839268696D-02, & 0.4509523600205835333238688D-02, & 0.2873553083652691657275240D-02, & 0.1235291177139409614163874D-02 /) real ( kind = rk ) :: OddW39(39) = (/ & 0.3948525740129116475372166D-01, & 0.3939275600474300393426418D-01, & 0.3923874749659464355491890D-01, & 0.3902347234287979602650502D-01, & 0.3874726667023996706818530D-01, & 0.3841056174110417740541666D-01, & 0.3801388328032604954551756D-01, & 0.3755785065432977047790708D-01, & 0.3704317590404678415983790D-01, & 0.3647066263315342752925638D-01, & 0.3584120475334575228920704D-01, & 0.3515578508861113112825058D-01, & 0.3441547384067660088259166D-01, & 0.3362142691803093004992252D-01, & 0.3277488413113081785342150D-01, & 0.3187716725661117036051890D-01, & 0.3092967797352483528829388D-01, & 0.2993389567483836289564858D-01, & 0.2889137515760726678163634D-01, & 0.2780374419544705894443552D-01, & 0.2667270099710555653788310D-01, & 0.2550001155512877394733978D-01, & 0.2428750688879949263942200D-01, & 0.2303708018571902627697914D-01, & 0.2175068384660807976864198D-01, & 0.2043032643814085987844290D-01, & 0.1907806955893748858478357D-01, & 0.1769602462431041786466318D-01, & 0.1628634957619168209183741D-01, & 0.1485124552635006931857919D-01, & 0.1339295334482567619730830D-01, & 0.1191375021511699869960077D-01, & 0.1041594620451338257918368D-01, & 0.8901880982652486253740074D-02, & 0.7373921131330176830391914D-02, & 0.5834459868763465589211910D-02, & 0.4285929113126531218219446D-02, & 0.2730907065754855918535274D-02, & 0.1173930129956613021207112D-02 /) real ( kind = rk ) :: OddW40(40) = (/ & 0.3851778959688469523783810D-01, & 0.3843192958037517210025656D-01, & 0.3828897129558352443032002D-01, & 0.3808912713547560183102332D-01, & 0.3783269400830055924757518D-01, & 0.3752005289647583785923924D-01, & 0.3715166829056371214474266D-01, & 0.3672808749918043951690600D-01, & 0.3624993983586341279832570D-01, & 0.3571793568410456853072614D-01, & 0.3513286544193937941597898D-01, & 0.3449559834765979589474544D-01, & 0.3380708118839624555119598D-01, & 0.3306833689348800442087536D-01, & 0.3228046301473268887240310D-01, & 0.3144463009577406641803652D-01, & 0.3056207993305266189565968D-01, & 0.2963412373090559765847516D-01, & 0.2866214015356067622579182D-01, & 0.2764757327692492691108618D-01, & 0.2659193044321992109092004D-01, & 0.2549678002166567706947970D-01, & 0.2436374907856309733249090D-01, & 0.2319452096027391988145570D-01, & 0.2199083279275163277050144D-01, & 0.2075447290144560853952252D-01, & 0.1948727815560191821592671D-01, & 0.1819113124125576115176324D-01, & 0.1686795786763513947433495D-01, & 0.1551972391246436293824549D-01, & 0.1414843251323606554825229D-01, & 0.1275612111513442100025550D-01, & 0.1134485849541625576200880D-01, & 0.9916741809595875499750926D-02, & 0.8473893785345565449616918D-02, & 0.7018460484931625511609624D-02, & 0.5552611370256278902273182D-02, & 0.4078551113421395586018386D-02, & 0.2598622299928953013499446D-02, & 0.1117029847124606606122469D-02 /) real ( kind = rk ) :: OddW41(41) = (/ & 0.3759656394395517759196934D-01, & 0.3751672450373727271505762D-01, & 0.3738378433575740441091762D-01, & 0.3719793160197673054400130D-01, & 0.3695942935618497107975802D-01, & 0.3666861517167809004390068D-01, & 0.3632590066346228889989584D-01, & 0.3593177090566064734733082D-01, & 0.3548678374494710264584324D-01, & 0.3499156901097965473152462D-01, & 0.3444682762495051683252180D-01, & 0.3385333060751519869931002D-01, & 0.3321191798750501518117324D-01, & 0.3252349761296806599129116D-01, & 0.3178904386622215064354856D-01, & 0.3100959628473919484306724D-01, & 0.3018625808981441705410184D-01, & 0.2932019462510452791804122D-01, & 0.2841263170724764156375054D-01, & 0.2746485389090326123892810D-01, & 0.2647820265067376248510830D-01, & 0.2545407448248949675081806D-01, & 0.2439391892715855749743432D-01, & 0.2329923651890054937016126D-01, & 0.2217157666180362262199056D-01, & 0.2101253543726991787400918D-01, & 0.1982375334565493904931242D-01, & 0.1860691298547847284166721D-01, & 0.1736373667382462235016547D-01, & 0.1609598401193537091543832D-01, & 0.1480544940071787768084914D-01, & 0.1349395951237523498069998D-01, & 0.1216337072779861206303406D-01, & 0.1081556655803715872036043D-01, & 0.9452455092479699888244178D-02, & 0.8075966593123452283593892D-02, & 0.6688051635243685741358420D-02, & 0.5290681445859865555240374D-02, & 0.3885859435353202192003776D-02, & 0.2475719322545939743331242D-02, & 0.1064168219666567756385077D-02 /) real ( kind = rk ) :: OddW42(42) = (/ & 0.3671834473341961622215226D-01, & 0.3664397593378570248640692D-01, & 0.3652013948874488485747660D-01, & 0.3634700257169520376675674D-01, & 0.3612479890936246037475190D-01, & 0.3585382846628081255691520D-01, & 0.3553445703985569908199156D-01, & 0.3516711576655578824981280D-01, & 0.3475230053990063752924744D-01, & 0.3429057134102984670822224D-01, & 0.3378255148275753033131186D-01, & 0.3322892676813276976252854D-01, & 0.3263044456464217818903764D-01, & 0.3198791279530467445976990D-01, & 0.3130219884802087044839684D-01, & 0.3057422840464999572392432D-01, & 0.2980498419139588737561256D-01, & 0.2899550465219015208986610D-01, & 0.2814688254686507584638292D-01, & 0.2726026347601116478577010D-01, & 0.2633684433451435982173160D-01, & 0.2537787169586608847736972D-01, & 0.2438464012943568314241580D-01, & 0.2335849045298989189769872D-01, & 0.2230080792283937418945736D-01, & 0.2121302036408937967241628D-01, & 0.2009659624357542174179408D-01, & 0.1895304268818284044680496D-01, & 0.1778390345139817090774314D-01, & 0.1659075683115467007520452D-01, & 0.1537521354238962687440865D-01, & 0.1413891454840083293055609D-01, & 0.1288352885649808429050626D-01, & 0.1161075128670389800962475D-01, & 0.1032230023052424589381722D-01, & 0.9019915439993631278967098D-02, & 0.7705355960382757079897960D-02, & 0.6380398587897515098686098D-02, & 0.5046838426924442725450432D-02, & 0.3706500125759316706868292D-02, & 0.2361331704285020896763904D-02, & 0.1014971908967743695374167D-02 /) real ( kind = rk ) :: OddW43(43) = (/ & 0.3588019106018701587773518D-01, & 0.3581080434383374175662560D-01, & 0.3569525919440943377647946D-01, & 0.3553370454416059391133478D-01, & 0.3532634862941021369843054D-01, & 0.3507345872215153655662536D-01, & 0.3477536078554782924871120D-01, & 0.3443243905378224376593820D-01, & 0.3404513553679937345518354D-01, & 0.3361394945057693558422230D-01, & 0.3313943657366202353628890D-01, & 0.3262220853080144392580048D-01, & 0.3206293200458966777765818D-01, & 0.3146232787615076393796228D-01, & 0.3082117029596223415371898D-01, & 0.3014028568601882474395096D-01, & 0.2942055167462304824922484D-01, & 0.2866289596517621838858744D-01, & 0.2786829514042920598963448D-01, & 0.2703777340373580728397710D-01, & 0.2617240125893355894972542D-01, & 0.2527329413055707316411874D-01, & 0.2434161092616763233921348D-01, & 0.2337855254266017225782364D-01, & 0.2238536031848547821419758D-01, & 0.2136331443380253159361604D-01, & 0.2031373226065556952656956D-01, & 0.1923796666535655878505047D-01, & 0.1813740426535425205021816D-01, & 0.1701346364300153443364516D-01, & 0.1586759351882631900292224D-01, & 0.1470127088723984222989451D-01, & 0.1351599911824565808188095D-01, & 0.1231330603004803654228712D-01, & 0.1109474194056071927972064D-01, & 0.9861877713701826716584494D-02, & 0.8616302838488951832949878D-02, & 0.7359623648818063660769462D-02, & 0.6093462047634872130101964D-02, & 0.4819456238501885899307624D-02, & 0.3539271655388628540179688D-02, & 0.2254690753752853092482060D-02, & 0.9691097381770753376096654D-03 /) real ( kind = rk ) :: OddW44(44) = (/ & 0.3507942401790202531716760D-01, & 0.3501458416619644336915306D-01, & 0.3490660650856070989101148D-01, & 0.3475562407298142092081152D-01, & 0.3456182286913780813643384D-01, & 0.3432544165923908781796544D-01, & 0.3404677166387108716735582D-01, & 0.3372615620321457070630952D-01, & 0.3336399027407732093971928D-01, & 0.3296072006326111707429234D-01, & 0.3251684239786320696758578D-01, & 0.3203290413318958550703170D-01, & 0.3150950147903428365879858D-01, & 0.3094727926515484478947892D-01, & 0.3034693014684912934340756D-01, & 0.2970919375161245962730194D-01, & 0.2903485576792681183001942D-01, & 0.2832474697730520722803496D-01, & 0.2757974223078458253347716D-01, & 0.2680075937112917771256550D-01, & 0.2598875810207383625148160D-01, & 0.2514473880600256862281534D-01, & 0.2426974131152233927366188D-01, & 0.2336484361245544582716880D-01, & 0.2243116053983636712835892D-01, & 0.2146984238856114084341254D-01, & 0.2048207350040027021224486D-01, & 0.1946907080515187313867415D-01, & 0.1843208232178411567584622D-01, & 0.1737238562150240166964102D-01, & 0.1629128625479238457754130D-01, & 0.1519011614466612339747308D-01, & 0.1407023194864448281388687D-01, & 0.1293301339260267729158710D-01, & 0.1177986158087489217661933D-01, & 0.1061219728997218803268093D-01, & 0.9431459260797890539711922D-02, & 0.8239102525389078730572362D-02, & 0.7036596870989114137389446D-02, & 0.5825425788770107459644064D-02, & 0.4607087343463241433054622D-02, & 0.3383104792407455132632698D-02, & 0.2155112582219113764637582D-02, & 0.9262871051934728155239026D-03 /) real ( kind = rk ) :: OddW45(45) = (/ & 0.3431359817623139857242020D-01, & 0.3425291647165106006719224D-01, & 0.3415185977541012618567448D-01, & 0.3401054720622907866548866D-01, & 0.3382914533369793579365620D-01, & 0.3360786798193575310982430D-01, & 0.3334697597754983863697838D-01, & 0.3304677684219179120016898D-01, & 0.3270762443007278294842040D-01, & 0.3232991851086539448409380D-01, & 0.3191410429848369728859888D-01, & 0.3146067192629708854519032D-01, & 0.3097015586939654421561894D-01, & 0.3044313431459439490344712D-01, & 0.2988022847890037493277136D-01, & 0.2928210187727747971826382D-01, & 0.2864945954054102439649608D-01, & 0.2798304718432316638118606D-01, & 0.2728365033008298027898986D-01, & 0.2655209337919890810307922D-01, & 0.2578923864123601618879028D-01, & 0.2499598531753495743256148D-01, & 0.2417326844132287942221788D-01, & 0.2332205777559880283599600D-01, & 0.2244335667009737337332098D-01, & 0.2153820087868566629622426D-01, & 0.2060765733859846074045938D-01, & 0.1965282291296914660474199D-01, & 0.1867482309816812542178599D-01, & 0.1767481069752190506037194D-01, & 0.1665396446306124017225753D-01, & 0.1561348770705005975095101D-01, & 0.1455460688520869608484063D-01, & 0.1347857015383097919431856D-01, & 0.1238664590355674305453526D-01, & 0.1128012127376968298340906D-01, & 0.1016030065441547672889225D-01, & 0.9028504189234487748913298D-02, & 0.7886066314628901599629988D-02, & 0.6734334432268884665261132D-02, & 0.5574668047479788997832340D-02, & 0.4408439747302676819065170D-02, & 0.3237045507972104977098260D-02, & 0.2061987122032229660677942D-02, & 0.8862412406694141765769646D-03 /) real ( kind = rk ) :: OddW46(46) = (/ & 0.3358047670273290820423322D-01, & 0.3352360509236689973246714D-01, & 0.3342889041048296629425518D-01, & 0.3329643957561578934524218D-01, & 0.3312640210470322597293962D-01, & 0.3291896994430459113247722D-01, & 0.3267437725392241575486392D-01, & 0.3239290014167229270630344D-01, & 0.3207485635259921958171598D-01, & 0.3172060490999230883258760D-01, & 0.3133054571010280192591498D-01, & 0.3090511907072293590876800D-01, & 0.3044480523413530949647580D-01, & 0.2995012382499392416587776D-01, & 0.2942163326374897748551588D-01, & 0.2885993013627770636290672D-01, & 0.2826564852043306435742870D-01, & 0.2763945927027071971311622D-01, & 0.2698206925876273304878794D-01, & 0.2629422057985327475229788D-01, & 0.2557668971075783892217594D-01, & 0.2483028663545258189183534D-01, & 0.2405585393034465615306556D-01, & 0.2325426581315775168991978D-01, & 0.2242642715610957188910656D-01, & 0.2157327246449981801505782D-01, & 0.2069576482186873448858912D-01, & 0.1979489480292792866805571D-01, & 0.1887167935550803461442971D-01, & 0.1792716065281371317885285D-01, & 0.1696240491732901090122756D-01, & 0.1597850121778211678831695D-01, & 0.1497656024067188095391932D-01, & 0.1395771303800797072406999D-01, & 0.1292310975318535045602668D-01, & 0.1187391832744712509861298D-01, & 0.1081132319054248938202577D-01, & 0.9736523941887687826947068D-02, & 0.8650734035428648314139846D-02, & 0.7555179500769820751618632D-02, & 0.6451097794311275889059324D-02, & 0.5339737098169214613757504D-02, & 0.4222357382406607998634106D-02, & 0.3100240403099316775464478D-02, & 0.1974768768686808388940061D-02, & 0.8487371680679110048896640D-03 /) real ( kind = rk ) :: OddW47(47) = (/ & 0.3287800959763194823557646D-01, & 0.3282463569369918669308888D-01, & 0.3273574336068393226919658D-01, & 0.3261142878598215425670652D-01, & 0.3245182648620325926685946D-01, & 0.3225710916161441434734840D-01, & 0.3202748750926769529295728D-01, & 0.3176320999501228029097900D-01, & 0.3146456258463840201321734D-01, & 0.3113186843444399825682258D-01, & 0.3076548754155891475295788D-01, & 0.3036581635440506677724356D-01, & 0.2993328734371411225240016D-01, & 0.2946836853456688237515152D-01, & 0.2897156299996101153484194D-01, & 0.2844340831645486261311894D-01, & 0.2788447598247691424309350D-01, & 0.2729537079993022266578380D-01, & 0.2667673021976135431896846D-01, & 0.2602922365220227153290076D-01, & 0.2535355174243201293660006D-01, & 0.2465044561244261997612948D-01, & 0.2392066606993061007707546D-01, & 0.2316500278507139174920030D-01, & 0.2238427343606939184041926D-01, & 0.2157932282441140120676856D-01, & 0.2075102196078490181790884D-01, & 0.1990026712265721124487174D-01, & 0.1902797888454570639306994D-01, & 0.1813510112204514410759734D-01, & 0.1722259999071698441334003D-01, & 0.1629146288099104326591566D-01, & 0.1534269735028835663459242D-01, & 0.1437733003365908208357459D-01, & 0.1339640553436828544136536D-01, & 0.1240098529611606104018197D-01, & 0.1139214645908584403924275D-01, & 0.1037098070311609684083942D-01, & 0.9338593083876397086740596D-02, & 0.8296100874530990238145090D-02, & 0.7244632443933199672626606D-02, & 0.6185326261033323769312750D-02, & 0.5119330329927718280032034D-02, & 0.4047803316371759906879922D-02, & 0.2971924240818190718436604D-02, & 0.1892968377922935762776147D-02, & 0.8135642494541165010544716D-03 /) real ( kind = rk ) :: OddW48(48) = (/ & 0.3220431459661350533475748D-01, & 0.3215415737958550153577998D-01, & 0.3207061987527279934927952D-01, & 0.3195378880670864194528382D-01, & 0.3180378546007149044495368D-01, & 0.3162076555877401604294910D-01, & 0.3140491910180172362457798D-01, & 0.3115647016646904145775102D-01, & 0.3087567667579765382432642D-01, & 0.3056283013075858386135104D-01, & 0.3021825530765601453452082D-01, & 0.2984230992096702903457814D-01, & 0.2943538425198732086424294D-01, & 0.2899790074366843187205222D-01, & 0.2853031356206718751823808D-01, & 0.2803310812486267752680532D-01, & 0.2750680059743034256009616D-01, & 0.2695193735699644067363378D-01, & 0.2636909442542934975707846D-01, & 0.2575887687125678489535242D-01, & 0.2512191818153004673565192D-01, & 0.2445887960418784729059960D-01, & 0.2377044946160306882104198D-01, & 0.2305734243602599579639616D-01, & 0.2232029882766713237862322D-01, & 0.2156008378619171827843500D-01, & 0.2077748651642656849799008D-01, & 0.1997331945910804688818908D-01, & 0.1914841744752812933525703D-01, & 0.1830363684096414082229124D-01, & 0.1743985463580780463940516D-01, & 0.1655796755534245662902801D-01, & 0.1565889111915692052020687D-01, & 0.1474355869323695017635984D-01, & 0.1381292052185304327114855D-01, & 0.1286794274249338667571135D-01, & 0.1190960638533075683273654D-01, & 0.1093890635919594895396767D-01, & 0.9956850427084044948237490D-02, & 0.8964458176697999432566250D-02, & 0.7962759997865495595598110D-02, & 0.6952796096469405526464256D-02, & 0.5935615630788222954183688D-02, & 0.4912276262166028130833504D-02, & 0.3883845329489294421733034D-02, & 0.2851409243213055771419126D-02, & 0.1816146398210039609502983D-02, & 0.7805332219425612457264822D-03 /) real ( kind = rk ) :: OddW49(49) = (/ & 0.3155766036791122885809208D-01, & 0.3151046648162834771323796D-01, & 0.3143186227722154616152128D-01, & 0.3132192610907518012817474D-01, & 0.3118076756395815837033438D-01, & 0.3100852735178559535833486D-01, & 0.3080537716535627949917920D-01, & 0.3057151950920577999218210D-01, & 0.3030718749774580397961262D-01, & 0.3001264462289103447190280D-01, & 0.2968818449140509844801766D-01, & 0.2933413053222750347643324D-01, & 0.2895083567407331040373860D-01, & 0.2853868199362694972663692D-01, & 0.2809808033468091126593440D-01, & 0.2762946989859901232207604D-01, & 0.2713331780651255092639320D-01, & 0.2661011863368585130179228D-01, & 0.2606039391651548254092866D-01, & 0.2548469163265475465058230D-01, & 0.2488358565478194644598738D-01, & 0.2425767517855707823164026D-01, & 0.2360758412533789404661778D-01, & 0.2293396052025105528408320D-01, & 0.2223747584623937158435550D-01, & 0.2151882437473022381824646D-01, & 0.2077872247359421120742490D-01, & 0.2001790789308656620794778D-01, & 0.1923713903048718479867380D-01, & 0.1843719417417849927098560D-01, & 0.1761887072792438050675710D-01, & 0.1678298441613870708950299D-01, & 0.1593036847096084971103802D-01, & 0.1506187280199023331295260D-01, & 0.1417836314957944606614279D-01, & 0.1328072022265728347995425D-01, & 0.1236983882217516210343368D-01, & 0.1144662695149825376113323D-01, & 0.1051200491552474540574917D-01, & 0.9566904411326136356898158D-02, & 0.8612267615478888991732218D-02, & 0.7649046279335257935390770D-02, & 0.6678200860575098165183170D-02, & 0.5700699773395926875152328D-02, & 0.4717519037520830079689318D-02, & 0.3729643487243034749198276D-02, & 0.2738075873626878091327392D-02, & 0.1743906958219244938639563D-02, & 0.7494736467374053633626714D-03 /) integer k integer kcopy integer l integer lhalf real ( kind = rk ) weight if ( l < 1 .or. 100 < l ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'LEGENDRE_WEIGHT - Fatal error!' write ( *, '(a)' ) ' 1 <= L <= 100 is required.' stop 1 end if lhalf = ( l + 1 ) / 2 if ( mod ( l, 2 ) == 1 ) then if ( lhalf < k ) then kcopy = k - lhalf else if ( lhalf == k ) then kcopy = lhalf else kcopy = lhalf - k end if else if ( lhalf < k ) then kcopy = k - lhalf else kcopy = lhalf + 1 - k end if end if if ( kcopy < 1 .or. lhalf < kcopy ) then write ( *, '(a)' ) '' write ( *, '(a)' ) 'LEGENDRE_WEIGHT - Fatal error!' write ( *, '(a)' ) ' 1 <= K <= (L+1)/2 is required.' stop 1 end if ! ! If L is odd, and K = ( L - 1 ) / 2, then it's easy. ! if ( mod ( l, 2 ) == 1 .and. kcopy == lhalf ) then weight = 2.0D+00 / cl(l) ** 2 else if ( l == 2 ) then weight = EvenW1(kcopy) else if ( l == 3 ) then weight = OddW1(kcopy) else if ( l == 4 ) then weight = EvenW2(kcopy) else if ( l == 5 ) then weight = OddW2(kcopy) else if ( l == 6 ) then weight = EvenW3(kcopy) else if ( l == 7 ) then weight = OddW3(kcopy) else if ( l == 8 ) then weight = EvenW4(kcopy) else if ( l == 9 ) then weight = OddW4(kcopy) else if ( l == 10 ) then weight = EvenW5(kcopy) else if ( l == 11 ) then weight = OddW5(kcopy) else if ( l == 12 ) then weight = EvenW6(kcopy) else if ( l == 13 ) then weight = OddW6(kcopy) else if ( l == 14 ) then weight = EvenW7(kcopy) else if ( l == 15 ) then weight = OddW7(kcopy) else if ( l == 16 ) then weight = EvenW8(kcopy) else if ( l == 17 ) then weight = OddW8(kcopy) else if ( l == 18 ) then weight = EvenW9(kcopy) else if ( l == 19 ) then weight = OddW9(kcopy) else if ( l == 20 ) then weight = EvenW10(kcopy) else if ( l == 21 ) then weight = OddW10(kcopy) else if ( l == 22 ) then weight = EvenW11(kcopy) else if ( l == 23 ) then weight = OddW11(kcopy) else if ( l == 24 ) then weight = EvenW12(kcopy) else if ( l == 25 ) then weight = OddW12(kcopy) else if ( l == 26 ) then weight = EvenW13(kcopy) else if ( l == 27 ) then weight = OddW13(kcopy) else if ( l == 28 ) then weight = EvenW14(kcopy) else if ( l == 29 ) then weight = OddW14(kcopy) else if ( l == 30 ) then weight = EvenW15(kcopy) else if ( l == 31 ) then weight = OddW15(kcopy) else if ( l == 32 ) then weight = EvenW16(kcopy) else if ( l == 33 ) then weight = OddW16(kcopy) else if ( l == 34 ) then weight = EvenW17(kcopy) else if ( l == 35 ) then weight = OddW17(kcopy) else if ( l == 36 ) then weight = EvenW18(kcopy) else if ( l == 37 ) then weight = OddW18(kcopy) else if ( l == 38 ) then weight = EvenW19(kcopy) else if ( l == 39 ) then weight = OddW19(kcopy) else if ( l == 40 ) then weight = EvenW20(kcopy) else if ( l == 41 ) then weight = OddW20(kcopy) else if ( l == 42 ) then weight = EvenW21(kcopy) else if ( l == 43 ) then weight = OddW21(kcopy) else if ( l == 44 ) then weight = EvenW22(kcopy) else if ( l == 45 ) then weight = OddW22(kcopy) else if ( l == 46 ) then weight = EvenW23(kcopy) else if ( l == 47 ) then weight = OddW23(kcopy) else if ( l == 48 ) then weight = EvenW24(kcopy) else if ( l == 49 ) then weight = OddW24(kcopy) else if ( l == 50 ) then weight = EvenW25(kcopy) else if ( l == 51 ) then weight = OddW25(kcopy) else if ( l == 52 ) then weight = EvenW26(kcopy) else if ( l == 53 ) then weight = OddW26(kcopy) else if ( l == 54 ) then weight = EvenW27(kcopy) else if ( l == 55 ) then weight = OddW27(kcopy) else if ( l == 56 ) then weight = EvenW28(kcopy) else if ( l == 57 ) then weight = OddW28(kcopy) else if ( l == 58 ) then weight = EvenW29(kcopy) else if ( l == 59 ) then weight = OddW29(kcopy) else if ( l == 60 ) then weight = EvenW30(kcopy) else if ( l == 61 ) then weight = OddW30(kcopy) else if ( l == 62 ) then weight = EvenW31(kcopy) else if ( l == 63 ) then weight = OddW31(kcopy) else if ( l == 64 ) then weight = EvenW32(kcopy) else if ( l == 65 ) then weight = OddW32(kcopy) else if ( l == 66 ) then weight = EvenW33(kcopy) else if ( l == 67 ) then weight = OddW33(kcopy) else if ( l == 68 ) then weight = EvenW34(kcopy) else if ( l == 69 ) then weight = OddW34(kcopy) else if ( l == 70 ) then weight = EvenW35(kcopy) else if ( l == 71 ) then weight = OddW35(kcopy) else if ( l == 72 ) then weight = EvenW36(kcopy) else if ( l == 73 ) then weight = OddW36(kcopy) else if ( l == 74 ) then weight = EvenW37(kcopy) else if ( l == 75 ) then weight = OddW37(kcopy) else if ( l == 76 ) then weight = EvenW38(kcopy) else if ( l == 77 ) then weight = OddW38(kcopy) else if ( l == 78 ) then weight = EvenW39(kcopy) else if ( l == 79 ) then weight = OddW39(kcopy) else if ( l == 80 ) then weight = EvenW40(kcopy) else if ( l == 81 ) then weight = OddW40(kcopy) else if ( l == 82 ) then weight = EvenW41(kcopy) else if ( l == 83 ) then weight = OddW41(kcopy) else if ( l == 84 ) then weight = EvenW42(kcopy) else if ( l == 85 ) then weight = OddW42(kcopy) else if ( l == 86 ) then weight = EvenW43(kcopy) else if ( l == 87 ) then weight = OddW43(kcopy) else if ( l == 88 ) then weight = EvenW44(kcopy) else if ( l == 89 ) then weight = OddW44(kcopy) else if ( l == 90 ) then weight = EvenW45(kcopy) else if ( l == 91 ) then weight = OddW45(kcopy) else if ( l == 92 ) then weight = EvenW46(kcopy) else if ( l == 93 ) then weight = OddW46(kcopy) else if ( l == 94 ) then weight = EvenW47(kcopy) else if ( l == 95 ) then weight = OddW47(kcopy) else if ( l == 96 ) then weight = EvenW48(kcopy) else if ( l == 97 ) then weight = OddW48(kcopy) else if ( l == 98 ) then weight = EvenW49(kcopy) else if ( l == 99 ) then weight = OddW49(kcopy) else if ( l == 100 ) then weight = EvenW50(kcopy) end if return end subroutine timestamp ( ) !*****************************************************************************80 ! !! TIMESTAMP prints the current YMDHMS date as a time stamp. ! ! Example: ! ! 31 May 2001 9:45:54.872 AM ! ! Licensing: ! ! This code is distributed under the MIT license. ! ! Modified: ! ! 18 May 2013 ! ! Author: ! ! John Burkardt ! ! Parameters: ! ! None ! implicit none integer, parameter :: rk = kind ( 1.0D+00 ) character ( len = 8 ) ampm integer d integer h integer m integer mm character ( len = 9 ), parameter, dimension(12) :: month = (/ & 'January ', 'February ', 'March ', 'April ', & 'May ', 'June ', 'July ', 'August ', & 'September', 'October ', 'November ', 'December ' /) integer n integer s integer values(8) integer y call date_and_time ( values = values ) y = values(1) m = values(2) d = values(3) h = values(5) n = values(6) s = values(7) mm = values(8) if ( h < 12 ) then ampm = 'AM' else if ( h == 12 ) then if ( n == 0 .and. s == 0 ) then ampm = 'Noon' else ampm = 'PM' end if else h = h - 12 if ( h < 12 ) then ampm = 'PM' else if ( h == 12 ) then if ( n == 0 .and. s == 0 ) then ampm = 'Midnight' else ampm = 'AM' end if end if end if write ( *, '(i2.2,1x,a,1x,i4,2x,i2,a1,i2.2,a1,i2.2,a1,i3.3,1x,a)' ) & d, trim ( month(m) ), y, h, ':', n, ':', s, '.', mm, trim ( ampm ) return end