Average Error: 0.0 → 0.0
Time: 12.2s
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}{\left(2 - \frac{2}{t \cdot 1 + 1}\right) \cdot \left(2 - \frac{2}{t \cdot 1 + 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}{\left(2 - \frac{2}{t \cdot 1 + 1}\right) \cdot \left(2 - \frac{2}{t \cdot 1 + 1}\right) + 2}
double f(double t) {
        double r22618 = 1.0;
        double r22619 = 2.0;
        double r22620 = t;
        double r22621 = r22619 / r22620;
        double r22622 = r22618 / r22620;
        double r22623 = r22618 + r22622;
        double r22624 = r22621 / r22623;
        double r22625 = r22619 - r22624;
        double r22626 = r22625 * r22625;
        double r22627 = r22619 + r22626;
        double r22628 = r22618 / r22627;
        double r22629 = r22618 - r22628;
        return r22629;
}

double f(double t) {
        double r22630 = 1.0;
        double r22631 = 2.0;
        double r22632 = t;
        double r22633 = r22632 * r22630;
        double r22634 = r22633 + r22630;
        double r22635 = r22631 / r22634;
        double r22636 = r22631 - r22635;
        double r22637 = r22636 * r22636;
        double r22638 = r22637 + r22631;
        double r22639 = r22630 / r22638;
        double r22640 = r22630 - r22639;
        return r22640;
}

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

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

Reproduce

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