\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 12060 \cdot \frac{x - y}{z - t} + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r638614 = 60.0;
double r638615 = x;
double r638616 = y;
double r638617 = r638615 - r638616;
double r638618 = r638614 * r638617;
double r638619 = z;
double r638620 = t;
double r638621 = r638619 - r638620;
double r638622 = r638618 / r638621;
double r638623 = a;
double r638624 = 120.0;
double r638625 = r638623 * r638624;
double r638626 = r638622 + r638625;
return r638626;
}
double f(double x, double y, double z, double t, double a) {
double r638627 = 60.0;
double r638628 = x;
double r638629 = y;
double r638630 = r638628 - r638629;
double r638631 = z;
double r638632 = t;
double r638633 = r638631 - r638632;
double r638634 = r638630 / r638633;
double r638635 = r638627 * r638634;
double r638636 = a;
double r638637 = 120.0;
double r638638 = r638636 * r638637;
double r638639 = r638635 + r638638;
return r638639;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 0.4 |
|---|---|
| Target | 0.2 |
| Herbie | 0.2 |
Initial program 0.4
rmApplied *-un-lft-identity0.4
Applied times-frac0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019235
(FPCore (x y z t a)
:name "Data.Colour.RGB:hslsv from colour-2.3.3, B"
:precision binary64
:herbie-target
(+ (/ 60 (/ (- z t) (- x y))) (* a 120))
(+ (/ (* 60 (- x y)) (- z t)) (* a 120)))