\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\frac{60}{\frac{z - t}{x - y}} + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r41082287 = 60.0;
double r41082288 = x;
double r41082289 = y;
double r41082290 = r41082288 - r41082289;
double r41082291 = r41082287 * r41082290;
double r41082292 = z;
double r41082293 = t;
double r41082294 = r41082292 - r41082293;
double r41082295 = r41082291 / r41082294;
double r41082296 = a;
double r41082297 = 120.0;
double r41082298 = r41082296 * r41082297;
double r41082299 = r41082295 + r41082298;
return r41082299;
}
double f(double x, double y, double z, double t, double a) {
double r41082300 = 60.0;
double r41082301 = z;
double r41082302 = t;
double r41082303 = r41082301 - r41082302;
double r41082304 = x;
double r41082305 = y;
double r41082306 = r41082304 - r41082305;
double r41082307 = r41082303 / r41082306;
double r41082308 = r41082300 / r41082307;
double r41082309 = a;
double r41082310 = 120.0;
double r41082311 = r41082309 * r41082310;
double r41082312 = r41082308 + r41082311;
return r41082312;
}




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.2 |
Initial program 0.4
rmApplied associate-/l*0.2
Final simplification0.2
herbie shell --seed 2019170
(FPCore (x y z t a)
:name "Data.Colour.RGB:hslsv from colour-2.3.3, B"
:herbie-target
(+ (/ 60.0 (/ (- z t) (- x y))) (* a 120.0))
(+ (/ (* 60.0 (- x y)) (- z t)) (* a 120.0)))