\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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 -161298189120609567375360:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x} + \frac{0.1529819634592932686700805788859724998474}{{x}^{5}}\right)\\
\mathbf{elif}\;x \le 8124.998191315608892182353883981704711914:\\
\;\;\;\;\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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\\
\mathbf{else}:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.2514179000665375252054900556686334311962}{\left(x \cdot x\right) \cdot x} + \frac{0.1529819634592932686700805788859724998474}{{x}^{5}}\right)\\
\end{array}double f(double x) {
double r12842621 = 1.0;
double r12842622 = 0.1049934947;
double r12842623 = x;
double r12842624 = r12842623 * r12842623;
double r12842625 = r12842622 * r12842624;
double r12842626 = r12842621 + r12842625;
double r12842627 = 0.0424060604;
double r12842628 = r12842624 * r12842624;
double r12842629 = r12842627 * r12842628;
double r12842630 = r12842626 + r12842629;
double r12842631 = 0.0072644182;
double r12842632 = r12842628 * r12842624;
double r12842633 = r12842631 * r12842632;
double r12842634 = r12842630 + r12842633;
double r12842635 = 0.0005064034;
double r12842636 = r12842632 * r12842624;
double r12842637 = r12842635 * r12842636;
double r12842638 = r12842634 + r12842637;
double r12842639 = 0.0001789971;
double r12842640 = r12842636 * r12842624;
double r12842641 = r12842639 * r12842640;
double r12842642 = r12842638 + r12842641;
double r12842643 = 0.7715471019;
double r12842644 = r12842643 * r12842624;
double r12842645 = r12842621 + r12842644;
double r12842646 = 0.2909738639;
double r12842647 = r12842646 * r12842628;
double r12842648 = r12842645 + r12842647;
double r12842649 = 0.0694555761;
double r12842650 = r12842649 * r12842632;
double r12842651 = r12842648 + r12842650;
double r12842652 = 0.0140005442;
double r12842653 = r12842652 * r12842636;
double r12842654 = r12842651 + r12842653;
double r12842655 = 0.0008327945;
double r12842656 = r12842655 * r12842640;
double r12842657 = r12842654 + r12842656;
double r12842658 = 2.0;
double r12842659 = r12842658 * r12842639;
double r12842660 = r12842640 * r12842624;
double r12842661 = r12842659 * r12842660;
double r12842662 = r12842657 + r12842661;
double r12842663 = r12842642 / r12842662;
double r12842664 = r12842663 * r12842623;
return r12842664;
}
double f(double x) {
double r12842665 = x;
double r12842666 = -1.6129818912060957e+23;
bool r12842667 = r12842665 <= r12842666;
double r12842668 = 0.5;
double r12842669 = r12842668 / r12842665;
double r12842670 = 0.2514179000665375;
double r12842671 = r12842665 * r12842665;
double r12842672 = r12842671 * r12842665;
double r12842673 = r12842670 / r12842672;
double r12842674 = 0.15298196345929327;
double r12842675 = 5.0;
double r12842676 = pow(r12842665, r12842675);
double r12842677 = r12842674 / r12842676;
double r12842678 = r12842673 + r12842677;
double r12842679 = r12842669 + r12842678;
double r12842680 = 8124.998191315609;
bool r12842681 = r12842665 <= r12842680;
double r12842682 = 1.0;
double r12842683 = 0.1049934947;
double r12842684 = r12842683 * r12842671;
double r12842685 = r12842682 + r12842684;
double r12842686 = 0.0424060604;
double r12842687 = r12842671 * r12842671;
double r12842688 = r12842686 * r12842687;
double r12842689 = r12842685 + r12842688;
double r12842690 = 0.0072644182;
double r12842691 = r12842687 * r12842671;
double r12842692 = r12842690 * r12842691;
double r12842693 = r12842689 + r12842692;
double r12842694 = 0.0005064034;
double r12842695 = r12842691 * r12842671;
double r12842696 = r12842694 * r12842695;
double r12842697 = r12842693 + r12842696;
double r12842698 = 0.0001789971;
double r12842699 = r12842695 * r12842671;
double r12842700 = r12842698 * r12842699;
double r12842701 = r12842697 + r12842700;
double r12842702 = 0.7715471019;
double r12842703 = r12842702 * r12842671;
double r12842704 = r12842682 + r12842703;
double r12842705 = 0.2909738639;
double r12842706 = r12842705 * r12842687;
double r12842707 = r12842704 + r12842706;
double r12842708 = 0.0694555761;
double r12842709 = r12842708 * r12842691;
double r12842710 = r12842707 + r12842709;
double r12842711 = 0.0140005442;
double r12842712 = r12842711 * r12842695;
double r12842713 = r12842710 + r12842712;
double r12842714 = 0.0008327945;
double r12842715 = r12842714 * r12842699;
double r12842716 = r12842713 + r12842715;
double r12842717 = 2.0;
double r12842718 = r12842717 * r12842698;
double r12842719 = r12842699 * r12842671;
double r12842720 = r12842718 * r12842719;
double r12842721 = r12842716 + r12842720;
double r12842722 = r12842701 / r12842721;
double r12842723 = r12842722 * r12842665;
double r12842724 = r12842681 ? r12842723 : r12842679;
double r12842725 = r12842667 ? r12842679 : r12842724;
return r12842725;
}



Bits error versus x
Results
if x < -1.6129818912060957e+23 or 8124.998191315609 < x Initial program 61.1
Simplified61.0
Taylor expanded around inf 0.0
Simplified0.0
if -1.6129818912060957e+23 < x < 8124.998191315609Initial program 0.0
Final simplification0.0
herbie shell --seed 2019174 +o rules:numerics
(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))