{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}\begin{array}{l}
\mathbf{if}\;\frac{1}{n} \le \frac{-4632721439145361}{618970019642690137449562112}:\\
\;\;\;\;\log \left(e^{{\left(x + 1\right)}^{\left(\frac{1}{n}\right)} - {x}^{\left(\frac{1}{n}\right)}}\right)\\
\mathbf{elif}\;\frac{1}{n} \le \frac{1380969875839495}{288230376151711744}:\\
\;\;\;\;\frac{\frac{1}{n}}{x} - \left(\frac{\frac{\frac{1}{2}}{n}}{{x}^{2}} - \frac{1 \cdot \log x}{x \cdot {n}^{2}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{{\left({\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right)}^{3} - {\left({x}^{\left(\frac{1}{n}\right)}\right)}^{3}}{{x}^{\left(\frac{1}{n}\right)} \cdot \left({x}^{\left(\frac{1}{n}\right)} + {\left(x + 1\right)}^{\left(\frac{1}{n}\right)}\right) + {\left(x + 1\right)}^{\left(2 \cdot \frac{1}{n}\right)}}\\
\end{array}double f(double x, double n) {
double r85114 = x;
double r85115 = 1.0;
double r85116 = r85114 + r85115;
double r85117 = n;
double r85118 = r85115 / r85117;
double r85119 = pow(r85116, r85118);
double r85120 = pow(r85114, r85118);
double r85121 = r85119 - r85120;
return r85121;
}
double f(double x, double n) {
double r85122 = 1.0;
double r85123 = n;
double r85124 = r85122 / r85123;
double r85125 = -4632721439145361.0;
double r85126 = 6.1897001964269014e+26;
double r85127 = r85125 / r85126;
bool r85128 = r85124 <= r85127;
double r85129 = x;
double r85130 = r85129 + r85122;
double r85131 = pow(r85130, r85124);
double r85132 = pow(r85129, r85124);
double r85133 = r85131 - r85132;
double r85134 = exp(r85133);
double r85135 = log(r85134);
double r85136 = 1380969875839495.0;
double r85137 = 2.8823037615171174e+17;
double r85138 = r85136 / r85137;
bool r85139 = r85124 <= r85138;
double r85140 = r85124 / r85129;
double r85141 = 2.0;
double r85142 = r85122 / r85141;
double r85143 = r85142 / r85123;
double r85144 = 2.0;
double r85145 = pow(r85129, r85144);
double r85146 = r85143 / r85145;
double r85147 = log(r85129);
double r85148 = r85122 * r85147;
double r85149 = pow(r85123, r85144);
double r85150 = r85129 * r85149;
double r85151 = r85148 / r85150;
double r85152 = r85146 - r85151;
double r85153 = r85140 - r85152;
double r85154 = 3.0;
double r85155 = pow(r85131, r85154);
double r85156 = pow(r85132, r85154);
double r85157 = r85155 - r85156;
double r85158 = r85132 + r85131;
double r85159 = r85132 * r85158;
double r85160 = r85144 * r85124;
double r85161 = pow(r85130, r85160);
double r85162 = r85159 + r85161;
double r85163 = r85157 / r85162;
double r85164 = r85139 ? r85153 : r85163;
double r85165 = r85128 ? r85135 : r85164;
return r85165;
}



Bits error versus x



Bits error versus n
Results
if (/ 1.0 n) < -7.484565151991804e-12Initial program 1.3
rmApplied add-log-exp1.5
Applied add-log-exp1.4
Applied diff-log1.4
Simplified1.4
if -7.484565151991804e-12 < (/ 1.0 n) < 0.004791201726471097Initial program 45.0
Taylor expanded around inf 33.0
Simplified32.2
if 0.004791201726471097 < (/ 1.0 n) Initial program 23.6
rmApplied flip3--26.8
Simplified26.8
Final simplification22.2
herbie shell --seed 197574269
(FPCore (x n)
:name "2nthrt (problem 3.4.6)"
:precision binary64
(- (pow (+ x 1) (/ 1 n)) (pow x (/ 1 n))))