\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \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.789971 \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.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \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.32794500000000044 \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.789971 \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 -708.557354395608286 \lor \neg \left(x \le 703.486669679423699\right):\\
\;\;\;\;\left(\frac{0.25141790006653753}{{x}^{3}} + \frac{0.5}{x}\right) + \frac{0.1529819634592933}{{x}^{5}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.0640340000000002 \cdot 10^{-4} + \sqrt{\left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}} \cdot \sqrt{\left(x \cdot x\right) \cdot 1.789971 \cdot 10^{-4}}\right) + \left({x}^{6} \cdot 0.00726441819999999999 + \left(1 + \left(x \cdot x\right) \cdot \left(0.1049934947 + 0.042406060400000001 \cdot \left(x \cdot x\right)\right)\right)\right)\right) \cdot x}{\left({x}^{6} \cdot 0.069455576099999999 + \left(e^{\log \left(\left(x \cdot x\right) \cdot \left(0.77154710189999998 + 0.29097386390000002 \cdot \left(x \cdot x\right)\right)\right)} + 1\right)\right) + \left(\left(2 \cdot {\left(x \cdot x\right)}^{6}\right) \cdot 1.789971 \cdot 10^{-4} + {\left(x \cdot x\right)}^{4} \cdot \left(0.014000544199999999 + \left(x \cdot x\right) \cdot 8.32794500000000044 \cdot 10^{-4}\right)\right)}\\
\end{array}double f(double x) {
double r235155 = 1.0;
double r235156 = 0.1049934947;
double r235157 = x;
double r235158 = r235157 * r235157;
double r235159 = r235156 * r235158;
double r235160 = r235155 + r235159;
double r235161 = 0.0424060604;
double r235162 = r235158 * r235158;
double r235163 = r235161 * r235162;
double r235164 = r235160 + r235163;
double r235165 = 0.0072644182;
double r235166 = r235162 * r235158;
double r235167 = r235165 * r235166;
double r235168 = r235164 + r235167;
double r235169 = 0.0005064034;
double r235170 = r235166 * r235158;
double r235171 = r235169 * r235170;
double r235172 = r235168 + r235171;
double r235173 = 0.0001789971;
double r235174 = r235170 * r235158;
double r235175 = r235173 * r235174;
double r235176 = r235172 + r235175;
double r235177 = 0.7715471019;
double r235178 = r235177 * r235158;
double r235179 = r235155 + r235178;
double r235180 = 0.2909738639;
double r235181 = r235180 * r235162;
double r235182 = r235179 + r235181;
double r235183 = 0.0694555761;
double r235184 = r235183 * r235166;
double r235185 = r235182 + r235184;
double r235186 = 0.0140005442;
double r235187 = r235186 * r235170;
double r235188 = r235185 + r235187;
double r235189 = 0.0008327945;
double r235190 = r235189 * r235174;
double r235191 = r235188 + r235190;
double r235192 = 2.0;
double r235193 = r235192 * r235173;
double r235194 = r235174 * r235158;
double r235195 = r235193 * r235194;
double r235196 = r235191 + r235195;
double r235197 = r235176 / r235196;
double r235198 = r235197 * r235157;
return r235198;
}
double f(double x) {
double r235199 = x;
double r235200 = -708.5573543956083;
bool r235201 = r235199 <= r235200;
double r235202 = 703.4866696794237;
bool r235203 = r235199 <= r235202;
double r235204 = !r235203;
bool r235205 = r235201 || r235204;
double r235206 = 0.2514179000665375;
double r235207 = 3.0;
double r235208 = pow(r235199, r235207);
double r235209 = r235206 / r235208;
double r235210 = 0.5;
double r235211 = r235210 / r235199;
double r235212 = r235209 + r235211;
double r235213 = 0.15298196345929327;
double r235214 = 5.0;
double r235215 = pow(r235199, r235214);
double r235216 = r235213 / r235215;
double r235217 = r235212 + r235216;
double r235218 = r235199 * r235199;
double r235219 = 4.0;
double r235220 = pow(r235218, r235219);
double r235221 = 0.0005064034;
double r235222 = 0.0001789971;
double r235223 = r235218 * r235222;
double r235224 = sqrt(r235223);
double r235225 = r235224 * r235224;
double r235226 = r235221 + r235225;
double r235227 = r235220 * r235226;
double r235228 = 6.0;
double r235229 = pow(r235199, r235228);
double r235230 = 0.0072644182;
double r235231 = r235229 * r235230;
double r235232 = 1.0;
double r235233 = 0.1049934947;
double r235234 = 0.0424060604;
double r235235 = r235234 * r235218;
double r235236 = r235233 + r235235;
double r235237 = r235218 * r235236;
double r235238 = r235232 + r235237;
double r235239 = r235231 + r235238;
double r235240 = r235227 + r235239;
double r235241 = r235240 * r235199;
double r235242 = 0.0694555761;
double r235243 = r235229 * r235242;
double r235244 = 0.7715471019;
double r235245 = 0.2909738639;
double r235246 = r235245 * r235218;
double r235247 = r235244 + r235246;
double r235248 = r235218 * r235247;
double r235249 = log(r235248);
double r235250 = exp(r235249);
double r235251 = r235250 + r235232;
double r235252 = r235243 + r235251;
double r235253 = 2.0;
double r235254 = pow(r235218, r235228);
double r235255 = r235253 * r235254;
double r235256 = r235255 * r235222;
double r235257 = 0.0140005442;
double r235258 = 0.0008327945;
double r235259 = r235218 * r235258;
double r235260 = r235257 + r235259;
double r235261 = r235220 * r235260;
double r235262 = r235256 + r235261;
double r235263 = r235252 + r235262;
double r235264 = r235241 / r235263;
double r235265 = r235205 ? r235217 : r235264;
return r235265;
}



Bits error versus x
Results
if x < -708.5573543956083 or 703.4866696794237 < x Initial program 59.3
Simplified59.3
Taylor expanded around inf 0.0
Simplified0.0
if -708.5573543956083 < x < 703.4866696794237Initial program 0.0
Simplified0.0
rmApplied add-exp-log0.0
Applied add-exp-log31.8
Applied add-exp-log31.8
Applied prod-exp31.8
Applied prod-exp31.8
Simplified0.0
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2020047
(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))