\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 r578877 = 60.0;
double r578878 = x;
double r578879 = y;
double r578880 = r578878 - r578879;
double r578881 = r578877 * r578880;
double r578882 = z;
double r578883 = t;
double r578884 = r578882 - r578883;
double r578885 = r578881 / r578884;
double r578886 = a;
double r578887 = 120.0;
double r578888 = r578886 * r578887;
double r578889 = r578885 + r578888;
return r578889;
}
double f(double x, double y, double z, double t, double a) {
double r578890 = 60.0;
double r578891 = x;
double r578892 = y;
double r578893 = r578891 - r578892;
double r578894 = z;
double r578895 = t;
double r578896 = r578894 - r578895;
double r578897 = r578893 / r578896;
double r578898 = r578890 * r578897;
double r578899 = a;
double r578900 = 120.0;
double r578901 = r578899 * r578900;
double r578902 = r578898 + r578901;
return r578902;
}




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