\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 -1045055511.3804789 \lor \neg \left(x \le 28223982.694208361\right):\\
\;\;\;\;\left(\frac{0.25141790006653753}{{x}^{3}} + \frac{0.1529819634592933}{{x}^{5}}\right) + \frac{0.5}{x}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot {x}^{2}\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\\
\end{array}double f(double x) {
double r247494 = 1.0;
double r247495 = 0.1049934947;
double r247496 = x;
double r247497 = r247496 * r247496;
double r247498 = r247495 * r247497;
double r247499 = r247494 + r247498;
double r247500 = 0.0424060604;
double r247501 = r247497 * r247497;
double r247502 = r247500 * r247501;
double r247503 = r247499 + r247502;
double r247504 = 0.0072644182;
double r247505 = r247501 * r247497;
double r247506 = r247504 * r247505;
double r247507 = r247503 + r247506;
double r247508 = 0.0005064034;
double r247509 = r247505 * r247497;
double r247510 = r247508 * r247509;
double r247511 = r247507 + r247510;
double r247512 = 0.0001789971;
double r247513 = r247509 * r247497;
double r247514 = r247512 * r247513;
double r247515 = r247511 + r247514;
double r247516 = 0.7715471019;
double r247517 = r247516 * r247497;
double r247518 = r247494 + r247517;
double r247519 = 0.2909738639;
double r247520 = r247519 * r247501;
double r247521 = r247518 + r247520;
double r247522 = 0.0694555761;
double r247523 = r247522 * r247505;
double r247524 = r247521 + r247523;
double r247525 = 0.0140005442;
double r247526 = r247525 * r247509;
double r247527 = r247524 + r247526;
double r247528 = 0.0008327945;
double r247529 = r247528 * r247513;
double r247530 = r247527 + r247529;
double r247531 = 2.0;
double r247532 = r247531 * r247512;
double r247533 = r247513 * r247497;
double r247534 = r247532 * r247533;
double r247535 = r247530 + r247534;
double r247536 = r247515 / r247535;
double r247537 = r247536 * r247496;
return r247537;
}
double f(double x) {
double r247538 = x;
double r247539 = -1045055511.3804789;
bool r247540 = r247538 <= r247539;
double r247541 = 28223982.69420836;
bool r247542 = r247538 <= r247541;
double r247543 = !r247542;
bool r247544 = r247540 || r247543;
double r247545 = 0.2514179000665375;
double r247546 = 3.0;
double r247547 = pow(r247538, r247546);
double r247548 = r247545 / r247547;
double r247549 = 0.15298196345929327;
double r247550 = 5.0;
double r247551 = pow(r247538, r247550);
double r247552 = r247549 / r247551;
double r247553 = r247548 + r247552;
double r247554 = 0.5;
double r247555 = r247554 / r247538;
double r247556 = r247553 + r247555;
double r247557 = 1.0;
double r247558 = 0.1049934947;
double r247559 = 2.0;
double r247560 = pow(r247538, r247559);
double r247561 = r247558 * r247560;
double r247562 = r247557 + r247561;
double r247563 = 0.0424060604;
double r247564 = r247538 * r247538;
double r247565 = r247564 * r247564;
double r247566 = r247563 * r247565;
double r247567 = r247562 + r247566;
double r247568 = 0.0072644182;
double r247569 = r247565 * r247564;
double r247570 = r247568 * r247569;
double r247571 = r247567 + r247570;
double r247572 = 0.0005064034;
double r247573 = r247569 * r247564;
double r247574 = r247572 * r247573;
double r247575 = r247571 + r247574;
double r247576 = 0.0001789971;
double r247577 = r247573 * r247564;
double r247578 = r247576 * r247577;
double r247579 = r247575 + r247578;
double r247580 = 0.7715471019;
double r247581 = r247580 * r247564;
double r247582 = r247557 + r247581;
double r247583 = 0.2909738639;
double r247584 = r247583 * r247565;
double r247585 = r247582 + r247584;
double r247586 = 0.0694555761;
double r247587 = r247586 * r247569;
double r247588 = r247585 + r247587;
double r247589 = 0.0140005442;
double r247590 = r247589 * r247573;
double r247591 = r247588 + r247590;
double r247592 = 0.0008327945;
double r247593 = r247592 * r247577;
double r247594 = r247591 + r247593;
double r247595 = 2.0;
double r247596 = r247595 * r247576;
double r247597 = r247577 * r247564;
double r247598 = r247596 * r247597;
double r247599 = r247594 + r247598;
double r247600 = r247579 / r247599;
double r247601 = r247600 * r247538;
double r247602 = r247544 ? r247556 : r247601;
return r247602;
}



Bits error versus x
Results
if x < -1045055511.3804789 or 28223982.69420836 < x Initial program 59.8
Taylor expanded around inf 0.0
Simplified0.0
if -1045055511.3804789 < x < 28223982.69420836Initial program 0.0
Taylor expanded around 0 0.0
Final simplification0.0
herbie shell --seed 2020043
(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))