Average Error: 0.0 → 0.0
Time: 1.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 r30107 = 1.0;
        double r30108 = 2.0;
        double r30109 = t;
        double r30110 = r30108 / r30109;
        double r30111 = r30107 / r30109;
        double r30112 = r30107 + r30111;
        double r30113 = r30110 / r30112;
        double r30114 = r30108 - r30113;
        double r30115 = r30114 * r30114;
        double r30116 = r30108 + r30115;
        double r30117 = r30107 / r30116;
        double r30118 = r30107 - r30117;
        return r30118;
}

double f(double t) {
        double r30119 = 1.0;
        double r30120 = 2.0;
        double r30121 = t;
        double r30122 = r30120 / r30121;
        double r30123 = r30119 / r30121;
        double r30124 = r30119 + r30123;
        double r30125 = r30122 / r30124;
        double r30126 = r30120 - r30125;
        double r30127 = r30126 * r30126;
        double r30128 = r30120 + r30127;
        double r30129 = r30119 / r30128;
        double r30130 = r30119 - r30129;
        return r30130;
}

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