\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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 -14642.02703748837484454270452260971069336:\\
\;\;\;\;\left(\frac{0.2514179000665375252054900556686334311962}{x \cdot \left(x \cdot x\right)} + \frac{0.1529819634592932686700805788859724998474}{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)}\right) + \frac{0.5}{x}\\
\mathbf{elif}\;x \le 635.4338314036614292490412481129169464111:\\
\;\;\;\;\frac{\mathsf{fma}\left(\left(x \cdot x\right) \cdot 0.007264418199999999985194687468492702464573, \left(x \cdot x\right) \cdot \left(x \cdot x\right), \mathsf{fma}\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right), 0.04240606040000000076517494562722276896238, \mathsf{fma}\left(0.1049934946999999951788851149103720672429, x \cdot x, 1\right)\right)\right) + \mathsf{fma}\left(x \cdot x, 1.789971000000000009994005623070734145585 \cdot 10^{-4}, 5.064034000000000243502107366566633572802 \cdot 10^{-4}\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)}{\mathsf{fma}\left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}, \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right), \mathsf{fma}\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743, \mathsf{fma}\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), 0.06945557609999999937322456844412954524159, \mathsf{fma}\left(0.2909738639000000182122107617033179849386, \left(x \cdot x\right) \cdot \left(x \cdot x\right), \mathsf{fma}\left(x \cdot x, 0.7715471018999999763821051601553335785866, 1\right)\right)\right)\right)\right)} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{0.2514179000665375252054900556686334311962}{x \cdot \left(x \cdot x\right)} + \frac{0.1529819634592932686700805788859724998474}{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)}\right) + \frac{0.5}{x}\\
\end{array}double f(double x) {
double r5282325 = 1.0;
double r5282326 = 0.1049934947;
double r5282327 = x;
double r5282328 = r5282327 * r5282327;
double r5282329 = r5282326 * r5282328;
double r5282330 = r5282325 + r5282329;
double r5282331 = 0.0424060604;
double r5282332 = r5282328 * r5282328;
double r5282333 = r5282331 * r5282332;
double r5282334 = r5282330 + r5282333;
double r5282335 = 0.0072644182;
double r5282336 = r5282332 * r5282328;
double r5282337 = r5282335 * r5282336;
double r5282338 = r5282334 + r5282337;
double r5282339 = 0.0005064034;
double r5282340 = r5282336 * r5282328;
double r5282341 = r5282339 * r5282340;
double r5282342 = r5282338 + r5282341;
double r5282343 = 0.0001789971;
double r5282344 = r5282340 * r5282328;
double r5282345 = r5282343 * r5282344;
double r5282346 = r5282342 + r5282345;
double r5282347 = 0.7715471019;
double r5282348 = r5282347 * r5282328;
double r5282349 = r5282325 + r5282348;
double r5282350 = 0.2909738639;
double r5282351 = r5282350 * r5282332;
double r5282352 = r5282349 + r5282351;
double r5282353 = 0.0694555761;
double r5282354 = r5282353 * r5282336;
double r5282355 = r5282352 + r5282354;
double r5282356 = 0.0140005442;
double r5282357 = r5282356 * r5282340;
double r5282358 = r5282355 + r5282357;
double r5282359 = 0.0008327945;
double r5282360 = r5282359 * r5282344;
double r5282361 = r5282358 + r5282360;
double r5282362 = 2.0;
double r5282363 = r5282362 * r5282343;
double r5282364 = r5282344 * r5282328;
double r5282365 = r5282363 * r5282364;
double r5282366 = r5282361 + r5282365;
double r5282367 = r5282346 / r5282366;
double r5282368 = r5282367 * r5282327;
return r5282368;
}
double f(double x) {
double r5282369 = x;
double r5282370 = -14642.027037488375;
bool r5282371 = r5282369 <= r5282370;
double r5282372 = 0.2514179000665375;
double r5282373 = r5282369 * r5282369;
double r5282374 = r5282369 * r5282373;
double r5282375 = r5282372 / r5282374;
double r5282376 = 0.15298196345929327;
double r5282377 = r5282374 * r5282373;
double r5282378 = r5282376 / r5282377;
double r5282379 = r5282375 + r5282378;
double r5282380 = 0.5;
double r5282381 = r5282380 / r5282369;
double r5282382 = r5282379 + r5282381;
double r5282383 = 635.4338314036614;
bool r5282384 = r5282369 <= r5282383;
double r5282385 = 0.0072644182;
double r5282386 = r5282373 * r5282385;
double r5282387 = r5282373 * r5282373;
double r5282388 = 0.0424060604;
double r5282389 = 0.1049934947;
double r5282390 = 1.0;
double r5282391 = fma(r5282389, r5282373, r5282390);
double r5282392 = fma(r5282387, r5282388, r5282391);
double r5282393 = fma(r5282386, r5282387, r5282392);
double r5282394 = 0.0001789971;
double r5282395 = 0.0005064034;
double r5282396 = fma(r5282373, r5282394, r5282395);
double r5282397 = r5282387 * r5282387;
double r5282398 = r5282396 * r5282397;
double r5282399 = r5282393 + r5282398;
double r5282400 = 2.0;
double r5282401 = r5282400 * r5282394;
double r5282402 = r5282373 * r5282387;
double r5282403 = r5282402 * r5282402;
double r5282404 = 0.0008327945;
double r5282405 = r5282387 * r5282404;
double r5282406 = 0.0140005442;
double r5282407 = r5282373 * r5282406;
double r5282408 = r5282405 + r5282407;
double r5282409 = 0.0694555761;
double r5282410 = 0.2909738639;
double r5282411 = 0.7715471019;
double r5282412 = fma(r5282373, r5282411, r5282390);
double r5282413 = fma(r5282410, r5282387, r5282412);
double r5282414 = fma(r5282402, r5282409, r5282413);
double r5282415 = fma(r5282402, r5282408, r5282414);
double r5282416 = fma(r5282401, r5282403, r5282415);
double r5282417 = r5282399 / r5282416;
double r5282418 = r5282417 * r5282369;
double r5282419 = r5282384 ? r5282418 : r5282382;
double r5282420 = r5282371 ? r5282382 : r5282419;
return r5282420;
}



Bits error versus x
if x < -14642.027037488375 or 635.4338314036614 < x Initial program 59.5
Simplified59.5
Taylor expanded around inf 0.0
Simplified0.0
if -14642.027037488375 < x < 635.4338314036614Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))