\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\frac{60}{z - t} \cdot \left(x - y\right) + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r728971 = 60.0;
double r728972 = x;
double r728973 = y;
double r728974 = r728972 - r728973;
double r728975 = r728971 * r728974;
double r728976 = z;
double r728977 = t;
double r728978 = r728976 - r728977;
double r728979 = r728975 / r728978;
double r728980 = a;
double r728981 = 120.0;
double r728982 = r728980 * r728981;
double r728983 = r728979 + r728982;
return r728983;
}
double f(double x, double y, double z, double t, double a) {
double r728984 = 60.0;
double r728985 = z;
double r728986 = t;
double r728987 = r728985 - r728986;
double r728988 = r728984 / r728987;
double r728989 = x;
double r728990 = y;
double r728991 = r728989 - r728990;
double r728992 = r728988 * r728991;
double r728993 = a;
double r728994 = 120.0;
double r728995 = r728993 * r728994;
double r728996 = r728992 + r728995;
return r728996;
}




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.2 |
| Herbie | 0.2 |
Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied times-frac0.2
Simplified0.2
rmApplied pow10.2
Applied pow10.2
Applied pow-prod-down0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020045
(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)))