1 - \left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\frac{{1}^{3} - \sqrt{{\left(\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\right)}^{3}} \cdot \sqrt{{\left(\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\right)}^{3}}}{\left(\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\right) \cdot \left(\left(\frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(0.25482959199999999 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-0.284496735999999972 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(1.42141374100000006 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot \left(-1.45315202700000001 + \frac{1}{1 + 0.32759110000000002 \cdot \left|x\right|} \cdot 1.0614054289999999\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} + 1\right) + 1 \cdot 1}double f(double x) {
double r325246 = 1.0;
double r325247 = 0.3275911;
double r325248 = x;
double r325249 = fabs(r325248);
double r325250 = r325247 * r325249;
double r325251 = r325246 + r325250;
double r325252 = r325246 / r325251;
double r325253 = 0.254829592;
double r325254 = -0.284496736;
double r325255 = 1.421413741;
double r325256 = -1.453152027;
double r325257 = 1.061405429;
double r325258 = r325252 * r325257;
double r325259 = r325256 + r325258;
double r325260 = r325252 * r325259;
double r325261 = r325255 + r325260;
double r325262 = r325252 * r325261;
double r325263 = r325254 + r325262;
double r325264 = r325252 * r325263;
double r325265 = r325253 + r325264;
double r325266 = r325252 * r325265;
double r325267 = r325249 * r325249;
double r325268 = -r325267;
double r325269 = exp(r325268);
double r325270 = r325266 * r325269;
double r325271 = r325246 - r325270;
return r325271;
}
double f(double x) {
double r325272 = 1.0;
double r325273 = 3.0;
double r325274 = pow(r325272, r325273);
double r325275 = 0.3275911;
double r325276 = x;
double r325277 = fabs(r325276);
double r325278 = r325275 * r325277;
double r325279 = r325272 + r325278;
double r325280 = r325272 / r325279;
double r325281 = 0.254829592;
double r325282 = -0.284496736;
double r325283 = 1.421413741;
double r325284 = -1.453152027;
double r325285 = 1.061405429;
double r325286 = r325280 * r325285;
double r325287 = r325284 + r325286;
double r325288 = r325280 * r325287;
double r325289 = r325283 + r325288;
double r325290 = r325280 * r325289;
double r325291 = r325282 + r325290;
double r325292 = r325280 * r325291;
double r325293 = r325281 + r325292;
double r325294 = r325280 * r325293;
double r325295 = r325277 * r325277;
double r325296 = -r325295;
double r325297 = exp(r325296);
double r325298 = r325294 * r325297;
double r325299 = pow(r325298, r325273);
double r325300 = sqrt(r325299);
double r325301 = r325300 * r325300;
double r325302 = r325274 - r325301;
double r325303 = r325298 + r325272;
double r325304 = r325298 * r325303;
double r325305 = r325272 * r325272;
double r325306 = r325304 + r325305;
double r325307 = r325302 / r325306;
return r325307;
}



Bits error versus x
Results
Initial program 13.4
rmApplied flip3--13.4
Simplified13.4
rmApplied add-sqr-sqrt12.7
Final simplification12.7
herbie shell --seed 2020025
(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)))))))