1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}\log \left(e^{1 - \mathsf{fma}\left(\mathsf{fma}\left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911, 1\right)}, \mathsf{fma}\left(\mathsf{fma}\left(1.061405429, \sqrt{\frac{1 - 0.3275911 \cdot \left|x\right|}{1 - \left(0.3275911 \cdot \left|x\right|\right) \cdot \left(0.3275911 \cdot \left|x\right|\right)}} \cdot \sqrt{\frac{1 - 0.3275911 \cdot \left|x\right|}{1 - \left(0.3275911 \cdot \left|x\right|\right) \cdot \left(0.3275911 \cdot \left|x\right|\right)}}, -1.453152027\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911, 1\right)}, 1.421413741\right), -0.284496736\right), \frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911, 1\right)}, 0.254829592\right) \cdot \left(\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911, 1\right)} \cdot e^{-\left|x\right| \cdot \left|x\right|}\right)}\right)double f(double x) {
double r2751160 = 1.0;
double r2751161 = 0.3275911;
double r2751162 = x;
double r2751163 = fabs(r2751162);
double r2751164 = r2751161 * r2751163;
double r2751165 = r2751160 + r2751164;
double r2751166 = r2751160 / r2751165;
double r2751167 = 0.254829592;
double r2751168 = -0.284496736;
double r2751169 = 1.421413741;
double r2751170 = -1.453152027;
double r2751171 = 1.061405429;
double r2751172 = r2751166 * r2751171;
double r2751173 = r2751170 + r2751172;
double r2751174 = r2751166 * r2751173;
double r2751175 = r2751169 + r2751174;
double r2751176 = r2751166 * r2751175;
double r2751177 = r2751168 + r2751176;
double r2751178 = r2751166 * r2751177;
double r2751179 = r2751167 + r2751178;
double r2751180 = r2751166 * r2751179;
double r2751181 = r2751163 * r2751163;
double r2751182 = -r2751181;
double r2751183 = exp(r2751182);
double r2751184 = r2751180 * r2751183;
double r2751185 = r2751160 - r2751184;
return r2751185;
}
double f(double x) {
double r2751186 = 1.0;
double r2751187 = x;
double r2751188 = fabs(r2751187);
double r2751189 = 0.3275911;
double r2751190 = fma(r2751188, r2751189, r2751186);
double r2751191 = r2751186 / r2751190;
double r2751192 = 1.061405429;
double r2751193 = r2751189 * r2751188;
double r2751194 = r2751186 - r2751193;
double r2751195 = r2751193 * r2751193;
double r2751196 = r2751186 - r2751195;
double r2751197 = r2751194 / r2751196;
double r2751198 = sqrt(r2751197);
double r2751199 = r2751198 * r2751198;
double r2751200 = -1.453152027;
double r2751201 = fma(r2751192, r2751199, r2751200);
double r2751202 = 1.421413741;
double r2751203 = fma(r2751201, r2751191, r2751202);
double r2751204 = -0.284496736;
double r2751205 = fma(r2751191, r2751203, r2751204);
double r2751206 = 0.254829592;
double r2751207 = fma(r2751205, r2751191, r2751206);
double r2751208 = r2751188 * r2751188;
double r2751209 = -r2751208;
double r2751210 = exp(r2751209);
double r2751211 = r2751191 * r2751210;
double r2751212 = r2751207 * r2751211;
double r2751213 = r2751186 - r2751212;
double r2751214 = exp(r2751213);
double r2751215 = log(r2751214);
return r2751215;
}



Bits error versus x
Initial program 13.8
rmApplied flip-+13.8
Applied associate-/r/13.8
rmApplied add-log-exp13.8
Applied add-log-exp13.8
Applied diff-log14.5
Simplified13.8
rmApplied add-sqr-sqrt13.8
Final simplification13.8
herbie shell --seed 2019156 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erf"
(- 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)))))))