x + \frac{y}{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}x + \frac{1}{1.128379167095512558560699289955664426088 \cdot \frac{e^{z}}{y} - x}double f(double x, double y, double z) {
double r316749 = x;
double r316750 = y;
double r316751 = 1.1283791670955126;
double r316752 = z;
double r316753 = exp(r316752);
double r316754 = r316751 * r316753;
double r316755 = r316749 * r316750;
double r316756 = r316754 - r316755;
double r316757 = r316750 / r316756;
double r316758 = r316749 + r316757;
return r316758;
}
double f(double x, double y, double z) {
double r316759 = x;
double r316760 = 1.0;
double r316761 = 1.1283791670955126;
double r316762 = z;
double r316763 = exp(r316762);
double r316764 = y;
double r316765 = r316763 / r316764;
double r316766 = r316761 * r316765;
double r316767 = r316766 - r316759;
double r316768 = r316760 / r316767;
double r316769 = r316759 + r316768;
return r316769;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 2.8 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 2.8
rmApplied clear-num2.8
Simplified0.0
Final simplification0.0
herbie shell --seed 2019323
(FPCore (x y z)
:name "Numeric.SpecFunctions:invErfc from math-functions-0.1.5.2, A"
:precision binary64
:herbie-target
(+ x (/ 1 (- (* (/ 1.1283791670955126 y) (exp z)) x)))
(+ x (/ y (- (* 1.1283791670955126 (exp z)) (* x y)))))