\frac{x + y \cdot \left(z - x\right)}{z}\left(y - \frac{x}{z} \cdot y\right) + \frac{x}{z}double f(double x, double y, double z) {
double r13020633 = x;
double r13020634 = y;
double r13020635 = z;
double r13020636 = r13020635 - r13020633;
double r13020637 = r13020634 * r13020636;
double r13020638 = r13020633 + r13020637;
double r13020639 = r13020638 / r13020635;
return r13020639;
}
double f(double x, double y, double z) {
double r13020640 = y;
double r13020641 = x;
double r13020642 = z;
double r13020643 = r13020641 / r13020642;
double r13020644 = r13020643 * r13020640;
double r13020645 = r13020640 - r13020644;
double r13020646 = r13020645 + r13020643;
return r13020646;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 9.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 9.2
Simplified9.2
Taylor expanded around 0 2.9
Simplified0.0
Final simplification0.0
herbie shell --seed 2019156 +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))