\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 -507323924796536.0:\\
\;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 850.418333643393:\\
\;\;\;\;x \cdot \frac{\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0001789971 + \left(\left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \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)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0005064034\right)}{\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(2 \cdot 0.0001789971\right) + \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot 0.0008327945 + \left(\left(\left(\left(0.7715471019 \cdot \left(x \cdot x\right) + 1\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0694555761\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) \cdot 0.0140005442\right)\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{{x}^{5}} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r6568481 = 1.0;
double r6568482 = 0.1049934947;
double r6568483 = x;
double r6568484 = r6568483 * r6568483;
double r6568485 = r6568482 * r6568484;
double r6568486 = r6568481 + r6568485;
double r6568487 = 0.0424060604;
double r6568488 = r6568484 * r6568484;
double r6568489 = r6568487 * r6568488;
double r6568490 = r6568486 + r6568489;
double r6568491 = 0.0072644182;
double r6568492 = r6568488 * r6568484;
double r6568493 = r6568491 * r6568492;
double r6568494 = r6568490 + r6568493;
double r6568495 = 0.0005064034;
double r6568496 = r6568492 * r6568484;
double r6568497 = r6568495 * r6568496;
double r6568498 = r6568494 + r6568497;
double r6568499 = 0.0001789971;
double r6568500 = r6568496 * r6568484;
double r6568501 = r6568499 * r6568500;
double r6568502 = r6568498 + r6568501;
double r6568503 = 0.7715471019;
double r6568504 = r6568503 * r6568484;
double r6568505 = r6568481 + r6568504;
double r6568506 = 0.2909738639;
double r6568507 = r6568506 * r6568488;
double r6568508 = r6568505 + r6568507;
double r6568509 = 0.0694555761;
double r6568510 = r6568509 * r6568492;
double r6568511 = r6568508 + r6568510;
double r6568512 = 0.0140005442;
double r6568513 = r6568512 * r6568496;
double r6568514 = r6568511 + r6568513;
double r6568515 = 0.0008327945;
double r6568516 = r6568515 * r6568500;
double r6568517 = r6568514 + r6568516;
double r6568518 = 2.0;
double r6568519 = r6568518 * r6568499;
double r6568520 = r6568500 * r6568484;
double r6568521 = r6568519 * r6568520;
double r6568522 = r6568517 + r6568521;
double r6568523 = r6568502 / r6568522;
double r6568524 = r6568523 * r6568483;
return r6568524;
}
double f(double x) {
double r6568525 = x;
double r6568526 = -507323924796536.0;
bool r6568527 = r6568525 <= r6568526;
double r6568528 = 0.15298196345929327;
double r6568529 = 5.0;
double r6568530 = pow(r6568525, r6568529);
double r6568531 = r6568528 / r6568530;
double r6568532 = 0.2514179000665375;
double r6568533 = r6568525 * r6568525;
double r6568534 = r6568525 * r6568533;
double r6568535 = r6568532 / r6568534;
double r6568536 = 0.5;
double r6568537 = r6568536 / r6568525;
double r6568538 = r6568535 + r6568537;
double r6568539 = r6568531 + r6568538;
double r6568540 = 850.418333643393;
bool r6568541 = r6568525 <= r6568540;
double r6568542 = r6568533 * r6568533;
double r6568543 = r6568533 * r6568542;
double r6568544 = r6568533 * r6568543;
double r6568545 = r6568533 * r6568544;
double r6568546 = 0.0001789971;
double r6568547 = r6568545 * r6568546;
double r6568548 = 0.0072644182;
double r6568549 = r6568548 * r6568543;
double r6568550 = 1.0;
double r6568551 = 0.1049934947;
double r6568552 = r6568551 * r6568533;
double r6568553 = r6568550 + r6568552;
double r6568554 = 0.0424060604;
double r6568555 = r6568554 * r6568542;
double r6568556 = r6568553 + r6568555;
double r6568557 = r6568549 + r6568556;
double r6568558 = 0.0005064034;
double r6568559 = r6568544 * r6568558;
double r6568560 = r6568557 + r6568559;
double r6568561 = r6568547 + r6568560;
double r6568562 = r6568545 * r6568533;
double r6568563 = 2.0;
double r6568564 = r6568563 * r6568546;
double r6568565 = r6568562 * r6568564;
double r6568566 = 0.0008327945;
double r6568567 = r6568545 * r6568566;
double r6568568 = 0.7715471019;
double r6568569 = r6568568 * r6568533;
double r6568570 = r6568569 + r6568550;
double r6568571 = 0.2909738639;
double r6568572 = r6568571 * r6568542;
double r6568573 = r6568570 + r6568572;
double r6568574 = 0.0694555761;
double r6568575 = r6568543 * r6568574;
double r6568576 = r6568573 + r6568575;
double r6568577 = 0.0140005442;
double r6568578 = r6568544 * r6568577;
double r6568579 = r6568576 + r6568578;
double r6568580 = r6568567 + r6568579;
double r6568581 = r6568565 + r6568580;
double r6568582 = r6568561 / r6568581;
double r6568583 = r6568525 * r6568582;
double r6568584 = r6568541 ? r6568583 : r6568539;
double r6568585 = r6568527 ? r6568539 : r6568584;
return r6568585;
}



Bits error versus x
Results
if x < -507323924796536.0 or 850.418333643393 < x Initial program 59.5
Taylor expanded around inf 0.0
Simplified0.0
if -507323924796536.0 < x < 850.418333643393Initial program 0.0
Final simplification0.0
herbie shell --seed 2019165 +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))