\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \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.789971 \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.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \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.32794500000000044 \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.789971 \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 -995.509519314349404 \lor \neg \left(x \le 901.19586720631469\right):\\
\;\;\;\;0.25141790006653753 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592933 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \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.789971 \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) \cdot \left(\frac{1}{\left(\left(\left(\left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \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.32794500000000044 \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.789971 \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\right)\\
\end{array}double f(double x) {
double r180458 = 1.0;
double r180459 = 0.1049934947;
double r180460 = x;
double r180461 = r180460 * r180460;
double r180462 = r180459 * r180461;
double r180463 = r180458 + r180462;
double r180464 = 0.0424060604;
double r180465 = r180461 * r180461;
double r180466 = r180464 * r180465;
double r180467 = r180463 + r180466;
double r180468 = 0.0072644182;
double r180469 = r180465 * r180461;
double r180470 = r180468 * r180469;
double r180471 = r180467 + r180470;
double r180472 = 0.0005064034;
double r180473 = r180469 * r180461;
double r180474 = r180472 * r180473;
double r180475 = r180471 + r180474;
double r180476 = 0.0001789971;
double r180477 = r180473 * r180461;
double r180478 = r180476 * r180477;
double r180479 = r180475 + r180478;
double r180480 = 0.7715471019;
double r180481 = r180480 * r180461;
double r180482 = r180458 + r180481;
double r180483 = 0.2909738639;
double r180484 = r180483 * r180465;
double r180485 = r180482 + r180484;
double r180486 = 0.0694555761;
double r180487 = r180486 * r180469;
double r180488 = r180485 + r180487;
double r180489 = 0.0140005442;
double r180490 = r180489 * r180473;
double r180491 = r180488 + r180490;
double r180492 = 0.0008327945;
double r180493 = r180492 * r180477;
double r180494 = r180491 + r180493;
double r180495 = 2.0;
double r180496 = r180495 * r180476;
double r180497 = r180477 * r180461;
double r180498 = r180496 * r180497;
double r180499 = r180494 + r180498;
double r180500 = r180479 / r180499;
double r180501 = r180500 * r180460;
return r180501;
}
double f(double x) {
double r180502 = x;
double r180503 = -995.5095193143494;
bool r180504 = r180502 <= r180503;
double r180505 = 901.1958672063147;
bool r180506 = r180502 <= r180505;
double r180507 = !r180506;
bool r180508 = r180504 || r180507;
double r180509 = 0.2514179000665375;
double r180510 = 1.0;
double r180511 = 3.0;
double r180512 = pow(r180502, r180511);
double r180513 = r180510 / r180512;
double r180514 = r180509 * r180513;
double r180515 = 0.15298196345929327;
double r180516 = 5.0;
double r180517 = pow(r180502, r180516);
double r180518 = r180510 / r180517;
double r180519 = r180515 * r180518;
double r180520 = 0.5;
double r180521 = r180510 / r180502;
double r180522 = r180520 * r180521;
double r180523 = r180519 + r180522;
double r180524 = r180514 + r180523;
double r180525 = 1.0;
double r180526 = 0.1049934947;
double r180527 = r180502 * r180502;
double r180528 = r180526 * r180527;
double r180529 = r180525 + r180528;
double r180530 = 0.0424060604;
double r180531 = r180527 * r180527;
double r180532 = r180530 * r180531;
double r180533 = r180529 + r180532;
double r180534 = 0.0072644182;
double r180535 = r180531 * r180527;
double r180536 = r180534 * r180535;
double r180537 = r180533 + r180536;
double r180538 = 0.0005064034;
double r180539 = r180535 * r180527;
double r180540 = r180538 * r180539;
double r180541 = r180537 + r180540;
double r180542 = 0.0001789971;
double r180543 = r180539 * r180527;
double r180544 = r180542 * r180543;
double r180545 = r180541 + r180544;
double r180546 = 0.7715471019;
double r180547 = r180546 * r180527;
double r180548 = r180525 + r180547;
double r180549 = 0.2909738639;
double r180550 = r180549 * r180531;
double r180551 = r180548 + r180550;
double r180552 = 0.0694555761;
double r180553 = r180552 * r180535;
double r180554 = r180551 + r180553;
double r180555 = 0.0140005442;
double r180556 = r180555 * r180539;
double r180557 = r180554 + r180556;
double r180558 = 0.0008327945;
double r180559 = r180558 * r180543;
double r180560 = r180557 + r180559;
double r180561 = 2.0;
double r180562 = r180561 * r180542;
double r180563 = r180543 * r180527;
double r180564 = r180562 * r180563;
double r180565 = r180560 + r180564;
double r180566 = r180510 / r180565;
double r180567 = r180566 * r180502;
double r180568 = r180545 * r180567;
double r180569 = r180508 ? r180524 : r180568;
return r180569;
}



Bits error versus x
Results
if x < -995.5095193143494 or 901.1958672063147 < x Initial program 59.3
Simplified59.2
Taylor expanded around inf 0.0
if -995.5095193143494 < x < 901.1958672063147Initial program 0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020003
(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))