x + \frac{y}{1.128379167095512558560699289955664426088 \cdot e^{z} - x \cdot y}x + \frac{1}{\frac{e^{z} \cdot 1.128379167095512558560699289955664426088}{y} - x}double f(double x, double y, double z) {
double r18116618 = x;
double r18116619 = y;
double r18116620 = 1.1283791670955126;
double r18116621 = z;
double r18116622 = exp(r18116621);
double r18116623 = r18116620 * r18116622;
double r18116624 = r18116618 * r18116619;
double r18116625 = r18116623 - r18116624;
double r18116626 = r18116619 / r18116625;
double r18116627 = r18116618 + r18116626;
return r18116627;
}
double f(double x, double y, double z) {
double r18116628 = x;
double r18116629 = 1.0;
double r18116630 = z;
double r18116631 = exp(r18116630);
double r18116632 = 1.1283791670955126;
double r18116633 = r18116631 * r18116632;
double r18116634 = y;
double r18116635 = r18116633 / r18116634;
double r18116636 = r18116635 - r18116628;
double r18116637 = r18116629 / r18116636;
double r18116638 = r18116628 + r18116637;
return r18116638;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 2.6 |
|---|---|
| Target | 0.0 |
| Herbie | 0.0 |
Initial program 2.6
rmApplied clear-num2.6
rmApplied div-sub2.6
Simplified0.0
Final simplification0.0
herbie shell --seed 2019192
(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)))))