{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -934833342441455353856:\\
\;\;\;\;\left(1 \cdot \frac{1}{x \cdot n} + 1 \cdot \frac{\log x}{x \cdot {n}^{2}}\right) - 0.5 \cdot \frac{1}{{x}^{2} \cdot n}\\
\mathbf{elif}\;n \le 59.535473331148146769464801764115691185:\\
\;\;\;\;{\left({\left(x + 1\right)}^{\left(\frac{\sqrt[3]{1} \cdot \sqrt[3]{1}}{\sqrt[3]{n} \cdot \sqrt[3]{n}}\right)}\right)}^{\left(\frac{\sqrt[3]{1}}{\sqrt[3]{n}}\right)} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\log \left(e^{\frac{0.5}{\log \left(e^{{x}^{2} \cdot n}\right)}}\right) - \frac{1 \cdot \log x}{x \cdot {n}^{2}}\right)\\
\end{array}double f(double x, double n) {
double r72702 = x;
double r72703 = 1.0;
double r72704 = r72702 + r72703;
double r72705 = n;
double r72706 = r72703 / r72705;
double r72707 = pow(r72704, r72706);
double r72708 = pow(r72702, r72706);
double r72709 = r72707 - r72708;
return r72709;
}
double f(double x, double n) {
double r72710 = n;
double r72711 = -9.348333424414554e+20;
bool r72712 = r72710 <= r72711;
double r72713 = 1.0;
double r72714 = 1.0;
double r72715 = x;
double r72716 = r72715 * r72710;
double r72717 = r72714 / r72716;
double r72718 = r72713 * r72717;
double r72719 = log(r72715);
double r72720 = 2.0;
double r72721 = pow(r72710, r72720);
double r72722 = r72715 * r72721;
double r72723 = r72719 / r72722;
double r72724 = r72713 * r72723;
double r72725 = r72718 + r72724;
double r72726 = 0.5;
double r72727 = pow(r72715, r72720);
double r72728 = r72727 * r72710;
double r72729 = r72714 / r72728;
double r72730 = r72726 * r72729;
double r72731 = r72725 - r72730;
double r72732 = 59.53547333114815;
bool r72733 = r72710 <= r72732;
double r72734 = r72715 + r72713;
double r72735 = cbrt(r72713);
double r72736 = r72735 * r72735;
double r72737 = cbrt(r72710);
double r72738 = r72737 * r72737;
double r72739 = r72736 / r72738;
double r72740 = pow(r72734, r72739);
double r72741 = r72735 / r72737;
double r72742 = pow(r72740, r72741);
double r72743 = r72713 / r72710;
double r72744 = pow(r72715, r72743);
double r72745 = r72742 - r72744;
double r72746 = r72743 / r72715;
double r72747 = exp(r72728);
double r72748 = log(r72747);
double r72749 = r72726 / r72748;
double r72750 = exp(r72749);
double r72751 = log(r72750);
double r72752 = r72713 * r72719;
double r72753 = r72752 / r72722;
double r72754 = r72751 - r72753;
double r72755 = r72746 - r72754;
double r72756 = r72733 ? r72745 : r72755;
double r72757 = r72712 ? r72731 : r72756;
return r72757;
}



Bits error versus x



Bits error versus n
Results
if n < -9.348333424414554e+20Initial program 44.8
Taylor expanded around inf 32.3
Simplified31.8
Taylor expanded around 0 32.3
if -9.348333424414554e+20 < n < 59.53547333114815Initial program 9.4
rmApplied add-cube-cbrt9.4
Applied add-cube-cbrt9.4
Applied times-frac9.4
Applied pow-unpow9.4
if 59.53547333114815 < n Initial program 44.0
Taylor expanded around inf 33.1
Simplified32.5
rmApplied add-log-exp32.6
Simplified32.6
rmApplied add-log-exp32.5
Final simplification22.6
herbie shell --seed 2019353
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))