{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -29869477.165418986:\\
\;\;\;\;\left(\frac{1}{x \cdot n} + \frac{\frac{\log x}{n}}{x \cdot n}\right) - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\\
\mathbf{elif}\;n \le -3.1374879532667245 \cdot 10^{-302}:\\
\;\;\;\;\log \left(e^{\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}}\right) \cdot \sqrt[3]{\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) + \mathsf{fma}\left(1, {\left(1 + 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)}\\
\mathbf{elif}\;n \le 0.9292141684675859:\\
\;\;\;\;\log \left(e^{e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{\log x}{n}}{x \cdot n} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) + \frac{\frac{1}{n}}{x}\\
\end{array}double f(double x, double n) {
double r2550409 = x;
double r2550410 = 1.0;
double r2550411 = r2550409 + r2550410;
double r2550412 = n;
double r2550413 = r2550410 / r2550412;
double r2550414 = pow(r2550411, r2550413);
double r2550415 = pow(r2550409, r2550413);
double r2550416 = r2550414 - r2550415;
return r2550416;
}
double f(double x, double n) {
double r2550417 = n;
double r2550418 = -29869477.165418986;
bool r2550419 = r2550417 <= r2550418;
double r2550420 = 1.0;
double r2550421 = x;
double r2550422 = r2550421 * r2550417;
double r2550423 = r2550420 / r2550422;
double r2550424 = log(r2550421);
double r2550425 = r2550424 / r2550417;
double r2550426 = r2550425 / r2550422;
double r2550427 = r2550423 + r2550426;
double r2550428 = 0.5;
double r2550429 = r2550421 * r2550422;
double r2550430 = r2550428 / r2550429;
double r2550431 = r2550427 - r2550430;
double r2550432 = -3.1374879532667245e-302;
bool r2550433 = r2550417 <= r2550432;
double r2550434 = r2550420 + r2550421;
double r2550435 = r2550420 / r2550417;
double r2550436 = pow(r2550434, r2550435);
double r2550437 = pow(r2550421, r2550435);
double r2550438 = r2550436 - r2550437;
double r2550439 = cbrt(r2550438);
double r2550440 = r2550439 * r2550439;
double r2550441 = exp(r2550440);
double r2550442 = log(r2550441);
double r2550443 = cbrt(r2550421);
double r2550444 = pow(r2550443, r2550435);
double r2550445 = -r2550444;
double r2550446 = r2550443 * r2550443;
double r2550447 = pow(r2550446, r2550435);
double r2550448 = r2550447 * r2550444;
double r2550449 = fma(r2550445, r2550447, r2550448);
double r2550450 = -r2550448;
double r2550451 = fma(r2550420, r2550436, r2550450);
double r2550452 = r2550449 + r2550451;
double r2550453 = cbrt(r2550452);
double r2550454 = r2550442 * r2550453;
double r2550455 = 0.9292141684675859;
bool r2550456 = r2550417 <= r2550455;
double r2550457 = log1p(r2550421);
double r2550458 = r2550457 / r2550417;
double r2550459 = exp(r2550458);
double r2550460 = r2550459 - r2550437;
double r2550461 = exp(r2550460);
double r2550462 = log(r2550461);
double r2550463 = r2550426 - r2550430;
double r2550464 = r2550435 / r2550421;
double r2550465 = r2550463 + r2550464;
double r2550466 = r2550456 ? r2550462 : r2550465;
double r2550467 = r2550433 ? r2550454 : r2550466;
double r2550468 = r2550419 ? r2550431 : r2550467;
return r2550468;
}



Bits error versus x



Bits error versus n
if n < -29869477.165418986Initial program 45.3
Taylor expanded around inf 32.7
Simplified32.7
if -29869477.165418986 < n < -3.1374879532667245e-302Initial program 0.8
rmApplied add-log-exp1.1
Applied add-log-exp1.0
Applied diff-log1.0
Simplified1.0
rmApplied add-cube-cbrt1.0
Applied exp-prod1.0
Applied log-pow1.0
rmApplied add-cube-cbrt1.0
Applied unpow-prod-down1.0
Applied *-un-lft-identity1.0
Applied prod-diff1.0
if -3.1374879532667245e-302 < n < 0.9292141684675859Initial program 22.6
rmApplied add-log-exp22.7
Applied add-log-exp22.7
Applied diff-log22.7
Simplified22.7
rmApplied add-exp-log23.9
Applied pow-exp23.9
Simplified2.0
if 0.9292141684675859 < n Initial program 43.4
rmApplied add-log-exp43.5
Applied add-log-exp43.5
Applied diff-log43.5
Simplified43.5
Taylor expanded around inf 31.5
Simplified30.8
Final simplification18.8
herbie shell --seed 2019152 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))