Average Error: 0.0 → 0.0
Time: 9.1s
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}{2 \cdot 2 - {\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{4}} \cdot \left(2 - \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\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}{2 \cdot 2 - {\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{4}} \cdot \left(2 - \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\right)
double f(double t) {
        double r29666 = 1.0;
        double r29667 = 2.0;
        double r29668 = t;
        double r29669 = r29667 / r29668;
        double r29670 = r29666 / r29668;
        double r29671 = r29666 + r29670;
        double r29672 = r29669 / r29671;
        double r29673 = r29667 - r29672;
        double r29674 = r29673 * r29673;
        double r29675 = r29667 + r29674;
        double r29676 = r29666 / r29675;
        double r29677 = r29666 - r29676;
        return r29677;
}

double f(double t) {
        double r29678 = 1.0;
        double r29679 = 2.0;
        double r29680 = r29679 * r29679;
        double r29681 = t;
        double r29682 = r29679 / r29681;
        double r29683 = r29678 / r29681;
        double r29684 = r29678 + r29683;
        double r29685 = r29682 / r29684;
        double r29686 = r29679 - r29685;
        double r29687 = 4.0;
        double r29688 = pow(r29686, r29687);
        double r29689 = r29680 - r29688;
        double r29690 = r29678 / r29689;
        double r29691 = r29686 * r29686;
        double r29692 = r29679 - r29691;
        double r29693 = r29690 * r29692;
        double r29694 = r29678 - r29693;
        return r29694;
}

Error

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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. Using strategy rm
  3. Applied flip-+0.0

    \[\leadsto 1 - \frac{1}{\color{blue}{\frac{2 \cdot 2 - \left(\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\right) \cdot \left(\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\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)}}}\]
  4. Applied associate-/r/0.0

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

    \[\leadsto 1 - \color{blue}{\frac{1}{2 \cdot 2 - {\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{\left(3 + 1\right)}}} \cdot \left(2 - \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\right)\]
  6. Final simplification0.0

    \[\leadsto 1 - \frac{1}{2 \cdot 2 - {\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{4}} \cdot \left(2 - \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\right)\]

Reproduce

herbie shell --seed 2019209 
(FPCore (t)
  :name "Kahan p13 Example 3"
  :precision binary64
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))