\frac{x + y \cdot \left(z - x\right)}{z}\left(\frac{x}{z} + y\right) - \frac{x}{z} \cdot ydouble f(double x, double y, double z) {
double r486735 = x;
double r486736 = y;
double r486737 = z;
double r486738 = r486737 - r486735;
double r486739 = r486736 * r486738;
double r486740 = r486735 + r486739;
double r486741 = r486740 / r486737;
return r486741;
}
double f(double x, double y, double z) {
double r486742 = x;
double r486743 = z;
double r486744 = r486742 / r486743;
double r486745 = y;
double r486746 = r486744 + r486745;
double r486747 = r486744 * r486745;
double r486748 = r486746 - r486747;
return r486748;
}




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
Simplified10.5
Taylor expanded around 0 3.5
rmApplied pow13.5
rmApplied associate-/l*3.1
rmApplied associate-/r/0.0
Final simplification0.0
herbie shell --seed 2019199 +o rules:numerics
(FPCore (x y z)
:name "Diagrams.Backend.Rasterific:rasterificRadialGradient from diagrams-rasterific-1.3.1.3"
:herbie-target
(- (+ y (/ x z)) (/ y (/ z x)))
(/ (+ x (* y (- z x))) z))