x + \frac{y}{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}x + \frac{1}{\frac{e^{z}}{y} \cdot 1.128379167095512558560699289955664426088 - x}double f(double x, double y, double z) {
double r341675 = x;
double r341676 = y;
double r341677 = 1.1283791670955126;
double r341678 = z;
double r341679 = exp(r341678);
double r341680 = r341677 * r341679;
double r341681 = r341675 * r341676;
double r341682 = r341680 - r341681;
double r341683 = r341676 / r341682;
double r341684 = r341675 + r341683;
return r341684;
}
double f(double x, double y, double z) {
double r341685 = x;
double r341686 = 1.0;
double r341687 = z;
double r341688 = exp(r341687);
double r341689 = y;
double r341690 = r341688 / r341689;
double r341691 = 1.1283791670955126;
double r341692 = r341690 * r341691;
double r341693 = r341692 - r341685;
double r341694 = r341686 / r341693;
double r341695 = r341685 + r341694;
return r341695;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 3.0 |
|---|---|
| Target | 0.0 |
| Herbie | 0.1 |
Initial program 3.0
rmApplied clear-num3.0
Simplified0.1
Final simplification0.1
herbie shell --seed 2019196
(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)))))