Average Error: 11.7 → 11.7
Time: 1.4s
Precision: binary64
\[\ell + \left(h - \ell\right) \cdot \frac{td - vld}{vhd - vld}\]
\[\ell + \left(h - \ell\right) \cdot \frac{td - vld}{vhd - vld}\]
\ell + \left(h - \ell\right) \cdot \frac{td - vld}{vhd - vld}
\ell + \left(h - \ell\right) \cdot \frac{td - vld}{vhd - vld}
double code(double l, double h, double td, double vld, double vhd) {
	return ((double) (l + ((double) (((double) (h - l)) * ((double) (((double) (td - vld)) / ((double) (vhd - vld))))))));
}
double code(double l, double h, double td, double vld, double vhd) {
	return ((double) (l + ((double) (((double) (h - l)) * ((double) (((double) (td - vld)) / ((double) (vhd - vld))))))));
}

Error

Bits error versus l

Bits error versus h

Bits error versus td

Bits error versus vld

Bits error versus vhd

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 11.7

    \[\ell + \left(h - \ell\right) \cdot \frac{td - vld}{vhd - vld}\]
  2. Final simplification11.7

    \[\leadsto \ell + \left(h - \ell\right) \cdot \frac{td - vld}{vhd - vld}\]

Reproduce

herbie shell --seed 2020153 
(FPCore (l h td vld vhd)
  :name "(+ l (* (- h l) (/ (- td vld) (- vhd vld))))"
  :precision binary64
  (+ l (* (- h l) (/ (- td vld) (- vhd vld)))))