\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\frac{60 \cdot x + \left(-y\right) \cdot 60}{z - t} + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r658494 = 60.0;
double r658495 = x;
double r658496 = y;
double r658497 = r658495 - r658496;
double r658498 = r658494 * r658497;
double r658499 = z;
double r658500 = t;
double r658501 = r658499 - r658500;
double r658502 = r658498 / r658501;
double r658503 = a;
double r658504 = 120.0;
double r658505 = r658503 * r658504;
double r658506 = r658502 + r658505;
return r658506;
}
double f(double x, double y, double z, double t, double a) {
double r658507 = 60.0;
double r658508 = x;
double r658509 = r658507 * r658508;
double r658510 = y;
double r658511 = -r658510;
double r658512 = r658511 * r658507;
double r658513 = r658509 + r658512;
double r658514 = z;
double r658515 = t;
double r658516 = r658514 - r658515;
double r658517 = r658513 / r658516;
double r658518 = a;
double r658519 = 120.0;
double r658520 = r658518 * r658519;
double r658521 = r658517 + r658520;
return r658521;
}




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 sub-neg0.4
Applied distribute-lft-in0.4
Simplified0.4
Final simplification0.4
herbie shell --seed 2019303
(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)))