{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -781173098.4534194:\\
\;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{-\frac{\frac{\log x}{x}}{n}}{n}\right) - \frac{\frac{1}{2}}{\left(x \cdot n\right) \cdot x}\\
\mathbf{elif}\;n \le -2.9363061398401 \cdot 10^{-310}:\\
\;\;\;\;\mathsf{fma}\left(\left(-{x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right), \left({x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right), \left({x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\right) + \sqrt[3]{\left({\left(\sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{1 + x} \cdot \sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left(\left({\left(\sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{1 + x} \cdot \sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right) \cdot \left({\left(\sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{1 + x} \cdot \sqrt[3]{1 + x}\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{\frac{1}{n}}{2}\right)} \cdot {x}^{\left(\frac{\frac{1}{n}}{2}\right)}\right)\right)}\\
\mathbf{elif}\;n \le 16414365.079812422:\\
\;\;\;\;e^{\frac{\mathsf{log1p}\left(x\right)}{n}} - {x}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{1}{n}}{x} - \frac{-\frac{\frac{\log x}{x}}{n}}{n}\right) - \frac{\frac{1}{2}}{\left(x \cdot n\right) \cdot x}\\
\end{array}double f(double x, double n) {
double r2161152 = x;
double r2161153 = 1.0;
double r2161154 = r2161152 + r2161153;
double r2161155 = n;
double r2161156 = r2161153 / r2161155;
double r2161157 = pow(r2161154, r2161156);
double r2161158 = pow(r2161152, r2161156);
double r2161159 = r2161157 - r2161158;
return r2161159;
}
double f(double x, double n) {
double r2161160 = n;
double r2161161 = -781173098.4534194;
bool r2161162 = r2161160 <= r2161161;
double r2161163 = 1.0;
double r2161164 = r2161163 / r2161160;
double r2161165 = x;
double r2161166 = r2161164 / r2161165;
double r2161167 = log(r2161165);
double r2161168 = r2161167 / r2161165;
double r2161169 = r2161168 / r2161160;
double r2161170 = -r2161169;
double r2161171 = r2161170 / r2161160;
double r2161172 = r2161166 - r2161171;
double r2161173 = 0.5;
double r2161174 = r2161165 * r2161160;
double r2161175 = r2161174 * r2161165;
double r2161176 = r2161173 / r2161175;
double r2161177 = r2161172 - r2161176;
double r2161178 = -2.9363061398401e-310;
bool r2161179 = r2161160 <= r2161178;
double r2161180 = 2.0;
double r2161181 = r2161164 / r2161180;
double r2161182 = pow(r2161165, r2161181);
double r2161183 = -r2161182;
double r2161184 = r2161182 * r2161182;
double r2161185 = fma(r2161183, r2161182, r2161184);
double r2161186 = r2161163 + r2161165;
double r2161187 = cbrt(r2161186);
double r2161188 = pow(r2161187, r2161164);
double r2161189 = r2161187 * r2161187;
double r2161190 = pow(r2161189, r2161164);
double r2161191 = r2161188 * r2161190;
double r2161192 = r2161191 - r2161184;
double r2161193 = r2161192 * r2161192;
double r2161194 = r2161192 * r2161193;
double r2161195 = cbrt(r2161194);
double r2161196 = r2161185 + r2161195;
double r2161197 = 16414365.079812422;
bool r2161198 = r2161160 <= r2161197;
double r2161199 = log1p(r2161165);
double r2161200 = r2161199 / r2161160;
double r2161201 = exp(r2161200);
double r2161202 = pow(r2161165, r2161164);
double r2161203 = r2161201 - r2161202;
double r2161204 = r2161198 ? r2161203 : r2161177;
double r2161205 = r2161179 ? r2161196 : r2161204;
double r2161206 = r2161162 ? r2161177 : r2161205;
return r2161206;
}



Bits error versus x



Bits error versus n
if n < -781173098.4534194 or 16414365.079812422 < n Initial program 44.8
Taylor expanded around inf 32.7
Simplified32.0
if -781173098.4534194 < n < -2.9363061398401e-310Initial program 0.9
rmApplied sqr-pow0.9
Applied add-cube-cbrt0.9
Applied unpow-prod-down0.9
Applied prod-diff0.9
rmApplied add-cbrt-cube1.0
Simplified1.0
if -2.9363061398401e-310 < n < 16414365.079812422Initial program 25.0
rmApplied add-exp-log25.0
Applied pow-exp25.0
Simplified1.9
Final simplification18.9
herbie shell --seed 2019133 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))