Average Error: 47.6 → 47.6
Time: 5.5s
Precision: binary64
\[\frac{e \cdot \left(e^{\left(a + b\right) \cdot e} - 1\right)}{\left(e^{a \cdot e} - 1\right) \cdot \left(e^{b \cdot e} - 1\right)} - \left(-timeout\right)\]
\[timeout + \frac{e \cdot \left(e^{\left(a + b\right) \cdot e} - 1\right)}{\left(e^{a \cdot e} - 1\right) \cdot \left(e^{b \cdot e} - 1\right)}\]

Error

Bits error versus e

Bits error versus a

Bits error versus b

Bits error versus timeout

Derivation

  1. Initial program 47.6

    \[\frac{e \cdot \left(e^{\left(a + b\right) \cdot e} - 1\right)}{\left(e^{a \cdot e} - 1\right) \cdot \left(e^{b \cdot e} - 1\right)} - \left(-timeout\right)\]
  2. Simplified47.6

    \[\leadsto \color{blue}{timeout + \frac{e \cdot \left(e^{\left(a + b\right) \cdot e} - 1\right)}{\left(e^{a \cdot e} - 1\right) \cdot \left(e^{b \cdot e} - 1\right)}}\]
  3. Final simplification47.6

    \[\leadsto timeout + \frac{e \cdot \left(e^{\left(a + b\right) \cdot e} - 1\right)}{\left(e^{a \cdot e} - 1\right) \cdot \left(e^{b \cdot e} - 1\right)}\]

Reproduce

herbie shell --seed 2020152 
(FPCore (e a b timeout)
  :name "(- (/ (* e (- (exp (* (+ a b) e)) 1)) (* (- (exp (* a e)) 1) (- (exp (* b e)) 1))) (- timeout))"
  :precision binary64
  (- (/ (* e (- (exp (* (+ a b) e)) 1.0)) (* (- (exp (* a e)) 1.0) (- (exp (* b e)) 1.0))) (neg timeout)))