Average Error: 0.2 → 0.2
Time: 43.3s
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(\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) + \frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left|x\right| \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|\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(\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) + \frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left|x\right| \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|\right)\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}}\right|
double f(double x) {
        double r5841050 = 1.0;
        double r5841051 = atan2(1.0, 0.0);
        double r5841052 = sqrt(r5841051);
        double r5841053 = r5841050 / r5841052;
        double r5841054 = 2.0;
        double r5841055 = x;
        double r5841056 = fabs(r5841055);
        double r5841057 = r5841054 * r5841056;
        double r5841058 = 3.0;
        double r5841059 = r5841054 / r5841058;
        double r5841060 = r5841056 * r5841056;
        double r5841061 = r5841060 * r5841056;
        double r5841062 = r5841059 * r5841061;
        double r5841063 = r5841057 + r5841062;
        double r5841064 = 5.0;
        double r5841065 = r5841050 / r5841064;
        double r5841066 = r5841061 * r5841056;
        double r5841067 = r5841066 * r5841056;
        double r5841068 = r5841065 * r5841067;
        double r5841069 = r5841063 + r5841068;
        double r5841070 = 21.0;
        double r5841071 = r5841050 / r5841070;
        double r5841072 = r5841067 * r5841056;
        double r5841073 = r5841072 * r5841056;
        double r5841074 = r5841071 * r5841073;
        double r5841075 = r5841069 + r5841074;
        double r5841076 = r5841053 * r5841075;
        double r5841077 = fabs(r5841076);
        return r5841077;
}

double f(double x) {
        double r5841078 = 0.2;
        double r5841079 = x;
        double r5841080 = fabs(r5841079);
        double r5841081 = r5841080 * r5841080;
        double r5841082 = r5841081 * r5841080;
        double r5841083 = r5841082 * r5841080;
        double r5841084 = r5841080 * r5841083;
        double r5841085 = r5841078 * r5841084;
        double r5841086 = 2.0;
        double r5841087 = r5841080 * r5841086;
        double r5841088 = 0.6666666666666666;
        double r5841089 = r5841082 * r5841088;
        double r5841090 = r5841087 + r5841089;
        double r5841091 = r5841085 + r5841090;
        double r5841092 = 0.047619047619047616;
        double r5841093 = 3.0;
        double r5841094 = pow(r5841080, r5841093);
        double r5841095 = r5841080 * r5841094;
        double r5841096 = r5841095 * r5841080;
        double r5841097 = r5841080 * r5841096;
        double r5841098 = r5841080 * r5841097;
        double r5841099 = r5841092 * r5841098;
        double r5841100 = r5841091 + r5841099;
        double r5841101 = 1.0;
        double r5841102 = atan2(1.0, 0.0);
        double r5841103 = sqrt(r5841102);
        double r5841104 = r5841101 / r5841103;
        double r5841105 = r5841100 * r5841104;
        double r5841106 = fabs(r5841105);
        return r5841106;
}

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 pow30.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{1}{21} \cdot \left(\left(\left(\left(\color{blue}{{\left(\left|x\right|\right)}^{3}} \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  4. Final simplification0.2

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

Reproduce

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