\frac{x + y \cdot \left(z - x\right)}{z}\mathsf{fma}\left(\frac{x}{z}, -y, \frac{x}{z}\right) + ydouble f(double x, double y, double z) {
double r35927478 = x;
double r35927479 = y;
double r35927480 = z;
double r35927481 = r35927480 - r35927478;
double r35927482 = r35927479 * r35927481;
double r35927483 = r35927478 + r35927482;
double r35927484 = r35927483 / r35927480;
return r35927484;
}
double f(double x, double y, double z) {
double r35927485 = x;
double r35927486 = z;
double r35927487 = r35927485 / r35927486;
double r35927488 = y;
double r35927489 = -r35927488;
double r35927490 = fma(r35927487, r35927489, r35927487);
double r35927491 = r35927490 + r35927488;
return r35927491;
}




Bits error versus x




Bits error versus y




Bits error versus z
| Original | 9.6 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 9.6
Simplified9.6
Taylor expanded around 0 3.2
Simplified0.0
Final simplification0.0
herbie shell --seed 2019168 +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))