\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{\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) + \left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{21} \cdot \sqrt[3]{21}} \cdot \left(\frac{\sqrt[3]{1}}{\sqrt[3]{21}} \cdot {\left(\left|x\right|\right)}^{6}\right)\right) \cdot \left|x\right|\right)\right|double f(double x) {
double r147304 = 1.0;
double r147305 = atan2(1.0, 0.0);
double r147306 = sqrt(r147305);
double r147307 = r147304 / r147306;
double r147308 = 2.0;
double r147309 = x;
double r147310 = fabs(r147309);
double r147311 = r147308 * r147310;
double r147312 = 3.0;
double r147313 = r147308 / r147312;
double r147314 = r147310 * r147310;
double r147315 = r147314 * r147310;
double r147316 = r147313 * r147315;
double r147317 = r147311 + r147316;
double r147318 = 5.0;
double r147319 = r147304 / r147318;
double r147320 = r147315 * r147310;
double r147321 = r147320 * r147310;
double r147322 = r147319 * r147321;
double r147323 = r147317 + r147322;
double r147324 = 21.0;
double r147325 = r147304 / r147324;
double r147326 = r147321 * r147310;
double r147327 = r147326 * r147310;
double r147328 = r147325 * r147327;
double r147329 = r147323 + r147328;
double r147330 = r147307 * r147329;
double r147331 = fabs(r147330);
return r147331;
}
double f(double x) {
double r147332 = 1.0;
double r147333 = atan2(1.0, 0.0);
double r147334 = sqrt(r147333);
double r147335 = r147332 / r147334;
double r147336 = 2.0;
double r147337 = x;
double r147338 = fabs(r147337);
double r147339 = r147336 * r147338;
double r147340 = 3.0;
double r147341 = r147336 / r147340;
double r147342 = r147338 * r147338;
double r147343 = r147342 * r147338;
double r147344 = r147341 * r147343;
double r147345 = r147339 + r147344;
double r147346 = 5.0;
double r147347 = r147332 / r147346;
double r147348 = r147343 * r147338;
double r147349 = r147348 * r147338;
double r147350 = r147347 * r147349;
double r147351 = r147345 + r147350;
double r147352 = cbrt(r147332);
double r147353 = r147352 * r147352;
double r147354 = 21.0;
double r147355 = cbrt(r147354);
double r147356 = r147355 * r147355;
double r147357 = r147353 / r147356;
double r147358 = r147352 / r147355;
double r147359 = 6.0;
double r147360 = pow(r147338, r147359);
double r147361 = r147358 * r147360;
double r147362 = r147357 * r147361;
double r147363 = r147362 * r147338;
double r147364 = r147351 + r147363;
double r147365 = r147335 * r147364;
double r147366 = fabs(r147365);
return r147366;
}



Bits error versus x
Results
Initial program 0.2
rmApplied associate-*r*0.2
Simplified0.2
rmApplied add-cube-cbrt0.2
Applied add-cube-cbrt0.2
Applied times-frac0.2
Applied associate-*l*0.2
Final simplification0.2
herbie shell --seed 2019354 +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)))))))