1 + \frac{4 \cdot \left(\left(x + y \cdot 0.25\right) - z\right)}{y}\mathsf{fma}\left(4, \frac{x}{y} - \frac{z}{y}, 2\right)double f(double x, double y, double z) {
double r22975 = 1.0;
double r22976 = 4.0;
double r22977 = x;
double r22978 = y;
double r22979 = 0.25;
double r22980 = r22978 * r22979;
double r22981 = r22977 + r22980;
double r22982 = z;
double r22983 = r22981 - r22982;
double r22984 = r22976 * r22983;
double r22985 = r22984 / r22978;
double r22986 = r22975 + r22985;
return r22986;
}
double f(double x, double y, double z) {
double r22987 = 4.0;
double r22988 = x;
double r22989 = y;
double r22990 = r22988 / r22989;
double r22991 = z;
double r22992 = r22991 / r22989;
double r22993 = r22990 - r22992;
double r22994 = 2.0;
double r22995 = fma(r22987, r22993, r22994);
return r22995;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.2
Simplified0.0
Taylor expanded around 0 0.0
Simplified0.0
rmApplied div-sub0.0
Final simplification0.0
herbie shell --seed 2019310 +o rules:numerics
(FPCore (x y z)
:name "Data.Array.Repa.Algorithms.ColorRamp:rampColorHotToCold from repa-algorithms-3.4.0.1, C"
:precision binary64
(+ 1 (/ (* 4 (- (+ x (* y 0.25)) z)) y)))