\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(1 \cdot \left|x\right|\right) \cdot \left(\sqrt{\frac{1}{\pi}} \cdot \mathsf{fma}\left(\left(\left|x\right| \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right) \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right), 0.04761904761904761640423089374962728470564, \mathsf{fma}\left(0.2000000000000000111022302462515654042363, \left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\left|x\right| \cdot \left|x\right|\right), \mathsf{fma}\left(0.6666666666666666296592325124947819858789, \left|x\right| \cdot \left|x\right|, 2\right)\right)\right)\right)\right|double f(double x) {
double r5723133 = 1.0;
double r5723134 = atan2(1.0, 0.0);
double r5723135 = sqrt(r5723134);
double r5723136 = r5723133 / r5723135;
double r5723137 = 2.0;
double r5723138 = x;
double r5723139 = fabs(r5723138);
double r5723140 = r5723137 * r5723139;
double r5723141 = 3.0;
double r5723142 = r5723137 / r5723141;
double r5723143 = r5723139 * r5723139;
double r5723144 = r5723143 * r5723139;
double r5723145 = r5723142 * r5723144;
double r5723146 = r5723140 + r5723145;
double r5723147 = 5.0;
double r5723148 = r5723133 / r5723147;
double r5723149 = r5723144 * r5723139;
double r5723150 = r5723149 * r5723139;
double r5723151 = r5723148 * r5723150;
double r5723152 = r5723146 + r5723151;
double r5723153 = 21.0;
double r5723154 = r5723133 / r5723153;
double r5723155 = r5723150 * r5723139;
double r5723156 = r5723155 * r5723139;
double r5723157 = r5723154 * r5723156;
double r5723158 = r5723152 + r5723157;
double r5723159 = r5723136 * r5723158;
double r5723160 = fabs(r5723159);
return r5723160;
}
double f(double x) {
double r5723161 = 1.0;
double r5723162 = x;
double r5723163 = fabs(r5723162);
double r5723164 = r5723161 * r5723163;
double r5723165 = 1.0;
double r5723166 = atan2(1.0, 0.0);
double r5723167 = r5723165 / r5723166;
double r5723168 = sqrt(r5723167);
double r5723169 = r5723163 * r5723163;
double r5723170 = r5723163 * r5723169;
double r5723171 = r5723170 * r5723170;
double r5723172 = 0.047619047619047616;
double r5723173 = 0.2;
double r5723174 = r5723169 * r5723169;
double r5723175 = 0.6666666666666666;
double r5723176 = 2.0;
double r5723177 = fma(r5723175, r5723169, r5723176);
double r5723178 = fma(r5723173, r5723174, r5723177);
double r5723179 = fma(r5723171, r5723172, r5723178);
double r5723180 = r5723168 * r5723179;
double r5723181 = r5723164 * r5723180;
double r5723182 = fabs(r5723181);
return r5723182;
}



Bits error versus x
Initial program 0.2
Simplified0.2
rmApplied associate-*r/0.2
Taylor expanded around 0 0.2
Simplified0.2
Final simplification0.2
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)))))))