\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 -6221.706960826033:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.15298196345929327}{x \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\mathbf{elif}\;x \le 679.3112554427823:\\
\;\;\;\;x \cdot \left(\frac{\left(0.0001789971 \cdot \left(x \cdot x\right) + 0.0005064034\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) + \left(\left(1 + \left(x \cdot x\right) \cdot 0.1049934947\right) + \left(0.0424060604 + \left(x \cdot x\right) \cdot 0.0072644182\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)}{\sqrt[3]{\left(2 \cdot \left(0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(x \cdot x\right) \cdot 0.0008327945\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) + \left(1 + \left(x \cdot x\right) \cdot \left(\left(0.7715471019 + 0.2909738639 \cdot \left(x \cdot x\right)\right) + \left(0.0694555761 + 0.0140005442 \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)}} \cdot \frac{1}{\sqrt[3]{\left(2 \cdot \left(0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(x \cdot x\right) \cdot 0.0008327945\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) + \left(1 + \left(x \cdot x\right) \cdot \left(\left(0.7715471019 + 0.2909738639 \cdot \left(x \cdot x\right)\right) + \left(0.0694555761 + 0.0140005442 \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)} \cdot \sqrt[3]{\left(2 \cdot \left(0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(x \cdot x\right) \cdot 0.0008327945\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) + \left(1 + \left(x \cdot x\right) \cdot \left(\left(0.7715471019 + 0.2909738639 \cdot \left(x \cdot x\right)\right) + \left(0.0694555761 + 0.0140005442 \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right)}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.15298196345929327}{x \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)} + \frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x}\right)\\
\end{array}double f(double x) {
double r7214495 = 1.0;
double r7214496 = 0.1049934947;
double r7214497 = x;
double r7214498 = r7214497 * r7214497;
double r7214499 = r7214496 * r7214498;
double r7214500 = r7214495 + r7214499;
double r7214501 = 0.0424060604;
double r7214502 = r7214498 * r7214498;
double r7214503 = r7214501 * r7214502;
double r7214504 = r7214500 + r7214503;
double r7214505 = 0.0072644182;
double r7214506 = r7214502 * r7214498;
double r7214507 = r7214505 * r7214506;
double r7214508 = r7214504 + r7214507;
double r7214509 = 0.0005064034;
double r7214510 = r7214506 * r7214498;
double r7214511 = r7214509 * r7214510;
double r7214512 = r7214508 + r7214511;
double r7214513 = 0.0001789971;
double r7214514 = r7214510 * r7214498;
double r7214515 = r7214513 * r7214514;
double r7214516 = r7214512 + r7214515;
double r7214517 = 0.7715471019;
double r7214518 = r7214517 * r7214498;
double r7214519 = r7214495 + r7214518;
double r7214520 = 0.2909738639;
double r7214521 = r7214520 * r7214502;
double r7214522 = r7214519 + r7214521;
double r7214523 = 0.0694555761;
double r7214524 = r7214523 * r7214506;
double r7214525 = r7214522 + r7214524;
double r7214526 = 0.0140005442;
double r7214527 = r7214526 * r7214510;
double r7214528 = r7214525 + r7214527;
double r7214529 = 0.0008327945;
double r7214530 = r7214529 * r7214514;
double r7214531 = r7214528 + r7214530;
double r7214532 = 2.0;
double r7214533 = r7214532 * r7214513;
double r7214534 = r7214514 * r7214498;
double r7214535 = r7214533 * r7214534;
double r7214536 = r7214531 + r7214535;
double r7214537 = r7214516 / r7214536;
double r7214538 = r7214537 * r7214497;
return r7214538;
}
double f(double x) {
double r7214539 = x;
double r7214540 = -6221.706960826033;
bool r7214541 = r7214539 <= r7214540;
double r7214542 = 0.5;
double r7214543 = r7214542 / r7214539;
double r7214544 = 0.15298196345929327;
double r7214545 = r7214539 * r7214539;
double r7214546 = r7214545 * r7214545;
double r7214547 = r7214539 * r7214546;
double r7214548 = r7214544 / r7214547;
double r7214549 = 0.2514179000665375;
double r7214550 = r7214545 * r7214539;
double r7214551 = r7214549 / r7214550;
double r7214552 = r7214548 + r7214551;
double r7214553 = r7214543 + r7214552;
double r7214554 = 679.3112554427823;
bool r7214555 = r7214539 <= r7214554;
double r7214556 = 0.0001789971;
double r7214557 = r7214556 * r7214545;
double r7214558 = 0.0005064034;
double r7214559 = r7214557 + r7214558;
double r7214560 = r7214546 * r7214546;
double r7214561 = r7214559 * r7214560;
double r7214562 = 1.0;
double r7214563 = 0.1049934947;
double r7214564 = r7214545 * r7214563;
double r7214565 = r7214562 + r7214564;
double r7214566 = 0.0424060604;
double r7214567 = 0.0072644182;
double r7214568 = r7214545 * r7214567;
double r7214569 = r7214566 + r7214568;
double r7214570 = r7214569 * r7214546;
double r7214571 = r7214565 + r7214570;
double r7214572 = r7214561 + r7214571;
double r7214573 = 2.0;
double r7214574 = r7214556 * r7214546;
double r7214575 = r7214573 * r7214574;
double r7214576 = 0.0008327945;
double r7214577 = r7214545 * r7214576;
double r7214578 = r7214575 + r7214577;
double r7214579 = r7214578 * r7214560;
double r7214580 = 0.7715471019;
double r7214581 = 0.2909738639;
double r7214582 = r7214581 * r7214545;
double r7214583 = r7214580 + r7214582;
double r7214584 = 0.0694555761;
double r7214585 = 0.0140005442;
double r7214586 = r7214585 * r7214545;
double r7214587 = r7214584 + r7214586;
double r7214588 = r7214587 * r7214546;
double r7214589 = r7214583 + r7214588;
double r7214590 = r7214545 * r7214589;
double r7214591 = r7214562 + r7214590;
double r7214592 = r7214579 + r7214591;
double r7214593 = cbrt(r7214592);
double r7214594 = r7214572 / r7214593;
double r7214595 = r7214593 * r7214593;
double r7214596 = r7214562 / r7214595;
double r7214597 = r7214594 * r7214596;
double r7214598 = r7214539 * r7214597;
double r7214599 = r7214555 ? r7214598 : r7214553;
double r7214600 = r7214541 ? r7214553 : r7214599;
return r7214600;
}



Bits error versus x
Results
if x < -6221.706960826033 or 679.3112554427823 < x Initial program 58.1
Simplified58.0
Taylor expanded around -inf 0.0
Simplified0.0
if -6221.706960826033 < x < 679.3112554427823Initial program 0.0
Simplified0.0
rmApplied add-cube-cbrt0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Final simplification0.0
herbie shell --seed 2019133
(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))