\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \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.789971000000000009994005623070734145585 \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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.327945000000000442749725770852364803432 \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.789971000000000009994005623070734145585 \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 -60969.85103484046703670173883438110351562 \lor \neg \left(x \le 778.9869006941581801584106869995594024658\right):\\
\;\;\;\;0.2514179000665375252054900556686334311962 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592932686700805788859724998474 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{\left(\left(x \cdot \left({\left(x \cdot x\right)}^{3} \cdot {x}^{3}\right)\right) \cdot \left(8.327945000000000442749725770852364803432 \cdot 10^{-4} + \left(x \cdot x\right) \cdot \left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right)\right) + \left(\left(x \cdot x\right) \cdot \left(0.7715471018999999763821051601553335785866 + 0.2909738639000000182122107617033179849386 \cdot \left(x \cdot x\right)\right) + 1\right)\right) + {x}^{6} \cdot \left(0.06945557609999999937322456844412954524159 + \left(x \cdot x\right) \cdot 0.01400054419999999938406531896362139377743\right)}{\left({\left(x \cdot x\right)}^{4} \cdot \left(5.064034000000000243502107366566633572802 \cdot 10^{-4} + \left(x \cdot x\right) \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) + \left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right)\right) + {x}^{4} \cdot \left(0.04240606040000000076517494562722276896238 + \left(x \cdot x\right) \cdot 0.007264418199999999985194687468492702464573\right)}}\\
\end{array}double f(double x) {
double r161338 = 1.0;
double r161339 = 0.1049934947;
double r161340 = x;
double r161341 = r161340 * r161340;
double r161342 = r161339 * r161341;
double r161343 = r161338 + r161342;
double r161344 = 0.0424060604;
double r161345 = r161341 * r161341;
double r161346 = r161344 * r161345;
double r161347 = r161343 + r161346;
double r161348 = 0.0072644182;
double r161349 = r161345 * r161341;
double r161350 = r161348 * r161349;
double r161351 = r161347 + r161350;
double r161352 = 0.0005064034;
double r161353 = r161349 * r161341;
double r161354 = r161352 * r161353;
double r161355 = r161351 + r161354;
double r161356 = 0.0001789971;
double r161357 = r161353 * r161341;
double r161358 = r161356 * r161357;
double r161359 = r161355 + r161358;
double r161360 = 0.7715471019;
double r161361 = r161360 * r161341;
double r161362 = r161338 + r161361;
double r161363 = 0.2909738639;
double r161364 = r161363 * r161345;
double r161365 = r161362 + r161364;
double r161366 = 0.0694555761;
double r161367 = r161366 * r161349;
double r161368 = r161365 + r161367;
double r161369 = 0.0140005442;
double r161370 = r161369 * r161353;
double r161371 = r161368 + r161370;
double r161372 = 0.0008327945;
double r161373 = r161372 * r161357;
double r161374 = r161371 + r161373;
double r161375 = 2.0;
double r161376 = r161375 * r161356;
double r161377 = r161357 * r161341;
double r161378 = r161376 * r161377;
double r161379 = r161374 + r161378;
double r161380 = r161359 / r161379;
double r161381 = r161380 * r161340;
return r161381;
}
double f(double x) {
double r161382 = x;
double r161383 = -60969.85103484047;
bool r161384 = r161382 <= r161383;
double r161385 = 778.9869006941582;
bool r161386 = r161382 <= r161385;
double r161387 = !r161386;
bool r161388 = r161384 || r161387;
double r161389 = 0.2514179000665375;
double r161390 = 1.0;
double r161391 = 3.0;
double r161392 = pow(r161382, r161391);
double r161393 = r161390 / r161392;
double r161394 = r161389 * r161393;
double r161395 = 0.15298196345929327;
double r161396 = 5.0;
double r161397 = pow(r161382, r161396);
double r161398 = r161390 / r161397;
double r161399 = r161395 * r161398;
double r161400 = 0.5;
double r161401 = r161390 / r161382;
double r161402 = r161400 * r161401;
double r161403 = r161399 + r161402;
double r161404 = r161394 + r161403;
double r161405 = r161382 * r161382;
double r161406 = pow(r161405, r161391);
double r161407 = r161406 * r161392;
double r161408 = r161382 * r161407;
double r161409 = 0.0008327945;
double r161410 = 2.0;
double r161411 = 0.0001789971;
double r161412 = r161410 * r161411;
double r161413 = r161405 * r161412;
double r161414 = r161409 + r161413;
double r161415 = r161408 * r161414;
double r161416 = 0.7715471019;
double r161417 = 0.2909738639;
double r161418 = r161417 * r161405;
double r161419 = r161416 + r161418;
double r161420 = r161405 * r161419;
double r161421 = 1.0;
double r161422 = r161420 + r161421;
double r161423 = r161415 + r161422;
double r161424 = 6.0;
double r161425 = pow(r161382, r161424);
double r161426 = 0.0694555761;
double r161427 = 0.0140005442;
double r161428 = r161405 * r161427;
double r161429 = r161426 + r161428;
double r161430 = r161425 * r161429;
double r161431 = r161423 + r161430;
double r161432 = 4.0;
double r161433 = pow(r161405, r161432);
double r161434 = 0.0005064034;
double r161435 = r161405 * r161411;
double r161436 = r161434 + r161435;
double r161437 = r161433 * r161436;
double r161438 = 0.1049934947;
double r161439 = r161438 * r161405;
double r161440 = r161421 + r161439;
double r161441 = r161437 + r161440;
double r161442 = pow(r161382, r161432);
double r161443 = 0.0424060604;
double r161444 = 0.0072644182;
double r161445 = r161405 * r161444;
double r161446 = r161443 + r161445;
double r161447 = r161442 * r161446;
double r161448 = r161441 + r161447;
double r161449 = r161431 / r161448;
double r161450 = r161382 / r161449;
double r161451 = r161388 ? r161404 : r161450;
return r161451;
}



Bits error versus x
Results
if x < -60969.85103484047 or 778.9869006941582 < x Initial program 59.5
Simplified59.4
Taylor expanded around inf 0.0
if -60969.85103484047 < x < 778.9869006941582Initial program 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019356
(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))