\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 r38765350 = 4.0;
double r38765351 = x;
double r38765352 = y;
double r38765353 = r38765351 - r38765352;
double r38765354 = z;
double r38765355 = 0.5;
double r38765356 = r38765354 * r38765355;
double r38765357 = r38765353 - r38765356;
double r38765358 = r38765350 * r38765357;
double r38765359 = r38765358 / r38765354;
return r38765359;
}
double f(double x, double y, double z) {
double r38765360 = 4.0;
double r38765361 = x;
double r38765362 = z;
double r38765363 = r38765361 / r38765362;
double r38765364 = y;
double r38765365 = r38765364 / r38765362;
double r38765366 = r38765363 - r38765365;
double r38765367 = r38765360 * r38765366;
double r38765368 = 2.0;
double r38765369 = r38765367 - r38765368;
return r38765369;
}




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 +o rules:numerics
(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))