Average Error: 0.2 → 0.2
Time: 31.8s
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(\sqrt{\frac{1}{21}} \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot \frac{\sqrt{1}}{\sqrt{21}}\right)\right) + \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|\]
\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(\sqrt{\frac{1}{21}} \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot \frac{\sqrt{1}}{\sqrt{21}}\right)\right) + \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 r87042 = 1.0;
        double r87043 = atan2(1.0, 0.0);
        double r87044 = sqrt(r87043);
        double r87045 = r87042 / r87044;
        double r87046 = 2.0;
        double r87047 = x;
        double r87048 = fabs(r87047);
        double r87049 = r87046 * r87048;
        double r87050 = 3.0;
        double r87051 = r87046 / r87050;
        double r87052 = r87048 * r87048;
        double r87053 = r87052 * r87048;
        double r87054 = r87051 * r87053;
        double r87055 = r87049 + r87054;
        double r87056 = 5.0;
        double r87057 = r87042 / r87056;
        double r87058 = r87053 * r87048;
        double r87059 = r87058 * r87048;
        double r87060 = r87057 * r87059;
        double r87061 = r87055 + r87060;
        double r87062 = 21.0;
        double r87063 = r87042 / r87062;
        double r87064 = r87059 * r87048;
        double r87065 = r87064 * r87048;
        double r87066 = r87063 * r87065;
        double r87067 = r87061 + r87066;
        double r87068 = r87045 * r87067;
        double r87069 = fabs(r87068);
        return r87069;
}

double f(double x) {
        double r87070 = 1.0;
        double r87071 = 21.0;
        double r87072 = r87070 / r87071;
        double r87073 = sqrt(r87072);
        double r87074 = x;
        double r87075 = fabs(r87074);
        double r87076 = 6.0;
        double r87077 = pow(r87075, r87076);
        double r87078 = sqrt(r87070);
        double r87079 = sqrt(r87071);
        double r87080 = r87078 / r87079;
        double r87081 = r87075 * r87080;
        double r87082 = r87077 * r87081;
        double r87083 = r87073 * r87082;
        double r87084 = 2.0;
        double r87085 = r87084 * r87075;
        double r87086 = 3.0;
        double r87087 = r87084 / r87086;
        double r87088 = r87075 * r87075;
        double r87089 = r87088 * r87075;
        double r87090 = r87087 * r87089;
        double r87091 = r87085 + r87090;
        double r87092 = 5.0;
        double r87093 = r87070 / r87092;
        double r87094 = r87089 * r87075;
        double r87095 = r87094 * r87075;
        double r87096 = r87093 * r87095;
        double r87097 = r87091 + r87096;
        double r87098 = r87083 + r87097;
        double r87099 = atan2(1.0, 0.0);
        double r87100 = sqrt(r87099);
        double r87101 = r87070 / r87100;
        double r87102 = r87098 * r87101;
        double r87103 = fabs(r87102);
        return r87103;
}

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. Using strategy rm
  3. Applied add-sqr-sqrt0.3

    \[\leadsto \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) + \color{blue}{\left(\sqrt{\frac{1}{21}} \cdot \sqrt{\frac{1}{21}}\right)} \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|\]
  4. Applied associate-*l*0.3

    \[\leadsto \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) + \color{blue}{\sqrt{\frac{1}{21}} \cdot \left(\sqrt{\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)\right|\]
  5. Simplified0.2

    \[\leadsto \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) + \sqrt{\frac{1}{21}} \cdot \color{blue}{\left({\left(\left|x\right|\right)}^{\left(2 \cdot 3\right)} \cdot \left(\left|x\right| \cdot \sqrt{\frac{1}{21}}\right)\right)}\right)\right|\]
  6. Using strategy rm
  7. Applied sqrt-div0.2

    \[\leadsto \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) + \sqrt{\frac{1}{21}} \cdot \left({\left(\left|x\right|\right)}^{\left(2 \cdot 3\right)} \cdot \left(\left|x\right| \cdot \color{blue}{\frac{\sqrt{1}}{\sqrt{21}}}\right)\right)\right)\right|\]
  8. Final simplification0.2

    \[\leadsto \left|\left(\sqrt{\frac{1}{21}} \cdot \left({\left(\left|x\right|\right)}^{6} \cdot \left(\left|x\right| \cdot \frac{\sqrt{1}}{\sqrt{21}}\right)\right) + \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|\]

Reproduce

herbie shell --seed 2019235 +o rules:numerics
(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)))))))