1 + \frac{4 \cdot \left(\left(x + y \cdot 0.25\right) - z\right)}{y}\frac{\left({1}^{3} + {\left(0.25 \cdot 4\right)}^{3}\right) \cdot y + \left(1 \cdot 1 + \left(\left(0.25 \cdot 4\right) \cdot \left(0.25 \cdot 4\right) - 1 \cdot \left(0.25 \cdot 4\right)\right)\right) \cdot \left(\left(x - z\right) \cdot 4\right)}{y \cdot \left(\left(0.25 \cdot 4\right) \cdot \left(0.25 \cdot 4 - 1\right) + 1 \cdot 1\right)}double f(double x, double y, double z) {
double r389141 = 1.0;
double r389142 = 4.0;
double r389143 = x;
double r389144 = y;
double r389145 = 0.25;
double r389146 = r389144 * r389145;
double r389147 = r389143 + r389146;
double r389148 = z;
double r389149 = r389147 - r389148;
double r389150 = r389142 * r389149;
double r389151 = r389150 / r389144;
double r389152 = r389141 + r389151;
return r389152;
}
double f(double x, double y, double z) {
double r389153 = 1.0;
double r389154 = 3.0;
double r389155 = pow(r389153, r389154);
double r389156 = 0.25;
double r389157 = 4.0;
double r389158 = r389156 * r389157;
double r389159 = pow(r389158, r389154);
double r389160 = r389155 + r389159;
double r389161 = y;
double r389162 = r389160 * r389161;
double r389163 = r389153 * r389153;
double r389164 = r389158 * r389158;
double r389165 = r389153 * r389158;
double r389166 = r389164 - r389165;
double r389167 = r389163 + r389166;
double r389168 = x;
double r389169 = z;
double r389170 = r389168 - r389169;
double r389171 = r389170 * r389157;
double r389172 = r389167 * r389171;
double r389173 = r389162 + r389172;
double r389174 = r389158 - r389153;
double r389175 = r389158 * r389174;
double r389176 = r389175 + r389163;
double r389177 = r389161 * r389176;
double r389178 = r389173 / r389177;
return r389178;
}



Bits error versus x



Bits error versus y



Bits error versus z
Results
Initial program 0.1
Simplified0.0
rmApplied distribute-rgt-in0.0
Applied associate-+r+0.0
rmApplied associate-*l/0.1
Applied flip3-+0.1
Applied frac-add0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2020065
(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)))