\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 -3749.0578359442816 \lor \neg \left(x \le 667.593533562165362\right):\\
\;\;\;\;0.25141790006653753 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592933 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt{\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 \left(\sqrt{\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\right)\\
\end{array}double f(double x) {
double r360197 = 1.0;
double r360198 = 0.1049934947;
double r360199 = x;
double r360200 = r360199 * r360199;
double r360201 = r360198 * r360200;
double r360202 = r360197 + r360201;
double r360203 = 0.0424060604;
double r360204 = r360200 * r360200;
double r360205 = r360203 * r360204;
double r360206 = r360202 + r360205;
double r360207 = 0.0072644182;
double r360208 = r360204 * r360200;
double r360209 = r360207 * r360208;
double r360210 = r360206 + r360209;
double r360211 = 0.0005064034;
double r360212 = r360208 * r360200;
double r360213 = r360211 * r360212;
double r360214 = r360210 + r360213;
double r360215 = 0.0001789971;
double r360216 = r360212 * r360200;
double r360217 = r360215 * r360216;
double r360218 = r360214 + r360217;
double r360219 = 0.7715471019;
double r360220 = r360219 * r360200;
double r360221 = r360197 + r360220;
double r360222 = 0.2909738639;
double r360223 = r360222 * r360204;
double r360224 = r360221 + r360223;
double r360225 = 0.0694555761;
double r360226 = r360225 * r360208;
double r360227 = r360224 + r360226;
double r360228 = 0.0140005442;
double r360229 = r360228 * r360212;
double r360230 = r360227 + r360229;
double r360231 = 0.0008327945;
double r360232 = r360231 * r360216;
double r360233 = r360230 + r360232;
double r360234 = 2.0;
double r360235 = r360234 * r360215;
double r360236 = r360216 * r360200;
double r360237 = r360235 * r360236;
double r360238 = r360233 + r360237;
double r360239 = r360218 / r360238;
double r360240 = r360239 * r360199;
return r360240;
}
double f(double x) {
double r360241 = x;
double r360242 = -3749.0578359442816;
bool r360243 = r360241 <= r360242;
double r360244 = 667.5935335621654;
bool r360245 = r360241 <= r360244;
double r360246 = !r360245;
bool r360247 = r360243 || r360246;
double r360248 = 0.2514179000665375;
double r360249 = 1.0;
double r360250 = 3.0;
double r360251 = pow(r360241, r360250);
double r360252 = r360249 / r360251;
double r360253 = r360248 * r360252;
double r360254 = 0.15298196345929327;
double r360255 = 5.0;
double r360256 = pow(r360241, r360255);
double r360257 = r360249 / r360256;
double r360258 = r360254 * r360257;
double r360259 = 0.5;
double r360260 = r360249 / r360241;
double r360261 = r360259 * r360260;
double r360262 = r360258 + r360261;
double r360263 = r360253 + r360262;
double r360264 = 1.0;
double r360265 = 0.1049934947;
double r360266 = r360241 * r360241;
double r360267 = r360265 * r360266;
double r360268 = r360264 + r360267;
double r360269 = 0.0424060604;
double r360270 = r360266 * r360266;
double r360271 = r360269 * r360270;
double r360272 = r360268 + r360271;
double r360273 = 0.0072644182;
double r360274 = r360270 * r360266;
double r360275 = r360273 * r360274;
double r360276 = r360272 + r360275;
double r360277 = 0.0005064034;
double r360278 = r360274 * r360266;
double r360279 = r360277 * r360278;
double r360280 = r360276 + r360279;
double r360281 = 0.0001789971;
double r360282 = r360278 * r360266;
double r360283 = r360281 * r360282;
double r360284 = r360280 + r360283;
double r360285 = 0.7715471019;
double r360286 = r360285 * r360266;
double r360287 = r360264 + r360286;
double r360288 = 0.2909738639;
double r360289 = r360288 * r360270;
double r360290 = r360287 + r360289;
double r360291 = 0.0694555761;
double r360292 = r360291 * r360274;
double r360293 = r360290 + r360292;
double r360294 = 0.0140005442;
double r360295 = r360294 * r360278;
double r360296 = r360293 + r360295;
double r360297 = 0.0008327945;
double r360298 = r360297 * r360282;
double r360299 = r360296 + r360298;
double r360300 = 2.0;
double r360301 = r360300 * r360281;
double r360302 = r360282 * r360266;
double r360303 = r360301 * r360302;
double r360304 = r360299 + r360303;
double r360305 = r360284 / r360304;
double r360306 = sqrt(r360305);
double r360307 = r360306 * r360241;
double r360308 = r360306 * r360307;
double r360309 = r360247 ? r360263 : r360308;
return r360309;
}



Bits error versus x
Results
if x < -3749.0578359442816 or 667.5935335621654 < x Initial program 59.2
Taylor expanded around inf 0.0
if -3749.0578359442816 < x < 667.5935335621654Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020025
(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))