Average Error: 0.0 → 0.7
Time: 2.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 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(\sqrt{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}} \cdot \sqrt{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}}\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 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(\sqrt{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}} \cdot \sqrt{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)}
double f(double t) {
        double r53483 = 1.0;
        double r53484 = 2.0;
        double r53485 = t;
        double r53486 = r53484 / r53485;
        double r53487 = r53483 / r53485;
        double r53488 = r53483 + r53487;
        double r53489 = r53486 / r53488;
        double r53490 = r53484 - r53489;
        double r53491 = r53490 * r53490;
        double r53492 = r53484 + r53491;
        double r53493 = r53483 / r53492;
        double r53494 = r53483 - r53493;
        return r53494;
}

double f(double t) {
        double r53495 = 1.0;
        double r53496 = 2.0;
        double r53497 = t;
        double r53498 = r53496 / r53497;
        double r53499 = r53495 / r53497;
        double r53500 = r53495 + r53499;
        double r53501 = r53498 / r53500;
        double r53502 = r53496 - r53501;
        double r53503 = sqrt(r53502);
        double r53504 = r53503 * r53503;
        double r53505 = r53502 * r53504;
        double r53506 = r53496 + r53505;
        double r53507 = r53495 / r53506;
        double r53508 = r53495 - r53507;
        return r53508;
}

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 add-sqr-sqrt0.7

    \[\leadsto 1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \color{blue}{\left(\sqrt{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}} \cdot \sqrt{2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}}\right)}}\]
  4. Final simplification0.7

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

Reproduce

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