x + \frac{y}{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}x + \frac{1}{\frac{e^{z}}{\frac{y}{1.128379167095512558560699289955664426088}} - x}double f(double x, double y, double z) {
double r17203021 = x;
double r17203022 = y;
double r17203023 = 1.1283791670955126;
double r17203024 = z;
double r17203025 = exp(r17203024);
double r17203026 = r17203023 * r17203025;
double r17203027 = r17203021 * r17203022;
double r17203028 = r17203026 - r17203027;
double r17203029 = r17203022 / r17203028;
double r17203030 = r17203021 + r17203029;
return r17203030;
}
double f(double x, double y, double z) {
double r17203031 = x;
double r17203032 = 1.0;
double r17203033 = z;
double r17203034 = exp(r17203033);
double r17203035 = y;
double r17203036 = 1.1283791670955126;
double r17203037 = r17203035 / r17203036;
double r17203038 = r17203034 / r17203037;
double r17203039 = r17203038 - r17203031;
double r17203040 = r17203032 / r17203039;
double r17203041 = r17203031 + r17203040;
return r17203041;
}




Bits error versus x




Bits error versus y




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