\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 r808047 = 60.0;
double r808048 = x;
double r808049 = y;
double r808050 = r808048 - r808049;
double r808051 = r808047 * r808050;
double r808052 = z;
double r808053 = t;
double r808054 = r808052 - r808053;
double r808055 = r808051 / r808054;
double r808056 = a;
double r808057 = 120.0;
double r808058 = r808056 * r808057;
double r808059 = r808055 + r808058;
return r808059;
}
double f(double x, double y, double z, double t, double a) {
double r808060 = 60.0;
double r808061 = x;
double r808062 = y;
double r808063 = r808061 - r808062;
double r808064 = z;
double r808065 = t;
double r808066 = r808064 - r808065;
double r808067 = r808063 / r808066;
double r808068 = r808060 * r808067;
double r808069 = a;
double r808070 = 120.0;
double r808071 = r808069 * r808070;
double r808072 = r808068 + r808071;
return r808072;
}




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.1 |
| Herbie | 0.2 |
Initial program 0.5
rmApplied *-un-lft-identity0.5
Applied times-frac0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2020046
(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)))