\frac{x + y \cdot \left(z - x\right)}{z}\mathsf{fma}\left(-\frac{x}{z}, y, y + \frac{x}{z}\right)double f(double x, double y, double z) {
double r91329256 = x;
double r91329257 = y;
double r91329258 = z;
double r91329259 = r91329258 - r91329256;
double r91329260 = r91329257 * r91329259;
double r91329261 = r91329256 + r91329260;
double r91329262 = r91329261 / r91329258;
return r91329262;
}
double f(double x, double y, double z) {
double r91329263 = x;
double r91329264 = z;
double r91329265 = r91329263 / r91329264;
double r91329266 = -r91329265;
double r91329267 = y;
double r91329268 = r91329267 + r91329265;
double r91329269 = fma(r91329266, r91329267, r91329268);
return r91329269;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 10.2 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 10.2
Simplified10.2
Taylor expanded around 0 3.6
Simplified0.0
Final simplification0.0
herbie shell --seed 2019173 +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))