\frac{4.0 \cdot \left(\left(x - y\right) - z \cdot 0.5\right)}{z}\frac{x - \mathsf{fma}\left(z, 0.5, y\right)}{\frac{z}{4.0}}double f(double x, double y, double z) {
double r15315761 = 4.0;
double r15315762 = x;
double r15315763 = y;
double r15315764 = r15315762 - r15315763;
double r15315765 = z;
double r15315766 = 0.5;
double r15315767 = r15315765 * r15315766;
double r15315768 = r15315764 - r15315767;
double r15315769 = r15315761 * r15315768;
double r15315770 = r15315769 / r15315765;
return r15315770;
}
double f(double x, double y, double z) {
double r15315771 = x;
double r15315772 = z;
double r15315773 = 0.5;
double r15315774 = y;
double r15315775 = fma(r15315772, r15315773, r15315774);
double r15315776 = r15315771 - r15315775;
double r15315777 = 4.0;
double r15315778 = r15315772 / r15315777;
double r15315779 = r15315776 / r15315778;
return r15315779;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 0.1 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019156 +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))