\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 -244114386.9095483124256134033203125 \lor \neg \left(x \le 750.4504576576831595957628451287746429443\right):\\
\;\;\;\;0.2514179000665375252054900556686334311962 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592932686700805788859724998474 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\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\\
\end{array}double f(double x) {
double r242436 = 1.0;
double r242437 = 0.1049934947;
double r242438 = x;
double r242439 = r242438 * r242438;
double r242440 = r242437 * r242439;
double r242441 = r242436 + r242440;
double r242442 = 0.0424060604;
double r242443 = r242439 * r242439;
double r242444 = r242442 * r242443;
double r242445 = r242441 + r242444;
double r242446 = 0.0072644182;
double r242447 = r242443 * r242439;
double r242448 = r242446 * r242447;
double r242449 = r242445 + r242448;
double r242450 = 0.0005064034;
double r242451 = r242447 * r242439;
double r242452 = r242450 * r242451;
double r242453 = r242449 + r242452;
double r242454 = 0.0001789971;
double r242455 = r242451 * r242439;
double r242456 = r242454 * r242455;
double r242457 = r242453 + r242456;
double r242458 = 0.7715471019;
double r242459 = r242458 * r242439;
double r242460 = r242436 + r242459;
double r242461 = 0.2909738639;
double r242462 = r242461 * r242443;
double r242463 = r242460 + r242462;
double r242464 = 0.0694555761;
double r242465 = r242464 * r242447;
double r242466 = r242463 + r242465;
double r242467 = 0.0140005442;
double r242468 = r242467 * r242451;
double r242469 = r242466 + r242468;
double r242470 = 0.0008327945;
double r242471 = r242470 * r242455;
double r242472 = r242469 + r242471;
double r242473 = 2.0;
double r242474 = r242473 * r242454;
double r242475 = r242455 * r242439;
double r242476 = r242474 * r242475;
double r242477 = r242472 + r242476;
double r242478 = r242457 / r242477;
double r242479 = r242478 * r242438;
return r242479;
}
double f(double x) {
double r242480 = x;
double r242481 = -244114386.9095483;
bool r242482 = r242480 <= r242481;
double r242483 = 750.4504576576832;
bool r242484 = r242480 <= r242483;
double r242485 = !r242484;
bool r242486 = r242482 || r242485;
double r242487 = 0.2514179000665375;
double r242488 = 1.0;
double r242489 = 3.0;
double r242490 = pow(r242480, r242489);
double r242491 = r242488 / r242490;
double r242492 = r242487 * r242491;
double r242493 = 0.15298196345929327;
double r242494 = 5.0;
double r242495 = pow(r242480, r242494);
double r242496 = r242488 / r242495;
double r242497 = r242493 * r242496;
double r242498 = 0.5;
double r242499 = r242488 / r242480;
double r242500 = r242498 * r242499;
double r242501 = r242497 + r242500;
double r242502 = r242492 + r242501;
double r242503 = 1.0;
double r242504 = 0.1049934947;
double r242505 = r242480 * r242480;
double r242506 = r242504 * r242505;
double r242507 = r242503 + r242506;
double r242508 = 0.0424060604;
double r242509 = r242505 * r242505;
double r242510 = r242508 * r242509;
double r242511 = r242507 + r242510;
double r242512 = 0.0072644182;
double r242513 = r242509 * r242505;
double r242514 = r242512 * r242513;
double r242515 = r242511 + r242514;
double r242516 = 0.0005064034;
double r242517 = r242513 * r242505;
double r242518 = r242516 * r242517;
double r242519 = r242515 + r242518;
double r242520 = 0.0001789971;
double r242521 = r242517 * r242505;
double r242522 = r242520 * r242521;
double r242523 = r242519 + r242522;
double r242524 = 0.7715471019;
double r242525 = r242524 * r242505;
double r242526 = r242503 + r242525;
double r242527 = 0.2909738639;
double r242528 = r242527 * r242509;
double r242529 = r242526 + r242528;
double r242530 = 0.0694555761;
double r242531 = r242530 * r242513;
double r242532 = r242529 + r242531;
double r242533 = 0.0140005442;
double r242534 = r242533 * r242517;
double r242535 = r242532 + r242534;
double r242536 = 0.0008327945;
double r242537 = r242536 * r242521;
double r242538 = r242535 + r242537;
double r242539 = 2.0;
double r242540 = r242539 * r242520;
double r242541 = r242521 * r242505;
double r242542 = r242540 * r242541;
double r242543 = r242538 + r242542;
double r242544 = r242523 / r242543;
double r242545 = r242544 * r242480;
double r242546 = r242486 ? r242502 : r242545;
return r242546;
}



Bits error versus x
Results
if x < -244114386.9095483 or 750.4504576576832 < x Initial program 59.7
Simplified59.6
Taylor expanded around inf 0.0
if -244114386.9095483 < x < 750.4504576576832Initial program 0.0
Final simplification0.0
herbie shell --seed 2019323
(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))