\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|\sqrt{\frac{1}{\pi}} \cdot \mathsf{fma}\left(\frac{1}{5}, \left({\left(\left|x\right|\right)}^{5}\right), \left(\mathsf{fma}\left(\left(\left|x\right|\right), 2, \left(\mathsf{fma}\left(\frac{1}{21}, \left({\left(\left|x\right|\right)}^{7}\right), \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} \cdot \left|x\right|\right)\right)\right)\right)\right)\right)\right)\right|double f(double x) {
double r6096185 = 1.0;
double r6096186 = atan2(1.0, 0.0);
double r6096187 = sqrt(r6096186);
double r6096188 = r6096185 / r6096187;
double r6096189 = 2.0;
double r6096190 = x;
double r6096191 = fabs(r6096190);
double r6096192 = r6096189 * r6096191;
double r6096193 = 3.0;
double r6096194 = r6096189 / r6096193;
double r6096195 = r6096191 * r6096191;
double r6096196 = r6096195 * r6096191;
double r6096197 = r6096194 * r6096196;
double r6096198 = r6096192 + r6096197;
double r6096199 = 5.0;
double r6096200 = r6096185 / r6096199;
double r6096201 = r6096196 * r6096191;
double r6096202 = r6096201 * r6096191;
double r6096203 = r6096200 * r6096202;
double r6096204 = r6096198 + r6096203;
double r6096205 = 21.0;
double r6096206 = r6096185 / r6096205;
double r6096207 = r6096202 * r6096191;
double r6096208 = r6096207 * r6096191;
double r6096209 = r6096206 * r6096208;
double r6096210 = r6096204 + r6096209;
double r6096211 = r6096188 * r6096210;
double r6096212 = fabs(r6096211);
return r6096212;
}
double f(double x) {
double r6096213 = 1.0;
double r6096214 = atan2(1.0, 0.0);
double r6096215 = r6096213 / r6096214;
double r6096216 = sqrt(r6096215);
double r6096217 = 0.2;
double r6096218 = x;
double r6096219 = fabs(r6096218);
double r6096220 = 5.0;
double r6096221 = pow(r6096219, r6096220);
double r6096222 = 2.0;
double r6096223 = 0.047619047619047616;
double r6096224 = 7.0;
double r6096225 = pow(r6096219, r6096224);
double r6096226 = r6096219 * r6096219;
double r6096227 = 0.6666666666666666;
double r6096228 = r6096227 * r6096219;
double r6096229 = r6096226 * r6096228;
double r6096230 = fma(r6096223, r6096225, r6096229);
double r6096231 = fma(r6096219, r6096222, r6096230);
double r6096232 = fma(r6096217, r6096221, r6096231);
double r6096233 = r6096216 * r6096232;
double r6096234 = fabs(r6096233);
return r6096234;
}



Bits error versus x
Initial program 0.2
Taylor expanded around -inf 0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019130 +o rules:numerics
(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)))))))