\frac{x + y \cdot \left(z - x\right)}{z}\frac{x}{\frac{z}{1 - y}} + ydouble f(double x, double y, double z) {
double r501067 = x;
double r501068 = y;
double r501069 = z;
double r501070 = r501069 - r501067;
double r501071 = r501068 * r501070;
double r501072 = r501067 + r501071;
double r501073 = r501072 / r501069;
return r501073;
}
double f(double x, double y, double z) {
double r501074 = x;
double r501075 = z;
double r501076 = 1.0;
double r501077 = y;
double r501078 = r501076 - r501077;
double r501079 = r501075 / r501078;
double r501080 = r501074 / r501079;
double r501081 = r501080 + r501077;
return r501081;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 9.7 |
|---|---|
| Target | 0.0 |
| Herbie | 2.7 |
Initial program 9.7
Taylor expanded around 0 3.2
Taylor expanded around 0 3.2
Simplified0.0
Final simplification2.7
herbie shell --seed 2019298
(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))