Average Error: 0.0 → 0.0
Time: 11.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}{\frac{2 \cdot 2 - \frac{2}{1 + t \cdot 1} \cdot \frac{2}{1 + t \cdot 1}}{2 + \frac{2}{1 + t \cdot 1}} \cdot \left(2 - \frac{2}{1 + t \cdot 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}{\frac{2 \cdot 2 - \frac{2}{1 + t \cdot 1} \cdot \frac{2}{1 + t \cdot 1}}{2 + \frac{2}{1 + t \cdot 1}} \cdot \left(2 - \frac{2}{1 + t \cdot 1}\right) + 2}
double f(double t) {
        double r1763796 = 1.0;
        double r1763797 = 2.0;
        double r1763798 = t;
        double r1763799 = r1763797 / r1763798;
        double r1763800 = r1763796 / r1763798;
        double r1763801 = r1763796 + r1763800;
        double r1763802 = r1763799 / r1763801;
        double r1763803 = r1763797 - r1763802;
        double r1763804 = r1763803 * r1763803;
        double r1763805 = r1763797 + r1763804;
        double r1763806 = r1763796 / r1763805;
        double r1763807 = r1763796 - r1763806;
        return r1763807;
}

double f(double t) {
        double r1763808 = 1.0;
        double r1763809 = 2.0;
        double r1763810 = r1763809 * r1763809;
        double r1763811 = t;
        double r1763812 = r1763811 * r1763808;
        double r1763813 = r1763808 + r1763812;
        double r1763814 = r1763809 / r1763813;
        double r1763815 = r1763814 * r1763814;
        double r1763816 = r1763810 - r1763815;
        double r1763817 = r1763809 + r1763814;
        double r1763818 = r1763816 / r1763817;
        double r1763819 = r1763809 - r1763814;
        double r1763820 = r1763818 * r1763819;
        double r1763821 = r1763820 + r1763809;
        double r1763822 = r1763808 / r1763821;
        double r1763823 = r1763808 - r1763822;
        return r1763823;
}

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}{2 + \left(2 - \frac{2}{1 + 1 \cdot t}\right) \cdot \left(2 - \frac{2}{1 + 1 \cdot t}\right)}}\]
  3. Using strategy rm
  4. Applied flip--0.0

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

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

Reproduce

herbie shell --seed 2019169 
(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)))))))))