{\left(x + 1.0\right)}^{\left(\frac{1.0}{n}\right)} - {x}^{\left(\frac{1.0}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1.0}{n} \le -6.88847562666282 \cdot 10^{-20}:\\
\;\;\;\;\sqrt[3]{{\left(x + 1.0\right)}^{\left(\frac{1.0}{n}\right)} - {x}^{\left(\frac{1.0}{n}\right)}} \cdot \left(\sqrt[3]{\log \left(\frac{e^{{\left(x + 1.0\right)}^{\left(\frac{1.0}{n}\right)}}}{\sqrt{e^{{x}^{\left(\frac{1.0}{n}\right)}}}}\right) + \left(-\log \left(\sqrt{e^{{x}^{\left(\frac{1.0}{n}\right)}}}\right)\right)} \cdot \sqrt[3]{{\left(x + 1.0\right)}^{\left(\frac{1.0}{n}\right)} - {x}^{\left(\frac{1.0}{n}\right)}}\right)\\
\mathbf{elif}\;\frac{1.0}{n} \le 1.8205393655820836 \cdot 10^{-32}:\\
\;\;\;\;\left(\frac{\frac{1.0}{x}}{n} - \frac{0.5}{n \cdot \left(x \cdot x\right)}\right) + \frac{\log x \cdot 1.0}{n \cdot \left(x \cdot n\right)}\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\log \left(\frac{e^{{\left(x + 1.0\right)}^{\left(\frac{1.0}{n}\right)}}}{e^{{x}^{\left(\frac{1.0}{n}\right)}}}\right)} \cdot \sqrt[3]{e^{\log \left(\log \left(e^{{\left(x + 1.0\right)}^{\left(\frac{1.0}{n}\right)} - {x}^{\left(\frac{1.0}{n}\right)}}\right)\right)}}\right) \cdot \sqrt[3]{{\left(x + 1.0\right)}^{\left(\frac{1.0}{n}\right)} - {x}^{\left(\frac{1.0}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r3849121 = x;
double r3849122 = 1.0;
double r3849123 = r3849121 + r3849122;
double r3849124 = n;
double r3849125 = r3849122 / r3849124;
double r3849126 = pow(r3849123, r3849125);
double r3849127 = pow(r3849121, r3849125);
double r3849128 = r3849126 - r3849127;
return r3849128;
}
double f(double x, double n) {
double r3849129 = 1.0;
double r3849130 = n;
double r3849131 = r3849129 / r3849130;
double r3849132 = -6.88847562666282e-20;
bool r3849133 = r3849131 <= r3849132;
double r3849134 = x;
double r3849135 = r3849134 + r3849129;
double r3849136 = pow(r3849135, r3849131);
double r3849137 = pow(r3849134, r3849131);
double r3849138 = r3849136 - r3849137;
double r3849139 = cbrt(r3849138);
double r3849140 = exp(r3849136);
double r3849141 = exp(r3849137);
double r3849142 = sqrt(r3849141);
double r3849143 = r3849140 / r3849142;
double r3849144 = log(r3849143);
double r3849145 = log(r3849142);
double r3849146 = -r3849145;
double r3849147 = r3849144 + r3849146;
double r3849148 = cbrt(r3849147);
double r3849149 = r3849148 * r3849139;
double r3849150 = r3849139 * r3849149;
double r3849151 = 1.8205393655820836e-32;
bool r3849152 = r3849131 <= r3849151;
double r3849153 = r3849129 / r3849134;
double r3849154 = r3849153 / r3849130;
double r3849155 = 0.5;
double r3849156 = r3849134 * r3849134;
double r3849157 = r3849130 * r3849156;
double r3849158 = r3849155 / r3849157;
double r3849159 = r3849154 - r3849158;
double r3849160 = log(r3849134);
double r3849161 = r3849160 * r3849129;
double r3849162 = r3849134 * r3849130;
double r3849163 = r3849130 * r3849162;
double r3849164 = r3849161 / r3849163;
double r3849165 = r3849159 + r3849164;
double r3849166 = r3849140 / r3849141;
double r3849167 = log(r3849166);
double r3849168 = cbrt(r3849167);
double r3849169 = exp(r3849138);
double r3849170 = log(r3849169);
double r3849171 = log(r3849170);
double r3849172 = exp(r3849171);
double r3849173 = cbrt(r3849172);
double r3849174 = r3849168 * r3849173;
double r3849175 = r3849174 * r3849139;
double r3849176 = r3849152 ? r3849165 : r3849175;
double r3849177 = r3849133 ? r3849150 : r3849176;
return r3849177;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -6.88847562666282e-20Initial program 2.4
rmApplied add-cube-cbrt2.4
rmApplied add-log-exp2.6
Applied add-log-exp2.6
Applied diff-log2.5
rmApplied add-sqr-sqrt2.6
Applied *-un-lft-identity2.6
Applied times-frac2.6
Applied log-prod2.6
Simplified2.6
if -6.88847562666282e-20 < (/ 1.0 n) < 1.8205393655820836e-32Initial program 44.1
Taylor expanded around inf 33.1
Simplified32.6
if 1.8205393655820836e-32 < (/ 1.0 n) Initial program 29.2
rmApplied add-cube-cbrt29.2
rmApplied add-log-exp29.2
Applied add-log-exp29.3
Applied diff-log29.3
rmApplied add-log-exp29.3
rmApplied add-exp-log29.3
Final simplification23.2
herbie shell --seed 2019165
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
(- (pow (+ x 1.0) (/ 1.0 n)) (pow x (/ 1.0 n))))