1 + \frac{4 \cdot \left(\left(x + y \cdot 0.25\right) - z\right)}{y}\left(1 + 0.25 \cdot 4\right) + 4 \cdot \frac{x - z}{y}double f(double x, double y, double z) {
double r328037 = 1.0;
double r328038 = 4.0;
double r328039 = x;
double r328040 = y;
double r328041 = 0.25;
double r328042 = r328040 * r328041;
double r328043 = r328039 + r328042;
double r328044 = z;
double r328045 = r328043 - r328044;
double r328046 = r328038 * r328045;
double r328047 = r328046 / r328040;
double r328048 = r328037 + r328047;
return r328048;
}
double f(double x, double y, double z) {
double r328049 = 1.0;
double r328050 = 0.25;
double r328051 = 4.0;
double r328052 = r328050 * r328051;
double r328053 = r328049 + r328052;
double r328054 = x;
double r328055 = z;
double r328056 = r328054 - r328055;
double r328057 = y;
double r328058 = r328056 / r328057;
double r328059 = r328051 * r328058;
double r328060 = r328053 + r328059;
return r328060;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Simplified0.0
rmApplied distribute-lft-in0.0
Applied associate-+r+0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020083
(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)))