\frac{4 \cdot \left(\left(x - y\right) - z \cdot 0.5\right)}{z}4 \cdot \left(\left(\frac{x}{z} - \frac{y}{z}\right) - 0.5\right)double f(double x, double y, double z) {
double r974058 = 4.0;
double r974059 = x;
double r974060 = y;
double r974061 = r974059 - r974060;
double r974062 = z;
double r974063 = 0.5;
double r974064 = r974062 * r974063;
double r974065 = r974061 - r974064;
double r974066 = r974058 * r974065;
double r974067 = r974066 / r974062;
return r974067;
}
double f(double x, double y, double z) {
double r974068 = 4.0;
double r974069 = x;
double r974070 = z;
double r974071 = r974069 / r974070;
double r974072 = y;
double r974073 = r974072 / r974070;
double r974074 = r974071 - r974073;
double r974075 = 0.5;
double r974076 = r974074 - r974075;
double r974077 = r974068 * r974076;
return r974077;
}




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
Final simplification0.0
herbie shell --seed 2020043 +o rules:numerics
(FPCore (x y z)
:name "Data.Array.Repa.Algorithms.ColorRamp:rampColorHotToCold from repa-algorithms-3.4.0.1, B"
:precision binary64
:herbie-target
(- (* 4 (/ x z)) (+ 2 (* 4 (/ y z))))
(/ (* 4 (- (- x y) (* z 0.5))) z))