\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 -2160608157766.319:\\
\;\;\;\;\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\mathbf{elif}\;x \le 659.6217910237445:\\
\;\;\;\;\left(\frac{\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0001789971 + \left(0.0005064034 \cdot \left(\left(x \cdot x\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(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0424060604 + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1\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)\right)}{\sqrt{\left(\left(\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) + \left(\left(1 + \left(x \cdot x\right) \cdot 0.7715471019\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0140005442\right) + 0.0008327945 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right)}} \cdot x\right) \cdot \frac{1}{\sqrt{\sqrt{\left(\left(\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) + \left(\left(1 + \left(x \cdot x\right) \cdot 0.7715471019\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0140005442\right) + 0.0008327945 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right)}} \cdot \sqrt{\sqrt{\left(\left(\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) + \left(\left(1 + \left(x \cdot x\right) \cdot 0.7715471019\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0140005442\right) + 0.0008327945 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\end{array}double f(double x) {
double r8196512 = 1.0;
double r8196513 = 0.1049934947;
double r8196514 = x;
double r8196515 = r8196514 * r8196514;
double r8196516 = r8196513 * r8196515;
double r8196517 = r8196512 + r8196516;
double r8196518 = 0.0424060604;
double r8196519 = r8196515 * r8196515;
double r8196520 = r8196518 * r8196519;
double r8196521 = r8196517 + r8196520;
double r8196522 = 0.0072644182;
double r8196523 = r8196519 * r8196515;
double r8196524 = r8196522 * r8196523;
double r8196525 = r8196521 + r8196524;
double r8196526 = 0.0005064034;
double r8196527 = r8196523 * r8196515;
double r8196528 = r8196526 * r8196527;
double r8196529 = r8196525 + r8196528;
double r8196530 = 0.0001789971;
double r8196531 = r8196527 * r8196515;
double r8196532 = r8196530 * r8196531;
double r8196533 = r8196529 + r8196532;
double r8196534 = 0.7715471019;
double r8196535 = r8196534 * r8196515;
double r8196536 = r8196512 + r8196535;
double r8196537 = 0.2909738639;
double r8196538 = r8196537 * r8196519;
double r8196539 = r8196536 + r8196538;
double r8196540 = 0.0694555761;
double r8196541 = r8196540 * r8196523;
double r8196542 = r8196539 + r8196541;
double r8196543 = 0.0140005442;
double r8196544 = r8196543 * r8196527;
double r8196545 = r8196542 + r8196544;
double r8196546 = 0.0008327945;
double r8196547 = r8196546 * r8196531;
double r8196548 = r8196545 + r8196547;
double r8196549 = 2.0;
double r8196550 = r8196549 * r8196530;
double r8196551 = r8196531 * r8196515;
double r8196552 = r8196550 * r8196551;
double r8196553 = r8196548 + r8196552;
double r8196554 = r8196533 / r8196553;
double r8196555 = r8196554 * r8196514;
return r8196555;
}
double f(double x) {
double r8196556 = x;
double r8196557 = -2160608157766.319;
bool r8196558 = r8196556 <= r8196557;
double r8196559 = 0.15298196345929327;
double r8196560 = r8196556 * r8196556;
double r8196561 = r8196560 * r8196560;
double r8196562 = r8196561 * r8196556;
double r8196563 = r8196559 / r8196562;
double r8196564 = 0.5;
double r8196565 = r8196564 / r8196556;
double r8196566 = 0.2514179000665375;
double r8196567 = r8196560 * r8196556;
double r8196568 = r8196566 / r8196567;
double r8196569 = r8196565 + r8196568;
double r8196570 = r8196563 + r8196569;
double r8196571 = 659.6217910237445;
bool r8196572 = r8196556 <= r8196571;
double r8196573 = r8196561 * r8196560;
double r8196574 = r8196560 * r8196573;
double r8196575 = r8196574 * r8196560;
double r8196576 = 0.0001789971;
double r8196577 = r8196575 * r8196576;
double r8196578 = 0.0005064034;
double r8196579 = r8196578 * r8196574;
double r8196580 = 0.0424060604;
double r8196581 = r8196561 * r8196580;
double r8196582 = 0.1049934947;
double r8196583 = r8196560 * r8196582;
double r8196584 = 1.0;
double r8196585 = r8196583 + r8196584;
double r8196586 = r8196581 + r8196585;
double r8196587 = 0.0072644182;
double r8196588 = r8196587 * r8196573;
double r8196589 = r8196586 + r8196588;
double r8196590 = r8196579 + r8196589;
double r8196591 = r8196577 + r8196590;
double r8196592 = 0.0694555761;
double r8196593 = r8196592 * r8196573;
double r8196594 = 0.7715471019;
double r8196595 = r8196560 * r8196594;
double r8196596 = r8196584 + r8196595;
double r8196597 = 0.2909738639;
double r8196598 = r8196597 * r8196561;
double r8196599 = r8196596 + r8196598;
double r8196600 = r8196593 + r8196599;
double r8196601 = 0.0140005442;
double r8196602 = r8196574 * r8196601;
double r8196603 = r8196600 + r8196602;
double r8196604 = 0.0008327945;
double r8196605 = r8196604 * r8196575;
double r8196606 = r8196603 + r8196605;
double r8196607 = r8196575 * r8196560;
double r8196608 = 2.0;
double r8196609 = r8196608 * r8196576;
double r8196610 = r8196607 * r8196609;
double r8196611 = r8196606 + r8196610;
double r8196612 = sqrt(r8196611);
double r8196613 = r8196591 / r8196612;
double r8196614 = r8196613 * r8196556;
double r8196615 = sqrt(r8196612);
double r8196616 = r8196615 * r8196615;
double r8196617 = r8196584 / r8196616;
double r8196618 = r8196614 * r8196617;
double r8196619 = r8196572 ? r8196618 : r8196570;
double r8196620 = r8196558 ? r8196570 : r8196619;
return r8196620;
}



Bits error versus x
Results
if x < -2160608157766.319 or 659.6217910237445 < x Initial program 59.3
Taylor expanded around -inf 0.0
Simplified0.0
if -2160608157766.319 < x < 659.6217910237445Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Applied associate-*l*0.0
rmApplied add-sqr-sqrt0.1
Final simplification0.0
herbie shell --seed 2019151 +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))