\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \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) + 0.0001789971 \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.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \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) + 0.0008327945 \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 0.0001789971\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 -893.6926982506372:\\
\;\;\;\;\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.15298196345929327}{{x}^{5}}\right)\\
\mathbf{elif}\;x \le 671.533649422439:\\
\;\;\;\;\frac{\mathsf{fma}\left(x \cdot x, \mathsf{fma}\left(0.0005064034, \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), 0.0001789971 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right), \mathsf{fma}\left(0.0072644182, \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \mathsf{fma}\left(x \cdot x, 0.1049934947, 1\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)}{\mathsf{fma}\left(x \cdot x, \mathsf{fma}\left(0.0008327945, \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), 2 \cdot \left(\left(\left(x \cdot x\right) \cdot 0.0001789971\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right), \mathsf{fma}\left(x \cdot x, \mathsf{fma}\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right), 0.0694555761, 0.0140005442 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right), \mathsf{fma}\left(0.2909738639, \left(x \cdot x\right) \cdot \left(x \cdot x\right), \mathsf{fma}\left(x \cdot x, 0.7715471019, 1\right)\right)\right)\right)} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.15298196345929327}{{x}^{5}}\right)\\
\end{array}double f(double x) {
double r5437598 = 1.0;
double r5437599 = 0.1049934947;
double r5437600 = x;
double r5437601 = r5437600 * r5437600;
double r5437602 = r5437599 * r5437601;
double r5437603 = r5437598 + r5437602;
double r5437604 = 0.0424060604;
double r5437605 = r5437601 * r5437601;
double r5437606 = r5437604 * r5437605;
double r5437607 = r5437603 + r5437606;
double r5437608 = 0.0072644182;
double r5437609 = r5437605 * r5437601;
double r5437610 = r5437608 * r5437609;
double r5437611 = r5437607 + r5437610;
double r5437612 = 0.0005064034;
double r5437613 = r5437609 * r5437601;
double r5437614 = r5437612 * r5437613;
double r5437615 = r5437611 + r5437614;
double r5437616 = 0.0001789971;
double r5437617 = r5437613 * r5437601;
double r5437618 = r5437616 * r5437617;
double r5437619 = r5437615 + r5437618;
double r5437620 = 0.7715471019;
double r5437621 = r5437620 * r5437601;
double r5437622 = r5437598 + r5437621;
double r5437623 = 0.2909738639;
double r5437624 = r5437623 * r5437605;
double r5437625 = r5437622 + r5437624;
double r5437626 = 0.0694555761;
double r5437627 = r5437626 * r5437609;
double r5437628 = r5437625 + r5437627;
double r5437629 = 0.0140005442;
double r5437630 = r5437629 * r5437613;
double r5437631 = r5437628 + r5437630;
double r5437632 = 0.0008327945;
double r5437633 = r5437632 * r5437617;
double r5437634 = r5437631 + r5437633;
double r5437635 = 2.0;
double r5437636 = r5437635 * r5437616;
double r5437637 = r5437617 * r5437601;
double r5437638 = r5437636 * r5437637;
double r5437639 = r5437634 + r5437638;
double r5437640 = r5437619 / r5437639;
double r5437641 = r5437640 * r5437600;
return r5437641;
}
double f(double x) {
double r5437642 = x;
double r5437643 = -893.6926982506372;
bool r5437644 = r5437642 <= r5437643;
double r5437645 = 0.2514179000665375;
double r5437646 = r5437642 * r5437642;
double r5437647 = r5437646 * r5437642;
double r5437648 = r5437645 / r5437647;
double r5437649 = 0.5;
double r5437650 = r5437649 / r5437642;
double r5437651 = 0.15298196345929327;
double r5437652 = 5.0;
double r5437653 = pow(r5437642, r5437652);
double r5437654 = r5437651 / r5437653;
double r5437655 = r5437650 + r5437654;
double r5437656 = r5437648 + r5437655;
double r5437657 = 671.533649422439;
bool r5437658 = r5437642 <= r5437657;
double r5437659 = 0.0005064034;
double r5437660 = r5437646 * r5437646;
double r5437661 = r5437646 * r5437660;
double r5437662 = 0.0001789971;
double r5437663 = r5437660 * r5437660;
double r5437664 = r5437662 * r5437663;
double r5437665 = fma(r5437659, r5437661, r5437664);
double r5437666 = 0.0072644182;
double r5437667 = 0.1049934947;
double r5437668 = 1.0;
double r5437669 = fma(r5437646, r5437667, r5437668);
double r5437670 = fma(r5437666, r5437661, r5437669);
double r5437671 = 0.0424060604;
double r5437672 = r5437671 * r5437660;
double r5437673 = r5437670 + r5437672;
double r5437674 = fma(r5437646, r5437665, r5437673);
double r5437675 = 0.0008327945;
double r5437676 = 2.0;
double r5437677 = r5437646 * r5437662;
double r5437678 = r5437677 * r5437663;
double r5437679 = r5437676 * r5437678;
double r5437680 = fma(r5437675, r5437663, r5437679);
double r5437681 = 0.0694555761;
double r5437682 = 0.0140005442;
double r5437683 = r5437682 * r5437661;
double r5437684 = fma(r5437660, r5437681, r5437683);
double r5437685 = 0.2909738639;
double r5437686 = 0.7715471019;
double r5437687 = fma(r5437646, r5437686, r5437668);
double r5437688 = fma(r5437685, r5437660, r5437687);
double r5437689 = fma(r5437646, r5437684, r5437688);
double r5437690 = fma(r5437646, r5437680, r5437689);
double r5437691 = r5437674 / r5437690;
double r5437692 = r5437691 * r5437642;
double r5437693 = r5437658 ? r5437692 : r5437656;
double r5437694 = r5437644 ? r5437656 : r5437693;
return r5437694;
}



Bits error versus x
if x < -893.6926982506372 or 671.533649422439 < x Initial program 58.2
Taylor expanded around inf 0.0
Simplified0.0
if -893.6926982506372 < x < 671.533649422439Initial program 0.0
rmApplied *-un-lft-identity0.0
Applied associate-*r*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 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))