\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 -925.5927246340329475060570985078811645508 \lor \neg \left(x \le 48182250.725408665835857391357421875\right):\\
\;\;\;\;\frac{0.2514179000665375252054900556686334311962}{{x}^{3}} + \left(\frac{0.1529819634592932686700805788859724998474}{{x}^{5}} + \frac{0.5}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{\left(\left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) \cdot {\left({x}^{4}\right)}^{3} + 8.327945000000000442749725770852364803432 \cdot 10^{-4} \cdot \left({x}^{8} \cdot \left(x \cdot x\right)\right)\right) + \left(\left({x}^{8} \cdot 0.01400054419999999938406531896362139377743 + \left(\left({x}^{4} \cdot 0.2909738639000000182122107617033179849386 + 1\right) + \left(x \cdot x\right) \cdot 0.7715471018999999763821051601553335785866\right)\right) + 0.06945557609999999937322456844412954524159 \cdot {x}^{6}\right)}{\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + {x}^{4} \cdot 0.04240606040000000076517494562722276896238\right) + \left(\left(\left({x}^{8} \cdot \left(x \cdot x\right)\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4} + {x}^{8} \cdot 5.064034000000000243502107366566633572802 \cdot 10^{-4}\right) + 0.007264418199999999985194687468492702464573 \cdot {x}^{6}\right)}} \cdot x\\
\end{array}double f(double x) {
double r107024 = 1.0;
double r107025 = 0.1049934947;
double r107026 = x;
double r107027 = r107026 * r107026;
double r107028 = r107025 * r107027;
double r107029 = r107024 + r107028;
double r107030 = 0.0424060604;
double r107031 = r107027 * r107027;
double r107032 = r107030 * r107031;
double r107033 = r107029 + r107032;
double r107034 = 0.0072644182;
double r107035 = r107031 * r107027;
double r107036 = r107034 * r107035;
double r107037 = r107033 + r107036;
double r107038 = 0.0005064034;
double r107039 = r107035 * r107027;
double r107040 = r107038 * r107039;
double r107041 = r107037 + r107040;
double r107042 = 0.0001789971;
double r107043 = r107039 * r107027;
double r107044 = r107042 * r107043;
double r107045 = r107041 + r107044;
double r107046 = 0.7715471019;
double r107047 = r107046 * r107027;
double r107048 = r107024 + r107047;
double r107049 = 0.2909738639;
double r107050 = r107049 * r107031;
double r107051 = r107048 + r107050;
double r107052 = 0.0694555761;
double r107053 = r107052 * r107035;
double r107054 = r107051 + r107053;
double r107055 = 0.0140005442;
double r107056 = r107055 * r107039;
double r107057 = r107054 + r107056;
double r107058 = 0.0008327945;
double r107059 = r107058 * r107043;
double r107060 = r107057 + r107059;
double r107061 = 2.0;
double r107062 = r107061 * r107042;
double r107063 = r107043 * r107027;
double r107064 = r107062 * r107063;
double r107065 = r107060 + r107064;
double r107066 = r107045 / r107065;
double r107067 = r107066 * r107026;
return r107067;
}
double f(double x) {
double r107068 = x;
double r107069 = -925.592724634033;
bool r107070 = r107068 <= r107069;
double r107071 = 48182250.725408666;
bool r107072 = r107068 <= r107071;
double r107073 = !r107072;
bool r107074 = r107070 || r107073;
double r107075 = 0.2514179000665375;
double r107076 = 3.0;
double r107077 = pow(r107068, r107076);
double r107078 = r107075 / r107077;
double r107079 = 0.15298196345929327;
double r107080 = 5.0;
double r107081 = pow(r107068, r107080);
double r107082 = r107079 / r107081;
double r107083 = 0.5;
double r107084 = r107083 / r107068;
double r107085 = r107082 + r107084;
double r107086 = r107078 + r107085;
double r107087 = 1.0;
double r107088 = 2.0;
double r107089 = 0.0001789971;
double r107090 = r107088 * r107089;
double r107091 = 4.0;
double r107092 = pow(r107068, r107091);
double r107093 = pow(r107092, r107076);
double r107094 = r107090 * r107093;
double r107095 = 0.0008327945;
double r107096 = 8.0;
double r107097 = pow(r107068, r107096);
double r107098 = r107068 * r107068;
double r107099 = r107097 * r107098;
double r107100 = r107095 * r107099;
double r107101 = r107094 + r107100;
double r107102 = 0.0140005442;
double r107103 = r107097 * r107102;
double r107104 = 0.2909738639;
double r107105 = r107092 * r107104;
double r107106 = 1.0;
double r107107 = r107105 + r107106;
double r107108 = 0.7715471019;
double r107109 = r107098 * r107108;
double r107110 = r107107 + r107109;
double r107111 = r107103 + r107110;
double r107112 = 0.0694555761;
double r107113 = 6.0;
double r107114 = pow(r107068, r107113);
double r107115 = r107112 * r107114;
double r107116 = r107111 + r107115;
double r107117 = r107101 + r107116;
double r107118 = 0.1049934947;
double r107119 = r107118 * r107098;
double r107120 = r107106 + r107119;
double r107121 = 0.0424060604;
double r107122 = r107092 * r107121;
double r107123 = r107120 + r107122;
double r107124 = r107099 * r107089;
double r107125 = 0.0005064034;
double r107126 = r107097 * r107125;
double r107127 = r107124 + r107126;
double r107128 = 0.0072644182;
double r107129 = r107128 * r107114;
double r107130 = r107127 + r107129;
double r107131 = r107123 + r107130;
double r107132 = r107117 / r107131;
double r107133 = r107087 / r107132;
double r107134 = r107133 * r107068;
double r107135 = r107074 ? r107086 : r107134;
return r107135;
}



Bits error versus x
Results
if x < -925.592724634033 or 48182250.725408666 < x Initial program 59.9
Taylor expanded around inf 0.0
Simplified0.0
if -925.592724634033 < x < 48182250.725408666Initial program 0.0
Taylor expanded around 0 0.0
Simplified0.0
rmApplied clear-num0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019196
(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))