\frac{4 \cdot \left(\left(x - y\right) - z \cdot 0.5\right)}{z}4 \cdot \left(\frac{x - y}{z} - 0.5\right)double f(double x, double y, double z) {
double r644364 = 4.0;
double r644365 = x;
double r644366 = y;
double r644367 = r644365 - r644366;
double r644368 = z;
double r644369 = 0.5;
double r644370 = r644368 * r644369;
double r644371 = r644367 - r644370;
double r644372 = r644364 * r644371;
double r644373 = r644372 / r644368;
return r644373;
}
double f(double x, double y, double z) {
double r644374 = 4.0;
double r644375 = x;
double r644376 = y;
double r644377 = r644375 - r644376;
double r644378 = z;
double r644379 = r644377 / r644378;
double r644380 = 0.5;
double r644381 = r644379 - r644380;
double r644382 = r644374 * r644381;
return r644382;
}




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
Final simplification0.0
herbie shell --seed 2019326 +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))