Average Error: 0.0 → 0.0
Time: 20.8s
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) \cdot {\left(2 - \frac{2}{\left(1 + \frac{1}{t}\right) \cdot t}\right)}^{3}} \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) \cdot {\left(2 - \frac{2}{\left(1 + \frac{1}{t}\right) \cdot t}\right)}^{3}} \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 r52535 = 1.0;
        double r52536 = 2.0;
        double r52537 = t;
        double r52538 = r52536 / r52537;
        double r52539 = r52535 / r52537;
        double r52540 = r52535 + r52539;
        double r52541 = r52538 / r52540;
        double r52542 = r52536 - r52541;
        double r52543 = r52542 * r52542;
        double r52544 = r52536 + r52543;
        double r52545 = r52535 / r52544;
        double r52546 = r52535 - r52545;
        return r52546;
}

double f(double t) {
        double r52547 = 1.0;
        double r52548 = 2.0;
        double r52549 = r52548 * r52548;
        double r52550 = t;
        double r52551 = r52548 / r52550;
        double r52552 = r52547 / r52550;
        double r52553 = r52547 + r52552;
        double r52554 = r52551 / r52553;
        double r52555 = r52548 - r52554;
        double r52556 = r52553 * r52550;
        double r52557 = r52548 / r52556;
        double r52558 = r52548 - r52557;
        double r52559 = 3.0;
        double r52560 = pow(r52558, r52559);
        double r52561 = r52555 * r52560;
        double r52562 = r52549 - r52561;
        double r52563 = r52547 / r52562;
        double r52564 = r52555 * r52555;
        double r52565 = r52548 - r52564;
        double r52566 = r52563 * r52565;
        double r52567 = r52547 - r52566;
        return r52567;
}

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) \cdot {\left(2 - \frac{2}{\left(1 + \frac{1}{t}\right) \cdot t}\right)}^{3}}} \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) \cdot {\left(2 - \frac{2}{\left(1 + \frac{1}{t}\right) \cdot t}\right)}^{3}} \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 +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)))))))))