\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 -185074.66755414155 \lor \neg \left(x \le 6498.868451340828\right):\\
\;\;\;\;\left(\frac{0.25141790006653753}{{x}^{3}} + \frac{0.1529819634592933}{{x}^{5}}\right) + \frac{0.5}{x}\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{\mathsf{expm1}\left(\mathsf{log1p}\left({\left(\frac{\mathsf{fma}\left(1.789971 \cdot 10^{-4}, {x}^{6} \cdot {x}^{4}, \mathsf{fma}\left({x}^{8}, 5.0640340000000002 \cdot 10^{-4}, \mathsf{fma}\left(0.00726441819999999999, {x}^{6}, \mathsf{fma}\left({x}^{4}, 0.042406060400000001, \mathsf{fma}\left(0.1049934947, x \cdot x, 1\right)\right)\right)\right)\right)}{\mathsf{fma}\left({x}^{12}, 2 \cdot 1.789971 \cdot 10^{-4}, \mathsf{fma}\left({x}^{6} \cdot {x}^{4}, 8.32794500000000044 \cdot 10^{-4}, \mathsf{fma}\left(0.014000544199999999, {x}^{8}, \mathsf{fma}\left(0.069455576099999999, {x}^{6}, \mathsf{fma}\left(0.29097386390000002, {x}^{4}, \mathsf{fma}\left(0.77154710189999998, x \cdot x, 1\right)\right)\right)\right)\right)\right)}\right)}^{3}\right)\right)} \cdot x\\
\end{array}double f(double x) {
double r324649 = 1.0;
double r324650 = 0.1049934947;
double r324651 = x;
double r324652 = r324651 * r324651;
double r324653 = r324650 * r324652;
double r324654 = r324649 + r324653;
double r324655 = 0.0424060604;
double r324656 = r324652 * r324652;
double r324657 = r324655 * r324656;
double r324658 = r324654 + r324657;
double r324659 = 0.0072644182;
double r324660 = r324656 * r324652;
double r324661 = r324659 * r324660;
double r324662 = r324658 + r324661;
double r324663 = 0.0005064034;
double r324664 = r324660 * r324652;
double r324665 = r324663 * r324664;
double r324666 = r324662 + r324665;
double r324667 = 0.0001789971;
double r324668 = r324664 * r324652;
double r324669 = r324667 * r324668;
double r324670 = r324666 + r324669;
double r324671 = 0.7715471019;
double r324672 = r324671 * r324652;
double r324673 = r324649 + r324672;
double r324674 = 0.2909738639;
double r324675 = r324674 * r324656;
double r324676 = r324673 + r324675;
double r324677 = 0.0694555761;
double r324678 = r324677 * r324660;
double r324679 = r324676 + r324678;
double r324680 = 0.0140005442;
double r324681 = r324680 * r324664;
double r324682 = r324679 + r324681;
double r324683 = 0.0008327945;
double r324684 = r324683 * r324668;
double r324685 = r324682 + r324684;
double r324686 = 2.0;
double r324687 = r324686 * r324667;
double r324688 = r324668 * r324652;
double r324689 = r324687 * r324688;
double r324690 = r324685 + r324689;
double r324691 = r324670 / r324690;
double r324692 = r324691 * r324651;
return r324692;
}
double f(double x) {
double r324693 = x;
double r324694 = -185074.66755414155;
bool r324695 = r324693 <= r324694;
double r324696 = 6498.868451340828;
bool r324697 = r324693 <= r324696;
double r324698 = !r324697;
bool r324699 = r324695 || r324698;
double r324700 = 0.2514179000665375;
double r324701 = 3.0;
double r324702 = pow(r324693, r324701);
double r324703 = r324700 / r324702;
double r324704 = 0.15298196345929327;
double r324705 = 5.0;
double r324706 = pow(r324693, r324705);
double r324707 = r324704 / r324706;
double r324708 = r324703 + r324707;
double r324709 = 0.5;
double r324710 = r324709 / r324693;
double r324711 = r324708 + r324710;
double r324712 = 0.0001789971;
double r324713 = 6.0;
double r324714 = pow(r324693, r324713);
double r324715 = 4.0;
double r324716 = pow(r324693, r324715);
double r324717 = r324714 * r324716;
double r324718 = 8.0;
double r324719 = pow(r324693, r324718);
double r324720 = 0.0005064034;
double r324721 = 0.0072644182;
double r324722 = 0.0424060604;
double r324723 = 0.1049934947;
double r324724 = r324693 * r324693;
double r324725 = 1.0;
double r324726 = fma(r324723, r324724, r324725);
double r324727 = fma(r324716, r324722, r324726);
double r324728 = fma(r324721, r324714, r324727);
double r324729 = fma(r324719, r324720, r324728);
double r324730 = fma(r324712, r324717, r324729);
double r324731 = 12.0;
double r324732 = pow(r324693, r324731);
double r324733 = 2.0;
double r324734 = r324733 * r324712;
double r324735 = 0.0008327945;
double r324736 = 0.0140005442;
double r324737 = 0.0694555761;
double r324738 = 0.2909738639;
double r324739 = 0.7715471019;
double r324740 = fma(r324739, r324724, r324725);
double r324741 = fma(r324738, r324716, r324740);
double r324742 = fma(r324737, r324714, r324741);
double r324743 = fma(r324736, r324719, r324742);
double r324744 = fma(r324717, r324735, r324743);
double r324745 = fma(r324732, r324734, r324744);
double r324746 = r324730 / r324745;
double r324747 = pow(r324746, r324701);
double r324748 = log1p(r324747);
double r324749 = expm1(r324748);
double r324750 = cbrt(r324749);
double r324751 = r324750 * r324693;
double r324752 = r324699 ? r324711 : r324751;
return r324752;
}



Bits error versus x
if x < -185074.66755414155 or 6498.868451340828 < x Initial program 59.2
Taylor expanded around inf 0.0
Simplified0.0
if -185074.66755414155 < x < 6498.868451340828Initial program 0.0
rmApplied add-cbrt-cube0.0
Applied add-cbrt-cube0.0
Applied cbrt-undiv0.0
Simplified0.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2020042 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
:precision binary64
(* (/ (+ (+ (+ (+ (+ 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))