\frac{x + y \cdot \left(z - x\right)}{z}\left(\frac{x}{z} + y\right) - \frac{x}{z} \cdot ydouble f(double x, double y, double z) {
double r847979 = x;
double r847980 = y;
double r847981 = z;
double r847982 = r847981 - r847979;
double r847983 = r847980 * r847982;
double r847984 = r847979 + r847983;
double r847985 = r847984 / r847981;
return r847985;
}
double f(double x, double y, double z) {
double r847986 = x;
double r847987 = z;
double r847988 = r847986 / r847987;
double r847989 = y;
double r847990 = r847988 + r847989;
double r847991 = r847988 * r847989;
double r847992 = r847990 - r847991;
return r847992;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.2 |
|---|---|
| Target | 0.1 |
| Herbie | 0.0 |
Initial program 10.2
Taylor expanded around 0 3.6
Taylor expanded around 0 3.6
Simplified0.0
Final simplification0.0
herbie shell --seed 2020025
(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))