Average Error: 0.2 → 0.1
Time: 5.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 \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \frac{1}{21}\right)\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\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 \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \frac{1}{21}\right)\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right|
double f(double x) {
        double r109757 = 1.0;
        double r109758 = atan2(1.0, 0.0);
        double r109759 = sqrt(r109758);
        double r109760 = r109757 / r109759;
        double r109761 = 2.0;
        double r109762 = x;
        double r109763 = fabs(r109762);
        double r109764 = r109761 * r109763;
        double r109765 = 3.0;
        double r109766 = r109761 / r109765;
        double r109767 = r109763 * r109763;
        double r109768 = r109767 * r109763;
        double r109769 = r109766 * r109768;
        double r109770 = r109764 + r109769;
        double r109771 = 5.0;
        double r109772 = r109757 / r109771;
        double r109773 = r109768 * r109763;
        double r109774 = r109773 * r109763;
        double r109775 = r109772 * r109774;
        double r109776 = r109770 + r109775;
        double r109777 = 21.0;
        double r109778 = r109757 / r109777;
        double r109779 = r109774 * r109763;
        double r109780 = r109779 * r109763;
        double r109781 = r109778 * r109780;
        double r109782 = r109776 + r109781;
        double r109783 = r109760 * r109782;
        double r109784 = fabs(r109783);
        return r109784;
}

double f(double x) {
        double r109785 = 1.0;
        double r109786 = atan2(1.0, 0.0);
        double r109787 = sqrt(r109786);
        double r109788 = r109785 / r109787;
        double r109789 = 5.0;
        double r109790 = r109785 / r109789;
        double r109791 = x;
        double r109792 = fabs(r109791);
        double r109793 = 3.0;
        double r109794 = pow(r109792, r109793);
        double r109795 = r109790 * r109794;
        double r109796 = r109795 * r109792;
        double r109797 = 2.0;
        double r109798 = 3.0;
        double r109799 = r109797 / r109798;
        double r109800 = r109794 * r109799;
        double r109801 = fma(r109792, r109797, r109800);
        double r109802 = fma(r109796, r109792, r109801);
        double r109803 = r109788 * r109802;
        double r109804 = 1.0;
        double r109805 = sqrt(r109787);
        double r109806 = r109804 / r109805;
        double r109807 = r109785 / r109805;
        double r109808 = 21.0;
        double r109809 = r109785 / r109808;
        double r109810 = r109807 * r109809;
        double r109811 = r109806 * r109810;
        double r109812 = 6.0;
        double r109813 = pow(r109792, r109812);
        double r109814 = r109811 * r109813;
        double r109815 = r109814 * r109792;
        double r109816 = r109803 + r109815;
        double r109817 = fabs(r109816);
        return r109817;
}

Error

Bits error versus x

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 distribute-lft-in0.2

    \[\leadsto \left|\color{blue}{\frac{1}{\sqrt{\pi}} \cdot \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}{\sqrt{\pi}} \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|\]
  4. Simplified0.2

    \[\leadsto \left|\color{blue}{\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right)} + \frac{1}{\sqrt{\pi}} \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|\]
  5. Simplified0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \color{blue}{\left(\left(\frac{1}{\sqrt{\pi}} \cdot \frac{1}{21}\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|}\right|\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\left(\frac{1}{\sqrt{\color{blue}{\sqrt{\pi} \cdot \sqrt{\pi}}}} \cdot \frac{1}{21}\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right|\]
  8. Applied sqrt-prod0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\left(\frac{1}{\color{blue}{\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}}} \cdot \frac{1}{21}\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right|\]
  9. Applied *-un-lft-identity0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\left(\frac{\color{blue}{1 \cdot 1}}{\sqrt{\sqrt{\pi}} \cdot \sqrt{\sqrt{\pi}}} \cdot \frac{1}{21}\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right|\]
  10. Applied times-frac0.2

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\left(\color{blue}{\left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \frac{1}{\sqrt{\sqrt{\pi}}}\right)} \cdot \frac{1}{21}\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right|\]
  11. Applied associate-*l*0.1

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\color{blue}{\left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \frac{1}{21}\right)\right)} \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right|\]
  12. Final simplification0.1

    \[\leadsto \left|\frac{1}{\sqrt{\pi}} \cdot \mathsf{fma}\left(\left(\frac{1}{5} \cdot {\left(\left|x\right|\right)}^{3}\right) \cdot \left|x\right|, \left|x\right|, \mathsf{fma}\left(\left|x\right|, 2, {\left(\left|x\right|\right)}^{3} \cdot \frac{2}{3}\right)\right) + \left(\left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \left(\frac{1}{\sqrt{\sqrt{\pi}}} \cdot \frac{1}{21}\right)\right) \cdot {\left(\left|x\right|\right)}^{6}\right) \cdot \left|x\right|\right|\]

Reproduce

herbie shell --seed 2020064 +o rules:numerics
(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)))))))