/****** Numerical Quadrature: Nodes and Weights ********** Provided by: Rob Dittmar dittmar@stls.frb.org Research Department Federal Reserve Bank of St. Louis Date: Nov 96 Provided without guarantees for public non-commercial use. Comments: Before you consider using numerical quadrature, you should be aware of how expensive it will be to perform a quadruple integral. Any quadrature rule that evaluates the integrand at N nodes, will require N*N*N*N evaluations of the integrand for a 4-dimensional integral. This would probably take a prohibative amount of time if it were necessary to evaluate a large number of integrals. On the other hand, if you only need to do it a handful of times, the usual approach taken with integrals over the whole space or a half space is Gaussian-Hermite or Gaussian-Laguerre quadrature. Again this would depend on the form of your integral. If it is taken over the whole of 4-th dimensional space you will probably want to use Hermite quadrature unless the integrand has "fat" tails. If the integral is take over half-spaces or the integrand has fat tails, use Laguerre quadrature. You will have to integrate variable by variable. Starting with a set of N*N*N*N function values, hold the first three fixed and use quadrature to integrate out the fourth. You will then have N*N*N values and you can continue the process. I have attached two text files that contain the nodes and weights for both Laguerre and Hermite quadrature. I recommend a book like "Introduction to Numerical Analysis" by Atkinson for references to issues involved in Gaussian quadrature. ***********************************************************************/ @Hermite quadrature:@ _hermint2 = {-7.071067811865476e-1 8.86226925452758e-1, 7.071067811865476e-1 8.86226925452758e-1}; _hermint4 = {-1.650680123885785e0 8.13128354472452e-2, -5.246476232752904e-1 8.04914090005513e-1, 5.246476232752904e-1 8.04914090005513e-1, 1.650680123885785e0 8.13128354472452e-2}; _hermint8 = {-2.930637420257244e0 1.996040722113676e-4, -1.981656756695843e0 1.707798300741347e-2, -1.15719371244678e0 2.078023258148919e-1, -3.811869902073221e-1 6.611470125582414e-1, 3.811869902073221e-1 6.611470125582414e-1, 1.15719371244678e0 2.078023258148919e-1, 1.981656756695843e0 1.707798300741347e-2, 2.930637420257244e0 1.996040722113676e-4}; _hermint16 = {-4.688738939305818e0 2.654807474011183e-10, -3.869447904860123e0 2.320980844865211e-7, -3.176999161979956e0 2.711860092537881e-5, -2.546202157847481e0 9.32284008624181e-4, -1.951787990916254e0 1.288031153550997e-2, -1.380258539198881e0 8.38100413989858e-2, -8.22951449144656e-1 2.806474585285337e-1, -2.734810461381524e-1 5.079294790166138e-1, 2.734810461381524e-1 5.079294790166138e-1, 8.22951449144656e-1 2.806474585285337e-1, 1.380258539198881e0 8.38100413989858e-2, 1.951787990916254e0 1.288031153550997e-2, 2.546202157847481e0 9.32284008624181e-4, 3.176999161979956e0 2.711860092537881e-5, 3.869447904860123e0 2.320980844865211e-7, 4.688738939305818e0 2.654807474011183e-10}; _hermint32 = {-7.125813909830728e0 7.310676427384165e-23, -6.409498149269661e0 9.23173653651829e-19, -5.812225949515914e0 1.197344017092849e-15, -5.275550986515881e0 4.215010211326448e-13, -4.777164503502596e0 5.933291463396639e-11, -4.305547953351199e0 4.098832164770897e-9, -3.853755485471445e0 1.574167792545594e-7, -3.417167492818571e0 3.650585129562376e-6, -2.992490825002374e0 5.416584061819983e-5, -2.577249537732317e0 5.36268365527972e-4, -2.169499183606112e0 3.654890326654428e-3, -1.767654109463201e0 1.755342883157343e-2, -1.370376410952872e0 6.045813095591262e-2, -9.76500463589683e-1 1.512697340766425e-1, -5.849787654359325e-1 2.774581423025299e-1, -1.948407415693993e-1 3.752383525928024e-1, 1.948407415693993e-1 3.752383525928024e-1, 5.849787654359325e-1 2.774581423025299e-1, 9.76500463589683e-1 1.512697340766425e-1, 1.370376410952872e0 6.045813095591262e-2, 1.767654109463201e0 1.755342883157343e-2, 2.169499183606112e0 3.654890326654428e-3, 2.577249537732317e0 5.36268365527972e-4, 2.992490825002374e0 5.416584061819983e-5, 3.417167492818571e0 3.650585129562376e-6, 3.853755485471445e0 1.574167792545594e-7, 4.305547953351199e0 4.098832164770897e-9, 4.777164503502596e0 5.933291463396639e-11, 5.275550986515881e0 4.215010211326448e-13, 5.812225949515914e0 1.197344017092849e-15, 6.409498149269661e0 9.23173653651829e-19, 7.125813909830728e0 7.310676427384165e-23}; _hermint64 = {-1.052612316796055e1 5.535706535856943e-49, -9.89528758682954e0 1.67974799010816e-43, -9.37315954964672e0 3.421138011255741e-39, -8.90724909996477e0 1.557390624629764e-35, -8.47752908337986e0 2.549660899113e-32, -8.07368728501023e0 1.929103595464967e-29, -7.689540164040497e0 7.861797788925911e-27, -7.32101303278095e0 1.911706883300643e-24, -6.965241120551108e0 2.982862784279851e-22, -6.620112262636028e0 3.152254566503782e-20, -6.284011228774828e0 2.351884710675819e-18, -5.955666326799486e0 1.280093391322438e-16, -5.634052164349973e0 5.218623726590847e-15, -5.318325224633271e0 1.628340730709721e-13, -5.007779602198769e0 3.959177766947724e-12, -4.7018156474075e0 7.615217250145451e-11, -4.399917168228138e0 1.173616742321549e-9, -4.101634474566657e0 1.465125316476109e-8, -3.80657151394536e0 1.495532936727247e-7, -3.514375935740906e0 1.258340251031185e-6, -3.224731291992036e0 8.78849923085036e-6, -2.937350823004622e0 5.125929135786274e-5, -2.651972435430635e0 2.509836985130625e-4, -2.368354588632402e0 1.036329099507578e-3, -2.086272879881762e0 3.622586978534459e-3, -1.805517171465545e0 1.075604050987914e-2, -1.525889140209863e0 2.720312895368892e-2, -1.247200156943118e0 5.873998196409943e-2, -9.69269423071178e-1 1.084983493061868e-1, -6.919223058100446e-1 1.716858423490837e-1, -4.149888241210788e-1 2.32994786062678e-1, -1.383022449870097e-1 2.71377424941304e-1, 1.383022449870097e-1 2.71377424941304e-1, 4.149888241210788e-1 2.32994786062678e-1, 6.919223058100446e-1 1.716858423490837e-1, 9.69269423071178e-1 1.084983493061868e-1, 1.247200156943118e0 5.873998196409943e-2, 1.525889140209863e0 2.720312895368892e-2, 1.805517171465545e0 1.075604050987914e-2, 2.086272879881762e0 3.622586978534459e-3, 2.368354588632402e0 1.036329099507578e-3, 2.651972435430635e0 2.509836985130625e-4, 2.937350823004622e0 5.125929135786274e-5, 3.224731291992036e0 8.78849923085036e-6, 3.514375935740906e0 1.258340251031185e-6, 3.80657151394536e0 1.495532936727247e-7, 4.101634474566657e0 1.465125316476109e-8, 4.399917168228138e0 1.173616742321549e-9, 4.7018156474075e0 7.615217250145451e-11, 5.007779602198769e0 3.959177766947724e-12, 5.318325224633271e0 1.628340730709721e-13, 5.634052164349973e0 5.218623726590847e-15, 5.955666326799486e0 1.280093391322438e-16, 6.284011228774828e0 2.351884710675819e-18, 6.620112262636028e0 3.152254566503782e-20, 6.965241120551108e0 2.982862784279851e-22, 7.32101303278095e0 1.911706883300643e-24, 7.689540164040497e0 7.861797788925911e-27, 8.07368728501023e0 1.929103595464967e-29, 8.47752908337986e0 2.549660899113e-32, 8.90724909996477e0 1.557390624629764e-35, 9.37315954964672e0 3.421138011255741e-39, 9.89528758682954e0 1.67974799010816e-43, 1.052612316796055e1 5.535706535856943e-49}; _hermint128 = {-1.529181976688274e1 1.799065980109285e-102, -1.47338424735893e1 2.608172402409111e-95, -1.427398130478783e1 1.404689771315089e-89, -1.386520698447624e1 1.261249483338538e-84, -1.348955641262314e1 3.401230086936636e-80, -1.313777478802765e1 3.751215868804724e-76, -1.280431208206713e1 2.041585797243985e-72, -1.248551258534945e1 6.214244161830314e-69, -1.217880861983124e1 1.156155164096375e-65, -1.188231011887831e1 1.404467257740487e-62, -1.159457505474145e1 1.17197850121298e-59, -1.131447164428998e1 6.993072924051958e-57, -1.104109097601963e1 3.082077383339299e-54, -1.077368911516144e1 1.030486252055695e-51, -1.051164732991487e1 2.672743751736068e-49, -1.025444392847093e1 5.480217028978797e-47, -1.000163379893012e1 9.02804013878664e-45, -9.75283321343917e0 1.211779534130592e-42, -9.50770832327906e0 1.341497481764369e-40, -9.26596630029618e0 1.238085557976368e-38, -9.02734841339479e0 9.6167080679675e-37, -8.79162454488869e0 6.339913526366491e-35, -8.55858879506451e0 3.574378895879421e-33, -8.32805592079015e0 1.735103020282061e-31, -8.0998584215079e0 7.296545006768406e-30, -7.873844133535435e0 2.672923620058073e-28, -7.649874227681007e0 8.57283048376936e-27, -7.427821529952302e0 2.418403459647665e-25, -7.207569103387334e0 6.025984032006456e-24, -6.989009042644775e0 1.33136785903359e-22, -6.772041443255929e0 2.617457583934811e-21, -6.556573515264483e0 4.594007677329723e-20, -6.34251881700178e0 7.220107316928292e-19, -6.129796589422163e0 1.018933230423292e-17, -5.918331175085812e0 1.294548159339371e-16, -5.708051508768087e0 1.484223837513856e-15, -5.49889066897391e0 1.539049730353545e-14, -5.29078548147718e0 1.446347321190417e-13, -5.083676167489341e0 1.234214486600556e-12, -4.877506030264814e0 9.58031650873586e-12, -4.672221174932639e0 6.775780487774555e-11, -4.467770257148584e0 4.373186659848404e-10, -4.264104256825519e0 2.579397229426394e-9, -4.061176273749273e0 1.392190715293518e-8, -3.858941342344282e0 6.88458112215435e-8, -3.657356263235308e0 3.122872986178903e-7, -3.456379449571737e0 1.300747003238199e-6, -3.255970786350659e0 4.979924532590987e-6, -3.05609150120268e0 1.75404858480939e-5, -2.856704045297405e0 5.688743760040243e-5, -2.657771983189484e0 1.700140882628094e-4, -2.459259890565739e0 4.685515378084114e-4, -2.261133258973062e0 1.191563814457167e-3, -2.063358406708566e0 2.79783940160579e-3, -1.865902395140599e0 6.068862406925888e-3, -1.668732949803723e0 1.216691886446934e-2, -1.471818385674486e0 2.255431016782442e-2, -1.275127536089158e0 3.867395481063691e-2, -1.078629684810909e0 6.136072100449007e-2, -8.82294500792981e-1 9.01086783764489e-2, -6.860919752173349e-1 1.225032731641357e-1, -4.899923604154589e-1 1.542104352983544e-1, -2.939661103002957e-1 1.797730839077993e-1, -9.7983821955819e-2 1.940976118640877e-1, 9.7983821955819e-2 1.940976118640877e-1, 2.939661103002957e-1 1.797730839077993e-1, 4.899923604154589e-1 1.542104352983544e-1, 6.860919752173349e-1 1.225032731641357e-1, 8.82294500792981e-1 9.01086783764489e-2, 1.078629684810909e0 6.136072100449007e-2, 1.275127536089158e0 3.867395481063691e-2, 1.471818385674486e0 2.255431016782442e-2, 1.668732949803723e0 1.216691886446934e-2, 1.865902395140599e0 6.068862406925888e-3, 2.063358406708566e0 2.79783940160579e-3, 2.261133258973062e0 1.191563814457167e-3, 2.459259890565739e0 4.685515378084114e-4, 2.657771983189484e0 1.700140882628094e-4, 2.856704045297405e0 5.688743760040243e-5, 3.05609150120268e0 1.75404858480939e-5, 3.255970786350659e0 4.979924532590987e-6, 3.456379449571737e0 1.300747003238199e-6, 3.657356263235308e0 3.122872986178903e-7, 3.858941342344282e0 6.88458112215435e-8, 4.061176273749273e0 1.392190715293518e-8, 4.264104256825519e0 2.579397229426394e-9, 4.467770257148584e0 4.373186659848404e-10, 4.672221174932639e0 6.775780487774555e-11, 4.877506030264814e0 9.58031650873586e-12, 5.083676167489341e0 1.234214486600556e-12, 5.29078548147718e0 1.446347321190417e-13, 5.49889066897391e0 1.539049730353545e-14, 5.708051508768087e0 1.484223837513856e-15, 5.918331175085812e0 1.294548159339371e-16, 6.129796589422163e0 1.018933230423292e-17, 6.34251881700178e0 7.220107316928292e-19, 6.556573515264483e0 4.594007677329723e-20, 6.772041443255929e0 2.617457583934811e-21, 6.989009042644775e0 1.33136785903359e-22, 7.207569103387334e0 6.025984032006456e-24, 7.427821529952302e0 2.418403459647665e-25, 7.649874227681007e0 8.57283048376936e-27, 7.873844133535435e0 2.672923620058073e-28, 8.0998584215079e0 7.296545006768406e-30, 8.32805592079015e0 1.735103020282061e-31, 8.55858879506451e0 3.574378895879421e-33, 8.79162454488869e0 6.339913526366491e-35, 9.02734841339479e0 9.6167080679675e-37, 9.26596630029618e0 1.238085557976368e-38, 9.50770832327906e0 1.341497481764369e-40, 9.75283321343917e0 1.211779534130592e-42, 1.000163379893012e1 9.02804013878664e-45, 1.025444392847093e1 5.480217028978797e-47, 1.051164732991487e1 2.672743751736068e-49, 1.077368911516144e1 1.030486252055695e-51, 1.104109097601963e1 3.082077383339299e-54, 1.131447164428998e1 6.993072924051958e-57, 1.159457505474145e1 1.17197850121298e-59, 1.188231011887831e1 1.404467257740487e-62, 1.217880861983124e1 1.156155164096375e-65, 1.248551258534945e1 6.214244161830314e-69, 1.280431208206713e1 2.041585797243985e-72, 1.313777478802765e1 3.751215868804724e-76, 1.348955641262314e1 3.401230086936636e-80, 1.386520698447624e1 1.261249483338538e-84, 1.427398130478783e1 1.404689771315089e-89, 1.47338424735893e1 2.608172402409111e-95, 1.529181976688274e1 1.799065980109285e-102}; @Laguerre quadrature:@ _lagint2 = {5.85786437626905e-1 8.53553390593274e-1, 3.414213562373095e0 1.464466094067262e-1}; _lagint4 = {3.225476896193923e-1 6.031541043416337e-1, 1.745761101158346e0 3.574186924377996e-1, 4.536620296921128e0 3.888790851500538e-2, 9.39507091230113e0 5.392947055613275e-4}; _lagint8 = {1.70279632305101e-1 3.691885893416375e-1, 9.0370177679938e-1 4.18786780814343e-1, 2.251086629866131e0 1.757949866371718e-1, 4.266700170287659e0 3.334349226121565e-2, 7.045905402393466e0 2.794536235225673e-3, 1.0758516010181e1 9.07650877335821e-5, 1.5740678641278e1 8.48574671627253e-7, 2.286313173688927e1 1.04800117487151e-9}; _lagint16 = {8.76494104789278e-2 2.06151714957801e-1, 4.626963289150809e-1 3.310578549508842e-1, 1.141057774831227e0 2.657957776442141e-1, 2.12928364509838e0 1.362969342963775e-1, 3.437086633893207e0 4.732892869412522e-2, 5.078018614549768e0 1.129990008033945e-2, 7.070338535048234e0 1.849070943526311e-3, 9.43831433639194e0 2.042719153082785e-4, 1.221422336886616e1 1.48445868739813e-5, 1.544152736878162e1 6.8283193308712e-7, 1.918015685675314e1 1.881024841079673e-8, 2.351590569399191e1 2.862350242973882e-10, 2.857872974288214e1 2.127079033224103e-12, 3.458339870228662e1 6.297967002517869e-15, 4.194045264768834e1 5.050473700035513e-18, 5.170116033954333e1 4.161462370372856e-22}; _lagint32 = {4.448936583326703e-2 1.09218341952385e-1, 2.345261095196185e-1 2.104431079388132e-1, 5.768846293018865e-1 2.35213229669848e-1, 1.072448753817818e0 1.95903335972881e-1, 1.722408776444645e0 1.299837862860718e-1, 2.528336706425795e0 7.057862386571744e-2, 3.492213273021994e0 3.176091250917507e-2, 4.616456769749768e0 1.191821483483856e-2, 5.903958504174244e0 3.738816294611525e-3, 7.358126733186241e0 9.80803306614955e-4, 8.9829409242126e0 2.148649188013642e-4, 1.078301863253997e1 3.920341967987947e-5, 1.276369798674273e1 5.934541612868633e-6, 1.493113975552256e1 7.416404578667552e-7, 1.729245433671532e1 7.604567879120781e-8, 1.985586094033605e1 6.350602226625807e-9, 2.263088901319678e1 4.28138297104093e-10, 2.562863602245925e1 2.305899491891336e-11, 2.886210181632348e1 9.79937928872709e-13, 3.234662915396473e1 3.237801657729267e-14, 3.610049480575197e1 8.17182344342072e-16, 4.014571977153945e1 1.542133833393823e-17, 4.450920799575494e1 2.119792290163619e-19, 4.922439498730865e1 2.054429673788045e-21, 5.433372133339692e1 1.346982586637395e-23, 5.989250916213403e1 5.661294130397359e-26, 6.597537728793505e1 1.418560545463037e-28, 7.268762809066272e1 1.913375494454225e-31, 8.01874469779135e1 1.192248760098222e-34, 8.87353404178924e1 2.671511219240137e-38, 9.8829542868284e1 1.338616942106256e-42, 1.117513980979377e2 4.510536193898975e-48}; _lagint64 = {2.241587414670528e-2 5.625284233902984e-2, 1.181225120967705e-1 1.19023987312426e-1, 2.903657440180365e-1 1.574964038621445e-1, 5.392862212279792e-1 1.675470504157739e-1, 8.65037004648114e-1 1.533528557792366e-1, 1.267814040775241e0 1.242210536093298e-1, 1.747859626059436e0 9.03423009864851e-2, 2.305463739307509e0 5.947775576835502e-2, 2.940965156725252e0 3.562751890403607e-2, 3.65475265020729e0 1.948041043116641e-2, 4.447266343313095e0 9.743594899382e-3, 5.31899925449639e0 4.464310364166276e-3, 6.270499046923654e0 1.875359581323115e-3, 7.302370002587396e0 7.226469815750053e-4, 8.41527523948303e0 2.554875328334967e-4, 9.60993919279611e0 8.28714353439694e-5, 1.088715038388637e1 2.465686396788558e-5, 1.22477645042443e1 6.726713878829669e-6, 1.36927078455475e1 1.681785369964089e-6, 1.522298111152473e1 3.850812981546684e-7, 1.683966365264874e1 8.0687280409905e-8, 1.854391817085919e1 1.545723706757689e-8, 2.033699594873023e1 2.704480147617482e-9, 2.222024266595088e1 4.316775475427201e-10, 2.419510487593325e1 6.277752541761453e-11, 2.626313722711848e1 8.30631737628896e-12, 2.842601052750103e1 9.98403178722017e-13, 3.068552076752597e1 1.088353887116663e-13, 3.304359923643783e1 1.07401740344159e-14, 3.550232389114121e1 9.57573723157444e-16, 3.806393216564647e1 7.697028023648587e-17, 4.073083544445863e1 5.564881137454027e-18, 4.350563546642153e1 3.609756409010446e-19, 4.639114297861619e1 2.095095369548947e-20, 4.939039902562469e1 1.084793301097549e-21, 5.250669934134631e1 4.994699486363805e-23, 5.574362241327839e1 2.037836974598822e-24, 5.910506191901711e1 7.339537564278837e-26, 6.25952644001514e1 2.323783082198694e-27, 6.621887325124756e1 6.438234706908763e-29, 6.998098037714684e1 1.553121095788275e-30, 7.388718723248296e1 3.244250092019537e-32, 7.794367743446313e1 5.832386267836201e-34, 8.21573037783193e1 8.96325483310285e-36, 8.65356933494565e1 1.168703989550736e-37, 9.10873756131331e1 1.28205598435998e-39, 9.58219400155207e1 1.172094937405002e-41, 1.00750231969514e2 8.83533967232861e-44, 1.058845994688e2 5.424955590306187e-46, 1.112392075244396e2 2.675542666678894e-48, 1.168304450513065e2 1.042917031411367e-50, 1.226774602685386e2 3.152902351957771e-53, 1.288028787692377e2 7.229541910647522e-56, 1.352337879495258e2 1.224235301230082e-58, 1.420031214899315e2 1.48216850490191e-61, 1.491516659000494e2 1.232519348814519e-64, 1.567310751326711e2 6.691499004571269e-68, 1.648086026551506e2 2.220465941850449e-71, 1.734749468364243e2 4.120946094738877e-75, 1.828582046914315e2 3.774399061896489e-79, 1.931511360370729e2 1.414115052917619e-83, 2.046720284850594e2 1.591833064041368e-88, 2.180318519353285e2 2.989484348860635e-94, 2.348095791713262e2 2.089063508436953e-101}; _lagint128 = {1.125138826367596e-2 2.855184445323973e-2, 5.928474126902646e-2 6.335021178450512e-2, 1.457079665943124e-1 9.13083813661343e-2, 2.705531787586651e-1 1.099139004109117e-1, 4.338414075538369e-1 1.182741710341737e-1, 6.35597665781622e-1 1.170457390004067e-1, 8.75852384546521e-1 1.080899875455684e-1, 1.154641701974398e0 9.39428886389285e-2, 1.472007563166735e0 7.725366879789806e-2, 1.82799777831235e0 6.032705626566158e-2, 2.222666071561902e0 4.484734824719522e-2, 2.656072129883481e0 3.179694793687684e-2, 3.128281655027917e0 2.153014945379445e-2, 3.639366419852403e0 1.393695173384635e-2, 4.189404329594048e0 8.63158538020225e-3, 4.778479488434877e0 5.11777701366923e-3, 5.4066822716005e0 2.906347436485956e-3, 6.074109403196537e0 1.581432943316679e-3, 6.780864039975626e0 8.24738985098812e-4, 7.527055861229376e0 4.123260885396948e-4, 8.31280116500777e0 1.976494264425915e-4, 9.13822297088039e0 9.08515788782451e-5, 1.000345112946822e1 4.004849278358054e-5, 1.090862243899088e1 1.693076239808178e-5, 1.185388076909186e1 6.864525291110683e-6, 1.283937719222325e1 2.669216598142102e-6, 1.386527012289208e1 9.95364010286385e-7, 1.493172546509193e1 3.559435753003065e-7, 1.603891676826708e1 1.220532551948812e-7, 1.718702539218126e1 4.012791920935636e-8, 1.837624068108969e1 1.264811414747598e-8, 1.960676014764165e1 3.821489729426571e-9, 2.087878966697137e1 1.106641059227342e-9, 2.219254368146784e1 3.071009237097424e-10, 2.354824541674892e1 8.16549938415449e-11, 2.494612710940349e1 2.079853632781378e-11, 2.638643024710529e1 5.073953770839871e-12, 2.786940582174639e1 1.185314377179611e-12, 2.939531459628491e1 2.650927523728874e-13, 3.096442738605275e1 5.674632215757659e-14, 3.257702535532375e1 1.162373814707516e-14, 3.423340033000224e1 2.277766292702386e-15, 3.593385512735615e1 4.268831970297649e-16, 3.767870390378837e1 7.649288799363276e-17, 3.946827252171576e1 1.310131391983824e-17, 4.130289893670709e1 2.144145234124664e-18, 4.318293360612039e1 3.351944287208848e-19, 4.510873992057724e1 5.003733086459475e-20, 4.708069465971722e1 7.130030641958562e-21, 4.909918847379103e1 9.69454074039727e-22, 5.116462639277666e1 1.257284755639785e-22, 5.327742836484078e1 1.554661095563063e-23, 5.543802982611789e1 1.832109793253422e-24, 5.764688230394523e1 2.056797978136735e-25, 5.990445405587206e1 2.198666052623291e-26, 6.221123074696146e1 2.236916007324289e-27, 6.456771616812122e1 2.164960644633905e-28, 6.697443299844156e1 1.992227680618794e-29, 6.943192361478343e1 1.74215388632544e-30, 7.194075095215437e1 1.446949786106284e-31, 7.450149941873403e1 1.140751706123082e-32, 7.711477586977057e1 8.53180509781021e-34, 7.978121064496856e1 6.049701177938859e-35, 8.25014586744315e1 4.0643432432648e-36, 8.52762006587153e1 2.58534937498791e-37, 8.81061443290995e1 1.556028762522623e-38, 9.09920257947926e1 8.85462584966333e-40, 9.39346109844797e1 4.760457517364582e-41, 9.69346971903819e1 2.416078510661232e-42, 9.99931147238643e1 1.156647050338738e-43, 1.03110728692594e2 5.218510619492376e-45, 1.062884409103454e2 2.21697433533618e-46, 1.095271919517776e2 8.8601027566137e-48, 1.128279633659042e2 3.327811159201096e-49, 1.161917800635568e2 1.173490043078303e-50, 1.19619712895932e2 3.880967726420922e-52, 1.231128814433602e2 1.202426327933061e-53, 1.266724570357602e2 3.486023044105546e-55, 1.302996660289134e2 9.44554522159557e-57, 1.33995793363748e2 2.388884274559683e-58, 1.377621864393394e2 5.63188475075463e-60, 1.41600259334393e2 1.23592861191216e-61, 1.455114974166596e2 2.521004202377267e-63, 1.494974623851777e2 4.772224621999805e-65, 1.535597977965664e2 8.37001989199958e-67, 1.577002351339781e2 1.357824341120209e-68, 1.619206004859756e2 2.033688727153154e-70, 1.662228219127689e2 2.806838480695353e-72, 1.706089375892422e2 3.562567607062096e-74, 1.750811048284146e2 4.149452749293771e-76, 1.79641610105867e2 4.425007965766321e-78, 1.842928802258468e2 4.31008426128985e-80, 1.890374947939541e2 3.82466101676174e-82, 1.93878200190473e2 3.083547842598792e-84, 1.988179252737206e2 2.252139822170621e-86, 2.038597990857698e2 1.485514740645043e-88, 2.090071708855109e2 8.81963547637266e-91, 2.14263632898788e2 4.696417822125987e-93, 2.196330462555782e2 2.234393825454773e-95, 2.251195706842091e2 9.45878703822074e-98, 2.307276986582036e2 3.546960831240673e-100, 2.364622948501776e2 1.172532130034887e-102, 2.423286419497027e2 3.399090555639916e-105, 2.483324941623572e2 8.5919072006239e-108, 2.544801400448692e2 1.881891397353536e-110, 2.607784767735797e2 3.547358632306257e-113, 2.672350985289538e2 5.711482228283601e-116, 2.738584024626936e2 7.78947378804446e-119, 2.806577167763235e2 8.91589869949127e-122, 2.876434568992193e2 8.47685635886841e-125, 2.948273177876478e2 6.617326935494904e-128, 3.022225132464495e2 4.186216357415711e-131, 3.098440773266126e2 2.114385168981142e-134, 3.177092489549063e2 8.38216350136787e-138, 3.258379701211949e2 2.557202302197678e-141, 3.342535420676541e2 5.866768642191205e-145, 3.429835062738253e2 9.84986103006484e-149, 3.520608535465262e2 1.171383943342069e-152, 3.61525726392325e2 9.48396326556738e-157, 3.714278892143275e2 4.977096381123804e-161, 3.818304441190611e2 1.590898527750998e-165, 3.928156712408081e2 2.856303829119003e-170, 4.044947247505151e2 2.58225071969149e-175, 4.170249029779891e2 1.007350250050798e-180, 4.306434441665974e2 1.344252500443816e-186, 4.45743096973928e2 4.182962214036836e-193, 4.630800341094463e2 1.457165307726186e-200, 4.84615543986444e2 8.64059169046871e-210}; _lagint256 = {5.636640244617882e-3 1.438415833541977e-2, 2.969935386272202e-2 3.268800426705186e-2, 7.299097004148535e-2 4.918654604520452e-2, 1.355227276293625e-1 6.300833326130295e-2, 2.172981502088499e-1 7.354732720427864e-2, 3.183205874625263e-1 8.04813955215006e-2, 4.38593924750508e-1 8.37782059806297e-2, 5.781227160125763e-1 8.36703647157153e-2, 7.369122198114376e-1 8.06048869119271e-2, 9.14968412092162e-1 7.517602469124096e-2, 1.112297991957791e0 6.805182349210758e-2, 1.328908385039564e0 5.990425137666798e-2, 1.564807745984144e0 5.135075265678553e-2, 1.820004960632908e0 4.291219168456401e-2, 2.094509648133555e0 3.49890164176762e-2, 2.388332163093148e0 2.78546588330936e-2, 2.701483597825845e0 2.166310544384266e-2, 3.033975784723065e0 1.646640490489344e-2, 3.385821298761567e0 1.223761247924049e-2, 3.757033460158667e0 8.895127966961e-3, 4.147626337180544e0 6.325304845008134e-3, 4.557614749107819e0 4.401320941416527e-3, 4.987014269361617e0 2.997374435820804e-3, 5.43584122879277e0 1.998146631991097e-3, 5.904112719136534e0 1.304079292194769e-3, 6.391846596635065e0 8.33343879949862e-4, 6.89906148582981e0 5.214757482602379e-4, 7.425776783526005e0 3.195753767510786e-4, 7.972012662931465e0 1.918121422272878e-4, 8.53779007797194e0 1.127643931159175e-4, 9.12313076778536e0 6.493611855418546e-5, 9.72805726139739e0 3.663032513580978e-5, 1.035259288258082e1 2.024201403636066e-5, 1.099676175490133e1 1.09582358254051e-5, 1.166058880695238e1 5.811849861131853e-6, 1.234409977778211e1 3.019850471807179e-6, 1.304732122251498e1 1.537312435520316e-6, 1.377028051817138e1 7.667448592523842e-7, 1.451300586968834e1 3.746763059327704e-7, 1.527552631614444e1 1.793829473749091e-7, 1.605787173719264e1 8.41447592286812e-8, 1.686007285970426e1 3.867176448612205e-8, 1.7682161264628e1 1.741328047468288e-8, 1.852416939406771e1 7.682177755772237e-9, 1.93861305585829e1 3.320485277406484e-9, 2.026807894471605e1 1.406136315101562e-9, 2.117004962275106e1 5.833861613658203e-10, 2.209207855470712e1 2.371269121155208e-10, 2.303420260257271e1 9.44264905150115e-11, 2.399645953678433e1 3.683718974867629e-11, 2.497888804495498e1 1.407826943168373e-11, 2.598152774085737e1 5.270743298656589e-12, 2.700441917366723e1 1.933050245304632e-12, 2.804760383747202e1 6.944663462038391e-13, 2.91111241810509e1 2.44389982515031e-13, 3.019502361793156e1 8.42415497398207e-14, 3.129934653673009e1 2.84423811460794e-14, 3.242413831178026e1 9.4056198284401e-15, 3.356944531405843e1 3.046318291444438e-15, 3.473531492241098e1 9.66303109053182e-16, 3.592179553509131e1 3.001821808845278e-16, 3.712893658161323e1 9.13213689367653e-17, 3.835678853492869e1 2.720556731672462e-17, 3.960540292393711e1 7.936376969846626e-18, 4.087483234633459e1 2.266974030097641e-18, 4.216513048181111e1 6.340310946695737e-19, 4.347635210560431e1 1.736175816494428e-19, 4.480855310241881e1 4.654518243833547e-20, 4.616179048072001e1 1.221607803915448e-20, 4.753612238741218e1 3.138646522803171e-21, 4.89316081229103e1 7.89375183650895e-22, 5.03483081566163e1 1.94326159949603e-22, 5.17862841428097e1 4.682324154850385e-23, 5.324559893696413e1 1.104203557453982e-23, 5.472631661250065e1 2.548406443869099e-24, 5.622850247798975e1 5.755644206314872e-25, 5.775222309481421e1 1.272032055400599e-25, 5.929754629530533e1 2.750765646015374e-26, 6.086454120136569e1 5.820127013257672e-27, 6.245327824359187e1 1.20477498966583e-27, 6.406382918091114e1 2.439746292725271e-28, 6.56962671207468e1 4.83302026417917e-29, 6.735066653972712e1 9.36477009042427e-30, 6.90271033049535e1 1.774797649829711e-30, 7.072565469584431e1 3.289590140801478e-31, 7.244639942657076e1 5.962704451257218e-32, 7.418941766910282e1 1.056866090202895e-32, 7.595479107688296e1 1.831630149469885e-33, 7.774260280914652e1 3.103573224231022e-34, 7.955293755590847e1 5.141112976345969e-35, 8.13858815636365e1 8.32505413551746e-36, 8.32415226616319e1 1.31769486967789e-36, 8.51199502891396e1 2.038463222410189e-37, 8.70212555232106e1 3.08185897818086e-38, 8.89455311073401e1 4.553080851979268e-39, 9.08928714809057e1 6.572654064821242e-40, 9.2863372809432e1 9.26996965436721e-41, 9.48571330157067e1 1.277251718081534e-41, 9.68742518117773e1 1.719067933159015e-42, 9.89148307318562e1 2.259877199009143e-43, 1.009789731661638e2 2.901402386754431e-44, 1.030667843957422e2 3.637622514956564e-45, 1.051783716282694e2 4.453158930854991e-46, 1.0731384403491e2 5.322469057021868e-47, 1.094733127882365e2 6.210192645157374e-48, 1.116568911012567e2 7.072869792616398e-49, 1.138646942675877e2 7.862047793059891e-50, 1.160968397028137e2 8.52854498170078e-51, 1.183534469870701e2 9.02739242267684e-52, 1.206346379088977e2 9.32278566020819e-53, 1.229405365104098e2 9.3923003085158e-54, 1.25271269133822e2 9.22968781751521e-55, 1.276269644693909e2 8.84577049492537e-56, 1.300077536048146e2 8.26726243804063e-57, 1.324137700761482e2 7.533692551407332e-58, 1.348451499202888e2 6.692922313636709e-59, 1.373020317290896e2 5.795966772857348e-60, 1.397845567051635e2 4.891899710072359e-61, 1.422928687194398e2 4.023545624794479e-62, 1.448271143705404e2 3.224460200730251e-63, 1.473874430460449e2 2.517430978553345e-64, 1.49974006985719e2 1.914454687145367e-65, 1.525869613467795e2 1.417923531460521e-66, 1.552264642712788e2 1.022616164158606e-67, 1.578926769556906e2 7.180508688082731e-69, 1.605857637227847e2 4.908058286824347e-70, 1.633058920958839e2 3.265156333590351e-71, 1.660532328755971e2 2.113802533004383e-72, 1.688279602191323e2 1.331422669128999e-73, 1.716302517222924e2 8.15796828456132e-75, 1.744602885042681e2 4.861659158169488e-76, 1.773182552953425e2 2.817369165112273e-77, 1.802043405276309e2 1.587371107066007e-78, 1.831187364289847e2 8.69372118875738e-80, 1.860616391201946e2 4.627440371244083e-81, 1.890332487156371e2 2.393301788916516e-82, 1.920337694275108e2 1.202506555699538e-83, 1.950634096738251e2 5.868414820379542e-85, 1.981223821903032e2 2.78102989490344e-86, 2.012109041463771e2 1.279523349933475e-87, 2.043291972654584e2 5.714164082556464e-89, 2.074774879496787e2 2.476403017846534e-90, 2.106560074093065e2 1.041247981095591e-91, 2.13864991797055e2 4.246676773820756e-93, 2.171046823475117e2 1.679585734756732e-94, 2.203753255219291e2 6.440306894161794e-96, 2.236771731586343e2 2.39361064514569e-97, 2.270104826293247e2 8.62048604889015e-99, 2.303755170015373e2 3.007651891495572e-100, 2.337725452075927e2 1.016306442613034e-101, 2.372018422203344e2 3.32509596531452e-103, 2.406636892360025e2 1.053039074363698e-104, 2.441583738645995e2 3.227165255836295e-106, 2.476861903281331e2 9.56768988767089e-108, 2.512474396671358e2 2.74329135260623e-109, 2.548424299558952e2 7.604706891958506e-111, 2.584714765268488e2 2.037522062943882e-112, 2.621349022046286e2 5.274627577197846e-114, 2.658330375502741e2 1.318887989548506e-115, 2.695662211161596e2 3.184228192992705e-117, 2.733347997122231e2 7.42045536495869e-119, 2.771391286841207e2 1.668527163150939e-120, 2.809795722039703e2 3.618718297041484e-122, 2.848565035743942e2 7.567170260941052e-124, 2.887703055466206e2 1.525119373635315e-125, 2.927213706534511e2 2.961392028612859e-127, 2.967101015579627e2 5.537776719318601e-129, 3.007369114188698e2 9.96881749724492e-131, 3.04802224273539e2 1.726779940406206e-132, 3.089064754397219e2 2.876915346093096e-134, 3.130501119371453e2 4.608084482922237e-136, 3.17233592930185e2 7.092809690739939e-138, 3.214573901929394e2 1.048616067591694e-139, 3.257219885981171e2 1.488350311495257e-141, 3.300278866312625e2 2.027068869109219e-143, 3.343755969319585e2 2.647796689263125e-145, 3.387656468637759e2 3.315318690993586e-147, 3.431985791148764e2 3.97699950601935e-149, 3.476749523313301e2 4.568078740322314e-151, 3.52195341785376e2 5.021233270979444e-153, 3.567603400810362e2 5.278730207949972e-155, 3.613705578996933e2 5.304279976641722e-157, 3.660266247884657e2 5.091301361051761e-159, 3.707291899944525e2 4.665041584570927e-161, 3.754789233481885e2 4.077712797047989e-163, 3.80276516199944e2 3.397917914827765e-165, 3.85122682412825e2 2.697337297921456e-167, 3.90018159416993e2 2.038283314225405e-169, 3.94963709329712e2 1.465112136005056e-171, 3.999601201463754e2 1.000951688532571e-173, 4.050082070081497e2 6.4943914818668e-176, 4.10108813552412e2 3.998358597650162e-178, 4.152628133527631e2 2.33380641147469e-180, 4.20471111456066e2 1.290315718174637e-182, 4.257346460247116e2 6.751016277661135e-185, 4.310543900931515e2 3.339359539970646e-187, 4.364313534486746e2 1.560058975190745e-189, 4.418665846474627e2 6.876205429674897e-192, 4.473611731781416e2 2.856374433353314e-194, 4.529162517863863e2 1.116990980527728e-196, 4.585329989756389e2 4.10716743426969e-199, 4.642126417007143e2 1.41828132926107e-201, 4.699564582729959e2 4.593634272708865e-204, 4.757657814981264e2 1.393630839195381e-206, 4.816420020696027e2 3.954891790244017e-209, 4.875865722445399e2 1.048307252806854e-211, 4.936010098311433e2 2.591510469466653e-214, 4.996869025211807e2 5.965416755184573e-217, 5.058459126050621e2 1.276535398339883e-219, 5.120797821121157e2 2.534985762780674e-222, 5.183903384244129e2 4.663137535969263e-225, 5.247795004191735e2 7.93068807921369e-228, 5.312492852025687e2 1.24451722909735e-230, 5.378018155068194e2 1.798167613641399e-233, 5.444393278331327e2 2.386883924297673e-236, 5.511641814355303e2 2.903915127983078e-239, 5.579788682553927e2 3.230058071245776e-242, 5.648860239340329e2 3.276202662717518e-245, 5.718884400514219e2 3.021746843112283e-248, 5.789890777640393e2 2.526922480327328e-251, 5.861910830446476e2 1.909906505787699e-254, 5.93497803762728e2 1.300383017776438e-257, 6.00912808887866e2 7.947428843962302e-261, 6.084399101514005e2 4.343407441584258e-264, 6.160831865665793e2 2.114073454569386e-267, 6.238470122874216e2 9.12440994820848e-271, 6.317360883855787e2 3.475788003368921e-274, 6.397554792480655e2 1.162725894223789e-277, 6.479106544539527e2 3.397144183063401e-281, 6.562075371844927e2 8.61796104008897e-285, 6.646525604716054e2 1.886124874951617e-288, 6.732527329117213e2 3.536592396417076e-292, 6.820157158899799e2 5.638194855979951e-296, 6.909499149074984e2 7.578910594427513e-300, 7.000645883297422e2 8.51115924893389e-304, 7.093699778454229e2 7.904343969327494e-308, 7.188774662424273e2 6.002422749811062e-312, 7.285997699170478e2 3.68031633762958e-316, 7.38551176056225e2 1.7963027208334211e-320, 7.487478380078433e2 6.868226369015482e-325, 7.592081475102973e2 2.0200043281379497e-329, 7.699532100355908e2 4.475149561681102e-334, 7.810074608988484e2 7.289268388950002e-339, 7.923994773463548e2 8.485460998042787e-344, 8.04163069644006e2 6.826983150268886e-349, 8.16338779646412e2 3.64671539292373e-354, 8.28975992387847e2 1.2315715565908885e-359, 8.42136002527089e2 2.4749331449909001e-365, 8.55896630900858e2 2.7403055942257606e-371, 8.70359486875525e2 1.5120917405149891e-377, 8.85662036076563e2 3.630769753505643e-384, 9.01999115314898e2 3.131100784896018e-391, 9.1966507722377e2 7.260610041744466e-399, 9.39148130777499e2 2.8048538787563682e-407, 9.6139019876438e2 7.195690525863279e-417, 9.88840267140746e2 1.1439799957509325e-428}