{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -68.91712530166619:\\
\;\;\;\;\sqrt[3]{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}} \cdot \log \left(e^{\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)\\
\mathbf{elif}\;\frac{1}{n} \le 7.400639997078641 \cdot 10^{-05}:\\
\;\;\;\;\left(\frac{\frac{1}{x}}{n} - \frac{\frac{1}{2}}{x \cdot \left(x \cdot n\right)}\right) - \frac{-\log x}{n \cdot \left(x \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;e^{\mathsf{log1p}\left(x\right) \cdot \frac{1}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\end{array}double f(double x, double n) {
double r1820838 = x;
double r1820839 = 1.0;
double r1820840 = r1820838 + r1820839;
double r1820841 = n;
double r1820842 = r1820839 / r1820841;
double r1820843 = pow(r1820840, r1820842);
double r1820844 = pow(r1820838, r1820842);
double r1820845 = r1820843 - r1820844;
return r1820845;
}
double f(double x, double n) {
double r1820846 = 1.0;
double r1820847 = n;
double r1820848 = r1820846 / r1820847;
double r1820849 = -68.91712530166619;
bool r1820850 = r1820848 <= r1820849;
double r1820851 = x;
double r1820852 = r1820851 + r1820846;
double r1820853 = pow(r1820852, r1820848);
double r1820854 = pow(r1820851, r1820848);
double r1820855 = r1820853 - r1820854;
double r1820856 = cbrt(r1820855);
double r1820857 = r1820856 * r1820856;
double r1820858 = exp(r1820857);
double r1820859 = log(r1820858);
double r1820860 = r1820856 * r1820859;
double r1820861 = 7.400639997078641e-05;
bool r1820862 = r1820848 <= r1820861;
double r1820863 = r1820846 / r1820851;
double r1820864 = r1820863 / r1820847;
double r1820865 = 0.5;
double r1820866 = r1820851 * r1820847;
double r1820867 = r1820851 * r1820866;
double r1820868 = r1820865 / r1820867;
double r1820869 = r1820864 - r1820868;
double r1820870 = log(r1820851);
double r1820871 = -r1820870;
double r1820872 = r1820847 * r1820866;
double r1820873 = r1820871 / r1820872;
double r1820874 = r1820869 - r1820873;
double r1820875 = log1p(r1820851);
double r1820876 = r1820875 * r1820848;
double r1820877 = exp(r1820876);
double r1820878 = r1820877 - r1820854;
double r1820879 = r1820862 ? r1820874 : r1820878;
double r1820880 = r1820850 ? r1820860 : r1820879;
return r1820880;
}



Bits error versus x



Bits error versus n
Results
if (/ 1 n) < -68.91712530166619Initial program 0
rmApplied add-log-exp0
rmApplied add-cube-cbrt0
Applied exp-prod0
Applied log-pow0
if -68.91712530166619 < (/ 1 n) < 7.400639997078641e-05Initial program 44.4
rmApplied add-exp-log44.4
Simplified44.4
Taylor expanded around inf 32.3
Simplified31.6
if 7.400639997078641e-05 < (/ 1 n) Initial program 24.3
rmApplied add-exp-log24.3
Simplified0.9
Final simplification18.2
herbie shell --seed 2019132 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))