diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/factory.js b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/factory.js index 27c167e7c97c..b37e8d2b98a7 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/factory.js @@ -29,7 +29,10 @@ var exp = require( '@stdlib/math/base/special/exp' ); var pow = require( '@stdlib/math/base/special/pow' ); var ln = require( '@stdlib/math/base/special/ln' ); var LNHALF = require( '@stdlib/constants/float64/ln-half' ); +var LN2 = require( '@stdlib/constants/float64/ln-two' ); +var FLOAT64_SMALLEST_NORMAL = require( '@stdlib/constants/float64/smallest-normal' ); var NINF = require( '@stdlib/constants/float64/ninf' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); // MAIN // @@ -71,6 +74,9 @@ function factory( sigma ) { * // returns */ function logcdf( x ) { + var lt; + var x2; + var r; var p; if ( isnan( x ) ) { return NaN; @@ -78,7 +84,23 @@ function factory( sigma ) { if ( x < 0.0 ) { return NINF; } - p = -pow( x, 2.0 ) / ( 2.0 * s2 ); + r = x / sigma; + if ( r < FLOAT64_SMALLEST_NORMAL ) { + lt = ( 2.0*( ln( x ) - ln( sigma ) ) ) - LN2; + } else { + lt = ( 2.0*ln( r ) ) - LN2; + } + if ( lt < -36.0 ) { + // For `t = x^2/(2*sigma^2) < e^-36`, `ln(1 - e^-t) = ln(t) + ln(1 - t/2 + ...)` and the correction is below half an ULP of `ln(t)`. Using `ln(t)` directly avoids `x^2` underflowing to `0`: + return lt; + } + x2 = pow( x, 2.0 ); + if ( s2 >= FLOAT64_SMALLEST_NORMAL && 2.0 * s2 < PINF && x2 < PINF ) { + p = -x2 / ( 2.0 * s2 ); + } else { + // Where `sigma^2` or `x^2` would overflow or underflow, take `t` from the ratio `r` instead; elsewhere the direct form is kept, as `r*r` rounds slightly worse for large `r`... + p = -0.5 * r * r; + } return ( p < LNHALF ) ? log1p( -exp( p ) ) : ln( -expm1( p ) ); } } diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/main.js b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/main.js index 62d2b12a15da..6c2d85b84ffe 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/main.js +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/lib/main.js @@ -27,7 +27,10 @@ var exp = require( '@stdlib/math/base/special/exp' ); var pow = require( '@stdlib/math/base/special/pow' ); var ln = require( '@stdlib/math/base/special/ln' ); var LNHALF = require( '@stdlib/constants/float64/ln-half' ); +var LN2 = require( '@stdlib/constants/float64/ln-two' ); +var FLOAT64_SMALLEST_NORMAL = require( '@stdlib/constants/float64/smallest-normal' ); var NINF = require( '@stdlib/constants/float64/ninf' ); +var PINF = require( '@stdlib/constants/float64/pinf' ); // MAIN // @@ -66,6 +69,9 @@ var NINF = require( '@stdlib/constants/float64/ninf' ); */ function logcdf( x, sigma ) { var s2; + var x2; + var lt; + var r; var p; if ( isnan( x ) || @@ -81,7 +87,23 @@ function logcdf( x, sigma ) { return NINF; } s2 = pow( sigma, 2.0 ); - p = -pow( x, 2.0 ) / ( 2.0 * s2 ); + r = x / sigma; + if ( r < FLOAT64_SMALLEST_NORMAL ) { + lt = ( 2.0*( ln( x ) - ln( sigma ) ) ) - LN2; + } else { + lt = ( 2.0*ln( r ) ) - LN2; + } + if ( lt < -36.0 ) { + // For `t = x^2/(2*sigma^2) < e^-36`, `ln(1 - e^-t) = ln(t) + ln(1 - t/2 + ...)` and the correction is below half an ULP of `ln(t)`. Using `ln(t)` directly avoids `x^2` underflowing to `0`: + return lt; + } + x2 = pow( x, 2.0 ); + if ( s2 >= FLOAT64_SMALLEST_NORMAL && 2.0 * s2 < PINF && x2 < PINF ) { + p = -x2 / ( 2.0 * s2 ); + } else { + // Where `sigma^2` or `x^2` would overflow or underflow, take `t` from the ratio `r` instead; elsewhere the direct form is kept, as `r*r` rounds slightly worse for large `r`... + p = -0.5 * r * r; + } return ( p < LNHALF ) ? log1p( -exp( p ) ) : ln( -expm1( p ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/manifest.json b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/manifest.json index 246e688ee937..ff6a7fefa984 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/manifest.json +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/manifest.json @@ -46,7 +46,10 @@ "@stdlib/math/base/special/pow", "@stdlib/math/base/special/ln", "@stdlib/constants/float64/ln-half", - "@stdlib/constants/float64/ninf" + "@stdlib/constants/float64/ln-two", + "@stdlib/constants/float64/smallest-normal", + "@stdlib/constants/float64/ninf", + "@stdlib/constants/float64/pinf" ] }, { @@ -69,7 +72,10 @@ "@stdlib/math/base/special/pow", "@stdlib/math/base/special/ln", "@stdlib/constants/float64/ln-half", - "@stdlib/constants/float64/ninf" + "@stdlib/constants/float64/ln-two", + "@stdlib/constants/float64/smallest-normal", + "@stdlib/constants/float64/ninf", + "@stdlib/constants/float64/pinf" ] }, { @@ -91,7 +97,10 @@ "@stdlib/math/base/special/pow", "@stdlib/math/base/special/ln", "@stdlib/constants/float64/ln-half", - "@stdlib/constants/float64/ninf" + "@stdlib/constants/float64/ln-two", + "@stdlib/constants/float64/smallest-normal", + "@stdlib/constants/float64/ninf", + "@stdlib/constants/float64/pinf" ] } ] diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/src/main.c b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/src/main.c index 6ab4afbec6a1..47c168bf444a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/src/main.c +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/src/main.c @@ -24,7 +24,10 @@ #include "stdlib/math/base/special/pow.h" #include "stdlib/math/base/special/ln.h" #include "stdlib/constants/float64/ln_half.h" +#include "stdlib/constants/float64/ln_two.h" +#include "stdlib/constants/float64/smallest_normal.h" #include "stdlib/constants/float64/ninf.h" +#include "stdlib/constants/float64/pinf.h" /** * Evaluates the natural logarithm of the cumulative distribution function (CDF) for a Rayleigh distribution with scale parameter `sigma` at a value `x`. @@ -39,6 +42,9 @@ */ double stdlib_base_dists_rayleigh_logcdf( const double x, const double sigma ) { double s2; + double x2; + double lt; + double r; double p; if ( stdlib_base_is_nan( x ) || @@ -54,6 +60,22 @@ double stdlib_base_dists_rayleigh_logcdf( const double x, const double sigma ) { return STDLIB_CONSTANT_FLOAT64_NINF; } s2 = stdlib_base_pow( sigma, 2.0 ); - p = -stdlib_base_pow( x, 2.0 ) / ( 2.0 * s2 ); + r = x / sigma; + if ( r < STDLIB_CONSTANT_FLOAT64_SMALLEST_NORMAL ) { + lt = ( 2.0 * ( stdlib_base_ln( x ) - stdlib_base_ln( sigma ) ) ) - STDLIB_CONSTANT_FLOAT64_LN2; + } else { + lt = ( 2.0 * stdlib_base_ln( r ) ) - STDLIB_CONSTANT_FLOAT64_LN2; + } + if ( lt < -36.0 ) { + // For `t = x^2/(2*sigma^2) < e^-36`, `ln(1 - e^-t) = ln(t) + ln(1 - t/2 + ...)` and the correction is below half an ULP of `ln(t)`. Using `ln(t)` directly avoids `x^2` underflowing to `0`: + return lt; + } + x2 = stdlib_base_pow( x, 2.0 ); + if ( s2 >= STDLIB_CONSTANT_FLOAT64_SMALLEST_NORMAL && 2.0 * s2 < STDLIB_CONSTANT_FLOAT64_PINF && x2 < STDLIB_CONSTANT_FLOAT64_PINF ) { + p = -x2 / ( 2.0 * s2 ); + } else { + // Where `sigma^2` or `x^2` would overflow or underflow, take `t` from the ratio `r` instead; elsewhere the direct form is kept, as `r*r` rounds slightly worse for large `r`... + p = -0.5 * r * r; + } return ( p < STDLIB_CONSTANT_FLOAT64_LN_HALF ) ? stdlib_base_log1p( -stdlib_base_exp( p ) ) : stdlib_base_ln( - stdlib_base_expm1( p ) ); } diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/fixtures/julia/runner.jl b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/fixtures/julia/runner.jl index e829ed299760..5c4fce1af1f2 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/fixtures/julia/runner.jl +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/fixtures/julia/runner.jl @@ -61,6 +61,39 @@ function gen( x, sigma, name ) close( outfile ); end +""" + gen_small( x, sigma, name ) + +Generate fixture data for small `x` in extended precision and write to file. In double precision, `x^2` underflows for small `x`, so the reference value is computed from the textbook formula `ln(1 - exp(-x^2/(2*sigma^2)))`, written with `expm1` so that it stays exact at 2048 bits. + +# Arguments + +* `x`: input value +* `sigma`: scale parameter +* `name::AbstractString`: output filename +""" +function gen_small( x, sigma, name ) + z = setprecision( BigFloat, 2048 ) do + Float64.( log.( .-expm1.( .-( BigFloat.( x ) .^ 2 ) ./ ( 2 .* BigFloat.( sigma ) .^ 2 ) ) ) ) + end + + # Store data to be written to file as a collection: + data = Dict([ + ("x", x), + ("sigma", sigma), + ("expected", z) + ]); + + # Based on the script directory, create an output filepath: + filepath = joinpath( dir, name ); + + # Write the data to the output filepath as JSON: + outfile = open( filepath, "w" ); + write( outfile, JSON.json(data) ); + write( outfile, "\n" ); + close( outfile ); +end + # Get the filename: file = @__FILE__; @@ -81,3 +114,8 @@ gen( x, sigma, "medium_scale.json" ); x = rand( 1000 ) .* 20.0; sigma = rand( 1000 ) .* 5.0; gen( x, sigma, "small_scale.json" ); + +# Small `x` (relative to `sigma`, over a wide range of `sigma`): +sigma = exp10.( ( rand( 1000 ) .* 200.0 ) .- 100.0 ); +x = sigma .* exp10.( range( -150.0, stop = -4.0, length = 1000 ) ); +gen_small( x, sigma, "small_x.json" ); diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/fixtures/julia/small_x.json b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/fixtures/julia/small_x.json new file mode 100644 index 000000000000..ff75f167871d --- /dev/null +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/fixtures/julia/small_x.json @@ -0,0 +1 @@ +{"expected":[-691.4686750787737,-690.7956472037444,-690.122619328715,-689.4495914536858,-688.7765635786566,-688.1035357036272,-687.4305078285979,-686.7574799535686,-686.0844520785392,-685.4114242035101,-684.7383963284808,-684.0653684534515,-683.3923405784221,-682.7193127033928,-682.0462848283636,-681.3732569533344,-680.700229078305,-680.0272012032757,-679.3541733282464,-678.6811454532171,-678.0081175781878,-677.3350897031586,-676.6620618281293,-675.9890339530999,-675.3160060780707,-674.6429782030414,-673.9699503280121,-673.2969224529828,-672.6238945779535,-671.9508667029243,-671.2778388278949,-670.6048109528656,-669.9317830778364,-669.2587552028072,-668.5857273277778,-667.9126994527485,-667.2396715777192,-666.5666437026898,-665.8936158276607,-665.2205879526314,-664.547560077602,-663.8745322025727,-663.2015043275434,-662.528476452514,-661.8554485774849,-661.1824207024556,-660.5093928274263,-659.8363649523969,-659.1633370773677,-658.4903092023384,-657.8172813273092,-657.1442534522798,-656.4712255772505,-655.7981977022213,-655.1251698271919,-654.4521419521627,-653.7791140771334,-653.106086202104,-652.4330583270748,-651.7600304520455,-651.0870025770162,-650.413974701987,-649.7409468269576,-649.0679189519284,-648.3948910768991,-647.7218632018697,-647.0488353268404,-646.3758074518113,-645.702779576782,-645.0297517017526,-644.3567238267233,-643.683695951694,-643.0106680766646,-642.3376402016355,-641.6646123266062,-640.9915844515768,-640.3185565765475,-639.6455287015182,-638.9725008264891,-638.2994729514597,-637.6264450764304,-636.9534172014011,-636.2803893263718,-635.6073614513425,-634.9343335763133,-634.261305701284,-633.5882778262546,-632.9152499512254,-632.2422220761961,-631.5691942011667,-630.8961663261375,-630.2231384511082,-629.550110576079,-628.8770827010496,-628.2040548260203,-627.531026950991,-626.8579990759617,-626.1849712009325,-625.5119433259032,-624.8389154508739,-624.1658875758445,-623.4928597008152,-622.8198318257861,-622.1468039507567,-621.4737760757274,-620.8007482006981,-620.1277203256687,-619.4546924506396,-618.7816645756103,-618.108636700581,-617.4356088255516,-616.7625809505223,-616.0895530754931,-615.4165252004639,-614.7434973254345,-614.0704694504052,-613.397441575376,-612.7244137003466,-612.0513858253173,-611.3783579502881,-610.7053300752588,-610.0323022002295,-609.3592743252002,-608.6862464501709,-608.0132185751415,-607.3401907001123,-606.6671628250831,-605.9941349500538,-605.3211070750244,-604.6480791999951,-603.975051324966,-603.3020234499367,-602.6289955749073,-601.955967699878,-601.2829398248487,-600.6099119498193,-599.9368840747902,-599.2638561997609,-598.5908283247315,-597.9178004497022,-597.2447725746729,-596.5717446996437,-595.8987168246144,-595.2256889495851,-594.5526610745558,-593.8796331995264,-593.2066053244972,-592.5335774494679,-591.8605495744387,-591.1875216994093,-590.5144938243801,-589.8414659493508,-589.1684380743214,-588.4954101992922,-587.8223823242629,-587.1493544492337,-586.4763265742043,-585.803298699175,-585.1302708241458,-584.4572429491164,-583.7842150740871,-583.1111871990579,-582.4381593240286,-581.7651314489992,-581.09210357397,-580.4190756989407,-579.7460478239113,-579.0730199488821,-578.3999920738528,-577.7269641988236,-577.0539363237942,-576.3809084487649,-575.7078805737357,-575.0348526987063,-574.361824823677,-573.6887969486478,-573.0157690736185,-572.3427411985892,-571.6697133235599,-570.9966854485307,-570.3236575735014,-569.650629698472,-568.9776018234428,-568.3045739484135,-567.6315460733842,-566.9585181983549,-566.2854903233256,-565.6124624482964,-564.939434573267,-564.2664066982377,-563.5933788232085,-562.9203509481791,-562.2473230731498,-561.5742951981206,-560.9012673230912,-560.228239448062,-559.5552115730327,-558.8821836980034,-558.2091558229741,-557.5361279479448,-556.8631000729155,-556.1900721978863,-555.5170443228569,-554.8440164478276,-554.1709885727984,-553.497960697769,-552.8249328227398,-552.1519049477105,-551.4788770726811,-550.8058491976519,-550.1328213226226,-549.4597934475934,-548.786765572564,-548.1137376975348,-547.4407098225055,-546.7676819474761,-546.0946540724469,-545.4216261974176,-544.7485983223884,-544.075570447359,-543.4025425723297,-542.7295146973005,-542.0564868222712,-541.3834589472418,-540.7104310722126,-540.0374031971833,-539.3643753221539,-538.6913474471247,-538.0183195720954,-537.345291697066,-536.6722638220368,-535.9992359470075,-535.3262080719782,-534.6531801969489,-533.9801523219196,-533.3071244468903,-532.634096571861,-531.9610686968317,-531.2880408218025,-530.6150129467732,-529.9419850717439,-529.2689571967146,-528.5959293216853,-527.922901446656,-527.2498735716267,-526.5768456965975,-525.9038178215682,-525.230789946539,-524.5577620715096,-523.8847341964803,-523.2117063214511,-522.5386784464217,-521.8656505713924,-521.1926226963632,-520.5195948213338,-519.8465669463045,-519.1735390712753,-518.500511196246,-517.8274833212166,-517.1544554461874,-516.4814275711581,-515.8083996961287,-515.1353718210995,-514.4623439460702,-513.7893160710408,-513.1162881960116,-512.4432603209823,-511.770232445953,-511.0972045709238,-510.42417669589446,-509.75114882086524,-509.0781209458359,-508.4050930708066,-507.73206519577735,-507.059037320748,-506.3860094457187,-505.71298157068946,-505.03995369566013,-504.36692582063085,-503.6938979456016,-503.0208700705723,-502.34784219554297,-501.6748143205137,-501.0017864454844,-500.3287585704551,-499.65573069542586,-498.9827028203965,-498.3096749453672,-497.636647070338,-496.96361919530864,-496.29059132027936,-495.6175634452501,-494.94453557022075,-494.2715076951915,-493.5984798201622,-492.9254519451329,-492.25242407010364,-491.57939619507437,-490.90636832004503,-490.23334044501576,-489.5603125699865,-488.88728469495715,-488.2142568199279,-487.5412289448986,-486.86820106986926,-486.19517319484004,-485.5221453198107,-484.8491174447814,-484.17608956975215,-483.5030616947228,-482.83003381969354,-482.15700594466426,-481.483978069635,-480.81095019460565,-480.13792231957643,-479.4648944445471,-478.79186656951777,-478.11883869448855,-477.4458108194592,-476.77278294442993,-476.09975506940066,-475.4267271943713,-474.7536993193421,-474.08067144431277,-473.4076435692835,-472.7346156942542,-472.0615878192249,-471.3885599441956,-470.71553206916633,-470.04250419413705,-469.3694763191077,-468.6964484440785,-468.02342056904916,-467.35039269401983,-466.6773648189906,-466.0043369439613,-465.331309068932,-464.6582811939027,-463.9852533188734,-463.3122254438441,-462.63919756881484,-461.96616969378556,-461.2931418187562,-460.620113943727,-459.9470860686977,-459.27405819366834,-458.6010303186391,-457.9280024436098,-457.25497456858056,-456.58194669355123,-455.9089188185219,-455.2358909434927,-454.56286306846334,-453.88983519343407,-453.2168073184048,-452.54377944337546,-451.8707515683462,-451.1977236933169,-450.5246958182876,-449.8516679432583,-449.1786400682291,-448.50561219319974,-447.8325843181704,-447.1595564431412,-446.48652856811185,-445.8135006930825,-445.1404728180533,-444.46744494302396,-443.7944170679947,-443.1213891929654,-442.44836131793613,-441.7753334429068,-441.1023055678775,-440.42927769284825,-439.75624981781897,-439.0832219427897,-438.41019406776036,-437.73716619273114,-437.0641383177018,-436.39111044267247,-435.71808256764325,-435.0450546926139,-434.3720268175846,-433.69899894255536,-433.02597106752603,-432.35294319249675,-431.6799153174675,-431.0068874424382,-430.33385956740887,-429.6608316923796,-428.9878038173503,-428.314775942321,-427.64174806729176,-426.9687201922624,-426.2956923172331,-425.62266444220387,-424.94963656717454,-424.27660869214526,-423.603580817116,-422.93055294208665,-422.25752506705743,-421.5844971920281,-420.9114693169988,-420.23844144196954,-419.56541356694026,-418.89238569191093,-418.21935781688165,-417.5463299418524,-416.87330206682304,-416.2002741917938,-415.5272463167645,-414.85421844173516,-414.18119056670594,-413.5081626916766,-412.8351348166473,-412.16210694161805,-411.4890790665887,-410.81605119155944,-410.14302331653016,-409.4699954415009,-408.79696756647155,-408.12393969144233,-407.450911816413,-406.7778839413837,-406.10485606635444,-405.4318281913251,-404.7588003162959,-404.08577244126656,-403.4127445662372,-402.739716691208,-402.06668881617867,-401.3936609411494,-400.7206330661201,-400.0476051910908,-399.3745773160615,-398.7015494410322,-398.02852156600295,-397.3554936909736,-396.6824658159444,-396.00943794091506,-395.33641006588573,-394.6633821908565,-393.9903543158272,-393.3173264407979,-392.6442985657686,-391.9712706907393,-391.29824281571,-390.62521494068073,-389.95218706565146,-389.2791591906222,-388.6061313155929,-387.93310344056357,-387.2600755655343,-386.587047690505,-385.9140198154757,-385.24099194044646,-384.56796406541713,-383.8949361903878,-383.2219083153586,-382.54888044032924,-381.87585256529997,-381.2028246902707,-380.52979681524135,-379.8567689402121,-379.1837410651828,-378.5107131901535,-377.8376853151242,-377.16465744009497,-376.49162956506564,-375.8186016900363,-375.1455738150071,-374.47254593997775,-373.7995180649484,-373.1264901899192,-372.45346231488986,-371.78043443986064,-371.1074065648313,-370.43437868980203,-369.76135081477275,-369.0883229397434,-368.41529506471414,-367.74226718968487,-367.0692393146556,-366.39621143962626,-365.72318356459704,-365.0501556895677,-364.37712781453837,-363.70409993950915,-363.0310720644798,-362.3580441894505,-361.68501631442126,-361.0119884393919,-360.33896056436265,-359.6659326893334,-358.9929048143041,-358.31987693927476,-357.6468490642455,-356.9738211892162,-356.3007933141869,-355.62776543915766,-354.9547375641283,-354.2817096890991,-353.60868181406977,-352.93565393904044,-352.2626260640112,-351.5895981889819,-350.91657031395255,-350.2435424389233,-349.570514563894,-348.8974866888647,-348.22445881383544,-347.55143093880616,-346.87840306377683,-346.20537518874755,-345.5323473137183,-344.85931943868894,-344.1862915636597,-343.5132636886304,-342.84023581360105,-342.16720793857183,-341.4941800635425,-340.8211521885132,-340.14812431348395,-339.4750964384546,-338.80206856342534,-338.12904068839606,-337.4560128133668,-336.7829849383375,-336.10995706330823,-335.4369291882789,-334.7639013132496,-334.09087343822034,-333.417845563191,-332.7448176881618,-332.07178981313245,-331.3987619381031,-330.7257340630739,-330.05270618804457,-329.3796783130153,-328.706650437986,-328.03362256295674,-327.3605946879274,-326.6875668128981,-326.01453893786885,-325.3415110628395,-324.6684831878103,-323.99545531278096,-323.3224274377516,-322.6493995627224,-321.9763716876931,-321.3033438126638,-320.6303159376345,-319.9572880626052,-319.28426018757597,-318.61123231254663,-317.93820443751736,-317.2651765624881,-316.5921486874588,-315.91912081242947,-315.2460929374002,-314.5730650623709,-313.9000371873416,-313.22700931231236,-312.553981437283,-311.8809535622537,-311.2079256872245,-310.53489781219514,-309.86186993716586,-309.1888420621366,-308.51581418710725,-307.842786312078,-307.1697584370487,-306.4967305620194,-305.8237026869901,-305.15067481196087,-304.47764693693154,-303.8046190619022,-303.131591186873,-302.45856331184365,-301.7855354368144,-301.1125075617851,-300.43947968675576,-299.76645181172654,-299.0934239366972,-298.42039606166793,-297.74736818663865,-297.0743403116093,-296.40131243658004,-295.72828456155077,-295.0552566865215,-294.3822288114922,-293.7092009364629,-293.0361730614336,-292.3631451864043,-291.690117311375,-291.0170894363457,-290.34406156131644,-289.67103368628716,-288.9980058112578,-288.32497793622855,-287.6519500611993,-286.97892218617,-286.3058943111407,-285.6328664361114,-284.9598385610821,-284.28681068605283,-283.61378281102355,-282.9407549359942,-282.26772706096494,-281.59469918593567,-280.9216713109064,-280.24864343587706,-279.5756155608478,-278.9025876858185,-278.22955981078917,-277.5565319357599,-276.8835040607306,-276.21047618570134,-275.53744831067206,-274.8644204356428,-274.19139256061345,-273.5183646855842,-272.8453368105549,-272.1723089355256,-271.4992810604963,-270.826253185467,-270.15322531043773,-269.4801974354084,-268.8071695603791,-268.13414168534985,-267.4611138103205,-266.78808593529124,-266.11505806026196,-265.4420301852327,-264.7690023102034,-264.0959744351741,-263.42294656014485,-262.7499186851155,-262.07689081008624,-261.40386293505696,-260.73083506002763,-260.05780718499835,-259.3847793099691,-258.71175143493974,-258.03872355991047,-257.3656956848812,-256.6926678098519,-256.01963993482264,-255.34661205979333,-254.67358418476405,-254.00055630973472,-253.32752843470544,-252.65450055967617,-251.98147268464686,-251.30844480961758,-250.6354169345883,-249.96238905955897,-249.2893611845297,-248.61633330950042,-247.9433054344711,-247.27027755944184,-246.59724968441256,-245.92422180938325,-245.25119393435395,-244.57816605932467,-243.9051381842954,-243.2321103092661,-242.55908243423679,-241.8860545592075,-241.2130266841782,-240.53999880914893,-239.86697093411965,-239.19394305909034,-238.52091518406104,-237.84788730903176,-237.17485943400249,-236.50183155897318,-235.8288036839439,-235.15577580891463,-234.4827479338853,-233.80972005885602,-233.13669218382674,-232.46366430879743,-231.79063643376816,-231.11760855873888,-230.44458068370955,-229.77155280868027,-229.098524933651,-228.42549705862172,-227.7524691835924,-227.0794413085631,-226.40641343353383,-225.73338555850452,-225.06035768347525,-224.38732980844597,-223.71430193341664,-223.04127405838736,-222.36824618335808,-221.69521830832878,-221.0221904332995,-220.34916255827022,-219.67613468324095,-219.0031068082116,-218.33007893318234,-217.65705105815306,-216.98402318312375,-216.31099530809448,-215.63796743306517,-214.96493955803587,-214.2919116830066,-213.6188838079773,-212.94585593294804,-212.2728280579187,-211.59980018288942,-210.92677230786015,-210.25374443283084,-209.58071655780157,-208.9076886827723,-208.23466080774296,-207.56163293271368,-206.8886050576844,-206.2155771826551,-205.54254930762582,-204.86952143259654,-204.19649355756724,-203.52346568253793,-202.85043780750865,-202.17740993247938,-201.50438205745007,-200.8313541824208,-200.1583263073915,-199.48529843236219,-198.8122705573329,-198.13924268230363,-197.46621480727433,-196.79318693224502,-196.12015905721574,-195.44713118218647,-194.77410330715716,-194.10107543212789,-193.4280475570986,-192.75501968206927,-192.08199180704,-191.40896393201072,-190.73593605698142,-190.06290818195214,-189.38988030692286,-188.71685243189353,-188.04382455686425,-187.37079668183497,-186.6977688068057,-186.0247409317764,-185.3517130567471,-184.6786851817178,-184.0056573066885,-183.33262943165923,-182.65960155662995,-181.98657368160062,-181.31354580657134,-180.64051793154206,-179.96749005651276,-179.29446218148348,-178.6214343064542,-177.94840643142493,-177.2753785563956,-176.60235068136632,-175.92932280633704,-175.25629493130774,-174.58326705627846,-173.91023918124915,-173.23721130621985,-172.56418343119057,-171.8911555561613,-171.218127681132,-170.54509980610268,-169.8720719310734,-169.19904405604413,-168.52601618101482,-167.85298830598555,-167.17996043095627,-166.50693255592694,-165.83390468089766,-165.16087680586838,-164.48784893083908,-163.8148210558098,-163.14179318078052,-162.4687653057512,-161.7957374307219,-161.12270955569264,-160.44968168066336,-159.77665380563406,-159.10362593060478,-158.43059805557547,-157.75757018054617,-157.0845423055169,-156.4115144304876,-155.7384865554583,-155.065458680429,-154.39243080539973,-153.71940293037042,-153.04637505534114,-152.37334718031187,-151.7003193052826,-151.02729143025326,-150.35426355522398,-149.6812356801947,-149.0082078051654,-148.33517993013612,-147.66215205510682,-146.98912418007754,-146.31609630504823,-145.64306843001896,-144.97004055498965,-144.29701267996037,-143.62398480493107,-142.9509569299018,-142.2779290548725,-141.6049011798432,-140.9318733048139,-140.25884542978463,-139.58581755475532,-138.91278967972605,-138.23976180469677,-137.56673392966746,-136.8937060546382,-136.22067817960888,-135.54765030457958,-134.8746224295503,-134.201594554521,-133.52856667949172,-132.85553880446244,-132.18251092943314,-131.50948305440386,-130.83645517937455,-130.16342730434525,-129.49039942931597,-128.8173715542867,-128.1443436792574,-127.4713158042281,-126.7982879291988,-126.12526005416953,-125.45223217914022,-124.77920430411093,-124.10617642908166,-123.43314855405235,-122.76012067902307,-122.08709280399377,-121.41406492896448,-120.7410370539352,-120.0680091789059,-119.39498130387662,-118.72195342884733,-118.04892555381802,-117.37589767878875,-116.70286980375946,-116.02984192873016,-115.35681405370087,-114.68378617867158,-114.01075830364229,-113.337730428613,-112.6647025535837,-111.99167467855442,-111.31864680352513,-110.64561892849585,-109.97259105346654,-109.29956317843725,-108.62653530340796,-107.95350742837867,-107.2804795533494,-106.60745167832009,-105.9344238032908,-105.26139592826152,-104.58836805323222,-103.91534017820292,-103.24231230317365,-102.56928442814434,-101.89625655311507,-101.22322867808577,-100.55020080305647,-99.87717292802719,-99.20414505299789,-98.53111717796861,-97.85808930293932,-97.18506142791001,-96.51203355288074,-95.83900567785145,-95.16597780282214,-94.49294992779286,-93.81992205276357,-93.14689417773428,-92.47386630270499,-91.8008384276757,-91.12781055264641,-90.45478267761712,-89.78175480258784,-89.10872692755854,-88.43569905252924,-87.76267117749995,-87.08964330247066,-86.41661542744137,-85.74358755241208,-85.07055967738279,-84.39753180235351,-83.7245039273242,-83.05147605229492,-82.37844817726564,-81.70542030223633,-81.03239242720706,-80.35936455217777,-79.68633667714846,-79.01330880211918,-78.34028092708988,-77.66725305206059,-76.99422517703131,-76.321197302002,-75.64816942697273,-74.97514155194344,-74.30211367691415,-73.62908580188486,-72.95605792685556,-72.28303005182627,-71.61000217679698,-70.93697430176769,-70.2639464267384,-69.59091855170911,-68.91789067667982,-68.24486280165053,-67.57183492662124,-66.89880705159194,-66.22577917656265,-65.55275130153336,-64.87972342650407,-64.20669555147478,-63.53366767644549,-62.860639801416205,-62.187611926386914,-61.514584051357616,-60.841556176328325,-60.16852830129904,-59.49550042626975,-58.82247255124046,-58.14944467621117,-57.47641680118188,-56.803388926152586,-56.1303610511233,-55.457333176094004,-54.78430530106471,-54.11127742603542,-53.43824955100614,-52.76522167597684,-52.09219380094755,-51.419165925918264,-50.74613805088897,-50.07311017585968,-49.400082300830384,-48.7270544258011,-48.05402655077181,-47.38099867574252,-46.70797080071322,-46.034942925683936,-45.361915050654645,-44.688887175625354,-44.01585930059606,-43.34283142556677,-42.66980355053748,-41.9967756755082,-41.323747800478905,-40.65071992544961,-39.977692050420316,-39.30466417539103,-38.63163630036174,-37.95860842533244,-37.28558055030316,-36.61255267527387,-35.93952480024458,-35.266496925215286,-34.593469050185995,-33.920441175156704,-33.24741330012742,-32.57438542509813,-31.90135755006884,-31.228329675039554,-30.55530180001028,-29.88227392498101,-29.209246049951773,-28.53621817492258,-27.863190299893486,-27.190162424864578,-26.51713454983603,-25.844106674808206,-25.171078799781778,-24.498050924758108,-23.82502304973983,-23.15199517473213,-22.478967299745154,-21.80593942479882,-21.132911549932125,-20.459883675221555,-19.786855800817005,-19.11382792701231],"sigma":[1.864839956314856e-46,8.086001535082074e33,8.649046699634283e12,6.107560987116615e95,1.6553748673208696e99,1.0067099183279919e10,2.899124065552625e-17,5.136500899709961e-55,5.647017550309868e29,8.095170265053283e-99,4.2020344943869174e86,1.13397949658139e74,7.9049465154879e-92,4.30007319761911e80,5.514695336755632e-94,1.5107127227661578e61,9.996808004482389e-17,3.862495455935664e-97,5.0921077914341805e50,1.0654739275445966e44,5.494942620893117e-98,4.096352640924526e13,8.849629930328862e-80,1.568033252572364e-46,1.105944493800464e85,5.381238452799909e74,2.01145403542326e-62,2.5809716040961854e59,3.8285593465032477e59,1.7888965747583243e38,2.9446616345039594e11,7.092550156985083e18,2.505613338834454e99,4.469946392499388e94,5.418253633558372e50,8.365968083395851e-52,2.520272046586459e-73,9.403022565880869e34,1.7396463163272354e-100,2.691054339906071e-13,2.172235439801964e-97,2.649976960628839e-69,3.017169600504556e-55,1.808958351713652e-24,2.0148359987397366e-74,1.6915610426705428e78,1.0700780837350581e-83,4.242424166340724e-77,3.957669550520639e-9,1.2055545757924856e73,9.784101566641514e68,6.710499928944006e-86,1.8417424512985492e25,3.0758196279214875e-47,1.6835640893050797e-70,2.0344940964176445e34,5.554475842069837e-77,3.352482118884216e86,4.464170684707997e-12,2.1688207518952263e-62,8.965969746680811e70,3.463226722957583e-16,8.95758566818319e-39,3.373053792508191e56,2.5758516682471935e51,5.4213006344144305e-61,1.1214676608124823e28,1.3679403673016332e-10,1.395367300030293e43,9.735669203598462e-10,1.46918376638858e79,7.770657560842411e81,0.027633874830837478,8.156550830582333e68,3.1284167847915535e-48,7.437893063357792e-12,1.6320290136989853e78,7.428544842180832e73,1.3352764842826563e89,7.343418137459303e19,1.2522732431382177e-6,4.92373325443681e-65,1.6227229135963522e29,2.10208931944006e22,1.1746348048923832e93,1.660148566587495e60,4.128323257908569e-28,7.5095826703324595e-31,2.5365128778103535e38,6.389010501248686e65,2.312874262264389e35,1.3591605096903894e67,5.601304870360885e60,4.278335773029181e-81,1.1741675781946536e-66,6.933061149877338e-92,2.0427016500296984e16,2.0870291625279332e-36,3.7332977330700644e82,2.6521956868399466e53,1.264755729079558e75,9.695088890856953e-44,2.4951464493568565e15,1.0566495407492652e14,4.381065218534646e-18,3.395453480037072e73,1.5877234476145967e-88,1.2436909579695252e-8,1.34430232044203e-74,7.941920237021166e49,7.374181716575273e-60,0.06320211893331844,9.522165836194475e9,5.474473275901391e9,9.095342496281025e65,5.926263036421479e74,3.496425617495705e9,3.773904078974737e67,1.0316869762093254e67,4.854007194125308e26,3.238811655398165e-67,9.508565294012098e98,5.803586589201615e25,7.333338268179435e-14,2.4758562918416837e-9,0.00739515689283811,1.909451448851854e-78,7.094009433320916e20,1.0490014797737234e9,8.483525794799812e-8,4.9018080011152384e17,2.9397873360831237e-8,1.8431842620695606e-9,1.0101167157113336e-75,6.897772197501383e-9,8.078250184731361e-32,5.387513970805379e14,7.275767108453667e60,3.2671710609415172e-6,1.8428679796825587e-56,5.942030022533808e86,2837.8030662852957,3.620712268527491e95,3.619732472530758e42,6.322404005843074e98,9.891105111154605e-81,2.459514741600705e-52,1.1128852203881337e-52,9.590498611338178e22,5.421540927952576e68,5.8049453124312616e72,7.456593399338653e87,4.0060375007583e-75,4.5403805277113245e-69,1.98789184296921e-76,2.8152456034932368e-59,1.652410472249754e-98,2.2220602614157408e8,7.306025482694618e-81,2.324444426294241e-42,1.3567740540097911e71,3.936296629438602e93,3.093898529639845e98,3.189846724907864e-30,9.11139759516519e6,2.0309622181563608e83,9.966078035894215e-69,4.1982946049148694e-66,1.182523089705043e6,1.2807635785085501e-56,9.520458900585068e87,1.8034191758749096e-72,1.8344257341024674e-67,3.7038014426174967e-10,5.4772521975426526e70,3.0174140178679716e74,3.356255507006001e-17,9.961733746457941e59,1.151073543198046e13,1.2431861537452586e48,1.1772878429212253e-47,569163.2963679088,9.090522461342927e-43,9.960044803882543e-69,2.6669696887320572e51,3.1242214146106746e20,3.854446107315107e37,2.081710430687236e-71,2.0246015417681638e42,4.653015834713467e83,8.056337040424384e53,4.67687466517233e-64,2.56186810290159e-13,7.560279063666493e-6,6.722738263686804e-39,2.52796030667874e-97,7.063191151818674e-78,3.155724712371922e80,1.1659815518845431e-63,1.2650356291550133e71,3.402323395254344e-25,2.0309041786417822e-16,1.386119861314521e-50,1.1632474643824848e96,2.5266393205036634e-88,8.350055093831483e-7,16.160034932133694,1.1907263314399948e-71,1.6091693937794483e-28,8.442423739729775e62,261071.3301394439,5.836109069786905e20,2.1810866613207327e-18,1.2420231288557962e-54,5.104749274683109e93,2.4276293960191626e17,2.004899348398046e-93,2.6908959304078806e88,9.357496298152616e24,4.19365843581141e-78,1.8057158355423165e41,3.077639382744321e-53,2.6605035450622454e-91,2.0620614830997004e77,2.72545758806078e-88,1.9447364608057004e91,2.0385077266992377e-47,1.5781186733830197e-46,3.210822114125414e-78,1.086744665834022e64,2.0111738513496777e88,17949.933519571863,1.99998890867838e57,2.313951359079219e15,4.593888153299601e-81,1.0924228193403122e-65,7.02499216862599e-13,2.3348326959238007e-68,1.5577528073003378e-52,1.238803446701628e-78,6.409726194978106e-79,3.3800232207195696e-11,5.750874034345809e-22,2.6635146435221895e83,4.2103489791457585e92,3.448847564459366e63,1.195325583386578e57,0.6362058715781752,6.282551800559875e-97,1.7004554099098377e32,4.535547841091646e7,3.849485173990719e29,2.3670377080292916e-78,5.772011337720923e18,6.666958589812263e49,5.832492647670405e-25,2.8658410143863555e-61,1.8288601562292804e98,6.301788343624568e-9,3.3896253600367486e-79,1.2756818788957115e-38,1.0139493264793302e-88,6.743939810408931e-94,7.5398434548792e10,2.1075445533836082e-20,7.453641772103204e92,5.238055887523393e-59,3.228726701091876e-7,1.7349939193680517e-10,4.360095946310373e-64,2.432212739465511e-55,1.5849444645416846e32,2.1315502161042735e61,1.7139474112646742e-67,1.550652468184455e33,1.2813303132766876e-67,664758.2013552109,1.943460078036927e74,7.357676142644335e96,1.8723127492159937e41,2.261503868857675e-70,8.537385253874104e82,2.78999677203519e-40,3.5894535581210176e51,7.086289595065585e97,6.59722639314306e-55,1.196020926430486e13,2.641537875155725e90,3.497962739872604e36,6.697555047060477e65,5.534314731826442e-21,2.0607414592025377e42,1.2139355689293006e84,4.703765013838383e59,2.1639496765255085e95,8.755855856891017e-18,2.068007602376887e64,7.670154472121208e75,1.420683548696988e-76,1.1004708686191935e-10,9.600604826245736e-29,1.3641572930249659e-47,0.8125189500239923,0.00030818618813579655,2.9658433742155038e28,6.408340880539093e92,3.6576897012514846e28,3.566337262897819e29,6.249181172117233e81,54335.11839292624,1.9929423475946035e-79,6.563282083880509e-93,8.589134371890649e43,4.201709240618155e22,8.19226724891659e-23,1.9151064183008915e-62,1.0037724704988807e60,2.6015795817691705e57,3.193675438613872e40,4.622628250196957e-28,9.001242474642975e34,6.800251836257512e-70,1.2742356919919324e-94,6.972703903612991e22,4.0502790277038104e71,1.304894570339362e92,3.9004247653900745e26,1.8686855594788414e74,1.189337596793795e19,8.163069462487463e90,5.7258123590869086e-8,417250.57003663765,6.527243657969704e88,1.2593512888418221e-17,3.6398921479965606e97,2.312186497105018e50,2.458598362459164e-14,3.0451358010151732e-15,2.8339066172263585e89,1.1084821207158842e-53,3.480619181274069e15,1.4473556485241493e-55,2.9347746123436884e31,44782.77017048279,1.1430100385308106e51,7.892159321811892e39,2.907200709687318e-58,1.8924312403962728e7,1.6127616437251531e50,2.054018468274656e63,1.0845537269251181e67,1.989642564385779e-15,2.5835430237611487e-34,2.885710239318698e-40,2.392992513946151e17,3.727850391869207e63,9.223828418146037e44,0.0578578608982949,2.1937465517133535e79,4.0073524478697746e33,1.5809515424297784e63,1.0942161567491312e87,1.8065006535478367e10,9.356095980889597e-30,2.8384836849325483e57,5.666164431608098e61,4.47304271793974e-89,2.079802760578194e23,1.386716483344554e93,7.11841728158808e84,3.710466952711839e55,1.7801085442649385e-37,2.4044522800421237e-13,1.4226357641679018e-66,1.2474251099814736e61,8.662365111962062e73,1.1577366879476776e-43,5.32003063193877e10,3.160349843411525e97,1.1480855446833662e15,4.62534599122637e79,4.910902415286404e-47,5.373946194123939e-45,3.193028098748765e-78,5.10845516917513e-60,3.3095799008048704e-52,8.345071587741922e36,7.081964514392705e64,1.614961080457316e51,6.9892836831915416e75,8.252564171599082e-84,1.7730739588763368e93,6.985333005789881e-98,3.3712377448995764e11,6031.74090753256,4.3659883766971736e16,0.002128548307049471,6.452475251789087e80,6.805491038186399e-13,1.1181040588010141e-33,2.9771901203957e-14,4.2048879601017194e-47,1.578548196247472e37,2.3464414903680225e83,6.478051776829777e-89,1.2612427463841335e77,1.4230502198717143e-69,2.263292152399544e-68,7.671756767908043e32,2.739227624331759e24,5.772500095968115e-58,0.00021654867874112396,2.6503634041469457e67,0.16826248964504778,1.3474643479838714e-79,0.02681050962911096,1.2933014792148489e-60,1.3211761135942921e-62,2.1759662294081457,2.868395978089342e-70,1.5078348121117633e-30,5.235843031517074e96,2.4320902896261497e-39,1.0615419027507886e-17,9.284567469499769e-6,4.0741836172867905e41,1.4827394994572252e29,6.063647071502379e81,6.627498988354312e-39,5.610813935508712e-55,8.321669417296241e49,1.1491297899116189e29,8.679146110838828e-54,6.612004483060986e63,3.654249653011726e-100,1.3883664577377274e-9,7.247092551732139e78,5.5544448555307e-5,2.0956160271752633e35,1.6045764498845508e-77,1.8945507140357322e-60,3.909443478495692e64,3.1165867512500605e-63,1.6093027119359092e-94,1.2303366499671309e-77,5.711210603177052e-41,2.103816695478759e-67,8.453294206072178e56,1.4408557328411074e41,5.627265155302368e-30,1.8221727206172246e57,1.1094549846064982e9,9.707447298471367e-46,8.478910355869784e41,2.3994436678367908e-49,5.863662323881069e89,4.100028084925158e-74,1.0627379076610495e-51,7.373595717531478e21,4.196594934478697e39,9.55991995329778e21,1.9465379410709976e64,6.875028329444491e-9,9.388574246258963e-67,2.8800549787175664e-33,2.4916561358906888e-14,1.846044561102781e-62,2.4933017780145504e97,8.794661552001067e-82,1.6980736038966873e9,2.6526454267929893e-32,8.961806586551692e70,2.946497179051979e-7,3.3418921027700997e77,7.17775012626486e-60,8.785354916024961e75,1.5302752670448497e-39,1.6196628083349734e61,5.50947711836115e-66,3.653739422720462e-16,1.6565401069549597e-26,1.6673074576248002e-55,1.058561063407286e70,4.925306305204224e-72,2.74333404095742e-53,6.340276712044007e62,1.7339277045357797e56,9.02927506626375e-70,2.298182120466251e-75,1.5620915341750389e31,3.8824663413126707e-53,5.057358586202124e-11,1.0838086296748705e-43,4.5060537496193965e-9,2.3758887032942903e-74,1.866395454426429e21,2.2916885459882887e-65,1.3733327848750693e-82,2.3970807395756514e54,1.2413961027306147e14,1.8660106494014645e31,1.0148800460935268e-46,3.2779947967497532e-40,3.6812126702560396e34,2.463546445470821e91,3.1385061750367896e72,1.9393531069196008e-89,7.776374442625191e99,2.9256901877518488e-34,6.403555179856193e41,1.7954661347085705e-76,2.170291931789351e-39,1.0790308947880078e-60,4.3963673096809435e30,2.506972167826452e19,1.1778323503998037e24,1.787490142979305e-42,1.575075845742329e-33,3.5582817083000214e11,1.0939167146910707e-56,1.2409537543558467e-12,4.27623539063071e-80,2.6751655528368264e37,1.0587610167869032e37,9.453537721359866e-92,6.257384017372293e89,7.4775089936783e-55,1.1581921398305382e-98,6.046627389091666e78,2.1261786515116918e48,1.1416618491747612e45,2.3583144602809183e-45,2.7114555853209387e56,1.0935849966387047e-50,1.061340695453414e-27,3.5494232263869838e47,4.507407680721876e-12,2.340561373043157e-85,6.21729776623038e61,7.272464270000987e-84,1.0741431556163047e-31,1.0879087918300082e-67,2.108410875395631e-88,1.0240710251091867e-61,1.0800477289733641e-17,3.0267089684540176e13,6.1794031964418565e-58,0.03155739746702213,4.010619970417338e-63,9.15638116317286e87,3.3742006413522756e8,1.159112937095994e68,2.2244965436605874e-32,7.846494125306863e-100,2.4608087868265223e59,5.259264335415751e-75,1.2591035113935651e53,2.826105525906702e-85,4.909752142829286e-61,4.786329577232921e28,5.04595641847458e97,9.643287876871505e-53,6.032278835992367e22,3.1959983414413737e-13,3.645741251187719e58,8.575667127934472e-90,7.382112550025979e-62,4.443687692083243e-59,9.70702371293918e74,5.3830266706409314e-14,1.2383754891397323e-68,3.739849385377796e-85,4.080575357712304e-11,2.8474922345352098e-92,4.138616747674561e-84,1.692220591033529e30,9.13558068653609e-44,1.2759425195033507,7.354683572190162e-56,5.650488749019096e30,6.188469255661552e-72,4.2147666729060333e96,2.114745587541516e-53,3.995378822894073e-34,2.856462446201516e27,1.3586374426153135e-11,7.508402021009732e48,2.574205311760499e-68,1.0952949748489585e68,2.12890754023457e76,2.1093081864942823e82,4.589472601945965e-18,3.2917157182169443e93,9.984455854435045e-64,1.8623488565166045e-60,2.5280878393569737e-7,2.484873763176161e-47,3.42187516971368e-96,1.3786105449378511e40,1.449041106262527e15,6.896578067629286e17,1.4949141714479265e52,9.325256984075205e-42,9.259718122457537e-89,0.03709438556382282,6.028794356600439e-5,3.9156802120453554e20,3.4267561545144576e75,5.556443072423164e39,5.634734845791677e-16,9.194425126937916e81,1.4465929073132654e-55,7.291311225578002e15,3.3986888746002606e-67,3.1259556728275534e-21,30.08431009484152,7.36312733159308e55,2.6320934209385052e-8,1.3823334732168674e20,2.1867017800765792e-63,2.37878137720729e43,2.6596130318010924e28,3.6153890093763745e8,1.5288619277363264e-70,1.0658583532781978e59,6.395719598576068e-64,9.281244892251959e-90,1.4236118084330682e86,1.7373554747862188e12,683.82986402275,5.088115641678026e35,3.0514571598882345e-94,2.458382915527689e80,1.384647930596938e-97,6.1731626231013e58,4.211471894760818e-56,3.7980662446299724e57,8.901006072233857e98,9.176441443517718e-90,4.7939831690654605e64,6.948669599683438e-70,6.000896676283336e80,3.2304213117976215e55,2.8009844338451653e19,1.1204981345250809e-23,7.173606608485018e-16,2.3731124210381765e-71,7.724892134354332e-20,1.015101837418557e-37,1.3883726359402354e-96,3.080074015070141e95,8.72907824673699e-45,5.26624270789305e55,4.099213682195523e-57,1.111985333875295e58,0.001923263977856173,0.4841002916568546,4.4278488111440434e-76,2.1286399243824184e-74,6.621528928459581e-51,1.7821825256566448e-77,2.235079190661365e67,5.543530623047157e-55,9.416239744309301e-33,9.536059922855105e-19,5.0634369503044055e91,9.803867289808041e-70,1.4124978404969779e-33,2.699626630998943e-96,2.2054042374344665,1.0925454318692725e19,2.4460744667967955e28,6.179378713910519e-48,1.0318576695650508e34,4.917181289318382e61,5.200745712604199e40,2.61495887580951e-79,1.8141572366662095e-97,1.3472765713097706e36,9.77835972258392e39,4.597236767102094e71,4.7501655509906864e30,3.325304062022968e98,6.0705187464115765e-43,7.926342450881754e55,3.559834280929934e-78,1.3909022874792266e72,1.263592847614816e-25,5.189551084090689e7,1.1248792266088339e-10,5.307301094042133e-81,2.0374971178043934e21,6.1640590141776665e-65,2.1721726816934724e-34,2.226516313067338e40,4.7972044364233974e30,7.724219374806112e71,2.6410665207167468e-33,1.301710696135081e46,6.024700033677516e-66,4.0095017594841824e97,1.0432995519998678e33,7.05064838692841e87,5.532200463688147e74,1.7403167827112533e77,6.073280014588824e-66,7.597820289409389e-99,6.58019270026948e-99,0.001096544127146911,2.534445842812877e-56,6.310545174515757e64,1.1941067612653225e-52,1.740060304517567e-87,1.7749373851883564e-31,4.9274426273486087e-20,2.8875850291052544e-16,4.693121111300316e77,4.49144052561946e-80,1.9293023688946587e-72,2.4400718470003378e-45,3.2476170390981613e-81,736728.6581772984,5.367981506255445e63,7.885392020240836e69,2.3521102690727745e49,5.0226316518416046e10,9.148907107662744e-33,1.4212163918599e53,3.2689196830984274e19,2.1921017967591486e6,3.1461675897535934e52,8.11698558724245e-74,3.823998106090209e-88,8.891252554732674e-79,2202.52328077148,8.66089907184888e-13,3.8001393425039334e21,9.064666836938313e-100,1.3196968404150363e97,1.7359477035023043e-14,1.3085318145088554e79,4.816461867371165e92,5.236391954609652e-43,9.75607531237002e55,8.158084286677957e-69,9.515863619936984e15,1.2943876388744302e-87,1.7168911908502025e-82,5.7869269173258935e-28,1.0066706126304219e85,3.2717214020137487e37,1.7075869320752988e49,1.9581740982608497e-78,2.083561347887331e-56,2.5254095304827737e55,7.79212882029273e-17,1.1204861585256554e54,1.0633078934923834e-52,3.7060719246480763e65,4.720828767748293e21,5.40020427264104e26,2.4181299331212295e64,6.480920801301004e42,2.3168356977462277e-8,3.5942549204312544e57,2.8034681039242355e-46,1.0271382528018792e54,1.365529936143693e30,4.5523908565845536e89,8.239042161117318e55,3.5917297045245664e-58,7.615636689655147e-13,1.6609409185389476e77,2.013145345330971e52,8.850437705394111e-38,1.293009540727471e19,4.329976273082209e72,5.52256618723022e-72,5.324464627251892e-75,6.816779778349614e-36,1.0706084552909782e21,2.0803658934246832e50,4.1135195986777387e-23,1.1120117667783314e77,4.79190904980477e92,0.6383609192913826,1.3897432760587838e14,13733.273116465287,2.3543697385459858e33,7.919777720176538e41,3.0999967548812394e-75,3.067460678762957e44,3.690677860311777e19,6.864088102021698e24,0.027862287020202985,1.5701384916830756e11,8.810221899162942e-11,4.988427757434149e-88,5.634865626495732e30,1.7587790418362536e46,0.01246512545314982,6.000615191359862e-12,3.7521452201477437e12,8.530910899515286e54,6.489350958434787e36,4.343425503164041e35,5.449117003588272e-85,6.798723493502864e50,1.74993546384343e17,1.5103866558304323e-79,2.464131084854774e73,8.911138625712442e-33,8.95736656844556e72,17195.0745922591,1.2515204089243063e98,2.2520419787324063e-21,2.4168284214083834e-47,3.5274310287223464e59,4.250541557152351e-80,1.5328137002446906e64,1.288254330619627e-85,5.729934148862892e15,3.838793711335585e48,5.710816358116561e19,3.5079146164072186e-27,3.638093120274425e-60,4.88642680567467e-68,1.2440097251978715e59,2.973650355610633e-86,7.7315356771723085e-78,1.2567963034569715e-47,1.1425169648305175e20,8.22645191645837e68,0.06538844484139138,3.6638774252405955e88,3.199812069077093e-49,1.3950276714126774e-83,1.3191431539734246e-18,2.5134313590031725e94,5.649160992732863e64,1.4447447579831737e-85,5.932180417523315e80,9.223050958070963e-11,8.453355260747081e-15,1.2772095855381299e49,6.183476681275718e11,3.777952984327401e54,1.8899551274559104e34,1.163878846934429e93,2.5599977805094104e-65,6.8525060896765e-14,1.1683026873901867e39,2.7062735289098262e-73,4.6945135551963075e56,3.173755118291973e-63,8.337124537070516e-8,1.8649102618343015e-23,1.6345521637243424e-16,1.1620439628585847e29,7.18007740986658e89,2.2287826804415072e-40,6.40180062886705e54,2.0535358517380658e-44,3.425416833223614e-41,4.680283257633493e-47,1.6462587985158364e60,0.3222678170381914,2.7869147273748687e93,3.2907906813250455e58,1.1746704382847455e-98,11611.238096192466,4.444057211935096e26,7.080399110498436e85,2.844070295172321e91,1.092342318889617e84,5.704215911815799e-84,1.320546354505629e56,23714.852036813136,6.797190360058867e-47,7.0314823151996226e-99,1.2212611504305376e-34,5.439907870159347e-20,3.0201088878324575e12,9.895405805479402e94,1.9680637010422943e-40,5.726955063289492e-79,8.141597417156033e-82,2.1825871988420838e18,2.72006725358195e-12,9.225072075786704e66,4.649462547510062e38,5.0954250578263256e14,2.1120721164468517e23,2.824098564386511e-85,1.0618183058598764e65,1.1470735855498454e-59,0.32754864718835114,1.6372401524093875e63,4.951136285395666e-18,7.987456773350103e63,2.8924003632498204e-82,1.0591634487372714e-78,1.80640688662817e-31,1.5190603799920376e75,1.575272349401593e7,5.759854365179749e-49,6.1197783135521194e32,8.83740016592779e54,0.0012264102615153513,3.9663079103534014e29,1.0389584708300978e-40,1.1500254980888146e-8,4.097098852024456e-28,1.2125567138525073e88,6.783658700694889e-99,4.459997412746942e-40,2.3721675058419167e83,6.056825879571767e77,1.983146293775721e-6,1.932067516728e60,0.000660933021463809,2.162949372011102e96,1.9281635066648806e30,2.078389959214892e28,6.470232135120085e-12,6.906404779588567e-55,4.104230969414476e-48,1.607003054153455e-95,4.82828057050283e-90,1.1623232810072433e86,8.36281370993184e-45,6.913497772900455e38,1.6219486640325e56,3.456623216459581e28,2.370845705130529e19,4.322284316557754e48,1.6197654757579397e97,5.264309519277109e-38,5.2329146691197995e45,2.2435974323894826e79,4.203686226780541e58,2.3465402179115623e-93,3.036782673146821e36,4.0758740127450805e59,3.1570743059156156e-89,9.958407216010355e-59,2.3456638851012567e61,2.4942446174437558e-18,336210.5411297642,7.277468770458949e-22,8.46654173760384e-30,1.3198335130075328e14,1.2480469995356906e7,7.1379980957007e78,5.8132891207141e31,3.4449084990420734e55,2.2046515219787384e-75,1.1905650086761757e65,5.963177799977115e90,1.3734451667177014e-61,3.9621755088925e-38,1.0384360850590698e42,5.29122718245988e-10,8.104293131642216e45,2.3300639597993278e98,8.072927913261645e90,5.244647308569251e46,3.934958665901772e16,1.0727233850990897e75,5.931535675165618e55,5.278345855592333e-62,2.5868751093446476,1.842996648658955e20,1.3652565189290616e-86,2.610085597258259e9,3.0886106509594573e18,3.7014178867891466e80,1.6897109517422125e80,4.25487517869076e89,3.815585812695158e98,2.56158655629538e95,2.924183604005803e46,1.687475986904073e-19,3.126749674434564e26,3.1104351003677244e78,8.447331688151576e-18,2.1945349232499303e-21,4.8522853549403496e-58,2.135220828153539e28,1.504629591475645e-42,4.452545059821811e-11,7.347856670704403e62,9.803020162958912e91,2.6577317985841103e71,8.508625118880214e-73,1.0491049408577301e-88,5.163763349732198e-34,2.1010869551223968e-19,1.0391066298324147e30,291032.6287449709],"x":[1.864839956314856e-196,1.132087422984169e-116,1.6953545428304404e-137,1.6761244094051776e-54,6.360348930753092e-51,5.415456580329107e-140,2.1834521450964705e-166,5.416146357639926e-204,8.336587381069821e-120,1.6731747538222774e-247,1.2159650004288165e-62,4.594230808018739e-75,4.483866664445128e-240,3.414882368718483e-68,6.131511830870594e-242,2.3516575455001324e-87,2.178711318570428e-164,1.1785620863578838e-244,2.1753453760790724e-97,6.372643204993255e-104,4.601358642975057e-245,4.8024892960648035e-134,1.4525808861170613e-226,3.6034344787799476e-193,3.558285887994241e-62,2.424018279582244e-72,1.2685567851638708e-208,2.2789204857819116e-87,4.732901602909875e-87,3.0961605358324985e-108,7.135423960965307e-135,2.4062067803845197e-127,1.1901199327962323e-46,2.9725224105180915e-51,5.044618170624253e-95,1.090514183532123e-196,4.599479460119338e-218,2.402563559860181e-110,6.223210845567457e-245,1.3477898057101052e-157,1.5231853034186282e-241,2.601561459201881e-213,4.1470365349558245e-199,3.48107076827132e-168,5.428378630264409e-218,6.380640133161965e-66,5.65116765819877e-227,3.1367720306683404e-220,4.096892274367838e-152,1.7472217888277745e-70,1.985309677927058e-74,1.9063749801113035e-228,7.325351995330911e-118,1.7127998243310152e-189,1.312567194284042e-212,2.2207234164593586e-108,8.48842794461757e-219,7.1729334329424235e-56,1.3372643523045674e-153,9.095912683336676e-204,5.264607981889289e-71,2.847054880805895e-157,1.0309842515268167e-179,5.43538703919011e-85,5.8113121478752004e-90,1.7123912142726493e-201,4.959437256389995e-113,8.46952310979878e-151,1.20955738985883e-97,1.1815439838294177e-149,2.4963550343070577e-61,1.8485625361355946e-58,9.2037393007269e-142,3.803428142922662e-71,2.0423935117770614e-187,6.798465391510858e-151,2.0885024176681648e-61,1.3309354798330995e-65,3.3494276414736764e-50,2.578955232455401e-119,6.157306789354097e-145,3.38947437272627e-203,1.563969763908441e-109,2.8364902542341225e-116,2.2191115880847262e-45,4.39106005850963e-78,1.5287703982975357e-165,3.8934133829935927e-168,1.8411871381893607e-99,6.492928328184453e-72,3.29082794405686e-102,2.707509860428672e-70,1.5621928895051017e-76,1.6705768448175185e-217,6.419006595948326e-203,5.306509115483293e-228,2.188945605978651e-120,3.1311559153999783e-172,7.841785323884202e-54,7.799630572202998e-83,5.207403971390291e-61,5.588722631327153e-179,2.0137379189296675e-120,1.1939441766998e-121,6.93072899678817e-153,7.520437911134582e-62,4.923413929201887e-223,5.399457343309987e-143,8.171103885766265e-209,6.75857987731164e-85,8.785973954275724e-194,1.0542748854485202e-135,2.223842926836362e-124,1.7900157595214562e-124,4.163702758989416e-68,3.798286592331737e-59,3.137453128798935e-124,4.7412183505608473e-66,1.8146513384796873e-66,1.195340975411691e-106,1.1166658405536659e-199,4.5898519455267746e-34,3.9221689594935046e-107,6.938693345406071e-146,3.279801461749115e-141,1.3715626831737267e-134,4.958188509690252e-210,2.5790058199969624e-111,5.339281364858372e-123,6.045458406807531e-139,4.8905228834282235e-114,4.106398190459389e-139,3.604624621589154e-140,2.765725000263433e-206,2.6441886155003996e-139,4.335578250176237e-162,4.048221669453058e-116,7.654217717924237e-70,4.812159811711275e-136,3.800218242795272e-186,1.7155180908733525e-43,1.1470671968393312e-126,2.049022683974985e-34,2.867975075676481e-87,7.013378685454649e-31,1.5361584291817173e-209,5.347942969219922e-181,3.387925551644753e-181,4.087622833097323e-106,3.235180501716143e-60,4.8497578490085e-56,8.721848329746247e-41,6.56038345467841e-203,1.0410045142669265e-196,6.381154475092632e-204,1.2652284285738385e-186,1.0397208124445691e-225,1.95749552369642e-119,9.010985145183335e-208,4.013806247465331e-169,3.280128919744413e-56,1.3323469984275334e-33,1.4661612656645742e-28,2.1163701970786347e-156,8.46355783724469e-120,2.6412892174514253e-43,1.8146151970978475e-194,1.0702354130553278e-191,4.22048325955766e-120,6.399818649167776e-182,6.66043704068015e-38,1.766394379781034e-197,2.5155750078012636e-192,7.111004930935531e-135,1.4722859502213876e-54,1.1355610276623897e-50,1.7683846536390058e-141,7.348569361789128e-65,1.1888226914662102e-111,1.7976135150624146e-76,2.383356264840021e-171,1.6132041791673798e-118,3.607343034572548e-166,5.53357800954388e-192,2.0744786553618729e-72,3.4023488597071064e-103,5.876857509842946e-86,4.4437503024735e-194,6.050831215599983e-81,1.9469560684275936e-39,4.719602196688807e-69,3.835920920536195e-186,2.9418249469849766e-135,1.2154694079744595e-127,1.5132077453191602e-160,7.966521801659124e-219,3.1163455272294206e-199,1.9493503553878562e-41,1.0083901992391938e-184,1.5317427748843925e-50,5.7677286560614375e-146,4.820197227063149e-137,4.60598275878845e-171,5.4117756247945865e-25,1.6457242338597294e-208,7.614638686252746e-127,2.0632335981425865e-119,2.1284537118152758e-191,4.027171846800967e-148,2.958092095191044e-57,1.2807072633310952e-114,4.0083001647971594e-99,2.0972775342372015e-137,1.6720867769560365e-173,9.621653025156545e-26,6.4062489140620995e-102,7.407303548894672e-212,1.3919082712653918e-30,6.776719718722542e-94,4.2520568386925256e-196,2.5633125204762525e-77,6.116683781401631e-171,7.403009153918311e-209,8.03326698224525e-41,1.4865385116453163e-205,1.485058765430272e-26,2.179422303222821e-164,2.3621900394586265e-163,6.728799175992895e-195,3.1885628707821527e-53,8.261582183403805e-29,1.0323396409618373e-112,1.6103990033889453e-59,2.608592717932115e-101,7.250677946405979e-197,2.413988004979865e-181,2.173383346279645e-128,1.0113288651784662e-183,9.446726140091005e-168,1.0517955618752972e-193,7.619290868196134e-194,5.6252380418412894e-126,1.339988966520803e-136,8.688976093287464e-32,1.9229932240305798e-22,2.20536158427921e-51,1.0701340101991718e-57,7.974358772650923e-115,1.1025043770765328e-210,4.177876891175663e-82,1.5601497606017576e-106,1.853895857384874e-84,1.5960041097286478e-191,5.448816099333782e-95,8.811480384010025e-64,1.0792485336678295e-137,7.4244708624906305e-174,6.6334591341366916e-15,3.2001439788619386e-121,2.409925139425847e-191,1.269814799489653e-150,1.4130593244682005e-200,1.315842701231236e-205,2.059675321456042e-101,8.060451087621297e-132,3.9911426008602293e-19,3.9268562437649074e-170,3.388849688788683e-118,2.5495593386452513e-121,8.970349404041979e-175,7.00585296520931e-166,6.391748158937045e-79,1.2035033962472106e-49,1.354863023515495e-177,1.7161629380891515e-77,1.9854149641457066e-177,1.442115485731355e-104,5.902800513628902e-36,3.128738717582306e-13,1.1146875983703418e-68,1.885029955013558e-179,9.963041668883352e-27,4.558447045066641e-149,8.210842053526586e-58,2.2694697698408213e-11,2.958101280333659e-163,7.508212855562408e-96,2.3216715849186295e-18,4.304327117767496e-72,1.1538584317538185e-42,1.3348923243001456e-128,6.959083333427888e-66,5.7394504560598765e-24,3.113625951481467e-48,2.005460552618664e-12,1.1360873300607251e-124,3.756742172836362e-43,1.950785486522129e-31,5.058816227185153e-183,5.486258266180303e-117,6.701043508981594e-135,1.3330745557263278e-153,1.1116539993434314e-106,5.903308145942049e-110,7.95383615863389e-78,2.406136049005288e-13,1.922771074863701e-77,2.624758061115535e-76,6.439262484274763e-24,7.838622988827756e-101,4.0253165678348003e-184,1.8559767082150007e-197,3.400533007182945e-61,2.3290013461865168e-82,6.35761173075222e-127,2.0807933336222477e-166,1.526924145476054e-44,5.540710304898297e-47,9.52281292617531e-64,1.9297879474936006e-131,5.261011215220273e-69,5.564650712571029e-173,1.4598519852255506e-197,1.1184238725982408e-80,9.095703493891297e-32,4.1027298533357125e-11,1.7169417012030587e-76,1.1516646044522418e-28,1.0262214399587728e-83,9.861331858982652e-12,9.684235451896944e-110,9.880326881273351e-97,2.16396556432834e-13,5.845390879884127e-119,0.0002365382221452683,2.103690373353675e-51,3.1317904332682557e-115,5.430726310980368e-116,7.075920302025061e-12,3.875004722217043e-154,1.703515929113197e-85,9.917702945768975e-156,2.815507804173139e-69,6.015047798008709e-96,2.1494350125098763e-49,2.0778599119824878e-60,1.0716219052881975e-157,9.766362083369129e-93,1.165276652286327e-49,2.077826826850238e-36,1.5360389281014717e-32,3.94523030542053e-114,7.172311476733705e-133,1.121611129485431e-138,1.3021981551503727e-81,2.84014397721456e-35,9.838734554819468e-54,8.640453696497323e-100,4.586767973848989e-19,1.1730702122845508e-64,6.479345987333594e-35,6.278586499478556e-11,1.4512526571953848e-87,1.0523148994055465e-126,4.46975377171498e-40,1.249201557109212e-35,1.3806784147514563e-185,8.987890773446567e-74,0.0008390144868650365,6.02991750587179e-12,4.400506248153149e-41,2.9557432398019283e-133,5.589623146289684e-109,4.630269132081968e-162,5.68424960882877e-35,5.526386942532438e-22,1.034095735099351e-138,6.652903590806222e-85,553.3225935586647,2.814256243480152e-80,1.5873758198027914e-15,2.3596249847240596e-141,3.615106879785612e-139,3.0072997233462146e-172,6.736118314139957e-154,6.109970827488079e-146,2.1569619253636806e-57,2.562785775796197e-29,8.182137345062456e-43,4.957737394333238e-18,8.19569724870127e-177,2.4653012420646645,1.3598042806078836e-190,9.188081020631833e-82,2.3015703800907265e-89,2.3324390450691495e-76,1.592052498816531e-95,6.756882511977638e-12,9.977589510288957e-105,2.2950626025524214e-125,8.555886754046636e-106,1.6918390039842882e-138,8.892187201882504e-55,1.8505747246949547e-8,7.152987364789985e-180,1.9497901439931257e-14,3.080034364811305e-160,6.858388761494775e-159,3.2547861010591226e-58,1.627053736372964e-66,4.800471202260657e-148,2.5212830508816994e-94,4.320337138920154e-23,3.8401277195554804e-91,4.305482096994983e-169,1.1993770103377623e-91,8.10021546255805e-150,1.1585203215714807e-151,2.6714142605693456e-89,4.930311284239253e-159,3.6285670056751905e-119,1.764063221740424e8,1.1472375872123504e-127,7.010628624907268e-106,8.584749803761106e-94,5.274152829382833e-47,2.687343087001128e-59,1.5386446110036868e-6,2.3545082725014256e-126,2.7907604759349378e-142,5.79499815547266e-38,1.1203612317929158e-58,1.1847102195448328e-140,1.2636139758144373e-23,9.777450857589244e-187,5.200890214475959e-96,3.8008744772619426e-8,4.0785568980094313e-91,2.1543870172278177e-51,2.3095032195023125e-163,3.8177768433792327e-146,1.102974289453131e-21,1.2310503521938166e-148,8.899804893105109e-180,9.526049855411047e-163,6.191034302135487e-126,3.1929276549290826e-152,1.7961942907078092e-28,4.2864125940762256e-44,2.3437808370130472e-114,1.062564510346316e-27,9.057776444443079e-76,1.1095914446390862e-129,1.3568887691764247e-42,5.376020408603829e-133,1.8393545405231966e6,1.8006507003043295e-157,6.534539098483141e-135,6.347668778606253e-62,5.057991942397221e-44,1.6131750005412664e-61,4.598712364154195e-19,2.2740185946497526e-91,4.347757478190602e-149,1.8672935200237768e-115,2.2617576334023403e-96,2.3460987289438135e-144,4.4363427990130475e15,2.1908645461293863e-163,5.922417962567288e-73,1.2952926207685674e-113,6.126753415828616e-11,2.820246121387522e-88,0.00044783656619265023,1.346671312837216e-140,2.3076967078338583e-5,5.627754250039064e-120,8.339429114034285e-20,3.971625053140813e-146,3.6875810550705914e-96,2.3407342255979086e-106,3.2984658268259565e-135,2.9319621393376675e-10,1.9099492740877727e-151,1.4894071255757358e-132,4.819356943523227e-17,1.8452618917069242e-23,1.3453214189163322e-148,4.794063264772809e-154,4.562175040668967e-48,1.5875203859959796e-131,2.8952195696357916e-89,8.686733711848865e-122,5.056458158560565e-87,3.732693141670599e-152,4.1053105037592737e-57,7.057389429083919e-143,5.921209435325253e-160,1.446983047854751e-23,1.0491493225660684e-63,2.207939611641818e-46,1.6812563319778736e-123,7.60280103616879e-117,1.1953701856109398e-42,1.1200010044026479e15,0.00019976840001243584,1.7282510930059388e-165,9.702267858175746e23,5.1105845465998404e-110,1.566064138126478e-34,6.1476870657619e-152,1.0403963899435138e-114,7.242036450951316e-136,4.13111174724349e-45,3.2981365438751775e-56,2.1694454967399472e-51,4.6095132426547266e-117,5.686683125426639e-108,1.7986391068018124e-63,7.741660252313712e-131,1.2295652858472895e-86,5.932035557781225e-154,5.195638805511242e-37,2.8789384285730113e-37,3.5989427818759813e-165,3.3351819774162548e16,5.579943698392893e-128,1.2100397362241204e-171,884460.3574543692,4.354226980101884e-25,3.273368855276089e-28,9.466846112418607e-118,1.5238851770859957e-16,8.60495174496483e-123,1.1692216783276197e-99,5.474519096816355e-25,9.733323875789572e-84,7.076206757646862e-157,2.63165100023151e-10,4.30977273148296e-155,8.912121207587203e-103,1.2637394748035243e-138,3.428991897420714e-159,2.3317792635718484e-132,3.443074750870499e-88,1.350891015428249e-57,3.861378098604727e-128,2.7608519718505406e-72,4.912466480966972e-133,1.5702112965987453e18,8.101236001348392e-62,0.038962990234144436,1.0468980912161562e-101,5.170046780205932e-169,2.2700887363630257e-10,6.792601090630988e-144,2.276767546964425e-16,7.154705755113347e-154,1.740239884043991e-129,2.3751896693182976e-40,3.505785472761926e29,9.380222062162502e-121,8.215150845157353e-46,6.093780763918616e-81,9.732227864859501e-10,3.2050919082118815e-157,3.862774724675917e-129,3.255430240598776e-126,9.9562799955744e7,7.730074663657756e-81,2.4897494829003077e-135,1.0526974276398015e-151,1.608114612099837e-77,1.5711016695135141e-158,3.197003404540615e-150,1.8301682180468576e-36,1.3832998756009777e-109,2.7049387558384e-66,2.182913189045063e-121,2.3480353615880024e-35,3.600377197320943e-137,3.433084145895008e31,2.411655026300194e-118,6.379125796785625e-99,6.385249446920167e-38,4.25205696950376e-76,3.2899489537219104e-16,1.579177581209779e-132,9407.30076111012,2.559981814811025e12,3.5511274910650685e18,1.081770549642288e-81,1.0862776392609882e30,4.613059601308521e-127,1.2046804081735437e-123,2.2895446454083077e-70,3.1507027619241256e-110,6.07454021637332e-159,3.4263915587870416e-23,5.0422253001088114e-48,3.359861260724905e-45,1.0196475798243253e-10,8.905140765679591e-104,1.2380092583607483e-150,6.943532203113692e-64,1.5799701742066847e-66,1.436718820628762e-41,1.7603292775503466e14,3.996259908359743e-22,5.673832194351742e-77,1.2962051114180695e21,2.855233475133907e-116,2.014870218596178e-45,1.3149189899686633e-127,1.6932323177474925e-81,2.281497180541767e-59,7.81786806347359e-5,3.912672264580515e-68,2.876942241373081e-40,6.371680975801407e-123,9.704320704487353e-17,1.5190609829484001e-31,2.891065534579003e-51,1.7116592637109183e-129,1.6706854423587443,1.403559268627575e-122,2.8516335752996048e-148,6.123859460818798e27,1.0463294928485453e-46,5.765991385192867e-56,6.00660461427042e-23,5.043424169763496e-152,5.688711292952333e22,4.485902927642935e-155,28.000408970425035,2.674463711732357e-113,3.3768477806983577,1.1079857946857251e42,1.5992469785664852e-146,1.1697253241812564e8,2.3737511905191604e-126,2.8700920704601814e24,0.21631418148405668,2.6259271124486812e-37,1.470717485940496e-79,1.3182622663228008e-71,6.105605260520301e-127,2.782588465065834e-75,5.119320461822463e-93,9.802907264407302e-152,3.044781609734666e40,1.2081184801730353e-99,10.204416071053421,1.1120747781685014e-111,4223.559715384761,1.0227385432171576e-57,3.604186172537081e-55,4.615415471049721e-130,3.106464304361187e-128,1.352909016222419e-104,5.098103375761641e-131,8.951493852506286e13,3.108387828370826e-108,7.392177768332537e-86,1.0481175969855028e-71,7.791706655328403e38,2.1121791785631427e-122,4.260565751720478e-86,1.1400642551668372e-148,1.3039471109731847e-52,9.043934814087395e-34,2.834873853381577e-24,1.0026630778261942e-99,2.3441000972305133e-18,1.5639350859498873e10,2.315870487898848e-11,1.630270455403107e-130,1.58349197400882e-148,1.646432175392185e-15,1.6730127206842557e-11,1.1012254781698542e21,1.5930678432051986e-20,1.5613599475296574e48,3.990649841610601e-93,729519.3163133346,4.587117777288723e-128,2.5093016814557323e22,3.1916081204324295e-75,1.8351786152721955e-42,5.569299728006516e-60,3.678871068333031e-130,1.9773520116504744e-28,8.375291299656182e-114,4.132126674379704e-83,5.929953759728159e-9,1.788791811744771e-18,4.032480884607934e23,1.9303817533366341e-81,0.013320621355448432,8.631605531658111e-114,8.042530391230878e49,2.929931516239088e-15,2.772194207409574e40,3.045360072752104e27,1.3412668631674268e30,6.55324399468121e-113,1.1478052218106521e-145,1.3917586762739935e-145,3.2471143631838415e-50,1.0507529865563922e-102,3.662947075668521e18,9.7040509330583e-99,1.979795604725605e-133,2.8273868850379947e-77,1.0989297346903285e-65,9.01631915020012e-62,2.051645880146297e32,2.748985442712964e-125,1.6532298209600865e-117,2.9273974705841037e-90,5.454940734753102e-126,1.732522706805725e-39,1.767374271409074e19,3.6348538436903173e25,151798.50269886208,4.538238179401215e-34,1.1573675995963107e-76,2.517146288615575e9,8.105851525945956e-25,7.610290913553964e-38,1.5292149655081065e9,5.5236685116522706e-117,3.6433143762335566e-131,1.1860092374332183e-121,4.1133131965892935e-40,2.2645420793276257e-55,1.3911151651296188e-21,4.645811197076974e-142,9.469565072926708e54,1.743968513328514e-56,1.8404856442680897e37,9.484674268970382e50,1.4436854760893164e-84,3.765838843935123e14,4.408805306356819e-110,7.19991033692219e-26,1.3711639355753627e-128,2.5463256419914622e-123,1.201614927962436e-68,2.9265156711911987e44,0.0013316372173442672,9.730576656003128e8,1.5622596053220815e-118,2.3273105610591836e-96,3.9493535076311035e15,1.7060684985216306e-56,3.434732998520488e14,4.563432914733149e-92,2.22685850266121e26,3.971395808099175e-18,6.360353578515796e-13,3.987464689751604e25,14962.359236033459,7.48867090590375e-47,1.6265391897165271e19,1.7762227209601303e-84,9.111226676724072e15,1.695880785450364e-8,7.915526052517472e51,2.0056867784833257e18,1.2241543465480638e-95,3.633999775700161e-50,1.1096320935858914e40,1.8829817127948742e15,1.1589958121813876e-74,2.370636641165902e-18,1.1114627853390355e36,1.9847073822933458e-108,2.6790304378141653e-111,4.802054800123846e-72,1.055904554032867e-15,2.8726311481853325e14,7.952430038850223e-59,3.009828950451911e41,1.815879999108592e57,3.386811425457435e-36,1.0322988709827101e-21,1.4282067261780819e-31,0.034279764538181455,1.6144414598206691e7,8.847421024870024e-110,1.2256898957039305e10,2.0646854027132244e-15,5.376216420950798e-10,3.055320695371449e-36,2.410594418007971e-23,1.8937348839619524e-44,1.5012124780794714e-121,0.0023741501867772046,1.0374855403147213e13,1.02946970461876e-35,6.938392120790537e-45,6.0741966485919375e-21,1.9335293168206486e22,20592.200771501066,1929.6565799321438,3.389377381891555e-117,5.920621781491026e18,2.133576005886999e-15,2.578222369941755e-111,5.889008561913284e41,2.9816572893346362e-64,4.196150131712604e41,1.1277708914351115e-27,1.1492139764645485e67,2.8952468030979726e-52,4.350118371695059e-78,8.889143807538712e28,1.4996565687464565e-110,7.571519883043237e33,8.909256260643324e-116,5.54798932622031e-15,5.203875608597663e18,1.0838681964349008e-10,9.321234596101216e-57,1.3534567476441432e-89,2.545119125620071e-97,9.071657359846707e29,3.0359800365308456e-115,1.1051492147339543e-106,2.5151633496382904e-76,3.2011800739459005e-9,3.227053438631919e40,3.59120955769193e-30,2.8172593040756484e60,3.4447404450727616e-77,2.1026210135420402e-111,2.7836604062875014e-46,7.425701711675757e66,2.336687139254726e37,8.36669408801805e-113,4.809758378253901e53,1.0469589725672628e-37,1.3434772672929183e-41,2.8419047416430758e22,1.9263101847600994e-15,1.6477684706995119e28,1.1540836244776928e8,9.950380927953732e66,3.0642039414072385e-91,1.1483483596824818e-39,2.741105468516987e13,8.88972253593159e-99,2.1590030709198147e31,2.0435356715656585e-88,7.515731280802749e-33,2.3537429911328942e-48,2.888324818963785e-41,28748.5504776438,2.486959231763319e65,1.0808200932259e-64,4.346442880315212e30,1.952002040798737e-68,4.558663668068567e-65,8.720520518580631e-71,4.2945189702912995e36,1.177008230735422e-24,1.4250575037582027e70,2.3558905692916294e35,1.1773810470387158e-121,1.6293923681236825e-19,8731.179859150763,1.947588395966167e63,1.0952819028844318e69,5.889663613611107e61,4.3059980977511263e-106,1.395653710912685e34,3.509058346724657e-18,1.4081397204421505e-68,2.0394325724070322e-120,4.959263115742978e-56,3.0927605664039627e-41,2.403939326985586e-9,1.1027591149079264e74,3.070664332795837e-61,1.2510167218101423e-99,2.4899757025202407e-102,0.009345514923077695,1.630637478330679e-32,7.742722456199597e46,5.463523605202956e18,8.382945345740057e-6,4864.868498422393,9.1072730701279e-105,4.794075430715295e45,7.250902742094114e-79,2.898830065751343e-20,2.0286423146861057e44,8.58903000993286e-37,1.9399650517555285e45,9.835352709351214e-101,5.042439111509547e-97,1.2040358109419253e-49,1.4175716090108562e57,2.0581250853307664e-11,1.0535951552045363e-66,1.5672710036118345e15,3.168685053125596e37,6.156536751695478e-21,2.7876180821422197e12,1.0223301790782314e-57,1.5843335124430906e-25,7.902449473306481e-45,3.274413272853152e71,2.564729499964895e-115,2.3607952925269233e-56,1.7579852321049425e67,6.284360711605161e61,2.880825249380104e-22,3.929439506438429e44,1.8819665717275876e-19,8.622773029572154e80,1.0761940972610612e15,1.624126784112892e13,7.078787924141998e-27,1.0578819659601253e-69,8.801630335719811e-63,4.824965136479271e-110,2.0296264901851842e-104,6.840639541584214e71,6.890779268947515e-59,7.975536177132779e24,2.6196623144625553e42,7.816393176218701e14,750591.7583665315,1.9158432698396354e35,1.005182527313311e84,4.5738335413874794e-51,6.365444531199914e32,3.820992326823997e66,1.0023229378399732e46,7.833422040478763e-106,1.419330000178989e24,2.6670832204528193e47,2.8923228303584154e-101,1.2773149327945117e-70,4.212307191892127e49,6.271038168264239e-30,1.1834716862627712e-6,3.586518233899765e-33,5.841775897125565e-41,1274.9822441920812,0.00016879596922544468,1.3516171853210316e68,1.5411515461078475e21,1.2786369796567024e45,1.1456597836654282e-85,8.661936111060869e54,6.074153553505036e80,1.958688978335641e-71,7.911047815840139e-48,2.9028608461835106e32,2.0708517114431456e-19,4.440725002496456e36,1.787527481468837e89,8.670858629935028e81,7.886666298601346e37,8.284446507739928e7,3.1619661599367894e66,2.4478385071304204e47,3.04971745236719e-70,2.0925862629446635e-8,2.0872698482944392e12,2.1647834503781705e-94,57.94301593916312,9.599655706269215e10,1.6106706982824348e73,1.0294309084648868e73,3.629257266500422e82,4.556572684866465e91,4.282844027330752e88,6.845008740810132e39,5.530356361250095e-26,1.4346791108566635e20,1.998153978012341e72,7.597548851514573e-24,2.7633926401534073e-27,8.554459594626567e-64,5.270298208730654e22,5.199578476704654e-48,2.1542346541948209e-16,4.977273514921813e57,9.296872455428876e86,3.52885875441032e66,1.5817165499258377e-77,2.7304507522865887e-93,1.881602547195062e-38,1.0718937387873516e-23,7.421880707578945e25,29.10326287449709]} diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.factory.js b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.factory.js index 88b8006e31d0..a791cceda1d3 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.factory.js +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.factory.js @@ -31,6 +31,7 @@ var factory = require( './../lib/factory.js' ); // FIXTURES // var smallScale = require( './fixtures/julia/small_scale.json' ); +var smallX = require( './fixtures/julia/small_x.json' ); var mediumScale = require( './fixtures/julia/medium_scale.json' ); var largeScale = require( './fixtures/julia/large_scale.json' ); @@ -123,6 +124,30 @@ tape( 'if `sigma` equals `0`, the created function evaluates a degenerate distri t.end(); }); +tape( 'the created function evaluates the logcdf when `sigma^2` or `x^2` would overflow or underflow', function test( t ) { + var cases; + var c; + var y; + var i; + + // `sigma^2` or `x^2` underflows or overflows for each of these: + cases = [ + [ 1.0e-170, 1.0e-170, -0.9327521295671886 ], + [ 1.0e200, 1.0e200, -0.9327521295671886 ], + [ + 1.0847105013290125e-163, + 1.6127895670863117e-161, + -10.696803256634931 + ] + ]; + for ( i = 0; i < cases.length; i++ ) { + c = cases[ i ]; + y = factory( c[ 1 ] )( c[ 0 ] ); + t.strictEqual( isAlmostSameValue( y, c[ 2 ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + tape( 'the created function evaluates the logcdf for `x` given small scale parameter `sigma`', function test( t ) { var expected; var logcdf; @@ -179,3 +204,22 @@ tape( 'the created function evaluates the logcdf for `x` given large scale param } t.end(); }); + +tape( 'the created function evaluates the logcdf for `x` close to `0`', function test( t ) { + var expected; + var logcdf; + var sigma; + var i; + var x; + var y; + + expected = smallX.expected; + x = smallX.x; + sigma = smallX.sigma; + for ( i = 0; i < x.length; i++ ) { + logcdf = factory( sigma[i] ); + y = logcdf( x[i] ); + t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.logcdf.js b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.logcdf.js index df811de87ab2..8a33ef234301 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.logcdf.js +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.logcdf.js @@ -31,6 +31,7 @@ var logcdf = require( './../lib' ); // FIXTURES // var smallScale = require( './fixtures/julia/small_scale.json' ); +var smallX = require( './fixtures/julia/small_x.json' ); var mediumScale = require( './fixtures/julia/medium_scale.json' ); var largeScale = require( './fixtures/julia/large_scale.json' ); @@ -90,6 +91,30 @@ tape( 'if provided `sigma` equals `0`, the function evaluates a degenerate distr t.end(); }); +tape( 'the function evaluates the logcdf when `sigma^2` or `x^2` would overflow or underflow', function test( t ) { + var cases; + var c; + var y; + var i; + + // `sigma^2` or `x^2` underflows or overflows for each of these: + cases = [ + [ 1.0e-170, 1.0e-170, -0.9327521295671886 ], + [ 1.0e200, 1.0e200, -0.9327521295671886 ], + [ + 1.0847105013290125e-163, + 1.6127895670863117e-161, + -10.696803256634931 + ] + ]; + for ( i = 0; i < cases.length; i++ ) { + c = cases[ i ]; + y = logcdf( c[ 0 ], c[ 1 ] ); + t.strictEqual( isAlmostSameValue( y, c[ 2 ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + tape( 'the function evaluates the logcdf for `x` given small scale parameter `sigma`', function test( t ) { var expected; var sigma; @@ -140,3 +165,20 @@ tape( 'the function evaluates the logcdf for `x` given large scale parameter `si } t.end(); }); + +tape( 'the function evaluates the logcdf for `x` close to `0`', function test( t ) { + var expected; + var sigma; + var i; + var x; + var y; + + expected = smallX.expected; + x = smallX.x; + sigma = smallX.sigma; + for ( i = 0; i < x.length; i++ ) { + y = logcdf( x[i], sigma[i] ); + t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); diff --git a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.native.js b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.native.js index 3b2a317a148a..6ab196ac850a 100644 --- a/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.native.js +++ b/lib/node_modules/@stdlib/stats/base/dists/rayleigh/logcdf/test/test.native.js @@ -32,6 +32,7 @@ var NINF = require( '@stdlib/constants/float64/ninf' ); // FIXTURES // var smallScale = require( './fixtures/julia/small_scale.json' ); +var smallX = require( './fixtures/julia/small_x.json' ); var mediumScale = require( './fixtures/julia/medium_scale.json' ); var largeScale = require( './fixtures/julia/large_scale.json' ); @@ -99,6 +100,30 @@ tape( 'if provided `sigma` equals `0`, the function evaluates a degenerate distr t.end(); }); +tape( 'the function evaluates the logcdf when `sigma^2` or `x^2` would overflow or underflow', opts, function test( t ) { + var cases; + var c; + var y; + var i; + + // `sigma^2` or `x^2` underflows or overflows for each of these: + cases = [ + [ 1.0e-170, 1.0e-170, -0.9327521295671886 ], + [ 1.0e200, 1.0e200, -0.9327521295671886 ], + [ + 1.0847105013290125e-163, + 1.6127895670863117e-161, + -10.696803256634931 + ] + ]; + for ( i = 0; i < cases.length; i++ ) { + c = cases[ i ]; + y = logcdf( c[ 0 ], c[ 1 ] ); + t.strictEqual( isAlmostSameValue( y, c[ 2 ], 1 ), true, 'returns expected value' ); + } + t.end(); +}); + tape( 'the function evaluates the logcdf for `x` given small scale parameter `sigma`', opts, function test( t ) { var expected; var sigma; @@ -149,3 +174,20 @@ tape( 'the function evaluates the logcdf for `x` given large scale parameter `si } t.end(); }); + +tape( 'the function evaluates the logcdf for `x` close to `0`', opts, function test( t ) { + var expected; + var sigma; + var i; + var x; + var y; + + expected = smallX.expected; + x = smallX.x; + sigma = smallX.sigma; + for ( i = 0; i < x.length; i++ ) { + y = logcdf( x[i], sigma[i] ); + t.strictEqual( isAlmostSameValue( y, expected[ i ], 1 ), true, 'returns expected value' ); + } + t.end(); +});