\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \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) + 0.0001789971 \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.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \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) + 0.0008327945 \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 0.0001789971\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 -1883270222249.2485:\\
\;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 664.282438900976:\\
\;\;\;\;x \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0001789971 + 0.0424060604\right) + \left(\left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 1\right) + \left(0.0005064034 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.1049934947\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \frac{1}{\left(\left(0.0001789971 \cdot \left(2 \cdot \left(x \cdot x\right)\right) + 0.0008327945\right) \cdot \left(x \cdot x\right) + 0.0140005442\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.2909738639 + 1\right) + \left(0.0694555761 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.7715471019\right) \cdot \left(x \cdot x\right)\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r9655275 = 1.0;
double r9655276 = 0.1049934947;
double r9655277 = x;
double r9655278 = r9655277 * r9655277;
double r9655279 = r9655276 * r9655278;
double r9655280 = r9655275 + r9655279;
double r9655281 = 0.0424060604;
double r9655282 = r9655278 * r9655278;
double r9655283 = r9655281 * r9655282;
double r9655284 = r9655280 + r9655283;
double r9655285 = 0.0072644182;
double r9655286 = r9655282 * r9655278;
double r9655287 = r9655285 * r9655286;
double r9655288 = r9655284 + r9655287;
double r9655289 = 0.0005064034;
double r9655290 = r9655286 * r9655278;
double r9655291 = r9655289 * r9655290;
double r9655292 = r9655288 + r9655291;
double r9655293 = 0.0001789971;
double r9655294 = r9655290 * r9655278;
double r9655295 = r9655293 * r9655294;
double r9655296 = r9655292 + r9655295;
double r9655297 = 0.7715471019;
double r9655298 = r9655297 * r9655278;
double r9655299 = r9655275 + r9655298;
double r9655300 = 0.2909738639;
double r9655301 = r9655300 * r9655282;
double r9655302 = r9655299 + r9655301;
double r9655303 = 0.0694555761;
double r9655304 = r9655303 * r9655286;
double r9655305 = r9655302 + r9655304;
double r9655306 = 0.0140005442;
double r9655307 = r9655306 * r9655290;
double r9655308 = r9655305 + r9655307;
double r9655309 = 0.0008327945;
double r9655310 = r9655309 * r9655294;
double r9655311 = r9655308 + r9655310;
double r9655312 = 2.0;
double r9655313 = r9655312 * r9655293;
double r9655314 = r9655294 * r9655278;
double r9655315 = r9655313 * r9655314;
double r9655316 = r9655311 + r9655315;
double r9655317 = r9655296 / r9655316;
double r9655318 = r9655317 * r9655277;
return r9655318;
}
double f(double x) {
double r9655319 = x;
double r9655320 = -1883270222249.2485;
bool r9655321 = r9655319 <= r9655320;
double r9655322 = 0.15298196345929327;
double r9655323 = 5.0;
double r9655324 = pow(r9655319, r9655323);
double r9655325 = r9655322 / r9655324;
double r9655326 = 0.2514179000665375;
double r9655327 = r9655319 * r9655319;
double r9655328 = r9655319 * r9655327;
double r9655329 = r9655326 / r9655328;
double r9655330 = 0.5;
double r9655331 = r9655330 / r9655319;
double r9655332 = r9655329 + r9655331;
double r9655333 = r9655325 + r9655332;
double r9655334 = 664.282438900976;
bool r9655335 = r9655319 <= r9655334;
double r9655336 = r9655327 * r9655327;
double r9655337 = r9655327 * r9655336;
double r9655338 = 0.0001789971;
double r9655339 = r9655337 * r9655338;
double r9655340 = 0.0424060604;
double r9655341 = r9655339 + r9655340;
double r9655342 = r9655336 * r9655341;
double r9655343 = 0.0072644182;
double r9655344 = r9655343 * r9655337;
double r9655345 = 1.0;
double r9655346 = r9655344 + r9655345;
double r9655347 = 0.0005064034;
double r9655348 = r9655347 * r9655337;
double r9655349 = 0.1049934947;
double r9655350 = r9655348 + r9655349;
double r9655351 = r9655350 * r9655327;
double r9655352 = r9655346 + r9655351;
double r9655353 = r9655342 + r9655352;
double r9655354 = 2.0;
double r9655355 = r9655354 * r9655327;
double r9655356 = r9655338 * r9655355;
double r9655357 = 0.0008327945;
double r9655358 = r9655356 + r9655357;
double r9655359 = r9655358 * r9655327;
double r9655360 = 0.0140005442;
double r9655361 = r9655359 + r9655360;
double r9655362 = r9655336 * r9655336;
double r9655363 = r9655361 * r9655362;
double r9655364 = 0.2909738639;
double r9655365 = r9655336 * r9655364;
double r9655366 = r9655365 + r9655345;
double r9655367 = 0.0694555761;
double r9655368 = r9655367 * r9655336;
double r9655369 = 0.7715471019;
double r9655370 = r9655368 + r9655369;
double r9655371 = r9655370 * r9655327;
double r9655372 = r9655366 + r9655371;
double r9655373 = r9655363 + r9655372;
double r9655374 = r9655345 / r9655373;
double r9655375 = r9655353 * r9655374;
double r9655376 = r9655319 * r9655375;
double r9655377 = r9655335 ? r9655376 : r9655333;
double r9655378 = r9655321 ? r9655333 : r9655377;
return r9655378;
}



Bits error versus x
Results
if x < -1883270222249.2485 or 664.282438900976 < x Initial program 59.3
Simplified59.3
rmApplied div-inv59.3
rmApplied associate-*l*59.3
Simplified59.3
Taylor expanded around inf 0.0
Simplified0.0
if -1883270222249.2485 < x < 664.282438900976Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Final simplification0.0
herbie shell --seed 2019164
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 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))