x + \frac{y}{1.12837916709551256 \cdot e^{z} - x \cdot y}x + \frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{1.12837916709551256 \cdot \frac{e^{z}}{y} - x}double f(double x, double y, double z) {
double r501657 = x;
double r501658 = y;
double r501659 = 1.1283791670955126;
double r501660 = z;
double r501661 = exp(r501660);
double r501662 = r501659 * r501661;
double r501663 = r501657 * r501658;
double r501664 = r501662 - r501663;
double r501665 = r501658 / r501664;
double r501666 = r501657 + r501665;
return r501666;
}
double f(double x, double y, double z) {
double r501667 = x;
double r501668 = 1.0;
double r501669 = cbrt(r501668);
double r501670 = r501669 * r501669;
double r501671 = 1.1283791670955126;
double r501672 = z;
double r501673 = exp(r501672);
double r501674 = y;
double r501675 = r501673 / r501674;
double r501676 = r501671 * r501675;
double r501677 = r501676 - r501667;
double r501678 = r501670 / r501677;
double r501679 = r501667 + r501678;
return r501679;
}




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 add-cube-cbrt2.7
Applied associate-/l*2.7
Simplified0.0
Final simplification0.0
herbie shell --seed 2020062
(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)))))