double f(double x) {
double r13758154 = 1.0;
double r13758155 = atan2(1.0, 0.0);
double r13758156 = sqrt(r13758155);
double r13758157 = r13758154 / r13758156;
double r13758158 = 2.0;
double r13758159 = x;
double r13758160 = fabs(r13758159);
double r13758161 = r13758158 * r13758160;
double r13758162 = 3.0;
double r13758163 = r13758158 / r13758162;
double r13758164 = r13758160 * r13758160;
double r13758165 = r13758164 * r13758160;
double r13758166 = r13758163 * r13758165;
double r13758167 = r13758161 + r13758166;
double r13758168 = 5.0;
double r13758169 = r13758154 / r13758168;
double r13758170 = r13758165 * r13758160;
double r13758171 = r13758170 * r13758160;
double r13758172 = r13758169 * r13758171;
double r13758173 = r13758167 + r13758172;
double r13758174 = 21.0;
double r13758175 = r13758154 / r13758174;
double r13758176 = r13758171 * r13758160;
double r13758177 = r13758176 * r13758160;
double r13758178 = r13758175 * r13758177;
double r13758179 = r13758173 + r13758178;
double r13758180 = r13758157 * r13758179;
double r13758181 = fabs(r13758180);
return r13758181;
}
double f(double x) {
double r13758182 = 0.047619047619047616;
double r13758183 = x;
double r13758184 = fabs(r13758183);
double r13758185 = 7.0;
double r13758186 = pow(r13758184, r13758185);
double r13758187 = r13758182 * r13758186;
double r13758188 = 0.2;
double r13758189 = 5.0;
double r13758190 = pow(r13758184, r13758189);
double r13758191 = r13758188 * r13758190;
double r13758192 = 0.6666666666666666;
double r13758193 = r13758192 * r13758184;
double r13758194 = r13758193 * r13758184;
double r13758195 = 2.0;
double r13758196 = r13758194 + r13758195;
double r13758197 = r13758196 * r13758184;
double r13758198 = r13758191 + r13758197;
double r13758199 = r13758187 + r13758198;
double r13758200 = 1.0;
double r13758201 = atan2(1.0, 0.0);
double r13758202 = r13758200 / r13758201;
double r13758203 = sqrt(r13758202);
double r13758204 = r13758199 * r13758203;
double r13758205 = fabs(r13758204);
return r13758205;
}
\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\left|\left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{7} + \left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{5} + \left(\left(\frac{2}{3} \cdot \left|x\right|\right) \cdot \left|x\right| + 2\right) \cdot \left|x\right|\right)\right) \cdot \sqrt{\frac{1}{\pi}}\right|


Bits error versus x
Initial program 0.2
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019101
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
(fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))