Average Error: 15.7 → 0.6
Time: 2.4s
Precision: binary64
\[\log \left(e^{\log x + \log y}\right)\]
\[\log x + \log y\]
\log \left(e^{\log x + \log y}\right)
\log x + \log y
double code(double x, double y) {
	return ((double) log(((double) exp(((double) (((double) log(x)) + ((double) log(y))))))));
}
double code(double x, double y) {
	return ((double) (((double) log(x)) + ((double) log(y))));
}

Error

Bits error versus x

Bits error versus y

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.7

    \[\log \left(e^{\log x + \log y}\right)\]
  2. Simplified0.6

    \[\leadsto \color{blue}{\log x + \log y}\]
  3. Final simplification0.6

    \[\leadsto \log x + \log y\]

Reproduce

herbie shell --seed 2020152 
(FPCore (x y)
  :name "(log (exp (+ (log x) (log y))))"
  :precision binary64
  (log (exp (+ (log x) (log y)))))