\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 -663430944789570432 \lor \neg \left(x \le 783.390084783450561189965810626745223999\right):\\
\;\;\;\;\mathsf{fma}\left(0.2514179000665375252054900556686334311962, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592932686700805788859724998474, \frac{1}{{x}^{5}}, \frac{0.5}{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{\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 \sqrt{\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)}}\right) \cdot x\\
\end{array}double f(double x) {
double r227966 = 1.0;
double r227967 = 0.1049934947;
double r227968 = x;
double r227969 = r227968 * r227968;
double r227970 = r227967 * r227969;
double r227971 = r227966 + r227970;
double r227972 = 0.0424060604;
double r227973 = r227969 * r227969;
double r227974 = r227972 * r227973;
double r227975 = r227971 + r227974;
double r227976 = 0.0072644182;
double r227977 = r227973 * r227969;
double r227978 = r227976 * r227977;
double r227979 = r227975 + r227978;
double r227980 = 0.0005064034;
double r227981 = r227977 * r227969;
double r227982 = r227980 * r227981;
double r227983 = r227979 + r227982;
double r227984 = 0.0001789971;
double r227985 = r227981 * r227969;
double r227986 = r227984 * r227985;
double r227987 = r227983 + r227986;
double r227988 = 0.7715471019;
double r227989 = r227988 * r227969;
double r227990 = r227966 + r227989;
double r227991 = 0.2909738639;
double r227992 = r227991 * r227973;
double r227993 = r227990 + r227992;
double r227994 = 0.0694555761;
double r227995 = r227994 * r227977;
double r227996 = r227993 + r227995;
double r227997 = 0.0140005442;
double r227998 = r227997 * r227981;
double r227999 = r227996 + r227998;
double r228000 = 0.0008327945;
double r228001 = r228000 * r227985;
double r228002 = r227999 + r228001;
double r228003 = 2.0;
double r228004 = r228003 * r227984;
double r228005 = r227985 * r227969;
double r228006 = r228004 * r228005;
double r228007 = r228002 + r228006;
double r228008 = r227987 / r228007;
double r228009 = r228008 * r227968;
return r228009;
}
double f(double x) {
double r228010 = x;
double r228011 = -6.634309447895704e+17;
bool r228012 = r228010 <= r228011;
double r228013 = 783.3900847834506;
bool r228014 = r228010 <= r228013;
double r228015 = !r228014;
bool r228016 = r228012 || r228015;
double r228017 = 0.2514179000665375;
double r228018 = 1.0;
double r228019 = 3.0;
double r228020 = pow(r228010, r228019);
double r228021 = r228018 / r228020;
double r228022 = 0.15298196345929327;
double r228023 = 5.0;
double r228024 = pow(r228010, r228023);
double r228025 = r228018 / r228024;
double r228026 = 0.5;
double r228027 = r228026 / r228010;
double r228028 = fma(r228022, r228025, r228027);
double r228029 = fma(r228017, r228021, r228028);
double r228030 = 1.0;
double r228031 = 0.1049934947;
double r228032 = r228010 * r228010;
double r228033 = r228031 * r228032;
double r228034 = r228030 + r228033;
double r228035 = 0.0424060604;
double r228036 = r228032 * r228032;
double r228037 = r228035 * r228036;
double r228038 = r228034 + r228037;
double r228039 = 0.0072644182;
double r228040 = r228036 * r228032;
double r228041 = r228039 * r228040;
double r228042 = r228038 + r228041;
double r228043 = 0.0005064034;
double r228044 = r228040 * r228032;
double r228045 = r228043 * r228044;
double r228046 = r228042 + r228045;
double r228047 = 0.0001789971;
double r228048 = r228044 * r228032;
double r228049 = r228047 * r228048;
double r228050 = r228046 + r228049;
double r228051 = 0.7715471019;
double r228052 = r228051 * r228032;
double r228053 = r228030 + r228052;
double r228054 = 0.2909738639;
double r228055 = r228054 * r228036;
double r228056 = r228053 + r228055;
double r228057 = 0.0694555761;
double r228058 = r228057 * r228040;
double r228059 = r228056 + r228058;
double r228060 = 0.0140005442;
double r228061 = r228060 * r228044;
double r228062 = r228059 + r228061;
double r228063 = 0.0008327945;
double r228064 = r228063 * r228048;
double r228065 = r228062 + r228064;
double r228066 = 2.0;
double r228067 = r228066 * r228047;
double r228068 = r228048 * r228032;
double r228069 = r228067 * r228068;
double r228070 = r228065 + r228069;
double r228071 = r228050 / r228070;
double r228072 = sqrt(r228071);
double r228073 = r228072 * r228072;
double r228074 = r228073 * r228010;
double r228075 = r228016 ? r228029 : r228074;
return r228075;
}



Bits error versus x
if x < -6.634309447895704e+17 or 783.3900847834506 < x Initial program 60.7
Taylor expanded around inf 0.0
Simplified0.0
if -6.634309447895704e+17 < x < 783.3900847834506Initial program 0.0
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2019354 +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))