\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 -4225810792053910.5 \lor \neg \left(x \le 789.2064757894585227404604665935039520264\right):\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{{x}^{5}} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{{x}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(-\left(\left({x}^{8} \cdot \left(x \cdot x\right)\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4} + \left(\left(0.007264418199999999985194687468492702464573 \cdot {\left(x \cdot x\right)}^{3} + \left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot {x}^{4}\right)\right) + 5.064034000000000243502107366566633572802 \cdot 10^{-4} \cdot {x}^{8}\right)\right)\right) \cdot \frac{x}{-\left(\left(\left({x}^{6} \cdot 0.06945557609999999937322456844412954524159 + 0.01400054419999999938406531896362139377743 \cdot {x}^{8}\right) + \left(0.2909738639000000182122107617033179849386 \cdot {x}^{4} + \left(0.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right) + 1\right)\right)\right) + \left(\left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) \cdot {\left({x}^{4}\right)}^{3} + \left(x \cdot x\right) \cdot \left({x}^{8} \cdot 8.327945000000000442749725770852364803432 \cdot 10^{-4}\right)\right)\right)}\\
\end{array}double f(double x) {
double r112032 = 1.0;
double r112033 = 0.1049934947;
double r112034 = x;
double r112035 = r112034 * r112034;
double r112036 = r112033 * r112035;
double r112037 = r112032 + r112036;
double r112038 = 0.0424060604;
double r112039 = r112035 * r112035;
double r112040 = r112038 * r112039;
double r112041 = r112037 + r112040;
double r112042 = 0.0072644182;
double r112043 = r112039 * r112035;
double r112044 = r112042 * r112043;
double r112045 = r112041 + r112044;
double r112046 = 0.0005064034;
double r112047 = r112043 * r112035;
double r112048 = r112046 * r112047;
double r112049 = r112045 + r112048;
double r112050 = 0.0001789971;
double r112051 = r112047 * r112035;
double r112052 = r112050 * r112051;
double r112053 = r112049 + r112052;
double r112054 = 0.7715471019;
double r112055 = r112054 * r112035;
double r112056 = r112032 + r112055;
double r112057 = 0.2909738639;
double r112058 = r112057 * r112039;
double r112059 = r112056 + r112058;
double r112060 = 0.0694555761;
double r112061 = r112060 * r112043;
double r112062 = r112059 + r112061;
double r112063 = 0.0140005442;
double r112064 = r112063 * r112047;
double r112065 = r112062 + r112064;
double r112066 = 0.0008327945;
double r112067 = r112066 * r112051;
double r112068 = r112065 + r112067;
double r112069 = 2.0;
double r112070 = r112069 * r112050;
double r112071 = r112051 * r112035;
double r112072 = r112070 * r112071;
double r112073 = r112068 + r112072;
double r112074 = r112053 / r112073;
double r112075 = r112074 * r112034;
return r112075;
}
double f(double x) {
double r112076 = x;
double r112077 = -4225810792053910.5;
bool r112078 = r112076 <= r112077;
double r112079 = 789.2064757894585;
bool r112080 = r112076 <= r112079;
double r112081 = !r112080;
bool r112082 = r112078 || r112081;
double r112083 = 0.15298196345929327;
double r112084 = 5.0;
double r112085 = pow(r112076, r112084);
double r112086 = r112083 / r112085;
double r112087 = 0.5;
double r112088 = r112087 / r112076;
double r112089 = 0.2514179000665375;
double r112090 = 3.0;
double r112091 = pow(r112076, r112090);
double r112092 = r112089 / r112091;
double r112093 = r112088 + r112092;
double r112094 = r112086 + r112093;
double r112095 = 8.0;
double r112096 = pow(r112076, r112095);
double r112097 = r112076 * r112076;
double r112098 = r112096 * r112097;
double r112099 = 0.0001789971;
double r112100 = r112098 * r112099;
double r112101 = 0.0072644182;
double r112102 = pow(r112097, r112090);
double r112103 = r112101 * r112102;
double r112104 = 1.0;
double r112105 = 0.1049934947;
double r112106 = r112105 * r112097;
double r112107 = r112104 + r112106;
double r112108 = 0.0424060604;
double r112109 = 4.0;
double r112110 = pow(r112076, r112109);
double r112111 = r112108 * r112110;
double r112112 = r112107 + r112111;
double r112113 = r112103 + r112112;
double r112114 = 0.0005064034;
double r112115 = r112114 * r112096;
double r112116 = r112113 + r112115;
double r112117 = r112100 + r112116;
double r112118 = -r112117;
double r112119 = 6.0;
double r112120 = pow(r112076, r112119);
double r112121 = 0.0694555761;
double r112122 = r112120 * r112121;
double r112123 = 0.0140005442;
double r112124 = r112123 * r112096;
double r112125 = r112122 + r112124;
double r112126 = 0.2909738639;
double r112127 = r112126 * r112110;
double r112128 = 0.7715471019;
double r112129 = r112128 * r112097;
double r112130 = r112129 + r112104;
double r112131 = r112127 + r112130;
double r112132 = r112125 + r112131;
double r112133 = 2.0;
double r112134 = r112133 * r112099;
double r112135 = pow(r112110, r112090);
double r112136 = r112134 * r112135;
double r112137 = 0.0008327945;
double r112138 = r112096 * r112137;
double r112139 = r112097 * r112138;
double r112140 = r112136 + r112139;
double r112141 = r112132 + r112140;
double r112142 = -r112141;
double r112143 = r112076 / r112142;
double r112144 = r112118 * r112143;
double r112145 = r112082 ? r112094 : r112144;
return r112145;
}



Bits error versus x
Results
if x < -4225810792053910.5 or 789.2064757894585 < x Initial program 60.4
Taylor expanded around inf 0.0
Simplified0.0
if -4225810792053910.5 < x < 789.2064757894585Initial program 0.0
rmApplied frac-2neg0.0
Simplified0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019194
(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))