\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 -1.1681432100080749:\\
\;\;\;\;\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\mathbf{elif}\;x \le 1.151292592807526:\\
\;\;\;\;x \cdot \mathsf{fma}\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right), 0.265709700396151, 1 - \left(x \cdot x\right) \cdot 0.6665536072\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\end{array}double f(double x) {
double r7791385 = 1.0;
double r7791386 = 0.1049934947;
double r7791387 = x;
double r7791388 = r7791387 * r7791387;
double r7791389 = r7791386 * r7791388;
double r7791390 = r7791385 + r7791389;
double r7791391 = 0.0424060604;
double r7791392 = r7791388 * r7791388;
double r7791393 = r7791391 * r7791392;
double r7791394 = r7791390 + r7791393;
double r7791395 = 0.0072644182;
double r7791396 = r7791392 * r7791388;
double r7791397 = r7791395 * r7791396;
double r7791398 = r7791394 + r7791397;
double r7791399 = 0.0005064034;
double r7791400 = r7791396 * r7791388;
double r7791401 = r7791399 * r7791400;
double r7791402 = r7791398 + r7791401;
double r7791403 = 0.0001789971;
double r7791404 = r7791400 * r7791388;
double r7791405 = r7791403 * r7791404;
double r7791406 = r7791402 + r7791405;
double r7791407 = 0.7715471019;
double r7791408 = r7791407 * r7791388;
double r7791409 = r7791385 + r7791408;
double r7791410 = 0.2909738639;
double r7791411 = r7791410 * r7791392;
double r7791412 = r7791409 + r7791411;
double r7791413 = 0.0694555761;
double r7791414 = r7791413 * r7791396;
double r7791415 = r7791412 + r7791414;
double r7791416 = 0.0140005442;
double r7791417 = r7791416 * r7791400;
double r7791418 = r7791415 + r7791417;
double r7791419 = 0.0008327945;
double r7791420 = r7791419 * r7791404;
double r7791421 = r7791418 + r7791420;
double r7791422 = 2.0;
double r7791423 = r7791422 * r7791403;
double r7791424 = r7791404 * r7791388;
double r7791425 = r7791423 * r7791424;
double r7791426 = r7791421 + r7791425;
double r7791427 = r7791406 / r7791426;
double r7791428 = r7791427 * r7791387;
return r7791428;
}
double f(double x) {
double r7791429 = x;
double r7791430 = -1.1681432100080749;
bool r7791431 = r7791429 <= r7791430;
double r7791432 = 0.15298196345929327;
double r7791433 = r7791429 * r7791429;
double r7791434 = r7791433 * r7791433;
double r7791435 = r7791434 * r7791429;
double r7791436 = r7791432 / r7791435;
double r7791437 = 0.5;
double r7791438 = r7791437 / r7791429;
double r7791439 = 0.2514179000665375;
double r7791440 = r7791433 * r7791429;
double r7791441 = r7791439 / r7791440;
double r7791442 = r7791438 + r7791441;
double r7791443 = r7791436 + r7791442;
double r7791444 = 1.151292592807526;
bool r7791445 = r7791429 <= r7791444;
double r7791446 = 0.265709700396151;
double r7791447 = 1.0;
double r7791448 = 0.6665536072;
double r7791449 = r7791433 * r7791448;
double r7791450 = r7791447 - r7791449;
double r7791451 = fma(r7791434, r7791446, r7791450);
double r7791452 = r7791429 * r7791451;
double r7791453 = r7791445 ? r7791452 : r7791443;
double r7791454 = r7791431 ? r7791443 : r7791453;
return r7791454;
}



Bits error versus x
if x < -1.1681432100080749 or 1.151292592807526 < x Initial program 58.0
rmApplied *-un-lft-identity58.0
Applied associate-*r*58.0
Simplified58.0
Taylor expanded around inf 0.2
Simplified0.2
if -1.1681432100080749 < x < 1.151292592807526Initial program 0.0
Taylor expanded around 0 0.3
Simplified0.3
Final simplification0.3
herbie shell --seed 2019139 +o rules:numerics
(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))