\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 r34049856 = x;
double r34049857 = y;
double r34049858 = z;
double r34049859 = r34049858 - r34049856;
double r34049860 = r34049857 * r34049859;
double r34049861 = r34049856 + r34049860;
double r34049862 = r34049861 / r34049858;
return r34049862;
}
double f(double x, double y, double z) {
double r34049863 = x;
double r34049864 = z;
double r34049865 = r34049863 / r34049864;
double r34049866 = y;
double r34049867 = -r34049866;
double r34049868 = fma(r34049865, r34049867, r34049865);
double r34049869 = r34049868 + r34049866;
return r34049869;
}




Bits error versus x




Bits error versus y




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