Average Error: 0.0 → 0.0
Time: 15.1s
Precision: 64
\[\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}\]
\[\frac{\mathsf{fma}\left(\left(\left(-\left(t - 1\right)\right) + \left(t - 1\right)\right) \cdot \frac{2}{\mathsf{fma}\left(t, t, -1\right)} + \mathsf{fma}\left(\frac{-2}{\mathsf{fma}\left(t, t, -1\right)}, t - 1, 2\right), 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}
\frac{\mathsf{fma}\left(\left(\left(-\left(t - 1\right)\right) + \left(t - 1\right)\right) \cdot \frac{2}{\mathsf{fma}\left(t, t, -1\right)} + \mathsf{fma}\left(\frac{-2}{\mathsf{fma}\left(t, t, -1\right)}, t - 1, 2\right), 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}
double f(double t) {
        double r687643 = 1.0;
        double r687644 = 2.0;
        double r687645 = t;
        double r687646 = r687644 / r687645;
        double r687647 = r687643 / r687645;
        double r687648 = r687643 + r687647;
        double r687649 = r687646 / r687648;
        double r687650 = r687644 - r687649;
        double r687651 = r687650 * r687650;
        double r687652 = r687643 + r687651;
        double r687653 = r687644 + r687651;
        double r687654 = r687652 / r687653;
        return r687654;
}

double f(double t) {
        double r687655 = t;
        double r687656 = 1.0;
        double r687657 = r687655 - r687656;
        double r687658 = -r687657;
        double r687659 = r687658 + r687657;
        double r687660 = 2.0;
        double r687661 = -1.0;
        double r687662 = fma(r687655, r687655, r687661);
        double r687663 = r687660 / r687662;
        double r687664 = r687659 * r687663;
        double r687665 = -2.0;
        double r687666 = r687665 / r687662;
        double r687667 = fma(r687666, r687657, r687660);
        double r687668 = r687664 + r687667;
        double r687669 = r687655 + r687656;
        double r687670 = r687660 / r687669;
        double r687671 = r687660 - r687670;
        double r687672 = fma(r687668, r687671, r687656);
        double r687673 = fma(r687671, r687671, r687660);
        double r687674 = r687672 / r687673;
        return r687674;
}

Error

Bits error versus t

Derivation

  1. Initial program 0.0

    \[\frac{1 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}{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}{\frac{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}}\]
  3. Using strategy rm
  4. Applied flip-+0.0

    \[\leadsto \frac{\mathsf{fma}\left(2 - \frac{2}{\color{blue}{\frac{t \cdot t - 1 \cdot 1}{t - 1}}}, 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
  5. Applied associate-/r/0.0

    \[\leadsto \frac{\mathsf{fma}\left(2 - \color{blue}{\frac{2}{t \cdot t - 1 \cdot 1} \cdot \left(t - 1\right)}, 2 - \frac{2}{t + 1}, 1\right)}{\mathsf{fma}\left(2 - \frac{2}{t + 1}, 2 - \frac{2}{t + 1}, 2\right)}\]
  6. Applied add-cube-cbrt0.8

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

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

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

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

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

Reproduce

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