Average Error: 0.0 → 0.1
Time: 21.1s
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}{\frac{\mathsf{fma}\left(2, 2, -{\left(\sqrt[3]{\frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)}^{6}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}} + 2}\]
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}{\frac{\mathsf{fma}\left(2, 2, -{\left(\sqrt[3]{\frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)}^{6}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}} + 2}
double f(double t) {
        double r56205 = 1.0;
        double r56206 = 2.0;
        double r56207 = t;
        double r56208 = r56206 / r56207;
        double r56209 = r56205 / r56207;
        double r56210 = r56205 + r56209;
        double r56211 = r56208 / r56210;
        double r56212 = r56206 - r56211;
        double r56213 = r56212 * r56212;
        double r56214 = r56206 + r56213;
        double r56215 = r56205 / r56214;
        double r56216 = r56205 - r56215;
        return r56216;
}

double f(double t) {
        double r56217 = 1.0;
        double r56218 = 2.0;
        double r56219 = t;
        double r56220 = r56218 / r56219;
        double r56221 = r56217 / r56219;
        double r56222 = r56217 + r56221;
        double r56223 = r56220 / r56222;
        double r56224 = cbrt(r56223);
        double r56225 = 6.0;
        double r56226 = pow(r56224, r56225);
        double r56227 = -r56226;
        double r56228 = fma(r56218, r56218, r56227);
        double r56229 = r56218 - r56223;
        double r56230 = r56228 * r56229;
        double r56231 = r56218 + r56223;
        double r56232 = r56230 / r56231;
        double r56233 = r56232 + r56218;
        double r56234 = r56217 / r56233;
        double r56235 = r56217 - r56234;
        return r56235;
}

Error

Bits error versus t

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.1

    \[\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 \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
  4. Applied associate-*l/0.1

    \[\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 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}}}}\]
  5. Simplified0.1

    \[\leadsto 1 - \frac{1}{2 + \frac{\color{blue}{\mathsf{fma}\left(2, 2, -{\left(\sqrt[3]{\frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)}^{\left(2 \cdot 3\right)}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}}}\]
  6. Final simplification0.1

    \[\leadsto 1 - \frac{1}{\frac{\mathsf{fma}\left(2, 2, -{\left(\sqrt[3]{\frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)}^{6}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \frac{\frac{2}{t}}{1 + \frac{1}{t}}} + 2}\]

Reproduce

herbie shell --seed 2019323 +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)))))))))