\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 -4.579277652761034 \cdot 10^{21} \lor \neg \left(x \le 1334.4505986976769\right):\\
\;\;\;\;\left(\frac{0.5}{x} + \frac{0.1529819634592933}{{x}^{5}}\right) + \frac{0.25141790006653753}{{x}^{3}}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + {x}^{6} \cdot 0.00726441819999999999\right) + {x}^{4} \cdot \left(0.042406060400000001 + \left({x}^{4} \cdot 5.0640340000000002 \cdot 10^{-4} + 1.789971 \cdot 10^{-4} \cdot {x}^{6}\right)\right)\right) \cdot \frac{x}{{x}^{6} \cdot \left(\sqrt{{x}^{6}} \cdot \left(\sqrt{{x}^{6}} \cdot \left(2 \cdot 1.789971 \cdot 10^{-4}\right)\right) + 0.069455576099999999\right) + \left(\left(1 + 0.77154710189999998 \cdot \left(x \cdot x\right)\right) + {x}^{4} \cdot \left(0.29097386390000002 + \left({x}^{6} \cdot 8.32794500000000044 \cdot 10^{-4} + {x}^{4} \cdot 0.014000544199999999\right)\right)\right)}\\
\end{array}double f(double x) {
double r172548 = 1.0;
double r172549 = 0.1049934947;
double r172550 = x;
double r172551 = r172550 * r172550;
double r172552 = r172549 * r172551;
double r172553 = r172548 + r172552;
double r172554 = 0.0424060604;
double r172555 = r172551 * r172551;
double r172556 = r172554 * r172555;
double r172557 = r172553 + r172556;
double r172558 = 0.0072644182;
double r172559 = r172555 * r172551;
double r172560 = r172558 * r172559;
double r172561 = r172557 + r172560;
double r172562 = 0.0005064034;
double r172563 = r172559 * r172551;
double r172564 = r172562 * r172563;
double r172565 = r172561 + r172564;
double r172566 = 0.0001789971;
double r172567 = r172563 * r172551;
double r172568 = r172566 * r172567;
double r172569 = r172565 + r172568;
double r172570 = 0.7715471019;
double r172571 = r172570 * r172551;
double r172572 = r172548 + r172571;
double r172573 = 0.2909738639;
double r172574 = r172573 * r172555;
double r172575 = r172572 + r172574;
double r172576 = 0.0694555761;
double r172577 = r172576 * r172559;
double r172578 = r172575 + r172577;
double r172579 = 0.0140005442;
double r172580 = r172579 * r172563;
double r172581 = r172578 + r172580;
double r172582 = 0.0008327945;
double r172583 = r172582 * r172567;
double r172584 = r172581 + r172583;
double r172585 = 2.0;
double r172586 = r172585 * r172566;
double r172587 = r172567 * r172551;
double r172588 = r172586 * r172587;
double r172589 = r172584 + r172588;
double r172590 = r172569 / r172589;
double r172591 = r172590 * r172550;
return r172591;
}
double f(double x) {
double r172592 = x;
double r172593 = -4.579277652761034e+21;
bool r172594 = r172592 <= r172593;
double r172595 = 1334.450598697677;
bool r172596 = r172592 <= r172595;
double r172597 = !r172596;
bool r172598 = r172594 || r172597;
double r172599 = 0.5;
double r172600 = r172599 / r172592;
double r172601 = 0.15298196345929327;
double r172602 = 5.0;
double r172603 = pow(r172592, r172602);
double r172604 = r172601 / r172603;
double r172605 = r172600 + r172604;
double r172606 = 0.2514179000665375;
double r172607 = 3.0;
double r172608 = pow(r172592, r172607);
double r172609 = r172606 / r172608;
double r172610 = r172605 + r172609;
double r172611 = 1.0;
double r172612 = 0.1049934947;
double r172613 = r172592 * r172592;
double r172614 = r172612 * r172613;
double r172615 = r172611 + r172614;
double r172616 = 6.0;
double r172617 = pow(r172592, r172616);
double r172618 = 0.0072644182;
double r172619 = r172617 * r172618;
double r172620 = r172615 + r172619;
double r172621 = 4.0;
double r172622 = pow(r172592, r172621);
double r172623 = 0.0424060604;
double r172624 = 0.0005064034;
double r172625 = r172622 * r172624;
double r172626 = 0.0001789971;
double r172627 = r172626 * r172617;
double r172628 = r172625 + r172627;
double r172629 = r172623 + r172628;
double r172630 = r172622 * r172629;
double r172631 = r172620 + r172630;
double r172632 = sqrt(r172617);
double r172633 = 2.0;
double r172634 = r172633 * r172626;
double r172635 = r172632 * r172634;
double r172636 = r172632 * r172635;
double r172637 = 0.0694555761;
double r172638 = r172636 + r172637;
double r172639 = r172617 * r172638;
double r172640 = 0.7715471019;
double r172641 = r172640 * r172613;
double r172642 = r172611 + r172641;
double r172643 = 0.2909738639;
double r172644 = 0.0008327945;
double r172645 = r172617 * r172644;
double r172646 = 0.0140005442;
double r172647 = r172622 * r172646;
double r172648 = r172645 + r172647;
double r172649 = r172643 + r172648;
double r172650 = r172622 * r172649;
double r172651 = r172642 + r172650;
double r172652 = r172639 + r172651;
double r172653 = r172592 / r172652;
double r172654 = r172631 * r172653;
double r172655 = r172598 ? r172610 : r172654;
return r172655;
}



Bits error versus x
Results
if x < -4.579277652761034e+21 or 1334.450598697677 < x Initial program 61.2
Simplified61.1
rmApplied div-inv61.1
Applied associate-*l*61.1
Simplified61.1
rmApplied add-sqr-sqrt61.1
Applied associate-*l*61.1
Taylor expanded around inf 0.0
Simplified0.0
if -4.579277652761034e+21 < x < 1334.450598697677Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2019198
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))