1 + \frac{4 \cdot \left(\left(x + y \cdot 0.25\right) - z\right)}{y}1 + \left(1 + 4 \cdot \left(\frac{x}{y} - \frac{z}{y}\right)\right)double f(double x, double y, double z) {
double r305942 = 1.0;
double r305943 = 4.0;
double r305944 = x;
double r305945 = y;
double r305946 = 0.25;
double r305947 = r305945 * r305946;
double r305948 = r305944 + r305947;
double r305949 = z;
double r305950 = r305948 - r305949;
double r305951 = r305943 * r305950;
double r305952 = r305951 / r305945;
double r305953 = r305942 + r305952;
return r305953;
}
double f(double x, double y, double z) {
double r305954 = 1.0;
double r305955 = 4.0;
double r305956 = x;
double r305957 = y;
double r305958 = r305956 / r305957;
double r305959 = z;
double r305960 = r305959 / r305957;
double r305961 = r305958 - r305960;
double r305962 = r305955 * r305961;
double r305963 = r305954 + r305962;
double r305964 = r305954 + r305963;
return r305964;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Taylor expanded around 0 0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019350
(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)))