\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.8231616492873652 \cdot 10^{+25}:\\
\;\;\;\;\left(\frac{0.5}{x} + \frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right) + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\\
\mathbf{elif}\;x \le 632.011878180778:\\
\;\;\;\;\left(\left(0.0005064034 + 0.0001789971 \cdot \left(x \cdot x\right)\right) \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(\left(0.0424060604 + \left(x \cdot x\right) \cdot 0.0072644182\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1\right)\right)\right) \cdot \left(x \cdot \frac{1}{\left(\left(x \cdot x\right) \cdot \left(\left(0.0694555761 + \left(x \cdot x\right) \cdot 0.0140005442\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.2909738639 + 0.7715471019\right)\right) + 1\right) + \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 \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0001789971\right) \cdot 2 + \left(x \cdot x\right) \cdot 0.0008327945\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{0.5}{x} + \frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right) + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\\
\end{array}double f(double x) {
double r6867681 = 1.0;
double r6867682 = 0.1049934947;
double r6867683 = x;
double r6867684 = r6867683 * r6867683;
double r6867685 = r6867682 * r6867684;
double r6867686 = r6867681 + r6867685;
double r6867687 = 0.0424060604;
double r6867688 = r6867684 * r6867684;
double r6867689 = r6867687 * r6867688;
double r6867690 = r6867686 + r6867689;
double r6867691 = 0.0072644182;
double r6867692 = r6867688 * r6867684;
double r6867693 = r6867691 * r6867692;
double r6867694 = r6867690 + r6867693;
double r6867695 = 0.0005064034;
double r6867696 = r6867692 * r6867684;
double r6867697 = r6867695 * r6867696;
double r6867698 = r6867694 + r6867697;
double r6867699 = 0.0001789971;
double r6867700 = r6867696 * r6867684;
double r6867701 = r6867699 * r6867700;
double r6867702 = r6867698 + r6867701;
double r6867703 = 0.7715471019;
double r6867704 = r6867703 * r6867684;
double r6867705 = r6867681 + r6867704;
double r6867706 = 0.2909738639;
double r6867707 = r6867706 * r6867688;
double r6867708 = r6867705 + r6867707;
double r6867709 = 0.0694555761;
double r6867710 = r6867709 * r6867692;
double r6867711 = r6867708 + r6867710;
double r6867712 = 0.0140005442;
double r6867713 = r6867712 * r6867696;
double r6867714 = r6867711 + r6867713;
double r6867715 = 0.0008327945;
double r6867716 = r6867715 * r6867700;
double r6867717 = r6867714 + r6867716;
double r6867718 = 2.0;
double r6867719 = r6867718 * r6867699;
double r6867720 = r6867700 * r6867684;
double r6867721 = r6867719 * r6867720;
double r6867722 = r6867717 + r6867721;
double r6867723 = r6867702 / r6867722;
double r6867724 = r6867723 * r6867683;
return r6867724;
}
double f(double x) {
double r6867725 = x;
double r6867726 = -2.8231616492873652e+25;
bool r6867727 = r6867725 <= r6867726;
double r6867728 = 0.5;
double r6867729 = r6867728 / r6867725;
double r6867730 = 0.15298196345929327;
double r6867731 = r6867725 * r6867725;
double r6867732 = r6867731 * r6867725;
double r6867733 = r6867731 * r6867732;
double r6867734 = r6867730 / r6867733;
double r6867735 = r6867729 + r6867734;
double r6867736 = 0.2514179000665375;
double r6867737 = r6867736 / r6867732;
double r6867738 = r6867735 + r6867737;
double r6867739 = 632.011878180778;
bool r6867740 = r6867725 <= r6867739;
double r6867741 = 0.0005064034;
double r6867742 = 0.0001789971;
double r6867743 = r6867742 * r6867731;
double r6867744 = r6867741 + r6867743;
double r6867745 = r6867731 * r6867731;
double r6867746 = r6867745 * r6867745;
double r6867747 = r6867744 * r6867746;
double r6867748 = 0.0424060604;
double r6867749 = 0.0072644182;
double r6867750 = r6867731 * r6867749;
double r6867751 = r6867748 + r6867750;
double r6867752 = r6867751 * r6867745;
double r6867753 = 0.1049934947;
double r6867754 = r6867731 * r6867753;
double r6867755 = 1.0;
double r6867756 = r6867754 + r6867755;
double r6867757 = r6867752 + r6867756;
double r6867758 = r6867747 + r6867757;
double r6867759 = 0.0694555761;
double r6867760 = 0.0140005442;
double r6867761 = r6867731 * r6867760;
double r6867762 = r6867759 + r6867761;
double r6867763 = r6867762 * r6867745;
double r6867764 = 0.2909738639;
double r6867765 = r6867731 * r6867764;
double r6867766 = 0.7715471019;
double r6867767 = r6867765 + r6867766;
double r6867768 = r6867763 + r6867767;
double r6867769 = r6867731 * r6867768;
double r6867770 = r6867769 + r6867755;
double r6867771 = r6867745 * r6867742;
double r6867772 = 2.0;
double r6867773 = r6867771 * r6867772;
double r6867774 = 0.0008327945;
double r6867775 = r6867731 * r6867774;
double r6867776 = r6867773 + r6867775;
double r6867777 = r6867746 * r6867776;
double r6867778 = r6867770 + r6867777;
double r6867779 = r6867755 / r6867778;
double r6867780 = r6867725 * r6867779;
double r6867781 = r6867758 * r6867780;
double r6867782 = r6867740 ? r6867781 : r6867738;
double r6867783 = r6867727 ? r6867738 : r6867782;
return r6867783;
}



Bits error versus x
Results
if x < -2.8231616492873652e+25 or 632.011878180778 < x Initial program 60.3
Simplified60.2
Taylor expanded around inf 0.0
Simplified0.0
if -2.8231616492873652e+25 < x < 632.011878180778Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2019137
(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))