\frac{x + y \cdot \left(z - x\right)}{z}y - \frac{x \cdot y - x}{z}double f(double x, double y, double z) {
double r675995 = x;
double r675996 = y;
double r675997 = z;
double r675998 = r675997 - r675995;
double r675999 = r675996 * r675998;
double r676000 = r675995 + r675999;
double r676001 = r676000 / r675997;
return r676001;
}
double f(double x, double y, double z) {
double r676002 = y;
double r676003 = x;
double r676004 = r676003 * r676002;
double r676005 = r676004 - r676003;
double r676006 = z;
double r676007 = r676005 / r676006;
double r676008 = r676002 - r676007;
return r676008;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.2 |
|---|---|
| Target | 0.0 |
| Herbie | 3.7 |
Initial program 10.2
Taylor expanded around 0 3.7
Simplified3.7
Final simplification3.7
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))