1 - \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(0.2548295919999999936678136691625695675611 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-0.2844967359999999723108032867457950487733 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(-1.453152027000000012790792425221297889948 + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot 1.061405428999999900341322245367337018251\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}e^{\sqrt[3]{{\left(\log \left(\left(1 + \left(0.2844967359999999723108032867457950487733 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.3275911000000000239396058532292954623699 \cdot \left|x\right| + 1\right)}^{2}} + 1.453152027000000012790792425221297889948 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.3275911000000000239396058532292954623699 \cdot \left|x\right| + 1\right)}^{4}}\right)\right) - \left(1.061405428999999900341322245367337018251 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.3275911000000000239396058532292954623699 \cdot \left|x\right| + 1\right)}^{5}} + \left(1.421413741000000063863240029604639858007 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{{\left(0.3275911000000000239396058532292954623699 \cdot \left|x\right| + 1\right)}^{3}} + 0.2548295919999999936678136691625695675611 \cdot \frac{e^{-{\left(\left|x\right|\right)}^{2}}}{0.3275911000000000239396058532292954623699 \cdot \left|x\right| + 1}\right)\right)\right)\right)}^{3}}}double f(double x) {
double r208296 = 1.0;
double r208297 = 0.3275911;
double r208298 = x;
double r208299 = fabs(r208298);
double r208300 = r208297 * r208299;
double r208301 = r208296 + r208300;
double r208302 = r208296 / r208301;
double r208303 = 0.254829592;
double r208304 = -0.284496736;
double r208305 = 1.421413741;
double r208306 = -1.453152027;
double r208307 = 1.061405429;
double r208308 = r208302 * r208307;
double r208309 = r208306 + r208308;
double r208310 = r208302 * r208309;
double r208311 = r208305 + r208310;
double r208312 = r208302 * r208311;
double r208313 = r208304 + r208312;
double r208314 = r208302 * r208313;
double r208315 = r208303 + r208314;
double r208316 = r208302 * r208315;
double r208317 = r208299 * r208299;
double r208318 = -r208317;
double r208319 = exp(r208318);
double r208320 = r208316 * r208319;
double r208321 = r208296 - r208320;
return r208321;
}
double f(double x) {
double r208322 = 1.0;
double r208323 = 0.284496736;
double r208324 = x;
double r208325 = fabs(r208324);
double r208326 = 2.0;
double r208327 = pow(r208325, r208326);
double r208328 = -r208327;
double r208329 = exp(r208328);
double r208330 = 0.3275911;
double r208331 = r208330 * r208325;
double r208332 = r208331 + r208322;
double r208333 = pow(r208332, r208326);
double r208334 = r208329 / r208333;
double r208335 = r208323 * r208334;
double r208336 = 1.453152027;
double r208337 = 4.0;
double r208338 = pow(r208332, r208337);
double r208339 = r208329 / r208338;
double r208340 = r208336 * r208339;
double r208341 = r208335 + r208340;
double r208342 = r208322 + r208341;
double r208343 = 1.061405429;
double r208344 = 5.0;
double r208345 = pow(r208332, r208344);
double r208346 = r208329 / r208345;
double r208347 = r208343 * r208346;
double r208348 = 1.421413741;
double r208349 = 3.0;
double r208350 = pow(r208332, r208349);
double r208351 = r208329 / r208350;
double r208352 = r208348 * r208351;
double r208353 = 0.254829592;
double r208354 = r208329 / r208332;
double r208355 = r208353 * r208354;
double r208356 = r208352 + r208355;
double r208357 = r208347 + r208356;
double r208358 = r208342 - r208357;
double r208359 = log(r208358);
double r208360 = pow(r208359, r208349);
double r208361 = cbrt(r208360);
double r208362 = exp(r208361);
return r208362;
}



Bits error versus x
Results
Initial program 13.7
Taylor expanded around 0 13.7
rmApplied add-exp-log13.7
rmApplied add-cbrt-cube13.7
Simplified13.7
Final simplification13.7
herbie shell --seed 2019353
(FPCore (x)
:name "Jmat.Real.erf"
:precision binary64
(- 1 (* (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1 (+ 1 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))