\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r551871 = 60.0;
double r551872 = x;
double r551873 = y;
double r551874 = r551872 - r551873;
double r551875 = r551871 * r551874;
double r551876 = z;
double r551877 = t;
double r551878 = r551876 - r551877;
double r551879 = r551875 / r551878;
double r551880 = a;
double r551881 = 120.0;
double r551882 = r551880 * r551881;
double r551883 = r551879 + r551882;
return r551883;
}
double f(double x, double y, double z, double t, double a) {
double r551884 = 60.0;
double r551885 = x;
double r551886 = y;
double r551887 = r551885 - r551886;
double r551888 = r551884 * r551887;
double r551889 = z;
double r551890 = t;
double r551891 = r551889 - r551890;
double r551892 = r551888 / r551891;
double r551893 = a;
double r551894 = 120.0;
double r551895 = r551893 * r551894;
double r551896 = r551892 + r551895;
return r551896;
}




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.4 |
Initial program 0.4
rmApplied *-un-lft-identity0.4
Applied times-frac0.2
Simplified0.2
rmApplied div-inv0.2
Final simplification0.4
herbie shell --seed 2019291
(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)))