Average Error: 0.0 → 0.0
Time: 18.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)}}{\mathsf{fma}\left(\mathsf{expm1}\left(\mathsf{log1p}\left(2 - \frac{2}{1 + t}\right)\right), 2 - \frac{2}{1 + t}, 2\right)} \cdot \frac{1}{\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)}}{\mathsf{fma}\left(\mathsf{expm1}\left(\mathsf{log1p}\left(2 - \frac{2}{1 + t}\right)\right), 2 - \frac{2}{1 + t}, 2\right)} \cdot \frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}
double f(double t) {
        double r1710764 = 1.0;
        double r1710765 = 2.0;
        double r1710766 = t;
        double r1710767 = r1710765 / r1710766;
        double r1710768 = r1710764 / r1710766;
        double r1710769 = r1710764 + r1710768;
        double r1710770 = r1710767 / r1710769;
        double r1710771 = r1710765 - r1710770;
        double r1710772 = r1710771 * r1710771;
        double r1710773 = r1710765 + r1710772;
        double r1710774 = r1710764 / r1710773;
        double r1710775 = r1710764 - r1710774;
        return r1710775;
}

double f(double t) {
        double r1710776 = 1.0;
        double r1710777 = 2.0;
        double r1710778 = t;
        double r1710779 = r1710776 + r1710778;
        double r1710780 = r1710777 / r1710779;
        double r1710781 = r1710777 - r1710780;
        double r1710782 = fma(r1710781, r1710781, r1710777);
        double r1710783 = r1710776 / r1710782;
        double r1710784 = log1p(r1710781);
        double r1710785 = expm1(r1710784);
        double r1710786 = fma(r1710785, r1710781, r1710777);
        double r1710787 = r1710783 / r1710786;
        double r1710788 = r1710787 * r1710783;
        double r1710789 = cbrt(r1710788);
        double r1710790 = r1710776 - r1710789;
        return r1710790;
}

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{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)} \cdot \frac{\frac{1}{\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. Using strategy rm
  9. Applied expm1-log1p-u0.0

    \[\leadsto 1 - \sqrt[3]{\frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)} \cdot \frac{\frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}{\mathsf{fma}\left(\color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(2 - \frac{2}{1 + t}\right)\right)}, 2 - \frac{2}{1 + t}, 2\right)}}\]
  10. 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)}}{\mathsf{fma}\left(\mathsf{expm1}\left(\mathsf{log1p}\left(2 - \frac{2}{1 + t}\right)\right), 2 - \frac{2}{1 + t}, 2\right)} \cdot \frac{1}{\mathsf{fma}\left(2 - \frac{2}{1 + t}, 2 - \frac{2}{1 + t}, 2\right)}}\]

Reproduce

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