Average Error: 0.0 → 0.0
Time: 12.4s
Precision: 64
\[1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
\[1 - \frac{1}{\sqrt[3]{{\left(\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)\right)}^{3}}}\]
1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}
1 - \frac{1}{\sqrt[3]{{\left(\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)\right)}^{3}}}
double f(double t) {
        double r54892 = 1.0;
        double r54893 = 2.0;
        double r54894 = t;
        double r54895 = r54893 / r54894;
        double r54896 = r54892 / r54894;
        double r54897 = r54892 + r54896;
        double r54898 = r54895 / r54897;
        double r54899 = r54893 - r54898;
        double r54900 = r54899 * r54899;
        double r54901 = r54893 + r54900;
        double r54902 = r54892 / r54901;
        double r54903 = r54892 - r54902;
        return r54903;
}

double f(double t) {
        double r54904 = 1.0;
        double r54905 = 2.0;
        double r54906 = t;
        double r54907 = fma(r54904, r54906, r54904);
        double r54908 = r54905 / r54907;
        double r54909 = r54905 - r54908;
        double r54910 = fma(r54909, r54909, r54905);
        double r54911 = 3.0;
        double r54912 = pow(r54910, r54911);
        double r54913 = cbrt(r54912);
        double r54914 = r54904 / r54913;
        double r54915 = r54904 - r54914;
        return r54915;
}

Error

Bits error versus t

Derivation

  1. Initial program 0.0

    \[1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
  2. Simplified0.0

    \[\leadsto \color{blue}{1 - \frac{1}{\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2\right)}}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube0.0

    \[\leadsto 1 - \frac{1}{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2\right)\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, \frac{1}{1}\right)}, 2\right)}}}\]
  5. Simplified0.0

    \[\leadsto 1 - \frac{1}{\sqrt[3]{\color{blue}{{\left(\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)\right)}^{3}}}}\]
  6. Final simplification0.0

    \[\leadsto 1 - \frac{1}{\sqrt[3]{{\left(\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)\right)}^{3}}}\]

Reproduce

herbie shell --seed 2019235 +o rules:numerics
(FPCore (t)
  :name "Kahan p13 Example 3"
  :precision binary64
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))