\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 -656.5908303529681688814889639616012573242 \lor \neg \left(x \le 735244.049645020510070025920867919921875\right):\\
\;\;\;\;\mathsf{fma}\left(0.2514179000665375252054900556686334311962, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592932686700805788859724998474, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{\sqrt{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.2909738639000000182122107617033179849386 \cdot x, {x}^{3}, \mathsf{fma}\left(0.7715471018999999763821051601553335785866 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.06945557609999999937322456844412954524159 + \left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743\right)}} \cdot \frac{x}{\frac{-\sqrt{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right)\right) + \mathsf{fma}\left(0.2909738639000000182122107617033179849386 \cdot x, {x}^{3}, \mathsf{fma}\left(0.7715471018999999763821051601553335785866 \cdot x, x, 1\right)\right)\right) + {x}^{6} \cdot \left(0.06945557609999999937322456844412954524159 + \left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743\right)}}{\left(-{x}^{4}\right) \cdot \mathsf{fma}\left(x, x \cdot 0.007264418199999999985194687468492702464573, 0.04240606040000000076517494562722276896238\right) + \left(-\mathsf{fma}\left({\left(x \cdot x\right)}^{4}, 5.064034000000000243502107366566633572802 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}, \mathsf{fma}\left(0.1049934946999999951788851149103720672429 \cdot x, x, 1\right)\right)\right)}}\\
\end{array}double f(double x) {
double r281151 = 1.0;
double r281152 = 0.1049934947;
double r281153 = x;
double r281154 = r281153 * r281153;
double r281155 = r281152 * r281154;
double r281156 = r281151 + r281155;
double r281157 = 0.0424060604;
double r281158 = r281154 * r281154;
double r281159 = r281157 * r281158;
double r281160 = r281156 + r281159;
double r281161 = 0.0072644182;
double r281162 = r281158 * r281154;
double r281163 = r281161 * r281162;
double r281164 = r281160 + r281163;
double r281165 = 0.0005064034;
double r281166 = r281162 * r281154;
double r281167 = r281165 * r281166;
double r281168 = r281164 + r281167;
double r281169 = 0.0001789971;
double r281170 = r281166 * r281154;
double r281171 = r281169 * r281170;
double r281172 = r281168 + r281171;
double r281173 = 0.7715471019;
double r281174 = r281173 * r281154;
double r281175 = r281151 + r281174;
double r281176 = 0.2909738639;
double r281177 = r281176 * r281158;
double r281178 = r281175 + r281177;
double r281179 = 0.0694555761;
double r281180 = r281179 * r281162;
double r281181 = r281178 + r281180;
double r281182 = 0.0140005442;
double r281183 = r281182 * r281166;
double r281184 = r281181 + r281183;
double r281185 = 0.0008327945;
double r281186 = r281185 * r281170;
double r281187 = r281184 + r281186;
double r281188 = 2.0;
double r281189 = r281188 * r281169;
double r281190 = r281170 * r281154;
double r281191 = r281189 * r281190;
double r281192 = r281187 + r281191;
double r281193 = r281172 / r281192;
double r281194 = r281193 * r281153;
return r281194;
}
double f(double x) {
double r281195 = x;
double r281196 = -656.5908303529682;
bool r281197 = r281195 <= r281196;
double r281198 = 735244.0496450205;
bool r281199 = r281195 <= r281198;
double r281200 = !r281199;
bool r281201 = r281197 || r281200;
double r281202 = 0.2514179000665375;
double r281203 = 1.0;
double r281204 = 3.0;
double r281205 = pow(r281195, r281204);
double r281206 = r281203 / r281205;
double r281207 = 0.15298196345929327;
double r281208 = 5.0;
double r281209 = pow(r281195, r281208);
double r281210 = r281203 / r281209;
double r281211 = 0.5;
double r281212 = r281203 / r281195;
double r281213 = r281211 * r281212;
double r281214 = fma(r281207, r281210, r281213);
double r281215 = fma(r281202, r281206, r281214);
double r281216 = r281195 * r281195;
double r281217 = pow(r281216, r281204);
double r281218 = r281217 * r281205;
double r281219 = r281195 * r281218;
double r281220 = 0.0008327945;
double r281221 = 2.0;
double r281222 = 0.0001789971;
double r281223 = r281221 * r281222;
double r281224 = r281216 * r281223;
double r281225 = r281220 + r281224;
double r281226 = r281219 * r281225;
double r281227 = 0.2909738639;
double r281228 = r281227 * r281195;
double r281229 = 0.7715471019;
double r281230 = r281229 * r281195;
double r281231 = 1.0;
double r281232 = fma(r281230, r281195, r281231);
double r281233 = fma(r281228, r281205, r281232);
double r281234 = r281226 + r281233;
double r281235 = 6.0;
double r281236 = pow(r281195, r281235);
double r281237 = 0.0694555761;
double r281238 = 0.0140005442;
double r281239 = r281216 * r281238;
double r281240 = r281237 + r281239;
double r281241 = r281236 * r281240;
double r281242 = r281234 + r281241;
double r281243 = sqrt(r281242);
double r281244 = r281203 / r281243;
double r281245 = -r281243;
double r281246 = 4.0;
double r281247 = pow(r281195, r281246);
double r281248 = -r281247;
double r281249 = 0.0072644182;
double r281250 = r281195 * r281249;
double r281251 = 0.0424060604;
double r281252 = fma(r281195, r281250, r281251);
double r281253 = r281248 * r281252;
double r281254 = pow(r281216, r281246);
double r281255 = 0.0005064034;
double r281256 = r281216 * r281222;
double r281257 = r281255 + r281256;
double r281258 = 0.1049934947;
double r281259 = r281258 * r281195;
double r281260 = fma(r281259, r281195, r281231);
double r281261 = fma(r281254, r281257, r281260);
double r281262 = -r281261;
double r281263 = r281253 + r281262;
double r281264 = r281245 / r281263;
double r281265 = r281195 / r281264;
double r281266 = r281244 * r281265;
double r281267 = r281201 ? r281215 : r281266;
return r281267;
}



Bits error versus x
if x < -656.5908303529682 or 735244.0496450205 < x Initial program 59.9
Simplified59.8
Taylor expanded around inf 0.0
Simplified0.0
if -656.5908303529682 < x < 735244.0496450205Initial program 0.0
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied add-sqr-sqrt0.0
Applied times-frac0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Simplified0.0
rmApplied frac-2neg0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020001 +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))