\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({\left(\left|x\right|\right)}^{5} \cdot \frac{1}{5} + \left|x\right| \cdot \left(2 + \frac{2}{3} \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right)\right) \cdot \sqrt{\frac{1}{\pi}} + \frac{\sqrt{\frac{1}{\pi}} \cdot {\left(\left|x\right|\right)}^{7}}{21}\right|double f(double x) {
double r7890227 = 1.0;
double r7890228 = atan2(1.0, 0.0);
double r7890229 = sqrt(r7890228);
double r7890230 = r7890227 / r7890229;
double r7890231 = 2.0;
double r7890232 = x;
double r7890233 = fabs(r7890232);
double r7890234 = r7890231 * r7890233;
double r7890235 = 3.0;
double r7890236 = r7890231 / r7890235;
double r7890237 = r7890233 * r7890233;
double r7890238 = r7890237 * r7890233;
double r7890239 = r7890236 * r7890238;
double r7890240 = r7890234 + r7890239;
double r7890241 = 5.0;
double r7890242 = r7890227 / r7890241;
double r7890243 = r7890238 * r7890233;
double r7890244 = r7890243 * r7890233;
double r7890245 = r7890242 * r7890244;
double r7890246 = r7890240 + r7890245;
double r7890247 = 21.0;
double r7890248 = r7890227 / r7890247;
double r7890249 = r7890244 * r7890233;
double r7890250 = r7890249 * r7890233;
double r7890251 = r7890248 * r7890250;
double r7890252 = r7890246 + r7890251;
double r7890253 = r7890230 * r7890252;
double r7890254 = fabs(r7890253);
return r7890254;
}
double f(double x) {
double r7890255 = x;
double r7890256 = fabs(r7890255);
double r7890257 = 5.0;
double r7890258 = pow(r7890256, r7890257);
double r7890259 = 0.2;
double r7890260 = r7890258 * r7890259;
double r7890261 = 2.0;
double r7890262 = 0.6666666666666666;
double r7890263 = r7890256 * r7890256;
double r7890264 = r7890262 * r7890263;
double r7890265 = r7890261 + r7890264;
double r7890266 = r7890256 * r7890265;
double r7890267 = r7890260 + r7890266;
double r7890268 = 1.0;
double r7890269 = atan2(1.0, 0.0);
double r7890270 = r7890268 / r7890269;
double r7890271 = sqrt(r7890270);
double r7890272 = r7890267 * r7890271;
double r7890273 = 7.0;
double r7890274 = pow(r7890256, r7890273);
double r7890275 = r7890271 * r7890274;
double r7890276 = 21.0;
double r7890277 = r7890275 / r7890276;
double r7890278 = r7890272 + r7890277;
double r7890279 = fabs(r7890278);
return r7890279;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied *-un-lft-identity0.2
Applied times-frac0.2
Applied associate-*l*0.2
Taylor expanded around 0 0.1
Simplified0.1
rmApplied add-sqr-sqrt0.1
Applied associate-/r*0.2
rmApplied distribute-rgt-in0.2
Simplified0.1
Final simplification0.1
herbie shell --seed 2019164
(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)))))))