\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 -1.1633699203691767 \lor \neg \left(x \le 1.14913787002183088\right):\\
\;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, 0.5 \cdot \frac{1}{x}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(x, 1, 0.265709700396150994 \cdot {x}^{5} - 0.66655360720000001 \cdot {x}^{3}\right)\\
\end{array}double f(double x) {
double r191069 = 1.0;
double r191070 = 0.1049934947;
double r191071 = x;
double r191072 = r191071 * r191071;
double r191073 = r191070 * r191072;
double r191074 = r191069 + r191073;
double r191075 = 0.0424060604;
double r191076 = r191072 * r191072;
double r191077 = r191075 * r191076;
double r191078 = r191074 + r191077;
double r191079 = 0.0072644182;
double r191080 = r191076 * r191072;
double r191081 = r191079 * r191080;
double r191082 = r191078 + r191081;
double r191083 = 0.0005064034;
double r191084 = r191080 * r191072;
double r191085 = r191083 * r191084;
double r191086 = r191082 + r191085;
double r191087 = 0.0001789971;
double r191088 = r191084 * r191072;
double r191089 = r191087 * r191088;
double r191090 = r191086 + r191089;
double r191091 = 0.7715471019;
double r191092 = r191091 * r191072;
double r191093 = r191069 + r191092;
double r191094 = 0.2909738639;
double r191095 = r191094 * r191076;
double r191096 = r191093 + r191095;
double r191097 = 0.0694555761;
double r191098 = r191097 * r191080;
double r191099 = r191096 + r191098;
double r191100 = 0.0140005442;
double r191101 = r191100 * r191084;
double r191102 = r191099 + r191101;
double r191103 = 0.0008327945;
double r191104 = r191103 * r191088;
double r191105 = r191102 + r191104;
double r191106 = 2.0;
double r191107 = r191106 * r191087;
double r191108 = r191088 * r191072;
double r191109 = r191107 * r191108;
double r191110 = r191105 + r191109;
double r191111 = r191090 / r191110;
double r191112 = r191111 * r191071;
return r191112;
}
double f(double x) {
double r191113 = x;
double r191114 = -1.1633699203691767;
bool r191115 = r191113 <= r191114;
double r191116 = 1.1491378700218309;
bool r191117 = r191113 <= r191116;
double r191118 = !r191117;
bool r191119 = r191115 || r191118;
double r191120 = 0.2514179000665375;
double r191121 = 1.0;
double r191122 = 3.0;
double r191123 = pow(r191113, r191122);
double r191124 = r191121 / r191123;
double r191125 = 0.15298196345929327;
double r191126 = 5.0;
double r191127 = pow(r191113, r191126);
double r191128 = r191121 / r191127;
double r191129 = 0.5;
double r191130 = r191121 / r191113;
double r191131 = r191129 * r191130;
double r191132 = fma(r191125, r191128, r191131);
double r191133 = fma(r191120, r191124, r191132);
double r191134 = 1.0;
double r191135 = 0.265709700396151;
double r191136 = r191135 * r191127;
double r191137 = 0.6665536072;
double r191138 = r191137 * r191123;
double r191139 = r191136 - r191138;
double r191140 = fma(r191113, r191134, r191139);
double r191141 = r191119 ? r191133 : r191140;
return r191141;
}



Bits error versus x
if x < -1.1633699203691767 or 1.1491378700218309 < x Initial program 58.5
Taylor expanded around inf 0.3
Simplified0.3
if -1.1633699203691767 < x < 1.1491378700218309Initial program 0.0
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.3
herbie shell --seed 2020060 +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))