\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\frac{x - y}{z - t} \cdot 60 + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r41832329 = 60.0;
double r41832330 = x;
double r41832331 = y;
double r41832332 = r41832330 - r41832331;
double r41832333 = r41832329 * r41832332;
double r41832334 = z;
double r41832335 = t;
double r41832336 = r41832334 - r41832335;
double r41832337 = r41832333 / r41832336;
double r41832338 = a;
double r41832339 = 120.0;
double r41832340 = r41832338 * r41832339;
double r41832341 = r41832337 + r41832340;
return r41832341;
}
double f(double x, double y, double z, double t, double a) {
double r41832342 = x;
double r41832343 = y;
double r41832344 = r41832342 - r41832343;
double r41832345 = z;
double r41832346 = t;
double r41832347 = r41832345 - r41832346;
double r41832348 = r41832344 / r41832347;
double r41832349 = 60.0;
double r41832350 = r41832348 * r41832349;
double r41832351 = a;
double r41832352 = 120.0;
double r41832353 = r41832351 * r41832352;
double r41832354 = r41832350 + r41832353;
return r41832354;
}




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 2019172 +o rules:numerics
(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)))