\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\frac{60 \cdot x + 60 \cdot \left(-y\right)}{z - t} + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r818974 = 60.0;
double r818975 = x;
double r818976 = y;
double r818977 = r818975 - r818976;
double r818978 = r818974 * r818977;
double r818979 = z;
double r818980 = t;
double r818981 = r818979 - r818980;
double r818982 = r818978 / r818981;
double r818983 = a;
double r818984 = 120.0;
double r818985 = r818983 * r818984;
double r818986 = r818982 + r818985;
return r818986;
}
double f(double x, double y, double z, double t, double a) {
double r818987 = 60.0;
double r818988 = x;
double r818989 = r818987 * r818988;
double r818990 = y;
double r818991 = -r818990;
double r818992 = r818987 * r818991;
double r818993 = r818989 + r818992;
double r818994 = z;
double r818995 = t;
double r818996 = r818994 - r818995;
double r818997 = r818993 / r818996;
double r818998 = a;
double r818999 = 120.0;
double r819000 = r818998 * r818999;
double r819001 = r818997 + r819000;
return r819001;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 0.5 |
|---|---|
| Target | 0.1 |
| Herbie | 0.5 |
Initial program 0.5
rmApplied sub-neg0.5
Applied distribute-lft-in0.5
Final simplification0.5
herbie shell --seed 2020020
(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)))