Average Error: 0.0 → 0.0
Time: 9.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 - \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 r30599 = 1.0;
        double r30600 = 2.0;
        double r30601 = t;
        double r30602 = r30600 / r30601;
        double r30603 = r30599 / r30601;
        double r30604 = r30599 + r30603;
        double r30605 = r30602 / r30604;
        double r30606 = r30600 - r30605;
        double r30607 = r30606 * r30606;
        double r30608 = r30600 + r30607;
        double r30609 = r30599 / r30608;
        double r30610 = r30599 - r30609;
        return r30610;
}

double f(double t) {
        double r30611 = 1.0;
        double r30612 = 2.0;
        double r30613 = r30612 * r30612;
        double r30614 = t;
        double r30615 = r30612 / r30614;
        double r30616 = r30611 / r30614;
        double r30617 = r30611 + r30616;
        double r30618 = r30615 / r30617;
        double r30619 = r30612 - r30618;
        double r30620 = 4.0;
        double r30621 = pow(r30619, r30620);
        double r30622 = r30613 - r30621;
        double r30623 = r30611 / r30622;
        double r30624 = r30619 * r30619;
        double r30625 = r30612 - r30624;
        double r30626 = r30623 * r30625;
        double r30627 = r30611 - r30626;
        return r30627;
}

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 2019198 
(FPCore (t)
  :name "Kahan p13 Example 3"
  (- 1.0 (/ 1.0 (+ 2.0 (* (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))) (- 2.0 (/ (/ 2.0 t) (+ 1.0 (/ 1.0 t)))))))))