\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 -2.0011031752809775 \cdot 10^{+19}:\\
\;\;\;\;\frac{0.5 + \frac{0.2514179000665375}{x \cdot x}}{x} + \frac{0.15298196345929327}{{x}^{5}}\\
\mathbf{elif}\;x \le 14796100.34309382:\\
\;\;\;\;\frac{\left(\left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(0.1049934947 \cdot \left(x \cdot x\right) + 1\right)\right)\right) + \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 0.0005064034\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)\right) \cdot x}{\left(\left(x \cdot x\right) \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) \cdot \left(2 \cdot 0.0001789971\right) + \left(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) + \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) + \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 0.0140005442\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.5 + \frac{0.2514179000665375}{x \cdot x}}{x} + \frac{0.15298196345929327}{{x}^{5}}\\
\end{array}double f(double x) {
double r27068295 = 1.0;
double r27068296 = 0.1049934947;
double r27068297 = x;
double r27068298 = r27068297 * r27068297;
double r27068299 = r27068296 * r27068298;
double r27068300 = r27068295 + r27068299;
double r27068301 = 0.0424060604;
double r27068302 = r27068298 * r27068298;
double r27068303 = r27068301 * r27068302;
double r27068304 = r27068300 + r27068303;
double r27068305 = 0.0072644182;
double r27068306 = r27068302 * r27068298;
double r27068307 = r27068305 * r27068306;
double r27068308 = r27068304 + r27068307;
double r27068309 = 0.0005064034;
double r27068310 = r27068306 * r27068298;
double r27068311 = r27068309 * r27068310;
double r27068312 = r27068308 + r27068311;
double r27068313 = 0.0001789971;
double r27068314 = r27068310 * r27068298;
double r27068315 = r27068313 * r27068314;
double r27068316 = r27068312 + r27068315;
double r27068317 = 0.7715471019;
double r27068318 = r27068317 * r27068298;
double r27068319 = r27068295 + r27068318;
double r27068320 = 0.2909738639;
double r27068321 = r27068320 * r27068302;
double r27068322 = r27068319 + r27068321;
double r27068323 = 0.0694555761;
double r27068324 = r27068323 * r27068306;
double r27068325 = r27068322 + r27068324;
double r27068326 = 0.0140005442;
double r27068327 = r27068326 * r27068310;
double r27068328 = r27068325 + r27068327;
double r27068329 = 0.0008327945;
double r27068330 = r27068329 * r27068314;
double r27068331 = r27068328 + r27068330;
double r27068332 = 2.0;
double r27068333 = r27068332 * r27068313;
double r27068334 = r27068314 * r27068298;
double r27068335 = r27068333 * r27068334;
double r27068336 = r27068331 + r27068335;
double r27068337 = r27068316 / r27068336;
double r27068338 = r27068337 * r27068297;
return r27068338;
}
double f(double x) {
double r27068339 = x;
double r27068340 = -2.0011031752809775e+19;
bool r27068341 = r27068339 <= r27068340;
double r27068342 = 0.5;
double r27068343 = 0.2514179000665375;
double r27068344 = r27068339 * r27068339;
double r27068345 = r27068343 / r27068344;
double r27068346 = r27068342 + r27068345;
double r27068347 = r27068346 / r27068339;
double r27068348 = 0.15298196345929327;
double r27068349 = 5.0;
double r27068350 = pow(r27068339, r27068349);
double r27068351 = r27068348 / r27068350;
double r27068352 = r27068347 + r27068351;
double r27068353 = 14796100.34309382;
bool r27068354 = r27068339 <= r27068353;
double r27068355 = 0.0072644182;
double r27068356 = r27068344 * r27068344;
double r27068357 = r27068356 * r27068344;
double r27068358 = r27068355 * r27068357;
double r27068359 = 0.0424060604;
double r27068360 = r27068359 * r27068356;
double r27068361 = 0.1049934947;
double r27068362 = r27068361 * r27068344;
double r27068363 = 1.0;
double r27068364 = r27068362 + r27068363;
double r27068365 = r27068360 + r27068364;
double r27068366 = r27068358 + r27068365;
double r27068367 = r27068357 * r27068344;
double r27068368 = 0.0005064034;
double r27068369 = r27068367 * r27068368;
double r27068370 = r27068366 + r27068369;
double r27068371 = 0.0001789971;
double r27068372 = r27068367 * r27068344;
double r27068373 = r27068371 * r27068372;
double r27068374 = r27068370 + r27068373;
double r27068375 = r27068374 * r27068339;
double r27068376 = r27068344 * r27068372;
double r27068377 = 2.0;
double r27068378 = r27068377 * r27068371;
double r27068379 = r27068376 * r27068378;
double r27068380 = 0.0008327945;
double r27068381 = r27068380 * r27068372;
double r27068382 = 0.7715471019;
double r27068383 = r27068382 * r27068344;
double r27068384 = r27068363 + r27068383;
double r27068385 = 0.2909738639;
double r27068386 = r27068385 * r27068356;
double r27068387 = r27068384 + r27068386;
double r27068388 = 0.0694555761;
double r27068389 = r27068388 * r27068357;
double r27068390 = r27068387 + r27068389;
double r27068391 = 0.0140005442;
double r27068392 = r27068367 * r27068391;
double r27068393 = r27068390 + r27068392;
double r27068394 = r27068381 + r27068393;
double r27068395 = r27068379 + r27068394;
double r27068396 = r27068375 / r27068395;
double r27068397 = r27068354 ? r27068396 : r27068352;
double r27068398 = r27068341 ? r27068352 : r27068397;
return r27068398;
}



Bits error versus x
Results
if x < -2.0011031752809775e+19 or 14796100.34309382 < x Initial program 60.6
Taylor expanded around -inf 0.0
Simplified0.0
if -2.0011031752809775e+19 < x < 14796100.34309382Initial program 0.0
Taylor expanded around -inf 0.0
Simplified0.0
rmApplied associate-*l/0.0
Final simplification0.0
herbie shell --seed 2019121 +o rules:numerics
(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))