Average Error: 0.0 → 0.0
Time: 9.0s
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}{t \cdot 1 + 1}\right) \cdot \left(2 - \frac{2}{t \cdot 1 + 1}\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{2}{t \cdot 1 + 1}\right) \cdot \left(2 - \frac{2}{t \cdot 1 + 1}\right)}
double f(double t) {
        double r37800 = 1.0;
        double r37801 = 2.0;
        double r37802 = t;
        double r37803 = r37801 / r37802;
        double r37804 = r37800 / r37802;
        double r37805 = r37800 + r37804;
        double r37806 = r37803 / r37805;
        double r37807 = r37801 - r37806;
        double r37808 = r37807 * r37807;
        double r37809 = r37801 + r37808;
        double r37810 = r37800 / r37809;
        double r37811 = r37800 - r37810;
        return r37811;
}

double f(double t) {
        double r37812 = 1.0;
        double r37813 = 2.0;
        double r37814 = t;
        double r37815 = r37814 * r37812;
        double r37816 = r37815 + r37812;
        double r37817 = r37813 / r37816;
        double r37818 = r37813 - r37817;
        double r37819 = r37818 * r37818;
        double r37820 = r37813 + r37819;
        double r37821 = r37812 / r37820;
        double r37822 = r37812 - r37821;
        return r37822;
}

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

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

Reproduce

herbie shell --seed 2019199 
(FPCore (t)
  :name "Kahan p13 Example 3"
  (- 1.0 (/ 1.0 (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))))))