Average Error: 0.2 → 0.2
Time: 35.7s
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(\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) + 1 \cdot \left(\left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\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(\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) + 1 \cdot \left(\left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right|
double f(double x) {
        double r157786 = 1.0;
        double r157787 = atan2(1.0, 0.0);
        double r157788 = sqrt(r157787);
        double r157789 = r157786 / r157788;
        double r157790 = 2.0;
        double r157791 = x;
        double r157792 = fabs(r157791);
        double r157793 = r157790 * r157792;
        double r157794 = 3.0;
        double r157795 = r157790 / r157794;
        double r157796 = r157792 * r157792;
        double r157797 = r157796 * r157792;
        double r157798 = r157795 * r157797;
        double r157799 = r157793 + r157798;
        double r157800 = 5.0;
        double r157801 = r157786 / r157800;
        double r157802 = r157797 * r157792;
        double r157803 = r157802 * r157792;
        double r157804 = r157801 * r157803;
        double r157805 = r157799 + r157804;
        double r157806 = 21.0;
        double r157807 = r157786 / r157806;
        double r157808 = r157803 * r157792;
        double r157809 = r157808 * r157792;
        double r157810 = r157807 * r157809;
        double r157811 = r157805 + r157810;
        double r157812 = r157789 * r157811;
        double r157813 = fabs(r157812);
        return r157813;
}

double f(double x) {
        double r157814 = 1.0;
        double r157815 = atan2(1.0, 0.0);
        double r157816 = sqrt(r157815);
        double r157817 = r157814 / r157816;
        double r157818 = 2.0;
        double r157819 = x;
        double r157820 = fabs(r157819);
        double r157821 = r157818 * r157820;
        double r157822 = 3.0;
        double r157823 = r157818 / r157822;
        double r157824 = r157820 * r157820;
        double r157825 = r157824 * r157820;
        double r157826 = r157823 * r157825;
        double r157827 = r157821 + r157826;
        double r157828 = 5.0;
        double r157829 = r157814 / r157828;
        double r157830 = r157825 * r157820;
        double r157831 = r157830 * r157820;
        double r157832 = r157829 * r157831;
        double r157833 = r157827 + r157832;
        double r157834 = 1.0;
        double r157835 = 21.0;
        double r157836 = r157814 / r157835;
        double r157837 = 6.0;
        double r157838 = pow(r157820, r157837);
        double r157839 = r157836 * r157838;
        double r157840 = r157839 * r157820;
        double r157841 = r157834 * r157840;
        double r157842 = r157833 + r157841;
        double r157843 = r157817 * r157842;
        double r157844 = fabs(r157843);
        return r157844;
}

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 *-un-lft-identity0.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}{\left(1 \cdot \frac{1}{21}\right)} \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|\]
  4. Applied associate-*l*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}{1 \cdot \left(\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)\right|\]
  5. Simplified0.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) + 1 \cdot \color{blue}{\left(\left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)}\right)\right|\]
  6. Final simplification0.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) + 1 \cdot \left(\left(\frac{1}{21} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right)\right)\right|\]

Reproduce

herbie shell --seed 2019297 
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  :precision binary64
  (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)))))))