Average Error: 41.4 → 41.4
Time: 8.8s
Precision: binary64
\[\left(\left(\left(a + \log b\right) + \log \left(a \cdot b\right)\right) + \log \left({c}^{2}\right)\right) + \log \left(\frac{b}{c}\right)\]
\[\left(\left(\left(a + \log b\right) + \log \left(a \cdot b\right)\right) + \log \left({c}^{2}\right)\right) + \log \left(\frac{b}{c}\right)\]
\left(\left(\left(a + \log b\right) + \log \left(a \cdot b\right)\right) + \log \left({c}^{2}\right)\right) + \log \left(\frac{b}{c}\right)
\left(\left(\left(a + \log b\right) + \log \left(a \cdot b\right)\right) + \log \left({c}^{2}\right)\right) + \log \left(\frac{b}{c}\right)
double code(double a, double b, double c) {
	return ((double) (((double) (((double) (((double) (a + ((double) log(b)))) + ((double) log(((double) (a * b)))))) + ((double) log(((double) pow(c, 2.0)))))) + ((double) log(((double) (b / c))))));
}
double code(double a, double b, double c) {
	return ((double) (((double) (((double) (((double) (a + ((double) log(b)))) + ((double) log(((double) (a * b)))))) + ((double) log(((double) pow(c, 2.0)))))) + ((double) log(((double) (b / c))))));
}

Error

Bits error versus a

Bits error versus b

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 41.4

    \[\left(\left(\left(a + \log b\right) + \log \left(a \cdot b\right)\right) + \log \left({c}^{2}\right)\right) + \log \left(\frac{b}{c}\right)\]
  2. Final simplification41.4

    \[\leadsto \left(\left(\left(a + \log b\right) + \log \left(a \cdot b\right)\right) + \log \left({c}^{2}\right)\right) + \log \left(\frac{b}{c}\right)\]

Reproduce

herbie shell --seed 2020153 
(FPCore (a b c)
  :name "(+ (+ (+ (+ a (log b)) (log (* a b))) (log (pow c 2))) (log (/ b c)))"
  :precision binary64
  (+ (+ (+ (+ a (log b)) (log (* a b))) (log (pow c 2.0))) (log (/ b c))))