\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 -16518388.9625579324 \lor \neg \left(x \le 613.008358988488794\right):\\
\;\;\;\;\frac{0.25141790006653753}{{x}^{3}} + \left(\frac{0.1529819634592933}{{x}^{5}} + \frac{0.5}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\left(\left({\left(x \cdot x\right)}^{4} \cdot \left(x \cdot \left(x \cdot 1.789971 \cdot 10^{-4}\right) + 5.0640340000000002 \cdot 10^{-4}\right) + \left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + {x}^{6} \cdot 0.00726441819999999999\right)\right) + {x}^{4} \cdot 0.042406060400000001\right) \cdot x}{\left(\left(2 \cdot 1.789971 \cdot 10^{-4}\right) \cdot {\left(x \cdot x\right)}^{6} + \left(\left(x \cdot x\right) \cdot \left(0.77154710189999998 + 0.29097386390000002 \cdot \left(x \cdot x\right)\right) + 1\right)\right) + \left({x}^{6} \cdot 0.069455576099999999 + {\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 r354189 = 1.0;
double r354190 = 0.1049934947;
double r354191 = x;
double r354192 = r354191 * r354191;
double r354193 = r354190 * r354192;
double r354194 = r354189 + r354193;
double r354195 = 0.0424060604;
double r354196 = r354192 * r354192;
double r354197 = r354195 * r354196;
double r354198 = r354194 + r354197;
double r354199 = 0.0072644182;
double r354200 = r354196 * r354192;
double r354201 = r354199 * r354200;
double r354202 = r354198 + r354201;
double r354203 = 0.0005064034;
double r354204 = r354200 * r354192;
double r354205 = r354203 * r354204;
double r354206 = r354202 + r354205;
double r354207 = 0.0001789971;
double r354208 = r354204 * r354192;
double r354209 = r354207 * r354208;
double r354210 = r354206 + r354209;
double r354211 = 0.7715471019;
double r354212 = r354211 * r354192;
double r354213 = r354189 + r354212;
double r354214 = 0.2909738639;
double r354215 = r354214 * r354196;
double r354216 = r354213 + r354215;
double r354217 = 0.0694555761;
double r354218 = r354217 * r354200;
double r354219 = r354216 + r354218;
double r354220 = 0.0140005442;
double r354221 = r354220 * r354204;
double r354222 = r354219 + r354221;
double r354223 = 0.0008327945;
double r354224 = r354223 * r354208;
double r354225 = r354222 + r354224;
double r354226 = 2.0;
double r354227 = r354226 * r354207;
double r354228 = r354208 * r354192;
double r354229 = r354227 * r354228;
double r354230 = r354225 + r354229;
double r354231 = r354210 / r354230;
double r354232 = r354231 * r354191;
return r354232;
}
double f(double x) {
double r354233 = x;
double r354234 = -16518388.962557932;
bool r354235 = r354233 <= r354234;
double r354236 = 613.0083589884888;
bool r354237 = r354233 <= r354236;
double r354238 = !r354237;
bool r354239 = r354235 || r354238;
double r354240 = 0.2514179000665375;
double r354241 = 3.0;
double r354242 = pow(r354233, r354241);
double r354243 = r354240 / r354242;
double r354244 = 0.15298196345929327;
double r354245 = 5.0;
double r354246 = pow(r354233, r354245);
double r354247 = r354244 / r354246;
double r354248 = 0.5;
double r354249 = r354248 / r354233;
double r354250 = r354247 + r354249;
double r354251 = r354243 + r354250;
double r354252 = r354233 * r354233;
double r354253 = 4.0;
double r354254 = pow(r354252, r354253);
double r354255 = 0.0001789971;
double r354256 = r354233 * r354255;
double r354257 = r354233 * r354256;
double r354258 = 0.0005064034;
double r354259 = r354257 + r354258;
double r354260 = r354254 * r354259;
double r354261 = 1.0;
double r354262 = 0.1049934947;
double r354263 = r354262 * r354252;
double r354264 = r354261 + r354263;
double r354265 = 6.0;
double r354266 = pow(r354233, r354265);
double r354267 = 0.0072644182;
double r354268 = r354266 * r354267;
double r354269 = r354264 + r354268;
double r354270 = r354260 + r354269;
double r354271 = pow(r354233, r354253);
double r354272 = 0.0424060604;
double r354273 = r354271 * r354272;
double r354274 = r354270 + r354273;
double r354275 = r354274 * r354233;
double r354276 = 2.0;
double r354277 = r354276 * r354255;
double r354278 = pow(r354252, r354265);
double r354279 = r354277 * r354278;
double r354280 = 0.7715471019;
double r354281 = 0.2909738639;
double r354282 = r354281 * r354252;
double r354283 = r354280 + r354282;
double r354284 = r354252 * r354283;
double r354285 = r354284 + r354261;
double r354286 = r354279 + r354285;
double r354287 = 0.0694555761;
double r354288 = r354266 * r354287;
double r354289 = 0.0140005442;
double r354290 = 0.0008327945;
double r354291 = r354252 * r354290;
double r354292 = r354289 + r354291;
double r354293 = r354254 * r354292;
double r354294 = r354288 + r354293;
double r354295 = r354286 + r354294;
double r354296 = r354275 / r354295;
double r354297 = r354239 ? r354251 : r354296;
return r354297;
}



Bits error versus x
Results
if x < -16518388.962557932 or 613.0083589884888 < x Initial program 58.9
Simplified59.0
Taylor expanded around inf 0.0
Simplified0.0
if -16518388.962557932 < x < 613.0083589884888Initial program 0.0
Simplified0.0
rmApplied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2020045
(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))