{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \leq -7.960537086961811 \cdot 10^{+105}:\\
\;\;\;\;\frac{\log \left(x + 1\right) - \log x}{n}\\
\mathbf{elif}\;n \leq -2.809100228612805 \cdot 10^{+38}:\\
\;\;\;\;\left(\frac{{x}^{\left(\frac{-1}{n}\right)}}{{x}^{3}} \cdot \left(\frac{0.16666666666666666}{{n}^{3}} + \frac{0.3333333333333333}{n}\right) + \left(\frac{{x}^{\left(\frac{-1}{n}\right)}}{n \cdot x} + \frac{{x}^{\left(\frac{-1}{n}\right)}}{x \cdot x} \cdot \left(\frac{0.5}{n \cdot n} - \frac{0.5}{n}\right)\right)\right) + \frac{{x}^{\left(\frac{-1}{n}\right)}}{n \cdot \left(n \cdot {x}^{3}\right)} \cdot -0.5\\
\mathbf{elif}\;n \leq -1.2662371694345975:\\
\;\;\;\;\frac{\left(0.5 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{2} + \left(0.041666666666666664 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{4} + \left(\frac{\log \left(x + 1\right)}{n} + 0.16666666666666666 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{3}\right)\right)\right) \cdot \left(0.5 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{2} + \left(0.041666666666666664 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{4} + \left(\frac{\log \left(x + 1\right)}{n} + 0.16666666666666666 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{3}\right)\right)\right) - \left(\frac{\log x}{n} + \left(0.5 \cdot {\left(\frac{\log x}{n}\right)}^{2} + \left(0.16666666666666666 \cdot {\left(\frac{\log x}{n}\right)}^{3} + 0.041666666666666664 \cdot {\left(\frac{\log x}{n}\right)}^{4}\right)\right)\right) \cdot \left(\frac{\log x}{n} + \left(0.5 \cdot {\left(\frac{\log x}{n}\right)}^{2} + \left(0.16666666666666666 \cdot {\left(\frac{\log x}{n}\right)}^{3} + 0.041666666666666664 \cdot {\left(\frac{\log x}{n}\right)}^{4}\right)\right)\right)}{0.5 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{2} + \left(\left(0.041666666666666664 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{4} + \left(\frac{\log \left(x + 1\right)}{n} + 0.16666666666666666 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{3}\right)\right) + \left(\frac{\log x}{n} + \left(0.5 \cdot {\left(\frac{\log x}{n}\right)}^{2} + \left(0.16666666666666666 \cdot {\left(\frac{\log x}{n}\right)}^{3} + 0.041666666666666664 \cdot {\left(\frac{\log x}{n}\right)}^{4}\right)\right)\right)\right)}\\
\mathbf{elif}\;n \leq 306502.3035186536:\\
\;\;\;\;e^{\log \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(0.041666666666666664 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{4} + \left(\frac{\log \left(x + 1\right)}{n} + 0.16666666666666666 \cdot {\left(\frac{\log \left(x + 1\right)}{n}\right)}^{3}\right)\right) + 0.5 \cdot \frac{{\log \left(x + 1\right)}^{2}}{n \cdot n}\right) - \left(\frac{\log x}{n} + \left(\left(0.16666666666666666 \cdot {\left(\frac{\log x}{n}\right)}^{3} + 0.041666666666666664 \cdot {\left(\frac{\log x}{n}\right)}^{4}\right) + 0.5 \cdot \frac{{\log x}^{2}}{n \cdot n}\right)\right)\\
\end{array}(FPCore (x n) :precision binary64 (- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))
(FPCore (x n)
:precision binary64
(if (<= n -7.960537086961811e+105)
(/ (- (log (+ x 1.0)) (log x)) n)
(if (<= n -2.809100228612805e+38)
(+
(+
(*
(/ (pow x (/ -1.0 n)) (pow x 3.0))
(+ (/ 0.16666666666666666 (pow n 3.0)) (/ 0.3333333333333333 n)))
(+
(/ (pow x (/ -1.0 n)) (* n x))
(* (/ (pow x (/ -1.0 n)) (* x x)) (- (/ 0.5 (* n n)) (/ 0.5 n)))))
(* (/ (pow x (/ -1.0 n)) (* n (* n (pow x 3.0)))) -0.5))
(if (<= n -1.2662371694345975)
(/
(-
(*
(+
(* 0.5 (pow (/ (log (+ x 1.0)) n) 2.0))
(+
(* 0.041666666666666664 (pow (/ (log (+ x 1.0)) n) 4.0))
(+
(/ (log (+ x 1.0)) n)
(* 0.16666666666666666 (pow (/ (log (+ x 1.0)) n) 3.0)))))
(+
(* 0.5 (pow (/ (log (+ x 1.0)) n) 2.0))
(+
(* 0.041666666666666664 (pow (/ (log (+ x 1.0)) n) 4.0))
(+
(/ (log (+ x 1.0)) n)
(* 0.16666666666666666 (pow (/ (log (+ x 1.0)) n) 3.0))))))
(*
(+
(/ (log x) n)
(+
(* 0.5 (pow (/ (log x) n) 2.0))
(+
(* 0.16666666666666666 (pow (/ (log x) n) 3.0))
(* 0.041666666666666664 (pow (/ (log x) n) 4.0)))))
(+
(/ (log x) n)
(+
(* 0.5 (pow (/ (log x) n) 2.0))
(+
(* 0.16666666666666666 (pow (/ (log x) n) 3.0))
(* 0.041666666666666664 (pow (/ (log x) n) 4.0)))))))
(+
(* 0.5 (pow (/ (log (+ x 1.0)) n) 2.0))
(+
(+
(* 0.041666666666666664 (pow (/ (log (+ x 1.0)) n) 4.0))
(+
(/ (log (+ x 1.0)) n)
(* 0.16666666666666666 (pow (/ (log (+ x 1.0)) n) 3.0))))
(+
(/ (log x) n)
(+
(* 0.5 (pow (/ (log x) n) 2.0))
(+
(* 0.16666666666666666 (pow (/ (log x) n) 3.0))
(* 0.041666666666666664 (pow (/ (log x) n) 4.0))))))))
(if (<= n 306502.3035186536)
(exp (log (- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n)))))
(-
(+
(+
(* 0.041666666666666664 (pow (/ (log (+ x 1.0)) n) 4.0))
(+
(/ (log (+ x 1.0)) n)
(* 0.16666666666666666 (pow (/ (log (+ x 1.0)) n) 3.0))))
(* 0.5 (/ (pow (log (+ x 1.0)) 2.0) (* n n))))
(+
(/ (log x) n)
(+
(+
(* 0.16666666666666666 (pow (/ (log x) n) 3.0))
(* 0.041666666666666664 (pow (/ (log x) n) 4.0)))
(* 0.5 (/ (pow (log x) 2.0) (* n n)))))))))))double code(double x, double n) {
return pow((x + 1.0), (1.0 / n)) - pow(x, (1.0 / n));
}
double code(double x, double n) {
double tmp;
if (n <= -7.960537086961811e+105) {
tmp = (log(x + 1.0) - log(x)) / n;
} else if (n <= -2.809100228612805e+38) {
tmp = (((pow(x, (-1.0 / n)) / pow(x, 3.0)) * ((0.16666666666666666 / pow(n, 3.0)) + (0.3333333333333333 / n))) + ((pow(x, (-1.0 / n)) / (n * x)) + ((pow(x, (-1.0 / n)) / (x * x)) * ((0.5 / (n * n)) - (0.5 / n))))) + ((pow(x, (-1.0 / n)) / (n * (n * pow(x, 3.0)))) * -0.5);
} else if (n <= -1.2662371694345975) {
tmp = ((((0.5 * pow((log(x + 1.0) / n), 2.0)) + ((0.041666666666666664 * pow((log(x + 1.0) / n), 4.0)) + ((log(x + 1.0) / n) + (0.16666666666666666 * pow((log(x + 1.0) / n), 3.0))))) * ((0.5 * pow((log(x + 1.0) / n), 2.0)) + ((0.041666666666666664 * pow((log(x + 1.0) / n), 4.0)) + ((log(x + 1.0) / n) + (0.16666666666666666 * pow((log(x + 1.0) / n), 3.0)))))) - (((log(x) / n) + ((0.5 * pow((log(x) / n), 2.0)) + ((0.16666666666666666 * pow((log(x) / n), 3.0)) + (0.041666666666666664 * pow((log(x) / n), 4.0))))) * ((log(x) / n) + ((0.5 * pow((log(x) / n), 2.0)) + ((0.16666666666666666 * pow((log(x) / n), 3.0)) + (0.041666666666666664 * pow((log(x) / n), 4.0))))))) / ((0.5 * pow((log(x + 1.0) / n), 2.0)) + (((0.041666666666666664 * pow((log(x + 1.0) / n), 4.0)) + ((log(x + 1.0) / n) + (0.16666666666666666 * pow((log(x + 1.0) / n), 3.0)))) + ((log(x) / n) + ((0.5 * pow((log(x) / n), 2.0)) + ((0.16666666666666666 * pow((log(x) / n), 3.0)) + (0.041666666666666664 * pow((log(x) / n), 4.0)))))));
} else if (n <= 306502.3035186536) {
tmp = exp(log(pow((x + 1.0), (1.0 / n)) - pow(x, (1.0 / n))));
} else {
tmp = (((0.041666666666666664 * pow((log(x + 1.0) / n), 4.0)) + ((log(x + 1.0) / n) + (0.16666666666666666 * pow((log(x + 1.0) / n), 3.0)))) + (0.5 * (pow(log(x + 1.0), 2.0) / (n * n)))) - ((log(x) / n) + (((0.16666666666666666 * pow((log(x) / n), 3.0)) + (0.041666666666666664 * pow((log(x) / n), 4.0))) + (0.5 * (pow(log(x), 2.0) / (n * n)))));
}
return tmp;
}



Bits error versus x



Bits error versus n
Results
if n < -7.96053708696181072e105Initial program 40.4
Taylor expanded around inf 10.4
if -7.96053708696181072e105 < n < -2.809100228612805e38Initial program 54.3
Taylor expanded around inf 31.2
Simplified31.2
if -2.809100228612805e38 < n < -1.26623716943459752Initial program 51.8
Taylor expanded around inf 31.0
Simplified31.0
rmApplied flip--_binary64_39431.0
Simplified31.0
Simplified31.0
if -1.26623716943459752 < n < 306502.30351865361Initial program 2.0
rmApplied add-exp-log_binary64_4572.1
if 306502.30351865361 < n Initial program 44.2
Taylor expanded around inf 13.8
Simplified13.8
Final simplification11.7
herbie shell --seed 2020353
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))