\frac{x + y \cdot \left(z - x\right)}{z}\frac{x}{\frac{z}{1 - y}} + ydouble f(double x, double y, double z) {
double r661883 = x;
double r661884 = y;
double r661885 = z;
double r661886 = r661885 - r661883;
double r661887 = r661884 * r661886;
double r661888 = r661883 + r661887;
double r661889 = r661888 / r661885;
return r661889;
}
double f(double x, double y, double z) {
double r661890 = x;
double r661891 = z;
double r661892 = 1.0;
double r661893 = y;
double r661894 = r661892 - r661893;
double r661895 = r661891 / r661894;
double r661896 = r661890 / r661895;
double r661897 = r661896 + r661893;
return r661897;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.4 |
|---|---|
| Target | 0.0 |
| Herbie | 2.9 |
Initial program 10.4
Taylor expanded around 0 3.4
Taylor expanded around 0 3.4
Simplified0.0
Final simplification2.9
herbie shell --seed 2019291
(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))