\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 r982095 = x;
double r982096 = y;
double r982097 = z;
double r982098 = r982097 - r982095;
double r982099 = r982096 * r982098;
double r982100 = r982095 + r982099;
double r982101 = r982100 / r982097;
return r982101;
}
double f(double x, double y, double z) {
double r982102 = y;
double r982103 = -r982102;
double r982104 = 1.0;
double r982105 = r982103 + r982104;
double r982106 = x;
double r982107 = z;
double r982108 = r982106 / r982107;
double r982109 = r982105 * r982108;
double r982110 = r982109 + r982102;
return r982110;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 9.9 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 9.9
Taylor expanded around 0 3.1
rmApplied add-cube-cbrt3.2
Applied add-sqr-sqrt33.4
Applied prod-diff33.4
Simplified3.1
Simplified0.0
Final simplification0.0
herbie shell --seed 2019351 +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))