\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 r899881 = 60.0;
double r899882 = x;
double r899883 = y;
double r899884 = r899882 - r899883;
double r899885 = r899881 * r899884;
double r899886 = z;
double r899887 = t;
double r899888 = r899886 - r899887;
double r899889 = r899885 / r899888;
double r899890 = a;
double r899891 = 120.0;
double r899892 = r899890 * r899891;
double r899893 = r899889 + r899892;
return r899893;
}
double f(double x, double y, double z, double t, double a) {
double r899894 = 60.0;
double r899895 = x;
double r899896 = y;
double r899897 = r899895 - r899896;
double r899898 = z;
double r899899 = t;
double r899900 = r899898 - r899899;
double r899901 = r899897 / r899900;
double r899902 = r899894 * r899901;
double r899903 = a;
double r899904 = 120.0;
double r899905 = r899903 * r899904;
double r899906 = r899902 + r899905;
return r899906;
}




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.1 |
Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied times-frac0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020001
(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)))