{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -92.670369249432468:\\
\;\;\;\;\frac{1}{n \cdot x} + \left(0.27777777777777779 \cdot \frac{{\left(\log 1\right)}^{2}}{n \cdot n} + \left(\log 1 \cdot \frac{0.33333333333333337}{n} + 0.33333333333333326 \cdot \left(\log x \cdot \frac{\log 1}{n \cdot n}\right)\right)\right)\\
\mathbf{elif}\;n \le 238139942086233056:\\
\;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{x} \cdot e^{\log \left(\sqrt[3]{x}\right)}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(0.27777777777777779 \cdot \frac{{\left(\log 1\right)}^{2}}{n \cdot n} + \left(\log 1 \cdot \frac{0.33333333333333337}{n} + 0.33333333333333326 \cdot \left(\log x \cdot \frac{\log 1}{n \cdot n}\right)\right)\right) + \frac{1}{n} \cdot \frac{1}{x}\\
\end{array}double code(double x, double n) {
return ((double) (((double) pow(((double) (x + 1.0)), ((double) (1.0 / n)))) - ((double) pow(x, ((double) (1.0 / n))))));
}
double code(double x, double n) {
double VAR;
if ((n <= -92.67036924943247)) {
VAR = ((double) (((double) (1.0 / ((double) (n * x)))) + ((double) (((double) (0.2777777777777778 * ((double) (((double) pow(((double) log(1.0)), 2.0)) / ((double) (n * n)))))) + ((double) (((double) (((double) log(1.0)) * ((double) (0.33333333333333337 / n)))) + ((double) (0.33333333333333326 * ((double) (((double) log(x)) * ((double) (((double) log(1.0)) / ((double) (n * n))))))))))))));
} else {
double VAR_1;
if ((n <= 2.3813994208623306e+17)) {
VAR_1 = ((double) (((double) pow(((double) (1.0 + x)), ((double) (1.0 / n)))) - ((double) (((double) pow(((double) (((double) cbrt(x)) * ((double) exp(((double) log(((double) cbrt(x)))))))), ((double) (1.0 / n)))) * ((double) pow(((double) cbrt(x)), ((double) (1.0 / n))))))));
} else {
VAR_1 = ((double) (((double) (((double) (0.2777777777777778 * ((double) (((double) pow(((double) log(1.0)), 2.0)) / ((double) (n * n)))))) + ((double) (((double) (((double) log(1.0)) * ((double) (0.33333333333333337 / n)))) + ((double) (0.33333333333333326 * ((double) (((double) log(x)) * ((double) (((double) log(1.0)) / ((double) (n * n)))))))))))) + ((double) (((double) (1.0 / n)) * ((double) (1.0 / x))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x



Bits error versus n
Results
if n < -92.670369249432468Initial program 44.6
rmApplied add-cube-cbrt44.6
Applied unpow-prod-down44.6
Taylor expanded around inf 32.0
Simplified32.0
if -92.670369249432468 < n < 238139942086233056Initial program 4.2
rmApplied add-cube-cbrt4.2
Applied unpow-prod-down4.3
rmApplied add-exp-log4.3
if 238139942086233056 < n Initial program 45.3
rmApplied add-cube-cbrt45.3
Applied unpow-prod-down45.3
Taylor expanded around inf 31.8
Simplified31.8
rmApplied *-un-lft-identity31.8
Applied times-frac31.1
Final simplification23.6
herbie shell --seed 2020184
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))