\frac{x + y \cdot \left(z - x\right)}{z}\left(\frac{x}{z} + y\right) - \frac{\frac{x}{z}}{\frac{1}{y}}double f(double x, double y, double z) {
double r653164 = x;
double r653165 = y;
double r653166 = z;
double r653167 = r653166 - r653164;
double r653168 = r653165 * r653167;
double r653169 = r653164 + r653168;
double r653170 = r653169 / r653166;
return r653170;
}
double f(double x, double y, double z) {
double r653171 = x;
double r653172 = z;
double r653173 = r653171 / r653172;
double r653174 = y;
double r653175 = r653173 + r653174;
double r653176 = 1.0;
double r653177 = r653176 / r653174;
double r653178 = r653173 / r653177;
double r653179 = r653175 - r653178;
return r653179;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.1 |
Initial program 10.2
Taylor expanded around 0 3.5
rmApplied associate-/l*3.2
rmApplied div-inv3.2
Applied associate-/r*0.1
Final simplification0.1
herbie shell --seed 2020045
(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))