{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -7930394575479.2783203125 \lor \neg \left(\frac{1}{n} \le 4.970657311465403154655264775924061737555 \cdot 10^{-8}\right):\\
\;\;\;\;\mathsf{fma}\left({\left(\sqrt[3]{x + 1} \cdot \sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x + 1}\right)}^{\left(\frac{1}{n}\right)}, -{x}^{\left(\frac{1}{n}\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{x \cdot n} - \mathsf{fma}\left(\frac{1}{n \cdot n}, \frac{-\log x}{x}, \frac{\frac{0.5}{{x}^{2}}}{n}\right)\\
\end{array}double f(double x, double n) {
double r89710 = x;
double r89711 = 1.0;
double r89712 = r89710 + r89711;
double r89713 = n;
double r89714 = r89711 / r89713;
double r89715 = pow(r89712, r89714);
double r89716 = pow(r89710, r89714);
double r89717 = r89715 - r89716;
return r89717;
}
double f(double x, double n) {
double r89718 = 1.0;
double r89719 = n;
double r89720 = r89718 / r89719;
double r89721 = -7930394575479.278;
bool r89722 = r89720 <= r89721;
double r89723 = 4.970657311465403e-08;
bool r89724 = r89720 <= r89723;
double r89725 = !r89724;
bool r89726 = r89722 || r89725;
double r89727 = x;
double r89728 = r89727 + r89718;
double r89729 = cbrt(r89728);
double r89730 = r89729 * r89729;
double r89731 = pow(r89730, r89720);
double r89732 = pow(r89729, r89720);
double r89733 = pow(r89727, r89720);
double r89734 = -r89733;
double r89735 = fma(r89731, r89732, r89734);
double r89736 = r89727 * r89719;
double r89737 = r89718 / r89736;
double r89738 = r89719 * r89719;
double r89739 = r89718 / r89738;
double r89740 = log(r89727);
double r89741 = -r89740;
double r89742 = r89741 / r89727;
double r89743 = 0.5;
double r89744 = 2.0;
double r89745 = pow(r89727, r89744);
double r89746 = r89743 / r89745;
double r89747 = r89746 / r89719;
double r89748 = fma(r89739, r89742, r89747);
double r89749 = r89737 - r89748;
double r89750 = r89726 ? r89735 : r89749;
return r89750;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -7930394575479.278 or 4.970657311465403e-08 < (/ 1.0 n) Initial program 7.7
rmApplied add-cube-cbrt7.8
Applied unpow-prod-down7.8
Applied fma-neg7.8
if -7930394575479.278 < (/ 1.0 n) < 4.970657311465403e-08Initial program 44.9
Taylor expanded around inf 32.7
Simplified32.7
Final simplification22.4
herbie shell --seed 2019194 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))