\frac{x + y \cdot \left(z - x\right)}{z}\left(\left(-y\right) + 1\right) \cdot \frac{x}{z} + ydouble f(double x, double y, double z) {
double r556974 = x;
double r556975 = y;
double r556976 = z;
double r556977 = r556976 - r556974;
double r556978 = r556975 * r556977;
double r556979 = r556974 + r556978;
double r556980 = r556979 / r556976;
return r556980;
}
double f(double x, double y, double z) {
double r556981 = y;
double r556982 = -r556981;
double r556983 = 1.0;
double r556984 = r556982 + r556983;
double r556985 = x;
double r556986 = z;
double r556987 = r556985 / r556986;
double r556988 = r556984 * r556987;
double r556989 = r556988 + r556981;
return r556989;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 10.2
Taylor expanded around 0 3.5
rmApplied *-un-lft-identity3.5
Applied *-un-lft-identity3.5
Applied distribute-lft-out--3.5
Simplified0.0
Final simplification0.0
herbie shell --seed 2019208
(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))