Average Error: 0.2 → 0.2
Time: 1.4m
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|x\right|\right)}^{7} \cdot \frac{1}{21} + \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)\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|x\right|\right)}^{7} \cdot \frac{1}{21} + \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)\right) \cdot \frac{1}{\sqrt{\pi}}\right|
double f(double x) {
        double r6663180 = 1.0;
        double r6663181 = atan2(1.0, 0.0);
        double r6663182 = sqrt(r6663181);
        double r6663183 = r6663180 / r6663182;
        double r6663184 = 2.0;
        double r6663185 = x;
        double r6663186 = fabs(r6663185);
        double r6663187 = r6663184 * r6663186;
        double r6663188 = 3.0;
        double r6663189 = r6663184 / r6663188;
        double r6663190 = r6663186 * r6663186;
        double r6663191 = r6663190 * r6663186;
        double r6663192 = r6663189 * r6663191;
        double r6663193 = r6663187 + r6663192;
        double r6663194 = 5.0;
        double r6663195 = r6663180 / r6663194;
        double r6663196 = r6663191 * r6663186;
        double r6663197 = r6663196 * r6663186;
        double r6663198 = r6663195 * r6663197;
        double r6663199 = r6663193 + r6663198;
        double r6663200 = 21.0;
        double r6663201 = r6663180 / r6663200;
        double r6663202 = r6663197 * r6663186;
        double r6663203 = r6663202 * r6663186;
        double r6663204 = r6663201 * r6663203;
        double r6663205 = r6663199 + r6663204;
        double r6663206 = r6663183 * r6663205;
        double r6663207 = fabs(r6663206);
        return r6663207;
}

double f(double x) {
        double r6663208 = x;
        double r6663209 = fabs(r6663208);
        double r6663210 = 7.0;
        double r6663211 = pow(r6663209, r6663210);
        double r6663212 = 0.047619047619047616;
        double r6663213 = r6663211 * r6663212;
        double r6663214 = 0.2;
        double r6663215 = r6663209 * r6663209;
        double r6663216 = r6663215 * r6663209;
        double r6663217 = r6663216 * r6663209;
        double r6663218 = r6663209 * r6663217;
        double r6663219 = r6663214 * r6663218;
        double r6663220 = 2.0;
        double r6663221 = r6663209 * r6663220;
        double r6663222 = 0.6666666666666666;
        double r6663223 = r6663216 * r6663222;
        double r6663224 = r6663221 + r6663223;
        double r6663225 = r6663219 + r6663224;
        double r6663226 = r6663213 + r6663225;
        double r6663227 = 1.0;
        double r6663228 = atan2(1.0, 0.0);
        double r6663229 = sqrt(r6663228);
        double r6663230 = r6663227 / r6663229;
        double r6663231 = r6663226 * r6663230;
        double r6663232 = fabs(r6663231);
        return r6663232;
}

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. Taylor expanded around 0 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}{21} \cdot {\left(\left|x\right|\right)}^{7}}\right)\right|\]
  3. Final simplification0.2

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

Reproduce

herbie shell --seed 2019129 +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)))))))