\frac{x - y}{z - y}\mathsf{fma}\left(\frac{y}{z - y}, -1, \frac{y}{z - y}\right) + \left(\frac{z + y}{z - y} \cdot \frac{x}{z + y} - \frac{y}{z - y}\right)double f(double x, double y, double z) {
double r29945768 = x;
double r29945769 = y;
double r29945770 = r29945768 - r29945769;
double r29945771 = z;
double r29945772 = r29945771 - r29945769;
double r29945773 = r29945770 / r29945772;
return r29945773;
}
double f(double x, double y, double z) {
double r29945774 = y;
double r29945775 = z;
double r29945776 = r29945775 - r29945774;
double r29945777 = r29945774 / r29945776;
double r29945778 = -1.0;
double r29945779 = fma(r29945777, r29945778, r29945777);
double r29945780 = r29945775 + r29945774;
double r29945781 = r29945780 / r29945776;
double r29945782 = x;
double r29945783 = r29945782 / r29945780;
double r29945784 = r29945781 * r29945783;
double r29945785 = r29945784 - r29945777;
double r29945786 = r29945779 + r29945785;
return r29945786;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 0.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 0.0
rmApplied div-sub0.0
rmApplied add-cube-cbrt0.3
Applied flip--15.5
Applied associate-/r/17.6
Applied prod-diff17.6
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019169 +o rules:numerics
(FPCore (x y z)
:name "Graphics.Rasterific.Shading:$sgradientColorAt from Rasterific-0.6.1"
:herbie-target
(- (/ x (- z y)) (/ y (- z y)))
(/ (- x y) (- z y)))