Average Error: 0.0 → 0.0
Time: 3.8s
Precision: binary64
\[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(\left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot 2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \left(-\frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\right)}\]

Error

Bits error versus t

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 sub-neg0.0

    \[\leadsto 1 - \frac{1}{2 + \left(2 - \frac{\frac{2}{t}}{1 + \frac{1}{t}}\right) \cdot \color{blue}{\left(2 + \left(-\frac{\frac{2}{t}}{1 + \frac{1}{t}}\right)\right)}}\]
  4. Applied distribute-lft-in0.0

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

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

Reproduce

herbie shell --seed 2020173 
(FPCore (t)
  :name "Kahan p13 Example 3"
  :precision binary64
  (- 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)))))))))