{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -233718.83379744613:\\
\;\;\;\;\left(\frac{\frac{\log x}{n \cdot n}}{x} + \frac{\frac{1}{n}}{x}\right) - \frac{\frac{\frac{1}{2}}{n}}{x \cdot x}\\
\mathbf{elif}\;n \le -1.1961188537549 \cdot 10^{-310}:\\
\;\;\;\;\mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + \log \left(e^{\mathsf{fma}\left({\left(\sqrt[3]{1 + x} \cdot \sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot \left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)}\right)\\
\mathbf{elif}\;n \le 6277284157.817854:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{\log x}{n \cdot n}}{x} + \frac{\frac{1}{n}}{x}\right) - \frac{\frac{\frac{1}{2}}{n}}{x \cdot x}\\
\end{array}double f(double x, double n) {
double r2032384 = x;
double r2032385 = 1.0;
double r2032386 = r2032384 + r2032385;
double r2032387 = n;
double r2032388 = r2032385 / r2032387;
double r2032389 = pow(r2032386, r2032388);
double r2032390 = pow(r2032384, r2032388);
double r2032391 = r2032389 - r2032390;
return r2032391;
}
double f(double x, double n) {
double r2032392 = n;
double r2032393 = -233718.83379744613;
bool r2032394 = r2032392 <= r2032393;
double r2032395 = x;
double r2032396 = log(r2032395);
double r2032397 = r2032392 * r2032392;
double r2032398 = r2032396 / r2032397;
double r2032399 = r2032398 / r2032395;
double r2032400 = 1.0;
double r2032401 = r2032400 / r2032392;
double r2032402 = r2032401 / r2032395;
double r2032403 = r2032399 + r2032402;
double r2032404 = 0.5;
double r2032405 = r2032404 / r2032392;
double r2032406 = r2032395 * r2032395;
double r2032407 = r2032405 / r2032406;
double r2032408 = r2032403 - r2032407;
double r2032409 = -1.1961188537549e-310;
bool r2032410 = r2032392 <= r2032409;
double r2032411 = cbrt(r2032395);
double r2032412 = pow(r2032411, r2032401);
double r2032413 = -r2032412;
double r2032414 = r2032411 * r2032411;
double r2032415 = pow(r2032414, r2032401);
double r2032416 = r2032415 * r2032412;
double r2032417 = fma(r2032413, r2032415, r2032416);
double r2032418 = r2032400 + r2032395;
double r2032419 = cbrt(r2032418);
double r2032420 = r2032419 * r2032419;
double r2032421 = pow(r2032420, r2032401);
double r2032422 = pow(r2032419, r2032401);
double r2032423 = r2032415 * r2032413;
double r2032424 = fma(r2032421, r2032422, r2032423);
double r2032425 = exp(r2032424);
double r2032426 = log(r2032425);
double r2032427 = r2032417 + r2032426;
double r2032428 = 6277284157.817854;
bool r2032429 = r2032392 <= r2032428;
double r2032430 = log1p(r2032395);
double r2032431 = r2032430 / r2032392;
double r2032432 = exp(r2032431);
double r2032433 = pow(r2032395, r2032401);
double r2032434 = r2032432 - r2032433;
double r2032435 = r2032429 ? r2032434 : r2032408;
double r2032436 = r2032410 ? r2032427 : r2032435;
double r2032437 = r2032394 ? r2032408 : r2032436;
return r2032437;
}



Bits error versus x



Bits error versus n
if n < -233718.83379744613 or 6277284157.817854 < n Initial program 44.3
Taylor expanded around inf 31.8
Simplified31.3
if -233718.83379744613 < n < -1.1961188537549e-310Initial program 0.5
rmApplied add-cube-cbrt0.5
Applied unpow-prod-down0.5
Applied add-cube-cbrt0.5
Applied unpow-prod-down0.5
Applied prod-diff0.5
rmApplied add-log-exp0.7
if -1.1961188537549e-310 < n < 6277284157.817854Initial program 25.6
rmApplied add-exp-log25.6
Applied pow-exp25.6
Simplified2.5
Final simplification18.6
herbie shell --seed 2019141 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))