\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 -2559388.4813569574616849422454833984375 \lor \neg \left(x \le 669.4641872238848918641451746225357055664\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{x}{\frac{1}{\frac{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.064034000000000243502107366566633572802 \cdot 10^{-4} + \sqrt{\left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}} \cdot \sqrt{\left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}}\right) + \left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right)\right) + {x}^{4} \cdot \left(0.04240606040000000076517494562722276896238 + \left(x \cdot x\right) \cdot 0.007264418199999999985194687468492702464573\right)}{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right)\right) + \left(\left(x \cdot x\right) \cdot \left(0.7715471018999999763821051601553335785866 + 0.2909738639000000182122107617033179849386 \cdot \left(x \cdot x\right)\right) + 1\right)\right) + {x}^{6} \cdot \left(0.06945557609999999937322456844412954524159 + \left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743\right)}}}\\
\end{array}double f(double x) {
double r308572 = 1.0;
double r308573 = 0.1049934947;
double r308574 = x;
double r308575 = r308574 * r308574;
double r308576 = r308573 * r308575;
double r308577 = r308572 + r308576;
double r308578 = 0.0424060604;
double r308579 = r308575 * r308575;
double r308580 = r308578 * r308579;
double r308581 = r308577 + r308580;
double r308582 = 0.0072644182;
double r308583 = r308579 * r308575;
double r308584 = r308582 * r308583;
double r308585 = r308581 + r308584;
double r308586 = 0.0005064034;
double r308587 = r308583 * r308575;
double r308588 = r308586 * r308587;
double r308589 = r308585 + r308588;
double r308590 = 0.0001789971;
double r308591 = r308587 * r308575;
double r308592 = r308590 * r308591;
double r308593 = r308589 + r308592;
double r308594 = 0.7715471019;
double r308595 = r308594 * r308575;
double r308596 = r308572 + r308595;
double r308597 = 0.2909738639;
double r308598 = r308597 * r308579;
double r308599 = r308596 + r308598;
double r308600 = 0.0694555761;
double r308601 = r308600 * r308583;
double r308602 = r308599 + r308601;
double r308603 = 0.0140005442;
double r308604 = r308603 * r308587;
double r308605 = r308602 + r308604;
double r308606 = 0.0008327945;
double r308607 = r308606 * r308591;
double r308608 = r308605 + r308607;
double r308609 = 2.0;
double r308610 = r308609 * r308590;
double r308611 = r308591 * r308575;
double r308612 = r308610 * r308611;
double r308613 = r308608 + r308612;
double r308614 = r308593 / r308613;
double r308615 = r308614 * r308574;
return r308615;
}
double f(double x) {
double r308616 = x;
double r308617 = -2559388.4813569575;
bool r308618 = r308616 <= r308617;
double r308619 = 669.4641872238849;
bool r308620 = r308616 <= r308619;
double r308621 = !r308620;
bool r308622 = r308618 || r308621;
double r308623 = 0.2514179000665375;
double r308624 = 1.0;
double r308625 = 3.0;
double r308626 = pow(r308616, r308625);
double r308627 = r308624 / r308626;
double r308628 = r308623 * r308627;
double r308629 = 0.15298196345929327;
double r308630 = 5.0;
double r308631 = pow(r308616, r308630);
double r308632 = r308624 / r308631;
double r308633 = r308629 * r308632;
double r308634 = 0.5;
double r308635 = r308624 / r308616;
double r308636 = r308634 * r308635;
double r308637 = r308633 + r308636;
double r308638 = r308628 + r308637;
double r308639 = r308616 * r308616;
double r308640 = 4.0;
double r308641 = pow(r308639, r308640);
double r308642 = 0.0005064034;
double r308643 = 0.0001789971;
double r308644 = r308639 * r308643;
double r308645 = sqrt(r308644);
double r308646 = r308645 * r308645;
double r308647 = r308642 + r308646;
double r308648 = r308641 * r308647;
double r308649 = 1.0;
double r308650 = 0.1049934947;
double r308651 = r308650 * r308639;
double r308652 = r308649 + r308651;
double r308653 = r308648 + r308652;
double r308654 = pow(r308616, r308640);
double r308655 = 0.0424060604;
double r308656 = 0.0072644182;
double r308657 = r308639 * r308656;
double r308658 = r308655 + r308657;
double r308659 = r308654 * r308658;
double r308660 = r308653 + r308659;
double r308661 = pow(r308639, r308625);
double r308662 = r308661 * r308626;
double r308663 = r308616 * r308662;
double r308664 = 0.0008327945;
double r308665 = 2.0;
double r308666 = r308665 * r308643;
double r308667 = r308639 * r308666;
double r308668 = r308664 + r308667;
double r308669 = r308663 * r308668;
double r308670 = 0.7715471019;
double r308671 = 0.2909738639;
double r308672 = r308671 * r308639;
double r308673 = r308670 + r308672;
double r308674 = r308639 * r308673;
double r308675 = r308674 + r308649;
double r308676 = r308669 + r308675;
double r308677 = 6.0;
double r308678 = pow(r308616, r308677);
double r308679 = 0.0694555761;
double r308680 = 0.0140005442;
double r308681 = r308639 * r308680;
double r308682 = r308679 + r308681;
double r308683 = r308678 * r308682;
double r308684 = r308676 + r308683;
double r308685 = r308660 / r308684;
double r308686 = r308624 / r308685;
double r308687 = r308616 / r308686;
double r308688 = r308622 ? r308638 : r308687;
return r308688;
}



Bits error versus x
Results
if x < -2559388.4813569575 or 669.4641872238849 < x Initial program 59.5
Simplified59.5
Taylor expanded around inf 0.0
if -2559388.4813569575 < x < 669.4641872238849Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
rmApplied clear-num0.0
Final simplification0.0
herbie shell --seed 2020002
(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))