\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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 -13972396915744043681447936:\\
\;\;\;\;\left(\frac{0.5}{x} + \frac{\frac{0.2514179000665375252054900556686334311962}{x \cdot x}}{x}\right) + \frac{0.1529819634592932686700805788859724998474}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\\
\mathbf{elif}\;x \le 269399.4827619772986508905887603759765625:\\
\;\;\;\;x \cdot \frac{\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4} + \left(\left(0.007264418199999999985194687468492702464573 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(1 + \left(x \cdot x\right) \cdot 0.1049934946999999951788851149103720672429\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 5.064034000000000243502107366566633572802 \cdot 10^{-4}\right)}{\left(\left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(\left(\left(\left(\left(x \cdot x\right) \cdot 0.7715471018999999763821051601553335785866 + 1\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.06945557609999999937322456844412954524159\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.01400054419999999938406531896362139377743\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{0.5}{x} + \frac{\frac{0.2514179000665375252054900556686334311962}{x \cdot x}}{x}\right) + \frac{0.1529819634592932686700805788859724998474}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\\
\end{array}double f(double x) {
double r7545749 = 1.0;
double r7545750 = 0.1049934947;
double r7545751 = x;
double r7545752 = r7545751 * r7545751;
double r7545753 = r7545750 * r7545752;
double r7545754 = r7545749 + r7545753;
double r7545755 = 0.0424060604;
double r7545756 = r7545752 * r7545752;
double r7545757 = r7545755 * r7545756;
double r7545758 = r7545754 + r7545757;
double r7545759 = 0.0072644182;
double r7545760 = r7545756 * r7545752;
double r7545761 = r7545759 * r7545760;
double r7545762 = r7545758 + r7545761;
double r7545763 = 0.0005064034;
double r7545764 = r7545760 * r7545752;
double r7545765 = r7545763 * r7545764;
double r7545766 = r7545762 + r7545765;
double r7545767 = 0.0001789971;
double r7545768 = r7545764 * r7545752;
double r7545769 = r7545767 * r7545768;
double r7545770 = r7545766 + r7545769;
double r7545771 = 0.7715471019;
double r7545772 = r7545771 * r7545752;
double r7545773 = r7545749 + r7545772;
double r7545774 = 0.2909738639;
double r7545775 = r7545774 * r7545756;
double r7545776 = r7545773 + r7545775;
double r7545777 = 0.0694555761;
double r7545778 = r7545777 * r7545760;
double r7545779 = r7545776 + r7545778;
double r7545780 = 0.0140005442;
double r7545781 = r7545780 * r7545764;
double r7545782 = r7545779 + r7545781;
double r7545783 = 0.0008327945;
double r7545784 = r7545783 * r7545768;
double r7545785 = r7545782 + r7545784;
double r7545786 = 2.0;
double r7545787 = r7545786 * r7545767;
double r7545788 = r7545768 * r7545752;
double r7545789 = r7545787 * r7545788;
double r7545790 = r7545785 + r7545789;
double r7545791 = r7545770 / r7545790;
double r7545792 = r7545791 * r7545751;
return r7545792;
}
double f(double x) {
double r7545793 = x;
double r7545794 = -1.3972396915744044e+25;
bool r7545795 = r7545793 <= r7545794;
double r7545796 = 0.5;
double r7545797 = r7545796 / r7545793;
double r7545798 = 0.2514179000665375;
double r7545799 = r7545793 * r7545793;
double r7545800 = r7545798 / r7545799;
double r7545801 = r7545800 / r7545793;
double r7545802 = r7545797 + r7545801;
double r7545803 = 0.15298196345929327;
double r7545804 = r7545799 * r7545793;
double r7545805 = r7545799 * r7545804;
double r7545806 = r7545803 / r7545805;
double r7545807 = r7545802 + r7545806;
double r7545808 = 269399.4827619773;
bool r7545809 = r7545793 <= r7545808;
double r7545810 = r7545799 * r7545799;
double r7545811 = r7545799 * r7545810;
double r7545812 = r7545799 * r7545811;
double r7545813 = r7545812 * r7545799;
double r7545814 = 0.0001789971;
double r7545815 = r7545813 * r7545814;
double r7545816 = 0.0072644182;
double r7545817 = r7545816 * r7545811;
double r7545818 = 1.0;
double r7545819 = 0.1049934947;
double r7545820 = r7545799 * r7545819;
double r7545821 = r7545818 + r7545820;
double r7545822 = 0.0424060604;
double r7545823 = r7545822 * r7545810;
double r7545824 = r7545821 + r7545823;
double r7545825 = r7545817 + r7545824;
double r7545826 = 0.0005064034;
double r7545827 = r7545812 * r7545826;
double r7545828 = r7545825 + r7545827;
double r7545829 = r7545815 + r7545828;
double r7545830 = 2.0;
double r7545831 = r7545830 * r7545814;
double r7545832 = r7545831 * r7545813;
double r7545833 = r7545832 * r7545799;
double r7545834 = 0.0008327945;
double r7545835 = r7545813 * r7545834;
double r7545836 = 0.7715471019;
double r7545837 = r7545799 * r7545836;
double r7545838 = r7545837 + r7545818;
double r7545839 = 0.2909738639;
double r7545840 = r7545839 * r7545810;
double r7545841 = r7545838 + r7545840;
double r7545842 = 0.0694555761;
double r7545843 = r7545811 * r7545842;
double r7545844 = r7545841 + r7545843;
double r7545845 = 0.0140005442;
double r7545846 = r7545812 * r7545845;
double r7545847 = r7545844 + r7545846;
double r7545848 = r7545835 + r7545847;
double r7545849 = r7545833 + r7545848;
double r7545850 = r7545829 / r7545849;
double r7545851 = r7545793 * r7545850;
double r7545852 = r7545809 ? r7545851 : r7545807;
double r7545853 = r7545795 ? r7545807 : r7545852;
return r7545853;
}



Bits error versus x
Results
if x < -1.3972396915744044e+25 or 269399.4827619773 < x Initial program 61.7
rmApplied associate-*r*61.5
Taylor expanded around inf 0.0
Simplified0.0
if -1.3972396915744044e+25 < x < 269399.4827619773Initial program 0.0
rmApplied associate-*r*0.0
Final simplification0.0
herbie shell --seed 2019174 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))