{\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:\\
\;\;\;\;\sqrt[3]{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3}} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{elif}\;\frac{1}{n} \le 3.097464775265143 \cdot 10^{-17}:\\
\;\;\;\;\left(\frac{1}{x \cdot n} - \frac{0.5}{\log \left(e^{{x}^{2} \cdot n}\right)}\right) - \frac{-\log x}{x \cdot {n}^{2}} \cdot 1\\
\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 r45741 = x;
double r45742 = 1.0;
double r45743 = r45741 + r45742;
double r45744 = n;
double r45745 = r45742 / r45744;
double r45746 = pow(r45743, r45745);
double r45747 = pow(r45741, r45745);
double r45748 = r45746 - r45747;
return r45748;
}
double f(double x, double n) {
double r45749 = 1.0;
double r45750 = n;
double r45751 = r45749 / r45750;
double r45752 = -0.23423086033012522;
bool r45753 = r45751 <= r45752;
double r45754 = x;
double r45755 = r45754 + r45749;
double r45756 = pow(r45755, r45751);
double r45757 = 3.0;
double r45758 = pow(r45756, r45757);
double r45759 = cbrt(r45758);
double r45760 = pow(r45754, r45751);
double r45761 = r45759 - r45760;
double r45762 = 3.097464775265143e-17;
bool r45763 = r45751 <= r45762;
double r45764 = r45754 * r45750;
double r45765 = r45749 / r45764;
double r45766 = 0.5;
double r45767 = 2.0;
double r45768 = pow(r45754, r45767);
double r45769 = r45768 * r45750;
double r45770 = exp(r45769);
double r45771 = log(r45770);
double r45772 = r45766 / r45771;
double r45773 = r45765 - r45772;
double r45774 = log(r45754);
double r45775 = -r45774;
double r45776 = pow(r45750, r45767);
double r45777 = r45754 * r45776;
double r45778 = r45775 / r45777;
double r45779 = r45778 * r45749;
double r45780 = r45773 - r45779;
double r45781 = r45767 * r45751;
double r45782 = pow(r45755, r45781);
double r45783 = pow(r45754, r45781);
double r45784 = r45782 - r45783;
double r45785 = r45756 + r45760;
double r45786 = r45784 / r45785;
double r45787 = r45763 ? r45780 : r45786;
double r45788 = r45753 ? r45761 : r45787;
return r45788;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -0.23423086033012522Initial program 0.1
rmApplied add-cbrt-cube0.1
Simplified0.1
if -0.23423086033012522 < (/ 1.0 n) < 3.097464775265143e-17Initial program 44.8
rmApplied add-cbrt-cube44.9
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
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))