\log \left(1 + e^{x}\right) - x \cdot y\left(\sqrt[3]{\log \left(\sqrt{1 + e^{x}}\right) \cdot \left(\log \left(\sqrt{1 + e^{x}}\right) \cdot \log \left(\sqrt{1 + e^{x}}\right)\right)} + \log \left(\sqrt{{\left(e^{x}\right)}^{3} + 1}\right)\right) - \left(\log \left(\sqrt{\left(-1 + e^{x}\right) \cdot e^{x} - -1}\right) + x \cdot y\right)double f(double x, double y) {
double r5189248 = 1.0;
double r5189249 = x;
double r5189250 = exp(r5189249);
double r5189251 = r5189248 + r5189250;
double r5189252 = log(r5189251);
double r5189253 = y;
double r5189254 = r5189249 * r5189253;
double r5189255 = r5189252 - r5189254;
return r5189255;
}
double f(double x, double y) {
double r5189256 = 1.0;
double r5189257 = x;
double r5189258 = exp(r5189257);
double r5189259 = r5189256 + r5189258;
double r5189260 = sqrt(r5189259);
double r5189261 = log(r5189260);
double r5189262 = r5189261 * r5189261;
double r5189263 = r5189261 * r5189262;
double r5189264 = cbrt(r5189263);
double r5189265 = 3.0;
double r5189266 = pow(r5189258, r5189265);
double r5189267 = r5189266 + r5189256;
double r5189268 = sqrt(r5189267);
double r5189269 = log(r5189268);
double r5189270 = r5189264 + r5189269;
double r5189271 = -1.0;
double r5189272 = r5189271 + r5189258;
double r5189273 = r5189272 * r5189258;
double r5189274 = r5189273 - r5189271;
double r5189275 = sqrt(r5189274);
double r5189276 = log(r5189275);
double r5189277 = y;
double r5189278 = r5189257 * r5189277;
double r5189279 = r5189276 + r5189278;
double r5189280 = r5189270 - r5189279;
return r5189280;
}




Bits error versus x




Bits error versus y
Results
| Original | 0.4 |
|---|---|
| Target | 0.1 |
| Herbie | 1.0 |
Initial program 0.4
rmApplied add-sqr-sqrt1.2
Applied log-prod0.9
rmApplied flip3-+1.0
Applied sqrt-div1.0
Applied log-div1.0
Applied associate-+r-1.0
Applied associate--l-1.0
Simplified1.0
rmApplied add-cbrt-cube1.0
Final simplification1.0
herbie shell --seed 2019138
(FPCore (x y)
:name "Logistic regression 2"
:herbie-target
(if (<= x 0) (- (log (+ 1 (exp x))) (* x y)) (- (log (+ 1 (exp (- x)))) (* (- x) (- 1 y))))
(- (log (+ 1 (exp x))) (* x y)))