Average Error: 0.0 → 0.0
Time: 17.0s
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(2 - \frac{2}{t \cdot 1 + 1}\right) \cdot \left(2 - \frac{2}{t \cdot 1 + 1}\right) + 2}\]
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(2 - \frac{2}{t \cdot 1 + 1}\right) \cdot \left(2 - \frac{2}{t \cdot 1 + 1}\right) + 2}
double f(double t) {
        double r31926 = 1.0;
        double r31927 = 2.0;
        double r31928 = t;
        double r31929 = r31927 / r31928;
        double r31930 = r31926 / r31928;
        double r31931 = r31926 + r31930;
        double r31932 = r31929 / r31931;
        double r31933 = r31927 - r31932;
        double r31934 = r31933 * r31933;
        double r31935 = r31927 + r31934;
        double r31936 = r31926 / r31935;
        double r31937 = r31926 - r31936;
        return r31937;
}

double f(double t) {
        double r31938 = 1.0;
        double r31939 = 2.0;
        double r31940 = t;
        double r31941 = r31940 * r31938;
        double r31942 = r31941 + r31938;
        double r31943 = r31939 / r31942;
        double r31944 = r31939 - r31943;
        double r31945 = r31944 * r31944;
        double r31946 = r31945 + r31939;
        double r31947 = r31938 / r31946;
        double r31948 = r31938 - r31947;
        return r31948;
}

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. Simplified0.0

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

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

Reproduce

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