\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 r32316358 = x;
double r32316359 = y;
double r32316360 = z;
double r32316361 = r32316360 - r32316358;
double r32316362 = r32316359 * r32316361;
double r32316363 = r32316358 + r32316362;
double r32316364 = r32316363 / r32316360;
return r32316364;
}
double f(double x, double y, double z) {
double r32316365 = x;
double r32316366 = z;
double r32316367 = r32316365 / r32316366;
double r32316368 = y;
double r32316369 = -r32316368;
double r32316370 = fma(r32316367, r32316369, r32316367);
double r32316371 = r32316370 + r32316368;
return r32316371;
}




Bits error versus x




Bits error versus y




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