Average Error: 0.2 → 0.2
Time: 1.7m
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 r7903039 = 1.0;
        double r7903040 = atan2(1.0, 0.0);
        double r7903041 = sqrt(r7903040);
        double r7903042 = r7903039 / r7903041;
        double r7903043 = 2.0;
        double r7903044 = x;
        double r7903045 = fabs(r7903044);
        double r7903046 = r7903043 * r7903045;
        double r7903047 = 3.0;
        double r7903048 = r7903043 / r7903047;
        double r7903049 = r7903045 * r7903045;
        double r7903050 = r7903049 * r7903045;
        double r7903051 = r7903048 * r7903050;
        double r7903052 = r7903046 + r7903051;
        double r7903053 = 5.0;
        double r7903054 = r7903039 / r7903053;
        double r7903055 = r7903050 * r7903045;
        double r7903056 = r7903055 * r7903045;
        double r7903057 = r7903054 * r7903056;
        double r7903058 = r7903052 + r7903057;
        double r7903059 = 21.0;
        double r7903060 = r7903039 / r7903059;
        double r7903061 = r7903056 * r7903045;
        double r7903062 = r7903061 * r7903045;
        double r7903063 = r7903060 * r7903062;
        double r7903064 = r7903058 + r7903063;
        double r7903065 = r7903042 * r7903064;
        double r7903066 = fabs(r7903065);
        return r7903066;
}

double f(double x) {
        double r7903067 = 1.0;
        double r7903068 = atan2(1.0, 0.0);
        double r7903069 = sqrt(r7903068);
        double r7903070 = r7903067 / r7903069;
        double r7903071 = 0.2;
        double r7903072 = x;
        double r7903073 = fabs(r7903072);
        double r7903074 = r7903073 * r7903073;
        double r7903075 = r7903074 * r7903073;
        double r7903076 = r7903075 * r7903073;
        double r7903077 = r7903073 * r7903076;
        double r7903078 = r7903071 * r7903077;
        double r7903079 = 2.0;
        double r7903080 = r7903073 * r7903079;
        double r7903081 = 0.6666666666666666;
        double r7903082 = r7903075 * r7903081;
        double r7903083 = r7903080 + r7903082;
        double r7903084 = r7903078 + r7903083;
        double r7903085 = r7903073 * r7903077;
        double r7903086 = r7903073 * r7903085;
        double r7903087 = 0.047619047619047616;
        double r7903088 = r7903086 * r7903087;
        double r7903089 = r7903084 + r7903088;
        double r7903090 = r7903070 * r7903089;
        double r7903091 = fabs(r7903090);
        return r7903091;
}

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 2019128 
(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)))))))