\frac{x + y \cdot \left(z - x\right)}{z}y - \frac{x}{z} \cdot \left(y - 1\right)double f(double x, double y, double z) {
double r480295 = x;
double r480296 = y;
double r480297 = z;
double r480298 = r480297 - r480295;
double r480299 = r480296 * r480298;
double r480300 = r480295 + r480299;
double r480301 = r480300 / r480297;
return r480301;
}
double f(double x, double y, double z) {
double r480302 = y;
double r480303 = x;
double r480304 = z;
double r480305 = r480303 / r480304;
double r480306 = 1.0;
double r480307 = r480302 - r480306;
double r480308 = r480305 * r480307;
double r480309 = r480302 - r480308;
return r480309;
}




Bits error versus x




Bits error versus y




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