\left(\left(x - \left(y + 0.5\right) \cdot \log y\right) + y\right) - z
\left(\left(x - \left(y + 0.5\right) \cdot \log \left(\sqrt{y}\right)\right) - \left(\left(y + 0.5\right) \cdot \log \left(\sqrt{y}\right) - y\right)\right) - zdouble f(double x, double y, double z) {
double r21031157 = x;
double r21031158 = y;
double r21031159 = 0.5;
double r21031160 = r21031158 + r21031159;
double r21031161 = log(r21031158);
double r21031162 = r21031160 * r21031161;
double r21031163 = r21031157 - r21031162;
double r21031164 = r21031163 + r21031158;
double r21031165 = z;
double r21031166 = r21031164 - r21031165;
return r21031166;
}
double f(double x, double y, double z) {
double r21031167 = x;
double r21031168 = y;
double r21031169 = 0.5;
double r21031170 = r21031168 + r21031169;
double r21031171 = sqrt(r21031168);
double r21031172 = log(r21031171);
double r21031173 = r21031170 * r21031172;
double r21031174 = r21031167 - r21031173;
double r21031175 = r21031173 - r21031168;
double r21031176 = r21031174 - r21031175;
double r21031177 = z;
double r21031178 = r21031176 - r21031177;
return r21031178;
}




Bits error versus x




Bits error versus y




Bits error versus z
Results
| Original | 0.1 |
|---|---|
| Target | 0.1 |
| Herbie | 0.1 |
Initial program 0.1
rmApplied add-sqr-sqrt0.1
Applied log-prod0.1
Applied distribute-lft-in0.1
Applied associate--r+0.1
rmApplied associate-+l-0.1
Final simplification0.1
herbie shell --seed 2019164
(FPCore (x y z)
:name "Numeric.SpecFunctions:stirlingError from math-functions-0.1.5.2"
:herbie-target
(- (- (+ y x) z) (* (+ y 0.5) (log y)))
(- (+ (- x (* (+ y 0.5) (log y))) y) z))