\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 r880238 = 60.0;
double r880239 = x;
double r880240 = y;
double r880241 = r880239 - r880240;
double r880242 = r880238 * r880241;
double r880243 = z;
double r880244 = t;
double r880245 = r880243 - r880244;
double r880246 = r880242 / r880245;
double r880247 = a;
double r880248 = 120.0;
double r880249 = r880247 * r880248;
double r880250 = r880246 + r880249;
return r880250;
}
double f(double x, double y, double z, double t, double a) {
double r880251 = 60.0;
double r880252 = z;
double r880253 = t;
double r880254 = r880252 - r880253;
double r880255 = x;
double r880256 = y;
double r880257 = r880255 - r880256;
double r880258 = r880254 / r880257;
double r880259 = r880251 / r880258;
double r880260 = a;
double r880261 = 120.0;
double r880262 = r880260 * r880261;
double r880263 = r880259 + r880262;
return r880263;
}




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