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