\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 -4.936575955309851 \cdot 10^{+24}:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\\
\mathbf{elif}\;x \le 782.3997553574673:\\
\;\;\;\;\frac{1}{\frac{\mathsf{fma}\left(\left(0.0001789971 \cdot 2\right), \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \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)\right), \left(\mathsf{fma}\left(\left(0.0008327945 \cdot \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)\right), \left(x \cdot x\right), \left(\mathsf{fma}\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), 0.0140005442, \left(\mathsf{fma}\left(\left(0.0694555761 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right), \left(x \cdot x\right), \left(\mathsf{fma}\left(0.2909738639, \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), \left(\mathsf{fma}\left(\left(x \cdot x\right), 0.7715471019, 1\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)\right)}{\mathsf{fma}\left(\left(0.0001789971 \cdot \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)\right), \left(x \cdot x\right), \left(\mathsf{fma}\left(0.0005064034, \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), \left(\mathsf{fma}\left(\left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right), \left(x \cdot x\right), \left(\mathsf{fma}\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right), 0.0424060604, \left(\mathsf{fma}\left(0.1049934947, \left(x \cdot x\right), 1\right)\right)\right)\right)\right)\right)\right)\right)\right)}} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.2514179000665375}{\left(x \cdot x\right) \cdot x} + \frac{0.15298196345929327}{\left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}\right)\\
\end{array}double f(double x) {
double r7561218 = 1.0;
double r7561219 = 0.1049934947;
double r7561220 = x;
double r7561221 = r7561220 * r7561220;
double r7561222 = r7561219 * r7561221;
double r7561223 = r7561218 + r7561222;
double r7561224 = 0.0424060604;
double r7561225 = r7561221 * r7561221;
double r7561226 = r7561224 * r7561225;
double r7561227 = r7561223 + r7561226;
double r7561228 = 0.0072644182;
double r7561229 = r7561225 * r7561221;
double r7561230 = r7561228 * r7561229;
double r7561231 = r7561227 + r7561230;
double r7561232 = 0.0005064034;
double r7561233 = r7561229 * r7561221;
double r7561234 = r7561232 * r7561233;
double r7561235 = r7561231 + r7561234;
double r7561236 = 0.0001789971;
double r7561237 = r7561233 * r7561221;
double r7561238 = r7561236 * r7561237;
double r7561239 = r7561235 + r7561238;
double r7561240 = 0.7715471019;
double r7561241 = r7561240 * r7561221;
double r7561242 = r7561218 + r7561241;
double r7561243 = 0.2909738639;
double r7561244 = r7561243 * r7561225;
double r7561245 = r7561242 + r7561244;
double r7561246 = 0.0694555761;
double r7561247 = r7561246 * r7561229;
double r7561248 = r7561245 + r7561247;
double r7561249 = 0.0140005442;
double r7561250 = r7561249 * r7561233;
double r7561251 = r7561248 + r7561250;
double r7561252 = 0.0008327945;
double r7561253 = r7561252 * r7561237;
double r7561254 = r7561251 + r7561253;
double r7561255 = 2.0;
double r7561256 = r7561255 * r7561236;
double r7561257 = r7561237 * r7561221;
double r7561258 = r7561256 * r7561257;
double r7561259 = r7561254 + r7561258;
double r7561260 = r7561239 / r7561259;
double r7561261 = r7561260 * r7561220;
return r7561261;
}
double f(double x) {
double r7561262 = x;
double r7561263 = -4.936575955309851e+24;
bool r7561264 = r7561262 <= r7561263;
double r7561265 = 0.5;
double r7561266 = r7561265 / r7561262;
double r7561267 = 0.2514179000665375;
double r7561268 = r7561262 * r7561262;
double r7561269 = r7561268 * r7561262;
double r7561270 = r7561267 / r7561269;
double r7561271 = 0.15298196345929327;
double r7561272 = r7561268 * r7561269;
double r7561273 = r7561271 / r7561272;
double r7561274 = r7561270 + r7561273;
double r7561275 = r7561266 + r7561274;
double r7561276 = 782.3997553574673;
bool r7561277 = r7561262 <= r7561276;
double r7561278 = 1.0;
double r7561279 = 0.0001789971;
double r7561280 = 2.0;
double r7561281 = r7561279 * r7561280;
double r7561282 = r7561268 * r7561268;
double r7561283 = r7561282 * r7561282;
double r7561284 = r7561282 * r7561283;
double r7561285 = 0.0008327945;
double r7561286 = r7561285 * r7561283;
double r7561287 = 0.0140005442;
double r7561288 = 0.0694555761;
double r7561289 = r7561288 * r7561282;
double r7561290 = 0.2909738639;
double r7561291 = 0.7715471019;
double r7561292 = fma(r7561268, r7561291, r7561278);
double r7561293 = fma(r7561290, r7561282, r7561292);
double r7561294 = fma(r7561289, r7561268, r7561293);
double r7561295 = fma(r7561283, r7561287, r7561294);
double r7561296 = fma(r7561286, r7561268, r7561295);
double r7561297 = fma(r7561281, r7561284, r7561296);
double r7561298 = r7561279 * r7561283;
double r7561299 = 0.0005064034;
double r7561300 = 0.0072644182;
double r7561301 = r7561300 * r7561282;
double r7561302 = 0.0424060604;
double r7561303 = 0.1049934947;
double r7561304 = fma(r7561303, r7561268, r7561278);
double r7561305 = fma(r7561282, r7561302, r7561304);
double r7561306 = fma(r7561301, r7561268, r7561305);
double r7561307 = fma(r7561299, r7561283, r7561306);
double r7561308 = fma(r7561298, r7561268, r7561307);
double r7561309 = r7561297 / r7561308;
double r7561310 = r7561278 / r7561309;
double r7561311 = r7561310 * r7561262;
double r7561312 = r7561277 ? r7561311 : r7561275;
double r7561313 = r7561264 ? r7561275 : r7561312;
return r7561313;
}



Bits error versus x
if x < -4.936575955309851e+24 or 782.3997553574673 < x Initial program 60.5
rmApplied *-un-lft-identity60.5
Applied associate-/l*60.5
Simplified60.5
rmApplied expm1-log1p-u60.5
Taylor expanded around inf 0.0
Simplified0.0
if -4.936575955309851e+24 < x < 782.3997553574673Initial program 0.0
rmApplied *-un-lft-identity0.0
Applied associate-/l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019130 +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))