\frac{x + y \cdot \left(z - x\right)}{z}y + \frac{x}{z} \cdot \left(1 - y\right)double f(double x, double y, double z) {
double r832914 = x;
double r832915 = y;
double r832916 = z;
double r832917 = r832916 - r832914;
double r832918 = r832915 * r832917;
double r832919 = r832914 + r832918;
double r832920 = r832919 / r832916;
return r832920;
}
double f(double x, double y, double z) {
double r832921 = y;
double r832922 = x;
double r832923 = z;
double r832924 = r832922 / r832923;
double r832925 = 1.0;
double r832926 = r832925 - r832921;
double r832927 = r832924 * r832926;
double r832928 = r832921 + r832927;
return r832928;
}




Bits error versus x




Bits error versus y




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