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|\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 r19261576 = 1.0;
        double r19261577 = atan2(1.0, 0.0);
        double r19261578 = sqrt(r19261577);
        double r19261579 = r19261576 / r19261578;
        double r19261580 = 2.0;
        double r19261581 = x;
        double r19261582 = fabs(r19261581);
        double r19261583 = r19261580 * r19261582;
        double r19261584 = 3.0;
        double r19261585 = r19261580 / r19261584;
        double r19261586 = r19261582 * r19261582;
        double r19261587 = r19261586 * r19261582;
        double r19261588 = r19261585 * r19261587;
        double r19261589 = r19261583 + r19261588;
        double r19261590 = 5.0;
        double r19261591 = r19261576 / r19261590;
        double r19261592 = r19261587 * r19261582;
        double r19261593 = r19261592 * r19261582;
        double r19261594 = r19261591 * r19261593;
        double r19261595 = r19261589 + r19261594;
        double r19261596 = 21.0;
        double r19261597 = r19261576 / r19261596;
        double r19261598 = r19261593 * r19261582;
        double r19261599 = r19261598 * r19261582;
        double r19261600 = r19261597 * r19261599;
        double r19261601 = r19261595 + r19261600;
        double r19261602 = r19261579 * r19261601;
        double r19261603 = fabs(r19261602);
        return r19261603;
}

double f(double x) {
        double r19261604 = 1.0;
        double r19261605 = atan2(1.0, 0.0);
        double r19261606 = sqrt(r19261605);
        double r19261607 = r19261604 / r19261606;
        double r19261608 = 0.2;
        double r19261609 = x;
        double r19261610 = fabs(r19261609);
        double r19261611 = r19261610 * r19261610;
        double r19261612 = r19261611 * r19261610;
        double r19261613 = r19261612 * r19261610;
        double r19261614 = r19261610 * r19261613;
        double r19261615 = r19261608 * r19261614;
        double r19261616 = 2.0;
        double r19261617 = r19261610 * r19261616;
        double r19261618 = 0.6666666666666666;
        double r19261619 = r19261612 * r19261618;
        double r19261620 = r19261617 + r19261619;
        double r19261621 = r19261615 + r19261620;
        double r19261622 = r19261610 * r19261614;
        double r19261623 = r19261610 * r19261622;
        double r19261624 = 0.047619047619047616;
        double r19261625 = r19261623 * r19261624;
        double r19261626 = r19261621 + r19261625;
        double r19261627 = r19261607 * r19261626;
        double r19261628 = fabs(r19261627);
        return r19261628;
}

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