Average Error: 0.2 → 0.2
Time: 40.5s
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 r3837077 = 1.0;
        double r3837078 = atan2(1.0, 0.0);
        double r3837079 = sqrt(r3837078);
        double r3837080 = r3837077 / r3837079;
        double r3837081 = 2.0;
        double r3837082 = x;
        double r3837083 = fabs(r3837082);
        double r3837084 = r3837081 * r3837083;
        double r3837085 = 3.0;
        double r3837086 = r3837081 / r3837085;
        double r3837087 = r3837083 * r3837083;
        double r3837088 = r3837087 * r3837083;
        double r3837089 = r3837086 * r3837088;
        double r3837090 = r3837084 + r3837089;
        double r3837091 = 5.0;
        double r3837092 = r3837077 / r3837091;
        double r3837093 = r3837088 * r3837083;
        double r3837094 = r3837093 * r3837083;
        double r3837095 = r3837092 * r3837094;
        double r3837096 = r3837090 + r3837095;
        double r3837097 = 21.0;
        double r3837098 = r3837077 / r3837097;
        double r3837099 = r3837094 * r3837083;
        double r3837100 = r3837099 * r3837083;
        double r3837101 = r3837098 * r3837100;
        double r3837102 = r3837096 + r3837101;
        double r3837103 = r3837080 * r3837102;
        double r3837104 = fabs(r3837103);
        return r3837104;
}

double f(double x) {
        double r3837105 = 1.0;
        double r3837106 = atan2(1.0, 0.0);
        double r3837107 = sqrt(r3837106);
        double r3837108 = r3837105 / r3837107;
        double r3837109 = 0.2;
        double r3837110 = x;
        double r3837111 = fabs(r3837110);
        double r3837112 = r3837111 * r3837111;
        double r3837113 = r3837112 * r3837111;
        double r3837114 = r3837113 * r3837111;
        double r3837115 = r3837111 * r3837114;
        double r3837116 = r3837109 * r3837115;
        double r3837117 = 2.0;
        double r3837118 = r3837111 * r3837117;
        double r3837119 = 0.6666666666666666;
        double r3837120 = r3837113 * r3837119;
        double r3837121 = r3837118 + r3837120;
        double r3837122 = r3837116 + r3837121;
        double r3837123 = r3837111 * r3837115;
        double r3837124 = r3837111 * r3837123;
        double r3837125 = 0.047619047619047616;
        double r3837126 = r3837124 * r3837125;
        double r3837127 = r3837122 + r3837126;
        double r3837128 = r3837108 * r3837127;
        double r3837129 = fabs(r3837128);
        return r3837129;
}

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 2019144 +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)))))))