Average Error: 0.0 → 0.0
Time: 9.3s
Precision: 64
\[\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
\[\frac{\mathsf{fma}\left(\left(\left(-\left(t - 1\right)\right) + \left(t - 1\right)\right) \cdot \frac{2}{\mathsf{fma}\left(t, t, -1\right)} + \mathsf{fma}\left(\frac{-2}{\mathsf{fma}\left(t, t, -1\right)}, t - 1, 2\right), 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}
\frac{\mathsf{fma}\left(\left(\left(-\left(t - 1\right)\right) + \left(t - 1\right)\right) \cdot \frac{2}{\mathsf{fma}\left(t, t, -1\right)} + \mathsf{fma}\left(\frac{-2}{\mathsf{fma}\left(t, t, -1\right)}, t - 1, 2\right), 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}
double f(double t) {
        double r654939 = 1.0;
        double r654940 = 2.0;
        double r654941 = t;
        double r654942 = r654940 / r654941;
        double r654943 = r654939 / r654941;
        double r654944 = r654939 + r654943;
        double r654945 = r654942 / r654944;
        double r654946 = r654940 - r654945;
        double r654947 = r654946 * r654946;
        double r654948 = r654939 + r654947;
        double r654949 = r654940 + r654947;
        double r654950 = r654948 / r654949;
        return r654950;
}

double f(double t) {
        double r654951 = t;
        double r654952 = 1.0;
        double r654953 = r654951 - r654952;
        double r654954 = -r654953;
        double r654955 = r654954 + r654953;
        double r654956 = 2.0;
        double r654957 = -1.0;
        double r654958 = fma(r654951, r654951, r654957);
        double r654959 = r654956 / r654958;
        double r654960 = r654955 * r654959;
        double r654961 = -2.0;
        double r654962 = r654961 / r654958;
        double r654963 = fma(r654962, r654953, r654956);
        double r654964 = r654960 + r654963;
        double r654965 = r654951 + r654952;
        double r654966 = r654956 / r654965;
        double r654967 = r654956 - r654966;
        double r654968 = fma(r654964, r654967, r654952);
        double r654969 = fma(r654967, r654967, r654956);
        double r654970 = r654968 / r654969;
        return r654970;
}

Error

Bits error versus t

Derivation

  1. Initial program 0.0

    \[\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{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}{\frac{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}}\]
  3. Using strategy rm
  4. Applied flip-+0.0

    \[\leadsto \frac{\mathsf{fma}\left(2 - \frac{2}{\color{blue}{\frac{t \cdot t - 1 \cdot 1}{t - 1}}}, 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
  5. Applied associate-/r/0.0

    \[\leadsto \frac{\mathsf{fma}\left(2 - \color{blue}{\frac{2}{t \cdot t - 1 \cdot 1} \cdot \left(t - 1\right)}, 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
  6. Applied add-cube-cbrt0.8

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\left(\sqrt[3]{2} \cdot \sqrt[3]{2}\right) \cdot \sqrt[3]{2}} - \frac{2}{t \cdot t - 1 \cdot 1} \cdot \left(t - 1\right), 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
  7. Applied prod-diff0.8

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

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

    \[\leadsto \frac{\mathsf{fma}\left(\mathsf{fma}\left(\frac{-2}{\mathsf{fma}\left(t, t, -1\right)}, t - 1, 2\right) + \color{blue}{\frac{2}{\mathsf{fma}\left(t, t, -1\right)} \cdot \left(\left(-\left(t - 1\right)\right) + \left(t - 1\right)\right)}, 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
  10. Final simplification0.0

    \[\leadsto \frac{\mathsf{fma}\left(\left(\left(-\left(t - 1\right)\right) + \left(t - 1\right)\right) \cdot \frac{2}{\mathsf{fma}\left(t, t, -1\right)} + \mathsf{fma}\left(\frac{-2}{\mathsf{fma}\left(t, t, -1\right)}, t - 1, 2\right), 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]

Reproduce

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