conspire/math/special/
mod.rs1#[cfg(test)]
2mod test;
3
4use super::{Scalar, Tensor};
5use crate::{ABS_TOL, REL_TOL};
6use std::f64::consts::E;
7
8const NINE_FIFTHS: Scalar = 9.0 / 5.0;
9
10pub fn inverse_langevin(y: Scalar) -> Scalar {
22 let y_abs = y.abs();
23 if y_abs >= 1.0 {
24 panic!()
25 } else if y_abs <= 3e-3 {
26 3.0 * y + NINE_FIFTHS * y.powi(3)
27 } else {
28 let mut x = inverse_langevin_approximate(y_abs);
29 for _ in 0..2 {
30 x += (y_abs - langevin(x)) / langevin_derivative(x);
31 }
32 if y < 0.0 { -x } else { x }
33 }
34}
35
36pub fn inverse_langevin_approximate(y: Scalar) -> Scalar {
45 (2.14234 * y.powi(3) - 4.22785 * y.powi(2) + 3.0 * y)
46 / (1.0 - y)
47 / (0.71716 * y.powi(3) - 0.41103 * y.powi(2) - 0.39165 * y + 1.0)
48}
49
50pub fn lambert_w(x: Scalar) -> Scalar {
56 if x == -1.0 / E {
57 -1.0
58 } else if x == 0.0 {
59 0.0
60 } else if x == E {
61 1.0
62 } else if x < -1.0 / E {
63 panic!()
64 } else {
65 let mut w = if x < 0.0 {
66 (E * x * (1.0 + (1.0 + E * x).sqrt()).ln()) / (1.0 + E * x + (1.0 + E * x).sqrt())
67 } else if x < E {
68 x / E
69 } else {
70 x.ln() - x.ln().ln()
71 };
72 let mut error = w * w.exp() - x;
73 while error.abs() >= ABS_TOL && (error / x).abs() >= REL_TOL {
74 w *= (1.0 + (x / w).ln()) / (1.0 + w);
75 error = w * w.exp() - x;
76 }
77 w
78 }
79}
80
81pub fn langevin(x: Scalar) -> Scalar {
87 if x == 0.0 {
88 0.0
89 } else {
90 1.0 / x.tanh() - 1.0 / x
91 }
92}
93
94pub fn langevin_derivative(x: Scalar) -> Scalar {
100 if x == 0.0 {
101 1.0 / 3.0
102 } else {
103 1.0 / x.powi(2) - 1.0 / x.sinh().powi(2)
104 }
105}
106
107pub fn rosenbrock<T>(x: &T, a: Scalar, b: Scalar) -> Scalar
113where
114 T: Tensor<Item = Scalar>,
115{
116 x.iter()
117 .zip(x.iter().skip(1))
118 .map(|(x_i, x_ip1)| (a - x_i).powi(2) + b * (x_ip1 - x_i.powi(2)).powi(2))
119 .sum()
120}
121
122pub fn rosenbrock_derivative<T>(x: &T, a: Scalar, b: Scalar) -> T
131where
132 T: FromIterator<Scalar> + Tensor<Item = Scalar>,
133{
134 let n = x.iter().count();
135 x.iter()
136 .take(1)
137 .zip(x.iter().skip(1).take(1))
138 .map(|(x_i, x_ip1)| -2.0 * (a - x_i) - 4.0 * b * x_i * (x_ip1 - x_i.powi(2)))
139 .chain(
140 x.iter()
141 .zip(x.iter().skip(1).zip(x.iter().skip(2)))
142 .map(|(x_im1, (x_i, x_ip1))| {
143 2.0 * b * (x_i - x_im1.powi(2))
144 - 2.0 * (a - x_i)
145 - 4.0 * b * x_i * (x_ip1 - x_i.powi(2))
146 })
147 .chain(
148 x.iter()
149 .skip(n - 2)
150 .zip(x.iter().skip(n - 1))
151 .map(|(x_im1, x_i)| 2.0 * b * (x_i - x_im1.powi(2))),
152 ),
153 )
154 .collect()
155}
156
157pub fn sinhc(x: Scalar) -> Scalar {
176 if x == 0.0 { 0.0 } else { x.sinh() / x }
177}
178
179pub fn erf(x: &f64) -> f64 {
185 1.0 - erfc(x)
186}
187
188pub fn erfc(x: &f64) -> f64 {
194 erfcx(x) / (x.powi(2)).exp()
195}
196
197fn erfcx(x: &f64) -> f64 {
198 if x >= &0.0 {
199 if x >= &50.0 {
200 if x > &5e7 {
201 0.564_189_583_547_756_3 / x
202 } else {
203 0.564_189_583_547_756_3 * (x.powi(2) * (x.powi(2) + 4.5) + 2.0)
204 / (x * (x.powi(2) * (x.powi(2) + 5.0) + 3.75))
205 }
206 } else {
207 erfcx_helper(&(400.0 / (4.0 + x)))
208 }
209 } else if x < &-26.7 {
210 f64::MAX
211 } else if x < &-6.1 {
212 2.0 * (x.powi(2)).exp()
213 } else {
214 2.0 * (x.powi(2)).exp() - erfcx_helper(&(400.0 / (4.0 - x)))
215 }
216}
217
218pub fn erfcx_helper(x: &f64) -> f64 {
219 let xi = *x as u8;
220 match xi {
221 0_u8 => {
222 let t = 2.0 * x - 1.0;
223 7.087_803_245_410_644e-4
224 + (7.123_409_104_702_63e-4
225 + (3.577_907_729_759_774_2e-6
226 + (1.740_314_396_258_793_8e-8
227 + (8.171_066_004_730_779e-11
228 + (3.688_502_236_043_496e-13 + 1.591_703_855_111_111_2e-15 * t)
229 * t)
230 * t)
231 * t)
232 * t)
233 * t
234 }
235 1_u8 => {
236 let t = 2.0 * x - 3.0;
237 2.147_914_320_828_514_3e-3
238 + (7.268_640_236_737_999e-4
239 + (3.684_317_543_093_899_4e-6
240 + (1.807_184_127_214_92e-8
241 + (8.549_644_929_604_033e-11
242 + (3.885_203_751_853_429e-13 + 1.686_847_357_688_888_9e-15 * t)
243 * t)
244 * t)
245 * t)
246 * t)
247 * t
248 }
249 2_u8 => {
250 let t = 2.0 * x - 5.0;
251 3.616_525_593_563_017_5e-3
252 + (7.418_209_232_355_551e-4
253 + (3.794_831_995_752_824e-6
254 + (1.877_162_702_179_308_7e-8
255 + (8.948_471_512_241_509e-11
256 + (4.093_585_851_777_244e-13 + 1.787_206_146_488_889e-15 * t)
257 * t)
258 * t)
259 * t)
260 * t)
261 * t
262 }
263 3_u8 => {
264 let t = 2.0 * x - 7.0;
265 5.115_498_386_003_198e-3
266 + (7.572_284_073_479_166e-4
267 + (3.909_642_572_673_57e-6
268 + (1.950_416_870_430_047e-8
269 + (9.368_750_306_317_9e-11
270 + (4.314_392_595_907_966_5e-13
271 + 1.893_992_643_555_555_6e-15 * t)
272 * t)
273 * t)
274 * t)
275 * t)
276 * t
277 }
278 4_u8 => {
279 let t = 2.0 * x - 9.0;
280 6.645_751_317_267_305e-3
281 + (7.731_040_605_444_745e-4
282 + (4.028_951_058_939_944e-6
283 + (2.027_123_323_828_838_2e-8
284 + (9.811_763_132_170_91e-11
285 + (4.548_420_740_601_775e-13 + 2.007_635_221_333_333e-15 * t)
286 * t)
287 * t)
288 * t)
289 * t)
290 * t
291 }
292 5_u8 => {
293 let t = 2.0 * x - 11.0;
294 8.208_238_997_024_121e-3
295 + (7.894_662_961_188_171e-4
296 + (4.152_970_155_262_265e-6
297 + (2.107_469_334_454_465_7e-8
298 + (1.027_887_410_858_731_8e-10
299 + (4.796_520_139_061_334e-13 + 2.128_590_741_333_333_5e-15 * t)
300 * t)
301 * t)
302 * t)
303 * t)
304 * t
305 }
306 6_u8 => {
307 let t = 2.0 * x - 13.0;
308 9.803_953_727_535_219e-3
309 + (8.063_344_010_834_284e-4
310 + (4.281_924_132_973_699e-6
311 + (2.191_653_434_690_716_8e-8
312 + (1.077_153_513_656_547_1e-10
313 + (5.059_597_262_369_282e-13 + 2.257_346_268_444_444_6e-15 * t)
314 * t)
315 * t)
316 * t)
317 * t)
318 * t
319 }
320 7_u8 => {
321 let t = 2.0 * x - 15.0;
322 1.143_392_729_829_030_2e-2
323 + (8.237_285_838_319_657e-4
324 + (4.416_049_531_176_544e-6
325 + (2.279_886_142_621_198_7e-8
326 + (1.129_129_174_587_924e-10
327 + (5.338_618_936_581_688e-13 + 2.394_420_954_666_666_6e-15 * t)
328 * t)
329 * t)
330 * t)
331 * t)
332 * t
333 }
334 8_u8 => {
335 let t = 2.0 * x - 17.0;
336 1.309_923_287_881_465_4e-2
337 + (8.416_700_246_790_696e-4
338 + (4.555_595_898_845_751e-6
339 + (2.372_390_735_721_417_4e-8
340 + (1.183_978_932_660_269_6e-10
341 + (5.634_616_306_755_024e-13 + 2.540_367_964_444_444_6e-15 * t)
342 * t)
343 * t)
344 * t)
345 * t)
346 * t
347 }
348 9_u8 => {
349 let t = 2.0 * x - 19.0;
350 1.480_098_701_558_753_6e-2
351 + (8.601_809_294_634_594e-4
352 + (4.700_826_584_881_687e-6
353 + (2.469_404_076_019_731_5e-8
354 + (1.241_877_976_875_229_8e-10
355 + (5.948_689_037_032_026e-13 + 2.695_776_456_888_889e-15 * t)
356 * t)
357 * t)
358 * t)
359 * t)
360 * t
361 }
362 10_u8 => {
363 let t = 2.0 * x - 21.0;
364 1.654_035_173_939_407e-2
365 + (8.792_845_864_124_146e-4
366 + (4.852_019_579_300_175e-6
367 + (2.571_177_490_088_171e-8
368 + (1.303_012_853_423_082_1e-10
369 + (6.282_009_758_687_478e-13 + 2.861_273_735_111_111_2e-15 * t)
370 * t)
371 * t)
372 * t)
373 * t)
374 * t
375 }
376 11_u8 => {
377 let t = 2.0 * x - 23.0;
378 1.831_853_678_984_239_3e-2
379 + (8.990_054_264_789_172e-4
380 + (5.009_468_408_955_337e-6
381 + (2.677_977_707_421_807e-8
382 + (1.367_582_218_630_461_6e-10
383 + (6.635_828_774_535_271e-13 + 3.037_527_388_444_444_3e-15 * t)
384 * t)
385 * t)
386 * t)
387 * t)
388 * t
389 }
390 12_u8 => {
391 let t = 2.0 * x - 25.0;
392 2.013_680_196_421_427_7e-2
393 + (9.193_690_873_767_368e-4
394 + (5.173_483_091_410_427_6e-6
395 + (2.790_087_860_971_043_3e-8
396 + (1.435_797_640_280_904e-10
397 + (7.011_479_031_104_373e-13 + 3.225_247_6e-15 * t) * t)
398 * t)
399 * t)
400 * t)
401 * t
402 }
403 13_u8 => {
404 let t = 2.0 * x - 27.0;
405 2.199_645_959_828_274_2e-2
406 + (9.404_024_815_536_678e-4
407 + (5.344_391_150_804_117e-6
408 + (2.907_808_553_804_937_5e-8
409 + (1.507_884_450_032_973e-10
410 + (7.410_381_364_749_92e-13 + 3.425_189_232e-15 * t) * t)
411 * t)
412 * t)
413 * t)
414 * t
415 }
416 14_u8 => {
417 let t = 2.0 * x - 29.0;
418 2.389_887_718_722_632e-2
419 + (9.621_338_683_590_018e-4
420 + (5.522_538_699_804_901_5e-6
421 + (3.031_458_996_104_768_7e-8
422 + (1.584_082_649_729_633_4e-10
423 + (7.834_050_047_241_445e-13 + 3.638_155_356_444_444_5e-15 * t)
424 * t)
425 * t)
426 * t)
427 * t)
428 * t
429 }
430 15_u8 => {
431 let t = 2.0 * x - 31.0;
432 2.584_548_015_529_851_8e-2
433 + (9.845_929_306_782_012e-4
434 + (5.708_291_592_005_185e-6
435 + (3.161_378_216_916_483e-8
436 + (1.664_647_874_552_963e-10
437 + (8.284_098_592_878_54e-13 + 3.864_997_576_888_889e-15 * t) * t)
438 * t)
439 * t)
440 * t)
441 * t
442 }
443 16_u8 => {
444 let t = 2.0 * x - 33.0;
445 2.783_775_478_347_469_8e-2
446 + (1.007_810_856_325_689_2e-3
447 + (5.902_036_649_379_221_6e-6
448 + (3.297_926_355_324_652e-8
449 + (1.749_852_415_926_845_7e-10
450 + (8.762_245_912_484_253e-13 + 4.106_620_648_888_889e-15 * t)
451 * t)
452 * t)
453 * t)
454 * t)
455 * t
456 }
457 17_u8 => {
458 let t = 2.0 * x - 35.0;
459 2.987_725_130_489_930_8e-2
460 + (1.031_820_424_505_735e-3
461 + (6.104_182_969_716_206e-6
462 + (3.441_486_035_954_272e-8
463 + (1.839_986_307_293_409e-10
464 + (9.270_322_736_636_504e-13 + 4.363_984_405_333_333_5e-15 * t)
465 * t)
466 * t)
467 * t)
468 * t)
469 * t
470 }
471 18_u8 => {
472 let t = 2.0 * x - 37.0;
473 3.196_558_717_859_645e-2
474 + (1.056_656_097_671_657_4e-3
475 + (6.315_163_319_241_458e-6
476 + (3.592_463_833_952_192e-8
477 + (1.935_358_475_878_117_3e-10
478 + (9.810_278_385_988_926e-13 + 4.638_106_081_777_777_6e-15 * t)
479 * t)
480 * t)
481 * t)
482 * t)
483 * t
484 }
485 19_u8 => {
486 let t = 2.0 * x - 39.0;
487 3.410_445_055_258_834e-2
488 + (1.082_354_119_135_053_2e-3
489 + (6.535_435_615_955_393e-6
490 + (3.751_291_834_853_352_4e-8
491 + (2.036_297_963_581_788_3e-10
492 + (1.038_418_783_303_728_1e-12 + 4.930_062_526_222_222e-15 * t)
493 * t)
494 * t)
495 * t)
496 * t)
497 * t
498 }
499 20_u8 => {
500 let t = 2.0 * x - 41.0;
501 3.629_560_392_829_242_5e-2
502 + (1.108_952_616_799_526_9e-3
503 + (6.765_484_509_551_836e-6
504 + (3.918_429_294_991_359e-8
505 + (2.143_155_220_213_377_5e-10
506 + (1.099_425_910_664_673_2e-12 + 5.240_994_910_222_222e-15 * t)
507 * t)
508 * t)
509 * t)
510 * t)
511 * t
512 }
513 21_u8 => {
514 let t = 2.0 * x - 43.0;
515 3.854_088_803_884_051e-2
516 + (1.136_491_713_417_542e-3
517 + (7.005_823_064_124_631e-6
518 + (4.094_364_408_371_858_4e-8
519 + (2.256_303_472_369_288_3e-10
520 + (1.164_284_101_136_199_3e-12 + 5.572_109_287_111_111e-15 * t)
521 * t)
522 * t)
523 * t)
524 * t)
525 * t
526 }
527 22_u8 => {
528 let t = 2.0 * x - 45.0;
529 4.084_222_595_478_596e-2
530 + (1.165_013_643_794_567_5e-3
531 + (7.256_994_550_234_3e-6
532 + (4.279_616_186_185_504e-8
533 + (2.376_140_171_100_502_3e-10
534 + (1.233_243_117_238_155_7e-12 + 5.924_680_236_444_444e-15 * t)
535 * t)
536 * t)
537 * t)
538 * t)
539 * t
540 }
541 23_u8 => {
542 let t = 2.0 * x - 47.0;
543 4.320_162_743_154_022e-2
544 + (1.194_562_879_391_727_1e-3
545 + (7.519_574_353_284_92e-6
546 + (4.474_736_455_396_099e-8
547 + (2.503_088_521_647_295e-10
548 + (1.306_568_440_030_047_7e-12 + 6.300_053_285_333_334e-15 * t)
549 * t)
550 * t)
551 * t)
552 * t)
553 * t
554 }
555 24_u8 => {
556 let t = 2.0 * x - 49.0;
557 4.562_119_351_381_047e-2
558 + (1.225_186_260_806_753e-3
559 + (7.794_172_005_555_192e-6
560 + (4.680_311_983_095_446e-8
561 + (2.637_599_098_397_842_6e-10
562 + (1.384_542_137_097_712e-12 + 6.699_647_740_444_444_6e-15 * t)
563 * t)
564 * t)
565 * t)
566 * t)
567 * t
568 }
569 25_u8 => {
570 let t = 2.0 * x - 51.0;
571 4.810_312_141_329_986_5e-2
572 + (1.256_933_138_643_219_5e-3
573 + (8.081_433_349_636_768e-6
574 + (4.896_966_733_568_202e-8
575 + (2.780_151_548_190_574_6e-10
576 + (1.467_463_761_160_988_5e-12 + 7.124_958_935_111_111e-15 * t)
577 * t)
578 * t)
579 * t)
580 * t)
581 * t
582 }
583 26_u8 => {
584 let t = 2.0 * x - 53.0;
585 5.064_970_967_698_334e-2
586 + (1.289_855_523_309_905_5e-3
587 + (8.382_042_841_456_88e-6
588 + (5.125_364_265_255_184e-8
589 + (2.931_256_384_967_550_7e-10
590 + (1.555_651_278_281_482_7e-12 + 7.577_560_782_222_223e-15 * t)
591 * t)
592 * t)
593 * t)
594 * t)
595 * t
596 }
597 27_u8 => {
598 let t = 2.0 * x - 55.0;
599 5.326_336_366_438_886_4e-2
600 + (1.324_008_244_325_697_5e-3
601 + (8.696_726_001_500_767e-6
602 + (5.366_210_275_039_68e-8
603 + (3.091_456_878_663_48e-10
604 + (1.649_442_024_082_849_4e-12 + 8.059_107_964_444_444e-15 * t)
605 * t)
606 * t)
607 * t)
608 * t)
609 * t
610 }
611 28_u8 => {
612 let t = 2.0 * x - 57.0;
613 5.594_660_135_350_001e-2
614 + (1.359_449_119_740_819e-3
615 + (9.026_252_023_301_638e-6
616 + (5.620_255_297_505_669_6e-8
617 + (3.261_331_041_050_314e-10
618 + (1.749_193_686_224_636_8e-12 + 8.571_338_168_888_888e-15 * t)
619 * t)
620 * t)
621 * t)
622 * t)
623 * t
624 }
625 29_u8 => {
626 let t = 2.0 * x - 59.0;
627 5.870_205_949_615_408_4e-2
628 + (1.396_239_136_322_364_7e-3
629 + (9.371_436_548_731_279e-6
630 + (5.888_297_567_026_528_5e-8
631 + (3.441_493_711_059_175_6e-10
632 + (1.855_285_310_975_186e-12 + 9.116_073_671_111_11e-15 * t) * t)
633 * t)
634 * t)
635 * t)
636 * t
637 }
638 30_u8 => {
639 let t = 2.0 * x - 61.0;
640 6.153_250_014_514_477_5e-2
641 + (1.434_442_641_191_201_4e-3
642 + (9.733_144_620_101_681e-6
643 + (6.171_186_050_734_718e-8
644 + (3.632_598_741_829_53e-10
645 + (1.968_118_331_013_451_7e-12 + 9.695_223_84e-15 * t) * t)
646 * t)
647 * t)
648 * t)
649 * t
650 }
651 31_u8 => {
652 let t = 2.0 * x - 63.0;
653 6.444_081_757_665_329e-2
654 + (1.474_127_545_638_313_2e-3
655 + (1.011_229_381_957_643_8e-5
656 + (6.469_823_660_593_325e-8
657 + (3.835_341_291_530_366_5e-10
658 + (2.088_117_611_438_512e-12 + 1.031_078_448e-14 * t) * t)
659 * t)
660 * t)
661 * t)
662 * t
663 }
664 32_u8 => {
665 let t = 2.0 * x - 65.0;
666 6.743_004_563_313_039e-2
667 + (1.515_365_541_891_654e-3
668 + (1.050_985_760_688_832_9e-5
669 + (6.785_170_652_936_334e-8
670 + (4.050_460_219_481_114e-10
671 + (2.215_732_511_054_253_6e-12
672 + 1.096_484_211_555_555_5e-14 * t)
673 * t)
674 * t)
675 * t)
676 * t)
677 * t
678 }
679 33_u8 => {
680 let t = 2.0 * x - 67.0;
681 7.050_336_551_333_886e-2
682 + (1.558_232_333_649_571e-3
683 + (1.092_686_886_686_523e-5
684 + (7.118_248_223_961_351e-8
685 + (4.278_740_589_015_338_6e-10
686 + (2.351_437_952_227_442e-12 + 1.165_957_175_111_111_1e-14 * t)
687 * t)
688 * t)
689 * t)
690 * t)
691 * t
692 }
693 34_u8 => {
694 let t = 2.0 * x - 69.0;
695 7.366_411_403_794_46e-2
696 + (1.602_807_881_243_882e-3
697 + (1.136_442_367_877_820_8e-5
698 + (7.470_142_309_742_318e-8
699 + (4.521_016_277_747_649e-10
700 + (2.495_735_500_408_857e-12 + 1.239_723_825_777_777_7e-14 * t)
701 * t)
702 * t)
703 * t)
704 * t)
705 * t
706 }
707 35_u8 => {
708 let t = 2.0 * x - 71.0;
709 7.691_579_242_081_956e-2
710 + (1.649_176_662_344_788_9e-3
711 + (1.182_368_532_004_130_1e-5
712 + (7.842_007_599_378_154e-8
713 + (4.778_172_695_691_648e-10
714 + (2.649_154_440_381_572_5e-12
715 + 1.318_019_646_222_222_2e-14 * t)
716 * t)
717 * t)
718 * t)
719 * t)
720 * t
721 }
722 36_u8 => {
723 let t = 2.0 * x - 73.0;
724 8.026_207_557_809_462e-2
725 + (1.697_427_949_170_950_4e-3
726 + (1.230_588_851_730_989_1e-5
727 + (8.235_071_769_897_904e-8
728 + (5.051_149_610_985_711e-10
729 + (2.812_252_849_762_69e-12 + 1.401_088_963_555_555_5e-14 * t)
730 * t)
731 * t)
732 * t)
733 * t)
734 * t
735 }
736 37_u8 => {
737 let t = 2.0 * x - 75.0;
738 8.370_682_200_898_036e-2
739 + (1.747_656_103_221_265_7e-3
740 + (1.281_234_395_854_076_4e-5
741 + (8.650_639_951_503_644e-8
742 + (5.340_944_082_386_946e-10
743 + (2.985_618_662_088_755_5e-12 + 1.489_185_159_111_111e-14 * t)
744 * t)
745 * t)
746 * t)
747 * t)
748 * t
749 }
750 38_u8 => {
751 let t = 2.0 * x - 77.0;
752 8.725_408_428_446_171e-2
753 + (1.799_960_888_600_196_2e-3
754 + (1.334_444_308_008_949_3e-5
755 + (9.090_099_431_642_9e-8
756 + (5.648_613_497_261_646e-10
757 + (3.169_870_708_003_396e-12 + 1.582_569_779_555_555_6e-14 * t)
758 * t)
759 * t)
760 * t)
761 * t)
762 * t
763 }
764 39_u8 => {
765 let t = 2.0 * x - 79.0;
766 9.090_812_018_217_274e-2
767 + (1.854_447_805_065_77e-3
768 + (1.390_366_314_342_612e-5
769 + (9.554_924_606_254_991e-8
770 + (5.975_278_712_524_205e-10
771 + (3.365_659_736_609_91e-12 + 1.681_513_061_333_333_4e-14 * t)
772 * t)
773 * t)
774 * t)
775 * t)
776 * t
777 }
778 40_u8 => {
779 let t = 2.0 * x - 81.0;
780 9.467_340_450_807_549e-2
781 + (1.911_228_441_988_730_4e-3
782 + (1.449_157_261_654_500_5e-5
783 + (1.004_668_218_633_361_4e-7
784 + (6.322_127_295_979_1e-10
785 + (3.573_669_397_558_913e-12 + 1.786_293_159_111_111e-14 * t)
786 * t)
787 * t)
788 * t)
789 * t)
790 * t
791 }
792 41_u8 => {
793 let t = 2.0 * x - 83.0;
794 9.855_464_164_800_445e-2
795 + (1.970_420_854_472_562_2e-3
796 + (1.510_983_687_562_544_5e-5
797 + (1.056_703_666_767_598_4e-7
798 + (6.690_416_864_001_935e-10
799 + (3.794_617_185_082_434e-12 + 1.897_195_904e-14 * t) * t)
800 * t)
801 * t)
802 * t)
803 * t
804 }
805 42_u8 => {
806 let t = 2.0 * x - 85.0;
807 1.025_567_788_947_009e-1
808 + (2.032_149_962_947_285_7e-3
809 + (1.576_022_424_296_218e-5
810 + (1.111_775_607_135_350_7e-7
811 + (7.081_478_511_009_766e-10
812 + (4.029_255_327_663_256e-12 + 2.014_514_307_555_555_6e-14 * t)
813 * t)
814 * t)
815 * t)
816 * t)
817 * t
818 }
819 43_u8 => {
820 let t = 2.0 * x - 87.0;
821 1.066_850_205_986_509_4e-1
822 + (2.096_547_977_614_873e-3
823 + (1.644_461_237_762_498_2e-5
824 + (1.170_071_796_202_615_3e-7
825 + (7.496_720_325_093_842e-10
826 + (4.278_371_618_608_592_5e-12 + 2.138_547_936e-14 * t) * t)
827 * t)
828 * t)
829 * t)
830 * t
831 }
832 44_u8 => {
833 let t = 2.0 * x - 89.0;
834 1.109_448_431_938_644_4e-1
835 + (2.163_754_849_190_817e-3
836 + (1.716_499_503_571_965_6e-5
837 + (1.231_791_575_073_593_8e-7
838 + (7.937_630_983_149_963e-10
839 + (4.542_790_176_310_636e-12 + 2.269_602_565_333_333_3e-14 * t)
840 * t)
841 * t)
842 * t)
843 * t)
844 * t
845 }
846 45_u8 => {
847 let t = 2.0 * x - 91.0;
848 1.153_420_111_526_880_5e-1
849 + (2.233_918_747_454_642e-3
850 + (1.792_348_921_750_422_6e-5
851 + (1.297_146_528_824_599_7e-7
852 + (8.405_783_418_038_907e-10
853 + (4.823_372_120_641_802_5e-12
854 + 2.407_989_006_222_222_2e-14 * t)
855 * t)
856 * t)
857 * t)
858 * t)
859 * t
860 }
861 46_u8 => {
862 let t = 2.0 * x - 93.0;
863 1.198_825_939_268_409_5e-1
864 + (2.307_196_569_191_869e-3
865 + (1.872_234_271_895_893_7e-5
866 + (1.366_361_175_433_795_8e-7
867 + (8.902_838_548_849_328e-10
868 + (5.121_016_156_922_585e-12 + 2.554_022_711_111_111e-14 * t)
869 * t)
870 * t)
871 * t)
872 * t)
873 * t
874 }
875 47_u8 => {
876 let t = 2.0 * x - 95.0;
877 1.245_729_839_350_981_2e-1
878 + (2.383_754_477_180_957_6e-3
879 + (1.956_394_210_571_161e-5
880 + (1.439_673_684_773_947e-7
881 + (9.430_549_064_645_925e-10
882 + (5.436_659_058_313_422e-12 + 2.708_022_592e-14 * t) * t)
883 * t)
884 * t)
885 * t)
886 * t
887 }
888 48_u8 => {
889 let t = 2.0 * x - 97.0;
890 1.294_199_156_614_243_8e-1
891 + (2.463_768_471_950_886e-3
892 + (2.045_082_112_747_588e-5
893 + (1.517_336_628_052_390_6e-7
894 + (9.990_763_250_638_903e-10
895 + (5.771_276_031_135_163e-12 + 2.870_309_955_555_555_5e-14 * t)
896 * t)
897 * t)
898 * t)
899 * t)
900 * t
901 }
902 49_u8 => {
903 let t = 2.0 * x - 99.0;
904 1.344_304_859_308_869_7e-1
905 + (2.547_424_998_108_082_3e-3
906 + (2.138_566_959_136_291_6e-5
907 + (1.599_617_757_990_044_2e-7
908 + (1.058_542_884_457_513_3e-9
909 + (6.125_880_953_678_788e-12 + 3.041_208_014_222_222e-14 * t)
910 * t)
911 * t)
912 * t)
913 * t)
914 * t
915 }
916 50_u8 => {
917 let t = 2.0 * x - 101.0;
918 1.396_121_754_343_456_2e-1
919 + (2.634_921_587_105_176_2e-3
920 + (2.237_134_271_257_256_8e-5
921 + (1.686_800_819_929_682_3e-7
922 + (1.121_659_691_044_499_7e-9
923 + (6.501_526_475_309_089e-12 + 3.221_039_450_666_667e-14 * t)
924 * t)
925 * t)
926 * t)
927 * t)
928 * t
929 }
930 51_u8 => {
931 let t = 2.0 * x - 103.0;
932 1.449_728_715_767_38e-1
933 + (2.726_467_538_398_244e-3
934 + (2.341_087_096_105_095e-5
935 + (1.779_186_393_952_637_8e-7
936 + (1.188_642_571_433_095_8e-9
937 + (6.899_303_966_505_428_4e-12
938 + 3.410_126_622_222_222_5e-14 * t)
939 * t)
940 * t)
941 * t)
942 * t)
943 * t
944 }
945 52_u8 => {
946 let t = 2.0 * x - 105.0;
947 1.505_208_927_277_461_9e-1
948 + (2.822_284_641_013_623_7e-3
949 + (2.450_747_042_271_339_8e-5
950 + (1.877_092_767_962_613_7e-7
951 + (1.259_718_458_758_337e-9
952 + (7.320_343_304_922_983e-12 + 3.608_788_904_888_888_7e-14 * t)
953 * t)
954 * t)
955 * t)
956 * t)
957 * t
958 }
959 53_u8 => {
960 let t = 2.0 * x - 107.0;
961 1.562_650_139_577_461e-1
962 + (2.922_607_937_619_662_7e-3
963 + (2.566_455_369_376_845e-5
964 + (1.980_856_841_565_446_2e-7
965 + (1.335_125_775_981_555_7e-9
966 + (7.765_812_489_104_676e-12 + 3.817_342_003_555_556e-14 * t)
967 * t)
968 * t)
969 * t)
970 * t)
971 * t
972 }
973 54_u8 => {
974 let t = 2.0 * x - 109.0;
975 1.622_144_943_462_073_8e-1
976 + (3.027_686_533_272_647_7e-3
977 + (2.688_574_132_653_456_3e-5
978 + (2.090_835_060_434_638_3e-7
979 + (1.415_114_814_424_073e-9
980 + (8.236_917_066_597_432e-12 + 4.036_095_745_777_778e-14 * t)
981 * t)
982 * t)
983 * t)
984 * t)
985 * t
986 }
987 55_u8 => {
988 let t = 2.0 * x - 111.0;
989 1.683_791_059_541_213e-1
990 + (3.137_784_451_079_308_3e-3
991 + (2.817_487_384_491_117_3e-5
992 + (2.207_404_380_704_578_2e-7
993 + (1.499_948_105_599_609e-9
994 + (8.734_899_366_193_081e-12 + 4.265_352_897_777_778e-14 * t)
995 * t)
996 * t)
997 * t)
998 * t)
999 * t
1000 }
1001 56_u8 => {
1002 let t = 2.0 * x - 113.0;
1003 1.747_691_645_565_937e-1
1004 + (3.253_181_537_090_306_6e-3
1005 + (2.953_602_434_734_436_5e-5
1006 + (2.330_963_262_776_707_4e-7
1007 + (1.589_900_784_358_244_5e-9
1008 + (9.261_037_523_542_736e-12 + 4.505_407_310_222_222_4e-14 * t)
1009 * t)
1010 * t)
1011 * t)
1012 * t)
1013 * t
1014 }
1015 57_u8 => {
1016 let t = 2.0 * x - 115.0;
1017 1.813_955_622_364_370_2e-1
1018 + (3.374_174_416_809_7e-3
1019 + (3.097_351_171_470_95e-5
1020 + (2.461_932_693_759_229e-7
1021 + (1.685_260_941_226_775_1e-9
1022 + (9.816_644_294_285_49e-12 + 4.756_541_809_777_778e-14 * t) * t)
1023 * t)
1024 * t)
1025 * t)
1026 * t
1027 }
1028 58_u8 => {
1029 let t = 2.0 * x - 117.0;
1030 1.882_698_019_444_366_5e-1
1031 + (3.501_077_505_774_031_6e-3
1032 + (3.249_191_444_001_427e-5
1033 + (2.600_757_237_588_632e-7
1034 + (1.786_329_961_738_837_7e-9
1035 + (1.040_306_563_834_387_8e-11 + 5.019_026_583_111_111e-14 * t)
1036 * t)
1037 * t)
1038 * t)
1039 * t)
1040 * t
1041 }
1042 59_u8 => {
1043 let t = 2.0 * x - 119.0;
1044 1.954_040_341_369_396_9e-1
1045 + (3.634_224_076_721_132_6e-3
1046 + (3.409_608_509_620_090_6e-5
1047 + (2.747_906_111_701_763_6e-7
1048 + (1.893_422_850_479_003_3e-9
1049 + (1.102_167_907_532_359_9e-11 + 5.293_117_173_333_333e-14 * t)
1050 * t)
1051 * t)
1052 * t)
1053 * t)
1054 * t
1055 }
1056 60_u8 => {
1057 let t = 2.0 * x - 121.0;
1058 2.028_110_956_065_188_6e-1
1059 + (3.773_967_385_932_36e-3
1060 + (3.579_116_545_759_241e-5
1061 + (2.903_874_288_941_617_4e-7
1062 + (2.006_868_537_484_9e-9
1063 + (1.167_389_179_957_838_1e-11
1064 + 5.579_052_309_333_333_5e-14 * t)
1065 * t)
1066 * t)
1067 * t)
1068 * t)
1069 * t
1070 }
1071 61_u8 => {
1072 let t = 2.0 * x - 123.0;
1073 2.105_045_506_266_933_5e-1
1074 + (3.920_681_861_392_565e-3
1075 + (3.758_260_228_968_010_5e-5
1076 + (3.069_183_623_188_687_7e-7
1077 + (2.127_010_164_576_367_6e-9
1078 + (1.236_113_855_106_289_9e-11 + 5.877_052_016e-14 * t) * t)
1079 * t)
1080 * t)
1081 * t)
1082 * t
1083 }
1084 62_u8 => {
1085 let t = 2.0 * x - 125.0;
1086 2.184_987_345_370_333_3e-1
1087 + (4.074_764_355_468_959e-3
1088 + (3.947_616_382_098_671e-5
1089 + (3.244_383_997_013_992e-7
1090 + (2.254_205_349_151_868e-9
1091 + (1.308_487_923_529_085_9e-11 + 6.187_315_326_222_222e-14 * t)
1092 * t)
1093 * t)
1094 * t)
1095 * t)
1096 * t
1097 }
1098 63_u8 => {
1099 let t = 2.0 * x - 127.0;
1100 2.268_087_999_004_323e-1
1101 + (4.236_635_464_862_852e-3
1102 + (4.147_795_690_965_689_6e-5
1103 + (3.430_054_489_450_281e-7
1104 + (2.388_826_422_926_406_7e-9
1105 + (1.384_659_629_281_851_4e-11 + 6.510_018_375_111_112e-14 * t)
1106 * t)
1107 * t)
1108 * t)
1109 * t)
1110 * t
1111 }
1112 64_u8 => {
1113 let t = 2.0 * x - 129.0;
1114 2.354_507_653_698_870_4e-1
1115 + (4.406_740_920_636_517e-3
1116 + (4.359_444_491_622_47e-5
1117 + (3.626_804_561_776_041_5e-7
1118 + (2.531_260_643_085_32e-9
1119 + (1.464_779_181_283_790_2e-11 + 6.845_312_263_111_111e-14 * t)
1120 * t)
1121 * t)
1122 * t)
1123 * t)
1124 * t
1125 }
1126 65_u8 => {
1127 let t = 2.0 * x - 131.0;
1128 2.444_415_674_077_743_4e-1
1129 + (4.585_553_051_160_578e-3
1130 + (4.583_246_629_268_308_6e-5
1131 + (3.835_275_259_003_303e-7
1132 + (2.681_910_373_305_560_2e-9
1133 + (1.548_998_439_088_475_8e-11 + 7.193_320_636_444_444e-14 * t)
1134 * t)
1135 * t)
1136 * t)
1137 * t)
1138 * t
1139 }
1140 66_u8 => {
1141 let t = 2.0 * x - 133.0;
1142 2.537_991_150_063_426_7e-1
1143 + (4.773_572_320_865_003e-3
1144 + (4.819_925_389_653_418_5e-5
1145 + (4.056_140_424_556_473_3e-7
1146 + (2.841_193_232_087_116_4e-9
1147 + (1.637_470_573_645_832e-11 + 7.554_137_982_222_222e-14 * t)
1148 * t)
1149 * t)
1150 * t)
1151 * t)
1152 * t
1153 }
1154 67_u8 => {
1155 let t = 2.0 * x - 135.0;
1156 2.635_423_475_639_361_3e-1
1157 + (4.971_328_947_708_378_5e-3
1158 + (5.070_245_503_693_037e-5
1159 + (4.290_107_925_426_818_5e-7
1160 + (3.009_542_205_890_048e-9
1161 + (1.730_349_702_534_734e-11 + 7.927_827_336_888_888e-14 * t)
1162 * t)
1163 * t)
1164 * t)
1165 * t)
1166 * t
1167 }
1168 68_u8 => {
1169 let t = 2.0 * x - 137.0;
1170 2.736_912_960_773_234_5e-1
1171 + (5.179_384_602_305_264e-3
1172 + (5.335_015_225_832_66e-5
1173 + (4.537_920_884_886_502e-7
1174 + (3.187_405_724_581_438e-9
1175 + (1.827_790_501_024_511e-11 + 8.314_418_236_444_444e-14 * t)
1176 * t)
1177 * t)
1178 * t)
1179 * t)
1180 * t
1181 }
1182 69_u8 => {
1183 let t = 2.0 * x - 139.0;
1184 2.842_671_478_164_031_7e-1
1185 + (5.398_334_191_669_514e-3
1186 + (5.615_088_486_525_581e-5
1187 + (4.800_358_919_649_474e-7
1188 + (3.375_247_696_757_079_8e-9
1189 + (1.929_947_788_808_346_8e-11 + 8.713_904_913_777_777e-14 * t)
1190 * t)
1191 * t)
1192 * t)
1193 * t)
1194 * t
1195 }
1196 70_u8 => {
1197 let t = 2.0 * x - 141.0;
1198 2.952_923_146_534_852e-1
1199 + (5.628_807_730_542_079_5e-3
1200 + (5.911_367_118_991_331e-5
1201 + (5.078_239_378_174_484e-7
1202 + (3.573_547_502_585_171_4e-9
1203 + (2.036_976_093_701_707e-11 + 9.126_244_261_333_333e-14 * t)
1204 * t)
1205 * t)
1206 * t)
1207 * t)
1208 * t
1209 }
1210 71_u8 => {
1211 let t = 2.0 * x - 143.0;
1212 3.067_905_052_252_884e-1
1213 + (5.871_472_303_274_54e-3
1214 + (6.224_803_160_219_768e-5
1215 + (5.372_418_576_620_094e-7
1216 + (3.782_799_941_896_024e-9
1217 + (2.149_029_193_044_454e-11 + 9.551_353_918_222_223e-14 * t)
1218 * t)
1219 * t)
1220 * t)
1221 * t)
1222 * t
1223 }
1224 72_u8 => {
1225 let t = 2.0 * x - 145.0;
1226 3.187_868_011_117_332e-1
1227 + (6.127_034_119_233_91e-3
1228 + (6.556_401_225_970_764e-5
1229 + (5.683_793_028_783_774e-7
1230 + (4.003_515_135_339_238e-9
1231 + (2.266_259_634_123_929_5e-11 + 9.989_110_976e-14 * t) * t)
1232 * t)
1233 * t)
1234 * t)
1235 * t
1236 }
1237 73_u8 => {
1238 let t = 2.0 * x - 147.0;
1239 3.313_077_372_215_262_3e-1
1240 + (6.396_240_664_679_808e-3
1241 + (6.907_220_959_294_24e-5
1242 + (6.013_300_666_188_594e-7
1243 + (4.236_218_376_588_347e-9
1244 + (2.388_818_234_707_369_7e-11
1245 + 1.043_934_981_155_555_5e-13 * t)
1246 * t)
1247 * t)
1248 * t)
1249 * t)
1250 * t
1251 }
1252 74_u8 => {
1253 let t = 2.0 * x - 149.0;
1254 3.443_813_865_804_133_4e-1
1255 + (6.679_882_954_041_4e-3
1256 + (7.278_379_551_860_356e-5
1257 + (6.361_922_044_322_88e-7
1258 + (4.481_449_933_651_445e-9
1259 + (2.516_853_565_128_547_6e-11
1260 + 1.090_186_138_311_111_1e-13 * t)
1261 * t)
1262 * t)
1263 * t)
1264 * t)
1265 * t
1266 }
1267 75_u8 => {
1268 let t = 2.0 * x - 151.0;
1269 3.580_374_497_238_017_5e-1
1270 + (6.978_797_883_488_269e-3
1271 + (7.671_054_337_145_482e-5
1272 + (6.730_681_530_891_739e-7
1273 + (4.739_764_797_584_523e-9
1274 + (2.650_511_414_114_305e-11 + 1.137_639_093_333_333_2e-13 * t)
1275 * t)
1276 * t)
1277 * t)
1278 * t)
1279 * t
1280 }
1281 76_u8 => {
1282 let t = 2.0 * x - 153.0;
1283 3.723_073_489_011_972_7e-1
1284 + (7.293_870_689_646_138e-3
1285 + (8.086_485_454_267_072e-5
1286 + (7.120_648_471_806_269e-7
1287 + (5.011_732_376_974_588_4e-9
1288 + (2.789_934_239_410_007_3e-11
1289 + 1.186_263_761_422_222_2e-13 * t)
1290 * t)
1291 * t)
1292 * t)
1293 * t)
1294 * t
1295 }
1296 77_u8 => {
1297 let t = 2.0 * x - 155.0;
1298 3.872_243_273_055_545e-1
1299 + (7.626_037_516_254_98e-3
1300 + (8.525_978_581_000_461e-5
1301 + (7.532_938_330_517_133e-7
1302 + (5.297_936_136_838_812e-9
1303 + (2.935_260_605_416_409e-11 + 1.236_025_337_066_666_6e-13 * t)
1304 * t)
1305 * t)
1306 * t)
1307 * t)
1308 * t
1309 }
1310 78_u8 => {
1311 let t = 2.0 * x - 157.0;
1312 4.028_235_535_461_694e-1
1313 + (7.976_288_091_502_973e-3
1314 + (8.990_907_734_243_825e-5
1315 + (7.968_713_796_195_619e-7
1316 + (5.598_973_180_736_040_5e-9
1317 + (3.086_624_610_146_486_6e-11
1318 + 1.286_884_194_666_666_8e-13 * t)
1319 * t)
1320 * t)
1321 * t)
1322 * t)
1323 * t
1324 }
1325 79_u8 => {
1326 let t = 2.0 * x - 159.0;
1327 4.191_422_315_891_379e-1
1328 + (8.345_668_518_695_046e-3
1329 + (9.482_718_135_925_016e-5
1330 + (8.429_185_856_178_314e-7
1331 + (5.915_453_775_108_349e-9
1332 + (3.244_155_303_434_747e-11 + 1.338_795_794_311_111e-13 * t)
1333 * t)
1334 * t)
1335 * t)
1336 * t)
1337 * t
1338 }
1339 80_u8 => {
1340 let t = 2.0 * x - 161.0;
1341 4.362_197_163_946_378_6e-1
1342 + (8.735_284_182_828_95e-3
1343 + (1.000_292_914_206_68e-4
1344 + (8.915_614_828_021_988e-7
1345 + (6.248_000_815_078_86e-9
1346 + (3.407_976_098_345_888e-11 + 1.391_710_717_688_888_8e-13 * t)
1347 * t)
1348 * t)
1349 * t)
1350 * t)
1351 * t
1352 }
1353 81_u8 => {
1354 let t = 2.0 * x - 163.0;
1355 4.540_976_354_853_433e-1
1356 + (9.146_302_775_554_824e-3
1357 + (1.055_313_723_244_616_7e-4
1358 + (9.429_311_346_463_863e-7
1359 + (6.597_249_231_221_996e-9
1360 + (3.578_204_179_547_656_4e-11 + 1.445_574_587_2e-13 * t) * t)
1361 * t)
1362 * t)
1363 * t)
1364 * t
1365 }
1366 82_u8 => {
1367 let t = 2.0 * x - 165.0;
1368 4.728_200_166_851_233e-1
1369 + (9.579_957_440_886_046e-3
1370 + (1.113_501_905_800_006_7e-4
1371 + (9.971_637_300_550_903e-7
1372 + (6.963_845_336_995_697e-9
1373 + (3.754_949_908_816_134_6e-11 + 1.500_328_071_288_889e-13 * t)
1374 * t)
1375 * t)
1376 * t)
1377 * t)
1378 * t
1379 }
1380 83_u8 => {
1381 let t = 2.0 * x - 167.0;
1382 4.924_334_222_717_984e-1
1383 + (1.003_755_004_390_949_7e-2
1384 + (1.175_033_454_284_523_5e-4
1385 + (1.054_400_671_618_896_7e-6
1386 + (7.348_446_116_824_222e-9
1387 + (3.938_316_232_643_575e-11 + 1.555_906_911_822_222_3e-13 * t)
1388 * t)
1389 * t)
1390 * t)
1391 * t)
1392 * t
1393 }
1394 84_u8 => {
1395 let t = 2.0 * x - 169.0;
1396 5.129_870_897_920_926e-1
1397 + (1.052_045_456_461_242_7e-2
1398 + (1.240_093_003_749_499_7e-4
1399 + (1.114_788_657_937_126_5e-6
1400 + (7.751_718_455_056_87e-9
1401 + (4.128_398_093_187_262_5e-11 + 1.612_241_968e-13 * t) * t)
1402 * t)
1403 * t)
1404 * t)
1405 * t
1406 }
1407 85_u8 => {
1408 let t = 2.0 * x - 171.0;
1409 5.345_330_797_910_137e-1
1410 + (1.103_012_061_880_072_7e-2
1411 + (1.308_874_151_957_227e-4
1412 + (1.178_479_759_537_451_5e-6
1413 + (8.174_338_306_304_482e-9
1414 + (4.325_281_844_951_708_4e-11 + 1.669_259_264e-13 * t) * t)
1415 * t)
1416 * t)
1417 * t)
1418 * t
1419 }
1420 86_u8 => {
1421 let t = 2.0 * x - 173.0;
1422 5.571_264_307_116_93e-1
1423 + (1.156_807_710_792_973_6e-2
1424 + (1.381_579_783_803_665_2e-4
1425 + (1.245_631_487_926_090_5e-6
1426 + (8.616_989_807_896_932e-9
1427 + (4.529_044_681_153_965e-11 + 1.726_880_108_444_444_3e-13 * t)
1428 * t)
1429 * t)
1430 * t)
1431 * t)
1432 * t
1433 }
1434 87_u8 => {
1435 let t = 2.0 * x - 175.0;
1436 5.808_253_212_251_933e-1
1437 + (1.213_593_599_950_387_8e-2
1438 + (1.458_422_399_666_584e-4
1439 + (1.316_406_857_309_571e-6
1440 + (9.080_364_335_510_602e-9
1441 + (4.739_754_071_312_462e-11 + 1.785_021_160_888_889e-13 * t)
1442 * t)
1443 * t)
1444 * t)
1445 * t)
1446 * t
1447 }
1448 88_u8 => {
1449 let t = 2.0 * x - 177.0;
1450 6.056_912_402_529_337e-1
1451 + (1.273_539_623_952_555e-2
1452 + (1.539_624_447_225_886_4e-4
1453 + (1.390_974_438_538_281_7e-6
1454 + (9.565_159_503_230_623e-9
1455 + (4.957_467_212_766_904e-11 + 1.843_594_556_444_444_4e-13 * t)
1456 * t)
1457 * t)
1458 * t)
1459 * t)
1460 * t
1461 }
1462 89_u8 => {
1463 let t = 2.0 * x - 179.0;
1464 6.317_891_649_471_572e-1
1465 + (1.336_824_779_828_703_2e-2
1466 + (1.625_418_656_276_207_6e-4
1467 + (1.469_508_404_833_405_5e-6
1468 + (1.007_207_810_960_415_2e-8
1469 + (5.182_230_499_568_071e-11 + 1.902_508_142_222_222_3e-13 * t)
1470 * t)
1471 * t)
1472 * t)
1473 * t)
1474 * t
1475 }
1476 90_u8 => {
1477 let t = 2.0 * x - 181.0;
1478 6.591_877_468_972_532e-1
1479 + (1.403_637_585_060_199_2e-2
1480 + (1.716_048_376_025_970_7e-4
1481 + (1.552_188_568_872_318_8e-6
1482 + (1.060_182_703_153_528e-8
1483 + (5.414_079_010_583_752e-11 + 1.961_665_514_666_666_7e-13 * t)
1484 * t)
1485 * t)
1486 * t)
1487 * t)
1488 * t
1489 }
1490 91_u8 => {
1491 let t = 2.0 * x - 183.0;
1492 6.879_595_068_317_443e-1
1493 + (1.474_176_509_136_586_8e-2
1494 + (1.811_767_914_352_043_3e-4
1495 + (1.639_200_410_823_058_4e-6
1496 + (1.115_511_606_801_804_3e-8
1497 + (5.653_036_019_492_569e-11 + 2.020_966_366_222_222_2e-13 * t)
1498 * t)
1499 * t)
1500 * t)
1501 * t)
1502 * t
1503 }
1504 92_u8 => {
1505 let t = 2.0 * x - 185.0;
1506 7.181_810_380_872_997e-1
1507 + (1.548_650_418_711_711_2e-2
1508 + (1.912_842_878_455_092_4e-4
1509 + (1.730_735_096_935_997_5e-6
1510 + (1.173_265_673_611_360_8e-8
1511 + (5.899_112_528_756_384e-11 + 2.080_306_533_333_333_4e-13 * t)
1512 * t)
1513 * t)
1514 * t)
1515 * t)
1516 * t
1517 }
1518 93_u8 => {
1519 let t = 2.0 * x - 187.0;
1520 7.499_332_191_172_625e-1
1521 + (1.627_279_036_404_478_3e-2
1522 + (2.019_550_516_337_791_2e-4
1523 + (1.826_989_488_320_334_8e-6
1524 + (1.233_516_102_163_022_5e-8
1525 + (6.152_306_831_216_908e-11 + 2.139_578_343_111_111_2e-13 * t)
1526 * t)
1527 * t)
1528 * t)
1529 * t)
1530 * t
1531 }
1532 94_u8 => {
1533 let t = 2.0 * x - 189.0;
1534 7.833_014_353_128_349e-1
1535 + (1.710_293_413_265_243e-2
1536 + (2.132_180_058_506_332_8e-4
1537 + (1.928_166_139_554_391_2e-6
1538 + (1.296_334_008_735_434_2e-8
1539 + (6.412_604_099_806_635e-11 + 2.198_670_894_222_222_3e-13 * t)
1540 * t)
1541 * t)
1542 * t)
1543 * t)
1544 * t
1545 }
1546 95_u8 => {
1547 let t = 2.0 * x - 191.0;
1548 8.183_758_104_102_381e-1
1549 + (1.797_936_414_904_422_3e-2
1550 + (2.251_033_059_275_313e-4
1551 + (2.034_473_286_801_817_5e-6
1552 + (1.361_790_294_183_995e-8
1553 + (6.679_976_008_397_248e-11 + 2.257_470_126_222_222e-13 * t)
1554 * t)
1555 * t)
1556 * t)
1557 * t)
1558 * t
1559 }
1560 96_u8 => {
1561 let t = 2.0 * x - 193.0;
1562 8.552_514_477_568_512e-1
1563 + (1.890_463_221_254_756e-2
1564 + (2.376_423_737_037_125_5e-4
1565 + (2.146_124_825_130_639e-6
1566 + (1.429_955_507_187_052_3e-8
1567 + (6.954_380_386_469_418e-11 + 2.315_859_368_888_888_7e-13 * t)
1568 * t)
1569 * t)
1570 * t)
1571 * t)
1572 * t
1573 }
1574 97_u8 => {
1575 let t = 2.0 * x - 195.0;
1576 8.940_286_817_084_994e-1
1577 + (1.988_141_839_912_72e-2
1578 + (2.508_679_312_839_599_4e-4
1579 + (2.263_340_274_758_523_3e-6
1580 + (1.500_899_704_211_653e-8
1581 + (7.235_760_907_504_394e-11 + 2.373_719_473_777_777_7e-13 * t)
1582 * t)
1583 * t)
1584 * t)
1585 * t)
1586 * t
1587 }
1588 98_u8 => {
1589 let t = 2.0 * x - 197.0;
1590 9.348_133_394_287_079e-1
1591 + (2.091_253_632_978_037e-2
1592 + (2.648_140_346_599_848e-4
1593 + (2.386_344_735_975_492_4e-6
1594 + (1.574_692_306_547_218_3e-8
1595 + (7.524_046_814_172_015e-11 + 2.430_929_127_111_111_4e-13 * t)
1596 * t)
1597 * t)
1598 * t)
1599 * t)
1600 * t
1601 }
1602 99_u8 => {
1603 let t = 2.0 * x - 199.0;
1604 9.777_170_133_588_503e-1
1605 + (2.200_093_857_283_048e-2
1606 + (2.795_161_070_268_238e-4
1607 + (2.515_368_832_524_531_6e-6
1608 + (1.651_401_954_782_282e-8
1609 + (7.819_152_682_936_823e-11 + 2.487_365_235_555_555_7e-13 * t)
1610 * t)
1611 * t)
1612 * t)
1613 * t)
1614 * t
1615 }
1616 100_u8..=u8::MAX => 1.0,
1617 }
1618}