Average Error: 13.3 → 12.5
Time: 2.1min
Precision: binary64
\[1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
\[\begin{array}{l} t_0 := \mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)\\ t_1 := \frac{1.061405429}{t_0} - 1.453152027\\ t_2 := t_0 \cdot e^{x \cdot x}\\ t_3 := \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{t_1}{t_0}}{t_0}}{t_0}}{t_2}\\ \frac{\log \left(\frac{e}{e^{{\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\log \left(e^{t_1}\right)}{t_0}}{t_0}}{t_0}}{t_2}\right)}^{3}}}\right)}{1 + t_3 \cdot \left(1 + t_3\right)} \end{array} \]
1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|}
\begin{array}{l}
t_0 := \mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)\\
t_1 := \frac{1.061405429}{t_0} - 1.453152027\\
t_2 := t_0 \cdot e^{x \cdot x}\\
t_3 := \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{t_1}{t_0}}{t_0}}{t_0}}{t_2}\\
\frac{\log \left(\frac{e}{e^{{\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\log \left(e^{t_1}\right)}{t_0}}{t_0}}{t_0}}{t_2}\right)}^{3}}}\right)}{1 + t_3 \cdot \left(1 + t_3\right)}
\end{array}
(FPCore (x)
 :precision binary64
 (-
  1.0
  (*
   (*
    (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
    (+
     0.254829592
     (*
      (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
      (+
       -0.284496736
       (*
        (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
        (+
         1.421413741
         (*
          (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x))))
          (+
           -1.453152027
           (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429)))))))))
   (exp (- (* (fabs x) (fabs x)))))))
(FPCore (x)
 :precision binary64
 (let* ((t_0 (fma 0.3275911 (fabs x) 1.0))
        (t_1 (- (/ 1.061405429 t_0) 1.453152027))
        (t_2 (* t_0 (exp (* x x))))
        (t_3
         (/
          (+
           0.254829592
           (/ (+ -0.284496736 (/ (+ 1.421413741 (/ t_1 t_0)) t_0)) t_0))
          t_2)))
   (/
    (log
     (/
      E
      (exp
       (pow
        (/
         (+
          0.254829592
          (/
           (+ -0.284496736 (/ (+ 1.421413741 (/ (log (exp t_1)) t_0)) t_0))
           t_0))
         t_2)
        3.0))))
    (+ 1.0 (* t_3 (+ 1.0 t_3))))))
double code(double x) {
	return 1.0 - (((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (0.254829592 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (-0.284496736 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (1.421413741 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * (-1.453152027 + ((1.0 / (1.0 + (0.3275911 * fabs(x)))) * 1.061405429))))))))) * exp(-(fabs(x) * fabs(x))));
}
double code(double x) {
	double t_0 = fma(0.3275911, fabs(x), 1.0);
	double t_1 = (1.061405429 / t_0) - 1.453152027;
	double t_2 = t_0 * exp(x * x);
	double t_3 = (0.254829592 + ((-0.284496736 + ((1.421413741 + (t_1 / t_0)) / t_0)) / t_0)) / t_2;
	return log(((double) M_E) / exp(pow(((0.254829592 + ((-0.284496736 + ((1.421413741 + (log(exp(t_1)) / t_0)) / t_0)) / t_0)) / t_2), 3.0))) / (1.0 + (t_3 * (1.0 + t_3)));
}

Error

Bits error versus x

Derivation

  1. Initial program 13.3

    \[1 - \left(\frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(0.254829592 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-0.284496736 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(1.421413741 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot \left(-1.453152027 + \frac{1}{1 + 0.3275911 \cdot \left|x\right|} \cdot 1.061405429\right)\right)\right)\right)\right) \cdot e^{-\left|x\right| \cdot \left|x\right|} \]
  2. Simplified13.3

    \[\leadsto \color{blue}{1 - \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}} \]
  3. Applied flip3--_binary6413.3

    \[\leadsto \color{blue}{\frac{{1}^{3} - {\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}{1 \cdot 1 + \left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} + 1 \cdot \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}} \]
  4. Simplified13.3

    \[\leadsto \frac{\color{blue}{1 - {\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}}{1 \cdot 1 + \left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} + 1 \cdot \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{-1.453152027 + \frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)} \]
  5. Simplified13.3

    \[\leadsto \frac{1 - {\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}{\color{blue}{1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \left(1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}} \]
  6. Applied add-log-exp_binary6413.3

    \[\leadsto \frac{1 - \color{blue}{\log \left(e^{{\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}\right)}}{1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \left(1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)} \]
  7. Applied add-log-exp_binary6413.3

    \[\leadsto \frac{\color{blue}{\log \left(e^{1}\right)} - \log \left(e^{{\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}\right)}{1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \left(1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)} \]
  8. Applied diff-log_binary6412.5

    \[\leadsto \frac{\color{blue}{\log \left(\frac{e^{1}}{e^{{\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}}\right)}}{1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \left(1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)} \]
  9. Applied add-log-exp_binary6412.5

    \[\leadsto \frac{\log \left(\frac{e^{1}}{e^{{\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\color{blue}{\log \left(e^{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}}\right)}{1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \left(1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)} \]
  10. Final simplification12.5

    \[\leadsto \frac{\log \left(\frac{e}{e^{{\left(\frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\log \left(e^{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}\right)}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)}^{3}}}\right)}{1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}} \cdot \left(1 + \frac{0.254829592 + \frac{-0.284496736 + \frac{1.421413741 + \frac{\frac{1.061405429}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)} - 1.453152027}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right)}}{\mathsf{fma}\left(0.3275911, \left|x\right|, 1\right) \cdot e^{x \cdot x}}\right)} \]

Reproduce

herbie shell --seed 2021275 
(FPCore (x)
  :name "Jmat.Real.erf"
  :precision binary64
  (- 1.0 (* (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 0.254829592 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -0.284496736 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ 1.421413741 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) (+ -1.453152027 (* (/ 1.0 (+ 1.0 (* 0.3275911 (fabs x)))) 1.061405429))))))))) (exp (- (* (fabs x) (fabs x)))))))