\frac{x + y \cdot \left(z - x\right)}{z}\frac{x}{\frac{z}{1 - y}} + ydouble f(double x, double y, double z) {
double r592740 = x;
double r592741 = y;
double r592742 = z;
double r592743 = r592742 - r592740;
double r592744 = r592741 * r592743;
double r592745 = r592740 + r592744;
double r592746 = r592745 / r592742;
return r592746;
}
double f(double x, double y, double z) {
double r592747 = x;
double r592748 = z;
double r592749 = 1.0;
double r592750 = y;
double r592751 = r592749 - r592750;
double r592752 = r592748 / r592751;
double r592753 = r592747 / r592752;
double r592754 = r592753 + r592750;
return r592754;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.3 |
|---|---|
| Target | 0.0 |
| Herbie | 2.9 |
Initial program 10.3
Taylor expanded around 0 3.2
Taylor expanded around 0 3.2
Simplified0.0
Final simplification2.9
herbie shell --seed 2019294
(FPCore (x y z)
:name "Diagrams.Backend.Rasterific:rasterificRadialGradient from diagrams-rasterific-1.3.1.3"
:precision binary64
:herbie-target
(- (+ y (/ x z)) (/ y (/ z x)))
(/ (+ x (* y (- z x))) z))