\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 r534223 = 60.0;
double r534224 = x;
double r534225 = y;
double r534226 = r534224 - r534225;
double r534227 = r534223 * r534226;
double r534228 = z;
double r534229 = t;
double r534230 = r534228 - r534229;
double r534231 = r534227 / r534230;
double r534232 = a;
double r534233 = 120.0;
double r534234 = r534232 * r534233;
double r534235 = r534231 + r534234;
return r534235;
}
double f(double x, double y, double z, double t, double a) {
double r534236 = 60.0;
double r534237 = z;
double r534238 = t;
double r534239 = r534237 - r534238;
double r534240 = x;
double r534241 = y;
double r534242 = r534240 - r534241;
double r534243 = r534239 / r534242;
double r534244 = r534236 / r534243;
double r534245 = a;
double r534246 = 120.0;
double r534247 = r534245 * r534246;
double r534248 = r534244 + r534247;
return r534248;
}




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