Average Error: 0.0 → 0.0
Time: 1.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{\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{\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{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}
double f(double t) {
        double r61002 = 1.0;
        double r61003 = 2.0;
        double r61004 = t;
        double r61005 = r61003 / r61004;
        double r61006 = r61002 / r61004;
        double r61007 = r61002 + r61006;
        double r61008 = r61005 / r61007;
        double r61009 = r61003 - r61008;
        double r61010 = r61009 * r61009;
        double r61011 = r61003 + r61010;
        double r61012 = r61002 / r61011;
        double r61013 = r61002 - r61012;
        return r61013;
}

double f(double t) {
        double r61014 = 1.0;
        double r61015 = 2.0;
        double r61016 = t;
        double r61017 = r61015 / r61016;
        double r61018 = r61014 / r61016;
        double r61019 = r61014 + r61018;
        double r61020 = r61017 / r61019;
        double r61021 = r61015 - r61020;
        double r61022 = r61021 * r61021;
        double r61023 = r61015 + r61022;
        double r61024 = r61014 / r61023;
        double r61025 = r61014 - r61024;
        return r61025;
}

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. Final simplification0.0

    \[\leadsto 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)}\]

Reproduce

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