Average Error: 0.0 → 0.0
Time: 6.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 + \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 r55184 = 1.0;
        double r55185 = 2.0;
        double r55186 = t;
        double r55187 = r55185 / r55186;
        double r55188 = r55184 / r55186;
        double r55189 = r55184 + r55188;
        double r55190 = r55187 / r55189;
        double r55191 = r55185 - r55190;
        double r55192 = r55191 * r55191;
        double r55193 = r55185 + r55192;
        double r55194 = r55184 / r55193;
        double r55195 = r55184 - r55194;
        return r55195;
}

double f(double t) {
        double r55196 = 1.0;
        double r55197 = 2.0;
        double r55198 = t;
        double r55199 = r55197 / r55198;
        double r55200 = r55196 / r55198;
        double r55201 = r55196 + r55200;
        double r55202 = r55199 / r55201;
        double r55203 = r55197 - r55202;
        double r55204 = cbrt(r55203);
        double r55205 = r55204 * r55204;
        double r55206 = r55205 * r55204;
        double r55207 = r55206 * r55203;
        double r55208 = r55197 + r55207;
        double r55209 = r55196 / r55208;
        double r55210 = r55196 - r55209;
        return r55210;
}

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)))))))))