\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 -3720.325581321098:\\
\;\;\;\;\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 631.893299791396:\\
\;\;\;\;\left(x \cdot \frac{\sqrt{\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)}}{\sqrt{\left(2 \cdot 0.0001789971\right) \cdot \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) + \left(0.0008327945 \cdot \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) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0694555761 + \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.2909738639 + \left(1 + \left(x \cdot x\right) \cdot 0.7715471019\right)\right)\right) + 0.0140005442 \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)\right)}}\right) \cdot \frac{\sqrt{\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)}}{\sqrt{\left(2 \cdot 0.0001789971\right) \cdot \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) + \left(0.0008327945 \cdot \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) + \left(\left(\left(\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 0.0694555761 + \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.2909738639 + \left(1 + \left(x \cdot x\right) \cdot 0.7715471019\right)\right)\right) + 0.0140005442 \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)\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 r7410044 = 1.0;
double r7410045 = 0.1049934947;
double r7410046 = x;
double r7410047 = r7410046 * r7410046;
double r7410048 = r7410045 * r7410047;
double r7410049 = r7410044 + r7410048;
double r7410050 = 0.0424060604;
double r7410051 = r7410047 * r7410047;
double r7410052 = r7410050 * r7410051;
double r7410053 = r7410049 + r7410052;
double r7410054 = 0.0072644182;
double r7410055 = r7410051 * r7410047;
double r7410056 = r7410054 * r7410055;
double r7410057 = r7410053 + r7410056;
double r7410058 = 0.0005064034;
double r7410059 = r7410055 * r7410047;
double r7410060 = r7410058 * r7410059;
double r7410061 = r7410057 + r7410060;
double r7410062 = 0.0001789971;
double r7410063 = r7410059 * r7410047;
double r7410064 = r7410062 * r7410063;
double r7410065 = r7410061 + r7410064;
double r7410066 = 0.7715471019;
double r7410067 = r7410066 * r7410047;
double r7410068 = r7410044 + r7410067;
double r7410069 = 0.2909738639;
double r7410070 = r7410069 * r7410051;
double r7410071 = r7410068 + r7410070;
double r7410072 = 0.0694555761;
double r7410073 = r7410072 * r7410055;
double r7410074 = r7410071 + r7410073;
double r7410075 = 0.0140005442;
double r7410076 = r7410075 * r7410059;
double r7410077 = r7410074 + r7410076;
double r7410078 = 0.0008327945;
double r7410079 = r7410078 * r7410063;
double r7410080 = r7410077 + r7410079;
double r7410081 = 2.0;
double r7410082 = r7410081 * r7410062;
double r7410083 = r7410063 * r7410047;
double r7410084 = r7410082 * r7410083;
double r7410085 = r7410080 + r7410084;
double r7410086 = r7410065 / r7410085;
double r7410087 = r7410086 * r7410046;
return r7410087;
}
double f(double x) {
double r7410088 = x;
double r7410089 = -3720.325581321098;
bool r7410090 = r7410088 <= r7410089;
double r7410091 = 0.15298196345929327;
double r7410092 = 5.0;
double r7410093 = pow(r7410088, r7410092);
double r7410094 = r7410091 / r7410093;
double r7410095 = 0.2514179000665375;
double r7410096 = r7410088 * r7410088;
double r7410097 = r7410088 * r7410096;
double r7410098 = r7410095 / r7410097;
double r7410099 = 0.5;
double r7410100 = r7410099 / r7410088;
double r7410101 = r7410098 + r7410100;
double r7410102 = r7410094 + r7410101;
double r7410103 = 631.893299791396;
bool r7410104 = r7410088 <= r7410103;
double r7410105 = r7410096 * r7410096;
double r7410106 = r7410096 * r7410105;
double r7410107 = r7410096 * r7410106;
double r7410108 = r7410096 * r7410107;
double r7410109 = 0.0001789971;
double r7410110 = r7410108 * r7410109;
double r7410111 = 0.0072644182;
double r7410112 = r7410111 * r7410106;
double r7410113 = 1.0;
double r7410114 = 0.1049934947;
double r7410115 = r7410114 * r7410096;
double r7410116 = r7410113 + r7410115;
double r7410117 = 0.0424060604;
double r7410118 = r7410117 * r7410105;
double r7410119 = r7410116 + r7410118;
double r7410120 = r7410112 + r7410119;
double r7410121 = 0.0005064034;
double r7410122 = r7410107 * r7410121;
double r7410123 = r7410120 + r7410122;
double r7410124 = r7410110 + r7410123;
double r7410125 = sqrt(r7410124);
double r7410126 = 2.0;
double r7410127 = r7410126 * r7410109;
double r7410128 = r7410108 * r7410096;
double r7410129 = r7410127 * r7410128;
double r7410130 = 0.0008327945;
double r7410131 = r7410130 * r7410108;
double r7410132 = 0.0694555761;
double r7410133 = r7410106 * r7410132;
double r7410134 = 0.2909738639;
double r7410135 = r7410105 * r7410134;
double r7410136 = 0.7715471019;
double r7410137 = r7410096 * r7410136;
double r7410138 = r7410113 + r7410137;
double r7410139 = r7410135 + r7410138;
double r7410140 = r7410133 + r7410139;
double r7410141 = 0.0140005442;
double r7410142 = r7410141 * r7410107;
double r7410143 = r7410140 + r7410142;
double r7410144 = r7410131 + r7410143;
double r7410145 = r7410129 + r7410144;
double r7410146 = sqrt(r7410145);
double r7410147 = r7410125 / r7410146;
double r7410148 = r7410088 * r7410147;
double r7410149 = r7410148 * r7410147;
double r7410150 = r7410104 ? r7410149 : r7410102;
double r7410151 = r7410090 ? r7410102 : r7410150;
return r7410151;
}



Bits error versus x
Results
if x < -3720.325581321098 or 631.893299791396 < x Initial program 58.1
Taylor expanded around -inf 0.0
Simplified0.0
if -3720.325581321098 < x < 631.893299791396Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied add-sqr-sqrt0.0
Applied times-frac0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2019134 +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))