Average Error: 0.0 → 0.0
Time: 4.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}{\left(-{\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{3}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) + 2 \cdot 2} \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}{\left(-{\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{3}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) + 2 \cdot 2} \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 r50398 = 1.0;
        double r50399 = 2.0;
        double r50400 = t;
        double r50401 = r50399 / r50400;
        double r50402 = r50398 / r50400;
        double r50403 = r50398 + r50402;
        double r50404 = r50401 / r50403;
        double r50405 = r50399 - r50404;
        double r50406 = r50405 * r50405;
        double r50407 = r50399 + r50406;
        double r50408 = r50398 / r50407;
        double r50409 = r50398 - r50408;
        return r50409;
}

double f(double t) {
        double r50410 = 1.0;
        double r50411 = 2.0;
        double r50412 = t;
        double r50413 = r50411 / r50412;
        double r50414 = r50410 / r50412;
        double r50415 = r50410 + r50414;
        double r50416 = r50413 / r50415;
        double r50417 = r50411 - r50416;
        double r50418 = 3.0;
        double r50419 = pow(r50417, r50418);
        double r50420 = -r50419;
        double r50421 = r50420 * r50417;
        double r50422 = r50411 * r50411;
        double r50423 = r50421 + r50422;
        double r50424 = r50410 / r50423;
        double r50425 = r50417 * r50417;
        double r50426 = r50411 - r50425;
        double r50427 = r50424 * r50426;
        double r50428 = r50410 - r50427;
        return r50428;
}

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}{\left(-{\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{3}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) + 2 \cdot 2}} \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}{\left(-{\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)}^{3}\right) \cdot \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) + 2 \cdot 2} \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 2019362 
(FPCore (t)
  :name "Kahan p13 Example 3"
  :precision binary64
  (- 1 (/ 1 (+ 2 (* (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))) (- 2 (/ (/ 2 t) (+ 1 (/ 1 t)))))))))