\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 r897807 = 60.0;
double r897808 = x;
double r897809 = y;
double r897810 = r897808 - r897809;
double r897811 = r897807 * r897810;
double r897812 = z;
double r897813 = t;
double r897814 = r897812 - r897813;
double r897815 = r897811 / r897814;
double r897816 = a;
double r897817 = 120.0;
double r897818 = r897816 * r897817;
double r897819 = r897815 + r897818;
return r897819;
}
double f(double x, double y, double z, double t, double a) {
double r897820 = 60.0;
double r897821 = x;
double r897822 = y;
double r897823 = r897821 - r897822;
double r897824 = z;
double r897825 = t;
double r897826 = r897824 - r897825;
double r897827 = r897823 / r897826;
double r897828 = r897820 * r897827;
double r897829 = a;
double r897830 = 120.0;
double r897831 = r897829 * r897830;
double r897832 = r897828 + r897831;
return r897832;
}




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
Final simplification0.1
herbie shell --seed 2020001
(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)))