Average Error: 0.0 → 0.0
Time: 7.9s
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 + 1 \cdot t}\right) \cdot \left(2 - \frac{2}{1 + 1 \cdot 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 + 1 \cdot t}\right) \cdot \left(2 - \frac{2}{1 + 1 \cdot t}\right)}
double f(double t) {
        double r26429 = 1.0;
        double r26430 = 2.0;
        double r26431 = t;
        double r26432 = r26430 / r26431;
        double r26433 = r26429 / r26431;
        double r26434 = r26429 + r26433;
        double r26435 = r26432 / r26434;
        double r26436 = r26430 - r26435;
        double r26437 = r26436 * r26436;
        double r26438 = r26430 + r26437;
        double r26439 = r26429 / r26438;
        double r26440 = r26429 - r26439;
        return r26440;
}

double f(double t) {
        double r26441 = 1.0;
        double r26442 = 2.0;
        double r26443 = t;
        double r26444 = r26441 * r26443;
        double r26445 = r26441 + r26444;
        double r26446 = r26442 / r26445;
        double r26447 = r26442 - r26446;
        double r26448 = r26447 * r26447;
        double r26449 = r26442 + r26448;
        double r26450 = r26441 / r26449;
        double r26451 = r26441 - r26450;
        return r26451;
}

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

Reproduce

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