\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 4593.354257030818189377896487712860107422:\\
\;\;\;\;\log \left(\left(\sqrt[3]{\frac{N + 1}{N}} \cdot \sqrt[3]{\frac{N + 1}{N}}\right) \cdot \sqrt[3]{\frac{N + 1}{N}}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.3333333333333333148296162562473909929395}{N \cdot \left(N \cdot N\right)} + \left(\frac{1}{N} - \frac{0.5}{N \cdot N}\right)\\
\end{array}double f(double N) {
double r6629089 = N;
double r6629090 = 1.0;
double r6629091 = r6629089 + r6629090;
double r6629092 = log(r6629091);
double r6629093 = log(r6629089);
double r6629094 = r6629092 - r6629093;
return r6629094;
}
double f(double N) {
double r6629095 = N;
double r6629096 = 4593.354257030818;
bool r6629097 = r6629095 <= r6629096;
double r6629098 = 1.0;
double r6629099 = r6629095 + r6629098;
double r6629100 = r6629099 / r6629095;
double r6629101 = cbrt(r6629100);
double r6629102 = r6629101 * r6629101;
double r6629103 = r6629102 * r6629101;
double r6629104 = log(r6629103);
double r6629105 = 0.3333333333333333;
double r6629106 = r6629095 * r6629095;
double r6629107 = r6629095 * r6629106;
double r6629108 = r6629105 / r6629107;
double r6629109 = r6629098 / r6629095;
double r6629110 = 0.5;
double r6629111 = r6629110 / r6629106;
double r6629112 = r6629109 - r6629111;
double r6629113 = r6629108 + r6629112;
double r6629114 = r6629097 ? r6629104 : r6629113;
return r6629114;
}



Bits error versus N
Results
if N < 4593.354257030818Initial program 0.1
rmApplied diff-log0.1
rmApplied add-cube-cbrt0.1
if 4593.354257030818 < N Initial program 59.5
rmApplied diff-log59.3
Taylor expanded around inf 0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019173 +o rules:numerics
(FPCore (N)
:name "2log (problem 3.3.6)"
(- (log (+ N 1.0)) (log N)))