\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 -397815736.67808366:\\
\;\;\;\;\frac{\frac{0.2514179000665375}{x}}{x \cdot x} + \left(\frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 3991.971714910184:\\
\;\;\;\;x \cdot \frac{\sqrt{\left(\left(x \cdot x\right) \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) \cdot 0.0001789971 + \left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(\left(1 + \left(x \cdot x\right) \cdot 0.1049934947\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \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 0.0005064034\right)}}{\frac{\left(2 \cdot 0.0001789971\right) \cdot \left(\left(\left(x \cdot x\right) \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) \cdot \left(x \cdot x\right)\right) + \left(0.0008327945 \cdot \left(\left(x \cdot x\right) \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) + \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\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(\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)\right)}{\sqrt{\left(\left(x \cdot x\right) \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) \cdot 0.0001789971 + \left(\left(0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) + \left(\left(1 + \left(x \cdot x\right) \cdot 0.1049934947\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \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 0.0005064034\right)}}}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{0.2514179000665375}{x}}{x \cdot x} + \left(\frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r6209222 = 1.0;
double r6209223 = 0.1049934947;
double r6209224 = x;
double r6209225 = r6209224 * r6209224;
double r6209226 = r6209223 * r6209225;
double r6209227 = r6209222 + r6209226;
double r6209228 = 0.0424060604;
double r6209229 = r6209225 * r6209225;
double r6209230 = r6209228 * r6209229;
double r6209231 = r6209227 + r6209230;
double r6209232 = 0.0072644182;
double r6209233 = r6209229 * r6209225;
double r6209234 = r6209232 * r6209233;
double r6209235 = r6209231 + r6209234;
double r6209236 = 0.0005064034;
double r6209237 = r6209233 * r6209225;
double r6209238 = r6209236 * r6209237;
double r6209239 = r6209235 + r6209238;
double r6209240 = 0.0001789971;
double r6209241 = r6209237 * r6209225;
double r6209242 = r6209240 * r6209241;
double r6209243 = r6209239 + r6209242;
double r6209244 = 0.7715471019;
double r6209245 = r6209244 * r6209225;
double r6209246 = r6209222 + r6209245;
double r6209247 = 0.2909738639;
double r6209248 = r6209247 * r6209229;
double r6209249 = r6209246 + r6209248;
double r6209250 = 0.0694555761;
double r6209251 = r6209250 * r6209233;
double r6209252 = r6209249 + r6209251;
double r6209253 = 0.0140005442;
double r6209254 = r6209253 * r6209237;
double r6209255 = r6209252 + r6209254;
double r6209256 = 0.0008327945;
double r6209257 = r6209256 * r6209241;
double r6209258 = r6209255 + r6209257;
double r6209259 = 2.0;
double r6209260 = r6209259 * r6209240;
double r6209261 = r6209241 * r6209225;
double r6209262 = r6209260 * r6209261;
double r6209263 = r6209258 + r6209262;
double r6209264 = r6209243 / r6209263;
double r6209265 = r6209264 * r6209224;
return r6209265;
}
double f(double x) {
double r6209266 = x;
double r6209267 = -397815736.67808366;
bool r6209268 = r6209266 <= r6209267;
double r6209269 = 0.2514179000665375;
double r6209270 = r6209269 / r6209266;
double r6209271 = r6209266 * r6209266;
double r6209272 = r6209270 / r6209271;
double r6209273 = 0.15298196345929327;
double r6209274 = r6209271 * r6209266;
double r6209275 = r6209271 * r6209274;
double r6209276 = r6209273 / r6209275;
double r6209277 = 0.5;
double r6209278 = r6209277 / r6209266;
double r6209279 = r6209276 + r6209278;
double r6209280 = r6209272 + r6209279;
double r6209281 = 3991.971714910184;
bool r6209282 = r6209266 <= r6209281;
double r6209283 = r6209271 * r6209271;
double r6209284 = r6209283 * r6209271;
double r6209285 = r6209284 * r6209271;
double r6209286 = r6209271 * r6209285;
double r6209287 = 0.0001789971;
double r6209288 = r6209286 * r6209287;
double r6209289 = 0.0072644182;
double r6209290 = r6209289 * r6209284;
double r6209291 = 1.0;
double r6209292 = 0.1049934947;
double r6209293 = r6209271 * r6209292;
double r6209294 = r6209291 + r6209293;
double r6209295 = 0.0424060604;
double r6209296 = r6209295 * r6209283;
double r6209297 = r6209294 + r6209296;
double r6209298 = r6209290 + r6209297;
double r6209299 = 0.0005064034;
double r6209300 = r6209285 * r6209299;
double r6209301 = r6209298 + r6209300;
double r6209302 = r6209288 + r6209301;
double r6209303 = sqrt(r6209302);
double r6209304 = 2.0;
double r6209305 = r6209304 * r6209287;
double r6209306 = r6209286 * r6209271;
double r6209307 = r6209305 * r6209306;
double r6209308 = 0.0008327945;
double r6209309 = r6209308 * r6209286;
double r6209310 = 0.0694555761;
double r6209311 = r6209284 * r6209310;
double r6209312 = 0.2909738639;
double r6209313 = r6209283 * r6209312;
double r6209314 = 0.7715471019;
double r6209315 = r6209271 * r6209314;
double r6209316 = r6209291 + r6209315;
double r6209317 = r6209313 + r6209316;
double r6209318 = r6209311 + r6209317;
double r6209319 = 0.0140005442;
double r6209320 = r6209319 * r6209285;
double r6209321 = r6209318 + r6209320;
double r6209322 = r6209309 + r6209321;
double r6209323 = r6209307 + r6209322;
double r6209324 = r6209323 / r6209303;
double r6209325 = r6209303 / r6209324;
double r6209326 = r6209266 * r6209325;
double r6209327 = r6209282 ? r6209326 : r6209280;
double r6209328 = r6209268 ? r6209280 : r6209327;
return r6209328;
}



Bits error versus x
Results
if x < -397815736.67808366 or 3991.971714910184 < x Initial program 58.7
Taylor expanded around inf 0.0
Simplified0.0
if -397815736.67808366 < x < 3991.971714910184Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/l*0.0
Final simplification0.0
herbie shell --seed 2019162 +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))