Average Error: 0.0 → 0.0
Time: 5.4s
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 + \frac{\left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{\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 + \frac{\left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{\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 r55144 = 1.0;
        double r55145 = 2.0;
        double r55146 = t;
        double r55147 = r55145 / r55146;
        double r55148 = r55144 / r55146;
        double r55149 = r55144 + r55148;
        double r55150 = r55147 / r55149;
        double r55151 = r55145 - r55150;
        double r55152 = r55151 * r55151;
        double r55153 = r55145 + r55152;
        double r55154 = r55144 / r55153;
        double r55155 = r55144 - r55154;
        return r55155;
}

double f(double t) {
        double r55156 = 1.0;
        double r55157 = 2.0;
        double r55158 = r55157 * r55157;
        double r55159 = t;
        double r55160 = r55157 / r55159;
        double r55161 = r55156 / r55159;
        double r55162 = r55156 + r55161;
        double r55163 = r55160 / r55162;
        double r55164 = r55163 * r55163;
        double r55165 = r55158 - r55164;
        double r55166 = r55165 * r55165;
        double r55167 = r55157 + r55163;
        double r55168 = r55167 * r55167;
        double r55169 = r55166 / r55168;
        double r55170 = r55157 + r55169;
        double r55171 = r55156 / r55170;
        double r55172 = r55156 - r55171;
        return r55172;
}

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. Using strategy rm
  3. Applied flip--0.0

    \[\leadsto 1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \color{blue}{\frac{2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}}}}\]
  4. Applied flip--0.0

    \[\leadsto 1 - \frac{1}{2 + \color{blue}{\frac{2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}}} \cdot \frac{2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}}}\]
  5. Applied frac-times0.0

    \[\leadsto 1 - \frac{1}{2 + \color{blue}{\frac{\left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{\left(2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}}}\]
  6. Final simplification0.0

    \[\leadsto 1 - \frac{1}{2 + \frac{\left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 \cdot 2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}} \cdot \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{\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 2019353 +o rules:numerics
(FPCore (t)
  :name "Kahan p13 Example 3"
  :precision binary64
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))