{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -3406.416978222420766542199999094009399414 \lor \neg \left(n \le 1031392298459.7406005859375\right):\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt[3]{{\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} - \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right)}^{3}}\right)}^{3}}\right)}^{3}}\\
\end{array}double f(double x, double n) {
double r59642 = x;
double r59643 = 1.0;
double r59644 = r59642 + r59643;
double r59645 = n;
double r59646 = r59643 / r59645;
double r59647 = pow(r59644, r59646);
double r59648 = pow(r59642, r59646);
double r59649 = r59647 - r59648;
return r59649;
}
double f(double x, double n) {
double r59650 = n;
double r59651 = -3406.4169782224208;
bool r59652 = r59650 <= r59651;
double r59653 = 1031392298459.7406;
bool r59654 = r59650 <= r59653;
double r59655 = !r59654;
bool r59656 = r59652 || r59655;
double r59657 = 1.0;
double r59658 = x;
double r59659 = r59657 / r59658;
double r59660 = 1.0;
double r59661 = r59660 / r59650;
double r59662 = log(r59658);
double r59663 = -r59662;
double r59664 = 2.0;
double r59665 = pow(r59650, r59664);
double r59666 = r59663 / r59665;
double r59667 = r59661 - r59666;
double r59668 = r59659 * r59667;
double r59669 = 0.5;
double r59670 = pow(r59658, r59664);
double r59671 = r59670 * r59650;
double r59672 = r59669 / r59671;
double r59673 = r59668 - r59672;
double r59674 = r59658 + r59657;
double r59675 = r59657 / r59650;
double r59676 = pow(r59674, r59675);
double r59677 = sqrt(r59676);
double r59678 = pow(r59658, r59675);
double r59679 = sqrt(r59678);
double r59680 = r59677 + r59679;
double r59681 = r59677 - r59679;
double r59682 = 3.0;
double r59683 = pow(r59681, r59682);
double r59684 = cbrt(r59683);
double r59685 = pow(r59684, r59682);
double r59686 = cbrt(r59685);
double r59687 = pow(r59686, r59682);
double r59688 = cbrt(r59687);
double r59689 = r59680 * r59688;
double r59690 = r59656 ? r59673 : r59689;
return r59690;
}



Bits error versus x



Bits error versus n
Results
if n < -3406.4169782224208 or 1031392298459.7406 < n Initial program 44.9
Taylor expanded around inf 33.1
Simplified32.5
if -3406.4169782224208 < n < 1031392298459.7406Initial program 8.3
rmApplied add-sqr-sqrt8.3
Applied add-sqr-sqrt8.3
Applied difference-of-squares8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
rmApplied add-cbrt-cube8.3
Simplified8.3
Final simplification22.2
herbie shell --seed 2019323 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))