Average Error: 0.0 → 0.0
Time: 25.2s
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]{{\left(\frac{1}{\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)}\right)}^{3}}\]
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]{{\left(\frac{1}{\mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)}\right)}^{3}}
double f(double t) {
        double r42659 = 1.0;
        double r42660 = 2.0;
        double r42661 = t;
        double r42662 = r42660 / r42661;
        double r42663 = r42659 / r42661;
        double r42664 = r42659 + r42663;
        double r42665 = r42662 / r42664;
        double r42666 = r42660 - r42665;
        double r42667 = r42666 * r42666;
        double r42668 = r42660 + r42667;
        double r42669 = r42659 / r42668;
        double r42670 = r42659 - r42669;
        return r42670;
}

double f(double t) {
        double r42671 = 1.0;
        double r42672 = 2.0;
        double r42673 = t;
        double r42674 = fma(r42671, r42673, r42671);
        double r42675 = r42672 / r42674;
        double r42676 = r42672 - r42675;
        double r42677 = fma(r42676, r42676, r42672);
        double r42678 = r42671 / r42677;
        double r42679 = 3.0;
        double r42680 = pow(r42678, r42679);
        double r42681 = cbrt(r42680);
        double r42682 = r42671 - r42681;
        return r42682;
}

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}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 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}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 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}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 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}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)\right) \cdot \mathsf{fma}\left(2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2 - \frac{2}{\mathsf{fma}\left(1, t, 1\right)}, 2\right)}}}\]
  7. Simplified0.0

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

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

Reproduce

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