Average Error: 0.2 → 0.2
Time: 26.6s
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|\left|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \frac{\left|x\right| \cdot \left(1 \cdot \left(21 + 5 \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right)\right)}{21 \cdot 5} \cdot \left|x\right|\right) + 2\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| \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|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \frac{\left|x\right| \cdot \left(1 \cdot \left(21 + 5 \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right)\right)}{21 \cdot 5} \cdot \left|x\right|\right) + 2\right)\right)\right|
double f(double x) {
        double r5899211 = 1.0;
        double r5899212 = atan2(1.0, 0.0);
        double r5899213 = sqrt(r5899212);
        double r5899214 = r5899211 / r5899213;
        double r5899215 = 2.0;
        double r5899216 = x;
        double r5899217 = fabs(r5899216);
        double r5899218 = r5899215 * r5899217;
        double r5899219 = 3.0;
        double r5899220 = r5899215 / r5899219;
        double r5899221 = r5899217 * r5899217;
        double r5899222 = r5899221 * r5899217;
        double r5899223 = r5899220 * r5899222;
        double r5899224 = r5899218 + r5899223;
        double r5899225 = 5.0;
        double r5899226 = r5899211 / r5899225;
        double r5899227 = r5899222 * r5899217;
        double r5899228 = r5899227 * r5899217;
        double r5899229 = r5899226 * r5899228;
        double r5899230 = r5899224 + r5899229;
        double r5899231 = 21.0;
        double r5899232 = r5899211 / r5899231;
        double r5899233 = r5899228 * r5899217;
        double r5899234 = r5899233 * r5899217;
        double r5899235 = r5899232 * r5899234;
        double r5899236 = r5899230 + r5899235;
        double r5899237 = r5899214 * r5899236;
        double r5899238 = fabs(r5899237);
        return r5899238;
}

double f(double x) {
        double r5899239 = x;
        double r5899240 = fabs(r5899239);
        double r5899241 = 1.0;
        double r5899242 = atan2(1.0, 0.0);
        double r5899243 = sqrt(r5899242);
        double r5899244 = r5899241 / r5899243;
        double r5899245 = r5899240 * r5899240;
        double r5899246 = 2.0;
        double r5899247 = 3.0;
        double r5899248 = r5899246 / r5899247;
        double r5899249 = 21.0;
        double r5899250 = 5.0;
        double r5899251 = r5899250 * r5899245;
        double r5899252 = r5899249 + r5899251;
        double r5899253 = r5899241 * r5899252;
        double r5899254 = r5899240 * r5899253;
        double r5899255 = r5899249 * r5899250;
        double r5899256 = r5899254 / r5899255;
        double r5899257 = r5899256 * r5899240;
        double r5899258 = r5899248 + r5899257;
        double r5899259 = r5899245 * r5899258;
        double r5899260 = r5899259 + r5899246;
        double r5899261 = r5899244 * r5899260;
        double r5899262 = r5899240 * r5899261;
        double r5899263 = fabs(r5899262);
        return r5899263;
}

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. Simplified0.2

    \[\leadsto \color{blue}{\left|\left|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{1}{5} + \left(\left|x\right| \cdot \left|x\right|\right) \cdot \frac{1}{21}\right)\right) + 2\right)\right)\right|}\]
  3. Using strategy rm
  4. Applied associate-*l*0.2

    \[\leadsto \left|\left|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \color{blue}{\left|x\right| \cdot \left(\left|x\right| \cdot \left(\frac{1}{5} + \left(\left|x\right| \cdot \left|x\right|\right) \cdot \frac{1}{21}\right)\right)}\right) + 2\right)\right)\right|\]
  5. Using strategy rm
  6. Applied associate-*r/0.2

    \[\leadsto \left|\left|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \left|x\right| \cdot \left(\left|x\right| \cdot \left(\frac{1}{5} + \color{blue}{\frac{\left(\left|x\right| \cdot \left|x\right|\right) \cdot 1}{21}}\right)\right)\right) + 2\right)\right)\right|\]
  7. Applied frac-add0.2

    \[\leadsto \left|\left|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \left|x\right| \cdot \left(\left|x\right| \cdot \color{blue}{\frac{1 \cdot 21 + 5 \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot 1\right)}{5 \cdot 21}}\right)\right) + 2\right)\right)\right|\]
  8. Applied associate-*r/0.2

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

    \[\leadsto \left|\left|x\right| \cdot \left(\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\frac{2}{3} + \left|x\right| \cdot \frac{\color{blue}{\left(1 \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot 5 + 21\right)\right) \cdot \left|x\right|}}{5 \cdot 21}\right) + 2\right)\right)\right|\]
  10. Final simplification0.2

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

Reproduce

herbie shell --seed 2019170 
(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)))))))