\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.147765270182274 \lor \neg \left(x \le 1.1589205875478283\right):\\
\;\;\;\;\mathsf{fma}\left(0.25141790006653753, \frac{1}{{x}^{3}}, \mathsf{fma}\left(0.1529819634592933, \frac{1}{{x}^{5}}, \frac{0.5}{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 r162260 = 1.0;
double r162261 = 0.1049934947;
double r162262 = x;
double r162263 = r162262 * r162262;
double r162264 = r162261 * r162263;
double r162265 = r162260 + r162264;
double r162266 = 0.0424060604;
double r162267 = r162263 * r162263;
double r162268 = r162266 * r162267;
double r162269 = r162265 + r162268;
double r162270 = 0.0072644182;
double r162271 = r162267 * r162263;
double r162272 = r162270 * r162271;
double r162273 = r162269 + r162272;
double r162274 = 0.0005064034;
double r162275 = r162271 * r162263;
double r162276 = r162274 * r162275;
double r162277 = r162273 + r162276;
double r162278 = 0.0001789971;
double r162279 = r162275 * r162263;
double r162280 = r162278 * r162279;
double r162281 = r162277 + r162280;
double r162282 = 0.7715471019;
double r162283 = r162282 * r162263;
double r162284 = r162260 + r162283;
double r162285 = 0.2909738639;
double r162286 = r162285 * r162267;
double r162287 = r162284 + r162286;
double r162288 = 0.0694555761;
double r162289 = r162288 * r162271;
double r162290 = r162287 + r162289;
double r162291 = 0.0140005442;
double r162292 = r162291 * r162275;
double r162293 = r162290 + r162292;
double r162294 = 0.0008327945;
double r162295 = r162294 * r162279;
double r162296 = r162293 + r162295;
double r162297 = 2.0;
double r162298 = r162297 * r162278;
double r162299 = r162279 * r162263;
double r162300 = r162298 * r162299;
double r162301 = r162296 + r162300;
double r162302 = r162281 / r162301;
double r162303 = r162302 * r162262;
return r162303;
}
double f(double x) {
double r162304 = x;
double r162305 = -1.147765270182274;
bool r162306 = r162304 <= r162305;
double r162307 = 1.1589205875478283;
bool r162308 = r162304 <= r162307;
double r162309 = !r162308;
bool r162310 = r162306 || r162309;
double r162311 = 0.2514179000665375;
double r162312 = 1.0;
double r162313 = 3.0;
double r162314 = pow(r162304, r162313);
double r162315 = r162312 / r162314;
double r162316 = 0.15298196345929327;
double r162317 = 5.0;
double r162318 = pow(r162304, r162317);
double r162319 = r162312 / r162318;
double r162320 = 0.5;
double r162321 = r162320 / r162304;
double r162322 = fma(r162316, r162319, r162321);
double r162323 = fma(r162311, r162315, r162322);
double r162324 = 1.0;
double r162325 = 0.265709700396151;
double r162326 = r162325 * r162318;
double r162327 = 0.6665536072;
double r162328 = r162327 * r162314;
double r162329 = r162326 - r162328;
double r162330 = fma(r162304, r162324, r162329);
double r162331 = r162310 ? r162323 : r162330;
return r162331;
}



Bits error versus x
if x < -1.147765270182274 or 1.1589205875478283 < x Initial program 58.5
Taylor expanded around inf 0.4
Simplified0.4
if -1.147765270182274 < x < 1.1589205875478283Initial program 0.0
rmApplied clear-num0.0
Simplified0.0
Taylor expanded around 0 0.1
Simplified0.1
Final simplification0.2
herbie shell --seed 2020046 +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))