{\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 1095153227966.99609375\right):\\
\;\;\;\;\left(\sqrt{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}} + \sqrt{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\frac{0.5}{x \cdot n} - \frac{0.25}{x \cdot n} \cdot \left(\left(-\frac{\log x}{n}\right) + \frac{1}{x}\right)\right)\\
\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 r74792 = x;
double r74793 = 1.0;
double r74794 = r74792 + r74793;
double r74795 = n;
double r74796 = r74793 / r74795;
double r74797 = pow(r74794, r74796);
double r74798 = pow(r74792, r74796);
double r74799 = r74797 - r74798;
return r74799;
}
double f(double x, double n) {
double r74800 = n;
double r74801 = -3406.4169782224208;
bool r74802 = r74800 <= r74801;
double r74803 = 1095153227966.9961;
bool r74804 = r74800 <= r74803;
double r74805 = !r74804;
bool r74806 = r74802 || r74805;
double r74807 = x;
double r74808 = 1.0;
double r74809 = r74807 + r74808;
double r74810 = r74808 / r74800;
double r74811 = pow(r74809, r74810);
double r74812 = sqrt(r74811);
double r74813 = pow(r74807, r74810);
double r74814 = sqrt(r74813);
double r74815 = r74812 + r74814;
double r74816 = 0.5;
double r74817 = r74807 * r74800;
double r74818 = r74816 / r74817;
double r74819 = 0.25;
double r74820 = r74819 / r74817;
double r74821 = log(r74807);
double r74822 = r74821 / r74800;
double r74823 = -r74822;
double r74824 = 1.0;
double r74825 = r74824 / r74807;
double r74826 = r74823 + r74825;
double r74827 = r74820 * r74826;
double r74828 = r74818 - r74827;
double r74829 = r74815 * r74828;
double r74830 = r74812 - r74814;
double r74831 = 3.0;
double r74832 = pow(r74830, r74831);
double r74833 = cbrt(r74832);
double r74834 = pow(r74833, r74831);
double r74835 = cbrt(r74834);
double r74836 = pow(r74835, r74831);
double r74837 = cbrt(r74836);
double r74838 = r74815 * r74837;
double r74839 = r74806 ? r74829 : r74838;
return r74839;
}



Bits error versus x



Bits error versus n
Results
if n < -3406.4169782224208 or 1095153227966.9961 < n Initial program 44.9
rmApplied add-sqr-sqrt44.9
Applied add-sqr-sqrt44.9
Applied difference-of-squares44.9
Taylor expanded around inf 33.1
Simplified33.0
if -3406.4169782224208 < n < 1095153227966.9961Initial 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.5
herbie shell --seed 2019323
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))