\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|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \frac{\left|x\right| \cdot \left(1 \cdot \left(21 + 5 \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right)\right)}{21 \cdot 5} \cdot \left|x\right|\right) + 2\right)\right)\right|double f(double x) {
double r5899211 = 1.0;
double r5899212 = atan2(1.0, 0.0);
double r5899213 = sqrt(r5899212);
double r5899214 = r5899211 / r5899213;
double r5899215 = 2.0;
double r5899216 = x;
double r5899217 = fabs(r5899216);
double r5899218 = r5899215 * r5899217;
double r5899219 = 3.0;
double r5899220 = r5899215 / r5899219;
double r5899221 = r5899217 * r5899217;
double r5899222 = r5899221 * r5899217;
double r5899223 = r5899220 * r5899222;
double r5899224 = r5899218 + r5899223;
double r5899225 = 5.0;
double r5899226 = r5899211 / r5899225;
double r5899227 = r5899222 * r5899217;
double r5899228 = r5899227 * r5899217;
double r5899229 = r5899226 * r5899228;
double r5899230 = r5899224 + r5899229;
double r5899231 = 21.0;
double r5899232 = r5899211 / r5899231;
double r5899233 = r5899228 * r5899217;
double r5899234 = r5899233 * r5899217;
double r5899235 = r5899232 * r5899234;
double r5899236 = r5899230 + r5899235;
double r5899237 = r5899214 * r5899236;
double r5899238 = fabs(r5899237);
return r5899238;
}
double f(double x) {
double r5899239 = x;
double r5899240 = fabs(r5899239);
double r5899241 = 1.0;
double r5899242 = atan2(1.0, 0.0);
double r5899243 = sqrt(r5899242);
double r5899244 = r5899241 / r5899243;
double r5899245 = r5899240 * r5899240;
double r5899246 = 2.0;
double r5899247 = 3.0;
double r5899248 = r5899246 / r5899247;
double r5899249 = 21.0;
double r5899250 = 5.0;
double r5899251 = r5899250 * r5899245;
double r5899252 = r5899249 + r5899251;
double r5899253 = r5899241 * r5899252;
double r5899254 = r5899240 * r5899253;
double r5899255 = r5899249 * r5899250;
double r5899256 = r5899254 / r5899255;
double r5899257 = r5899256 * r5899240;
double r5899258 = r5899248 + r5899257;
double r5899259 = r5899245 * r5899258;
double r5899260 = r5899259 + r5899246;
double r5899261 = r5899244 * r5899260;
double r5899262 = r5899240 * r5899261;
double r5899263 = fabs(r5899262);
return r5899263;
}



Bits error versus x
Results
Initial program 0.2
Simplified0.2
rmApplied associate-*l*0.2
rmApplied associate-*r/0.2
Applied frac-add0.2
Applied associate-*r/0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019170
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
(fabs (* (/ 1.0 (sqrt PI)) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))