Average Error: 47.6 → 47.6
Time: 5.7s
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)} - timeoutmax\]
\[\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)} - timeoutmax\]
\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)} - timeoutmax
\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)} - timeoutmax
double code(double e, double a, double b, double timeoutmax) {
	return ((double) (((double) (((double) (e * ((double) (((double) exp(((double) (((double) (a + b)) * e)))) - 1.0)))) / ((double) (((double) (((double) exp(((double) (a * e)))) - 1.0)) * ((double) (((double) exp(((double) (b * e)))) - 1.0)))))) - timeoutmax));
}
double code(double e, double a, double b, double timeoutmax) {
	return ((double) (((double) (((double) (e * ((double) (((double) exp(((double) (((double) (a + b)) * e)))) - 1.0)))) / ((double) (((double) (((double) exp(((double) (a * e)))) - 1.0)) * ((double) (((double) exp(((double) (b * e)))) - 1.0)))))) - timeoutmax));
}

Error

Bits error versus e

Bits error versus a

Bits error versus b

Bits error versus timeoutmax

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

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)} - timeoutmax\]
  2. Final simplification47.6

    \[\leadsto \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)} - timeoutmax\]

Reproduce

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