\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\left|\frac{1}{\sqrt{1}} \cdot \left(\frac{\sqrt{1}}{1} \cdot \mathsf{fma}\left(\frac{\sqrt{1}}{\sqrt{\pi}}, \frac{\left({\left(\left|x\right|\right)}^{4} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot 1}{21}, \frac{\sqrt{1}}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)\right)\right)\right|double f(double x) {
double r155266 = 1.0;
double r155267 = atan2(1.0, 0.0);
double r155268 = sqrt(r155267);
double r155269 = r155266 / r155268;
double r155270 = 2.0;
double r155271 = x;
double r155272 = fabs(r155271);
double r155273 = r155270 * r155272;
double r155274 = 3.0;
double r155275 = r155270 / r155274;
double r155276 = r155272 * r155272;
double r155277 = r155276 * r155272;
double r155278 = r155275 * r155277;
double r155279 = r155273 + r155278;
double r155280 = 5.0;
double r155281 = r155266 / r155280;
double r155282 = r155277 * r155272;
double r155283 = r155282 * r155272;
double r155284 = r155281 * r155283;
double r155285 = r155279 + r155284;
double r155286 = 21.0;
double r155287 = r155266 / r155286;
double r155288 = r155283 * r155272;
double r155289 = r155288 * r155272;
double r155290 = r155287 * r155289;
double r155291 = r155285 + r155290;
double r155292 = r155269 * r155291;
double r155293 = fabs(r155292);
return r155293;
}
double f(double x) {
double r155294 = 1.0;
double r155295 = sqrt(r155294);
double r155296 = r155294 / r155295;
double r155297 = 1.0;
double r155298 = sqrt(r155297);
double r155299 = r155298 / r155294;
double r155300 = atan2(1.0, 0.0);
double r155301 = sqrt(r155300);
double r155302 = r155298 / r155301;
double r155303 = x;
double r155304 = fabs(r155303);
double r155305 = 4.0;
double r155306 = pow(r155304, r155305);
double r155307 = 3.0;
double r155308 = pow(r155304, r155307);
double r155309 = r155306 * r155308;
double r155310 = r155309 * r155297;
double r155311 = 21.0;
double r155312 = r155310 / r155311;
double r155313 = 5.0;
double r155314 = r155297 / r155313;
double r155315 = r155314 * r155308;
double r155316 = r155315 * r155304;
double r155317 = 2.0;
double r155318 = 3.0;
double r155319 = r155317 / r155318;
double r155320 = r155308 * r155319;
double r155321 = fma(r155304, r155317, r155320);
double r155322 = fma(r155316, r155304, r155321);
double r155323 = r155302 * r155322;
double r155324 = fma(r155302, r155312, r155323);
double r155325 = r155299 * r155324;
double r155326 = r155296 * r155325;
double r155327 = fabs(r155326);
return r155327;
}



Bits error versus x
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied sqrt-prod0.2
Applied *-un-lft-identity0.2
Applied times-frac0.2
Applied associate-*l*0.2
Simplified0.2
rmApplied *-un-lft-identity0.2
Applied add-sqr-sqrt0.2
Applied times-frac0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020018 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
:precision binary64
(fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))