{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -44775.669105648325 \lor \neg \left(n \le 28170.0865394064494\right):\\
\;\;\;\;\mathsf{fma}\left(1, \frac{1}{x \cdot n}, -\mathsf{fma}\left(0.5, \frac{1}{{x}^{2} \cdot n}, 1 \cdot \frac{\log \left(\frac{1}{x}\right)}{x \cdot {n}^{2}}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt{x}\right)}^{\left(2 \cdot \frac{1}{n}\right)}}\right) + \mathsf{fma}\left({\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}, -{\left(\sqrt{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt{x}\right)}^{\left(2 \cdot \frac{1}{n}\right)}\right)\\
\end{array}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 VAR;
if (((n <= -44775.669105648325) || !(n <= 28170.08653940645))) {
VAR = fma(1.0, (1.0 / (x * n)), -fma(0.5, (1.0 / (pow(x, 2.0) * n)), (1.0 * (log((1.0 / x)) / (x * pow(n, 2.0))))));
} else {
VAR = (log(exp((pow((x + 1.0), (1.0 / n)) - pow(sqrt(x), (2.0 * (1.0 / n)))))) + fma(pow(sqrt(x), (1.0 / n)), -pow(sqrt(x), (1.0 / n)), pow(sqrt(x), (2.0 * (1.0 / n)))));
}
return VAR;
}



Bits error versus x



Bits error versus n
Results
if n < -44775.669105648325 or 28170.08653940645 < n Initial program 45.1
Taylor expanded around inf 33.1
Simplified33.1
if -44775.669105648325 < n < 28170.08653940645Initial program 2.3
rmApplied add-sqr-sqrt2.4
Applied unpow-prod-down2.3
Applied *-un-lft-identity2.3
Applied unpow-prod-down2.3
Applied prod-diff2.4
Simplified2.4
Simplified2.4
rmApplied add-log-exp2.7
Applied add-log-exp2.7
Applied diff-log2.7
Simplified2.7
Final simplification24.5
herbie shell --seed 2020100 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))