Average Error: 0.0 → 0.0
Time: 19.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(\frac{\left(\left(-1 + t\right) + \left(1 - t\right)\right) \cdot 2}{1 - t \cdot t} + \mathsf{fma}\left(\frac{-2}{1 - t \cdot t}, 1 - t, 2\right), 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 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(\frac{\left(\left(-1 + t\right) + \left(1 - t\right)\right) \cdot 2}{1 - t \cdot t} + \mathsf{fma}\left(\frac{-2}{1 - t \cdot t}, 1 - t, 2\right), 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}
double f(double t) {
        double r943984 = 1.0;
        double r943985 = 2.0;
        double r943986 = t;
        double r943987 = r943985 / r943986;
        double r943988 = r943984 / r943986;
        double r943989 = r943984 + r943988;
        double r943990 = r943987 / r943989;
        double r943991 = r943985 - r943990;
        double r943992 = r943991 * r943991;
        double r943993 = r943984 + r943992;
        double r943994 = r943985 + r943992;
        double r943995 = r943993 / r943994;
        return r943995;
}

double f(double t) {
        double r943996 = -1.0;
        double r943997 = t;
        double r943998 = r943996 + r943997;
        double r943999 = 1.0;
        double r944000 = r943999 - r943997;
        double r944001 = r943998 + r944000;
        double r944002 = 2.0;
        double r944003 = r944001 * r944002;
        double r944004 = r943997 * r943997;
        double r944005 = r943999 - r944004;
        double r944006 = r944003 / r944005;
        double r944007 = -2.0;
        double r944008 = r944007 / r944005;
        double r944009 = fma(r944008, r944000, r944002);
        double r944010 = r944006 + r944009;
        double r944011 = r943999 + r943997;
        double r944012 = r944002 / r944011;
        double r944013 = r944002 - r944012;
        double r944014 = fma(r944010, r944013, r943999);
        double r944015 = fma(r944013, r944013, r944002);
        double r944016 = r944014 / r944015;
        return r944016;
}

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

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

    \[\leadsto \frac{\mathsf{fma}\left(2 - \color{blue}{\frac{2}{1 \cdot 1 - t \cdot t} \cdot \left(1 - t\right)}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 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}{1 \cdot 1 - t \cdot t} \cdot \left(1 - t\right), 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 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(1 - t\right) \cdot \frac{2}{1 \cdot 1 - t \cdot t}\right) + \mathsf{fma}\left(-\left(1 - t\right), \frac{2}{1 \cdot 1 - t \cdot t}, \left(1 - t\right) \cdot \frac{2}{1 \cdot 1 - t \cdot t}\right)}, 2 - \frac{2}{1 + t}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}\]
  8. Simplified0.0

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

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

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

Reproduce

herbie shell --seed 2019144 +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))))))))