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|}{\left(e^{\sqrt[3]{\log \left(1 - \left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)} \cdot \left(\left(\frac{1.0614054289999999}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{4}} + \left(\left(\frac{1.42141374100000006}{{\left(\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)\right)}^{2}} + 0.25482959199999999\right) - \frac{1.45315202700000001}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}}\right)\right) - \frac{0.284496735999999972}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}\right)\right) \cdot e^{-{\left(\left|x\right|\right)}^{2}}\right)} \cdot \sqrt[3]{\log \left(1 - \left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)} \cdot \left(\left(\frac{1.0614054289999999}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{4}} + \left(\left(\frac{1.42141374100000006}{{\left(\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)\right)}^{2}} + 0.25482959199999999\right) - \frac{1.45315202700000001}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}}\right)\right) - \frac{0.284496735999999972}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}\right)\right) \cdot e^{-{\left(\left|x\right|\right)}^{2}}\right)}}\right)}^{\left(\sqrt[3]{\log \left(1 - \left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)} \cdot \left(\left(\frac{1.0614054289999999}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{4}} + \left(\left(\frac{1.42141374100000006}{{\left(\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)\right)}^{2}} + 0.25482959199999999\right) - \frac{1.45315202700000001}{{\left(\mathsf{fma}\left(0.32759110000000002, \left|x\right|, 1\right)\right)}^{3}}\right)\right) - \frac{0.284496735999999972}{\mathsf{fma}\left(\left|x\right|, 0.32759110000000002, 1\right)}\right)\right) \cdot e^{-{\left(\left|x\right|\right)}^{2}}\right)}\right)}double f(double x) {
double r200194 = 1.0;
double r200195 = 0.3275911;
double r200196 = x;
double r200197 = fabs(r200196);
double r200198 = r200195 * r200197;
double r200199 = r200194 + r200198;
double r200200 = r200194 / r200199;
double r200201 = 0.254829592;
double r200202 = -0.284496736;
double r200203 = 1.421413741;
double r200204 = -1.453152027;
double r200205 = 1.061405429;
double r200206 = r200200 * r200205;
double r200207 = r200204 + r200206;
double r200208 = r200200 * r200207;
double r200209 = r200203 + r200208;
double r200210 = r200200 * r200209;
double r200211 = r200202 + r200210;
double r200212 = r200200 * r200211;
double r200213 = r200201 + r200212;
double r200214 = r200200 * r200213;
double r200215 = r200197 * r200197;
double r200216 = -r200215;
double r200217 = exp(r200216);
double r200218 = r200214 * r200217;
double r200219 = r200194 - r200218;
return r200219;
}
double f(double x) {
double r200220 = 1.0;
double r200221 = x;
double r200222 = fabs(r200221);
double r200223 = 0.3275911;
double r200224 = fma(r200222, r200223, r200220);
double r200225 = r200220 / r200224;
double r200226 = 1.061405429;
double r200227 = fma(r200223, r200222, r200220);
double r200228 = 4.0;
double r200229 = pow(r200227, r200228);
double r200230 = r200226 / r200229;
double r200231 = 1.421413741;
double r200232 = 2.0;
double r200233 = pow(r200224, r200232);
double r200234 = r200231 / r200233;
double r200235 = 0.254829592;
double r200236 = r200234 + r200235;
double r200237 = 1.453152027;
double r200238 = 3.0;
double r200239 = pow(r200227, r200238);
double r200240 = r200237 / r200239;
double r200241 = r200236 - r200240;
double r200242 = r200230 + r200241;
double r200243 = 0.284496736;
double r200244 = r200243 / r200224;
double r200245 = r200242 - r200244;
double r200246 = r200225 * r200245;
double r200247 = pow(r200222, r200232);
double r200248 = -r200247;
double r200249 = exp(r200248);
double r200250 = r200246 * r200249;
double r200251 = r200220 - r200250;
double r200252 = log(r200251);
double r200253 = cbrt(r200252);
double r200254 = r200253 * r200253;
double r200255 = exp(r200254);
double r200256 = pow(r200255, r200253);
return r200256;
}



Bits error versus x
Initial program 13.8
rmApplied add-sqr-sqrt13.8
Applied associate-/r*13.8
Simplified13.8
Taylor expanded around 0 14.6
Simplified13.8
rmApplied add-exp-log13.8
Simplified13.8
rmApplied add-cube-cbrt13.8
Applied exp-prod13.8
Final simplification13.8
herbie shell --seed 2019198 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erf"
(- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))