Average Error: 0.0 → 0.0
Time: 6.6s
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(\left(\sqrt[3]{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}} \cdot \sqrt[3]{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right) \cdot \sqrt[3]{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(\left(\sqrt[3]{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}} \cdot \sqrt[3]{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right) \cdot \sqrt[3]{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 r55230 = 1.0;
        double r55231 = 2.0;
        double r55232 = t;
        double r55233 = r55231 / r55232;
        double r55234 = r55230 / r55232;
        double r55235 = r55230 + r55234;
        double r55236 = r55233 / r55235;
        double r55237 = r55231 - r55236;
        double r55238 = r55237 * r55237;
        double r55239 = r55231 + r55238;
        double r55240 = r55230 / r55239;
        double r55241 = r55230 - r55240;
        return r55241;
}

double f(double t) {
        double r55242 = 1.0;
        double r55243 = 2.0;
        double r55244 = t;
        double r55245 = r55243 / r55244;
        double r55246 = r55242 / r55244;
        double r55247 = r55242 + r55246;
        double r55248 = r55245 / r55247;
        double r55249 = r55243 - r55248;
        double r55250 = cbrt(r55249);
        double r55251 = r55250 * r55250;
        double r55252 = r55251 * r55250;
        double r55253 = r55252 * r55249;
        double r55254 = r55243 + r55253;
        double r55255 = r55242 / r55254;
        double r55256 = r55242 - r55255;
        return r55256;
}

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 add-cube-cbrt0.0

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

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