\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 r622000 = x;
double r622001 = y;
double r622002 = z;
double r622003 = r622002 - r622000;
double r622004 = r622001 * r622003;
double r622005 = r622000 + r622004;
double r622006 = r622005 / r622002;
return r622006;
}
double f(double x, double y, double z) {
double r622007 = y;
double r622008 = -r622007;
double r622009 = 1.0;
double r622010 = r622008 + r622009;
double r622011 = x;
double r622012 = z;
double r622013 = r622011 / r622012;
double r622014 = r622010 * r622013;
double r622015 = r622014 + r622007;
return r622015;
}




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
Simplified10.3
Taylor expanded around 0 3.5
Taylor expanded around 0 3.5
Simplified0.0
Final simplification0.0
herbie shell --seed 2019306 +o rules:numerics
(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))