x + \frac{y}{1.1283791670955126 \cdot e^{z} - x \cdot y}x + \frac{1}{e^{z} \cdot \frac{1.1283791670955126}{y} - x}double f(double x, double y, double z) {
double r19640881 = x;
double r19640882 = y;
double r19640883 = 1.1283791670955126;
double r19640884 = z;
double r19640885 = exp(r19640884);
double r19640886 = r19640883 * r19640885;
double r19640887 = r19640881 * r19640882;
double r19640888 = r19640886 - r19640887;
double r19640889 = r19640882 / r19640888;
double r19640890 = r19640881 + r19640889;
return r19640890;
}
double f(double x, double y, double z) {
double r19640891 = x;
double r19640892 = 1.0;
double r19640893 = z;
double r19640894 = exp(r19640893);
double r19640895 = 1.1283791670955126;
double r19640896 = y;
double r19640897 = r19640895 / r19640896;
double r19640898 = r19640894 * r19640897;
double r19640899 = r19640898 - r19640891;
double r19640900 = r19640892 / r19640899;
double r19640901 = r19640891 + r19640900;
return r19640901;
}




Bits error versus x




Bits error versus y




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