\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;\log \left(N + 1\right) - \log N \le 1.452548268332520819967612624168395996094 \cdot 10^{-7}:\\
\;\;\;\;\frac{0.3333333333333333148296162562473909929395}{{N}^{3}} + \frac{1 - \frac{0.5}{N}}{N}\\
\mathbf{else}:\\
\;\;\;\;\log \left(\sqrt{\frac{N + 1}{N}} \cdot \sqrt{\frac{N + 1}{N}}\right)\\
\end{array}double f(double N) {
double r48849 = N;
double r48850 = 1.0;
double r48851 = r48849 + r48850;
double r48852 = log(r48851);
double r48853 = log(r48849);
double r48854 = r48852 - r48853;
return r48854;
}
double f(double N) {
double r48855 = N;
double r48856 = 1.0;
double r48857 = r48855 + r48856;
double r48858 = log(r48857);
double r48859 = log(r48855);
double r48860 = r48858 - r48859;
double r48861 = 1.4525482683325208e-07;
bool r48862 = r48860 <= r48861;
double r48863 = 0.3333333333333333;
double r48864 = 3.0;
double r48865 = pow(r48855, r48864);
double r48866 = r48863 / r48865;
double r48867 = 0.5;
double r48868 = r48867 / r48855;
double r48869 = r48856 - r48868;
double r48870 = r48869 / r48855;
double r48871 = r48866 + r48870;
double r48872 = r48857 / r48855;
double r48873 = sqrt(r48872);
double r48874 = r48873 * r48873;
double r48875 = log(r48874);
double r48876 = r48862 ? r48871 : r48875;
return r48876;
}



Bits error versus N
Results
if (- (log (+ N 1.0)) (log N)) < 1.4525482683325208e-07Initial program 60.0
Taylor expanded around inf 0.0
Simplified0.0
if 1.4525482683325208e-07 < (- (log (+ N 1.0)) (log N)) Initial program 0.3
rmApplied diff-log0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.1
herbie shell --seed 2019304
(FPCore (N)
:name "2log (problem 3.3.6)"
:precision binary64
(- (log (+ N 1)) (log N)))