#![allow(missing_docs)] use augurs_prophet::{ cmdstan::CmdstanOptimizer, optimizer::OptimizeOpts, GrowthType, 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 { growth: GrowthType::Logistic, yearly_seasonality: SeasonalityOption::Manual(false), interval_width: 0.8.try_into().unwrap(), uncertainty_samples: 500, ..Default::default() }; let model = Prophet::new(opts, CmdstanOptimizer::new_embedded()); let training_data = TrainingData::new(TRAINING_DS.to_vec(), TRAINING_Y.to_vec()) .unwrap() .with_cap(vec![3.0; TRAINING_Y.len()]) .unwrap() .with_floor(vec![0.0; TRAINING_Y.len()]) .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 { growth: GrowthType::Logistic, yearly_seasonality: SeasonalityOption::Manual(false), interval_width: 0.8.try_into().unwrap(), uncertainty_samples: 500, ..Default::default() }; let mut model = Prophet::new(opts, CmdstanOptimizer::new_embedded()); let training_data = TrainingData::new(TRAINING_DS.to_vec(), TRAINING_Y.to_vec()) .unwrap() .with_cap(vec![3.0; TRAINING_Y.len()]) .unwrap() .with_floor(vec![0.0; TRAINING_Y.len()]) .unwrap(); model .fit( training_data, OptimizeOpts { seed: Some(100), ..Default::default() }, ) .unwrap(); let prediction_data = PredictionData::new(PREDICTION_DS.to_vec()) .with_cap(vec![3.0; PREDICTION_DS.len()]) .unwrap() .with_floor(vec![0.0; PREDICTION_DS.len()]) .unwrap(); 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.47725329706520403, 0.4761769137678949, 0.4748611838689265, 0.47336418264025293, 0.4717477207847421, 0.4700754089296751, 0.4684106847983118, 0.46681486426577473, 0.46534527644679113, 0.4640535400288895, 0.4629840334196378, 0.4621726049897245, 0.4616455619983022, 0.4614189679584968, 0.4614982684310348, 0.4618782549197896, 0.46254336593736145, 0.46346831376388825, 0.46461901527927735, 0.4659537957899576, 0.4674248263088545, 0.468979747554779, 0.4705634281748088, 0.47211980064540027, 0.4735937159751833, 0.4749327578833429, 0.47608895850639465, 0.4770203609224637, 0.47769237868223485, 0.4780789090195447, 0.47816316426767286, 0.47793819493962425, 0.4774070877396351, 0.4765828320753744, 0.4754878591771716, 0.47415326834738947, 0.47261776482461837, 0.47092634296703506, 0.4691287566522814, 0.46727782564387654, 0.4654276320795746, 0.463631664894338, 0.46194097188617694, 0.46040237915734844, 0.45905683581834106, 0.45793793816823447, 0.4570706821915361, 0.456470486305637, 0.45614251801491495, 0.4560813487961765, 0.4562709513823088, 0.456685042978321, 0.4572877671368705, 0.45803469638501737, 0.45887412754888335, 0.45974863240254815, 0.46059681802156455, 0.4613552443654328, 0.46196044129102615, 0.46235096367121997, 0.4624694215655627, 0.4622644226363765, 0.4616923661285258, 0.4607190317548864, 0.4593209125700468, 0.45748624827622747, 0.455215724084547, 0.4525228101131285, 0.44943372687882216, 0.44598703363540254, 0.4422328475262335, 0.43823171272447575, 0.4340531492451555, 0.4297739209303685, 0.42547607075452465, 0.4212447787618651, 0.41716610367778745, 0.4133246729255414, 0.409801387823926, 0.40667121055457767, 0.40400109754532915, 0.40184813984795087, 0.4002579653569273, 0.39926345026328763, 0.3988837782776594, 0.3991238761254703, 0.39997424291721023, 0.40141117956017863, 0.4033974127185046, 0.4058830963032584, 0.40880716246043647, 0.41209898378899346, 0.41568029941662227, 0.4194673498355706, 0.4233731592885572, 0.42730990023486237, 0.4311912719674668, 0.4349348251759083, 0.4384641657804317, 0.4417109750451226, 0.44461678838107, 0.447134482403197, 0.449229428427444, 0.4508802804343874, 0.45207937632163203, 0.45283274260006, 0.45315970438666986, 0.45309211407531824, 0.45267322324346276, 0.4519562327260864, 0.4510025651281387, 0.449879912039014, 0.44866011464150757, 0.44741694104848456, 0.446223826492886, 0.44515164325970924, 0.4442665660800775, 0.4436280955171175, 0.4432872969046639, 0.44328530567816604, 0.443652141757243, 0.44440586619983413, 0.4455521029659013, 0.4470839375979436, 0.4489821933047664, 0.45121607360446797, 0.4537441498092191, 0.4565156613534516, 0.45947208780462057, 0.4625489434231654, 0.46567773872758206, 0.4687880488421272, 0.4718096254622015, 0.47467448840638643, 0.4773189335961308, 0.47968539736667976, 0.4817241215309396, 0.4833945701293627, 0.4846665565476645, 0.4855210487606255, 0.4859506304483615, 0.4859596063282447, 0.48556375098430826, 0.4847897113653388, 0.4836740836535911, 0.4822621950659113, 0.4806066300067843, 0.4787655476291712, 0.4768008440147142, 0.4747762166391684, 0.47275519151986534, 0.4707991742451752, 0.4689655850374908, 0.46730613505554575, 0.46586529652048353, 0.4646790129243946, 0.4637736879314742, 0.46316548271396263, 0.4628599417156985, 0.4628519565193235, 0.4631260668799092, 0.46365708745506407, 0.46441103860640864, 0.4653463501925455, 0.4664152988213999, 0.46756563181343136, 0.4687423253945261, 0.4698894205631552, 0.47095187776174413, 0.47187739101885917, 0.47261810362378254, 0.4731321706184012, 0.4733851182907947, 0.4733509573540698, 0.4730130143250257, 0.47236445457245, 0.4714084802913959, 0.470158196979386, 0.46863615252054747, 0.4668735634010988, 0.46490925253161575, 0.46278833240142236, 0.460560675436393, 0.45827922032932417, 0.4559981684944795, 0.45377112845134054, 0.45164926785091547, 0.44967953288356055, 0.4479029929474489, 0.446353364782743, 0.44505576494039145, 0.44402573248673693, 0.4432685556206083, 0.4427789265222769, 0.44254093859876387, 0.44252842966228373, 0.44270566376743864, 0.4430283338005652, 0.44344485676731427, 0.4438979244030758, 0.44432626348939736, 0.4446665533974657, 0.4448554430666618, 0.44483160608314326, 0.4445377708149675, 0.44392266278949727, 0.4429427986378688, 0.441564074942011, 0.43976310107176236, 0.43752823245505684, 0.43486026940242045, 0.4317727964647286, 0.4282921478996937, 0.4244569959595021, 0.42031757001795045, 0.4159345256751184, 0.4113774935284324, 0.4067233471275361, 0.4020542382432997, 0.3974554547705191, 0.3930131623025259, 0.3888120941258122, 0.3849332563646943, 0.38145171493524394, 0.37843452888177576, 0.37593889072926895, 0.3740105286648846, 0.37268241796726964, 0.371973840190545, 0.37188981863255444, 0.37242094767448525, 0.37354362216127124, 0.3752206613312879, 0.3774023102787222, 0.380027590910904, 0.38302596414278256, 0.38631925593422944, 0.38982379210761003, 0.39345268070820083, 0.3971181764309695, 0.40073405922550004, 0.4042179588255985, 0.40749355856059233, 0.41049261544261006, 0.4131567389507054, 0.41543887805375546, 0.417304474694687, 0.4187322517291367, 0.41971461415117345, 0.4202576537745444, 0.4203807592010883, 0.4201158444726348, 0.4195062209578539, 0.41860514740638843, 0.41747410244510846, 0.41618083177229265, 0.41479722875145575, 0.4133971117292914, 0.4120539642117088, 0.41083870478096574, 0.4098175524715106, 0.40905005014605794, 0.4085873034184201, 0.40847048597307956, 0.4087296539336734, 0.40938290250782045, 0.4104358877386989, 0.411881725176414, 0.41370126595053297, 0.41586373940865023, 0.4183277405849715, 0.4210425305321623, 0.42394960831320205, 0.42698450556534207, 0.4300787480541378, 0.4331619240186334, 0.4361637961313904, 0.4390163930431699, 0.4416560173766963, 0.4440251100135426, 0.44607391517316036, 0.44776189715019654, 0.44905886744068096, 0.4499457899831078, 0.45041524227766766, 0.4504715207178855, 0.45013038942553846, 0.4494184827502671, 0.44837238214498365, 0.44703739796936914, 0.44546609564809453, 0.4437166132418396, 0.4418508236307115, 0.439932398985914, 0.43802483793211816, 0.4361895165800415, 0.43448382359836235, 0.432959436532639, 0.4316607919355795, 0.43062379559044117, 0.4298748114243355, 0.4294299588564753, 0.4292947385747857, 0.42946399641799765, 0.4299222244246683, 0.4306441875776683, 0.4315958546212859, 0.4327356018723237, 0.43401565048852386, 0.4353836904512154, 0.4367846387734431, 0.4381624753912606, 0.439462097848897, 0.4406311354664532, 0.4416216650316666, 0.44239177331542945, 0.4429069165856623, 0.4431410338101033, 0.443077378057167, 0.4427090395678711, 0.4420391437538534, 0.44108071769990304, 0.4398562292714031, 0.4383968133562133, 0.43674120971293967, 0.43493444615263505, 0.4330263089210199, 0.43106964906063483, 0.42911857889220145, 0.42722661642184956, 0.4254448374058457, 0.4238200947783032, 0.42239336335462685, 0.42119826399608246, 0.4202598161069521, 0.41959346036960976, 0.41920438539686145, 0.4190871826091888, 0.41922584351310704, 0.4195941029119251, 0.42015612077661724, 0.420867484866493, 0.4216765060526046, 0.4225257689588558, 0.42335389231557863, 0.42409744653551695, 0.42469297072663553, 0.42507902780645596, 0.4251982346723844, 0.4249992046135561, 0.42443834129140395, 0.4234814276214856, 0.4221049586497198, 0.4202971748527568, 0.4180587610039984, 0.41540318556789835, 0.41235666619846373, 0.4089577580674675, 0.40525657302816215, 0.40131364875650954, 0.3971984975539456, 0.3929878743534474, 0.38876381200810284, 0.38461147924428646, 0.38061692227087895, 0.37686475480557824, 0.3734358632645062, 0.37040519374491154, 0.36783968541204803, 0.365796410873246, 0.36432097841135347, 0.36344624344112275, 0.36319136773569805, 0.36356125493070873, 0.36454637990048866, 0.3661230181773456, 0.3682538699174601, 0.37088906139662425, 0.3739674960135642, 0.3774185165087437, 0.38116383104775325, 0.3851196480732322, 0.3891989586974169, 0.39331390116779963, 0.397378139511659, 0.4013091880949044, 0.40503061546694813, 0.4084740644963141, 0.411581031172342, 0.41430435167537016, 0.41660935589084114, 0.41847465538200523, 0.4198925446490366, 0.42086900584559667, 0.4214233187792198, 0.42158728959558295, 0.4214041226992905, 0.42092697083963404, 0.42021720763821385, 0.41934247481652553, 0.41837456281667507, 0.41738718815665543, 0.4164537336294946, 0.41564501825578853, 0.41502716268763057, 0.4146596126124387, 0.41459337770495286, 0.4148695369758881, 0.41551805316926677, 0.4165569294319974, 0.4179917310929094, 0.41981548436266075, 0.4220089524309681, 0.42454127812801357, 0.42737097142227065, 0.43044720977475326, 0.4337114101540819, 0.43709902362433967, 0.44054149692627625, 0.4439683408328869, 0.4473092421470729, 0.45049615525614145, 0.4534653101480139, 0.45615907672262235, 0.4585276298863606, 0.4605303663096324, 0.4621370315728846, 0.4633285254232997, 0.4640973629107422, 0.46444777973839363, 0.4643954811125681, 0.4639670442573893, 0.46319899530502473, 0.46213659111241023, 0.46083234543681184, 0.45934434651445616, 0.4577344192580657, 0.4560661897440026, 0.4544031123795082, 0.4528065209493877, 0.4513337636969797, 0.45003647965177707, 0.4489590687669094, 0.4481374021537882, 0.4475978109993019, 0.44735638392044413, 0.4474185927495809, 0.4477792564185096, 0.44842284201399757, 0.44932409152512903, 0.45044895266365076, 0.4517557826786029, 0.45319678562467086, 0.4547196363461879, 0.456269238690186, 0.4577895613899424, 0.45922549275586655, 0.4605246548370163, 0.461639119116431, 0.4625269690167474, 0.46315365941677084, 0.46349312984609276, 0.4635286358839353, 0.463253272223947, 0.46267017066702837, 0.46179236661692386, 0.46064233818113925, 0.45925123240173643, 0.4576578031016075, 0.4559070940479173, 0.45404890933352093, 0.45213611972221857, 0.4502228591221332, 0.4483626689800093, 0.4466066503345155, 0.4450016832308434, 0.4435887714089108, 0.4424015664579268, 0.4414651202934667, 0.4407949078835285, 0.4403961538784773, 0.4402634874766895, 0.4403809396840759, 0.44072228650717366, 0.441251730807372, 0.44192490490122216, 0.44269016586496823, 0.44349014615714744, 0.4442635139510614, 0.44494689068997834, 0.4454768680792694, 0.445792063178806, 0.44583514855050405, 0.4455547946482188, 0.44490746377459683, 0.44385899893976344, 0.4423859567131265, 0.44047664050029384, 0.43813179938111924, 0.43536496748268505, 0.4322024294467421, 0.4286828087396179, 0.42485628678216497, 0.4207834720618837, 0.41653394892088086, 0.41218454552075634, 0.4078173691082987, 0.4035176639419608, 0.3993715528704084, 0.39546372732453605, 0.39187515249034727, 0.3886808542502384, 0.38594785254068703, 0.3837333017049415, 0.38208289268610196, 0.38102956445579145, 0.38059256321142954, 0.3807768778465622, 0.3815730692968448, 0.382957499925476, 0.3848929574589895, 0.38732965644986794, 0.3902065892472202, 0.3934531881820298, 0.3969912516225402, 0.4007370787865059, 0.4046037521008836, 0.4085035016446004, 0.41235008374292254, 0.416061105508457, 0.419560228643547, 0.422779189544208, 0.42565957806832366, 0.42815432457509506, 0.43022885339923944, 0.43186187079210264, 0.43304576615165175, 0.43378661669811047, 0.43410379744447114, 0.4340292098465149, 0.43360615368838595, 0.43288787713624566, 0.4319358492305214, 0.43081780708007766, 0.4296056364511497, 0.42837314908654794, 0.42719382287244034, 0.4261385717576861, 0.4252736111246862, 0.4246584811583854, 0.42434428576860206, 0.4243721979024789, 0.42477227391134087, 0.4255626101868164, 0.42674886490806574, 0.4283241567096003, 0.4302693407452192, 0.4325536513196167, 0.43513568935725216, 0.4379647227159819, 0.44098225818405656, 0.44412383602800026, 0.4473209915439832, 0.45050332338926874, 0.4536006055448002, 0.4565448788417754, 0.4592724589481462, 0.4617258006549522, 0.46385516293377077, 0.4656200256760217, 0.4669902168038709, 0.4679467175023318, 0.4684821233287863, 0.4686007495356755, 0.4683183798939169, 0.4676616691825696, 0.46666722005291994, 0.4653803648206957, 0.4638536916163977, 0.46214536193991995, 0.46031727283419366, 0.45843312135007236, 0.45655643168816495, 0.45474860622536223, 0.45306706057532625, 0.4515634998889769, 0.45028238897804607, 0.4492596625244838, 0.4485217139784237, 0.44808469289553976, 0.4479541307011014, 0.44812490455656556, 0.44858153839753717, 0.44929882966263845, 0.4502427800989144, 0.45137179955790974, 0.4526381432502444, 0.45398953571381245, 0.45537092901101994, 0.4567263385999747, 0.4580006980132188, 0.459141673002609, 0.4601013772232047, 0.46083793473006024, 0.46131683948171376, 0.46151206852368826, 0.46140691337793827, 0.46099450309836704, 0.46027800225548, 0.4592704774222027, 0.4579944362680949, 0.4564810537847854, 0.45476911012271604, 0.4529036737512344, 0.4509345718341835, 0.4489146965702702, 0.4468982016610238, 0.4449386467076624, 0.44308714925321, 0.4413906042012811, 0.43989002850161507, 0.43861908530166865, 0.4376028364250846, 0.43685676509802, 0.4363861025794492, 0.43618548302904686, 0.4362389407683735, 0.4365202534773947, 0.4369936240512838, 0.43761468320526836, 0.43833178478346013, 0.43908755638755664, 0.43982065971311746, 0.44046770811337704, 0.4409652835975558, 0.4412519919298213, 0.4412704927865417, 0.4409694421541548, 0.4403052862952182, 0.43924385061796134, 0.4377616725358557, 0.43584703475923187, 0.43350066414418253, 0.4307360710725384, 0.4275795149406665, 0.4240695924754247, 0.42025645688202173, 0.41620068696798845, 0.41197183594879544, 0.4076466994203605, 0.4033073506555688, 0.3990389985334387, 0.3949277291351163, 0.3910581957661947, 0.387511324132831, 0.38436209930884946, 0.38167749911074206, 0.3795146344701823, 0.3779191516440602, 0.3769239436692748, 0.3765482095749706, 0.37679688987690735, 0.3776604959434155, 0.379115339404007, 0.38112415610750305, 0.38363710760873565, 0.3865931321555421, 0.38992160691091493, 0.3935442740161804, 0.39737737544069873, 0.40133393535945106, 0.4053261246239097, 0.40926763937953575, 0.4130760256317509, 0.4166748830820941, 0.4199958852442436, 0.4229805582549372, 0.4255817679260304, 0.4277648732567199, 0.42950851439625903, 0.43080501390395876, 0.4316603814517027, 0.432093923823445, 0.4321374735936341, 0.43183426104133543, 0.43123746423217946, 0.43040848154086164, 0.42941497887455815, 0.4283287702905399, 0.42722359534379395, 0.4261728592882766, 0.4252474030200972, 0.42451336848240323, 0.42403022206453783, 0.4238489935523063, 0.42401078147268806, 0.42454556749068845, 0.4254713730754608, 0.42679378127999645, 0.4285058354363871, 0.4305883152533387, 0.4330103794793539, 0.435730553396613, 0.43869802917199313, 0.44185423788176614, 0.44513464409021264, 0.44847070743145856, 0.45179195097581293, 0.45502807321333555, 0.458111039620504, 0.460977090676447, 0.4635686061707598, 0.46583577030142415, 0.4677379884403038, 0.46924501427265186, 0.47033775506128833, 0.4710087327863697, 0.4712621894955037, 0.4711138361577764, 0.4705902551833876, 0.46972797731629057, 0.4685722634555782, 0.46717563083351266, 0.4655961705996628, 0.4638957100248235, 0.46213787698795017, 0.46038612715361155, 0.45870179501986297, 0.457142229008931, 0.4557590677941174, 0.4545967104504439, 0.45369102668866723, 0.4530683457825689, 0.45274475392944125, 0.45272572004059763, 0.4530060596334469, 0.4535702358928419, 0.45439298642576853, 0.45544025409123995, 0.45667039081774485, 0.4580355948840758, 0.4594835349085468, 0.46095910806765433, 0.46240627599431594, 0.463769919470389, 0.464997652601556, 0.46604153851543795, 0.4668596518830521, 0.4674174384377678, 0.46768882818374397, 0.4676570668002599, 0.467315238717614, 0.46666646511932947, 0.4657237704460323, 0.464509621506363, 0.4630551537197703, 0.46139910896695957, 0.4595865187710579, 0.4576671746810415, 0.45569393463217794, 0.45372091942753445, 0.45180165714540155, 0.4499872351965651, 0.44832451975637305, 0.44685450046068026, 0.44561081456701845, 0.44461849944965576, 0.44389301533029757, 0.4434395719214075, 0.4432527833023989, 0.44331666518899915, 0.44360497813836086, 0.44408190941306885, 0.44470307559261785, 0.4454168178897628, 0.44616575278271375, 0.44688853235881143, 0.4475217618816867, 0.448002016793124, 0.44826789781658793, 0.44826206111689804, 0.44793316069943234, 0.44723764237938424, 0.4461413326496398, 0.44462077154464225, 0.4426642459283156, 0.44027248834384786, 0.4374590163920584, 0.43425009821941113, 0.43068434082670987, 0.42681190921915746, 0.4226933955295146, 0.41839836780450407, 0.41400363799283396, 0.4095912972203367, 0.4052465737189001, 0.4010555744173335, 0.3971029749549637, 0.39346972484582665, 0.390230834444413, 0.38745330831112573, 0.3851942855661143, 0.383499442101763, 0.3824017020178393, 0.381920296826059, 0.3820602009321524, 0.38281196099006953, 0.384151925297066, 0.3860428677387775, 0.38843498926079, 0.39126726884383406, 0.39446912570766157, 0.3979623453618421, 0.4016632144358395, 0.40548480304825424, 0.409339329244709, 0.41314053761781944, 0.4168060238406126, 0.42025943848629765, 0.4234325071315437, 0.4262668091436824, 0.4287152647127268, 0.4307432883428419, 0.43232957679869033, 0.433466510336326, 0.43416015739231795, 0.4344298845554497, 0.43430758522477186, 0.43383655150115236, 0.43307002424490687, 0.43206946557532494, 0.4309026060698667, 0.4296413253555722, 0.4283594294364679, 0.42713039086351945, 0.42602511865663467, 0.4251098236828241, 0.42444404202774133, 0.42407887392118393, 0.424055489054504, 0.42440394094774725, 0.42514232359369597, 0.4262762932046285, 0.4277989668826678, 0.4296911986875818, 0.4319222222724048, 0.43445063834738723, 0.4372257150062999, 0.4401889597134534, 0.44327591386033705, 0.44641811431904405, 0.44954516176920584, 0.45258683266246513, 0.45547517075229965, 0.4581464950829459, 0.46054326426521636, 0.4626157415479095, 0.46432341154445034, 0.4656361073495486, 0.46653481577087585, 0.4670121384336304, 0.46707239710493437, 0.4667313825139184, 0.46601575684077373, 0.4649621305790239, 0.4636158443237089, 0.4620294949210851, 0.460261253019681, 0.45837302524320983, 0.45642851864591943, 0.4544912678603211, 0.45262268611356876, 0.4508802002840134, 0.4493155272037948, 0.44797314377035746, 0.44688899715724767, 0.4460894937047303, 0.4455907962536694, 0.44539844990252486, 0.4455073458714925, 0.4459020225324248, 0.4465572921342109, 0.4474391715995748, 0.4485060863195928, 0.4497103073972371, 0.45099957561192316, 0.4523188596081444, 0.45361219176416195, 0.4548245228562888, 0.4559035362049312, 0.45680136334582366, 0.4574761465207567, 0.45789339817236807, 0.45802711412192665, 0.45786060494925623, 0.45738701904049706, 0.45660954056316705, 0.45554125594610295, 0.4542046929627608, 0.4526310469477213, 0.4508591186256336, 0.4489339972639075, 0.44690553103335834, 0.44482663334469097, 0.4427514793066322, 0.4407336501075751, 0.4388242850555047, 0.43707030098250343, 0.43551273691906284, 0.4341852782393163, 0.4331130091281406, 0.4323114352936154, 0.43178581059273063, 0.4315307918846318, 0.4315304362814923, 0.43175854433612587, 0.4321793418861909, 0.432748482649733, 0.43341434352175295, 0.4341195751918204, 0.43480286247084576, 0.43540084184188976, 0.43585011844765625, 0.43608932117942395, 0.4360611328212319, 0.43571423243762386, 0.43500508932826065, 0.43389955188389484, 0.4323741804390876, 0.43041728054611683, 0.4280296018167133, 0.4252246772927553, 0.4220287889142778, 0.4184805558337348, 0.4146301535458176, 0.4105381830079494, 0.40627421941877057, 0.40191508020082856, 0.3975428602633618, 0.39324278993422196, 0.3891009765454786, 0.38520209443100917, 0.3816270901046376, 0.3784509692082002, 0.375740729882009, 0.37355350311530733, 0.37193495495767803, 0.3709179979520192, 0.3705218503424774, 0.3707514715547139, 0.37159739155236343, 0.3730359402335846, 0.3750298713785557, 0.37752936412429516, 0.38047337394726655, 0.38379129486287467, 0.3874048854921429, 0.39123040389061126, 0.3951808899219711, 0.3991685297103854, 0.40310703426250427, 0.4069139640106028, 0.41051293263940714, 0.41383562720510775, 0.4168235869193493, 0.4194296902077624, 0.4216193082014228, 0.4233710926969243, 0.4246773774033792, 0.42554418264133254, 0.42599082532878746, 0.426049147652939, 0.42576238897684343, 0.4251837359125369, 0.42437459483487916, 0.4234026390984869, 0.42233968964681795, 0.42125949235445037, 0.4202354582170661, 0.41933843329154546, 0.4186345640929128, 0.41818332098509275, 0.4180357371275379, 0.41823291381224365, 0.418804834854356, 0.419769523253514, 0.42113256296595586, 0.4228869975983127, 0.42501360649637915, 0.4274815474021646, 0.4302493439497101, 0.43326618600554595, 0.4364735016886864, 0.4398067519494687, 0.4431973921489041, 0.44657494041075657, 0.44986908961735994, 0.4530117989608832, 0.4559393019585469, 0.4585939707667532, 0.46092598126665335, 0.4628947298294011, 0.4644699604593109, 0.46563257005169745, 0.4663750695303159, 0.46670168920137456, 0.46662812760223155, 0.46618095402232423, 0.4653966853954526, 0.4643205681204915, 0.4630051042405409, 0.46150836902827763, 0.4598921731860641, 0.45822012734157685, 0.456555669217409, 0.4549601146891003, 0.4534907928712804, 0.45219932245157757, 0.4511300818374479, 0.45031891939962665, 0.449792142397348, 0.4495658143436422, 0.4496453807991978, 0.45002563326775674, 0.4506910102622172, 0.4516162240627036, 0.45276719154891826, 0.45410223802747385, 0.4555735345111544, 0.4571287217189138, 0.4587126682976404, 0.460269306723569, 0.46174348800603454, 0.4630827958642844, 0.4642392624339025, 0.46517093079361377, 0.4658432144938852, 0.46623001076875586, 0.46631453195133393, 0.4660898285547963, 0.46555898728317424, 0.4647349975442734, 0.46364029056831874, 0.4623059656578518, 0.460770728051512, 0.45907957210723854, 0.4572822517027044, 0.4554315866014846, 0.4535816589412769, 0.4517859576572033, 0.4500955305471294, 0.44855720371283997, 0.4472119262658339, 0.4460932945046988, 0.4452263044139421, 0.44462637441138725, 0.44429867200054185, 0.44423776865860826, 0.4444276371185792, 0.444841994585282, 0.4454449846115934, 0.4461921797243549, 0.4470318767497273, 0.44790664746197917, 0.4487550989367301, 0.4495137911328265, 0.4501192539081817, 0.4505100421347611, 0.450628765872555, 0.4504240327836793, 0.4498522421132038, 0.44887917357380086, 0.44748132022026116, 0.4456469217549163, 0.4433766633884818, 0.4406840152388243, 0.43759519782367046, 0.43414877039627187, 0.43039485010019685, 0.426393981108376, 0.42221568343606297, 0.41793672092515666, 0.413639136550502, 0.4094081103556159, 0.4053297010663769, 0.40148853610580526, 0.3979655167928433, 0.3948356053092004, 0.3921657580826192, 0.3900130661654948, 0.3884231574504584, 0.3874289081303438, 0.38704950191522375, 0.3872898655302038, 0.3881404980863642, 0.389577700491016, 0.3915641994076465, 0.394050148747729, 0.39697448065715735, 0.40026656773492014, 0.4038481491087107, 0.4076354652707733, 0.41154154046380104, 0.4154785471471593, 0.41936018461333135, 0.42310400355311734, 0.42663360988553983, 0.42988068487506226, 0.4327867639327846, 0.435304723673688, 0.4373999354136231, 0.4390510531332531, 0.4402504147301413, 0.44100404671513765, 0.44133127420531004, 0.4412639495945306, 0.4408453244601611, 0.44012859963704626, 0.43917519773045444, 0.438052810329671, 0.43683327861744004, 0.4355903707066741, 0.434397521830319, 0.43332560427366157, 0.43244079276714154, 0.4318025878742695, 0.4314620549288422, 0.431460329365958, 0.43182743110603666, 0.4325814212064875, 0.4337279236274187, 0.43526002391128227, 0.43715854526688164, 0.4393926912123116, 0.4419210330598062, 0.44469281024369506, 0.4476495023313741, 0.4507266235834608, 0.4538556845183714, 0.45696626026036175, 0.4599881025048325, 0.4628532310654584, 0.4654979418683091, 0.46786467124891523, 0.4699036610201828, 0.47157437522223344, 0.47284662724141113, 0.4737013850523268, 0.47413123233514337, 0.4741404738068068, 0.4737448840516311, 0.47297111001828, 0.4718557478891272, 0.4704441248811048, 0.46878882539813027, 0.4669480085940501, 0.46498357055010314, 0.46295920874193436, 0.46093844918707905, 0.45898269747369475, 0.4571493738242122, 0.45549018939747876, 0.4540496164145202, 0.4528635983676212, 0.4519585389206328, 0.45135059924614257, 0.45104532378808465, 0.45103760412833466, 0.4513119800227266, 0.45184326612878567, 0.45259748280776024, 0.4535330599186276, 0.4546022740688477, 0.4557528725797495, 0.45692983167634654, 0.45807719235758637, 0.4591399150659378, 0.46006569382941775, 0.4608066719372643, 0.4613210044322149, 0.46157421760177575, 0.4615403221591851, 0.461202644621353, 0.4605543503569065, 0.4595986415608377, 0.45834862373090707, 0.4568268447509116, 0.45506452110724127, 0.4531004757105833, 0.45097982105011714, 0.4487524295519824, 0.4464712399086125, 0.4441904535343485, 0.4419636789487181, 0.43984208380285, 0.437872614286895, 0.4360963397988857, 0.4345469770795545, 0.4332496426794667, 0.43221987566532966, 0.43146296423543073, 0.4309736005701657, 0.43073587807677066, 0.43072363456724344, 0.4309011340964037, 0.4312240695502401, 0.43164085793501067, 0.4320941909854974, 0.43252279548363004, 0.4328633508002772, 0.43305250587513866, 0.4330289342941179, 0.4327353644254949, 0.4321205217964951, 0.43114092303863566, 0.4297624647326381, 0.42796175624971977, 0.42572715301759373, 0.4230594553461975, 0.4199722477866584, 0.41649186459620124, 0.41265697802801127, 0.4085178174553521, 0.40413503847841403, 0.39957827169462334, 0.3949243906535429, 0.3902555471259538, 0.38565702900722143, 0.3812150018898093, 0.3770141990606176, 0.37313562664494887, 0.36965435055579016, 0.36663742984066894, 0.36414205702355806, 0.36221396029140673, 0.3608861149231541, 0.3601778024724628, 0.36009404623763197, 0.3606254405992547, 0.3617483804028774, 0.36342568488727633, 0.36560759914570534, 0.3682331450855576, 0.37123178362222314, 0.3745253407152968, 0.3780301421873366, 0.38165929608342836, 0.38532505709880727, 0.38894120518232056, 0.39242537006884676, 0.3957012350871207, 0.39870055724966647, 0.4013649460348852, 0.4036473504120819, 0.4055132123240901, 0.40694125462648345, 0.4079238823133975, 0.40846718719874103, 0.4085905578840857, 0.40832590841145566, 0.40771655014943453, 0.40681574184759134, 0.40568496213257016, 0.4043919567038445, 0.40300861892285195, 0.4016087671380991, 0.4002658848548025, 0.3990508906553189, 0.3980300035740637, 0.39726276647420916, 0.3968002849686132, 0.39668373274187113, 0.3969431659184167, 0.3975966797054659, 0.39864993014617844, 0.4000960327906648, 0.4019158387685811, 0.4040785774272536, 0.4065428438011761, 0.40925789894286085, 0.4121652419154119, 0.4152004043558631, 0.41829491203006697, 0.42137835317673394, 0.42438049046869014, 0.42723335255657113, 0.42987324206316024, 0.43224259986997504, 0.43429167019657644, 0.43597991733703967, 0.43727715278829143, 0.438164340488406, 0.438634057937609, 0.438690601529788, 0.438349735385955, 0.4376380938561203, 0.4365922583938985, 0.43525753935690475, 0.43368650217192306, 0.4319372848987905, 0.4300717604175479, 0.4281536008998375, 0.4262463049701898, 0.42441124873902475, 0.4227058208752288, 0.4211816989242399, 0.419883319438882, 0.41884658820239323, 0.41809786914185354, 0.41765328167651106, 0.4175183264942929, 0.41768784943412635, 0.41814634253382565, 0.4188685707770643, 0.41982050290783707, 0.42096051524299294, 0.42224082894022746, 0.42360913398088457, 0.42501034737800936, 0.4263884490676548, 0.4276883365944194, 0.42885763927727716, 0.4298484339054061, 0.43061880724865775, 0.4311342155751597, 0.43136859785298676, 0.4313052071504472, 0.4309371337083682, 0.43026750293858157, 0.42930934192573406, 0.4280851185357581, 0.42662596765493477, 0.42497062904358807, 0.4231641305120328, 0.4212562583064892, 0.4192998634687782, 0.4173490583200173, 0.4154573608661944, 0.41367584686372066, 0.4120513692465611, 0.4106249028302713, 0.40943006847596247, 0.4084918855876415, 0.40782579484881837, 0.4074369848711652, 0.40732004707544045, 0.40745897296829564, 0.40782749735290014, 0.40838978020039923, 0.40910140926990235, 0.40991069543266395, 0.410760223312404, 0.41158861163950583, 0.4123324308268751, 0.4129282199822072, 0.41331454202336537, 0.41343401384744843, 0.41323524874374984, 0.4126746503736042, 0.4117180016525681, 0.41034179762671186, 0.40853427877283965, 0.40629612986376584, 0.40364081936431834, 0.4005945649284569, 0.3971959217276611, 0.3934950016157257, 0.38955234226846747, 0.3854374559871378, 0.3812270977048996, 0.3770033002746346, 0.3728512324229337, 0.3688569403584598, 0.3651050377992335, 0.36167641116084315, 0.3586460065410707, 0.35608076310484416, 0.35403775345971444, 0.3525625858886795, 0.35168811580573234, 0.3514335049845033, 0.3518036570608792, 0.3527890469088338, 0.35436595006051586, 0.35649706667263836, 0.35913252302124, 0.35913252302124, 0.3622112225040347, 0.3622112225040347, 0.36566250786077314, 0.36566250786077314, 0.3694080872598714, 0.3694080872598714, 0.3733641691429732, 0.3733641691429732, 0.3774437446207155, 0.3774437446207155, 0.3815589519416558, 0.3856234551324679, 0.38955476856013327, 0.39327646077341105, 0.3967201746410105, 0.39982740615215323, 0.40255099148752205, 0.40485626053192486, 0.4067218248489406, 0.4081399789386908, 0.40911670495494357, 0.4096712827052326, 0.40983551833515813, 0.40965261624937105, 0.4091757291971898, 0.40846623079989636, 0.40759176277938036, 0.40662411557772543, 0.4056370057127241, 0.40470381597760274, 0.4038953653927151, 0.4032777746107686, 0.4029104893180027, 0.402844519190242, 0.4031209432380617, 0.4037697242046743, 0.4048088652377497, 0.4062439316661158, 0.4080679497001019, 0.41026168252964984, 0.4127942729847681, 0.41562423103409984, 0.418700734138437, 0.42196519926670895, 0.42535307748265727, 0.42879581552727936, 0.4322229241735841, 0.43556409022433523, 0.4387512680668091, 0.44172068768907424, 0.44441471899091817, 0.44678353687887584, 0.4487865380231536, 0.4503934680040993, 0.4515852265693976, 0.4523543287683867, 0.45270501030533156, 0.4526529763853887, 0.4522248042327043, 0.45145701997992993, 0.45145701997992993, ]; criterion_group!(benches, fit, predict); criterion_main!(benches);