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|}1 - e^{\left|x\right| \cdot \left(-\left|x\right|\right)} \cdot \left(\frac{1}{1 + \left|x\right| \cdot 0.3275911000000000239396058532292954623699} \cdot \left(\left(\frac{1}{1 + \left|x\right| \cdot 0.3275911000000000239396058532292954623699} \cdot \left(\frac{1}{1 + \left|x\right| \cdot 0.3275911000000000239396058532292954623699} \cdot \left(1.061405428999999900341322245367337018251 \cdot \log \left(e^{\frac{1}{\mathsf{fma}\left(\left|x\right|, 0.3275911000000000239396058532292954623699, 1\right)}}\right) + -1.453152027000000012790792425221297889948\right) + 1.421413741000000063863240029604639858007\right)\right) \cdot \frac{1}{1 + \left|x\right| \cdot 0.3275911000000000239396058532292954623699} + \mathsf{fma}\left(-0.2844967359999999723108032867457950487733, \frac{1}{\mathsf{fma}\left(0.3275911000000000239396058532292954623699, \left|x\right|, 1\right)}, 0.2548295919999999936678136691625695675611\right)\right)\right)double f(double x) {
double r188120 = 1.0;
double r188121 = 0.3275911;
double r188122 = x;
double r188123 = fabs(r188122);
double r188124 = r188121 * r188123;
double r188125 = r188120 + r188124;
double r188126 = r188120 / r188125;
double r188127 = 0.254829592;
double r188128 = -0.284496736;
double r188129 = 1.421413741;
double r188130 = -1.453152027;
double r188131 = 1.061405429;
double r188132 = r188126 * r188131;
double r188133 = r188130 + r188132;
double r188134 = r188126 * r188133;
double r188135 = r188129 + r188134;
double r188136 = r188126 * r188135;
double r188137 = r188128 + r188136;
double r188138 = r188126 * r188137;
double r188139 = r188127 + r188138;
double r188140 = r188126 * r188139;
double r188141 = r188123 * r188123;
double r188142 = -r188141;
double r188143 = exp(r188142);
double r188144 = r188140 * r188143;
double r188145 = r188120 - r188144;
return r188145;
}
double f(double x) {
double r188146 = 1.0;
double r188147 = x;
double r188148 = fabs(r188147);
double r188149 = -r188148;
double r188150 = r188148 * r188149;
double r188151 = exp(r188150);
double r188152 = 0.3275911;
double r188153 = r188148 * r188152;
double r188154 = r188146 + r188153;
double r188155 = r188146 / r188154;
double r188156 = 1.061405429;
double r188157 = fma(r188148, r188152, r188146);
double r188158 = r188146 / r188157;
double r188159 = exp(r188158);
double r188160 = log(r188159);
double r188161 = r188156 * r188160;
double r188162 = -1.453152027;
double r188163 = r188161 + r188162;
double r188164 = r188155 * r188163;
double r188165 = 1.421413741;
double r188166 = r188164 + r188165;
double r188167 = r188155 * r188166;
double r188168 = r188167 * r188155;
double r188169 = -0.284496736;
double r188170 = fma(r188152, r188148, r188146);
double r188171 = r188146 / r188170;
double r188172 = 0.254829592;
double r188173 = fma(r188169, r188171, r188172);
double r188174 = r188168 + r188173;
double r188175 = r188155 * r188174;
double r188176 = r188151 * r188175;
double r188177 = r188146 - r188176;
return r188177;
}



Bits error versus x
Initial program 13.8
rmApplied add-log-exp13.8
Simplified13.8
rmApplied distribute-rgt-in13.8
Applied associate-+r+13.8
Simplified13.8
Final simplification13.8
herbie shell --seed 2019179 +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)))))))