\frac{e^{x \cdot \log \left(\frac{x}{x + y}\right)}}{x}\begin{array}{l}
\mathbf{if}\;x \le -45873.078033472484 \lor \neg \left(x \le 6.20122692916021112\right):\\
\;\;\;\;\frac{1}{x \cdot e^{y}}\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{x \cdot \left(\log \left(\frac{\sqrt[3]{x}}{\sqrt[3]{x + y}}\right) + \log \left(\frac{\sqrt[3]{x}}{\sqrt[3]{x + y}}\right)\right)}}{\frac{x}{\frac{{\left(\frac{\sqrt[3]{x}}{\sqrt[3]{x + y}}\right)}^{x}}{1}}}\\
\end{array}double f(double x, double y) {
double r433324 = x;
double r433325 = y;
double r433326 = r433324 + r433325;
double r433327 = r433324 / r433326;
double r433328 = log(r433327);
double r433329 = r433324 * r433328;
double r433330 = exp(r433329);
double r433331 = r433330 / r433324;
return r433331;
}
double f(double x, double y) {
double r433332 = x;
double r433333 = -45873.078033472484;
bool r433334 = r433332 <= r433333;
double r433335 = 6.201226929160211;
bool r433336 = r433332 <= r433335;
double r433337 = !r433336;
bool r433338 = r433334 || r433337;
double r433339 = 1.0;
double r433340 = y;
double r433341 = exp(r433340);
double r433342 = r433332 * r433341;
double r433343 = r433339 / r433342;
double r433344 = cbrt(r433332);
double r433345 = r433332 + r433340;
double r433346 = cbrt(r433345);
double r433347 = r433344 / r433346;
double r433348 = log(r433347);
double r433349 = r433348 + r433348;
double r433350 = r433332 * r433349;
double r433351 = exp(r433350);
double r433352 = pow(r433347, r433332);
double r433353 = r433352 / r433339;
double r433354 = r433332 / r433353;
double r433355 = r433351 / r433354;
double r433356 = r433338 ? r433343 : r433355;
return r433356;
}




Bits error versus x




Bits error versus y
Results
| Original | 11.4 |
|---|---|
| Target | 7.8 |
| Herbie | 0.0 |
if x < -45873.078033472484 or 6.201226929160211 < x Initial program 11.1
Taylor expanded around inf 0.1
rmApplied clear-num0.1
Simplified0.1
if -45873.078033472484 < x < 6.201226929160211Initial program 11.8
rmApplied add-cube-cbrt11.8
Applied add-cube-cbrt11.8
Applied times-frac11.8
Applied log-prod2.2
Applied distribute-lft-in2.2
Applied exp-sum2.2
Applied associate-/l*2.2
Simplified2.2
rmApplied times-frac2.2
Applied log-prod0.0
Final simplification0.0
herbie shell --seed 2020049
(FPCore (x y)
:name "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, F"
:precision binary64
:herbie-target
(if (< y -3.7311844206647956e+94) (/ (exp (/ -1 y)) x) (if (< y 2.817959242728288e+37) (/ (pow (/ x (+ y x)) x) x) (if (< y 2.347387415166998e+178) (log (exp (/ (pow (/ x (+ y x)) x) x))) (/ (exp (/ -1 y)) x))))
(/ (exp (* x (log (/ x (+ x y))))) x))