\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.2614471808627414 \cdot 10^{+24}:\\
\;\;\;\;\frac{0.5 + \frac{0.2514179000665375}{x \cdot x}}{x} + \frac{0.15298196345929327}{{x}^{5}}\\
\mathbf{elif}\;x \le 737.2128794843553:\\
\;\;\;\;x \cdot \frac{(0.0001789971 \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(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left((0.0005064034 \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((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((\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0424060604 + \left((0.1049934947 \cdot \left(x \cdot x\right) + 1)_*\right))_*\right))_*\right))_*\right))_*}{(\left(0.0001789971 \cdot 2\right) \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(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left((\left(0.0008327945 \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)\right) \cdot \left(x \cdot x\right) + \left((\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 0.0140005442 + \left((\left(x \cdot x\right) \cdot 0.7715471019 + 1)_* + (0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(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))_*\right))_*\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 r30126532 = 1.0;
double r30126533 = 0.1049934947;
double r30126534 = x;
double r30126535 = r30126534 * r30126534;
double r30126536 = r30126533 * r30126535;
double r30126537 = r30126532 + r30126536;
double r30126538 = 0.0424060604;
double r30126539 = r30126535 * r30126535;
double r30126540 = r30126538 * r30126539;
double r30126541 = r30126537 + r30126540;
double r30126542 = 0.0072644182;
double r30126543 = r30126539 * r30126535;
double r30126544 = r30126542 * r30126543;
double r30126545 = r30126541 + r30126544;
double r30126546 = 0.0005064034;
double r30126547 = r30126543 * r30126535;
double r30126548 = r30126546 * r30126547;
double r30126549 = r30126545 + r30126548;
double r30126550 = 0.0001789971;
double r30126551 = r30126547 * r30126535;
double r30126552 = r30126550 * r30126551;
double r30126553 = r30126549 + r30126552;
double r30126554 = 0.7715471019;
double r30126555 = r30126554 * r30126535;
double r30126556 = r30126532 + r30126555;
double r30126557 = 0.2909738639;
double r30126558 = r30126557 * r30126539;
double r30126559 = r30126556 + r30126558;
double r30126560 = 0.0694555761;
double r30126561 = r30126560 * r30126543;
double r30126562 = r30126559 + r30126561;
double r30126563 = 0.0140005442;
double r30126564 = r30126563 * r30126547;
double r30126565 = r30126562 + r30126564;
double r30126566 = 0.0008327945;
double r30126567 = r30126566 * r30126551;
double r30126568 = r30126565 + r30126567;
double r30126569 = 2.0;
double r30126570 = r30126569 * r30126550;
double r30126571 = r30126551 * r30126535;
double r30126572 = r30126570 * r30126571;
double r30126573 = r30126568 + r30126572;
double r30126574 = r30126553 / r30126573;
double r30126575 = r30126574 * r30126534;
return r30126575;
}
double f(double x) {
double r30126576 = x;
double r30126577 = -2.2614471808627414e+24;
bool r30126578 = r30126576 <= r30126577;
double r30126579 = 0.5;
double r30126580 = 0.2514179000665375;
double r30126581 = r30126576 * r30126576;
double r30126582 = r30126580 / r30126581;
double r30126583 = r30126579 + r30126582;
double r30126584 = r30126583 / r30126576;
double r30126585 = 0.15298196345929327;
double r30126586 = 5.0;
double r30126587 = pow(r30126576, r30126586);
double r30126588 = r30126585 / r30126587;
double r30126589 = r30126584 + r30126588;
double r30126590 = 737.2128794843553;
bool r30126591 = r30126576 <= r30126590;
double r30126592 = 0.0001789971;
double r30126593 = r30126581 * r30126581;
double r30126594 = r30126593 * r30126581;
double r30126595 = r30126594 * r30126593;
double r30126596 = 0.0005064034;
double r30126597 = r30126593 * r30126593;
double r30126598 = 0.0072644182;
double r30126599 = 0.0424060604;
double r30126600 = 0.1049934947;
double r30126601 = 1.0;
double r30126602 = fma(r30126600, r30126581, r30126601);
double r30126603 = fma(r30126593, r30126599, r30126602);
double r30126604 = fma(r30126598, r30126594, r30126603);
double r30126605 = fma(r30126596, r30126597, r30126604);
double r30126606 = fma(r30126592, r30126595, r30126605);
double r30126607 = 2.0;
double r30126608 = r30126592 * r30126607;
double r30126609 = r30126594 * r30126594;
double r30126610 = 0.0008327945;
double r30126611 = r30126610 * r30126597;
double r30126612 = 0.0140005442;
double r30126613 = 0.7715471019;
double r30126614 = fma(r30126581, r30126613, r30126601);
double r30126615 = 0.2909738639;
double r30126616 = 0.0694555761;
double r30126617 = r30126616 * r30126594;
double r30126618 = fma(r30126615, r30126593, r30126617);
double r30126619 = r30126614 + r30126618;
double r30126620 = fma(r30126597, r30126612, r30126619);
double r30126621 = fma(r30126611, r30126581, r30126620);
double r30126622 = fma(r30126608, r30126609, r30126621);
double r30126623 = r30126606 / r30126622;
double r30126624 = r30126576 * r30126623;
double r30126625 = r30126591 ? r30126624 : r30126589;
double r30126626 = r30126578 ? r30126589 : r30126625;
return r30126626;
}



Bits error versus x
if x < -2.2614471808627414e+24 or 737.2128794843553 < x Initial program 60.4
Simplified60.4
Taylor expanded around inf 0.0
Simplified0.0
if -2.2614471808627414e+24 < x < 737.2128794843553Initial program 0.0
Simplified0.0
rmApplied *-commutative0.0
Final simplification0.0
herbie shell --seed 2019112 +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))