{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;n \le -27159841.041252471506595611572265625:\\
\;\;\;\;\frac{\frac{1}{x}}{n} - \mathsf{fma}\left(1, \frac{-\log x}{x \cdot \left(n \cdot n\right)}, \frac{0.5}{\left(x \cdot x\right) \cdot n}\right)\\
\mathbf{elif}\;n \le 353.8529854336741777842689771205186843872:\\
\;\;\;\;{\left(1 + x\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{x} \cdot \log \left(e^{\sqrt[3]{x}}\right)\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{1}{x}}{n} - \mathsf{fma}\left(1, \frac{-\log x}{x \cdot \left(n \cdot n\right)}, \frac{0.5}{\left(x \cdot x\right) \cdot n}\right)\\
\end{array}double f(double x, double n) {
double r2791271 = x;
double r2791272 = 1.0;
double r2791273 = r2791271 + r2791272;
double r2791274 = n;
double r2791275 = r2791272 / r2791274;
double r2791276 = pow(r2791273, r2791275);
double r2791277 = pow(r2791271, r2791275);
double r2791278 = r2791276 - r2791277;
return r2791278;
}
double f(double x, double n) {
double r2791279 = n;
double r2791280 = -27159841.04125247;
bool r2791281 = r2791279 <= r2791280;
double r2791282 = 1.0;
double r2791283 = x;
double r2791284 = r2791282 / r2791283;
double r2791285 = r2791284 / r2791279;
double r2791286 = log(r2791283);
double r2791287 = -r2791286;
double r2791288 = r2791279 * r2791279;
double r2791289 = r2791283 * r2791288;
double r2791290 = r2791287 / r2791289;
double r2791291 = 0.5;
double r2791292 = r2791283 * r2791283;
double r2791293 = r2791292 * r2791279;
double r2791294 = r2791291 / r2791293;
double r2791295 = fma(r2791282, r2791290, r2791294);
double r2791296 = r2791285 - r2791295;
double r2791297 = 353.8529854336742;
bool r2791298 = r2791279 <= r2791297;
double r2791299 = r2791282 + r2791283;
double r2791300 = r2791282 / r2791279;
double r2791301 = pow(r2791299, r2791300);
double r2791302 = cbrt(r2791283);
double r2791303 = exp(r2791302);
double r2791304 = log(r2791303);
double r2791305 = r2791302 * r2791304;
double r2791306 = pow(r2791305, r2791300);
double r2791307 = pow(r2791302, r2791300);
double r2791308 = r2791306 * r2791307;
double r2791309 = r2791301 - r2791308;
double r2791310 = r2791298 ? r2791309 : r2791296;
double r2791311 = r2791281 ? r2791296 : r2791310;
return r2791311;
}



Bits error versus x



Bits error versus n
if n < -27159841.04125247 or 353.8529854336742 < n Initial program 44.7
rmApplied sqr-pow44.7
Taylor expanded around inf 32.7
Simplified32.2
if -27159841.04125247 < n < 353.8529854336742Initial program 8.4
rmApplied sqr-pow8.4
rmApplied add-cube-cbrt8.4
Applied unpow-prod-down8.4
Applied prod-diff8.4
Simplified8.4
Taylor expanded around 0 8.4
rmApplied add-log-exp9.0
Final simplification22.4
herbie shell --seed 2019168 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))