{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -7.380908236352897 \cdot 10^{-15}:\\
\;\;\;\;{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left({x}^{\left(\frac{\sqrt{1}}{\sqrt[3]{n} \cdot \sqrt[3]{n}}\right)}\right)}^{\left(\frac{\sqrt{1}}{\sqrt[3]{n}}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 4.8639089994782778 \cdot 10^{-23}:\\
\;\;\;\;\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[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r65679 = x;
double r65680 = 1.0;
double r65681 = r65679 + r65680;
double r65682 = n;
double r65683 = r65680 / r65682;
double r65684 = pow(r65681, r65683);
double r65685 = pow(r65679, r65683);
double r65686 = r65684 - r65685;
return r65686;
}
double f(double x, double n) {
double r65687 = 1.0;
double r65688 = n;
double r65689 = r65687 / r65688;
double r65690 = -7.380908236352897e-15;
bool r65691 = r65689 <= r65690;
double r65692 = x;
double r65693 = r65692 + r65687;
double r65694 = pow(r65693, r65689);
double r65695 = sqrt(r65687);
double r65696 = cbrt(r65688);
double r65697 = r65696 * r65696;
double r65698 = r65695 / r65697;
double r65699 = pow(r65692, r65698);
double r65700 = r65695 / r65696;
double r65701 = pow(r65699, r65700);
double r65702 = r65694 - r65701;
double r65703 = 4.863908999478278e-23;
bool r65704 = r65689 <= r65703;
double r65705 = r65687 / r65692;
double r65706 = 1.0;
double r65707 = r65706 / r65688;
double r65708 = log(r65692);
double r65709 = -r65708;
double r65710 = 2.0;
double r65711 = pow(r65688, r65710);
double r65712 = r65709 / r65711;
double r65713 = r65707 - r65712;
double r65714 = r65705 * r65713;
double r65715 = 0.5;
double r65716 = pow(r65692, r65710);
double r65717 = r65716 * r65688;
double r65718 = r65715 / r65717;
double r65719 = r65714 - r65718;
double r65720 = pow(r65692, r65689);
double r65721 = r65694 - r65720;
double r65722 = cbrt(r65721);
double r65723 = r65722 * r65722;
double r65724 = r65723 * r65722;
double r65725 = r65704 ? r65719 : r65724;
double r65726 = r65691 ? r65702 : r65725;
return r65726;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -7.380908236352897e-15Initial program 1.7
rmApplied add-cube-cbrt1.8
Applied add-sqr-sqrt1.8
Applied times-frac1.8
Applied pow-unpow1.8
if -7.380908236352897e-15 < (/ 1.0 n) < 4.863908999478278e-23Initial program 44.8
Taylor expanded around inf 32.6
Simplified32.0
if 4.863908999478278e-23 < (/ 1.0 n) Initial program 27.7
rmApplied add-cube-cbrt27.7
Final simplification22.3
herbie shell --seed 2020046
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))