\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 -1070125311599595264 \lor \neg \left(x \le 695.087891772079956353991292417049407959\right):\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{{x}^{5}} + \left(\frac{0.5}{x} + \frac{0.2514179000665375252054900556686334311962}{{x}^{3}}\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \frac{\left(5.064034000000000243502107366566633572802 \cdot 10^{-4} \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) + \left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.04240606040000000076517494562722276896238\right) + \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.007264418199999999985194687468492702464573\right)\right) + \left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}}{\left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) + \left(\left(\left(x \cdot x\right) \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(\left(0.06945557609999999937322456844412954524159 \cdot \left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.2909738639000000182122107617033179849386 + \left(1 + 0.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right)\right)\right) + 0.01400054419999999938406531896362139377743 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)\right)\right)}\\
\end{array}double f(double x) {
double r122570 = 1.0;
double r122571 = 0.1049934947;
double r122572 = x;
double r122573 = r122572 * r122572;
double r122574 = r122571 * r122573;
double r122575 = r122570 + r122574;
double r122576 = 0.0424060604;
double r122577 = r122573 * r122573;
double r122578 = r122576 * r122577;
double r122579 = r122575 + r122578;
double r122580 = 0.0072644182;
double r122581 = r122577 * r122573;
double r122582 = r122580 * r122581;
double r122583 = r122579 + r122582;
double r122584 = 0.0005064034;
double r122585 = r122581 * r122573;
double r122586 = r122584 * r122585;
double r122587 = r122583 + r122586;
double r122588 = 0.0001789971;
double r122589 = r122585 * r122573;
double r122590 = r122588 * r122589;
double r122591 = r122587 + r122590;
double r122592 = 0.7715471019;
double r122593 = r122592 * r122573;
double r122594 = r122570 + r122593;
double r122595 = 0.2909738639;
double r122596 = r122595 * r122577;
double r122597 = r122594 + r122596;
double r122598 = 0.0694555761;
double r122599 = r122598 * r122581;
double r122600 = r122597 + r122599;
double r122601 = 0.0140005442;
double r122602 = r122601 * r122585;
double r122603 = r122600 + r122602;
double r122604 = 0.0008327945;
double r122605 = r122604 * r122589;
double r122606 = r122603 + r122605;
double r122607 = 2.0;
double r122608 = r122607 * r122588;
double r122609 = r122589 * r122573;
double r122610 = r122608 * r122609;
double r122611 = r122606 + r122610;
double r122612 = r122591 / r122611;
double r122613 = r122612 * r122572;
return r122613;
}
double f(double x) {
double r122614 = x;
double r122615 = -1.0701253115995953e+18;
bool r122616 = r122614 <= r122615;
double r122617 = 695.08789177208;
bool r122618 = r122614 <= r122617;
double r122619 = !r122618;
bool r122620 = r122616 || r122619;
double r122621 = 0.15298196345929327;
double r122622 = 5.0;
double r122623 = pow(r122614, r122622);
double r122624 = r122621 / r122623;
double r122625 = 0.5;
double r122626 = r122625 / r122614;
double r122627 = 0.2514179000665375;
double r122628 = 3.0;
double r122629 = pow(r122614, r122628);
double r122630 = r122627 / r122629;
double r122631 = r122626 + r122630;
double r122632 = r122624 + r122631;
double r122633 = 0.0005064034;
double r122634 = r122614 * r122614;
double r122635 = r122634 * r122634;
double r122636 = r122634 * r122635;
double r122637 = r122636 * r122634;
double r122638 = r122633 * r122637;
double r122639 = 1.0;
double r122640 = 0.1049934947;
double r122641 = r122640 * r122634;
double r122642 = r122639 + r122641;
double r122643 = 0.0424060604;
double r122644 = r122635 * r122643;
double r122645 = r122642 + r122644;
double r122646 = 0.0072644182;
double r122647 = r122636 * r122646;
double r122648 = r122645 + r122647;
double r122649 = r122638 + r122648;
double r122650 = r122634 * r122637;
double r122651 = 0.0001789971;
double r122652 = r122650 * r122651;
double r122653 = r122649 + r122652;
double r122654 = 2.0;
double r122655 = r122654 * r122651;
double r122656 = r122650 * r122634;
double r122657 = r122655 * r122656;
double r122658 = 0.0008327945;
double r122659 = r122650 * r122658;
double r122660 = 0.0694555761;
double r122661 = r122660 * r122636;
double r122662 = 0.2909738639;
double r122663 = r122635 * r122662;
double r122664 = 0.7715471019;
double r122665 = r122664 * r122634;
double r122666 = r122639 + r122665;
double r122667 = r122663 + r122666;
double r122668 = r122661 + r122667;
double r122669 = 0.0140005442;
double r122670 = r122669 * r122637;
double r122671 = r122668 + r122670;
double r122672 = r122659 + r122671;
double r122673 = r122657 + r122672;
double r122674 = r122653 / r122673;
double r122675 = r122614 * r122674;
double r122676 = r122620 ? r122632 : r122675;
return r122676;
}



Bits error versus x
Results
if x < -1.0701253115995953e+18 or 695.08789177208 < x Initial program 60.7
Taylor expanded around inf 0.0
Simplified0.0
if -1.0701253115995953e+18 < x < 695.08789177208Initial program 0.0
Final simplification0.0
herbie shell --seed 2019194 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))