\frac{x + y \cdot \left(z - x\right)}{z}\left(\left(-y\right) + 1\right) \cdot \frac{x}{z} + ydouble f(double x, double y, double z) {
double r495941 = x;
double r495942 = y;
double r495943 = z;
double r495944 = r495943 - r495941;
double r495945 = r495942 * r495944;
double r495946 = r495941 + r495945;
double r495947 = r495946 / r495943;
return r495947;
}
double f(double x, double y, double z) {
double r495948 = y;
double r495949 = -r495948;
double r495950 = 1.0;
double r495951 = r495949 + r495950;
double r495952 = x;
double r495953 = z;
double r495954 = r495952 / r495953;
double r495955 = r495951 * r495954;
double r495956 = r495955 + r495948;
return r495956;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 10.3 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 10.3
Taylor expanded around 0 3.5
rmApplied *-un-lft-identity3.5
Applied *-un-lft-identity3.5
Applied distribute-lft-out--3.5
Simplified0.0
Final simplification0.0
herbie shell --seed 2019235
(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))