Average Error: 0.0 → 0.0
Time: 4.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{2}{1 + t}\right) \cdot \left(2 - \frac{2}{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{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)}
double f(double t) {
        double r459607 = 1.0;
        double r459608 = 2.0;
        double r459609 = t;
        double r459610 = r459608 / r459609;
        double r459611 = r459607 / r459609;
        double r459612 = r459607 + r459611;
        double r459613 = r459610 / r459612;
        double r459614 = r459608 - r459613;
        double r459615 = r459614 * r459614;
        double r459616 = r459608 + r459615;
        double r459617 = r459607 / r459616;
        double r459618 = r459607 - r459617;
        return r459618;
}

double f(double t) {
        double r459619 = 1.0;
        double r459620 = 2.0;
        double r459621 = t;
        double r459622 = r459619 + r459621;
        double r459623 = r459620 / r459622;
        double r459624 = r459620 - r459623;
        double r459625 = r459624 * r459624;
        double r459626 = r459620 + r459625;
        double r459627 = r459619 / r459626;
        double r459628 = r459619 - r459627;
        return r459628;
}

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