Average Error: 8.4 → 8.4
Time: 1.8s
Precision: binary64
\[\log \left(\frac{rh}{100}\right) + \frac{b \cdot temp}{c + temp}\]
\[\log \left(\frac{rh}{100}\right) + \frac{b \cdot temp}{c + temp}\]
\log \left(\frac{rh}{100}\right) + \frac{b \cdot temp}{c + temp}
\log \left(\frac{rh}{100}\right) + \frac{b \cdot temp}{c + temp}
double code(double rh, double b, double temp, double c) {
	return ((double) (((double) log(((double) (rh / 100.0)))) + ((double) (((double) (b * temp)) / ((double) (c + temp))))));
}
double code(double rh, double b, double temp, double c) {
	return ((double) (((double) log(((double) (rh / 100.0)))) + ((double) (((double) (b * temp)) / ((double) (c + temp))))));
}

Error

Bits error versus rh

Bits error versus b

Bits error versus temp

Bits error versus c

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 8.4

    \[\log \left(\frac{rh}{100}\right) + \frac{b \cdot temp}{c + temp}\]
  2. Final simplification8.4

    \[\leadsto \log \left(\frac{rh}{100}\right) + \frac{b \cdot temp}{c + temp}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (rh b temp c)
  :name "(+ (log (/ rh 100.0)) (/ (* b temp) (+ c temp)))"
  :precision binary64
  (+ (log (/ rh 100.0)) (/ (* b temp) (+ c temp))))