\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 -882.4771496533965091657591983675956726074 \lor \neg \left(x \le 699.193619297093619024963118135929107666\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}:\\
\;\;\;\;\sqrt{\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)} \cdot \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)}{\sqrt{\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 r281328 = 1.0;
double r281329 = 0.1049934947;
double r281330 = x;
double r281331 = r281330 * r281330;
double r281332 = r281329 * r281331;
double r281333 = r281328 + r281332;
double r281334 = 0.0424060604;
double r281335 = r281331 * r281331;
double r281336 = r281334 * r281335;
double r281337 = r281333 + r281336;
double r281338 = 0.0072644182;
double r281339 = r281335 * r281331;
double r281340 = r281338 * r281339;
double r281341 = r281337 + r281340;
double r281342 = 0.0005064034;
double r281343 = r281339 * r281331;
double r281344 = r281342 * r281343;
double r281345 = r281341 + r281344;
double r281346 = 0.0001789971;
double r281347 = r281343 * r281331;
double r281348 = r281346 * r281347;
double r281349 = r281345 + r281348;
double r281350 = 0.7715471019;
double r281351 = r281350 * r281331;
double r281352 = r281328 + r281351;
double r281353 = 0.2909738639;
double r281354 = r281353 * r281335;
double r281355 = r281352 + r281354;
double r281356 = 0.0694555761;
double r281357 = r281356 * r281339;
double r281358 = r281355 + r281357;
double r281359 = 0.0140005442;
double r281360 = r281359 * r281343;
double r281361 = r281358 + r281360;
double r281362 = 0.0008327945;
double r281363 = r281362 * r281347;
double r281364 = r281361 + r281363;
double r281365 = 2.0;
double r281366 = r281365 * r281346;
double r281367 = r281347 * r281331;
double r281368 = r281366 * r281367;
double r281369 = r281364 + r281368;
double r281370 = r281349 / r281369;
double r281371 = r281370 * r281330;
return r281371;
}
double f(double x) {
double r281372 = x;
double r281373 = -882.4771496533965;
bool r281374 = r281372 <= r281373;
double r281375 = 699.1936192970936;
bool r281376 = r281372 <= r281375;
double r281377 = !r281376;
bool r281378 = r281374 || r281377;
double r281379 = 0.2514179000665375;
double r281380 = 1.0;
double r281381 = 3.0;
double r281382 = pow(r281372, r281381);
double r281383 = r281380 / r281382;
double r281384 = r281379 * r281383;
double r281385 = 0.15298196345929327;
double r281386 = 5.0;
double r281387 = pow(r281372, r281386);
double r281388 = r281380 / r281387;
double r281389 = r281385 * r281388;
double r281390 = 0.5;
double r281391 = r281380 / r281372;
double r281392 = r281390 * r281391;
double r281393 = r281389 + r281392;
double r281394 = r281384 + r281393;
double r281395 = r281372 * r281372;
double r281396 = 4.0;
double r281397 = pow(r281395, r281396);
double r281398 = 0.0005064034;
double r281399 = 0.0001789971;
double r281400 = r281395 * r281399;
double r281401 = r281398 + r281400;
double r281402 = r281397 * r281401;
double r281403 = 1.0;
double r281404 = 0.1049934947;
double r281405 = r281404 * r281395;
double r281406 = r281403 + r281405;
double r281407 = r281402 + r281406;
double r281408 = pow(r281372, r281396);
double r281409 = 0.0424060604;
double r281410 = 0.0072644182;
double r281411 = r281395 * r281410;
double r281412 = r281409 + r281411;
double r281413 = r281408 * r281412;
double r281414 = r281407 + r281413;
double r281415 = sqrt(r281414);
double r281416 = pow(r281395, r281381);
double r281417 = r281416 * r281382;
double r281418 = r281372 * r281417;
double r281419 = 0.0008327945;
double r281420 = 2.0;
double r281421 = r281420 * r281399;
double r281422 = r281395 * r281421;
double r281423 = r281419 + r281422;
double r281424 = r281418 * r281423;
double r281425 = 0.7715471019;
double r281426 = 0.2909738639;
double r281427 = r281426 * r281395;
double r281428 = r281425 + r281427;
double r281429 = r281395 * r281428;
double r281430 = r281429 + r281403;
double r281431 = r281424 + r281430;
double r281432 = 6.0;
double r281433 = pow(r281372, r281432);
double r281434 = 0.0694555761;
double r281435 = 0.0140005442;
double r281436 = r281395 * r281435;
double r281437 = r281434 + r281436;
double r281438 = r281433 * r281437;
double r281439 = r281431 + r281438;
double r281440 = r281439 / r281415;
double r281441 = r281372 / r281440;
double r281442 = r281415 * r281441;
double r281443 = r281378 ? r281394 : r281442;
return r281443;
}



Bits error versus x
Results
if x < -882.4771496533965 or 699.1936192970936 < x Initial program 59.6
Simplified59.5
Taylor expanded around inf 0.0
if -882.4771496533965 < x < 699.1936192970936Initial program 0.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Applied *-un-lft-identity0.0
Applied times-frac0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019318
(FPCore (x)
:name "Jmat.Real.dawson"
:precision binary64
(* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.042406060400000001 (* (* x x) (* x x)))) (* 0.00726441819999999999 (* (* (* x x) (* x x)) (* x x)))) (* 5.0640340000000002e-4 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 1.789971e-4 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.77154710189999998 (* x x))) (* 0.29097386390000002 (* (* x x) (* x x)))) (* 0.069455576099999999 (* (* (* x x) (* x x)) (* x x)))) (* 0.014000544199999999 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 8.32794500000000044e-4 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 1.789971e-4) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))