Average Error: 0.0 → 0.0
Time: 6.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}{\left(2 - \frac{2}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 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}{1 \cdot t + 1}\right) \cdot \left(2 - \frac{2}{1 \cdot t + 1}\right) + 2}
double f(double t) {
        double r29421 = 1.0;
        double r29422 = 2.0;
        double r29423 = t;
        double r29424 = r29422 / r29423;
        double r29425 = r29421 / r29423;
        double r29426 = r29421 + r29425;
        double r29427 = r29424 / r29426;
        double r29428 = r29422 - r29427;
        double r29429 = r29428 * r29428;
        double r29430 = r29422 + r29429;
        double r29431 = r29421 / r29430;
        double r29432 = r29421 - r29431;
        return r29432;
}

double f(double t) {
        double r29433 = 1.0;
        double r29434 = 2.0;
        double r29435 = t;
        double r29436 = r29433 * r29435;
        double r29437 = r29436 + r29433;
        double r29438 = r29434 / r29437;
        double r29439 = r29434 - r29438;
        double r29440 = r29439 * r29439;
        double r29441 = r29440 + r29434;
        double r29442 = r29433 / r29441;
        double r29443 = r29433 - r29442;
        return r29443;
}

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

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

Reproduce

herbie shell --seed 2019194 
(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)))))))))