\frac{4.0 \cdot \left(\left(x - y\right) - z \cdot 0.5\right)}{z}\left(\frac{x}{z} - \left(0.5 + \frac{y}{z}\right)\right) \cdot 4.0double f(double x, double y, double z) {
double r40111874 = 4.0;
double r40111875 = x;
double r40111876 = y;
double r40111877 = r40111875 - r40111876;
double r40111878 = z;
double r40111879 = 0.5;
double r40111880 = r40111878 * r40111879;
double r40111881 = r40111877 - r40111880;
double r40111882 = r40111874 * r40111881;
double r40111883 = r40111882 / r40111878;
return r40111883;
}
double f(double x, double y, double z) {
double r40111884 = x;
double r40111885 = z;
double r40111886 = r40111884 / r40111885;
double r40111887 = 0.5;
double r40111888 = y;
double r40111889 = r40111888 / r40111885;
double r40111890 = r40111887 + r40111889;
double r40111891 = r40111886 - r40111890;
double r40111892 = 4.0;
double r40111893 = r40111891 * r40111892;
return r40111893;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.1 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.1
Simplified0.0
rmApplied div-sub0.0
Applied associate--l-0.0
Final simplification0.0
herbie shell --seed 2019162
(FPCore (x y z)
:name "Data.Array.Repa.Algorithms.ColorRamp:rampColorHotToCold from repa-algorithms-3.4.0.1, B"
:herbie-target
(- (* 4.0 (/ x z)) (+ 2.0 (* 4.0 (/ y z))))
(/ (* 4.0 (- (- x y) (* z 0.5))) z))