1.0 + \frac{4.0 \cdot \left(\left(x + y \cdot 0.75\right) - z\right)}{y}\mathsf{fma}\left(\frac{x - z}{y} + 0.75, 4.0, 1.0\right)double f(double x, double y, double z) {
double r14072631 = 1.0;
double r14072632 = 4.0;
double r14072633 = x;
double r14072634 = y;
double r14072635 = 0.75;
double r14072636 = r14072634 * r14072635;
double r14072637 = r14072633 + r14072636;
double r14072638 = z;
double r14072639 = r14072637 - r14072638;
double r14072640 = r14072632 * r14072639;
double r14072641 = r14072640 / r14072634;
double r14072642 = r14072631 + r14072641;
return r14072642;
}
double f(double x, double y, double z) {
double r14072643 = x;
double r14072644 = z;
double r14072645 = r14072643 - r14072644;
double r14072646 = y;
double r14072647 = r14072645 / r14072646;
double r14072648 = 0.75;
double r14072649 = r14072647 + r14072648;
double r14072650 = 4.0;
double r14072651 = 1.0;
double r14072652 = fma(r14072649, r14072650, r14072651);
return r14072652;
}



Bits error versus x



Bits error versus y



Bits error versus z
Initial program 0.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y z)
:name "Data.Array.Repa.Algorithms.ColorRamp:rampColorHotToCold from repa-algorithms-3.4.0.1, A"
(+ 1.0 (/ (* 4.0 (- (+ x (* y 0.75)) z)) y)))