#![allow(missing_docs)] use augurs_prophet::{ optimizer::OptimizeOpts, wasmstan::WasmstanOptimizer, PredictionData, Prophet, ProphetOptions, SeasonalityOption, TimestampSeconds, TrainingData, }; use augurs_testing::assert_all_close; use criterion::{criterion_group, criterion_main, BatchSize, Criterion}; fn fit(c: &mut Criterion) { tracing_subscriber::fmt::init(); let opts = ProphetOptions { yearly_seasonality: SeasonalityOption::Manual(false), interval_width: 0.8.try_into().unwrap(), uncertainty_samples: 500, ..Default::default() }; let model = Prophet::new(opts, WasmstanOptimizer::new()); let training_data = TrainingData::new(TRAINING_DS.to_vec(), TRAINING_Y.to_vec()).unwrap(); c.bench_function("fit", |b| { b.iter_batched( || (model.clone(), training_data.clone()), |(mut model, training_data)| { model.fit( training_data, OptimizeOpts { seed: Some(100), ..Default::default() }, ) }, BatchSize::SmallInput, ); }); } fn predict(c: &mut Criterion) { let opts = ProphetOptions { yearly_seasonality: SeasonalityOption::Manual(false), interval_width: 0.8.try_into().unwrap(), uncertainty_samples: 500, ..Default::default() }; let mut model = Prophet::new(opts, WasmstanOptimizer::new()); let training_data = TrainingData::new(TRAINING_DS.to_vec(), TRAINING_Y.to_vec()).unwrap(); model .fit( training_data, OptimizeOpts { seed: Some(100), ..Default::default() }, ) .unwrap(); let prediction_data = PredictionData::new(PREDICTION_DS.to_vec()); c.bench_function("predict", |b| { b.iter_batched( || prediction_data.clone(), |pd| { model.predict(Some(pd)).unwrap(); }, BatchSize::SmallInput, ); }); let predictions = model.predict(Some(prediction_data)).unwrap(); assert_all_close(&predictions.yhat.point, EXPECTED); } static TRAINING_DS: &[TimestampSeconds] = &[ 1727168400, 1727169600, 1727170800, 1727172000, 1727173200, 1727174400, 1727175600, 1727176800, 1727178000, 1727179200, 1727180400, 1727181600, 1727182800, 1727184000, 1727185200, 1727186400, 1727187600, 1727188800, 1727190000, 1727191200, 1727192400, 1727193600, 1727194800, 1727196000, 1727197200, 1727198400, 1727199600, 1727200800, 1727202000, 1727203200, 1727204400, 1727205600, 1727206800, 1727208000, 1727209200, 1727210400, 1727211600, 1727212800, 1727214000, 1727215200, 1727216400, 1727217600, 1727218800, 1727220000, 1727221200, 1727222400, 1727223600, 1727224800, 1727226000, 1727227200, 1727228400, 1727229600, 1727230800, 1727232000, 1727233200, 1727234400, 1727235600, 1727236800, 1727238000, 1727239200, 1727240400, 1727241600, 1727242800, 1727244000, 1727245200, 1727246400, 1727247600, 1727248800, 1727250000, 1727251200, 1727252400, 1727253600, 1727254800, 1727256000, 1727257200, 1727258400, 1727259600, 1727260800, 1727262000, 1727263200, 1727264400, 1727265600, 1727266800, 1727268000, 1727269200, 1727270400, 1727271600, 1727272800, 1727274000, 1727275200, 1727276400, 1727277600, 1727278800, 1727280000, 1727281200, 1727282400, 1727283600, 1727284800, 1727286000, 1727287200, 1727288400, 1727289600, 1727290800, 1727292000, 1727293200, 1727294400, 1727295600, 1727296800, 1727298000, 1727299200, 1727300400, 1727301600, 1727302800, 1727304000, 1727305200, 1727306400, 1727307600, 1727308800, 1727310000, 1727311200, 1727312400, 1727313600, 1727314800, 1727316000, 1727317200, 1727318400, 1727319600, 1727320800, 1727322000, 1727323200, 1727324400, 1727325600, 1727326800, 1727328000, 1727329200, 1727330400, 1727331600, 1727332800, 1727334000, 1727335200, 1727336400, 1727337600, 1727338800, 1727340000, 1727341200, 1727342400, 1727343600, 1727344800, 1727346000, 1727347200, 1727348400, 1727349600, 1727350800, 1727352000, 1727353200, 1727354400, 1727355600, 1727356800, 1727358000, 1727359200, 1727360400, 1727361600, 1727362800, 1727364000, 1727365200, 1727366400, 1727367600, 1727368800, 1727370000, 1727371200, 1727372400, 1727373600, 1727374800, 1727376000, 1727377200, 1727378400, 1727379600, 1727380800, 1727382000, 1727383200, 1727384400, 1727385600, 1727386800, 1727388000, 1727389200, 1727390400, 1727391600, 1727392800, 1727394000, 1727395200, 1727396400, 1727397600, 1727398800, 1727400000, 1727401200, 1727402400, 1727403600, 1727404800, 1727406000, 1727407200, 1727408400, 1727409600, 1727410800, 1727412000, 1727413200, 1727414400, 1727415600, 1727416800, 1727418000, 1727419200, 1727420400, 1727421600, 1727422800, 1727424000, 1727425200, 1727426400, 1727427600, 1727428800, 1727430000, 1727431200, 1727432400, 1727433600, 1727434800, 1727436000, 1727437200, 1727438400, 1727439600, 1727440800, 1727442000, 1727443200, 1727444400, 1727445600, 1727446800, 1727448000, 1727449200, 1727450400, 1727451600, 1727452800, 1727454000, 1727455200, 1727456400, 1727457600, 1727458800, 1727460000, 1727461200, 1727462400, 1727463600, 1727464800, 1727466000, 1727467200, 1727468400, 1727469600, 1727470800, 1727472000, 1727473200, 1727474400, 1727475600, 1727476800, 1727478000, 1727479200, 1727480400, 1727481600, 1727482800, 1727484000, 1727485200, 1727486400, 1727487600, 1727488800, 1727490000, 1727491200, 1727492400, 1727493600, 1727494800, 1727496000, 1727497200, 1727498400, 1727499600, 1727500800, 1727502000, 1727503200, 1727504400, 1727505600, 1727506800, 1727508000, 1727509200, 1727510400, 1727511600, 1727512800, 1727514000, 1727515200, 1727516400, 1727517600, 1727518800, 1727520000, 1727521200, 1727522400, 1727523600, 1727524800, 1727526000, 1727527200, 1727528400, 1727529600, 1727530800, 1727532000, 1727533200, 1727534400, 1727535600, 1727536800, 1727538000, 1727539200, 1727540400, 1727541600, 1727542800, 1727544000, 1727545200, 1727546400, 1727547600, 1727548800, 1727550000, 1727551200, 1727552400, 1727553600, 1727554800, 1727556000, 1727557200, 1727558400, 1727559600, 1727560800, 1727562000, 1727563200, 1727564400, 1727565600, 1727566800, 1727568000, 1727569200, 1727570400, 1727571600, 1727572800, 1727574000, 1727575200, 1727576400, 1727577600, 1727578800, 1727580000, 1727581200, 1727582400, 1727583600, 1727584800, 1727586000, 1727587200, 1727588400, 1727589600, 1727590800, 1727592000, 1727593200, 1727594400, 1727595600, 1727596800, 1727598000, 1727599200, 1727600400, 1727601600, 1727602800, 1727604000, 1727605200, 1727606400, 1727607600, 1727608800, 1727610000, 1727611200, 1727612400, 1727613600, 1727614800, 1727616000, 1727617200, 1727618400, 1727619600, 1727620800, 1727622000, 1727623200, 1727624400, 1727625600, 1727626800, 1727628000, 1727629200, 1727630400, 1727631600, 1727632800, 1727634000, 1727635200, 1727636400, 1727637600, 1727638800, 1727640000, 1727641200, 1727642400, 1727643600, 1727644800, 1727646000, 1727647200, 1727648400, 1727649600, 1727650800, 1727652000, 1727653200, 1727654400, 1727655600, 1727656800, 1727658000, 1727659200, 1727660400, 1727661600, 1727662800, 1727664000, 1727665200, 1727666400, 1727667600, 1727668800, 1727670000, 1727671200, 1727672400, 1727673600, 1727674800, 1727676000, 1727677200, 1727678400, 1727679600, 1727680800, 1727682000, 1727683200, 1727684400, 1727685600, 1727686800, 1727688000, 1727689200, 1727690400, 1727691600, 1727692800, 1727694000, 1727695200, 1727696400, 1727697600, 1727698800, 1727700000, 1727701200, 1727702400, 1727703600, 1727704800, 1727706000, 1727707200, 1727708400, 1727709600, 1727710800, 1727712000, 1727713200, 1727714400, 1727715600, 1727716800, 1727718000, 1727719200, 1727720400, 1727721600, 1727722800, 1727724000, 1727725200, 1727726400, 1727727600, 1727728800, 1727730000, 1727731200, 1727732400, 1727733600, 1727734800, 1727736000, 1727737200, 1727738400, 1727739600, 1727740800, 1727742000, 1727743200, 1727744400, 1727745600, 1727746800, 1727748000, 1727749200, 1727750400, 1727751600, 1727752800, 1727754000, 1727755200, 1727756400, 1727757600, 1727758800, 1727760000, 1727761200, 1727762400, 1727763600, 1727764800, 1727766000, 1727767200, 1727768400, 1727769600, 1727770800, 1727772000, 1727773200, 1727774400, 1727775600, 1727776800, 1727778000, 1727779200, 1727780400, 1727781600, 1727782800, 1727784000, 1727785200, 1727786400, 1727787600, 1727788800, 1727790000, 1727791200, 1727792400, 1727793600, 1727794800, 1727796000, 1727797200, 1727798400, 1727799600, 1727800800, 1727802000, 1727803200, 1727804400, 1727805600, 1727806800, 1727808000, 1727809200, 1727810400, 1727811600, 1727812800, 1727814000, 1727815200, 1727816400, 1727817600, 1727818800, 1727820000, 1727821200, 1727822400, 1727823600, 1727824800, 1727826000, 1727827200, 1727828400, 1727829600, 1727830800, 1727832000, 1727833200, 1727834400, 1727835600, 1727836800, 1727838000, 1727839200, 1727840400, 1727841600, 1727842800, 1727844000, 1727845200, 1727846400, 1727847600, 1727848800, 1727850000, 1727851200, 1727852400, 1727853600, 1727854800, 1727856000, 1727857200, 1727858400, 1727859600, 1727860800, 1727862000, 1727863200, 1727864400, 1727865600, 1727866800, 1727868000, 1727869200, 1727870400, 1727871600, 1727872800, 1727874000, 1727875200, 1727876400, 1727877600, 1727878800, 1727880000, 1727881200, 1727882400, 1727883600, 1727884800, 1727886000, 1727887200, 1727888400, 1727889600, 1727890800, 1727892000, 1727893200, 1727894400, 1727895600, 1727896800, 1727898000, 1727899200, 1727900400, 1727901600, 1727902800, 1727904000, 1727905200, 1727906400, 1727907600, 1727908800, 1727910000, 1727911200, 1727912400, 1727913600, 1727914800, 1727916000, 1727917200, 1727918400, 1727919600, 1727920800, 1727922000, 1727923200, 1727924400, 1727925600, 1727926800, 1727928000, 1727929200, 1727930400, 1727931600, 1727932800, 1727934000, 1727935200, 1727936400, 1727937600, 1727938800, 1727940000, 1727941200, 1727942400, 1727943600, 1727944800, 1727946000, 1727947200, 1727948400, 1727949600, 1727950800, 1727952000, 1727953200, 1727954400, 1727955600, 1727956800, 1727958000, 1727959200, 1727960400, 1727961600, 1727962800, 1727964000, 1727965200, 1727966400, 1727967600, 1727968800, 1727970000, 1727971200, 1727972400, 1727973600, 1727974800, 1727976000, 1727977200, 1727978400, 1727979600, 1727980800, 1727982000, 1727983200, 1727984400, 1727985600, 1727986800, 1727988000, 1727989200, 1727990400, 1727991600, 1727992800, 1727994000, 1727995200, 1727996400, 1727997600, 1727998800, 1728000000, 1728001200, 1728002400, 1728003600, 1728004800, 1728006000, 1728007200, 1728008400, 1728009600, 1728010800, 1728012000, 1728013200, 1728014400, 1728015600, 1728016800, 1728018000, 1728019200, 1728020400, 1728021600, 1728022800, 1728024000, 1728025200, 1728026400, 1728027600, 1728028800, 1728030000, 1728031200, 1728032400, 1728033600, 1728034800, 1728036000, 1728037200, 1728038400, 1728039600, 1728040800, 1728042000, 1728043200, 1728044400, 1728045600, 1728046800, 1728048000, 1728049200, 1728050400, 1728051600, 1728052800, 1728054000, 1728055200, 1728056400, 1728057600, 1728058800, 1728060000, 1728061200, 1728062400, 1728063600, 1728064800, 1728066000, 1728067200, 1728068400, 1728069600, 1728070800, 1728072000, 1728073200, 1728074400, 1728075600, 1728076800, 1728078000, 1728079200, 1728080400, 1728081600, 1728082800, 1728084000, 1728085200, 1728086400, 1728087600, 1728088800, 1728090000, 1728091200, 1728092400, 1728093600, 1728094800, 1728096000, 1728097200, 1728098400, 1728099600, 1728100800, 1728102000, 1728103200, 1728104400, 1728105600, 1728106800, 1728108000, 1728109200, 1728110400, 1728111600, 1728112800, 1728114000, 1728115200, 1728116400, 1728117600, 1728118800, 1728120000, 1728121200, 1728122400, 1728123600, 1728124800, 1728126000, 1728127200, 1728128400, 1728129600, 1728130800, 1728132000, 1728133200, 1728134400, 1728135600, 1728136800, 1728138000, 1728139200, 1728140400, 1728141600, 1728142800, 1728144000, 1728145200, 1728146400, 1728147600, 1728148800, 1728150000, 1728151200, 1728152400, 1728153600, 1728154800, 1728156000, 1728157200, 1728158400, 1728159600, 1728160800, 1728162000, 1728163200, 1728164400, 1728165600, 1728166800, 1728168000, 1728169200, 1728170400, 1728171600, 1728172800, 1728174000, 1728175200, 1728176400, 1728177600, 1728178800, 1728180000, 1728181200, 1728182400, 1728183600, 1728184800, 1728186000, 1728187200, 1728188400, 1728189600, 1728190800, 1728192000, 1728193200, 1728194400, 1728195600, 1728196800, 1728198000, 1728199200, 1728200400, 1728201600, 1728202800, 1728204000, 1728205200, 1728206400, 1728207600, 1728208800, 1728210000, 1728211200, 1728212400, 1728213600, 1728214800, 1728216000, 1728217200, 1728218400, 1728219600, 1728220800, 1728222000, 1728223200, 1728224400, 1728225600, 1728226800, 1728228000, 1728229200, 1728230400, 1728231600, 1728232800, 1728234000, 1728235200, 1728236400, 1728237600, 1728238800, 1728240000, 1728241200, 1728242400, 1728243600, 1728244800, 1728246000, 1728247200, 1728248400, 1728249600, 1728250800, 1728252000, 1728253200, 1728254400, 1728255600, 1728256800, 1728258000, 1728259200, 1728260400, 1728261600, 1728262800, 1728264000, 1728265200, 1728266400, 1728267600, 1728268800, 1728270000, 1728271200, 1728272400, 1728273600, 1728274800, 1728276000, 1728277200, 1728278400, 1728279600, 1728280800, 1728282000, 1728283200, 1728284400, 1728285600, 1728286800, 1728288000, 1728289200, 1728290400, 1728291600, 1728292800, 1728294000, 1728295200, 1728296400, 1728297600, 1728298800, 1728300000, 1728301200, 1728302400, 1728303600, 1728304800, 1728306000, 1728307200, 1728308400, 1728309600, 1728310800, 1728312000, 1728313200, 1728314400, 1728315600, 1728316800, 1728318000, 1728319200, 1728320400, 1728321600, 1728322800, 1728324000, 1728325200, 1728326400, 1728327600, 1728328800, 1728330000, 1728331200, 1728332400, 1728333600, 1728334800, 1728336000, 1728337200, 1728338400, 1728339600, 1728340800, 1728342000, 1728343200, 1728344400, 1728345600, 1728346800, 1728348000, 1728349200, 1728350400, 1728351600, 1728352800, 1728354000, 1728355200, 1728356400, 1728357600, 1728358800, 1728360000, 1728361200, 1728362400, 1728363600, 1728364800, 1728366000, 1728367200, 1728368400, 1728369600, 1728370800, 1728372000, 1728373200, 1728374400, 1728375600, 1728376800, 1728378000, 1728379200, 1728380400, 1728381600, 1728382800, 1728384000, 1728385200, 1728386400, 1728387600, 1728388800, 1728390000, 1728391200, 1728392400, 1728393600, 1728394800, 1728396000, 1728397200, 1728398400, 1728399600, 1728400800, 1728402000, 1728403200, 1728404400, 1728405600, 1728406800, 1728408000, 1728409200, 1728410400, 1728411600, 1728412800, 1728414000, 1728415200, 1728416400, 1728417600, 1728418800, 1728420000, 1728421200, 1728422400, 1728423600, 1728424800, 1728426000, 1728427200, 1728428400, 1728429600, 1728430800, 1728432000, 1728433200, 1728434400, 1728435600, 1728436800, 1728438000, 1728439200, 1728440400, 1728441600, 1728442800, 1728444000, 1728445200, 1728446400, 1728447600, 1728448800, 1728450000, 1728451200, 1728452400, 1728453600, 1728454800, 1728456000, 1728457200, 1728458400, 1728459600, 1728460800, 1728462000, 1728463200, 1728464400, 1728465600, 1728466800, 1728468000, 1728469200, 1728470400, 1728471600, 1728472800, 1728474000, 1728475200, 1728476400, 1728477600, 1728478800, 1728480000, 1728481200, 1728482400, 1728483600, 1728484800, 1728486000, 1728487200, 1728488400, 1728489600, 1728490800, 1728492000, 1728493200, 1728494400, 1728495600, 1728496800, 1728498000, 1728499200, 1728500400, 1728501600, 1728502800, 1728504000, 1728505200, 1728506400, 1728507600, 1728508800, 1728510000, 1728511200, 1728512400, 1728513600, 1728514800, 1728516000, 1728517200, 1728518400, 1728519600, 1728520800, 1728522000, 1728523200, 1728524400, 1728525600, 1728526800, 1728528000, 1728529200, 1728530400, 1728531600, 1728532800, 1728534000, 1728535200, 1728536400, 1728537600, 1728538800, 1728540000, 1728541200, 1728542400, 1728543600, 1728544800, 1728546000, 1728547200, 1728548400, 1728549600, 1728550800, 1728552000, 1728553200, 1728554400, 1728555600, 1728556800, 1728558000, 1728559200, 1728560400, 1728561600, 1728562800, 1728564000, 1728565200, 1728566400, 1728567600, 1728568800, 1728570000, 1728571200, 1728572400, 1728573600, 1728574800, 1728576000, 1728577200, 1728578400, 1728579600, 1728580800, 1728582000, 1728583200, 1728584400, 1728585600, 1728586800, 1728588000, 1728589200, 1728590400, 1728591600, 1728592800, 1728594000, 1728595200, 1728596400, 1728597600, 1728598800, 1728600000, 1728601200, 1728602400, 1728603600, 1728604800, 1728606000, 1728607200, 1728608400, 1728609600, 1728610800, 1728612000, 1728613200, 1728614400, 1728615600, 1728616800, 1728618000, 1728619200, 1728620400, 1728621600, 1728622800, 1728624000, 1728625200, 1728626400, 1728627600, 1728628800, 1728630000, 1728631200, 1728632400, 1728633600, 1728634800, 1728636000, 1728637200, 1728638400, 1728639600, 1728640800, 1728642000, 1728643200, 1728644400, 1728645600, 1728646800, 1728648000, 1728649200, 1728650400, 1728651600, 1728652800, 1728654000, 1728655200, 1728656400, 1728657600, 1728658800, 1728660000, 1728661200, 1728662400, 1728663600, 1728664800, 1728666000, 1728667200, 1728668400, 1728669600, 1728670800, 1728672000, 1728673200, 1728674400, 1728675600, 1728676800, 1728678000, 1728679200, 1728680400, 1728681600, 1728682800, 1728684000, 1728685200, 1728686400, 1728687600, 1728688800, 1728690000, 1728691200, 1728692400, 1728693600, 1728694800, 1728696000, 1728697200, 1728698400, 1728699600, 1728700800, 1728702000, 1728703200, 1728704400, 1728705600, 1728706800, 1728708000, 1728709200, 1728710400, 1728711600, 1728712800, 1728714000, 1728715200, 1728716400, 1728717600, 1728718800, 1728720000, 1728721200, 1728722400, 1728723600, 1728724800, 1728726000, 1728727200, 1728728400, 1728729600, 1728730800, 1728732000, 1728733200, 1728734400, 1728735600, 1728736800, 1728738000, 1728739200, 1728740400, 1728741600, 1728742800, 1728744000, 1728745200, 1728746400, 1728747600, 1728748800, 1728750000, 1728751200, 1728752400, 1728753600, 1728754800, 1728756000, 1728757200, 1728758400, 1728759600, 1728760800, 1728762000, 1728763200, 1728764400, 1728765600, 1728766800, 1728768000, 1728769200, 1728770400, 1728771600, 1728772800, 1728774000, 1728775200, 1728776400, 1728777600, 1728778800, 1728780000, 1728781200, 1728782400, 1728783600, 1728784800, 1728786000, 1728787200, 1728788400, 1728789600, 1728790800, 1728792000, 1728793200, 1728794400, 1728795600, 1728796800, 1728798000, 1728799200, 1728800400, 1728801600, 1728802800, 1728804000, 1728805200, 1728806400, 1728807600, 1728808800, 1728810000, 1728811200, 1728812400, 1728813600, 1728814800, 1728816000, 1728817200, 1728818400, 1728819600, 1728820800, 1728822000, 1728823200, 1728824400, 1728825600, 1728826800, 1728828000, 1728829200, 1728830400, 1728831600, 1728832800, 1728834000, 1728835200, 1728836400, 1728837600, 1728838800, 1728840000, 1728841200, 1728842400, 1728843600, 1728844800, 1728846000, 1728847200, 1728848400, 1728849600, 1728850800, 1728852000, 1728853200, 1728854400, 1728855600, 1728856800, 1728858000, 1728859200, 1728860400, 1728861600, 1728862800, 1728864000, 1728865200, 1728866400, 1728867600, 1728868800, 1728870000, 1728871200, 1728872400, 1728873600, 1728874800, 1728876000, 1728877200, 1728878400, 1728879600, 1728880800, 1728882000, 1728883200, 1728884400, 1728885600, 1728886800, 1728888000, 1728889200, 1728890400, 1728891600, 1728892800, 1728894000, 1728895200, 1728896400, 1728897600, 1728898800, 1728900000, 1728901200, 1728902400, 1728903600, 1728904800, 1728906000, 1728907200, 1728908400, 1728909600, 1728910800, 1728912000, 1728913200, 1728914400, 1728915600, 1728916800, 1728918000, 1728919200, 1728920400, 1728921600, 1728922800, 1728924000, 1728925200, 1728926400, 1728927600, 1728928800, 1728930000, 1728931200, 1728932400, 1728933600, 1728934800, 1728936000, 1728937200, 1728938400, 1728939600, 1728940800, 1728942000, 1728943200, 1728944400, 1728945600, 1728946800, 1728948000, 1728949200, 1728950400, 1728951600, 1728952800, 1728954000, 1728955200, 1728956400, 1728957600, 1728958800, 1728960000, 1728961200, 1728962400, 1728963600, 1728964800, 1728966000, 1728967200, 1728968400, 1728969600, 1728970800, 1728972000, 1728973200, 1728974400, 1728975600, 1728976800, 1728978000, 1728979200, 1728980400, 1728981600, 1728982800, 1728984000, 1728985200, 1728986400, 1728987600, 1728988800, 1728990000, 1728991200, 1728992400, 1728993600, 1728994800, 1728996000, 1728997200, 1728998400, 1728999600, 1729000800, 1729002000, 1729003200, 1729004400, 1729005600, 1729006800, 1729008000, 1729009200, 1729010400, 1729011600, 1729012800, 1729014000, 1729015200, 1729016400, 1729017600, 1729018800, 1729020000, 1729021200, 1729022400, 1729023600, 1729024800, 1729026000, 1729027200, 1729028400, 1729029600, 1729030800, 1729032000, 1729033200, 1729034400, 1729035600, 1729036800, 1729038000, 1729039200, 1729040400, 1729041600, 1729042800, 1729044000, 1729045200, 1729046400, 1729047600, 1729048800, 1729050000, 1729051200, 1729052400, 1729053600, 1729054800, 1729056000, 1729057200, 1729058400, 1729059600, 1729060800, 1729062000, 1729063200, 1729064400, 1729065600, 1729066800, 1729068000, 1729069200, 1729070400, 1729071600, 1729072800, 1729074000, 1729075200, 1729076400, 1729077600, 1729078800, 1729080000, 1729081200, 1729082400, 1729083600, 1729084800, 1729086000, 1729087200, 1729088400, 1729089600, 1729090800, 1729092000, 1729093200, 1729094400, 1729095600, 1729096800, 1729098000, 1729099200, 1729100400, 1729101600, 1729102800, 1729104000, 1729105200, 1729106400, 1729107600, 1729108800, 1729110000, 1729111200, 1729112400, 1729113600, 1729114800, 1729116000, 1729117200, 1729118400, 1729119600, 1729120800, 1729122000, 1729123200, 1729124400, 1729125600, 1729126800, 1729128000, 1729129200, 1729130400, 1729131600, 1729132800, 1729134000, 1729135200, 1729136400, 1729137600, 1729138800, 1729140000, 1729141200, 1729142400, 1729143600, 1729144800, 1729146000, 1729147200, 1729148400, 1729149600, 1729150800, 1729152000, 1729153200, 1729154400, 1729155600, 1729156800, 1729158000, 1729159200, 1729160400, 1729161600, 1729162800, 1729164000, 1729165200, 1729166400, 1729167600, 1729168800, 1729170000, 1729171200, 1729172400, 1729173600, 1729174800, 1729176000, 1729177200, 1729178400, 1729179600, 1729182000, 1729183200, 1729184400, 1729185600, 1729186800, 1729188000, 1729189200, 1729190400, 1729191600, 1729192800, 1729194000, 1729195200, 1729196400, 1729197600, 1729198800, 1729200000, 1729201200, 1729202400, 1729203600, 1729204800, 1729206000, 1729207200, 1729208400, 1729209600, 1729210800, 1729212000, 1729213200, 1729214400, 1729215600, 1729216800, 1729218000, 1729219200, 1729220400, 1729221600, 1729222800, 1729224000, 1729225200, 1729226400, 1729227600, 1729228800, 1729230000, 1729231200, 1729232400, 1729233600, 1729234800, 1729236000, 1729237200, 1729238400, 1729239600, 1729240800, 1729242000, 1729243200, 1729244400, 1729245600, 1729246800, 1729248000, 1729249200, 1729250400, 1729251600, 1729252800, 1729254000, 1729255200, 1729256400, 1729257600, 1729258800, 1729260000, 1729261200, 1729262400, 1729264800, 1729266000, 1729267200, 1729268400, 1729269600, 1729270800, 1729272000, 1729273200, 1729274400, 1729275600, 1729276800, 1729278000, 1729279200, 1729280400, 1729281600, 1729282800, 1729284000, 1729285200, 1729286400, 1729287600, 1729288800, 1729290000, 1729291200, 1729292400, 1729293600, 1729294800, 1729296000, 1729297200, 1729298400, 1729299600, 1729300800, 1729302000, 1729303200, 1729304400, 1729305600, 1729306800, 1729308000, 1729309200, 1729310400, 1729311600, 1729312800, 1729314000, 1729315200, 1729316400, 1729317600, 1729318800, 1729320000, 1729321200, 1729322400, 1729323600, 1729324800, 1729326000, 1729327200, 1729328400, 1729329600, 1729330800, 1729332000, 1729333200, 1729334400, 1729335600, 1729336800, 1729338000, 1729339200, 1729340400, 1729341600, 1729342800, 1729344000, 1729345200, 1729346400, 1729347600, 1729348800, 1729350000, 1729351200, 1729352400, 1729353600, 1729354800, 1729356000, 1729357200, 1729358400, 1729359600, 1729360800, 1729362000, 1729363200, 1729364400, 1729365600, 1729366800, 1729368000, 1729369200, 1729370400, 1729371600, 1729372800, 1729374000, 1729375200, 1729376400, 1729377600, 1729378800, 1729380000, 1729381200, 1729382400, 1729383600, 1729384800, 1729386000, 1729387200, 1729388400, 1729389600, 1729390800, 1729392000, 1729393200, 1729394400, 1729395600, 1729396800, 1729398000, 1729399200, 1729400400, 1729401600, 1729402800, 1729404000, 1729405200, 1729406400, 1729407600, 1729408800, 1729410000, 1729411200, 1729412400, 1729413600, 1729414800, 1729416000, 1729417200, 1729418400, 1729419600, 1729420800, 1729422000, 1729423200, 1729424400, 1729425600, 1729426800, 1729428000, 1729429200, 1729430400, 1729431600, 1729432800, 1729434000, 1729435200, 1729436400, 1729437600, 1729438800, 1729440000, 1729441200, 1729442400, 1729443600, 1729444800, 1729446000, 1729447200, 1729448400, 1729449600, 1729450800, 1729452000, 1729453200, 1729454400, 1729455600, 1729456800, 1729458000, 1729459200, 1729460400, 1729461600, 1729462800, 1729464000, 1729465200, 1729466400, 1729467600, 1729468800, 1729470000, 1729471200, 1729472400, 1729473600, 1729474800, 1729476000, 1729477200, 1729478400, 1729479600, 1729480800, 1729482000, 1729483200, 1729484400, 1729485600, 1729486800, 1729488000, 1729489200, 1729490400, 1729491600, 1729492800, 1729494000, 1729495200, 1729496400, 1729497600, 1729498800, 1729500000, 1729501200, 1729502400, 1729503600, 1729504800, 1729506000, 1729507200, 1729508400, 1729509600, 1729510800, 1729512000, 1729513200, 1729514400, 1729515600, 1729516800, 1729518000, 1729519200, 1729520400, 1729521600, 1729522800, 1729524000, 1729525200, 1729526400, 1729527600, 1729528800, 1729530000, 1729531200, 1729532400, 1729533600, 1729534800, 1729536000, 1729537200, 1729538400, 1729539600, 1729540800, 1729542000, 1729543200, 1729544400, 1729545600, 1729546800, 1729548000, 1729549200, 1729550400, 1729551600, 1729552800, 1729554000, 1729555200, 1729556400, 1729557600, 1729558800, 1729560000, 1729561200, 1729562400, 1729563600, 1729564800, 1729566000, 1729567200, 1729568400, 1729569600, 1729570800, 1729572000, 1729573200, 1729574400, 1729575600, 1729576800, 1729578000, 1729579200, 1729580400, 1729581600, 1729582800, 1729584000, 1729585200, 1729586400, 1729587600, 1729588800, 1729590000, 1729591200, 1729592400, 1729593600, 1729594800, 1729596000, 1729597200, 1729598400, 1729599600, 1729600800, 1729602000, 1729603200, 1729604400, 1729605600, 1729606800, 1729608000, 1729609200, 1729610400, 1729611600, 1729612800, 1729614000, 1729615200, 1729616400, 1729617600, 1729618800, 1729620000, 1729621200, 1729622400, 1729623600, 1729624800, 1729626000, 1729627200, 1729628400, 1729629600, 1729630800, 1729632000, 1729633200, 1729634400, 1729635600, 1729636800, 1729638000, 1729639200, 1729640400, 1729641600, 1729642800, 1729644000, 1729645200, 1729646400, 1729647600, 1729648800, 1729650000, 1729651200, 1729652400, 1729653600, 1729654800, 1729656000, 1729657200, 1729658400, 1729659600, 1729660800, 1729662000, 1729663200, 1729664400, 1729665600, 1729666800, 1729668000, 1729669200, 1729670400, 1729671600, 1729672800, 1729674000, 1729675200, 1729676400, 1729677600, 1729678800, 1729680000, 1729681200, 1729682400, 1729683600, 1729684800, 1729686000, 1729687200, 1729688400, 1729689600, 1729690800, 1729692000, 1729693200, 1729695600, 1729696800, 1729698000, 1729699200, 1729700400, 1729701600, 1729702800, 1729704000, 1729705200, 1729706400, 1729707600, 1729708800, 1729710000, 1729711200, 1729712400, 1729713600, 1729714800, 1729716000, 1729717200, 1729718400, 1729719600, 1729720800, 1729722000, 1729723200, 1729724400, 1729725600, 1729726800, 1729728000, 1729729200, 1729730400, 1729731600, 1729732800, 1729734000, 1729735200, 1729736400, 1729737600, 1729738800, 1729740000, 1729741200, 1729742400, 1729743600, 1729744800, 1729746000, 1729747200, 1729748400, 1729749600, 1729750800, 1729752000, 1729753200, 1729754400, 1729755600, 1729756800, 1729758000, 1729759200, 1729760400, ]; static TRAINING_Y: &[f64] = &[ 0.3, 0.27, 0.03, 0.94, 0.78, 0.69, 0.25, 0.7, 0.55, 0.18, 0.24, 0.97, 0.55, 0.69, 0.1, 0.34, 0.25, 1.47, 1.25, 0.51, 1.08, 0.34, 0.53, 0.13, 0.55, 0.99, 0.6, 0.13, 0.03, 0.54, 0.74, 0.15, 0.34, 1.19, 0.44, 0.55, 0.88, 1.16, 0.16, 0.58, 0.12, 0.94, 0.04, 0.91, 0.07, 0.09, 0.49, 0.35, 0.66, 0.02, 0.54, 0.74, 0.22, 0.3, 0.14, 0.65, 0.42, 0.21, 0.35, 0.78, 0.06, 0.1, 0.48, 0.44, 0.33, 0.38, 0.26, 0.7, 0.17, 0.48, 0.09, 0.1, 0.54, 0.32, 0.44, 0.0, 0.9, 1.15, 0.52, 0.08, 0.29, 0.42, 0.18, 0.15, 1.08, 0.97, 0.11, 0.18, 0.12, 0.65, 1.21, 1.06, 0.06, 0.83, 0.29, 0.26, 0.27, 0.42, 0.48, 0.62, 0.13, 0.03, 1.02, 0.5, 0.07, 0.29, 0.84, 0.52, 0.27, 0.64, 1.08, 0.29, 0.23, 0.15, 0.22, 0.89, 0.87, 0.92, 0.08, 0.73, 0.22, 0.45, 0.36, 0.46, 0.49, 0.17, 0.51, 0.05, 0.48, 0.58, 0.09, 0.29, 0.91, 0.13, 0.09, 0.43, 1.61, 0.55, 0.88, 0.3, 0.72, 0.09, 0.84, 0.1, 0.14, 0.71, 0.21, 0.46, 0.06, 0.47, 0.99, 0.3, 0.23, 0.38, 0.47, 0.39, 0.16, 0.96, 1.1, 0.76, 0.18, 0.1, 1.26, 0.57, 0.97, 0.05, 0.7, 0.18, 0.04, 0.09, 0.2, 0.27, 0.46, 0.23, 0.02, 0.52, 0.52, 0.25, 0.15, 0.53, 0.51, 0.41, 0.35, 1.02, 0.61, 0.19, 0.54, 0.09, 0.91, 0.69, 1.6, 0.01, 1.02, 0.4, 0.4, 0.3, 0.37, 0.81, 0.67, 0.26, 0.11, 0.59, 0.76, 0.11, 0.29, 0.77, 0.08, 0.2, 0.48, 1.19, 0.36, 0.48, 0.23, 0.95, 0.13, 0.89, 0.02, 0.23, 0.45, 0.49, 0.73, 0.24, 0.9, 0.84, 0.29, 0.06, 0.33, 0.43, 0.26, 0.44, 0.63, 0.95, 0.04, 0.14, 0.05, 1.18, 0.5, 0.39, 0.35, 0.73, 0.58, 0.27, 0.11, 0.24, 0.1, 0.71, 0.35, 0.11, 0.75, 0.93, 0.42, 0.19, 0.29, 0.44, 0.12, 0.46, 1.68, 1.22, 0.11, 0.05, 0.12, 0.62, 0.84, 0.36, 0.06, 1.22, 0.67, 0.32, 0.36, 0.54, 0.42, 0.77, 0.19, 0.4, 0.97, 0.42, 0.04, 0.27, 0.57, 0.38, 0.36, 0.56, 0.97, 0.67, 0.31, 0.11, 0.31, 0.45, 0.71, 0.43, 0.09, 0.44, 0.53, 0.32, 0.36, 0.97, 0.64, 0.24, 0.43, 0.39, 0.41, 0.45, 0.09, 0.38, 1.1, 0.01, 0.21, 0.69, 1.6, 0.36, 0.15, 0.35, 0.67, 0.1, 0.54, 0.19, 0.21, 0.34, 0.52, 0.56, 0.03, 0.38, 0.95, 0.34, 0.24, 0.24, 0.69, 0.16, 0.27, 0.84, 0.89, 0.02, 0.14, 0.22, 0.99, 0.59, 0.15, 0.06, 0.87, 0.3, 0.17, 0.12, 0.38, 0.6, 0.6, 0.22, 0.25, 0.51, 0.58, 0.0, 0.27, 0.49, 0.28, 0.66, 0.38, 1.05, 0.52, 0.12, 0.1, 0.34, 0.99, 0.71, 0.35, 0.05, 0.81, 0.46, 0.7, 0.53, 0.72, 0.79, 0.3, 0.5, 0.09, 0.87, 0.45, 0.1, 0.35, 0.86, 0.06, 0.2, 0.55, 1.25, 0.24, 0.31, 0.33, 0.64, 0.25, 0.83, 0.03, 0.28, 0.58, 0.48, 0.59, 0.18, 0.95, 0.87, 0.69, 0.16, 0.17, 0.43, 0.39, 0.16, 0.69, 0.8, 0.11, 0.33, 0.14, 0.97, 0.52, 0.07, 0.29, 0.61, 0.11, 0.31, 0.12, 0.4, 0.24, 0.69, 0.59, 0.09, 0.44, 0.45, 0.46, 0.44, 0.37, 0.75, 0.18, 0.43, 1.05, 0.76, 0.13, 0.02, 0.24, 0.94, 1.38, 0.63, 0.05, 0.93, 0.83, 0.38, 0.4, 0.58, 0.62, 0.67, 0.29, 0.12, 0.49, 0.62, 0.09, 0.27, 1.24, 0.23, 0.49, 0.59, 1.19, 0.22, 0.25, 0.19, 0.47, 0.78, 0.53, 0.08, 0.12, 0.51, 1.1, 0.67, 0.84, 0.98, 0.74, 0.22, 0.37, 0.14, 0.39, 0.37, 0.04, 0.74, 0.82, 0.06, 0.27, 0.3, 1.23, 0.29, 0.33, 0.38, 0.66, 0.2, 0.27, 0.1, 0.16, 0.47, 0.86, 0.4, 0.05, 0.91, 0.95, 0.46, 0.43, 0.58, 0.49, 0.13, 0.28, 1.04, 0.76, 0.23, 0.29, 0.32, 0.98, 1.29, 0.3, 0.27, 0.88, 0.48, 0.37, 0.25, 0.38, 0.56, 0.63, 0.16, 0.1, 0.66, 0.69, 0.01, 0.35, 0.73, 0.28, 0.44, 0.81, 1.25, 0.32, 0.2, 0.29, 0.32, 0.97, 1.06, 0.49, 0.07, 0.98, 0.57, 0.46, 0.31, 0.65, 0.62, 0.14, 0.21, 0.06, 0.69, 0.49, 0.09, 0.25, 0.8, 0.06, 0.25, 0.46, 1.2, 0.41, 0.6, 0.46, 0.78, 0.14, 0.62, 0.02, 0.16, 0.31, 1.04, 0.54, 0.1, 0.55, 1.01, 0.25, 0.22, 0.27, 0.52, 0.5, 0.06, 1.52, 0.9, 0.17, 0.49, 0.13, 1.33, 0.9, 0.31, 0.63, 2.5, 0.15, 0.16, 0.18, 0.52, 0.39, 0.97, 0.55, 0.07, 0.69, 0.77, 0.15, 0.7, 1.19, 0.29, 0.43, 0.6, 1.17, 0.63, 0.37, 0.29, 0.24, 0.83, 1.43, 0.99, 0.05, 0.9, 0.52, 0.57, 0.3, 0.71, 0.14, 0.64, 0.29, 0.21, 0.55, 0.57, 0.04, 0.46, 0.65, 0.11, 0.18, 0.33, 1.12, 0.32, 0.43, 0.5, 0.39, 0.07, 0.66, 0.32, 0.17, 0.45, 0.42, 0.59, 0.27, 0.81, 0.7, 0.08, 0.26, 0.24, 0.61, 0.37, 0.97, 0.8, 1.05, 0.13, 0.48, 0.2, 1.37, 0.81, 0.18, 0.46, 0.7, 0.1, 0.53, 0.1, 0.56, 0.32, 0.48, 0.43, 0.04, 0.74, 0.64, 0.49, 0.43, 0.49, 0.76, 0.51, 0.18, 0.69, 0.78, 0.2, 0.86, 0.18, 0.63, 1.32, 0.87, 0.17, 1.0, 0.4, 0.67, 0.06, 0.28, 0.56, 0.76, 0.06, 0.13, 0.56, 0.49, 0.0, 0.32, 0.64, 0.33, 0.45, 0.43, 0.93, 0.26, 0.22, 0.6, 0.92, 0.42, 0.61, 0.08, 0.17, 0.51, 0.34, 0.68, 0.4, 0.73, 0.78, 0.25, 0.69, 0.18, 0.74, 0.89, 0.11, 0.59, 1.01, 0.02, 0.43, 0.15, 0.6, 0.42, 0.08, 0.41, 0.77, 0.43, 0.32, 0.15, 0.24, 0.41, 0.34, 0.41, 0.0, 0.34, 0.86, 0.53, 0.17, 0.29, 0.74, 0.3, 0.16, 0.98, 0.97, 0.35, 0.5, 0.26, 0.52, 1.61, 0.28, 0.27, 0.61, 0.24, 0.12, 0.11, 0.29, 0.23, 0.53, 0.13, 0.1, 0.66, 0.59, 0.09, 0.35, 0.59, 0.41, 0.6, 0.43, 1.04, 0.72, 0.16, 0.67, 0.24, 0.31, 0.88, 0.32, 0.02, 0.78, 0.6, 0.68, 0.2, 0.79, 0.08, 0.29, 0.6, 0.07, 0.55, 0.72, 0.06, 0.49, 1.19, 0.23, 0.5, 0.15, 0.79, 0.22, 0.89, 0.33, 0.42, 0.12, 0.34, 0.07, 0.18, 0.27, 0.09, 0.73, 0.03, 0.9, 0.98, 0.17, 0.16, 0.14, 0.58, 0.48, 0.27, 0.56, 1.22, 0.08, 0.48, 0.06, 0.26, 0.72, 0.07, 0.35, 0.74, 0.12, 0.17, 0.12, 0.28, 0.1, 0.34, 0.31, 0.01, 0.45, 0.54, 0.65, 0.22, 0.4, 0.53, 1.22, 0.27, 0.81, 0.66, 0.13, 0.67, 0.09, 0.17, 1.11, 0.4, 0.03, 0.82, 0.44, 0.44, 0.27, 0.53, 0.25, 0.5, 0.28, 0.1, 0.66, 0.78, 0.08, 0.35, 0.22, 0.2, 0.63, 0.62, 1.07, 0.37, 0.3, 0.31, 0.42, 0.4, 0.46, 0.1, 0.08, 0.55, 0.59, 1.01, 0.27, 1.4, 0.69, 0.23, 0.64, 0.12, 0.47, 0.48, 0.01, 0.99, 0.86, 0.11, 0.41, 0.14, 0.27, 0.44, 0.09, 0.16, 0.57, 0.11, 0.19, 0.13, 0.13, 0.47, 0.28, 0.3, 0.03, 0.51, 0.85, 0.45, 0.63, 0.32, 0.5, 0.28, 0.21, 0.51, 0.61, 0.15, 0.59, 0.11, 0.36, 1.08, 0.48, 0.3, 0.78, 0.25, 0.18, 0.42, 0.44, 0.24, 0.78, 0.17, 0.21, 0.58, 0.53, 0.0, 0.41, 0.74, 0.56, 0.54, 0.36, 0.89, 0.53, 0.24, 0.39, 0.19, 0.27, 0.88, 0.42, 0.03, 0.66, 0.29, 0.74, 0.97, 0.61, 0.61, 0.19, 0.64, 0.2, 0.45, 0.57, 0.02, 0.55, 0.81, 0.24, 0.36, 0.16, 0.42, 0.33, 0.52, 0.62, 0.62, 0.09, 0.39, 0.2, 0.16, 0.25, 0.11, 0.51, 0.04, 0.88, 0.79, 0.18, 0.08, 0.21, 0.45, 0.67, 0.2, 0.45, 1.0, 0.06, 0.52, 0.22, 0.35, 0.69, 0.21, 0.34, 0.35, 0.2, 0.11, 0.16, 0.21, 0.25, 0.45, 0.11, 0.02, 0.51, 0.96, 0.0, 0.59, 0.2, 0.46, 0.79, 0.11, 0.98, 0.94, 0.24, 1.02, 0.63, 0.23, 1.11, 0.44, 0.01, 0.92, 0.62, 0.89, 0.41, 0.25, 0.33, 0.52, 0.57, 0.05, 0.7, 0.24, 0.12, 0.64, 0.46, 0.03, 0.74, 0.5, 0.93, 0.39, 0.49, 0.16, 0.46, 0.04, 0.42, 0.03, 0.1, 0.4, 0.92, 0.65, 0.16, 0.3, 0.73, 0.07, 0.42, 0.16, 0.33, 0.4, 0.02, 0.84, 1.34, 0.12, 0.68, 0.08, 0.13, 0.84, 0.12, 0.19, 0.86, 0.13, 0.27, 0.14, 0.16, 0.21, 0.32, 0.95, 0.01, 0.53, 0.76, 0.47, 0.35, 0.36, 0.65, 0.81, 0.13, 1.04, 0.71, 0.13, 0.36, 0.17, 0.2, 0.95, 0.38, 0.15, 0.81, 0.64, 0.33, 0.19, 0.63, 0.48, 0.68, 0.18, 0.36, 0.4, 0.52, 0.0, 0.65, 0.75, 0.21, 1.0, 0.38, 0.86, 0.31, 0.22, 0.56, 0.43, 0.27, 0.46, 0.33, 0.04, 0.39, 0.31, 0.66, 0.38, 0.51, 0.71, 0.1, 0.51, 0.18, 0.63, 0.17, 0.02, 0.87, 1.17, 0.01, 0.49, 0.0, 0.63, 0.72, 0.17, 0.35, 0.55, 0.1, 0.43, 0.1, 0.72, 0.41, 0.26, 0.41, 0.07, 0.43, 0.67, 0.21, 0.49, 0.48, 0.47, 0.38, 0.06, 0.82, 0.95, 0.12, 0.77, 0.37, 0.46, 1.12, 0.33, 0.13, 0.82, 0.32, 0.4, 0.14, 0.26, 0.86, 0.98, 0.33, 0.1, 0.58, 0.74, 0.16, 0.45, 0.67, 0.29, 0.94, 0.31, 0.98, 0.61, 0.27, 1.18, 0.35, 0.29, 0.67, 0.35, 0.02, 0.89, 0.58, 0.56, 0.24, 0.35, 0.63, 0.43, 0.46, 0.23, 0.56, 0.38, 0.13, 0.4, 1.14, 0.12, 1.04, 0.16, 0.74, 0.51, 0.37, 0.19, 0.41, 0.58, 0.59, 0.12, 0.08, 0.52, 0.2, 0.66, 0.03, 0.61, 0.84, 0.18, 0.83, 0.3, 0.61, 0.82, 0.1, 0.8, 1.01, 0.1, 0.95, 0.15, 0.42, 1.51, 0.13, 0.79, 0.78, 0.15, 0.52, 0.11, 0.18, 0.27, 0.33, 0.52, 0.07, 0.56, 0.53, 0.26, 0.32, 0.68, 0.46, 0.76, 0.18, 1.09, 0.58, 0.07, 1.06, 0.12, 0.21, 1.03, 0.44, 0.01, 0.6, 0.49, 0.32, 0.43, 0.52, 0.46, 0.47, 0.44, 0.21, 0.61, 0.58, 0.04, 0.5, 0.93, 0.23, 1.04, 0.5, 0.9, 0.48, 1.06, 0.14, 0.38, 0.09, 0.5, 0.01, 0.28, 0.5, 0.48, 0.68, 0.47, 0.56, 0.72, 0.12, 0.46, 0.18, 0.5, 0.35, 0.19, 0.92, 0.92, 0.02, 0.73, 0.03, 0.22, 0.86, 0.37, 1.14, 0.78, 0.13, 0.6, 0.07, 0.53, 0.35, 0.29, 0.69, 0.04, 0.47, 0.94, 0.49, 0.56, 0.42, 0.42, 0.43, 0.1, 0.8, 0.8, 0.04, 0.74, 0.22, 0.06, 1.04, 0.38, 0.08, 1.1, 0.28, 0.45, 0.27, 0.44, 0.43, 0.56, 0.2, 0.02, 0.69, 0.74, 0.06, 0.37, 0.92, 0.57, 0.51, 0.61, 0.9, 0.61, 0.06, 0.93, 0.46, 0.38, 0.52, 0.42, 0.14, 0.99, 0.44, 0.63, 0.88, 0.66, 0.6, 0.08, 0.5, 0.15, 0.71, 0.32, 0.06, 0.53, 1.13, 0.01, 0.58, 0.25, 1.06, 0.68, 0.41, 0.15, 0.77, 0.04, 0.45, 0.02, 0.23, 0.76, 0.15, 0.49, 0.05, 0.74, 0.97, 0.33, 0.31, 0.31, 0.41, 0.62, 0.05, 0.52, 1.02, 0.06, 1.3, 0.12, 0.44, 1.42, 0.25, 0.02, 0.97, 0.23, 0.26, 0.1, 0.16, 0.27, 0.3, 0.52, 0.1, 0.7, 0.62, 0.43, 0.62, 0.91, 0.47, 0.61, 0.19, 0.99, 0.41, 0.11, 0.87, 0.29, 0.17, 1.16, 1.25, 0.01, 1.01, 0.59, 0.33, 0.26, 0.49, 0.75, 0.66, 0.33, 0.2, 0.59, 0.25, 0.01, 0.47, 0.61, 0.46, 0.9, 0.38, 0.78, 0.32, 0.44, 0.2, 0.51, 0.08, 0.38, 0.06, 0.06, 0.59, 0.46, 0.66, 0.3, 0.34, 0.83, 0.67, 0.26, 0.26, 0.63, 0.41, 0.07, 0.59, 1.25, 0.01, 1.34, 0.03, 0.24, 0.49, 0.18, 0.43, 0.7, 0.24, 0.22, 0.05, 0.31, 0.63, 0.38, 0.54, 0.18, 0.49, 0.74, 0.56, 0.41, 0.5, 0.65, 0.72, 0.19, 1.1, 0.57, 0.08, 0.52, 0.66, 0.25, 1.44, 0.36, 0.1, 1.07, 0.6, 0.3, 0.27, 0.3, 0.68, 0.86, 0.18, 0.02, 0.51, 0.56, 0.35, 1.07, 0.77, 0.28, 0.56, 0.48, 0.84, 0.29, 0.16, 0.65, 0.22, 0.44, 0.72, 0.42, 0.13, 0.79, 0.84, 0.87, 0.46, 0.65, 0.72, 0.11, 0.37, 0.13, 0.41, 0.24, 0.02, 1.39, 1.02, 0.07, 0.34, 0.07, 0.64, 0.47, 0.43, 0.31, 0.53, 0.1, 0.39, 0.17, 0.12, 0.66, 0.1, 0.46, 0.01, 0.35, 1.1, 0.31, 0.21, 0.15, 0.44, 0.2, 0.07, 0.88, 0.85, 0.18, 0.88, 0.12, 0.44, 1.11, 0.55, 0.57, 0.99, 0.38, 0.25, 0.12, 0.23, 0.57, 0.52, 0.28, 0.34, 0.55, 0.42, 0.09, 0.73, 0.96, 0.44, 0.69, 0.13, 0.97, 0.51, 0.26, 0.75, 0.09, 0.22, 0.77, 0.48, 0.05, 1.34, 0.43, 0.84, 0.41, 0.23, 0.66, 0.15, 0.37, 0.14, 1.19, 0.57, 0.05, 0.47, 0.63, 0.09, 0.64, 0.04, 0.67, 0.4, 0.5, 0.32, 0.44, 0.02, 0.45, 0.02, 0.16, 0.71, 0.15, 0.67, 0.09, 0.41, 0.8, 0.39, 0.19, 1.63, 0.37, 0.88, 0.05, 0.56, 1.24, 0.04, 0.69, 0.08, 0.19, 0.92, 0.08, 0.23, 0.68, 0.35, 0.19, 0.06, 0.22, 0.71, 0.34, 0.38, 0.06, 0.64, 0.36, 0.33, 0.64, 0.55, 0.62, 0.21, 0.82, 0.78, 0.1, 0.77, 0.09, 0.05, 0.97, 0.58, 0.02, 1.0, 0.87, 0.46, 0.23, 0.51, 0.59, 1.16, 0.23, 0.14, 0.42, 0.55, 0.08, 0.71, 0.58, 0.17, 0.72, 0.47, 0.82, 0.27, 0.07, 0.32, 0.53, 0.06, 0.58, 0.43, 0.04, 0.9, 0.28, 0.78, 0.42, 0.43, 0.71, 0.17, 0.71, 0.15, 0.71, 0.29, 0.05, 0.52, 1.29, 0.08, 0.8, 3.21, 0.54, 0.39, 0.36, 0.24, 0.61, 0.26, 0.48, 0.06, 0.39, 0.29, 0.47, 0.51, 0.0, 0.73, 0.51, 0.13, 0.49, 0.47, 0.5, 0.1, 0.35, 1.2, 0.04, 0.84, 0.4, 0.27, 1.03, 0.57, 0.03, 0.59, 0.2, 0.27, 0.74, 0.46, 0.23, 0.36, 0.4, 0.02, 0.59, 0.32, 0.01, 0.41, 0.76, 0.25, 0.69, 0.12, 1.01, 0.16, 0.06, 0.29, 0.36, 0.24, 0.67, 0.81, 0.34, 0.65, 0.23, 0.73, 0.22, 0.61, 0.45, 0.27, 0.24, 0.2, 0.41, 0.26, 0.08, 0.06, 0.57, 0.02, 0.77, 0.09, 0.78, 0.6, 0.13, 0.21, 0.55, 0.06, 0.41, 0.04, 0.33, 0.4, 0.16, 0.7, 0.02, 0.82, 0.63, 0.16, 0.19, 0.38, 0.57, 0.62, 0.05, 0.29, 0.97, 0.05, 1.06, 0.07, 0.44, 0.76, 0.53, 0.02, 0.99, 0.2, 0.46, 0.17, 0.46, 0.28, 0.33, 0.62, 0.06, 0.52, 0.54, 0.22, 0.24, 0.77, 0.38, 1.08, 0.23, 0.74, 0.38, 0.02, 0.82, 0.24, 0.38, 1.07, 1.04, 0.11, 0.88, 1.27, 0.43, 0.45, 0.65, 0.47, 0.67, 0.29, 0.05, 0.7, 0.43, 0.06, 0.14, 0.99, 0.14, 0.87, 0.32, 0.79, 0.24, 0.2, 0.2, 0.59, 0.21, 0.63, 0.27, 0.17, 0.41, 0.51, 0.94, 0.32, 0.54, 0.66, 0.48, 0.13, 0.18, 0.39, 0.39, 0.33, 0.26, 0.87, 0.26, 0.71, 0.12, 0.28, 1.1, 0.4, 0.48, 0.52, 0.2, 0.34, 0.06, 0.26, 0.26, 0.7, 0.49, 0.02, 0.41, 0.54, 0.32, 0.18, 0.45, 0.38, 0.63, 0.07, 0.51, 0.83, 0.02, 0.68, 0.14, 0.26, 1.28, 0.74, 0.1, 0.87, 0.3, 0.42, 0.31, 0.75, 0.45, 0.69, 0.19, 0.12, 0.61, 0.36, 0.04, 0.41, 0.79, 0.29, 1.11, 0.25, 0.94, 0.48, 0.23, 0.5, 0.4, 0.31, 0.82, 0.86, 0.29, 0.51, 0.51, 0.74, 0.72, 0.43, 0.69, 0.07, 0.44, 0.35, 0.56, 0.3, 0.06, 0.41, 0.78, 0.06, 0.79, 0.17, 1.41, 0.54, 0.38, 0.38, 0.59, 0.06, 0.33, 0.12, 0.31, 0.38, 0.26, 0.36, 0.04, 0.08, 0.47, 0.25, 0.48, 0.24, 0.51, 0.23, 0.23, 0.39, 1.01, 0.02, 0.79, 0.07, 0.56, 1.23, 0.58, 0.12, 0.84, 0.23, 0.14, 0.25, 0.12, 0.51, 0.91, 0.29, 0.12, 0.44, 0.42, 0.04, 0.4, 0.9, 0.5, 1.08, 0.2, 1.01, 0.5, 0.08, 0.67, 0.47, 0.32, 1.1, 0.43, 0.25, 0.96, 0.57, 0.64, 0.22, 0.08, 0.54, 0.44, 0.52, 0.19, 0.54, 0.29, 0.05, 0.22, 1.01, 0.25, 1.12, 0.21, 0.64, 0.36, 0.12, 0.28, 0.59, 0.14, 0.49, 0.16, 0.35, 0.4, 0.2, 1.0, 0.04, 0.27, 0.52, 0.31, 0.13, 0.27, 0.46, 0.4, 0.25, 0.36, 0.91, 0.01, 0.95, 0.39, 0.2, 0.79, 0.3, 0.31, 0.56, 0.23, 0.22, 0.08, 0.48, 0.39, 0.64, 0.56, 0.04, 0.63, 0.91, 0.67, 0.2, 0.7, 0.61, 0.78, 0.26, 0.85, 0.68, 0.09, 0.69, 0.39, 0.26, 1.57, 0.68, 0.12, 0.53, 0.2, 0.73, 0.2, 0.68, 0.73, 0.23, 0.06, 0.64, 0.49, 0.36, 0.33, 0.74, 0.07, 1.06, 0.17, 0.85, 0.49, 0.07, 0.33, 0.5, 0.17, 0.81, 0.05, 0.1, 0.37, 0.21, 0.77, 0.87, 0.09, 0.26, 0.12, 0.26, 0.11, 0.53, 0.35, 0.06, 0.88, 1.16, 0.04, 0.74, 0.35, 0.12, 0.43, 0.11, 0.34, 0.65, 0.08, 0.24, 0.33, 0.78, 0.21, 0.5, 0.57, 0.13, ]; static PREDICTION_DS: &[TimestampSeconds] = &[ 1729156767, 1729157367, 1729157967, 1729158567, 1729159167, 1729159767, 1729160367, 1729160967, 1729161567, 1729162167, 1729162767, 1729163367, 1729163967, 1729164567, 1729165167, 1729165767, 1729166367, 1729166967, 1729167567, 1729168167, 1729168767, 1729169367, 1729169967, 1729170567, 1729171167, 1729171767, 1729172367, 1729172967, 1729173567, 1729174167, 1729174767, 1729175367, 1729175967, 1729176567, 1729177167, 1729177767, 1729178367, 1729178967, 1729179567, 1729180167, 1729180767, 1729181367, 1729181967, 1729182567, 1729183167, 1729183767, 1729184367, 1729184967, 1729185567, 1729186167, 1729186767, 1729187367, 1729187967, 1729188567, 1729189167, 1729189767, 1729190367, 1729190967, 1729191567, 1729192167, 1729192767, 1729193367, 1729193967, 1729194567, 1729195167, 1729195767, 1729196367, 1729196967, 1729197567, 1729198167, 1729198767, 1729199367, 1729199967, 1729200567, 1729201167, 1729201767, 1729202367, 1729202967, 1729203567, 1729204167, 1729204767, 1729205367, 1729205967, 1729206567, 1729207167, 1729207767, 1729208367, 1729208967, 1729209567, 1729210167, 1729210767, 1729211367, 1729211967, 1729212567, 1729213167, 1729213767, 1729214367, 1729214967, 1729215567, 1729216167, 1729216767, 1729217367, 1729217967, 1729218567, 1729219167, 1729219767, 1729220367, 1729220967, 1729221567, 1729222167, 1729222767, 1729223367, 1729223967, 1729224567, 1729225167, 1729225767, 1729226367, 1729226967, 1729227567, 1729228167, 1729228767, 1729229367, 1729229967, 1729230567, 1729231167, 1729231767, 1729232367, 1729232967, 1729233567, 1729234167, 1729234767, 1729235367, 1729235967, 1729236567, 1729237167, 1729237767, 1729238367, 1729238967, 1729239567, 1729240167, 1729240767, 1729241367, 1729241967, 1729242567, 1729243167, 1729243767, 1729244367, 1729244967, 1729245567, 1729246167, 1729246767, 1729247367, 1729247967, 1729248567, 1729249167, 1729249767, 1729250367, 1729250967, 1729251567, 1729252167, 1729252767, 1729253367, 1729253967, 1729254567, 1729255167, 1729255767, 1729256367, 1729256967, 1729257567, 1729258167, 1729258767, 1729259367, 1729259967, 1729260567, 1729261167, 1729261767, 1729262367, 1729262967, 1729263567, 1729264167, 1729264767, 1729265367, 1729265967, 1729266567, 1729267167, 1729267767, 1729268367, 1729268967, 1729269567, 1729270167, 1729270767, 1729271367, 1729271967, 1729272567, 1729273167, 1729273767, 1729274367, 1729274967, 1729275567, 1729276167, 1729276767, 1729277367, 1729277967, 1729278567, 1729279167, 1729279767, 1729280367, 1729280967, 1729281567, 1729282167, 1729282767, 1729283367, 1729283967, 1729284567, 1729285167, 1729285767, 1729286367, 1729286967, 1729287567, 1729288167, 1729288767, 1729289367, 1729289967, 1729290567, 1729291167, 1729291767, 1729292367, 1729292967, 1729293567, 1729294167, 1729294767, 1729295367, 1729295967, 1729296567, 1729297167, 1729297767, 1729298367, 1729298967, 1729299567, 1729300167, 1729300767, 1729301367, 1729301967, 1729302567, 1729303167, 1729303767, 1729304367, 1729304967, 1729305567, 1729306167, 1729306767, 1729307367, 1729307967, 1729308567, 1729309167, 1729309767, 1729310367, 1729310967, 1729311567, 1729312167, 1729312767, 1729313367, 1729313967, 1729314567, 1729315167, 1729315767, 1729316367, 1729316967, 1729317567, 1729318167, 1729318767, 1729319367, 1729319967, 1729320567, 1729321167, 1729321767, 1729322367, 1729322967, 1729323567, 1729324167, 1729324767, 1729325367, 1729325967, 1729326567, 1729327167, 1729327767, 1729328367, 1729328967, 1729329567, 1729330167, 1729330767, 1729331367, 1729331967, 1729332567, 1729333167, 1729333767, 1729334367, 1729334967, 1729335567, 1729336167, 1729336767, 1729337367, 1729337967, 1729338567, 1729339167, 1729339767, 1729340367, 1729340967, 1729341567, 1729342167, 1729342767, 1729343367, 1729343967, 1729344567, 1729345167, 1729345767, 1729346367, 1729346967, 1729347567, 1729348167, 1729348767, 1729349367, 1729349967, 1729350567, 1729351167, 1729351767, 1729352367, 1729352967, 1729353567, 1729354167, 1729354767, 1729355367, 1729355967, 1729356567, 1729357167, 1729357767, 1729358367, 1729358967, 1729359567, 1729360167, 1729360767, 1729361367, 1729361967, 1729362567, 1729363167, 1729363767, 1729364367, 1729364967, 1729365567, 1729366167, 1729366767, 1729367367, 1729367967, 1729368567, 1729369167, 1729369767, 1729370367, 1729370967, 1729371567, 1729372167, 1729372767, 1729373367, 1729373967, 1729374567, 1729375167, 1729375767, 1729376367, 1729376967, 1729377567, 1729378167, 1729378767, 1729379367, 1729379967, 1729380567, 1729381167, 1729381767, 1729382367, 1729382967, 1729383567, 1729384167, 1729384767, 1729385367, 1729385967, 1729386567, 1729387167, 1729387767, 1729388367, 1729388967, 1729389567, 1729390167, 1729390767, 1729391367, 1729391967, 1729392567, 1729393167, 1729393767, 1729394367, 1729394967, 1729395567, 1729396167, 1729396767, 1729397367, 1729397967, 1729398567, 1729399167, 1729399767, 1729400367, 1729400967, 1729401567, 1729402167, 1729402767, 1729403367, 1729403967, 1729404567, 1729405167, 1729405767, 1729406367, 1729406967, 1729407567, 1729408167, 1729408767, 1729409367, 1729409967, 1729410567, 1729411167, 1729411767, 1729412367, 1729412967, 1729413567, 1729414167, 1729414767, 1729415367, 1729415967, 1729416567, 1729417167, 1729417767, 1729418367, 1729418967, 1729419567, 1729420167, 1729420767, 1729421367, 1729421967, 1729422567, 1729423167, 1729423767, 1729424367, 1729424967, 1729425567, 1729426167, 1729426767, 1729427367, 1729427967, 1729428567, 1729429167, 1729429767, 1729430367, 1729430967, 1729431567, 1729432167, 1729432767, 1729433367, 1729433967, 1729434567, 1729435167, 1729435767, 1729436367, 1729436967, 1729437567, 1729438167, 1729438767, 1729439367, 1729439967, 1729440567, 1729441167, 1729441767, 1729442367, 1729442967, 1729443567, 1729444167, 1729444767, 1729445367, 1729445967, 1729446567, 1729447167, 1729447767, 1729448367, 1729448967, 1729449567, 1729450167, 1729450767, 1729451367, 1729451967, 1729452567, 1729453167, 1729453767, 1729454367, 1729454967, 1729455567, 1729456167, 1729456767, 1729457367, 1729457967, 1729458567, 1729459167, 1729459767, 1729460367, 1729460967, 1729461567, 1729462167, 1729462767, 1729463367, 1729463967, 1729464567, 1729465167, 1729465767, 1729466367, 1729466967, 1729467567, 1729468167, 1729468767, 1729469367, 1729469967, 1729470567, 1729471167, 1729471767, 1729472367, 1729472967, 1729473567, 1729474167, 1729474767, 1729475367, 1729475967, 1729476567, 1729477167, 1729477767, 1729478367, 1729478967, 1729479567, 1729480167, 1729480767, 1729481367, 1729481967, 1729482567, 1729483167, 1729483767, 1729484367, 1729484967, 1729485567, 1729486167, 1729486767, 1729487367, 1729487967, 1729488567, 1729489167, 1729489767, 1729490367, 1729490967, 1729491567, 1729492167, 1729492767, 1729493367, 1729493967, 1729494567, 1729495167, 1729495767, 1729496367, 1729496967, 1729497567, 1729498167, 1729498767, 1729499367, 1729499967, 1729500567, 1729501167, 1729501767, 1729502367, 1729502967, 1729503567, 1729504167, 1729504767, 1729505367, 1729505967, 1729506567, 1729507167, 1729507767, 1729508367, 1729508967, 1729509567, 1729510167, 1729510767, 1729511367, 1729511967, 1729512567, 1729513167, 1729513767, 1729514367, 1729514967, 1729515567, 1729516167, 1729516767, 1729517367, 1729517967, 1729518567, 1729519167, 1729519767, 1729520367, 1729520967, 1729521567, 1729522167, 1729522767, 1729523367, 1729523967, 1729524567, 1729525167, 1729525767, 1729526367, 1729526967, 1729527567, 1729528167, 1729528767, 1729529367, 1729529967, 1729530567, 1729531167, 1729531767, 1729532367, 1729532967, 1729533567, 1729534167, 1729534767, 1729535367, 1729535967, 1729536567, 1729537167, 1729537767, 1729538367, 1729538967, 1729539567, 1729540167, 1729540767, 1729541367, 1729541967, 1729542567, 1729543167, 1729543767, 1729544367, 1729544967, 1729545567, 1729546167, 1729546767, 1729547367, 1729547967, 1729548567, 1729549167, 1729549767, 1729550367, 1729550967, 1729551567, 1729552167, 1729552767, 1729553367, 1729553967, 1729554567, 1729555167, 1729555767, 1729556367, 1729556967, 1729557567, 1729558167, 1729558767, 1729559367, 1729559967, 1729560567, 1729561167, 1729561767, 1729562367, 1729562967, 1729563567, 1729564167, 1729564767, 1729565367, 1729565967, 1729566567, 1729567167, 1729567767, 1729568367, 1729568967, 1729569567, 1729570167, 1729570767, 1729571367, 1729571967, 1729572567, 1729573167, 1729573767, 1729574367, 1729574967, 1729575567, 1729576167, 1729576767, 1729577367, 1729577967, 1729578567, 1729579167, 1729579767, 1729580367, 1729580967, 1729581567, 1729582167, 1729582767, 1729583367, 1729583967, 1729584567, 1729585167, 1729585767, 1729586367, 1729586967, 1729587567, 1729588167, 1729588767, 1729589367, 1729589967, 1729590567, 1729591167, 1729591767, 1729592367, 1729592967, 1729593567, 1729594167, 1729594767, 1729595367, 1729595967, 1729596567, 1729597167, 1729597767, 1729598367, 1729598967, 1729599567, 1729600167, 1729600767, 1729601367, 1729601967, 1729602567, 1729603167, 1729603767, 1729604367, 1729604967, 1729605567, 1729606167, 1729606767, 1729607367, 1729607967, 1729608567, 1729609167, 1729609767, 1729610367, 1729610967, 1729611567, 1729612167, 1729612767, 1729613367, 1729613967, 1729614567, 1729615167, 1729615767, 1729616367, 1729616967, 1729617567, 1729618167, 1729618767, 1729619367, 1729619967, 1729620567, 1729621167, 1729621767, 1729622367, 1729622967, 1729623567, 1729624167, 1729624767, 1729625367, 1729625967, 1729626567, 1729627167, 1729627767, 1729628367, 1729628967, 1729629567, 1729630167, 1729630767, 1729631367, 1729631967, 1729632567, 1729633167, 1729633767, 1729634367, 1729634967, 1729635567, 1729636167, 1729636767, 1729637367, 1729637967, 1729638567, 1729639167, 1729639767, 1729640367, 1729640967, 1729641567, 1729642167, 1729642767, 1729643367, 1729643967, 1729644567, 1729645167, 1729645767, 1729646367, 1729646967, 1729647567, 1729648167, 1729648767, 1729649367, 1729649967, 1729650567, 1729651167, 1729651767, 1729652367, 1729652967, 1729653567, 1729654167, 1729654767, 1729655367, 1729655967, 1729656567, 1729657167, 1729657767, 1729658367, 1729658967, 1729659567, 1729660167, 1729660767, 1729661367, 1729661967, 1729662567, 1729663167, 1729663767, 1729664367, 1729664967, 1729665567, 1729666167, 1729666767, 1729667367, 1729667967, 1729668567, 1729669167, 1729669767, 1729670367, 1729670967, 1729671567, 1729672167, 1729672767, 1729673367, 1729673967, 1729674567, 1729675167, 1729675767, 1729676367, 1729676967, 1729677567, 1729678167, 1729678767, 1729679367, 1729679967, 1729680567, 1729681167, 1729681767, 1729682367, 1729682967, 1729683567, 1729684167, 1729684767, 1729685367, 1729685967, 1729686567, 1729687167, 1729687767, 1729688367, 1729688967, 1729689567, 1729690167, 1729690767, 1729691367, 1729691967, 1729692567, 1729693167, 1729693767, 1729694367, 1729694967, 1729695567, 1729696167, 1729696767, 1729697367, 1729697967, 1729698567, 1729699167, 1729699767, 1729700367, 1729700967, 1729701567, 1729702167, 1729702767, 1729703367, 1729703967, 1729704567, 1729705167, 1729705767, 1729706367, 1729706967, 1729707567, 1729708167, 1729708767, 1729709367, 1729709967, 1729710567, 1729711167, 1729711767, 1729712367, 1729712967, 1729713567, 1729714167, 1729714767, 1729715367, 1729715967, 1729716567, 1729717167, 1729717767, 1729718367, 1729718967, 1729719567, 1729720167, 1729720767, 1729721367, 1729721967, 1729722567, 1729723167, 1729723767, 1729724367, 1729724967, 1729725567, 1729726167, 1729726767, 1729727367, 1729727967, 1729728567, 1729729167, 1729729767, 1729730367, 1729730967, 1729731567, 1729732167, 1729732767, 1729733367, 1729733967, 1729734567, 1729735167, 1729735767, 1729736367, 1729736967, 1729737567, 1729738167, 1729738767, 1729739367, 1729739967, 1729740567, 1729741167, 1729741767, 1729742367, 1729742967, 1729743567, 1729744167, 1729744767, 1729745367, 1729745967, 1729746567, 1729747167, 1729747767, 1729748367, 1729748967, 1729749567, 1729750167, 1729750767, 1729751367, 1729751967, 1729752567, 1729753167, 1729753767, 1729754367, 1729754967, 1729755567, 1729756167, 1729756767, 1729757367, 1729757967, 1729758567, 1729759167, 1729759767, 1729760367, 1729760967, 1729761567, 1729762167, 1729762767, 1729763367, 1729763967, 1729764567, 1729765167, 1729765767, 1729766367, 1729766967, 1729767567, 1729768167, 1729768767, 1729769367, 1729769967, 1729770567, 1729771167, 1729771767, 1729772367, 1729772967, 1729773567, 1729774167, 1729774767, 1729775367, 1729775967, 1729776567, 1729777167, 1729777767, 1729778367, 1729778967, 1729779567, 1729780167, 1729780767, 1729781367, 1729781967, 1729782567, 1729783167, 1729783767, 1729784367, 1729784967, 1729785567, 1729786167, 1729786767, 1729787367, 1729787967, 1729788567, 1729789167, 1729789767, 1729790367, 1729790967, 1729791567, 1729792167, 1729792767, 1729793367, 1729793967, 1729794567, 1729795167, 1729795767, 1729796367, 1729796967, 1729797567, 1729798167, 1729798767, 1729799367, 1729799967, 1729800567, 1729801167, 1729801767, 1729802367, 1729802967, 1729803567, 1729804167, 1729804767, 1729805367, 1729805967, 1729806567, 1729807167, 1729807767, 1729808367, 1729808967, 1729809567, 1729810167, 1729810767, 1729811367, 1729811967, 1729812567, 1729813167, 1729813767, 1729814367, 1729814967, 1729815567, 1729816167, 1729816767, 1729817367, 1729817967, 1729818567, 1729819167, 1729819767, 1729820367, 1729820967, 1729821567, 1729822167, 1729822767, 1729823367, 1729823967, 1729824567, 1729825167, 1729825767, 1729826367, 1729826967, 1729827567, 1729828167, 1729828767, 1729829367, 1729829967, 1729830567, 1729831167, 1729831767, 1729832367, 1729832967, 1729833567, 1729834167, 1729834767, 1729835367, 1729835967, 1729836567, 1729837167, 1729837767, 1729838367, 1729838967, 1729839567, 1729840167, 1729840767, 1729841367, 1729841967, 1729842567, 1729843167, 1729843767, 1729844367, 1729844967, 1729845567, 1729846167, 1729846767, 1729847367, 1729847967, 1729848567, 1729849167, 1729849767, 1729850367, 1729850967, 1729851567, 1729852167, 1729852767, 1729853367, 1729853967, 1729854567, 1729855167, 1729855767, 1729856367, 1729856967, 1729857567, 1729858167, 1729858767, 1729859367, 1729859967, 1729860567, 1729861167, 1729861767, 1729862367, 1729862967, 1729863567, 1729864167, 1729864767, 1729865367, 1729865967, 1729866567, 1729867167, 1729867767, 1729868367, 1729868967, 1729869567, 1729870167, 1729870767, 1729871367, 1729871967, 1729872567, 1729873167, 1729873767, 1729874367, 1729874967, 1729875567, 1729876167, 1729876767, 1729877367, 1729877967, 1729878567, 1729879167, 1729879767, 1729880367, 1729880967, 1729881567, 1729882167, 1729882767, 1729883367, 1729883967, 1729884567, 1729885167, 1729885767, 1729886367, 1729886967, 1729887567, 1729888167, 1729888767, 1729889367, 1729889967, 1729890567, 1729891167, 1729891767, 1729892367, 1729892967, 1729893567, 1729894167, 1729894767, 1729895367, 1729895967, 1729896567, 1729897167, 1729897767, 1729898367, 1729898967, 1729899567, 1729900167, 1729900767, 1729901367, 1729901967, 1729902567, 1729903167, 1729903767, 1729904367, 1729904967, 1729905567, 1729906167, 1729906767, 1729907367, 1729907967, 1729908567, 1729909167, 1729909767, 1729910367, 1729910967, 1729911567, 1729912167, 1729912767, 1729913367, 1729913967, 1729914567, 1729915167, 1729915767, 1729916367, 1729916967, 1729917567, 1729918167, 1729918767, 1729919367, 1729919967, 1729920567, 1729921167, 1729921767, 1729922367, 1729922967, 1729923567, 1729924167, 1729924767, 1729925367, 1729925967, 1729926567, 1729927167, 1729927767, 1729928367, 1729928967, 1729929567, 1729930167, 1729930767, 1729931367, 1729931967, 1729932567, 1729933167, 1729933767, 1729934367, 1729934967, 1729935567, 1729936167, 1729936767, 1729937367, 1729937967, 1729938567, 1729939167, 1729939767, 1729940367, 1729940967, 1729941567, 1729942167, 1729942767, 1729943367, 1729943967, 1729944567, 1729945167, 1729945767, 1729946367, 1729946967, 1729947567, 1729948167, 1729948767, 1729949367, 1729949967, 1729950567, 1729951167, 1729951767, 1729952367, 1729952967, 1729953567, 1729954167, 1729954767, 1729955367, 1729955967, 1729956567, 1729957167, 1729957767, 1729958367, 1729958967, 1729959567, 1729960167, 1729960767, 1729961367, 1729961967, 1729962567, 1729963167, 1729963767, 1729964367, 1729964967, 1729965567, 1729966167, 1729966767, 1729967367, 1729967967, 1729968567, 1729969167, 1729969767, 1729970367, 1729970967, 1729971567, 1729972167, 1729972767, 1729973367, 1729973967, 1729974567, 1729975167, 1729975767, 1729976367, 1729976967, 1729977567, 1729978167, 1729978767, 1729979367, 1729979967, 1729980567, 1729981167, 1729981767, 1729982367, 1729982967, 1729983567, 1729984167, 1729984767, 1729985367, 1729985967, 1729986567, 1729987167, 1729987767, 1729988367, 1729988967, 1729989567, 1729990167, 1729990767, 1729991367, 1729991967, 1729992567, 1729993167, 1729993767, 1729994367, 1729994967, 1729995567, 1729996167, 1729996767, 1729997367, 1729997967, 1729998567, 1729999167, 1729999767, 1730000367, 1730000967, 1730001567, 1730002167, 1730002767, 1730003367, 1730003967, 1730004567, 1730005167, 1730005767, 1730006367, 1730006967, 1730007567, 1730008167, 1730008767, 1730009367, 1730009967, 1730010567, 1730011167, 1730011767, 1730012367, 1730012967, 1730013567, 1730014167, 1730014767, 1730015367, 1730015967, 1730016567, 1730017167, 1730017767, 1730018367, 1730018967, 1730019567, 1730020167, 1730020767, 1730021367, 1730021967, 1730022567, 1730023167, 1730023767, 1730024367, 1730024367, ]; static EXPECTED: &[f64] = &[ 0.48566585406661034, 0.4869289919734001, 0.4877674840390682, 0.48818453401327133, 0.4881950505077839, 0.48782483115792274, 0.4871099852025509, 0.4860953241586685, 0.4848331846296787, 0.4833817593753338, 0.4818028584122658, 0.48016058653593063, 0.47851877100765705, 0.4769394136965275, 0.4754804726690054, 0.4741945303976536, 0.4731266666203737, 0.47231375426054, 0.4717830251902342, 0.47155135683715343, 0.47162521071732044, 0.47200000286102295, 0.47266104258596897, 0.47358357161283493, 0.4747340139001608, 0.47607117146253586, 0.47754736989736557, 0.47911044023931026, 0.4807051792740822, 0.48227544873952866, 0.48376576602458954, 0.4851234555244446, 0.48630012199282646, 0.48725324496626854, 0.4879477545619011, 0.48835688829421997, 0.488463394343853, 0.488259669393301, 0.48774827271699905, 0.4869418404996395, 0.48586221039295197, 0.48454030603170395, 0.4830145165324211, 0.481329757720232, 0.4795356746762991, 0.47768524661660194, 0.47583273239433765, 0.4740318339318037, 0.4723340142518282, 0.47078644298017025, 0.46943066641688347, 0.46830072067677975, 0.4674222096800804, 0.46681104227900505, 0.46647292748093605, 0.46640303172171116, 0.46658569388091564, 0.46699508279561996, 0.467595599591732, 0.4683431014418602, 0.469185933470726, 0.4700667839497328, 0.4709241967648268, 0.47169447876513004, 0.4723140522837639, 0.472720954567194, 0.4728575311601162, 0.47267183288931847, 0.47211974300444126, 0.4711665976792574, 0.46978825330734253, 0.4679724723100662, 0.4657193757593632, 0.46304203290492296, 0.4599661733955145, 0.4565301528200507, 0.4527837517671287, 0.44878739801060874, 0.444610589183867, 0.44033004995435476, 0.43602808844298124, 0.4317900352180004, 0.4277023281902075, 0.42384994216263294, 0.4203142262995243, 0.4171707406640053, 0.4144868776202202, 0.4123203307390213, 0.4107171632349491, 0.4097108952701092, 0.40932099148631096, 0.409552875906229, 0.41039736568927765, 0.4118308871984482, 0.4138164073228836, 0.41630400344729424, 0.41923257149755955, 0.4225312229245901, 0.4261213969439268, 0.4299190156161785, 0.43383653555065393, 0.43778563663363457, 0.441679360345006, 0.4454346795100719, 0.4489744657767005, 0.452229889575392, 0.45514179300516844, 0.45766250882297754, 0.4597570616751909, 0.46140354685485363, 0.46259419061243534, 0.46333478949964046, 0.46364472806453705, 0.4635558994486928, 0.4631119277328253, 0.4623664356768131, 0.46138134226202965, 0.46022508200258017, 0.4589701984077692, 0.457691497169435, 0.456463192589581, 0.4553572842851281, 0.45444097789004445, 0.4537747115828097, 0.4534106692299247, 0.4533908343873918, 0.4537461451254785, 0.4544953494332731, 0.45564468763768673, 0.45718780625611544, 0.4591057412326336, 0.4613678874447942, 0.4639326725155115, 0.46674924716353416, 0.4697584956884384, 0.4728954825550318, 0.4760908745229244, 0.4792733434587717, 0.4823717325925827, 0.48531673848629, 0.4880435988306999, 0.49049340188503265, 0.49261509254574776, 0.49436695873737335, 0.49571747705340385, 0.4966465048491955, 0.49714548513293266, 0.4972178116440773, 0.49687833711504936, 0.4961531274020672, 0.49507826194167137, 0.4936986342072487, 0.4920668303966522, 0.49024083837866783, 0.4882828891277313, 0.4862569496035576, 0.48422709479928017, 0.4822553023695946, 0.4803997315466404, 0.47871300019323826, 0.47724038548767567, 0.4760188087821007, 0.4750755149871111, 0.47442773915827274, 0.47408171743154526, 0.4740332793444395, 0.4742677006870508, 0.4747603312134743, 0.4754778351634741, 0.47637894935905933, 0.4774162694811821, 0.4785376228392124, 0.47968799248337746, 0.48081138730049133, 0.481852438300848, 0.4827585779130459, 0.4834814667701721, 0.48397883772850037, 0.4842155873775482, 0.484165258705616, 0.4838106110692024, 0.4831441715359688, 0.4821687787771225, 0.48089689016342163, 0.4793508108705282, 0.477561354637146, 0.47556718438863754, 0.47341321036219597, 0.4711493756622076, 0.4688287079334259, 0.46650554053485394, 0.4642338268458843, 0.462065014988184, 0.46004661079496145, 0.45822009164839983, 0.4566197441890836, 0.4552712766453624, 0.4541907040402293, 0.4533839854411781, 0.45284624258056283, 0.45256209652870893, 0.45250573428347707, 0.4526417450979352, 0.4529261542484164, 0.4533074335195124, 0.4537283810786903, 0.45412757946178317, 0.45444170851260424, 0.4546069912612438, 0.45456192269921303, 0.4542487468570471, 0.4536157283000648, 0.452618972864002, 0.4512237636372447, 0.4494062371086329, 0.4471541615203023, 0.4444679068401456, 0.44136051554232836, 0.43785802368074656, 0.4339987887069583, 0.4298327509313822, 0.4254204835742712, 0.4208314884454012, 0.4161428213119507, 0.41143669933080673, 0.40679866075515747, 0.40231532230973244, 0.39807164669036865, 0.3941492587327957, 0.39062364771962166, 0.38756246119737625, 0.3850233629345894, 0.3830527067184448, 0.38168396055698395, 0.380936823785305, 0.3808167651295662, 0.38131462037563324, 0.3824071064591408, 0.38405710458755493, 0.3862149007618427, 0.38881945982575417, 0.3917999565601349, 0.39507804811000824, 0.3985695615410805, 0.40218720585107803, 0.4058426208794117, 0.4094490520656109, 0.4129234217107296, 0.4161888509988785, 0.419176472350955, 0.42182721570134163, 0.4240936357527971, 0.4259405340999365, 0.42734640650451183, 0.4283033162355423, 0.42881721444427967, 0.4289075843989849, 0.4286063853651285, 0.42795727401971817, 0.4270138759166002, 0.42583828791975975, 0.42449885234236717, 0.42306840419769287, 0.4216214753687382, 0.42023262567818165, 0.4189737867563963, 0.4179121218621731, 0.4171083178371191, 0.41661439277231693, 0.41647252067923546, 0.41671355068683624, 0.4173563290387392, 0.4184072185307741, 0.4198597129434347, 0.42169502936303616, 0.4238824360072613, 0.4263806212693453, 0.4291384294629097, 0.43209705874323845, 0.43519144505262375, 0.4383522653952241, 0.4415083513595164, 0.44458825211040676, 0.4475230085590738, 0.45024761906825006, 0.4527032570913434, 0.45483896415680647, 0.4566128412261605, 0.45799350924789906, 0.4589606998488307, 0.45950596034526825, 0.4596325270831585, 0.4593554474413395, 0.45870058331638575, 0.45770402904599905, 0.4564107805490494, 0.45487314835190773, 0.45314939972013235, 0.4513015004340559, 0.44939352420624346, 0.44748940347017196, 0.4456511327298358, 0.44393692212179303, 0.44239917676895857, 0.4410832724533975, 0.4400259396061301, 0.439254617318511, 0.4387861546128988, 0.4386270409449935, 0.43877293076366186, 0.43920894991606474, 0.4399106064811349, 0.4408442913554609, 0.4419688256457448, 0.44323662482202053, 0.4445955096744001, 0.44599047861993313, 0.44736529395868274, 0.4486646712757647, 0.4498358345590532, 0.450830495916307, 0.45160615537315607, 0.4521278450265527, 0.4523688433691859, 0.45231182454153895, 0.45194944087415934, 0.4512841096147895, 0.4503285337705165, 0.44910468463785946, 0.44764343480346724, 0.4459832051070407, 0.4441689820960164, 0.44225052651017904, 0.4402807089500129, 0.43831387627869844, 0.43640373554080725, 0.43460183404386044, 0.4329553674906492, 0.4315058272331953, 0.43028739280998707, 0.4293255377560854, 0.42863638140261173, 0.4282255582511425, 0.42808822914958, 0.42820877954363823, 0.4285613428801298, 0.4291104804724455, 0.42981192097067833, 0.43061416782438755, 0.43145974911749363, 0.4322873679921031, 0.4330332512035966, 0.4336338313296437, 0.4340272396802902, 0.43415568582713604, 0.43396740034222603, 0.4334181835874915, 0.4324733428657055, 0.43110876716673374, 0.42931222170591354, 0.42708379216492176, 0.42443657852709293, 0.42139639519155025, 0.4180014096200466, 0.4143015518784523, 0.41035712510347366, 0.4062376990914345, 0.40201999247074127, 0.3977861851453781, 0.3936217986047268, 0.3896130211651325, 0.38584501668810844, 0.3823990449309349, 0.37935060262680054, 0.376767061650753, 0.3747061863541603, 0.3732139393687248, 0.37232378125190735, 0.3720553368330002, 0.3724137917160988, 0.3733900710940361, 0.3749605119228363, 0.3770880699157715, 0.37972278892993927, 0.3828034773468971, 0.38625937327742577, 0.3900117687880993, 0.3939765393733978, 0.3980661369860172, 0.402192197740078, 0.4062676951289177, 0.410209596157074, 0.41394082456827164, 0.41739229299128056, 0.4205050449818373, 0.4232311900705099, 0.42553573846817017, 0.42739682644605637, 0.42880649119615555, 0.42977068573236465, 0.4303085058927536, 0.43045203760266304, 0.43024467676877975, 0.42974005080759525, 0.42899999767541885, 0.42809299007058144, 0.4270914252847433, 0.426070025190711, 0.4251031279563904, 0.42426246777176857, 0.42361531034111977, 0.4232220370322466, 0.42313471250236034, 0.4233952909708023, 0.4240345899015665, 0.4250714424997568, 0.42651194147765636, 0.4283496364951134, 0.430565532296896, 0.4331289604306221, 0.43599828239530325, 0.4391225236468017, 0.442442680709064, 0.4458935134462081, 0.4494058610871434, 0.45290814572945237, 0.456329170614481, 0.45959965977817774, 0.46265468932688236, 0.4654352702200413, 0.467890378087759, 0.4699781332165003, 0.4716669712215662, 0.4729366786777973, 0.47377859614789486, 0.4741961099207401, 0.4742039926350117, 0.47382817789912224, 0.4731047060340643, 0.4720784015953541, 0.47080172970891, 0.46933270804584026, 0.4677334036678076, 0.4660677295178175, 0.4643996339291334, 0.46279116719961166, 0.46130031906068325, 0.45997961331158876, 0.45887424051761627, 0.45802114252001047, 0.4574474021792412, 0.45717013999819756, 0.4571957029402256, 0.45751963555812836, 0.4581272527575493, 0.4589938363060355, 0.4600859126076102, 0.4613621709868312, 0.4627751335501671, 0.4642725270241499, 0.46579934284090996, 0.4672994241118431, 0.4687173720449209, 0.4700005315244198, 0.4711004588752985, 0.4719748757779598, 0.472588611766696, 0.47291504219174385, 0.47293697111308575, 0.4726467728614807, 0.472047196701169, 0.47115073539316654, 0.4699795227497816, 0.4685643073171377, 0.4669437129050493, 0.46516266092658043, 0.4632708840072155, 0.46132139675319195, 0.4593684347346425, 0.4574659438803792, 0.4556653033941984, 0.45401386450976133, 0.4525531576946378, 0.451317282859236, 0.4503319738432765, 0.44961318001151085, 0.4491667391266674, 0.4489877375308424, 0.44906073645688593, 0.4493598276749253, 0.44984963117167354, 0.4504860215820372, 0.45121741155162454, 0.4519866299815476, 0.45273211039602757, 0.45339047629386187, 0.45389798376709223, 0.45419292338192463, 0.45421766210347414, 0.45392031967639923, 0.453256921377033, 0.45219272654503584, 0.4507038197480142, 0.4487778879702091, 0.4464152832515538, 0.4436290869489312, 0.44044513860717416, 0.4369018077850342, 0.43304895889014006, 0.4289471786469221, 0.4246659278869629, 0.4202820956707001, 0.41587806679308414, 0.41153915598988533, 0.4073519743978977, 0.40340153872966766, 0.3997693359851837, 0.3965308181941509, 0.39375369995832443, 0.3914954997599125, 0.38980257883667946, 0.38870837539434433, 0.3882325142621994, 0.3883805349469185, 0.38914313167333603, 0.390497051179409, 0.39240512996912, 0.39481760188937187, 0.39767346158623695, 0.4009018614888191, 0.40442436933517456, 0.408156830817461, 0.41201192140579224, 0.41590123623609543, 0.4197380617260933, 0.4234392922371626, 0.42692795023322105, 0.4301352743059397, 0.4330020807683468, 0.4354809122160077, 0.4375366484746337, 0.43914768332615495, 0.44030609680339694, 0.4410178321413696, 0.44130236050114036, 0.4411916360259056, 0.4407293079420924, 0.43996896408498287, 0.4389727865345776, 0.4378090240061283, 0.43655048310756683, 0.43527186568826437, 0.4340475294739008, 0.4329495206475258, 0.43204500433057547, 0.43139461148530245, 0.4310503927990794, 0.43105446361005306, 0.43143783416599035, 0.4322192622348666, 0.43340509105473757, 0.4349888525903225, 0.436951769515872, 0.4392631221562624, 0.44188155187293887, 0.4447560926200822, 0.44782774802297354, 0.4510316136293113, 0.4542982950806618, 0.4575566379353404, 0.46073530055582523, 0.46376524679362774, 0.4665814973413944, 0.4691253323107958, 0.47134572453796864, 0.4732008259743452, 0.47465928085148335, 0.4757008086889982, 0.47631704434752464, 0.47651124745607376, 0.47629839926958084, 0.4757045079022646, 0.47476557455956936, 0.47352671064436436, 0.47204025462269783, 0.4703644458204508, 0.4685613065958023, 0.4666948802769184, 0.4648292791098356, 0.4630264434963465, 0.4613445792347193, 0.4598361300304532, 0.4585465909913182, 0.4575126366689801, 0.45676174107939005, 0.45631087850779295, 0.45616645459085703, 0.45632424764335155, 0.4567694216966629, 0.45747746154665947, 0.45841482374817133, 0.4595403717830777, 0.4608065253123641, 0.4621612373739481, 0.4635494500398636, 0.46491500176489353, 0.46620264649391174, 0.46735961735248566, 0.4683377258479595, 0.46909451857209206, 0.4695949424058199, 0.46981253288686275, 0.4697298239916563, 0.4693395420908928, 0.46864423528313637, 0.46765656024217606, 0.46639852970838547, 0.4649010933935642, 0.46320280246436596, 0.4613485373556614, 0.45938816480338573, 0.4573745662346482, 0.4553621970117092, 0.4534048056229949, 0.45155389327555895, 0.4498568228445947, 0.44835500698536634, 0.44708275818265975, 0.4460656016599387, 0.4453196337817644, 0.44485056959092617, 0.4446536109317094, 0.44471316022099927, 0.4450034822220914, 0.4454890946508385, 0.4461257698130794, 0.44686214497778565, 0.4476407039910555, 0.4484001910313964, 0.44907697080634534, 0.44960736529901624, 0.4499297612346709, 0.44998623337596655, 0.4497251119464636, 0.4491022424772382, 0.4480829741805792, 0.4466432082699612, 0.4447708396182861, 0.4424659109208733, 0.4397415886633098, 0.43662373162806034, 0.4331505196169019, 0.4293719809502363, 0.42534845136106014, 0.4211494941264391, 0.4168518893420696, 0.4125378578901291, 0.4082929268479347, 0.4042034223675728, 0.40035445243120193, 0.3968273289501667, 0.3936976045370102, 0.3910326845943928, 0.38889030367136, 0.38731664046645164, 0.386344987899065, 0.38599513471126556, 0.38627223670482635, 0.3871672488749027, 0.3886566124856472, 0.3907031789422035, 0.3932572044432163, 0.396257434040308, 0.39963310211896896, 0.4033055789768696, 0.4071907550096512, 0.4112010821700096, 0.4152482636272907, 0.4192453809082508, 0.4231092818081379, 0.42676297202706337, 0.4301374005153775, 0.43317359685897827, 0.43582379166036844, 0.4380529234185815, 0.4398391875438392, 0.4411746375262737, 0.44206522265449166, 0.4425301495939493, 0.4426014351192862, 0.4423224925994873, 0.44174706120975316, 0.44093690859153867, 0.4399604918435216, 0.438890409655869, 0.4378011878579855, 0.43676730059087276, 0.43586049787700176, 0.4351479997858405, 0.43469023145735264, 0.4345392705872655, 0.43473705276846886, 0.43531449884176254, 0.4362903628498316, 0.43767077615484595, 0.43944930052384734, 0.44160691811703146, 0.44411302771186456, 0.44692599889822304, 0.44999477500095963, 0.4532604767009616, 0.4566577821969986, 0.46011753287166357, 0.4635682459920645, 0.4669386353343725, 0.4701594337821007, 0.47316574305295944, 0.4758986681699753, 0.4783070310950279, 0.48034902289509773, 0.48199303820729256, 0.483218926936388, 0.4840180277824402, 0.4843936264514923, 0.48436062410473824, 0.4839448221027851, 0.4831823520362377, 0.48211802542209625, 0.4808042496442795, 0.47929906100034714, 0.4776644594967365, 0.47596449963748455, 0.47426304034888744, 0.4726220816373825, 0.47109960950911045, 0.4697482269257307, 0.46861302480101585, 0.4677309300750494, 0.4671291094273329, 0.466824546456337, 0.46682366728782654, 0.4671220052987337, 0.46770479902625084, 0.4685473460704088, 0.46961615793406963, 0.4708698783069849, 0.47226104885339737, 0.47373746521770954, 0.47524395026266575, 0.47672439739108086, 0.47812335193157196, 0.47938820347189903, 0.4804705008864403, 0.481327872723341, 0.4819251634180546, 0.48223573341965675, 0.48224233090877533, 0.4819374047219753, 0.48132359609007835, 0.48041336983442307, 0.4792289324104786, 0.4778009243309498, 0.4761679731309414, 0.4743749778717756, 0.4724716227501631, 0.4705109875649214, 0.46854719892144203, 0.4666342046111822, 0.46482336334884167, 0.4631619770079851, 0.4616916049271822, 0.46044632978737354, 0.45945179741829634, 0.4587239669635892, 0.4582686508074403, 0.4580808822065592, 0.45814522728323936, 0.4584358436986804, 0.4589171474799514, 0.4595451382920146, 0.4602681137621403, 0.4610288795083761, 0.4617659356445074, 0.4624157305806875, 0.4629147034138441, 0.4632009416818619, 0.46321685053408146, 0.4629105255007744, 0.4622379634529352, 0.46116437017917633, 0.4596658395603299, 0.4577301237732172, 0.4553573979064822, 0.45256078243255615, 0.4493660619482398, 0.44581164384726435, 0.44194736634381115, 0.4378337380476296, 0.43354022316634655, 0.429143687710166, 0.42472646571695805, 0.4203739408403635, 0.4161726087331772, 0.4122074954211712, 0.4085600674152374, 0.40530575811862946, 0.40251222252845764, 0.4002370573580265, 0.39852647855877876, 0.39741402491927147, 0.39691921696066856, 0.39704756438732147, 0.3977898471057415, 0.3991226926445961, 0.4010089188814163, 0.4033988304436207, 0.4062313213944435, 0.40943555533885956, 0.41293308325111866, 0.41663970053195953, 0.42046812921762466, 0.4243299514055252, 0.42813834734261036, 0.4318103129044175, 0.43526877369731665, 0.43844495015218854, 0.44127973378635943, 0.44372557059978135, 0.4457473545335233, 0.44732340914197266, 0.4484459515661001, 0.44912082608789206, 0.44936746498569846, 0.4492178112268448, 0.4487155945971608, 0.4479143063072115, 0.44687609071843326, 0.4456693675601855, 0.4443667281011585, 0.44304298912175, 0.4417725009843707, 0.44062724616378546, 0.4396744132973254, 0.43897457234561443, 0.43857991928234696, 0.43853247724473476, 0.438863224349916, 0.4395909486338496, 0.44072198984213173, 0.4422498500207439, 0.4441558140970301, 0.4464091630652547, 0.4489684496074915, 0.4517828291282058, 0.4547932194545865, 0.4579347185790539, 0.46113802678883076, 0.4643319044262171, 0.46744501404464245, 0.47040835581719875, 0.47315705195069313, 0.475632231682539, 0.4777829386293888, 0.4795673042535782, 0.48095404356718063, 0.4819228835403919, 0.4824654087424278, 0.4825849160552025, 0.4822963774204254, 0.48162586241960526, 0.48060939460992813, 0.47929203137755394, 0.47772616147994995, 0.4759700298309326, 0.47408564761281013, 0.4721371717751026, 0.4701886307448149, 0.4683019816875458, 0.46653554402291775, 0.4649416822940111, 0.4635659158229828, 0.46244502253830433, 0.4616063516587019, 0.46106707118451595, 0.4608335215598345, 0.4609014708548784, 0.4612561333924532, 0.46187301725149155, 0.46271857246756554, 0.4637517109513283, 0.4649249706417322, 0.46618617326021194, 0.4674803540110588, 0.468751335516572, 0.46994396299123764, 0.4710054937750101, 0.47188764810562134, 0.4725482016801834, 0.4729519560933113, 0.47307249903678894, 0.4728924836963415, 0.4724045731127262, 0.4716113768517971, 0.4705255776643753, 0.46916921995580196, 0.4675732795149088, 0.4657763373106718, 0.4638232756406069, 0.4617640804499388, 0.45965157449245453, 0.4575402718037367, 0.4554839516058564, 0.4535341216251254, 0.45173822902143, 0.4501377223059535, 0.4487668848596513, 0.4476513038389385, 0.44680710905231535, 0.4462400167249143, 0.4459453201852739, 0.4459074556361884, 0.44610066059976816, 0.44648951618000865, 0.44702982739545405, 0.4476702339015901, 0.4483533427119255, 0.4490178423002362, 0.44960015872493386, 0.4500366491265595, 0.4502657041884959, 0.4502295167185366, 0.449876366648823, 0.4491621288470924, 0.448052276391536, 0.44652265473268926, 0.4445611606352031, 0.44216804986353964, 0.4393563116900623, 0.4361519571393728, 0.43259319942444563, 0.4287300379946828, 0.42462287470698357, 0.42034123837947845, 0.41596209816634655, 0.411567609757185, 0.4072433076798916, 0.40307557582855225, 0.399149551987648, 0.3955465517938137, 0.3923421837389469, 0.38960398361086845, 0.38738952577114105, 0.38574517145752907, 0.3847041465342045, 0.3842862881720066, 0.38449684903025627, 0.38532667234539986, 0.3867524042725563, 0.3887368366122246, 0.391230221837759, 0.3941713571548462, 0.3974895067512989, 0.4011060371994972, 0.40493692085146904, 0.4088946357369423, 0.41289085149765015, 0.4168386999517679, 0.4206550233066082, 0.4242629110813141, 0.42759333178400993, 0.4305872796103358, 0.4331970326602459, 0.43538755364716053, 0.4371370240114629, 0.4384376099333167, 0.4392951864283532, 0.43972898041829467, 0.4397711134515703, 0.4394649276509881, 0.43886417942121625, 0.438030737452209, 0.43703295895829797, 0.4359435420483351, 0.43483702931553125, 0.43378784600645304, 0.43286778312176466, 0.43214407470077276, 0.43167712446302176, 0.43151905108243227, 0.4317118898034096, 0.43228641618043184, 0.43326145596802235, 0.43464311584830284, 0.4364250237122178, 0.43858816754072905, 0.4411018294049427, 0.44392459344817325, 0.44700522627681494, 0.4502848805859685, 0.453698324970901, 0.4571763128042221, 0.46064736135303974, 0.46404021233320236, 0.4672856852412224, 0.47031873278319836, 0.47308051586151123, 0.4755198210477829, 0.47759491950273514, 0.47927412018179893, 0.4805372580885887, 0.4813757501542568, 0.48179277032613754, 0.4818032868206501, 0.48143309727311134, 0.4807182513177395, 0.4797035902738571, 0.4784415103495121, 0.4769899956882, 0.4754111245274544, 0.47376885265111923, 0.47212700732052326, 0.4705476798117161, 0.469088738784194, 0.4678027667105198, 0.4667349327355623, 0.4659219905734062, 0.4653912913054228, 0.46515962295234203, 0.46523344703018665, 0.46560826897621155, 0.46626930870115757, 0.46719180792570114, 0.46834233961999416, 0.46967943757772446, 0.47115563601255417, 0.47271870635449886, 0.4743134155869484, 0.47588368505239487, 0.47737403213977814, 0.47873175144195557, 0.47990838810801506, 0.48086148127913475, 0.4815559908747673, 0.48196515440940857, 0.4820716604590416, 0.4818679355084896, 0.48135659843683243, 0.4805500768125057, 0.47947047650814056, 0.47814857214689255, 0.4766227528452873, 0.4749380238354206, 0.4731439407914877, 0.47129354253411293, 0.46944099850952625, 0.4676400702446699, 0.4659422505646944, 0.46439470909535885, 0.46303893253207207, 0.46190898679196835, 0.461030475795269, 0.46041927859187126, 0.46008122339844704, 0.46001129783689976, 0.46019395999610424, 0.46060334891080856, 0.46120383590459824, 0.4619513377547264, 0.4627941995859146, 0.46367507986724377, 0.4645324628800154, 0.46530274488031864, 0.4659222885966301, 0.4663292206823826, 0.4664657972753048, 0.4662800692021847, 0.46572806872427464, 0.464774863794446, 0.4633965492248535, 0.4615807384252548, 0.4593276120722294, 0.4566502692177892, 0.4535744395107031, 0.4501384189352393, 0.4463920178823173, 0.4423956939281197, 0.4382188254967332, 0.43393831606954336, 0.42963635455816984, 0.425398301333189, 0.4213105943053961, 0.41745817847549915, 0.4139225222170353, 0.4107790067791939, 0.4080951139330864, 0.4059285968542099, 0.4043254293501377, 0.4033191315829754, 0.40292925760149956, 0.40316117182374, 0.40400560200214386, 0.4054391533136368, 0.4074246734380722, 0.40991226956248283, 0.41284083761274815, 0.4161394592374563, 0.4197296928614378, 0.4235272817313671, 0.42744480166584253, 0.43139390274882317, 0.4352875966578722, 0.4390429158229381, 0.4425827318918891, 0.4458381556905806, 0.44875005912035704, 0.45127077493816614, 0.45336529798805714, 0.45501181297004223, 0.45620245672762394, 0.4569430258125067, 0.45725299417972565, 0.4571641655638814, 0.45672022365033627, 0.4559747017920017, 0.45498957857489586, 0.4538333183154464, 0.4525784645229578, 0.45129973348230124, 0.4500714587047696, 0.4489655802026391, 0.44804921420291066, 0.4473829776979983, 0.4470189353451133, 0.4469991005025804, 0.4473544112406671, 0.4481035857461393, 0.4492529835551977, 0.45079607237130404, 0.4527140371501446, 0.4549761535599828, 0.4575409386307001, 0.4603574834764004, 0.463366761803627, 0.4665037486702204, 0.46969911083579063, 0.4728816691786051, 0.4759799689054489, 0.4789250046014786, 0.4816518649458885, 0.48410163819789886, 0.48622341826558113, 0.48797522485256195, 0.48932577297091484, 0.4902547709643841, 0.4907537214457989, 0.4908260479569435, 0.49048660323023796, 0.48976142331957817, 0.48868652805685997, 0.48730695992708206, 0.48567506670951843, 0.48384910449385643, 0.4818911552429199, 0.4798652157187462, 0.47783536091446877, 0.4758635386824608, 0.4740080274641514, 0.47232126630842686, 0.4708486218005419, 0.4696270748972893, 0.4686837811022997, 0.46803597547113895, 0.46768998354673386, 0.4676415752619505, 0.46787593699991703, 0.4683685973286629, 0.4690861012786627, 0.46998721547424793, 0.4710245355963707, 0.47214585915207863, 0.47329628840088844, 0.47441965341567993, 0.475460734218359, 0.4763668440282345, 0.47708970308303833, 0.4775870740413666, 0.4778238534927368, 0.477773554623127, 0.477418877184391, 0.47675249725580215, 0.4757770150899887, 0.47450515627861023, 0.4729590769857168, 0.4711695909500122, 0.46917545050382614, 0.46702147647738457, 0.4647576715797186, 0.4624369740486145, 0.4601138364523649, 0.45784206315875053, 0.4556732811033726, 0.45365487691015005, 0.45182835776358843, 0.45022804010659456, 0.4488795129582286, 0.4477989999577403, 0.4469922515563667, 0.44645450869575143, 0.44617036264389753, 0.4461139705963433, 0.4462500410154462, 0.446534420363605, 0.4469157294370234, 0.4473366471938789, 0.44773584557697177, 0.44804994482547045, 0.4482152573764324, 0.4481701888144016, 0.4478569831699133, 0.4472240540198982, 0.4462272389791906, 0.4448320297524333, 0.4430145032238215, 0.4407623978331685, 0.4380761431530118, 0.43496878165751696, 0.43146631959825754, 0.4276070548221469, 0.42344104684889317, 0.4190287198871374, 0.4144397545605898, 0.4097510874271393, 0.40504496544599533, 0.40040698647499084, 0.39592355862259865, 0.39167994260787964, 0.3877575248479843, 0.38423188403248787, 0.38117072731256485, 0.378631629049778, 0.3766610026359558, 0.37529222667217255, 0.374545119702816, 0.3744250014424324, 0.3749229460954666, 0.3760153725743294, 0.37766537070274353, 0.3798231966793537, 0.3824276961386204, 0.38540828227996826, 0.38868631422519684, 0.39217785745859146, 0.39579547196626663, 0.3994508571922779, 0.4030572883784771, 0.4065316878259182, 0.40979714691638947, 0.4127847384661436, 0.415435541421175, 0.41770187206566334, 0.4195488002151251, 0.42095467261970043, 0.4219115525484085, 0.42242554016411304, 0.4225158505141735, 0.4222146812826395, 0.42156554013490677, 0.42062211222946644, 0.41944655403494835, 0.41810711845755577, 0.4166766405105591, 0.4152297414839268, 0.41384092159569263, 0.4125820230692625, 0.4115203879773617, 0.4107165839523077, 0.41022265888750553, 0.41008078679442406, 0.41032178699970245, 0.4109646249562502, 0.4120154846459627, 0.4134680088609457, 0.41530329547822475, 0.4174907021224499, 0.4199888575822115, 0.4227466955780983, 0.42570535466074944, 0.42879971116781235, 0.43196059111505747, 0.4351165876723826, 0.43819651822559536, 0.4411312746742624, 0.44385585538111627, 0.4463115828111768, 0.44844723027199507, 0.4502211371436715, 0.45160177536308765, 0.4525689957663417, 0.45311419665813446, 0.4532407931983471, 0.4529637135565281, 0.45230884943157434, 0.45131232496351004, 0.4500190168619156, 0.4484814442694187, 0.44675766583532095, 0.4449097665492445, 0.44300179032143205, 0.4410976397830382, 0.4392594286473468, 0.43754518823698163, 0.43600747268646955, 0.4346915385685861, 0.4336342057213187, 0.4328628536313772, 0.4323944207280874, 0.4322353368625045, 0.4323811670765281, 0.4328172756358981, 0.4335188725963235, 0.4344525574706495, 0.4355770917609334, 0.43684486113488674, 0.4382038055919111, 0.4395987447351217, 0.44097358987619373, 0.4422729373909533, 0.4434440708719194, 0.4444387322291732, 0.44521442148834467, 0.4457361111417413, 0.4459771094843745, 0.44592015026137233, 0.44555767718702555, 0.4448923757299781, 0.4439367998857051, 0.4427129209507257, 0.44125170091865584, 0.4395914712222293, 0.4377772780135274, 0.43585879262536764, 0.43388894526287913, 0.43192211259156466, 0.43001200165599585, 0.42821010015904903, 0.4265636336058378, 0.4251141231507063, 0.4238956291228533, 0.4229338336735964, 0.42224464751780033, 0.4218338243663311, 0.4216964952647686, 0.42181701585650444, 0.4221696387976408, 0.4227187465876341, 0.4234202168881893, 0.42422243393957615, 0.42506801523268223, 0.4258956043049693, 0.4266415173187852, 0.4272420974448323, 0.42763547599315643, 0.4277640115469694, 0.4275756664574146, 0.4270264795050025, 0.4260816089808941, 0.42471700347959995, 0.42292045801877975, 0.42069205828011036, 0.4180448744446039, 0.41500466130673885, 0.4116097055375576, 0.4079097881913185, 0.40396539121866226, 0.3998459652066231, 0.39562825858592987, 0.3913945108652115, 0.387230034917593, 0.3832213170826435, 0.37945328280329704, 0.3760072812438011, 0.37295886874198914, 0.3703753277659416, 0.3683144226670265, 0.3668222054839134, 0.36593207716941833, 0.3656635731458664, 0.3660220578312874, 0.3669983074069023, 0.3685687780380249, 0.3706963360309601, 0.3733310252428055, 0.3764118030667305, 0.37986763939261436, 0.3836200647056103, 0.3875848054885864, 0.39167437329888344, 0.3958004340529442, 0.3998759612441063, 0.40381789207458496, 0.40754909068346024, 0.41100061871111393, 0.4141132812947035, 0.4168394561856985, 0.41914400458335876, 0.4210050627589226, 0.4224148169159889, 0.42337892204523087, 0.4239168018102646, 0.42406030371785164, 0.42385297268629074, 0.42334831692278385, 0.42260826379060745, 0.42170122638344765, 0.4206996913999319, 0.419678321108222, 0.4187113642692566, 0.41787079349160194, 0.41722357645630836, 0.4168303031474352, 0.41674297861754894, 0.4170035272836685, 0.4176428858190775, 0.4186797086149454, 0.42012023739516735, 0.42195790261030197, 0.4241737686097622, 0.4267371967434883, 0.42960654851049185, 0.4327308195643127, 0.4360509468242526, 0.43950183916604146, 0.44301409740000963, 0.44651641184464097, 0.44993743672966957, 0.45320789609104395, 0.45626295544207096, 0.4590435363352299, 0.46149867400527, 0.4635863993316889, 0.4652752075344324, 0.46654491499066353, 0.46738686226308346, 0.4678043760359287, 0.46781225875020027, 0.4674364738166332, 0.4667129423469305, 0.4667129423469305, ]; criterion_group!(benches, fit, predict); criterion_main!(benches);