e^{\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e}\begin{array}{l}
\mathbf{if}\;\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e \le 134.953495825740475:\\
\;\;\;\;e^{\left(\left(\left(log \cdot a + log \cdot b\right) + log \cdot c\right) + log \cdot d\right) + log \cdot e}\\
\mathbf{else}:\\
\;\;\;\;{\left(e^{log}\right)}^{\left(\left(c + \left(a + b\right)\right) + \left(d + e\right)\right)}\\
\end{array}double code(double log, double a, double b, double c, double d, double e) {
return ((double) exp(((double) (((double) (((double) (((double) (((double) (log * a)) + ((double) (log * b)))) + ((double) (log * c)))) + ((double) (log * d)))) + ((double) (log * e))))));
}
double code(double log, double a, double b, double c, double d, double e) {
double VAR;
if ((((double) (((double) (((double) (((double) (((double) (log * a)) + ((double) (log * b)))) + ((double) (log * c)))) + ((double) (log * d)))) + ((double) (log * e)))) <= 134.95349582574048)) {
VAR = ((double) exp(((double) (((double) (((double) (((double) (((double) (log * a)) + ((double) (log * b)))) + ((double) (log * c)))) + ((double) (log * d)))) + ((double) (log * e))))));
} else {
VAR = ((double) pow(((double) exp(log)), ((double) (((double) (c + ((double) (a + b)))) + ((double) (d + e))))));
}
return VAR;
}



Bits error versus log



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus d



Bits error versus e
Results
if (+ (+ (+ (+ (* log a) (* log b)) (* log c)) (* log d)) (* log e)) < 134.953495825740475Initial program 0.0
if 134.953495825740475 < (+ (+ (+ (+ (* log a) (* log b)) (* log c)) (* log d)) (* log e)) Initial program 63.1
Simplified0.9
Final simplification0.1
herbie shell --seed 2020153
(FPCore (log a b c d e)
:name "(exp (+ (+ (+ (+ (* log a) (* log b)) (* log c)) (* log d)) (* log e)))"
:precision binary64
(exp (+ (+ (+ (+ (* log a) (* log b)) (* log c)) (* log d)) (* log e))))