Average Error: 0.0 → 0.0
Time: 14.3s
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)}\]
double f(double t) {
        double r2516588 = 1.0;
        double r2516589 = 2.0;
        double r2516590 = t;
        double r2516591 = r2516589 / r2516590;
        double r2516592 = r2516588 / r2516590;
        double r2516593 = r2516588 + r2516592;
        double r2516594 = r2516591 / r2516593;
        double r2516595 = r2516589 - r2516594;
        double r2516596 = r2516595 * r2516595;
        double r2516597 = r2516589 + r2516596;
        double r2516598 = r2516588 / r2516597;
        double r2516599 = r2516588 - r2516598;
        return r2516599;
}

double f(double t) {
        double r2516600 = 1.0;
        double r2516601 = 2.0;
        double r2516602 = t;
        double r2516603 = r2516600 + r2516602;
        double r2516604 = r2516601 / r2516603;
        double r2516605 = r2516601 - r2516604;
        double r2516606 = r2516605 * r2516605;
        double r2516607 = r2516601 + r2516606;
        double r2516608 = r2516600 / r2516607;
        double r2516609 = r2516600 - r2516608;
        return r2516609;
}

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)}

Error

Bits error versus t

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