{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \leq -7.207699079219628 \cdot 10^{-09}:\\
\;\;\;\;\log \left(e^{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\
\mathbf{elif}\;\frac{1}{n} \leq 0.010277233907577869:\\
\;\;\;\;\frac{1}{n \cdot x} + \left(\frac{1}{n \cdot n} \cdot \left(\frac{\log 1}{x} + \frac{\log x}{x}\right) - \frac{0.5}{x \cdot \left(n \cdot x\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt{{\left(\sqrt{1 + x}\right)}^{\left(\frac{1}{n}\right)} + {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}} \cdot \left(\sqrt{{\left(\sqrt{1 + x}\right)}^{\left(\frac{1}{n}\right)} + {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}} \cdot \left({\left(\sqrt{1 + x}\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}\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 (<= (/ 1.0 n) -7.207699079219628e-09)
(log (exp (- (pow (+ 1.0 x) (/ 1.0 n)) (pow x (/ 1.0 n)))))
(if (<= (/ 1.0 n) 0.010277233907577869)
(+
(/ 1.0 (* n x))
(-
(* (/ 1.0 (* n n)) (+ (/ (log 1.0) x) (/ (log x) x)))
(/ 0.5 (* x (* n x)))))
(*
(sqrt (+ (pow (sqrt (+ 1.0 x)) (/ 1.0 n)) (pow (sqrt x) (/ 1.0 n))))
(*
(sqrt (+ (pow (sqrt (+ 1.0 x)) (/ 1.0 n)) (pow (sqrt x) (/ 1.0 n))))
(- (pow (sqrt (+ 1.0 x)) (/ 1.0 n)) (pow (sqrt x) (/ 1.0 n))))))))double code(double x, double n) {
return ((double) (((double) pow(((double) (x + 1.0)), (1.0 / n))) - ((double) pow(x, (1.0 / n)))));
}
double code(double x, double n) {
double VAR;
if (((1.0 / n) <= -7.207699079219628e-09)) {
VAR = ((double) log(((double) exp(((double) (((double) pow(((double) (1.0 + x)), (1.0 / n))) - ((double) pow(x, (1.0 / n)))))))));
} else {
double VAR_1;
if (((1.0 / n) <= 0.010277233907577869)) {
VAR_1 = ((double) ((1.0 / ((double) (n * x))) + ((double) (((double) ((1.0 / ((double) (n * n))) * ((double) ((((double) log(1.0)) / x) + (((double) log(x)) / x))))) - (0.5 / ((double) (x * ((double) (n * x)))))))));
} else {
VAR_1 = ((double) (((double) sqrt(((double) (((double) pow(((double) sqrt(((double) (1.0 + x)))), (1.0 / n))) + ((double) pow(((double) sqrt(x)), (1.0 / n))))))) * ((double) (((double) sqrt(((double) (((double) pow(((double) sqrt(((double) (1.0 + x)))), (1.0 / n))) + ((double) pow(((double) sqrt(x)), (1.0 / n))))))) * ((double) (((double) pow(((double) sqrt(((double) (1.0 + x)))), (1.0 / n))) - ((double) pow(((double) sqrt(x)), (1.0 / n)))))))));
}
VAR = VAR_1;
}
return VAR;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -7.20769907921962817e-9Initial program 2.0
rmApplied add-log-exp2.5
Applied add-log-exp2.4
Applied diff-log2.4
Simplified2.4
if -7.20769907921962817e-9 < (/ 1.0 n) < 0.010277233907577869Initial program 44.6
Taylor expanded around inf 32.4
Simplified32.3
if 0.010277233907577869 < (/ 1.0 n) Initial program 4.3
rmApplied add-sqr-sqrt4.3
Applied unpow-prod-down4.3
Applied add-sqr-sqrt4.3
Applied unpow-prod-down4.3
Applied difference-of-squares4.3
rmApplied add-sqr-sqrt4.3
Applied associate-*l*4.3
Simplified4.3
Final simplification24.0
herbie shell --seed 2020198
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))