Average Error: 0.0 → 0.0
Time: 2.2s
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{\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{\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{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}
double f(double t) {
        double r31208 = 1.0;
        double r31209 = 2.0;
        double r31210 = t;
        double r31211 = r31209 / r31210;
        double r31212 = r31208 / r31210;
        double r31213 = r31208 + r31212;
        double r31214 = r31211 / r31213;
        double r31215 = r31209 - r31214;
        double r31216 = r31215 * r31215;
        double r31217 = r31209 + r31216;
        double r31218 = r31208 / r31217;
        double r31219 = r31208 - r31218;
        return r31219;
}

double f(double t) {
        double r31220 = 1.0;
        double r31221 = 2.0;
        double r31222 = t;
        double r31223 = r31221 / r31222;
        double r31224 = r31220 / r31222;
        double r31225 = r31220 + r31224;
        double r31226 = r31223 / r31225;
        double r31227 = r31221 - r31226;
        double r31228 = r31227 * r31227;
        double r31229 = r31221 + r31228;
        double r31230 = r31220 / r31229;
        double r31231 = r31220 - r31230;
        return r31231;
}

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. Final simplification0.0

    \[\leadsto 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)}\]

Reproduce

herbie shell --seed 2020036 
(FPCore (t)
  :name "Kahan p13 Example 3"
  :precision binary64
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))