Average Error: 0.0 → 0.0
Time: 25.3s
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}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, \sqrt[3]{\left(2 - \frac{2}{1 + t}\right) \cdot \left(\left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)\right)}, 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 - \frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, \sqrt[3]{\left(2 - \frac{2}{1 + t}\right) \cdot \left(\left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)\right)}, 2\right)}
double f(double t) {
        double r1379408 = 1.0;
        double r1379409 = 2.0;
        double r1379410 = t;
        double r1379411 = r1379409 / r1379410;
        double r1379412 = r1379408 / r1379410;
        double r1379413 = r1379408 + r1379412;
        double r1379414 = r1379411 / r1379413;
        double r1379415 = r1379409 - r1379414;
        double r1379416 = r1379415 * r1379415;
        double r1379417 = r1379409 + r1379416;
        double r1379418 = r1379408 / r1379417;
        double r1379419 = r1379408 - r1379418;
        return r1379419;
}

double f(double t) {
        double r1379420 = 1.0;
        double r1379421 = 2.0;
        double r1379422 = t;
        double r1379423 = r1379420 + r1379422;
        double r1379424 = r1379421 / r1379423;
        double r1379425 = r1379421 - r1379424;
        double r1379426 = r1379425 * r1379425;
        double r1379427 = r1379425 * r1379426;
        double r1379428 = cbrt(r1379427);
        double r1379429 = fma(r1379425, r1379428, r1379421);
        double r1379430 = r1379420 / r1379429;
        double r1379431 = r1379420 - r1379430;
        return r1379431;
}

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}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, \color{blue}{\sqrt[3]{\left(\left(2 - \frac{2}{1 + t}\right) \cdot \left(2 - \frac{2}{1 + t}\right)\right) \cdot \left(2 - \frac{2}{1 + t}\right)}}, 2\right)}\]
  5. Final simplification0.0

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

Reproduce

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