Average Error: 0.0 → 0.6
Time: 18.9s
Precision: binary64
\[\frac{1}{x - 1} + \frac{x}{x + 1}\]
\[\langle \left( \langle \left( \frac{x}{x + 1} + \frac{1}{x - 1} \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64}\]
\frac{1}{x - 1} + \frac{x}{x + 1}
\langle \left( \langle \left( \frac{x}{x + 1} + \frac{1}{x - 1} \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64}
(FPCore (x) :precision binary64 (+ (/ 1.0 (- x 1.0)) (/ x (+ x 1.0))))
(FPCore (x)
 :precision binary64
 (cast
  (!
   :precision
   posit16
   (cast (! :precision binary64 (+ (/ x (+ x 1.0)) (/ 1.0 (- x 1.0))))))))

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[\frac{1}{x - 1} + \frac{x}{x + 1}\]
  2. Using strategy rm
  3. Applied insert-posit160.6

    \[\leadsto \color{blue}{\langle \color{blue}{\left( \color{blue}{\langle \color{blue}{\left( \color{blue}{\frac{1}{x - 1} + \frac{x}{x + 1}} \right)_{binary64}} \rangle_{posit16}} \right)_{posit16}} \rangle_{binary64}}\]
  4. Simplified0.6

    \[\leadsto \langle \left( \langle \left( \color{blue}{\frac{x}{x + 1}} + \frac{1}{x - 1} \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64}\]
  5. Final simplification0.6

    \[\leadsto \langle \left( \langle \left( \frac{x}{x + 1} + \frac{1}{x - 1} \right)_{binary64} \rangle_{posit16} \right)_{posit16} \rangle_{binary64}\]

Reproduce

herbie shell --seed 2020288 
(FPCore (x)
  :name "Asymptote B"
  :precision binary64
  (+ (/ 1.0 (- x 1.0)) (/ x (+ x 1.0))))