\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|\frac{1}{\sqrt{\sqrt[3]{\pi} \cdot \sqrt[3]{\pi}}} \cdot \left(\frac{1}{\sqrt{\sqrt[3]{\pi}}} \cdot \left(\left|x\right| \cdot \mathsf{fma}\left(\left|x\right| \cdot \left|x\right|, \left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{1}{5} + \frac{\left(\left|x\right| \cdot \left|x\right|\right) \cdot 1}{21}\right), \mathsf{fma}\left(\frac{2}{3}, \left|x\right| \cdot \left|x\right|, 2\right)\right)\right)\right)\right|double f(double x) {
double r9204201 = 1.0;
double r9204202 = atan2(1.0, 0.0);
double r9204203 = sqrt(r9204202);
double r9204204 = r9204201 / r9204203;
double r9204205 = 2.0;
double r9204206 = x;
double r9204207 = fabs(r9204206);
double r9204208 = r9204205 * r9204207;
double r9204209 = 3.0;
double r9204210 = r9204205 / r9204209;
double r9204211 = r9204207 * r9204207;
double r9204212 = r9204211 * r9204207;
double r9204213 = r9204210 * r9204212;
double r9204214 = r9204208 + r9204213;
double r9204215 = 5.0;
double r9204216 = r9204201 / r9204215;
double r9204217 = r9204212 * r9204207;
double r9204218 = r9204217 * r9204207;
double r9204219 = r9204216 * r9204218;
double r9204220 = r9204214 + r9204219;
double r9204221 = 21.0;
double r9204222 = r9204201 / r9204221;
double r9204223 = r9204218 * r9204207;
double r9204224 = r9204223 * r9204207;
double r9204225 = r9204222 * r9204224;
double r9204226 = r9204220 + r9204225;
double r9204227 = r9204204 * r9204226;
double r9204228 = fabs(r9204227);
return r9204228;
}
double f(double x) {
double r9204229 = 1.0;
double r9204230 = atan2(1.0, 0.0);
double r9204231 = cbrt(r9204230);
double r9204232 = r9204231 * r9204231;
double r9204233 = sqrt(r9204232);
double r9204234 = r9204229 / r9204233;
double r9204235 = 1.0;
double r9204236 = sqrt(r9204231);
double r9204237 = r9204235 / r9204236;
double r9204238 = x;
double r9204239 = fabs(r9204238);
double r9204240 = r9204239 * r9204239;
double r9204241 = 5.0;
double r9204242 = r9204235 / r9204241;
double r9204243 = r9204240 * r9204235;
double r9204244 = 21.0;
double r9204245 = r9204243 / r9204244;
double r9204246 = r9204242 + r9204245;
double r9204247 = r9204240 * r9204246;
double r9204248 = 2.0;
double r9204249 = 3.0;
double r9204250 = r9204248 / r9204249;
double r9204251 = fma(r9204250, r9204240, r9204248);
double r9204252 = fma(r9204240, r9204247, r9204251);
double r9204253 = r9204239 * r9204252;
double r9204254 = r9204237 * r9204253;
double r9204255 = r9204234 * r9204254;
double r9204256 = fabs(r9204255);
return r9204256;
}



Bits error versus x
Initial program 0.2
Simplified0.2
rmApplied associate-*r/0.2
rmApplied add-cube-cbrt1.1
Applied sqrt-prod0.2
Applied *-un-lft-identity0.2
Applied times-frac0.2
Applied associate-*l*0.4
Final simplification0.4
herbie shell --seed 2019174 +o rules:numerics
(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)))))))