{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -286411.88704066107:\\
\;\;\;\;(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{x \cdot n}\right) + \left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right))_*\\
\mathbf{elif}\;n \le -1.11912698867685 \cdot 10^{-310}:\\
\;\;\;\;(\left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}} \cdot \sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) \cdot \left(\sqrt[3]{{\left(1 + x\right)}^{\left(\frac{1}{n}\right)}}\right) + \left(\left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right))_*\\
\mathbf{elif}\;n \le 1962496.7017867004:\\
\;\;\;\;e^{\log \left(e^{\frac{\log_* (1 + x)}{n}} - {x}^{\left(\frac{1}{n}\right)}\right)}\\
\mathbf{else}:\\
\;\;\;\;(\left(\frac{\frac{-1}{2}}{x}\right) \cdot \left(\frac{1}{x \cdot n}\right) + \left(\frac{1}{x \cdot n} - \frac{-\log x}{\left(x \cdot n\right) \cdot n}\right))_*\\
\end{array}double f(double x, double n) {
double r10329950 = x;
double r10329951 = 1.0;
double r10329952 = r10329950 + r10329951;
double r10329953 = n;
double r10329954 = r10329951 / r10329953;
double r10329955 = pow(r10329952, r10329954);
double r10329956 = pow(r10329950, r10329954);
double r10329957 = r10329955 - r10329956;
return r10329957;
}
double f(double x, double n) {
double r10329958 = n;
double r10329959 = -286411.88704066107;
bool r10329960 = r10329958 <= r10329959;
double r10329961 = -0.5;
double r10329962 = x;
double r10329963 = r10329961 / r10329962;
double r10329964 = 1.0;
double r10329965 = r10329962 * r10329958;
double r10329966 = r10329964 / r10329965;
double r10329967 = log(r10329962);
double r10329968 = -r10329967;
double r10329969 = r10329965 * r10329958;
double r10329970 = r10329968 / r10329969;
double r10329971 = r10329966 - r10329970;
double r10329972 = fma(r10329963, r10329966, r10329971);
double r10329973 = -1.11912698867685e-310;
bool r10329974 = r10329958 <= r10329973;
double r10329975 = r10329964 + r10329962;
double r10329976 = r10329964 / r10329958;
double r10329977 = pow(r10329975, r10329976);
double r10329978 = cbrt(r10329977);
double r10329979 = r10329978 * r10329978;
double r10329980 = 2.0;
double r10329981 = r10329976 / r10329980;
double r10329982 = pow(r10329962, r10329981);
double r10329983 = -r10329982;
double r10329984 = r10329983 * r10329982;
double r10329985 = fma(r10329979, r10329978, r10329984);
double r10329986 = 1962496.7017867004;
bool r10329987 = r10329958 <= r10329986;
double r10329988 = log1p(r10329962);
double r10329989 = r10329988 / r10329958;
double r10329990 = exp(r10329989);
double r10329991 = pow(r10329962, r10329976);
double r10329992 = r10329990 - r10329991;
double r10329993 = log(r10329992);
double r10329994 = exp(r10329993);
double r10329995 = r10329987 ? r10329994 : r10329972;
double r10329996 = r10329974 ? r10329985 : r10329995;
double r10329997 = r10329960 ? r10329972 : r10329996;
return r10329997;
}



Bits error versus x



Bits error versus n
if n < -286411.88704066107 or 1962496.7017867004 < n Initial program 44.9
Taylor expanded around inf 32.5
Simplified32.5
if -286411.88704066107 < n < -1.11912698867685e-310Initial program 0.5
rmApplied sqr-pow0.6
Applied add-cube-cbrt0.6
Applied prod-diff0.6
Simplified0.6
if -1.11912698867685e-310 < n < 1962496.7017867004Initial program 25.6
rmApplied add-exp-log25.6
rmApplied add-exp-log25.7
Applied pow-exp25.7
Simplified1.7
Final simplification19.3
herbie shell --seed 2019107 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))