Average Error: 0.0 → 0.0
Time: 8.7s
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}{2 + \left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}\]
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}{2 + \left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}
double f(double t) {
        double r677979 = 1.0;
        double r677980 = 2.0;
        double r677981 = t;
        double r677982 = r677980 / r677981;
        double r677983 = r677979 / r677981;
        double r677984 = r677979 + r677983;
        double r677985 = r677982 / r677984;
        double r677986 = r677980 - r677985;
        double r677987 = r677986 * r677986;
        double r677988 = r677980 + r677987;
        double r677989 = r677979 / r677988;
        double r677990 = r677979 - r677989;
        return r677990;
}

double f(double t) {
        double r677991 = 1.0;
        double r677992 = 2.0;
        double r677993 = t;
        double r677994 = r677991 + r677993;
        double r677995 = r677992 / r677994;
        double r677996 = r677992 - r677995;
        double r677997 = r677996 * r677996;
        double r677998 = r677992 + r677997;
        double r677999 = r677991 / r677998;
        double r678000 = r677991 - r677999;
        return r678000;
}

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 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}}\]
  3. Final simplification0.0

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

Reproduce

herbie shell --seed 2019144 
(FPCore (t)
  :name "Kahan p13 Example 3"
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))