\frac{x + y \cdot \left(z - x\right)}{z}y + \left(\left(-y\right) + 1\right) \cdot \frac{x}{z}double f(double x, double y, double z) {
double r780020 = x;
double r780021 = y;
double r780022 = z;
double r780023 = r780022 - r780020;
double r780024 = r780021 * r780023;
double r780025 = r780020 + r780024;
double r780026 = r780025 / r780022;
return r780026;
}
double f(double x, double y, double z) {
double r780027 = y;
double r780028 = -r780027;
double r780029 = 1.0;
double r780030 = r780028 + r780029;
double r780031 = x;
double r780032 = z;
double r780033 = r780031 / r780032;
double r780034 = r780030 * r780033;
double r780035 = r780027 + r780034;
return r780035;
}




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
Taylor expanded around 0 3.6
rmApplied *-un-lft-identity3.6
Applied *-un-lft-identity3.6
Applied distribute-lft-out--3.6
Simplified0.0
Final simplification0.0
herbie shell --seed 2020042
(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))