\frac{4 \cdot \left(\left(x - y\right) - z \cdot 0.5\right)}{z}4 \cdot \left(\frac{x}{z} - \frac{y}{z}\right) - 2double f(double x, double y, double z) {
double r41408008 = 4.0;
double r41408009 = x;
double r41408010 = y;
double r41408011 = r41408009 - r41408010;
double r41408012 = z;
double r41408013 = 0.5;
double r41408014 = r41408012 * r41408013;
double r41408015 = r41408011 - r41408014;
double r41408016 = r41408008 * r41408015;
double r41408017 = r41408016 / r41408012;
return r41408017;
}
double f(double x, double y, double z) {
double r41408018 = 4.0;
double r41408019 = x;
double r41408020 = z;
double r41408021 = r41408019 / r41408020;
double r41408022 = y;
double r41408023 = r41408022 / r41408020;
double r41408024 = r41408021 - r41408023;
double r41408025 = r41408018 * r41408024;
double r41408026 = 2.0;
double r41408027 = r41408025 - r41408026;
return r41408027;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.2
Taylor expanded around 0 0.0
Simplified0.0
rmApplied div-sub0.0
Final simplification0.0
herbie shell --seed 2019192
(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))