\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 -31979244171150.1211 \lor \neg \left(x \le 390175.51502219622\right):\\
\;\;\;\;0.25141790006653753 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592933 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\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\\
\end{array}double f(double x) {
double r245409 = 1.0;
double r245410 = 0.1049934947;
double r245411 = x;
double r245412 = r245411 * r245411;
double r245413 = r245410 * r245412;
double r245414 = r245409 + r245413;
double r245415 = 0.0424060604;
double r245416 = r245412 * r245412;
double r245417 = r245415 * r245416;
double r245418 = r245414 + r245417;
double r245419 = 0.0072644182;
double r245420 = r245416 * r245412;
double r245421 = r245419 * r245420;
double r245422 = r245418 + r245421;
double r245423 = 0.0005064034;
double r245424 = r245420 * r245412;
double r245425 = r245423 * r245424;
double r245426 = r245422 + r245425;
double r245427 = 0.0001789971;
double r245428 = r245424 * r245412;
double r245429 = r245427 * r245428;
double r245430 = r245426 + r245429;
double r245431 = 0.7715471019;
double r245432 = r245431 * r245412;
double r245433 = r245409 + r245432;
double r245434 = 0.2909738639;
double r245435 = r245434 * r245416;
double r245436 = r245433 + r245435;
double r245437 = 0.0694555761;
double r245438 = r245437 * r245420;
double r245439 = r245436 + r245438;
double r245440 = 0.0140005442;
double r245441 = r245440 * r245424;
double r245442 = r245439 + r245441;
double r245443 = 0.0008327945;
double r245444 = r245443 * r245428;
double r245445 = r245442 + r245444;
double r245446 = 2.0;
double r245447 = r245446 * r245427;
double r245448 = r245428 * r245412;
double r245449 = r245447 * r245448;
double r245450 = r245445 + r245449;
double r245451 = r245430 / r245450;
double r245452 = r245451 * r245411;
return r245452;
}
double f(double x) {
double r245453 = x;
double r245454 = -31979244171150.12;
bool r245455 = r245453 <= r245454;
double r245456 = 390175.5150221962;
bool r245457 = r245453 <= r245456;
double r245458 = !r245457;
bool r245459 = r245455 || r245458;
double r245460 = 0.2514179000665375;
double r245461 = 1.0;
double r245462 = 3.0;
double r245463 = pow(r245453, r245462);
double r245464 = r245461 / r245463;
double r245465 = r245460 * r245464;
double r245466 = 0.15298196345929327;
double r245467 = 5.0;
double r245468 = pow(r245453, r245467);
double r245469 = r245461 / r245468;
double r245470 = r245466 * r245469;
double r245471 = 0.5;
double r245472 = r245461 / r245453;
double r245473 = r245471 * r245472;
double r245474 = r245470 + r245473;
double r245475 = r245465 + r245474;
double r245476 = 1.0;
double r245477 = 0.1049934947;
double r245478 = r245453 * r245453;
double r245479 = r245477 * r245478;
double r245480 = r245476 + r245479;
double r245481 = 0.0424060604;
double r245482 = r245478 * r245478;
double r245483 = r245481 * r245482;
double r245484 = r245480 + r245483;
double r245485 = 0.0072644182;
double r245486 = r245482 * r245478;
double r245487 = r245485 * r245486;
double r245488 = r245484 + r245487;
double r245489 = 0.0005064034;
double r245490 = r245486 * r245478;
double r245491 = r245489 * r245490;
double r245492 = r245488 + r245491;
double r245493 = 0.0001789971;
double r245494 = r245490 * r245478;
double r245495 = r245493 * r245494;
double r245496 = r245492 + r245495;
double r245497 = 0.7715471019;
double r245498 = r245497 * r245478;
double r245499 = r245476 + r245498;
double r245500 = 0.2909738639;
double r245501 = r245500 * r245482;
double r245502 = r245499 + r245501;
double r245503 = 0.0694555761;
double r245504 = r245503 * r245486;
double r245505 = r245502 + r245504;
double r245506 = 0.0140005442;
double r245507 = r245506 * r245490;
double r245508 = r245505 + r245507;
double r245509 = 0.0008327945;
double r245510 = r245509 * r245494;
double r245511 = r245508 + r245510;
double r245512 = 2.0;
double r245513 = r245512 * r245493;
double r245514 = r245494 * r245478;
double r245515 = r245513 * r245514;
double r245516 = r245511 + r245515;
double r245517 = r245496 / r245516;
double r245518 = r245517 * r245453;
double r245519 = r245459 ? r245475 : r245518;
return r245519;
}



Bits error versus x
Results
if x < -31979244171150.12 or 390175.5150221962 < x Initial program 60.7
Taylor expanded around inf 0.0
if -31979244171150.12 < x < 390175.5150221962Initial program 0.0
Final simplification0.0
herbie shell --seed 2020081
(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))