\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 120\frac{\left(x - y\right) \cdot 60}{z - t} + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r654630 = 60.0;
double r654631 = x;
double r654632 = y;
double r654633 = r654631 - r654632;
double r654634 = r654630 * r654633;
double r654635 = z;
double r654636 = t;
double r654637 = r654635 - r654636;
double r654638 = r654634 / r654637;
double r654639 = a;
double r654640 = 120.0;
double r654641 = r654639 * r654640;
double r654642 = r654638 + r654641;
return r654642;
}
double f(double x, double y, double z, double t, double a) {
double r654643 = x;
double r654644 = y;
double r654645 = r654643 - r654644;
double r654646 = 60.0;
double r654647 = r654645 * r654646;
double r654648 = z;
double r654649 = t;
double r654650 = r654648 - r654649;
double r654651 = r654647 / r654650;
double r654652 = a;
double r654653 = 120.0;
double r654654 = r654652 * r654653;
double r654655 = r654651 + r654654;
return r654655;
}




Bits error versus x




Bits error versus y




Bits error versus z




Bits error versus t




Bits error versus a
Results
| Original | 0.5 |
|---|---|
| Target | 0.2 |
| Herbie | 0.5 |
Initial program 0.5
rmApplied *-commutative0.5
Final simplification0.5
herbie shell --seed 2019212
(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)))