\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 r949355 = 60.0;
double r949356 = x;
double r949357 = y;
double r949358 = r949356 - r949357;
double r949359 = r949355 * r949358;
double r949360 = z;
double r949361 = t;
double r949362 = r949360 - r949361;
double r949363 = r949359 / r949362;
double r949364 = a;
double r949365 = 120.0;
double r949366 = r949364 * r949365;
double r949367 = r949363 + r949366;
return r949367;
}
double f(double x, double y, double z, double t, double a) {
double r949368 = 60.0;
double r949369 = x;
double r949370 = y;
double r949371 = r949369 - r949370;
double r949372 = z;
double r949373 = t;
double r949374 = r949372 - r949373;
double r949375 = r949371 / r949374;
double r949376 = r949368 * r949375;
double r949377 = a;
double r949378 = 120.0;
double r949379 = r949377 * r949378;
double r949380 = r949376 + r949379;
return r949380;
}




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