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 - \frac{1 \cdot \frac{\left(0.2548295919999999936678136691625695675611 + -0.2844967359999999723108032867457950487733 \cdot \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}\right) + \frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(\frac{1}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|} \cdot \left(1.421413741000000063863240029604639858007 + \frac{\frac{1}{\sqrt{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}}}{\sqrt{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)}{e^{\left|x\right| \cdot \left|x\right|}}}{1 + 0.3275911000000000239396058532292954623699 \cdot \left|x\right|}double f(double x) {
double r164060 = 1.0;
double r164061 = 0.3275911;
double r164062 = x;
double r164063 = fabs(r164062);
double r164064 = r164061 * r164063;
double r164065 = r164060 + r164064;
double r164066 = r164060 / r164065;
double r164067 = 0.254829592;
double r164068 = -0.284496736;
double r164069 = 1.421413741;
double r164070 = -1.453152027;
double r164071 = 1.061405429;
double r164072 = r164066 * r164071;
double r164073 = r164070 + r164072;
double r164074 = r164066 * r164073;
double r164075 = r164069 + r164074;
double r164076 = r164066 * r164075;
double r164077 = r164068 + r164076;
double r164078 = r164066 * r164077;
double r164079 = r164067 + r164078;
double r164080 = r164066 * r164079;
double r164081 = r164063 * r164063;
double r164082 = -r164081;
double r164083 = exp(r164082);
double r164084 = r164080 * r164083;
double r164085 = r164060 - r164084;
return r164085;
}
double f(double x) {
double r164086 = 1.0;
double r164087 = 0.254829592;
double r164088 = -0.284496736;
double r164089 = 0.3275911;
double r164090 = x;
double r164091 = fabs(r164090);
double r164092 = r164089 * r164091;
double r164093 = r164086 + r164092;
double r164094 = r164086 / r164093;
double r164095 = r164088 * r164094;
double r164096 = r164087 + r164095;
double r164097 = 1.421413741;
double r164098 = sqrt(r164093);
double r164099 = r164086 / r164098;
double r164100 = r164099 / r164098;
double r164101 = -1.453152027;
double r164102 = 1.061405429;
double r164103 = r164094 * r164102;
double r164104 = r164101 + r164103;
double r164105 = r164100 * r164104;
double r164106 = r164097 + r164105;
double r164107 = r164094 * r164106;
double r164108 = r164094 * r164107;
double r164109 = r164096 + r164108;
double r164110 = r164091 * r164091;
double r164111 = exp(r164110);
double r164112 = r164109 / r164111;
double r164113 = r164086 * r164112;
double r164114 = r164113 / r164093;
double r164115 = r164086 - r164114;
return r164115;
}



Bits error versus x
Results
Initial program 13.8
Simplified13.8
rmApplied distribute-lft-in13.8
Applied associate-+r+13.8
Simplified13.8
rmApplied add-sqr-sqrt13.8
Applied associate-/r*13.8
Final simplification13.8
herbie shell --seed 2019303
(FPCore (x)
:name "Jmat.Real.erf"
:precision binary64
(- 1 (* (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ 0.25482959199999999 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ -0.284496735999999972 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ 1.42141374100000006 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) (+ -1.45315202700000001 (* (/ 1 (+ 1 (* 0.32759110000000002 (fabs x)))) 1.0614054289999999))))))))) (exp (- (* (fabs x) (fabs x)))))))