\frac{x + y \cdot \left(z - x\right)}{z}\mathsf{fma}\left(\frac{x}{z}, -y, y + \frac{x}{z}\right)double f(double x, double y, double z) {
double r33751747 = x;
double r33751748 = y;
double r33751749 = z;
double r33751750 = r33751749 - r33751747;
double r33751751 = r33751748 * r33751750;
double r33751752 = r33751747 + r33751751;
double r33751753 = r33751752 / r33751749;
return r33751753;
}
double f(double x, double y, double z) {
double r33751754 = x;
double r33751755 = z;
double r33751756 = r33751754 / r33751755;
double r33751757 = y;
double r33751758 = -r33751757;
double r33751759 = r33751757 + r33751756;
double r33751760 = fma(r33751756, r33751758, r33751759);
return r33751760;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 10.5 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 10.5
Simplified10.5
Taylor expanded around 0 3.5
Simplified0.0
Final simplification0.0
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Backend.Rasterific:rasterificRadialGradient from diagrams-rasterific-1.3.1.3"
:herbie-target
(- (+ y (/ x z)) (/ y (/ z x)))
(/ (+ x (* y (- z x))) z))