Average Error: 0.0 → 0.0
Time: 10.5s
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 r107427 = 1.0;
        double r107428 = 2.0;
        double r107429 = t;
        double r107430 = r107428 / r107429;
        double r107431 = r107427 / r107429;
        double r107432 = r107427 + r107431;
        double r107433 = r107430 / r107432;
        double r107434 = r107428 - r107433;
        double r107435 = r107434 * r107434;
        double r107436 = r107428 + r107435;
        double r107437 = r107427 / r107436;
        double r107438 = r107427 - r107437;
        return r107438;
}

double f(double t) {
        double r107439 = 1.0;
        double r107440 = 2.0;
        double r107441 = t;
        double r107442 = r107440 / r107441;
        double r107443 = r107439 / r107441;
        double r107444 = r107439 + r107443;
        double r107445 = r107442 / r107444;
        double r107446 = r107440 - r107445;
        double r107447 = r107446 * r107446;
        double r107448 = r107440 + r107447;
        double r107449 = r107439 / r107448;
        double r107450 = r107439 - r107449;
        return r107450;
}

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