\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \cdot 10^{-4} \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 1.789971 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 8.32794500000000044 \cdot 10^{-4} \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\begin{array}{l}
\mathbf{if}\;x \le -11921922.1905300114 \lor \neg \left(x \le 341298.60975052114\right):\\
\;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{x}{\mathsf{fma}\left({x}^{6}, \mathsf{fma}\left(x, x \cdot 0.014000544199999999, 0.069455576099999999\right), \mathsf{fma}\left(\left(2 \cdot {x}^{2}\right) \cdot 1.789971 \cdot 10^{-4} + 8.32794500000000044 \cdot 10^{-4}, x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right), \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right)\right)}}{\frac{1}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}\right) + \mathsf{fma}\left(0.1049934947 \cdot x, x, 1\right)\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left(x \cdot x\right) \cdot 0.00726441819999999999\right)}}\\
\end{array}double f(double x) {
double r190444 = 1.0;
double r190445 = 0.1049934947;
double r190446 = x;
double r190447 = r190446 * r190446;
double r190448 = r190445 * r190447;
double r190449 = r190444 + r190448;
double r190450 = 0.0424060604;
double r190451 = r190447 * r190447;
double r190452 = r190450 * r190451;
double r190453 = r190449 + r190452;
double r190454 = 0.0072644182;
double r190455 = r190451 * r190447;
double r190456 = r190454 * r190455;
double r190457 = r190453 + r190456;
double r190458 = 0.0005064034;
double r190459 = r190455 * r190447;
double r190460 = r190458 * r190459;
double r190461 = r190457 + r190460;
double r190462 = 0.0001789971;
double r190463 = r190459 * r190447;
double r190464 = r190462 * r190463;
double r190465 = r190461 + r190464;
double r190466 = 0.7715471019;
double r190467 = r190466 * r190447;
double r190468 = r190444 + r190467;
double r190469 = 0.2909738639;
double r190470 = r190469 * r190451;
double r190471 = r190468 + r190470;
double r190472 = 0.0694555761;
double r190473 = r190472 * r190455;
double r190474 = r190471 + r190473;
double r190475 = 0.0140005442;
double r190476 = r190475 * r190459;
double r190477 = r190474 + r190476;
double r190478 = 0.0008327945;
double r190479 = r190478 * r190463;
double r190480 = r190477 + r190479;
double r190481 = 2.0;
double r190482 = r190481 * r190462;
double r190483 = r190463 * r190447;
double r190484 = r190482 * r190483;
double r190485 = r190480 + r190484;
double r190486 = r190465 / r190485;
double r190487 = r190486 * r190446;
return r190487;
}
double f(double x) {
double r190488 = x;
double r190489 = -11921922.190530011;
bool r190490 = r190488 <= r190489;
double r190491 = 341298.60975052114;
bool r190492 = r190488 <= r190491;
double r190493 = !r190492;
bool r190494 = r190490 || r190493;
double r190495 = 0.2514179000665375;
double r190496 = 1.0;
double r190497 = 3.0;
double r190498 = pow(r190488, r190497);
double r190499 = r190496 / r190498;
double r190500 = 0.15298196345929327;
double r190501 = 5.0;
double r190502 = pow(r190488, r190501);
double r190503 = r190496 / r190502;
double r190504 = 0.5;
double r190505 = r190496 / r190488;
double r190506 = r190504 * r190505;
double r190507 = fma(r190500, r190503, r190506);
double r190508 = fma(r190495, r190499, r190507);
double r190509 = 6.0;
double r190510 = pow(r190488, r190509);
double r190511 = 0.0140005442;
double r190512 = r190488 * r190511;
double r190513 = 0.0694555761;
double r190514 = fma(r190488, r190512, r190513);
double r190515 = 2.0;
double r190516 = 2.0;
double r190517 = pow(r190488, r190516);
double r190518 = r190515 * r190517;
double r190519 = 0.0001789971;
double r190520 = r190518 * r190519;
double r190521 = 0.0008327945;
double r190522 = r190520 + r190521;
double r190523 = r190488 * r190488;
double r190524 = pow(r190523, r190497);
double r190525 = r190524 * r190498;
double r190526 = r190488 * r190525;
double r190527 = 0.2909738639;
double r190528 = r190527 * r190488;
double r190529 = 0.7715471019;
double r190530 = r190529 * r190488;
double r190531 = 1.0;
double r190532 = fma(r190530, r190488, r190531);
double r190533 = fma(r190528, r190498, r190532);
double r190534 = fma(r190522, r190526, r190533);
double r190535 = fma(r190510, r190514, r190534);
double r190536 = r190488 / r190535;
double r190537 = 4.0;
double r190538 = pow(r190523, r190537);
double r190539 = 0.0005064034;
double r190540 = r190523 * r190519;
double r190541 = r190539 + r190540;
double r190542 = r190538 * r190541;
double r190543 = 0.1049934947;
double r190544 = r190543 * r190488;
double r190545 = fma(r190544, r190488, r190531);
double r190546 = r190542 + r190545;
double r190547 = pow(r190488, r190537);
double r190548 = 0.0424060604;
double r190549 = 0.0072644182;
double r190550 = r190523 * r190549;
double r190551 = r190548 + r190550;
double r190552 = r190547 * r190551;
double r190553 = r190546 + r190552;
double r190554 = r190496 / r190553;
double r190555 = r190536 / r190554;
double r190556 = r190494 ? r190508 : r190555;
return r190556;
}



Bits error versus x
if x < -11921922.190530011 or 341298.60975052114 < x Initial program 59.8
Simplified59.8
Taylor expanded around inf 0.0
Simplified0.0
if -11921922.190530011 < x < 341298.60975052114Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-/r*0.0
Simplified0.0
rmApplied fma-udef0.0
Final simplification0.0
herbie shell --seed 2020036 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
:precision binary64
(* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))