\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 -1784.44757705902771 \lor \neg \left(x \le 682.769780683471822\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{x}{\sqrt{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\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)}} \cdot \sqrt{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.32794500000000044 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.29097386390000002 \cdot x, {x}^{3}, \mathsf{fma}\left(0.77154710189999998 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.069455576099999999 + \left(x \cdot x\right) \cdot 0.014000544199999999\right)}{\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 r253701 = 1.0;
double r253702 = 0.1049934947;
double r253703 = x;
double r253704 = r253703 * r253703;
double r253705 = r253702 * r253704;
double r253706 = r253701 + r253705;
double r253707 = 0.0424060604;
double r253708 = r253704 * r253704;
double r253709 = r253707 * r253708;
double r253710 = r253706 + r253709;
double r253711 = 0.0072644182;
double r253712 = r253708 * r253704;
double r253713 = r253711 * r253712;
double r253714 = r253710 + r253713;
double r253715 = 0.0005064034;
double r253716 = r253712 * r253704;
double r253717 = r253715 * r253716;
double r253718 = r253714 + r253717;
double r253719 = 0.0001789971;
double r253720 = r253716 * r253704;
double r253721 = r253719 * r253720;
double r253722 = r253718 + r253721;
double r253723 = 0.7715471019;
double r253724 = r253723 * r253704;
double r253725 = r253701 + r253724;
double r253726 = 0.2909738639;
double r253727 = r253726 * r253708;
double r253728 = r253725 + r253727;
double r253729 = 0.0694555761;
double r253730 = r253729 * r253712;
double r253731 = r253728 + r253730;
double r253732 = 0.0140005442;
double r253733 = r253732 * r253716;
double r253734 = r253731 + r253733;
double r253735 = 0.0008327945;
double r253736 = r253735 * r253720;
double r253737 = r253734 + r253736;
double r253738 = 2.0;
double r253739 = r253738 * r253719;
double r253740 = r253720 * r253704;
double r253741 = r253739 * r253740;
double r253742 = r253737 + r253741;
double r253743 = r253722 / r253742;
double r253744 = r253743 * r253703;
return r253744;
}
double f(double x) {
double r253745 = x;
double r253746 = -1784.4475770590277;
bool r253747 = r253745 <= r253746;
double r253748 = 682.7697806834718;
bool r253749 = r253745 <= r253748;
double r253750 = !r253749;
bool r253751 = r253747 || r253750;
double r253752 = 0.2514179000665375;
double r253753 = 1.0;
double r253754 = 3.0;
double r253755 = pow(r253745, r253754);
double r253756 = r253753 / r253755;
double r253757 = 0.15298196345929327;
double r253758 = 5.0;
double r253759 = pow(r253745, r253758);
double r253760 = r253753 / r253759;
double r253761 = 0.5;
double r253762 = r253761 / r253745;
double r253763 = fma(r253757, r253760, r253762);
double r253764 = fma(r253752, r253756, r253763);
double r253765 = r253745 * r253745;
double r253766 = pow(r253765, r253754);
double r253767 = r253766 * r253755;
double r253768 = r253745 * r253767;
double r253769 = 0.0008327945;
double r253770 = 2.0;
double r253771 = 0.0001789971;
double r253772 = r253770 * r253771;
double r253773 = r253765 * r253772;
double r253774 = r253769 + r253773;
double r253775 = r253768 * r253774;
double r253776 = 0.2909738639;
double r253777 = r253776 * r253745;
double r253778 = 0.7715471019;
double r253779 = r253778 * r253745;
double r253780 = 1.0;
double r253781 = fma(r253779, r253745, r253780);
double r253782 = fma(r253777, r253755, r253781);
double r253783 = r253775 + r253782;
double r253784 = 6.0;
double r253785 = pow(r253745, r253784);
double r253786 = 0.0694555761;
double r253787 = 0.0140005442;
double r253788 = r253765 * r253787;
double r253789 = r253786 + r253788;
double r253790 = r253785 * r253789;
double r253791 = r253783 + r253790;
double r253792 = 4.0;
double r253793 = pow(r253765, r253792);
double r253794 = 0.0005064034;
double r253795 = r253765 * r253771;
double r253796 = r253794 + r253795;
double r253797 = r253793 * r253796;
double r253798 = 0.1049934947;
double r253799 = r253798 * r253745;
double r253800 = fma(r253799, r253745, r253780);
double r253801 = r253797 + r253800;
double r253802 = pow(r253745, r253792);
double r253803 = 0.0424060604;
double r253804 = 0.0072644182;
double r253805 = r253765 * r253804;
double r253806 = r253803 + r253805;
double r253807 = r253802 * r253806;
double r253808 = r253801 + r253807;
double r253809 = r253791 / r253808;
double r253810 = sqrt(r253809);
double r253811 = r253810 * r253810;
double r253812 = r253745 / r253811;
double r253813 = r253751 ? r253764 : r253812;
return r253813;
}



Bits error versus x
if x < -1784.4475770590277 or 682.7697806834718 < x Initial program 59.0
Simplified58.9
rmApplied add-sqr-sqrt58.9
rmApplied div-inv58.9
Simplified58.9
Taylor expanded around inf 0.0
Simplified0.0
if -1784.4475770590277 < x < 682.7697806834718Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2020020 +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))