Average Error: 0.2 → 0.2
Time: 41.2s
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(\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{\left(\left|x\right| \cdot 1\right) \cdot {\left(\left|x\right|\right)}^{6}}{21}\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(\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{\left(\left|x\right| \cdot 1\right) \cdot {\left(\left|x\right|\right)}^{6}}{21}\right) \cdot \frac{1}{\sqrt{\pi}}\right|
double f(double x) {
        double r134046 = 1.0;
        double r134047 = atan2(1.0, 0.0);
        double r134048 = sqrt(r134047);
        double r134049 = r134046 / r134048;
        double r134050 = 2.0;
        double r134051 = x;
        double r134052 = fabs(r134051);
        double r134053 = r134050 * r134052;
        double r134054 = 3.0;
        double r134055 = r134050 / r134054;
        double r134056 = r134052 * r134052;
        double r134057 = r134056 * r134052;
        double r134058 = r134055 * r134057;
        double r134059 = r134053 + r134058;
        double r134060 = 5.0;
        double r134061 = r134046 / r134060;
        double r134062 = r134057 * r134052;
        double r134063 = r134062 * r134052;
        double r134064 = r134061 * r134063;
        double r134065 = r134059 + r134064;
        double r134066 = 21.0;
        double r134067 = r134046 / r134066;
        double r134068 = r134063 * r134052;
        double r134069 = r134068 * r134052;
        double r134070 = r134067 * r134069;
        double r134071 = r134065 + r134070;
        double r134072 = r134049 * r134071;
        double r134073 = fabs(r134072);
        return r134073;
}

double f(double x) {
        double r134074 = 2.0;
        double r134075 = x;
        double r134076 = fabs(r134075);
        double r134077 = r134074 * r134076;
        double r134078 = 3.0;
        double r134079 = r134074 / r134078;
        double r134080 = r134076 * r134076;
        double r134081 = r134080 * r134076;
        double r134082 = r134079 * r134081;
        double r134083 = r134077 + r134082;
        double r134084 = 1.0;
        double r134085 = 5.0;
        double r134086 = r134084 / r134085;
        double r134087 = r134081 * r134076;
        double r134088 = r134087 * r134076;
        double r134089 = r134086 * r134088;
        double r134090 = r134083 + r134089;
        double r134091 = r134076 * r134084;
        double r134092 = 6.0;
        double r134093 = pow(r134076, r134092);
        double r134094 = r134091 * r134093;
        double r134095 = 21.0;
        double r134096 = r134094 / r134095;
        double r134097 = r134090 + r134096;
        double r134098 = atan2(1.0, 0.0);
        double r134099 = sqrt(r134098);
        double r134100 = r134084 / r134099;
        double r134101 = r134097 * r134100;
        double r134102 = fabs(r134101);
        return r134102;
}

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 associate-*l/0.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) + \color{blue}{\frac{1 \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)}{21}}\right)\right|\]
  4. 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) + \frac{\color{blue}{{\left(\left|x\right|\right)}^{\left(2 \cdot 3\right)} \cdot \left(\left|x\right| \cdot 1\right)}}{21}\right)\right|\]
  5. Final simplification0.2

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

Reproduce

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