Average Error: 0.0 → 0.0
Time: 13.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 - \sqrt[3]{\frac{\frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\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 - \sqrt[3]{\frac{\frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}
double f(double t) {
        double r1491429 = 1.0;
        double r1491430 = 2.0;
        double r1491431 = t;
        double r1491432 = r1491430 / r1491431;
        double r1491433 = r1491429 / r1491431;
        double r1491434 = r1491429 + r1491433;
        double r1491435 = r1491432 / r1491434;
        double r1491436 = r1491430 - r1491435;
        double r1491437 = r1491436 * r1491436;
        double r1491438 = r1491430 + r1491437;
        double r1491439 = r1491429 / r1491438;
        double r1491440 = r1491429 - r1491439;
        return r1491440;
}

double f(double t) {
        double r1491441 = 1.0;
        double r1491442 = 2.0;
        double r1491443 = t;
        double r1491444 = r1491441 + r1491443;
        double r1491445 = r1491442 / r1491444;
        double r1491446 = r1491442 - r1491445;
        double r1491447 = fma(r1491446, r1491446, r1491442);
        double r1491448 = r1491447 * r1491447;
        double r1491449 = r1491441 / r1491448;
        double r1491450 = r1491449 / r1491447;
        double r1491451 = cbrt(r1491450);
        double r1491452 = r1491441 - r1491451;
        return r1491452;
}

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. Simplified0.0

    \[\leadsto \color{blue}{1 - \frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube0.0

    \[\leadsto 1 - \frac{1}{\color{blue}{\sqrt[3]{\left(\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}}\]
  5. Applied add-cbrt-cube0.0

    \[\leadsto 1 - \frac{\color{blue}{\sqrt[3]{\left(1 \cdot 1\right) \cdot 1}}}{\sqrt[3]{\left(\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}\]
  6. Applied cbrt-undiv0.0

    \[\leadsto 1 - \color{blue}{\sqrt[3]{\frac{\left(1 \cdot 1\right) \cdot 1}{\left(\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)\right) \cdot \mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}}\]
  7. Simplified0.0

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

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

Reproduce

herbie shell --seed 2019164 +o rules:numerics
(FPCore (t)
  :name "Kahan p13 Example 3"
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))