Average Error: 0.2 → 0.2
Time: 1.4m
Precision: 64
\[\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(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right) + \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\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| \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(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right) + \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\right)\right|
double f(double x) {
        double r23472272 = 1.0;
        double r23472273 = atan2(1.0, 0.0);
        double r23472274 = sqrt(r23472273);
        double r23472275 = r23472272 / r23472274;
        double r23472276 = 2.0;
        double r23472277 = x;
        double r23472278 = fabs(r23472277);
        double r23472279 = r23472276 * r23472278;
        double r23472280 = 3.0;
        double r23472281 = r23472276 / r23472280;
        double r23472282 = r23472278 * r23472278;
        double r23472283 = r23472282 * r23472278;
        double r23472284 = r23472281 * r23472283;
        double r23472285 = r23472279 + r23472284;
        double r23472286 = 5.0;
        double r23472287 = r23472272 / r23472286;
        double r23472288 = r23472283 * r23472278;
        double r23472289 = r23472288 * r23472278;
        double r23472290 = r23472287 * r23472289;
        double r23472291 = r23472285 + r23472290;
        double r23472292 = 21.0;
        double r23472293 = r23472272 / r23472292;
        double r23472294 = r23472289 * r23472278;
        double r23472295 = r23472294 * r23472278;
        double r23472296 = r23472293 * r23472295;
        double r23472297 = r23472291 + r23472296;
        double r23472298 = r23472275 * r23472297;
        double r23472299 = fabs(r23472298);
        return r23472299;
}

double f(double x) {
        double r23472300 = 1.0;
        double r23472301 = atan2(1.0, 0.0);
        double r23472302 = sqrt(r23472301);
        double r23472303 = r23472300 / r23472302;
        double r23472304 = 0.2;
        double r23472305 = x;
        double r23472306 = fabs(r23472305);
        double r23472307 = r23472306 * r23472306;
        double r23472308 = r23472307 * r23472306;
        double r23472309 = r23472308 * r23472306;
        double r23472310 = r23472306 * r23472309;
        double r23472311 = r23472304 * r23472310;
        double r23472312 = 2.0;
        double r23472313 = r23472306 * r23472312;
        double r23472314 = 0.6666666666666666;
        double r23472315 = r23472308 * r23472314;
        double r23472316 = r23472313 + r23472315;
        double r23472317 = r23472311 + r23472316;
        double r23472318 = r23472306 * r23472310;
        double r23472319 = r23472306 * r23472318;
        double r23472320 = 0.047619047619047616;
        double r23472321 = r23472319 * r23472320;
        double r23472322 = r23472317 + r23472321;
        double r23472323 = r23472303 * r23472322;
        double r23472324 = fabs(r23472323);
        return r23472324;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\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|\]
  2. Final simplification0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right) + \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{21}\right)\right|\]

Reproduce

herbie shell --seed 2019107 +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)))))))