Average Error: 0.0 → 0.0
Time: 9.8s
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}{\frac{2 \cdot 2 - \frac{2}{1 \cdot t + 1} \cdot \frac{2}{1 \cdot t + 1}}{2 + \frac{2}{1 \cdot t + 1}} \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}\]
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}{\frac{2 \cdot 2 - \frac{2}{1 \cdot t + 1} \cdot \frac{2}{1 \cdot t + 1}}{2 + \frac{2}{1 \cdot t + 1}} \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}
double f(double t) {
        double r1998902 = 1.0;
        double r1998903 = 2.0;
        double r1998904 = t;
        double r1998905 = r1998903 / r1998904;
        double r1998906 = r1998902 / r1998904;
        double r1998907 = r1998902 + r1998906;
        double r1998908 = r1998905 / r1998907;
        double r1998909 = r1998903 - r1998908;
        double r1998910 = r1998909 * r1998909;
        double r1998911 = r1998903 + r1998910;
        double r1998912 = r1998902 / r1998911;
        double r1998913 = r1998902 - r1998912;
        return r1998913;
}

double f(double t) {
        double r1998914 = 1.0;
        double r1998915 = 2.0;
        double r1998916 = r1998915 * r1998915;
        double r1998917 = t;
        double r1998918 = r1998914 * r1998917;
        double r1998919 = r1998918 + r1998914;
        double r1998920 = r1998915 / r1998919;
        double r1998921 = r1998920 * r1998920;
        double r1998922 = r1998916 - r1998921;
        double r1998923 = r1998915 + r1998920;
        double r1998924 = r1998922 / r1998923;
        double r1998925 = r1998915 - r1998920;
        double r1998926 = r1998924 * r1998925;
        double r1998927 = r1998926 + r1998915;
        double r1998928 = r1998914 / r1998927;
        double r1998929 = r1998914 - r1998928;
        return r1998929;
}

Error

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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

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

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

Reproduce

herbie shell --seed 2019179 
(FPCore (t)
  :name "Kahan p13 Example 3"
  (- 1.0 (/ 1.0 (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))))))