\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 r538314 = 4.0;
double r538315 = x;
double r538316 = y;
double r538317 = r538315 - r538316;
double r538318 = z;
double r538319 = 0.5;
double r538320 = r538318 * r538319;
double r538321 = r538317 - r538320;
double r538322 = r538314 * r538321;
double r538323 = r538322 / r538318;
return r538323;
}
double f(double x, double y, double z) {
double r538324 = 4.0;
double r538325 = x;
double r538326 = z;
double r538327 = r538325 / r538326;
double r538328 = y;
double r538329 = r538328 / r538326;
double r538330 = r538327 - r538329;
double r538331 = 0.5;
double r538332 = r538330 - r538331;
double r538333 = r538324 * r538332;
return r538333;
}




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 2019325 +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))