Average Error: 0.0 → 0.0
Time: 1.9s
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 r33358 = 1.0;
        double r33359 = 2.0;
        double r33360 = t;
        double r33361 = r33359 / r33360;
        double r33362 = r33358 / r33360;
        double r33363 = r33358 + r33362;
        double r33364 = r33361 / r33363;
        double r33365 = r33359 - r33364;
        double r33366 = r33365 * r33365;
        double r33367 = r33359 + r33366;
        double r33368 = r33358 / r33367;
        double r33369 = r33358 - r33368;
        return r33369;
}

double f(double t) {
        double r33370 = 1.0;
        double r33371 = 2.0;
        double r33372 = t;
        double r33373 = r33371 / r33372;
        double r33374 = r33370 / r33372;
        double r33375 = r33370 + r33374;
        double r33376 = r33373 / r33375;
        double r33377 = r33371 - r33376;
        double r33378 = r33377 * r33377;
        double r33379 = r33371 + r33378;
        double r33380 = r33370 / r33379;
        double r33381 = r33370 - r33380;
        return r33381;
}

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 2020002 
(FPCore (t)
  :name "Kahan p13 Example 3"
  :precision binary64
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))