\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(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot e^{\log \left(\sqrt{\frac{1}{21}}\right)}\right)\right) \cdot \sqrt{\frac{1}{21}} + \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)\right) \cdot \frac{1}{\sqrt{\pi}}\right|double f(double x) {
double r122121 = 1.0;
double r122122 = atan2(1.0, 0.0);
double r122123 = sqrt(r122122);
double r122124 = r122121 / r122123;
double r122125 = 2.0;
double r122126 = x;
double r122127 = fabs(r122126);
double r122128 = r122125 * r122127;
double r122129 = 3.0;
double r122130 = r122125 / r122129;
double r122131 = r122127 * r122127;
double r122132 = r122131 * r122127;
double r122133 = r122130 * r122132;
double r122134 = r122128 + r122133;
double r122135 = 5.0;
double r122136 = r122121 / r122135;
double r122137 = r122132 * r122127;
double r122138 = r122137 * r122127;
double r122139 = r122136 * r122138;
double r122140 = r122134 + r122139;
double r122141 = 21.0;
double r122142 = r122121 / r122141;
double r122143 = r122138 * r122127;
double r122144 = r122143 * r122127;
double r122145 = r122142 * r122144;
double r122146 = r122140 + r122145;
double r122147 = r122124 * r122146;
double r122148 = fabs(r122147);
return r122148;
}
double f(double x) {
double r122149 = x;
double r122150 = fabs(r122149);
double r122151 = 6.0;
double r122152 = pow(r122150, r122151);
double r122153 = 1.0;
double r122154 = 21.0;
double r122155 = r122153 / r122154;
double r122156 = sqrt(r122155);
double r122157 = log(r122156);
double r122158 = exp(r122157);
double r122159 = r122150 * r122158;
double r122160 = r122152 * r122159;
double r122161 = r122160 * r122156;
double r122162 = 2.0;
double r122163 = r122162 * r122150;
double r122164 = 3.0;
double r122165 = r122162 / r122164;
double r122166 = r122150 * r122150;
double r122167 = r122166 * r122150;
double r122168 = r122165 * r122167;
double r122169 = r122163 + r122168;
double r122170 = 5.0;
double r122171 = r122153 / r122170;
double r122172 = r122167 * r122150;
double r122173 = r122172 * r122150;
double r122174 = r122171 * r122173;
double r122175 = r122169 + r122174;
double r122176 = r122161 + r122175;
double r122177 = atan2(1.0, 0.0);
double r122178 = sqrt(r122177);
double r122179 = r122153 / r122178;
double r122180 = r122176 * r122179;
double r122181 = fabs(r122180);
return r122181;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.3
Applied associate-*l*0.3
Simplified0.2
rmApplied add-exp-log0.2
Final simplification0.2
herbie shell --seed 2019235
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
:precision binary64
(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)))))))