Average Error: 0.0 → 0.0
Time: 3.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{\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 r48059 = 1.0;
        double r48060 = 2.0;
        double r48061 = t;
        double r48062 = r48060 / r48061;
        double r48063 = r48059 / r48061;
        double r48064 = r48059 + r48063;
        double r48065 = r48062 / r48064;
        double r48066 = r48060 - r48065;
        double r48067 = r48066 * r48066;
        double r48068 = r48060 + r48067;
        double r48069 = r48059 / r48068;
        double r48070 = r48059 - r48069;
        return r48070;
}

double f(double t) {
        double r48071 = 1.0;
        double r48072 = 2.0;
        double r48073 = t;
        double r48074 = r48072 / r48073;
        double r48075 = r48071 / r48073;
        double r48076 = r48071 + r48075;
        double r48077 = r48074 / r48076;
        double r48078 = r48072 - r48077;
        double r48079 = r48078 * r48078;
        double r48080 = r48072 + r48079;
        double r48081 = r48071 / r48080;
        double r48082 = r48071 - r48081;
        return r48082;
}

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