\frac{x + y \cdot \left(z - x\right)}{z}\frac{x}{\frac{z}{1 - y}} + ydouble f(double x, double y, double z) {
double r511085 = x;
double r511086 = y;
double r511087 = z;
double r511088 = r511087 - r511085;
double r511089 = r511086 * r511088;
double r511090 = r511085 + r511089;
double r511091 = r511090 / r511087;
return r511091;
}
double f(double x, double y, double z) {
double r511092 = x;
double r511093 = z;
double r511094 = 1.0;
double r511095 = y;
double r511096 = r511094 - r511095;
double r511097 = r511093 / r511096;
double r511098 = r511092 / r511097;
double r511099 = r511098 + r511095;
return r511099;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.2 |
|---|---|
| Target | 0.0 |
| Herbie | 3.2 |
Initial program 10.2
Taylor expanded around 0 3.7
Taylor expanded around 0 3.7
Simplified0.0
Final simplification3.2
herbie shell --seed 2019303
(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))