\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 -43691535806592303641919488:\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(x \cdot x\right)} + \left(\frac{\frac{0.2514179000665375252054900556686334311962}{x}}{x \cdot x} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 661.3706021911004881985718384385108947754:\\
\;\;\;\;\frac{x}{\mathsf{fma}\left(1.789971000000000009994005623070734145585 \cdot 10^{-4}, \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot 2, \mathsf{fma}\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \mathsf{fma}\left(x \cdot x, 8.327945000000000442749725770852364803432 \cdot 10^{-4}, 0.01400054419999999938406531896362139377743\right), \mathsf{fma}\left(0.7715471018999999763821051601553335785866, x \cdot x, \mathsf{fma}\left(\mathsf{fma}\left(x \cdot x, 0.06945557609999999937322456844412954524159, 0.2909738639000000182122107617033179849386\right), \left(x \cdot x\right) \cdot \left(x \cdot x\right), 1\right)\right)\right)\right)} \cdot \mathsf{fma}\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \mathsf{fma}\left(x \cdot x, 1.789971000000000009994005623070734145585 \cdot 10^{-4}, 5.064034000000000243502107366566633572802 \cdot 10^{-4}\right), \mathsf{fma}\left(x \cdot x, 0.1049934946999999951788851149103720672429 + \mathsf{fma}\left(0.04240606040000000076517494562722276896238, x \cdot x, \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.007264418199999999985194687468492702464573\right), 1\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.1529819634592932686700805788859724998474}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(x \cdot x\right)} + \left(\frac{\frac{0.2514179000665375252054900556686334311962}{x}}{x \cdot x} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r5149249 = 1.0;
double r5149250 = 0.1049934947;
double r5149251 = x;
double r5149252 = r5149251 * r5149251;
double r5149253 = r5149250 * r5149252;
double r5149254 = r5149249 + r5149253;
double r5149255 = 0.0424060604;
double r5149256 = r5149252 * r5149252;
double r5149257 = r5149255 * r5149256;
double r5149258 = r5149254 + r5149257;
double r5149259 = 0.0072644182;
double r5149260 = r5149256 * r5149252;
double r5149261 = r5149259 * r5149260;
double r5149262 = r5149258 + r5149261;
double r5149263 = 0.0005064034;
double r5149264 = r5149260 * r5149252;
double r5149265 = r5149263 * r5149264;
double r5149266 = r5149262 + r5149265;
double r5149267 = 0.0001789971;
double r5149268 = r5149264 * r5149252;
double r5149269 = r5149267 * r5149268;
double r5149270 = r5149266 + r5149269;
double r5149271 = 0.7715471019;
double r5149272 = r5149271 * r5149252;
double r5149273 = r5149249 + r5149272;
double r5149274 = 0.2909738639;
double r5149275 = r5149274 * r5149256;
double r5149276 = r5149273 + r5149275;
double r5149277 = 0.0694555761;
double r5149278 = r5149277 * r5149260;
double r5149279 = r5149276 + r5149278;
double r5149280 = 0.0140005442;
double r5149281 = r5149280 * r5149264;
double r5149282 = r5149279 + r5149281;
double r5149283 = 0.0008327945;
double r5149284 = r5149283 * r5149268;
double r5149285 = r5149282 + r5149284;
double r5149286 = 2.0;
double r5149287 = r5149286 * r5149267;
double r5149288 = r5149268 * r5149252;
double r5149289 = r5149287 * r5149288;
double r5149290 = r5149285 + r5149289;
double r5149291 = r5149270 / r5149290;
double r5149292 = r5149291 * r5149251;
return r5149292;
}
double f(double x) {
double r5149293 = x;
double r5149294 = -4.36915358065923e+25;
bool r5149295 = r5149293 <= r5149294;
double r5149296 = 0.15298196345929327;
double r5149297 = r5149293 * r5149293;
double r5149298 = r5149297 * r5149293;
double r5149299 = r5149298 * r5149297;
double r5149300 = r5149296 / r5149299;
double r5149301 = 0.2514179000665375;
double r5149302 = r5149301 / r5149293;
double r5149303 = r5149302 / r5149297;
double r5149304 = 0.5;
double r5149305 = r5149304 / r5149293;
double r5149306 = r5149303 + r5149305;
double r5149307 = r5149300 + r5149306;
double r5149308 = 661.3706021911005;
bool r5149309 = r5149293 <= r5149308;
double r5149310 = 0.0001789971;
double r5149311 = r5149297 * r5149297;
double r5149312 = r5149311 * r5149311;
double r5149313 = r5149312 * r5149311;
double r5149314 = 2.0;
double r5149315 = r5149313 * r5149314;
double r5149316 = 0.0008327945;
double r5149317 = 0.0140005442;
double r5149318 = fma(r5149297, r5149316, r5149317);
double r5149319 = 0.7715471019;
double r5149320 = 0.0694555761;
double r5149321 = 0.2909738639;
double r5149322 = fma(r5149297, r5149320, r5149321);
double r5149323 = 1.0;
double r5149324 = fma(r5149322, r5149311, r5149323);
double r5149325 = fma(r5149319, r5149297, r5149324);
double r5149326 = fma(r5149312, r5149318, r5149325);
double r5149327 = fma(r5149310, r5149315, r5149326);
double r5149328 = r5149293 / r5149327;
double r5149329 = 0.0005064034;
double r5149330 = fma(r5149297, r5149310, r5149329);
double r5149331 = 0.1049934947;
double r5149332 = 0.0424060604;
double r5149333 = 0.0072644182;
double r5149334 = r5149311 * r5149333;
double r5149335 = fma(r5149332, r5149297, r5149334);
double r5149336 = r5149331 + r5149335;
double r5149337 = fma(r5149297, r5149336, r5149323);
double r5149338 = fma(r5149312, r5149330, r5149337);
double r5149339 = r5149328 * r5149338;
double r5149340 = r5149309 ? r5149339 : r5149307;
double r5149341 = r5149295 ? r5149307 : r5149340;
return r5149341;
}



Bits error versus x
if x < -4.36915358065923e+25 or 661.3706021911005 < x Initial program 61.6
Simplified61.6
Taylor expanded around inf 0.0
Simplified0.0
if -4.36915358065923e+25 < x < 661.3706021911005Initial program 0.0
Simplified0.0
rmApplied div-inv0.0
Applied associate-*l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1.0 (* 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 (* 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 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))