\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))))));
}



Bits error versus a



Bits error versus b



Bits error versus c
Results
Initial program 41.4
Final simplification41.4
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))))