\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 -5045618861.118914:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\mathbf{elif}\;x \le 675.6824609212857:\\
\;\;\;\;\frac{\left(\left(\left(0.0424060604 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0005064034 + \left(x \cdot x\right) \cdot 0.0001789971\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(0.0424060604 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0005064034 + \left(x \cdot x\right) \cdot 0.0001789971\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) - 1\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0072644182 - 0.1049934947\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0072644182\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0072644182\right) - 0.1049934947 \cdot 0.1049934947\right)\right) \cdot \left(\left(0.0424060604 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0005064034 + \left(x \cdot x\right) \cdot 0.0001789971\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) - 1\right)}{\left(\left(\left(0.7715471019 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0694555761\right) \cdot \left(x \cdot x\right) + \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.2909738639 + 1\right)\right) + \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) \cdot \left(0.0001789971 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 2\right) + \left(0.0140005442 + \left(x \cdot x\right) \cdot 0.0008327945\right)\right)\right) \cdot \left(\left(\left(0.0424060604 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0005064034 + \left(x \cdot x\right) \cdot 0.0001789971\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) - 1\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0072644182 - 0.1049934947\right)\right)} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\end{array}double f(double x) {
double r5448334 = 1.0;
double r5448335 = 0.1049934947;
double r5448336 = x;
double r5448337 = r5448336 * r5448336;
double r5448338 = r5448335 * r5448337;
double r5448339 = r5448334 + r5448338;
double r5448340 = 0.0424060604;
double r5448341 = r5448337 * r5448337;
double r5448342 = r5448340 * r5448341;
double r5448343 = r5448339 + r5448342;
double r5448344 = 0.0072644182;
double r5448345 = r5448341 * r5448337;
double r5448346 = r5448344 * r5448345;
double r5448347 = r5448343 + r5448346;
double r5448348 = 0.0005064034;
double r5448349 = r5448345 * r5448337;
double r5448350 = r5448348 * r5448349;
double r5448351 = r5448347 + r5448350;
double r5448352 = 0.0001789971;
double r5448353 = r5448349 * r5448337;
double r5448354 = r5448352 * r5448353;
double r5448355 = r5448351 + r5448354;
double r5448356 = 0.7715471019;
double r5448357 = r5448356 * r5448337;
double r5448358 = r5448334 + r5448357;
double r5448359 = 0.2909738639;
double r5448360 = r5448359 * r5448341;
double r5448361 = r5448358 + r5448360;
double r5448362 = 0.0694555761;
double r5448363 = r5448362 * r5448345;
double r5448364 = r5448361 + r5448363;
double r5448365 = 0.0140005442;
double r5448366 = r5448365 * r5448349;
double r5448367 = r5448364 + r5448366;
double r5448368 = 0.0008327945;
double r5448369 = r5448368 * r5448353;
double r5448370 = r5448367 + r5448369;
double r5448371 = 2.0;
double r5448372 = r5448371 * r5448352;
double r5448373 = r5448353 * r5448337;
double r5448374 = r5448372 * r5448373;
double r5448375 = r5448370 + r5448374;
double r5448376 = r5448355 / r5448375;
double r5448377 = r5448376 * r5448336;
return r5448377;
}
double f(double x) {
double r5448378 = x;
double r5448379 = -5045618861.118914;
bool r5448380 = r5448378 <= r5448379;
double r5448381 = 0.5;
double r5448382 = r5448381 / r5448378;
double r5448383 = 0.15298196345929327;
double r5448384 = r5448378 * r5448378;
double r5448385 = r5448384 * r5448384;
double r5448386 = r5448385 * r5448378;
double r5448387 = r5448383 / r5448386;
double r5448388 = 0.2514179000665375;
double r5448389 = r5448384 * r5448378;
double r5448390 = r5448388 / r5448389;
double r5448391 = r5448387 + r5448390;
double r5448392 = r5448382 + r5448391;
double r5448393 = 675.6824609212857;
bool r5448394 = r5448378 <= r5448393;
double r5448395 = 0.0424060604;
double r5448396 = 0.0005064034;
double r5448397 = 0.0001789971;
double r5448398 = r5448384 * r5448397;
double r5448399 = r5448396 + r5448398;
double r5448400 = r5448385 * r5448399;
double r5448401 = r5448395 + r5448400;
double r5448402 = r5448401 * r5448385;
double r5448403 = r5448402 * r5448402;
double r5448404 = 1.0;
double r5448405 = r5448403 - r5448404;
double r5448406 = 0.0072644182;
double r5448407 = r5448385 * r5448406;
double r5448408 = 0.1049934947;
double r5448409 = r5448407 - r5448408;
double r5448410 = r5448405 * r5448409;
double r5448411 = r5448407 * r5448407;
double r5448412 = r5448408 * r5448408;
double r5448413 = r5448411 - r5448412;
double r5448414 = r5448384 * r5448413;
double r5448415 = r5448402 - r5448404;
double r5448416 = r5448414 * r5448415;
double r5448417 = r5448410 + r5448416;
double r5448418 = 0.7715471019;
double r5448419 = 0.0694555761;
double r5448420 = r5448385 * r5448419;
double r5448421 = r5448418 + r5448420;
double r5448422 = r5448421 * r5448384;
double r5448423 = 0.2909738639;
double r5448424 = r5448385 * r5448423;
double r5448425 = r5448424 + r5448404;
double r5448426 = r5448422 + r5448425;
double r5448427 = r5448385 * r5448385;
double r5448428 = 2.0;
double r5448429 = r5448385 * r5448428;
double r5448430 = r5448397 * r5448429;
double r5448431 = 0.0140005442;
double r5448432 = 0.0008327945;
double r5448433 = r5448384 * r5448432;
double r5448434 = r5448431 + r5448433;
double r5448435 = r5448430 + r5448434;
double r5448436 = r5448427 * r5448435;
double r5448437 = r5448426 + r5448436;
double r5448438 = r5448415 * r5448409;
double r5448439 = r5448437 * r5448438;
double r5448440 = r5448417 / r5448439;
double r5448441 = r5448440 * r5448378;
double r5448442 = r5448394 ? r5448441 : r5448392;
double r5448443 = r5448380 ? r5448392 : r5448442;
return r5448443;
}



Bits error versus x
Results
if x < -5045618861.118914 or 675.6824609212857 < x Initial program 59.0
Simplified59.0
Taylor expanded around inf 0.0
Simplified0.0
if -5045618861.118914 < x < 675.6824609212857Initial program 0.0
Simplified0.0
rmApplied flip-+0.0
Applied associate-*r/0.0
Applied flip-+0.0
Applied frac-add0.0
Applied associate-/l/0.0
Final simplification0.0
herbie shell --seed 2019139
(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))