{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -3.2155947364724913 \cdot 10^{-22}:\\
\;\;\;\;\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) + \sqrt[3]{\left(\left({\left(x + 1\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) \cdot \left({\left(x + 1\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)\right) \cdot \left(\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(x + 1\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}\;\frac{1}{n} \le 4.2228249751738446 \cdot 10^{-17}:\\
\;\;\;\;\left(\frac{\log x}{x \cdot \left(n \cdot n\right)} + \frac{1}{x \cdot n}\right) - \frac{\frac{\frac{1}{2}}{n}}{x \cdot x}\\
\mathbf{else}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\end{array}double f(double x, double n) {
double r3487276 = x;
double r3487277 = 1.0;
double r3487278 = r3487276 + r3487277;
double r3487279 = n;
double r3487280 = r3487277 / r3487279;
double r3487281 = pow(r3487278, r3487280);
double r3487282 = pow(r3487276, r3487280);
double r3487283 = r3487281 - r3487282;
return r3487283;
}
double f(double x, double n) {
double r3487284 = 1.0;
double r3487285 = n;
double r3487286 = r3487284 / r3487285;
double r3487287 = -3.2155947364724913e-22;
bool r3487288 = r3487286 <= r3487287;
double r3487289 = x;
double r3487290 = cbrt(r3487289);
double r3487291 = pow(r3487290, r3487286);
double r3487292 = -r3487291;
double r3487293 = r3487290 * r3487290;
double r3487294 = pow(r3487293, r3487286);
double r3487295 = r3487294 * r3487291;
double r3487296 = fma(r3487292, r3487294, r3487295);
double r3487297 = r3487289 + r3487284;
double r3487298 = pow(r3487297, r3487286);
double r3487299 = r3487298 - r3487295;
double r3487300 = r3487299 * r3487299;
double r3487301 = r3487294 * r3487292;
double r3487302 = fma(r3487284, r3487298, r3487301);
double r3487303 = r3487296 + r3487302;
double r3487304 = r3487300 * r3487303;
double r3487305 = cbrt(r3487304);
double r3487306 = r3487296 + r3487305;
double r3487307 = 4.2228249751738446e-17;
bool r3487308 = r3487286 <= r3487307;
double r3487309 = log(r3487289);
double r3487310 = r3487285 * r3487285;
double r3487311 = r3487289 * r3487310;
double r3487312 = r3487309 / r3487311;
double r3487313 = r3487289 * r3487285;
double r3487314 = r3487284 / r3487313;
double r3487315 = r3487312 + r3487314;
double r3487316 = 0.5;
double r3487317 = r3487316 / r3487285;
double r3487318 = r3487289 * r3487289;
double r3487319 = r3487317 / r3487318;
double r3487320 = r3487315 - r3487319;
double r3487321 = log1p(r3487289);
double r3487322 = r3487321 / r3487285;
double r3487323 = exp(r3487322);
double r3487324 = pow(r3487289, r3487286);
double r3487325 = r3487323 - r3487324;
double r3487326 = r3487308 ? r3487320 : r3487325;
double r3487327 = r3487288 ? r3487306 : r3487326;
return r3487327;
}



Bits error versus x



Bits error versus n
if (/ 1 n) < -3.2155947364724913e-22Initial program 2.7
rmApplied add-cube-cbrt2.7
Applied unpow-prod-down2.7
Applied sqr-pow2.7
Applied prod-diff2.8
rmApplied add-cbrt-cube2.8
Simplified2.7
rmApplied *-un-lft-identity2.7
Applied prod-diff2.7
if -3.2155947364724913e-22 < (/ 1 n) < 4.2228249751738446e-17Initial program 44.8
Taylor expanded around inf 32.2
Simplified32.2
if 4.2228249751738446e-17 < (/ 1 n) Initial program 26.6
rmApplied add-exp-log26.6
Applied pow-exp26.6
Simplified4.8
Final simplification19.6
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))