\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 r625316 = 60.0;
double r625317 = x;
double r625318 = y;
double r625319 = r625317 - r625318;
double r625320 = r625316 * r625319;
double r625321 = z;
double r625322 = t;
double r625323 = r625321 - r625322;
double r625324 = r625320 / r625323;
double r625325 = a;
double r625326 = 120.0;
double r625327 = r625325 * r625326;
double r625328 = r625324 + r625327;
return r625328;
}
double f(double x, double y, double z, double t, double a) {
double r625329 = 60.0;
double r625330 = x;
double r625331 = y;
double r625332 = r625330 - r625331;
double r625333 = z;
double r625334 = t;
double r625335 = r625333 - r625334;
double r625336 = r625332 / r625335;
double r625337 = r625329 * r625336;
double r625338 = a;
double r625339 = 120.0;
double r625340 = r625338 * r625339;
double r625341 = r625337 + r625340;
return r625341;
}




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 2019304
(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)))