\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 -68541383617.332001 \lor \neg \left(x \le 67037.329509531206\right):\\
\;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, \frac{0.5}{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(\mathsf{fma}\left(2 \cdot {x}^{2}, 1.789971 \cdot 10^{-4}, 8.32794500000000044 \cdot 10^{-4}\right), 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 r216560 = 1.0;
double r216561 = 0.1049934947;
double r216562 = x;
double r216563 = r216562 * r216562;
double r216564 = r216561 * r216563;
double r216565 = r216560 + r216564;
double r216566 = 0.0424060604;
double r216567 = r216563 * r216563;
double r216568 = r216566 * r216567;
double r216569 = r216565 + r216568;
double r216570 = 0.0072644182;
double r216571 = r216567 * r216563;
double r216572 = r216570 * r216571;
double r216573 = r216569 + r216572;
double r216574 = 0.0005064034;
double r216575 = r216571 * r216563;
double r216576 = r216574 * r216575;
double r216577 = r216573 + r216576;
double r216578 = 0.0001789971;
double r216579 = r216575 * r216563;
double r216580 = r216578 * r216579;
double r216581 = r216577 + r216580;
double r216582 = 0.7715471019;
double r216583 = r216582 * r216563;
double r216584 = r216560 + r216583;
double r216585 = 0.2909738639;
double r216586 = r216585 * r216567;
double r216587 = r216584 + r216586;
double r216588 = 0.0694555761;
double r216589 = r216588 * r216571;
double r216590 = r216587 + r216589;
double r216591 = 0.0140005442;
double r216592 = r216591 * r216575;
double r216593 = r216590 + r216592;
double r216594 = 0.0008327945;
double r216595 = r216594 * r216579;
double r216596 = r216593 + r216595;
double r216597 = 2.0;
double r216598 = r216597 * r216578;
double r216599 = r216579 * r216563;
double r216600 = r216598 * r216599;
double r216601 = r216596 + r216600;
double r216602 = r216581 / r216601;
double r216603 = r216602 * r216562;
return r216603;
}
double f(double x) {
double r216604 = x;
double r216605 = -68541383617.332;
bool r216606 = r216604 <= r216605;
double r216607 = 67037.3295095312;
bool r216608 = r216604 <= r216607;
double r216609 = !r216608;
bool r216610 = r216606 || r216609;
double r216611 = 0.2514179000665375;
double r216612 = 1.0;
double r216613 = 3.0;
double r216614 = pow(r216604, r216613);
double r216615 = r216612 / r216614;
double r216616 = 0.15298196345929327;
double r216617 = 5.0;
double r216618 = pow(r216604, r216617);
double r216619 = r216612 / r216618;
double r216620 = 0.5;
double r216621 = r216620 / r216604;
double r216622 = fma(r216616, r216619, r216621);
double r216623 = fma(r216611, r216615, r216622);
double r216624 = 6.0;
double r216625 = pow(r216604, r216624);
double r216626 = 0.0140005442;
double r216627 = r216604 * r216626;
double r216628 = 0.0694555761;
double r216629 = fma(r216604, r216627, r216628);
double r216630 = 2.0;
double r216631 = 2.0;
double r216632 = pow(r216604, r216631);
double r216633 = r216630 * r216632;
double r216634 = 0.0001789971;
double r216635 = 0.0008327945;
double r216636 = fma(r216633, r216634, r216635);
double r216637 = r216604 * r216604;
double r216638 = pow(r216637, r216613);
double r216639 = r216638 * r216614;
double r216640 = r216604 * r216639;
double r216641 = 0.2909738639;
double r216642 = r216641 * r216604;
double r216643 = 0.7715471019;
double r216644 = r216643 * r216604;
double r216645 = 1.0;
double r216646 = fma(r216644, r216604, r216645);
double r216647 = fma(r216642, r216614, r216646);
double r216648 = fma(r216636, r216640, r216647);
double r216649 = fma(r216625, r216629, r216648);
double r216650 = r216604 / r216649;
double r216651 = 4.0;
double r216652 = pow(r216637, r216651);
double r216653 = 0.0005064034;
double r216654 = r216637 * r216634;
double r216655 = r216653 + r216654;
double r216656 = r216652 * r216655;
double r216657 = 0.1049934947;
double r216658 = r216657 * r216604;
double r216659 = fma(r216658, r216604, r216645);
double r216660 = r216656 + r216659;
double r216661 = pow(r216604, r216651);
double r216662 = 0.0424060604;
double r216663 = 0.0072644182;
double r216664 = r216637 * r216663;
double r216665 = r216662 + r216664;
double r216666 = r216661 * r216665;
double r216667 = r216660 + r216666;
double r216668 = r216612 / r216667;
double r216669 = r216650 / r216668;
double r216670 = r216610 ? r216623 : r216669;
return r216670;
}



Bits error versus x
if x < -68541383617.332 or 67037.3295095312 < x Initial program 60.0
Taylor expanded around inf 0.0
Simplified0.0
if -68541383617.332 < x < 67037.3295095312Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-/r*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020024 +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))