{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -30729818.785387494:\\
\;\;\;\;\mathsf{fma}\left(\frac{1}{x \cdot \left(x \cdot n\right)}, \frac{-1}{2}, \frac{\frac{1}{x}}{n} + \frac{\frac{\log x}{n}}{x \cdot n}\right) + \mathsf{fma}\left(-{x}^{\left(\frac{1}{n}\right)}, 1, {x}^{\left(\frac{1}{n}\right)}\right)\\
\mathbf{elif}\;n \le -6.7690117056222 \cdot 10^{-311}:\\
\;\;\;\;\mathsf{fma}\left(-\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}, \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}, \left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right) + \mathsf{fma}\left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}, \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}, \left(-\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{{x}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{x}^{\left(\frac{1}{n}\right)}}\right)\right)\\
\mathbf{elif}\;n \le 2.9397635619222146 \cdot 10^{+20}:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{\log x}{n \cdot n}}{x} + \frac{\frac{1}{n}}{x}\right) - \frac{\frac{\frac{1}{2}}{n}}{x \cdot x}\\
\end{array}double f(double x, double n) {
double r2281718 = x;
double r2281719 = 1.0;
double r2281720 = r2281718 + r2281719;
double r2281721 = n;
double r2281722 = r2281719 / r2281721;
double r2281723 = pow(r2281720, r2281722);
double r2281724 = pow(r2281718, r2281722);
double r2281725 = r2281723 - r2281724;
return r2281725;
}
double f(double x, double n) {
double r2281726 = n;
double r2281727 = -30729818.785387494;
bool r2281728 = r2281726 <= r2281727;
double r2281729 = 1.0;
double r2281730 = x;
double r2281731 = r2281730 * r2281726;
double r2281732 = r2281730 * r2281731;
double r2281733 = r2281729 / r2281732;
double r2281734 = -0.5;
double r2281735 = r2281729 / r2281730;
double r2281736 = r2281735 / r2281726;
double r2281737 = log(r2281730);
double r2281738 = r2281737 / r2281726;
double r2281739 = r2281738 / r2281731;
double r2281740 = r2281736 + r2281739;
double r2281741 = fma(r2281733, r2281734, r2281740);
double r2281742 = r2281729 / r2281726;
double r2281743 = pow(r2281730, r2281742);
double r2281744 = -r2281743;
double r2281745 = fma(r2281744, r2281729, r2281743);
double r2281746 = r2281741 + r2281745;
double r2281747 = -6.7690117056222e-311;
bool r2281748 = r2281726 <= r2281747;
double r2281749 = cbrt(r2281743);
double r2281750 = -r2281749;
double r2281751 = r2281749 * r2281749;
double r2281752 = r2281751 * r2281749;
double r2281753 = fma(r2281750, r2281751, r2281752);
double r2281754 = r2281729 + r2281730;
double r2281755 = pow(r2281754, r2281742);
double r2281756 = cbrt(r2281755);
double r2281757 = r2281756 * r2281756;
double r2281758 = r2281750 * r2281751;
double r2281759 = fma(r2281757, r2281756, r2281758);
double r2281760 = r2281753 + r2281759;
double r2281761 = 2.9397635619222146e+20;
bool r2281762 = r2281726 <= r2281761;
double r2281763 = log1p(r2281730);
double r2281764 = r2281763 / r2281726;
double r2281765 = exp(r2281764);
double r2281766 = r2281765 - r2281743;
double r2281767 = r2281726 * r2281726;
double r2281768 = r2281737 / r2281767;
double r2281769 = r2281768 / r2281730;
double r2281770 = r2281742 / r2281730;
double r2281771 = r2281769 + r2281770;
double r2281772 = 0.5;
double r2281773 = r2281772 / r2281726;
double r2281774 = r2281730 * r2281730;
double r2281775 = r2281773 / r2281774;
double r2281776 = r2281771 - r2281775;
double r2281777 = r2281762 ? r2281766 : r2281776;
double r2281778 = r2281748 ? r2281760 : r2281777;
double r2281779 = r2281728 ? r2281746 : r2281778;
return r2281779;
}



Bits error versus x



Bits error versus n
if n < -30729818.785387494Initial program 44.2
rmApplied *-un-lft-identity44.2
Applied add-sqr-sqrt44.2
Applied prod-diff44.3
rmApplied add-log-exp44.2
Taylor expanded around inf 32.6
Simplified32.0
if -30729818.785387494 < n < -6.7690117056222e-311Initial program 0.8
rmApplied add-cube-cbrt0.8
Applied add-cube-cbrt0.8
Applied prod-diff0.8
if -6.7690117056222e-311 < n < 2.9397635619222146e+20Initial program 28.1
rmApplied pow-to-exp28.1
Simplified5.6
if 2.9397635619222146e+20 < n Initial program 44.6
Taylor expanded around inf 32.2
Simplified31.8
Final simplification18.9
herbie shell --seed 2019138 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))