{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -0.234230860330125218:\\
\;\;\;\;\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)}, -{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot \left(\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\
\mathbf{elif}\;\frac{1}{n} \le 3.097464775265143 \cdot 10^{-17}:\\
\;\;\;\;\mathsf{fma}\left(1, \mathsf{fma}\left(\frac{\frac{-1}{3}}{{n}^{2}}, \frac{-\log x}{x}, \mathsf{fma}\left(\frac{\frac{-2}{3}}{x}, \frac{-\log x}{{n}^{2}}, \frac{1}{x \cdot n}\right)\right), -\frac{0.5}{\log \left(e^{{x}^{2} \cdot n}\right)}\right) + {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot \left(\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)} - {x}^{\left(2 \cdot \frac{1}{n}\right)}}{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} + {x}^{\left(\frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r88684 = x;
double r88685 = 1.0;
double r88686 = r88684 + r88685;
double r88687 = n;
double r88688 = r88685 / r88687;
double r88689 = pow(r88686, r88688);
double r88690 = pow(r88684, r88688);
double r88691 = r88689 - r88690;
return r88691;
}
double f(double x, double n) {
double r88692 = 1.0;
double r88693 = n;
double r88694 = r88692 / r88693;
double r88695 = -0.23423086033012522;
bool r88696 = r88694 <= r88695;
double r88697 = x;
double r88698 = r88697 + r88692;
double r88699 = cbrt(r88698);
double r88700 = r88699 * r88699;
double r88701 = pow(r88700, r88694);
double r88702 = pow(r88699, r88694);
double r88703 = cbrt(r88697);
double r88704 = pow(r88703, r88694);
double r88705 = r88703 * r88703;
double r88706 = pow(r88705, r88694);
double r88707 = r88704 * r88706;
double r88708 = -r88707;
double r88709 = fma(r88701, r88702, r88708);
double r88710 = -r88704;
double r88711 = r88710 + r88704;
double r88712 = r88706 * r88711;
double r88713 = r88709 + r88712;
double r88714 = 3.097464775265143e-17;
bool r88715 = r88694 <= r88714;
double r88716 = -0.3333333333333333;
double r88717 = 2.0;
double r88718 = pow(r88693, r88717);
double r88719 = r88716 / r88718;
double r88720 = log(r88697);
double r88721 = -r88720;
double r88722 = r88721 / r88697;
double r88723 = -0.6666666666666666;
double r88724 = r88723 / r88697;
double r88725 = r88721 / r88718;
double r88726 = 1.0;
double r88727 = r88697 * r88693;
double r88728 = r88726 / r88727;
double r88729 = fma(r88724, r88725, r88728);
double r88730 = fma(r88719, r88722, r88729);
double r88731 = 0.5;
double r88732 = pow(r88697, r88717);
double r88733 = r88732 * r88693;
double r88734 = exp(r88733);
double r88735 = log(r88734);
double r88736 = r88731 / r88735;
double r88737 = -r88736;
double r88738 = fma(r88692, r88730, r88737);
double r88739 = r88738 + r88712;
double r88740 = r88717 * r88694;
double r88741 = pow(r88698, r88740);
double r88742 = pow(r88697, r88740);
double r88743 = r88741 - r88742;
double r88744 = pow(r88698, r88694);
double r88745 = pow(r88697, r88694);
double r88746 = r88744 + r88745;
double r88747 = r88743 / r88746;
double r88748 = r88715 ? r88739 : r88747;
double r88749 = r88696 ? r88713 : r88748;
return r88749;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -0.23423086033012522Initial program 0.1
rmApplied add-cube-cbrt0.1
Applied unpow-prod-down0.1
Applied add-cube-cbrt0.1
Applied unpow-prod-down0.1
Applied prod-diff0.1
Simplified0.1
if -0.23423086033012522 < (/ 1.0 n) < 3.097464775265143e-17Initial program 44.8
rmApplied add-cube-cbrt44.8
Applied unpow-prod-down44.9
Applied add-cube-cbrt44.9
Applied unpow-prod-down44.8
Applied prod-diff44.8
Simplified44.9
Taylor expanded around inf 32.5
Simplified32.5
rmApplied add-log-exp32.5
if 3.097464775265143e-17 < (/ 1.0 n) Initial program 25.5
rmApplied flip--28.5
Simplified28.4
Final simplification22.7
herbie shell --seed 2019199 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))