{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le -4.895039802440850170454212278486686446129 \cdot 10^{-17}:\\
\;\;\;\;\mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + \log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}}\right)\\
\mathbf{elif}\;\frac{1}{n} \le 1.260859621565214258622089794815744532231 \cdot 10^{-44}:\\
\;\;\;\;\frac{\frac{1}{x}}{n} - \mathsf{fma}\left(-\frac{\frac{\log x}{n \cdot n}}{x}, 1, \frac{\frac{0.5}{n}}{x \cdot x}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(-{\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}, {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) + \sqrt[3]{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right) \cdot \left(\log \left(\frac{e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)}}}{e^{{\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}}}\right) \cdot \left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)} \cdot {\left(\sqrt[3]{x}\right)}^{\left(\frac{1}{n}\right)}\right)\right)}\\
\end{array}double f(double x, double n) {
double r3588122 = x;
double r3588123 = 1.0;
double r3588124 = r3588122 + r3588123;
double r3588125 = n;
double r3588126 = r3588123 / r3588125;
double r3588127 = pow(r3588124, r3588126);
double r3588128 = pow(r3588122, r3588126);
double r3588129 = r3588127 - r3588128;
return r3588129;
}
double f(double x, double n) {
double r3588130 = 1.0;
double r3588131 = n;
double r3588132 = r3588130 / r3588131;
double r3588133 = -4.89503980244085e-17;
bool r3588134 = r3588132 <= r3588133;
double r3588135 = x;
double r3588136 = cbrt(r3588135);
double r3588137 = pow(r3588136, r3588132);
double r3588138 = -r3588137;
double r3588139 = r3588136 * r3588136;
double r3588140 = pow(r3588139, r3588132);
double r3588141 = r3588140 * r3588137;
double r3588142 = fma(r3588138, r3588140, r3588141);
double r3588143 = r3588135 + r3588130;
double r3588144 = pow(r3588143, r3588132);
double r3588145 = r3588144 - r3588141;
double r3588146 = exp(r3588145);
double r3588147 = log(r3588146);
double r3588148 = r3588142 + r3588147;
double r3588149 = 1.2608596215652143e-44;
bool r3588150 = r3588132 <= r3588149;
double r3588151 = r3588130 / r3588135;
double r3588152 = r3588151 / r3588131;
double r3588153 = log(r3588135);
double r3588154 = r3588131 * r3588131;
double r3588155 = r3588153 / r3588154;
double r3588156 = r3588155 / r3588135;
double r3588157 = -r3588156;
double r3588158 = 0.5;
double r3588159 = r3588158 / r3588131;
double r3588160 = r3588135 * r3588135;
double r3588161 = r3588159 / r3588160;
double r3588162 = fma(r3588157, r3588130, r3588161);
double r3588163 = r3588152 - r3588162;
double r3588164 = exp(r3588144);
double r3588165 = exp(r3588141);
double r3588166 = r3588164 / r3588165;
double r3588167 = log(r3588166);
double r3588168 = r3588167 * r3588145;
double r3588169 = r3588145 * r3588168;
double r3588170 = cbrt(r3588169);
double r3588171 = r3588142 + r3588170;
double r3588172 = r3588150 ? r3588163 : r3588171;
double r3588173 = r3588134 ? r3588148 : r3588172;
return r3588173;
}



Bits error versus x



Bits error versus n
if (/ 1.0 n) < -4.89503980244085e-17Initial program 2.2
rmApplied add-cube-cbrt2.2
Applied unpow-prod-down2.2
Applied add-cube-cbrt2.3
Applied prod-diff2.3
rmApplied add-log-exp2.5
Simplified2.5
if -4.89503980244085e-17 < (/ 1.0 n) < 1.2608596215652143e-44Initial program 44.5
Taylor expanded around inf 32.2
Simplified31.6
if 1.2608596215652143e-44 < (/ 1.0 n) Initial program 30.5
rmApplied add-cube-cbrt30.5
Applied unpow-prod-down30.6
Applied add-cube-cbrt30.7
Applied prod-diff30.7
rmApplied add-cbrt-cube30.7
Simplified30.7
rmApplied add-log-exp30.7
Applied add-log-exp30.7
Applied diff-log30.7
Final simplification22.8
herbie shell --seed 2019172 +o rules:numerics
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))