\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 r705829 = 60.0;
double r705830 = x;
double r705831 = y;
double r705832 = r705830 - r705831;
double r705833 = r705829 * r705832;
double r705834 = z;
double r705835 = t;
double r705836 = r705834 - r705835;
double r705837 = r705833 / r705836;
double r705838 = a;
double r705839 = 120.0;
double r705840 = r705838 * r705839;
double r705841 = r705837 + r705840;
return r705841;
}
double f(double x, double y, double z, double t, double a) {
double r705842 = 60.0;
double r705843 = x;
double r705844 = y;
double r705845 = r705843 - r705844;
double r705846 = z;
double r705847 = t;
double r705848 = r705846 - r705847;
double r705849 = r705845 / r705848;
double r705850 = r705842 * r705849;
double r705851 = a;
double r705852 = 120.0;
double r705853 = r705851 * r705852;
double r705854 = r705850 + r705853;
return r705854;
}




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