Input Error: 61.1b
Output Error: 1.5b
Time: 58.4s
Precision: 64b
Ground Truth: 128b
\[\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
\[\begin{cases} \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\log \left(e^{e^{a \cdot \varepsilon} - 1}\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)} & \text{when } b \cdot \varepsilon \le -7.556090982340352 \cdot 10^{+135} \\ \frac{1}{b} + \frac{1}{a} & \text{otherwise} \end{cases}\]

Error

Bits error versus a
Bits error versus b
Bits error versus eps

Derivation

    if (* b eps) < -7.556090982340352e+135

    1. Initial program 39.4b

      \[\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    2. Using strategy rm
    3. Applied add-log-exp 39.2b

      \[\leadsto \frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\color{blue}{\log \left(e^{e^{a \cdot \varepsilon} - 1}\right)} \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]

    if -7.556090982340352e+135 < (* b eps)

    1. Initial program 62.0b

      \[\frac{\varepsilon \cdot \left(e^{\left(a + b\right) \cdot \varepsilon} - 1\right)}{\left(e^{a \cdot \varepsilon} - 1\right) \cdot \left(e^{b \cdot \varepsilon} - 1\right)}\]
    2. Applied taylor 0.0b

      \[\leadsto \frac{1}{b} + \frac{1}{a}\]
    3. Taylor expanded around 0 0.0b

      \[\leadsto \color{blue}{\frac{1}{b} + \frac{1}{a}}\]
  1. Removed slow pow expressions

Runtime

Total time: 58.4s Debug log

herbie --seed '#(3464337210 1966089758 2433498394 2046220600 2399757902 1686203586)'
(FPCore (a b eps)
  :name "NMSE problem 3.4.2"
  
  :target
  (/ (+ a b) (* a b))(/ (* eps (- (exp (* (+ a b) eps)) 1)) (* (- (exp (* a eps)) 1) (- (exp (* b eps)) 1))))