\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 -902381683.9627103:\\
\;\;\;\;\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\\
\mathbf{elif}\;x \le 791.0570981785575:\\
\;\;\;\;\frac{\left(\left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0005064034\right) \cdot \left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0005064034\right) - \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0001789971\right) \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0001789971\right)\right) \cdot \left(x \cdot \frac{1}{\left(2 \cdot 0.0001789971\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(0.0008327945 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) + \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0694555761 + \left(0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(0.7715471019 \cdot \left(x \cdot x\right) + 1\right)\right)\right) + 0.0140005442 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right)}\right)}{\left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot 0.1049934947 + 1\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0005064034\right) - \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0001789971}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \left(\frac{0.5}{x} + \frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\\
\end{array}double f(double x) {
double r8287421 = 1.0;
double r8287422 = 0.1049934947;
double r8287423 = x;
double r8287424 = r8287423 * r8287423;
double r8287425 = r8287422 * r8287424;
double r8287426 = r8287421 + r8287425;
double r8287427 = 0.0424060604;
double r8287428 = r8287424 * r8287424;
double r8287429 = r8287427 * r8287428;
double r8287430 = r8287426 + r8287429;
double r8287431 = 0.0072644182;
double r8287432 = r8287428 * r8287424;
double r8287433 = r8287431 * r8287432;
double r8287434 = r8287430 + r8287433;
double r8287435 = 0.0005064034;
double r8287436 = r8287432 * r8287424;
double r8287437 = r8287435 * r8287436;
double r8287438 = r8287434 + r8287437;
double r8287439 = 0.0001789971;
double r8287440 = r8287436 * r8287424;
double r8287441 = r8287439 * r8287440;
double r8287442 = r8287438 + r8287441;
double r8287443 = 0.7715471019;
double r8287444 = r8287443 * r8287424;
double r8287445 = r8287421 + r8287444;
double r8287446 = 0.2909738639;
double r8287447 = r8287446 * r8287428;
double r8287448 = r8287445 + r8287447;
double r8287449 = 0.0694555761;
double r8287450 = r8287449 * r8287432;
double r8287451 = r8287448 + r8287450;
double r8287452 = 0.0140005442;
double r8287453 = r8287452 * r8287436;
double r8287454 = r8287451 + r8287453;
double r8287455 = 0.0008327945;
double r8287456 = r8287455 * r8287440;
double r8287457 = r8287454 + r8287456;
double r8287458 = 2.0;
double r8287459 = r8287458 * r8287439;
double r8287460 = r8287440 * r8287424;
double r8287461 = r8287459 * r8287460;
double r8287462 = r8287457 + r8287461;
double r8287463 = r8287442 / r8287462;
double r8287464 = r8287463 * r8287423;
return r8287464;
}
double f(double x) {
double r8287465 = x;
double r8287466 = -902381683.9627103;
bool r8287467 = r8287465 <= r8287466;
double r8287468 = 0.2514179000665375;
double r8287469 = r8287465 * r8287465;
double r8287470 = r8287469 * r8287465;
double r8287471 = r8287468 / r8287470;
double r8287472 = 0.5;
double r8287473 = r8287472 / r8287465;
double r8287474 = 0.15298196345929327;
double r8287475 = r8287469 * r8287470;
double r8287476 = r8287474 / r8287475;
double r8287477 = r8287473 + r8287476;
double r8287478 = r8287471 + r8287477;
double r8287479 = 791.0570981785575;
bool r8287480 = r8287465 <= r8287479;
double r8287481 = 0.0072644182;
double r8287482 = r8287469 * r8287469;
double r8287483 = r8287482 * r8287469;
double r8287484 = r8287481 * r8287483;
double r8287485 = 0.0424060604;
double r8287486 = r8287485 * r8287482;
double r8287487 = 0.1049934947;
double r8287488 = r8287469 * r8287487;
double r8287489 = 1.0;
double r8287490 = r8287488 + r8287489;
double r8287491 = r8287486 + r8287490;
double r8287492 = r8287484 + r8287491;
double r8287493 = r8287469 * r8287483;
double r8287494 = 0.0005064034;
double r8287495 = r8287493 * r8287494;
double r8287496 = r8287492 + r8287495;
double r8287497 = r8287496 * r8287496;
double r8287498 = r8287493 * r8287469;
double r8287499 = 0.0001789971;
double r8287500 = r8287498 * r8287499;
double r8287501 = r8287500 * r8287500;
double r8287502 = r8287497 - r8287501;
double r8287503 = 2.0;
double r8287504 = r8287503 * r8287499;
double r8287505 = r8287469 * r8287498;
double r8287506 = r8287504 * r8287505;
double r8287507 = 0.0008327945;
double r8287508 = r8287507 * r8287498;
double r8287509 = 0.0694555761;
double r8287510 = r8287483 * r8287509;
double r8287511 = 0.2909738639;
double r8287512 = r8287511 * r8287482;
double r8287513 = 0.7715471019;
double r8287514 = r8287513 * r8287469;
double r8287515 = r8287514 + r8287489;
double r8287516 = r8287512 + r8287515;
double r8287517 = r8287510 + r8287516;
double r8287518 = 0.0140005442;
double r8287519 = r8287518 * r8287493;
double r8287520 = r8287517 + r8287519;
double r8287521 = r8287508 + r8287520;
double r8287522 = r8287506 + r8287521;
double r8287523 = r8287489 / r8287522;
double r8287524 = r8287465 * r8287523;
double r8287525 = r8287502 * r8287524;
double r8287526 = r8287496 - r8287500;
double r8287527 = r8287525 / r8287526;
double r8287528 = r8287480 ? r8287527 : r8287478;
double r8287529 = r8287467 ? r8287478 : r8287528;
return r8287529;
}



Bits error versus x
Results
if x < -902381683.9627103 or 791.0570981785575 < x Initial program 58.9
Taylor expanded around -inf 0.0
Simplified0.0
if -902381683.9627103 < x < 791.0570981785575Initial program 0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
rmApplied flip-+0.0
Applied associate-*l/0.0
Final simplification0.0
herbie shell --seed 2019132 +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))