{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -380251775535541.9375 \lor \neg \left(n \le 0.9298484945110256916223079315386712551117\right):\\
\;\;\;\;\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{\sqrt[3]{-\log x} \cdot \sqrt[3]{-\log x}}{{\left(\sqrt[3]{n}\right)}^{4}} \cdot \frac{\sqrt[3]{-\log x}}{{\left(\sqrt[3]{n}\right)}^{2}}\right) - \frac{0.5}{{x}^{2} \cdot n}\\
\mathbf{else}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{\sqrt[3]{x} \cdot \sqrt[3]{x}} \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{\sqrt[3]{x}}\right)\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\\
\end{array}double f(double x, double n) {
double r56713 = x;
double r56714 = 1.0;
double r56715 = r56713 + r56714;
double r56716 = n;
double r56717 = r56714 / r56716;
double r56718 = pow(r56715, r56717);
double r56719 = pow(r56713, r56717);
double r56720 = r56718 - r56719;
return r56720;
}
double f(double x, double n) {
double r56721 = n;
double r56722 = -380251775535541.94;
bool r56723 = r56721 <= r56722;
double r56724 = 0.9298484945110257;
bool r56725 = r56721 <= r56724;
double r56726 = !r56725;
bool r56727 = r56723 || r56726;
double r56728 = 1.0;
double r56729 = x;
double r56730 = r56728 / r56729;
double r56731 = 1.0;
double r56732 = r56731 / r56721;
double r56733 = log(r56729);
double r56734 = -r56733;
double r56735 = cbrt(r56734);
double r56736 = r56735 * r56735;
double r56737 = cbrt(r56721);
double r56738 = 4.0;
double r56739 = pow(r56737, r56738);
double r56740 = r56736 / r56739;
double r56741 = 2.0;
double r56742 = pow(r56737, r56741);
double r56743 = r56735 / r56742;
double r56744 = r56740 * r56743;
double r56745 = r56732 - r56744;
double r56746 = r56730 * r56745;
double r56747 = 0.5;
double r56748 = pow(r56729, r56741);
double r56749 = r56748 * r56721;
double r56750 = r56747 / r56749;
double r56751 = r56746 - r56750;
double r56752 = r56729 + r56728;
double r56753 = r56728 / r56721;
double r56754 = pow(r56752, r56753);
double r56755 = cbrt(r56729);
double r56756 = r56755 * r56755;
double r56757 = cbrt(r56756);
double r56758 = cbrt(r56755);
double r56759 = r56755 * r56758;
double r56760 = r56757 * r56759;
double r56761 = pow(r56760, r56753);
double r56762 = pow(r56755, r56753);
double r56763 = r56761 * r56762;
double r56764 = r56754 - r56763;
double r56765 = r56727 ? r56751 : r56764;
return r56765;
}



Bits error versus x



Bits error versus n
Results
if n < -380251775535541.94 or 0.9298484945110257 < n Initial program 44.9
Taylor expanded around inf 33.1
Simplified32.5
rmApplied add-cube-cbrt32.5
Applied unpow-prod-down32.5
Applied add-cube-cbrt32.5
Applied times-frac32.5
Simplified32.5
if -380251775535541.94 < n < 0.9298484945110257Initial program 9.1
rmApplied add-cube-cbrt9.1
Applied unpow-prod-down9.1
rmApplied add-cube-cbrt9.1
Applied cbrt-prod9.1
Applied associate-*l*9.1
Simplified9.1
Final simplification22.4
herbie shell --seed 2019304
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))