\frac{60 \cdot \left(x - y\right)}{z - t} + a \cdot 12060 \cdot \left(\frac{x}{z - t} - \frac{y}{z - t}\right) + a \cdot 120double f(double x, double y, double z, double t, double a) {
double r756733 = 60.0;
double r756734 = x;
double r756735 = y;
double r756736 = r756734 - r756735;
double r756737 = r756733 * r756736;
double r756738 = z;
double r756739 = t;
double r756740 = r756738 - r756739;
double r756741 = r756737 / r756740;
double r756742 = a;
double r756743 = 120.0;
double r756744 = r756742 * r756743;
double r756745 = r756741 + r756744;
return r756745;
}
double f(double x, double y, double z, double t, double a) {
double r756746 = 60.0;
double r756747 = x;
double r756748 = z;
double r756749 = t;
double r756750 = r756748 - r756749;
double r756751 = r756747 / r756750;
double r756752 = y;
double r756753 = r756752 / r756750;
double r756754 = r756751 - r756753;
double r756755 = r756746 * r756754;
double r756756 = a;
double r756757 = 120.0;
double r756758 = r756756 * r756757;
double r756759 = r756755 + r756758;
return r756759;
}




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