\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{\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|\right)}^{3}\right)}^{1} \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r122166 = 1.0;
double r122167 = atan2(1.0, 0.0);
double r122168 = sqrt(r122167);
double r122169 = r122166 / r122168;
double r122170 = 2.0;
double r122171 = x;
double r122172 = fabs(r122171);
double r122173 = r122170 * r122172;
double r122174 = 3.0;
double r122175 = r122170 / r122174;
double r122176 = r122172 * r122172;
double r122177 = r122176 * r122172;
double r122178 = r122175 * r122177;
double r122179 = r122173 + r122178;
double r122180 = 5.0;
double r122181 = r122166 / r122180;
double r122182 = r122177 * r122172;
double r122183 = r122182 * r122172;
double r122184 = r122181 * r122183;
double r122185 = r122179 + r122184;
double r122186 = 21.0;
double r122187 = r122166 / r122186;
double r122188 = r122183 * r122172;
double r122189 = r122188 * r122172;
double r122190 = r122187 * r122189;
double r122191 = r122185 + r122190;
double r122192 = r122169 * r122191;
double r122193 = fabs(r122192);
return r122193;
}
double f(double x) {
double r122194 = 1.0;
double r122195 = atan2(1.0, 0.0);
double r122196 = sqrt(r122195);
double r122197 = r122194 / r122196;
double r122198 = 2.0;
double r122199 = x;
double r122200 = fabs(r122199);
double r122201 = r122198 * r122200;
double r122202 = 3.0;
double r122203 = r122198 / r122202;
double r122204 = r122200 * r122200;
double r122205 = r122204 * r122200;
double r122206 = r122203 * r122205;
double r122207 = r122201 + r122206;
double r122208 = 5.0;
double r122209 = r122194 / r122208;
double r122210 = r122205 * r122200;
double r122211 = r122210 * r122200;
double r122212 = r122209 * r122211;
double r122213 = r122207 + r122212;
double r122214 = 21.0;
double r122215 = r122194 / r122214;
double r122216 = 3.0;
double r122217 = pow(r122200, r122216);
double r122218 = 1.0;
double r122219 = pow(r122217, r122218);
double r122220 = r122219 * r122200;
double r122221 = r122220 * r122200;
double r122222 = r122221 * r122200;
double r122223 = r122222 * r122200;
double r122224 = r122215 * r122223;
double r122225 = r122213 + r122224;
double r122226 = r122197 * r122225;
double r122227 = fabs(r122226);
return r122227;
}



Bits error versus x
Results
Initial program 0.2
rmApplied pow10.2
Applied pow10.2
Applied pow10.2
Applied pow-prod-down0.2
Applied pow-prod-down0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020046
(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)))))))