\log \left(1 + e^{x}\right) - x \cdot y\log \left(\frac{{1}^{3} + {\left(e^{x}\right)}^{3}}{\mathsf{fma}\left(e^{x}, e^{x} - 1, 1 \cdot 1\right)}\right) - x \cdot ydouble f(double x, double y) {
double r153273 = 1.0;
double r153274 = x;
double r153275 = exp(r153274);
double r153276 = r153273 + r153275;
double r153277 = log(r153276);
double r153278 = y;
double r153279 = r153274 * r153278;
double r153280 = r153277 - r153279;
return r153280;
}
double f(double x, double y) {
double r153281 = 1.0;
double r153282 = 3.0;
double r153283 = pow(r153281, r153282);
double r153284 = x;
double r153285 = exp(r153284);
double r153286 = pow(r153285, r153282);
double r153287 = r153283 + r153286;
double r153288 = r153285 - r153281;
double r153289 = r153281 * r153281;
double r153290 = fma(r153285, r153288, r153289);
double r153291 = r153287 / r153290;
double r153292 = log(r153291);
double r153293 = y;
double r153294 = r153284 * r153293;
double r153295 = r153292 - r153294;
return r153295;
}




Bits error versus x




Bits error versus y
| Original | 0.6 |
|---|---|
| Target | 0.1 |
| Herbie | 0.6 |
Initial program 0.6
rmApplied flip3-+0.6
Simplified0.6
Final simplification0.6
herbie shell --seed 2019353 +o rules:numerics
(FPCore (x y)
:name "Logistic regression 2"
:precision binary64
:herbie-target
(if (<= x 0.0) (- (log (+ 1 (exp x))) (* x y)) (- (log (+ 1 (exp (- x)))) (* (- x) (- 1 y))))
(- (log (+ 1 (exp x))) (* x y)))