{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -23787117.0056510865688323974609375:\\
\;\;\;\;{\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) + \left(\frac{1}{{n}^{2}} \cdot \left(\frac{\log x \cdot \frac{1}{3}}{x} + \frac{\frac{-2}{3}}{\frac{x}{-\log x}}\right) + \left(\frac{\frac{1}{n}}{x} - \frac{0.5}{\mathsf{log1p}\left(\mathsf{expm1}\left({x}^{2} \cdot n\right)\right)}\right)\right)\\
\mathbf{elif}\;n \le 96674705739.3252410888671875:\\
\;\;\;\;\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{else}:\\
\;\;\;\;\sqrt{\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right)} \cdot \sqrt{\frac{1}{x} \cdot \left(\frac{1}{n} - \frac{-\log x}{{n}^{2}}\right)} - \frac{0.5}{{x}^{2} \cdot n}\\
\end{array}double f(double x, double n) {
double r122935 = x;
double r122936 = 1.0;
double r122937 = r122935 + r122936;
double r122938 = n;
double r122939 = r122936 / r122938;
double r122940 = pow(r122937, r122939);
double r122941 = pow(r122935, r122939);
double r122942 = r122940 - r122941;
return r122942;
}
double f(double x, double n) {
double r122943 = n;
double r122944 = -23787117.005651087;
bool r122945 = r122943 <= r122944;
double r122946 = x;
double r122947 = cbrt(r122946);
double r122948 = r122947 * r122947;
double r122949 = 1.0;
double r122950 = r122949 / r122943;
double r122951 = pow(r122948, r122950);
double r122952 = pow(r122947, r122950);
double r122953 = -r122952;
double r122954 = r122953 + r122952;
double r122955 = r122951 * r122954;
double r122956 = 2.0;
double r122957 = pow(r122943, r122956);
double r122958 = r122949 / r122957;
double r122959 = log(r122946);
double r122960 = 0.3333333333333333;
double r122961 = r122959 * r122960;
double r122962 = r122961 / r122946;
double r122963 = -0.6666666666666666;
double r122964 = -r122959;
double r122965 = r122946 / r122964;
double r122966 = r122963 / r122965;
double r122967 = r122962 + r122966;
double r122968 = r122958 * r122967;
double r122969 = r122950 / r122946;
double r122970 = 0.5;
double r122971 = pow(r122946, r122956);
double r122972 = r122971 * r122943;
double r122973 = expm1(r122972);
double r122974 = log1p(r122973);
double r122975 = r122970 / r122974;
double r122976 = r122969 - r122975;
double r122977 = r122968 + r122976;
double r122978 = r122955 + r122977;
double r122979 = 96674705739.32524;
bool r122980 = r122943 <= r122979;
double r122981 = r122946 + r122949;
double r122982 = cbrt(r122981);
double r122983 = r122982 * r122982;
double r122984 = pow(r122983, r122950);
double r122985 = pow(r122982, r122950);
double r122986 = r122952 * r122951;
double r122987 = -r122986;
double r122988 = fma(r122984, r122985, r122987);
double r122989 = r122988 + r122955;
double r122990 = r122949 / r122946;
double r122991 = 1.0;
double r122992 = r122991 / r122943;
double r122993 = r122964 / r122957;
double r122994 = r122992 - r122993;
double r122995 = r122990 * r122994;
double r122996 = sqrt(r122995);
double r122997 = r122996 * r122996;
double r122998 = r122970 / r122972;
double r122999 = r122997 - r122998;
double r123000 = r122980 ? r122989 : r122999;
double r123001 = r122945 ? r122978 : r123000;
return r123001;
}



Bits error versus x



Bits error versus n
if n < -23787117.005651087Initial program 45.0
rmApplied add-cube-cbrt45.0
Applied unpow-prod-down45.0
Applied add-cube-cbrt45.0
Applied unpow-prod-down45.0
Applied prod-diff45.0
Simplified45.0
Taylor expanded around inf 33.2
Simplified32.6
rmApplied log1p-expm1-u32.5
if -23787117.005651087 < n < 96674705739.32524Initial program 8.8
rmApplied add-cube-cbrt8.8
Applied unpow-prod-down8.8
Applied add-cube-cbrt8.9
Applied unpow-prod-down8.8
Applied prod-diff8.8
Simplified8.9
if 96674705739.32524 < n Initial program 44.8
Taylor expanded around inf 32.1
Simplified31.5
rmApplied add-sqr-sqrt31.5
Final simplification22.1
herbie shell --seed 2019303 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))