\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 -85578346246354.0469 \lor \neg \left(x \le 615.84665928636809\right):\\
\;\;\;\;\left(\frac{0.15298196345929371}{{x}^{5}} + \frac{0.2514179000665373}{{x}^{3}}\right) + \frac{0.5}{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\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)\right) \cdot \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)\right) - \mathsf{fma}\left(0.00726441819999999999, {x}^{6}, \mathsf{fma}\left({x}^{4}, 0.042406060400000001, \mathsf{fma}\left(x \cdot x, 0.1049934947, 1\right)\right)\right) \cdot \mathsf{fma}\left(0.00726441819999999999, {x}^{6}, \mathsf{fma}\left({x}^{4}, 0.042406060400000001, \mathsf{fma}\left(x \cdot x, 0.1049934947, 1\right)\right)\right)\right) \cdot x}{\mathsf{fma}\left({\left(x \cdot x\right)}^{4}, \mathsf{fma}\left(x \cdot x, 8.32794500000000044 \cdot 10^{-4}, 0.014000544199999999\right), \mathsf{fma}\left(2 \cdot {\left(x \cdot x\right)}^{6}, 1.789971 \cdot 10^{-4}, \mathsf{fma}\left(0.069455576099999999, {x}^{6}, \mathsf{fma}\left(0.29097386390000002, {x}^{4}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right)\right)\right) \cdot \mathsf{fma}\left(\mathsf{fma}\left(1.789971 \cdot 10^{-4}, x \cdot x, 5.0640340000000002 \cdot 10^{-4}\right), {\left(x \cdot x\right)}^{4}, -\mathsf{fma}\left(0.00726441819999999999, {x}^{6}, \mathsf{fma}\left({x}^{4}, 0.042406060400000001, \mathsf{fma}\left(x \cdot x, 0.1049934947, 1\right)\right)\right)\right)}\\
\end{array}double f(double x) {
double r185734 = 1.0;
double r185735 = 0.1049934947;
double r185736 = x;
double r185737 = r185736 * r185736;
double r185738 = r185735 * r185737;
double r185739 = r185734 + r185738;
double r185740 = 0.0424060604;
double r185741 = r185737 * r185737;
double r185742 = r185740 * r185741;
double r185743 = r185739 + r185742;
double r185744 = 0.0072644182;
double r185745 = r185741 * r185737;
double r185746 = r185744 * r185745;
double r185747 = r185743 + r185746;
double r185748 = 0.0005064034;
double r185749 = r185745 * r185737;
double r185750 = r185748 * r185749;
double r185751 = r185747 + r185750;
double r185752 = 0.0001789971;
double r185753 = r185749 * r185737;
double r185754 = r185752 * r185753;
double r185755 = r185751 + r185754;
double r185756 = 0.7715471019;
double r185757 = r185756 * r185737;
double r185758 = r185734 + r185757;
double r185759 = 0.2909738639;
double r185760 = r185759 * r185741;
double r185761 = r185758 + r185760;
double r185762 = 0.0694555761;
double r185763 = r185762 * r185745;
double r185764 = r185761 + r185763;
double r185765 = 0.0140005442;
double r185766 = r185765 * r185749;
double r185767 = r185764 + r185766;
double r185768 = 0.0008327945;
double r185769 = r185768 * r185753;
double r185770 = r185767 + r185769;
double r185771 = 2.0;
double r185772 = r185771 * r185752;
double r185773 = r185753 * r185737;
double r185774 = r185772 * r185773;
double r185775 = r185770 + r185774;
double r185776 = r185755 / r185775;
double r185777 = r185776 * r185736;
return r185777;
}
double f(double x) {
double r185778 = x;
double r185779 = -85578346246354.05;
bool r185780 = r185778 <= r185779;
double r185781 = 615.8466592863681;
bool r185782 = r185778 <= r185781;
double r185783 = !r185782;
bool r185784 = r185780 || r185783;
double r185785 = 0.1529819634592937;
double r185786 = 5.0;
double r185787 = pow(r185778, r185786);
double r185788 = r185785 / r185787;
double r185789 = 0.2514179000665373;
double r185790 = 3.0;
double r185791 = pow(r185778, r185790);
double r185792 = r185789 / r185791;
double r185793 = r185788 + r185792;
double r185794 = 0.5;
double r185795 = r185794 / r185778;
double r185796 = r185793 + r185795;
double r185797 = r185778 * r185778;
double r185798 = 4.0;
double r185799 = pow(r185797, r185798);
double r185800 = 0.0005064034;
double r185801 = 0.0001789971;
double r185802 = r185797 * r185801;
double r185803 = r185800 + r185802;
double r185804 = r185799 * r185803;
double r185805 = r185804 * r185804;
double r185806 = 0.0072644182;
double r185807 = 6.0;
double r185808 = pow(r185778, r185807);
double r185809 = pow(r185778, r185798);
double r185810 = 0.0424060604;
double r185811 = 0.1049934947;
double r185812 = 1.0;
double r185813 = fma(r185797, r185811, r185812);
double r185814 = fma(r185809, r185810, r185813);
double r185815 = fma(r185806, r185808, r185814);
double r185816 = r185815 * r185815;
double r185817 = r185805 - r185816;
double r185818 = r185817 * r185778;
double r185819 = 0.0008327945;
double r185820 = 0.0140005442;
double r185821 = fma(r185797, r185819, r185820);
double r185822 = 2.0;
double r185823 = pow(r185797, r185807);
double r185824 = r185822 * r185823;
double r185825 = 0.0694555761;
double r185826 = 0.2909738639;
double r185827 = 0.7715471019;
double r185828 = r185827 * r185778;
double r185829 = fma(r185828, r185778, r185812);
double r185830 = fma(r185826, r185809, r185829);
double r185831 = fma(r185825, r185808, r185830);
double r185832 = fma(r185824, r185801, r185831);
double r185833 = fma(r185799, r185821, r185832);
double r185834 = fma(r185801, r185797, r185800);
double r185835 = -r185815;
double r185836 = fma(r185834, r185799, r185835);
double r185837 = r185833 * r185836;
double r185838 = r185818 / r185837;
double r185839 = r185784 ? r185796 : r185838;
return r185839;
}



Bits error versus x
if x < -85578346246354.05 or 615.8466592863681 < x Initial program 60.2
Simplified60.2
rmApplied flip-+62.6
Applied associate-*l/62.8
Applied associate-/l/62.9
Simplified62.9
Taylor expanded around inf 0.0
Simplified0.0
if -85578346246354.05 < x < 615.8466592863681Initial program 0.0
Simplified0.0
rmApplied flip-+0.0
Applied associate-*l/0.0
Applied associate-/l/0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020046 +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))