\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 7736.962487490932:\\
\;\;\;\;\log \left(\sqrt{\frac{1 + N}{N}}\right) + \log \left(\sqrt{\frac{1 + N}{N}}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{1}{N}}{N}, \frac{-1}{2}, \mathsf{fma}\left(\frac{1}{3}, \frac{\frac{1}{N}}{N \cdot N}, \frac{1}{N}\right)\right)\\
\end{array}double f(double N) {
double r1663830 = N;
double r1663831 = 1.0;
double r1663832 = r1663830 + r1663831;
double r1663833 = log(r1663832);
double r1663834 = log(r1663830);
double r1663835 = r1663833 - r1663834;
return r1663835;
}
double f(double N) {
double r1663836 = N;
double r1663837 = 7736.962487490932;
bool r1663838 = r1663836 <= r1663837;
double r1663839 = 1.0;
double r1663840 = r1663839 + r1663836;
double r1663841 = r1663840 / r1663836;
double r1663842 = sqrt(r1663841);
double r1663843 = log(r1663842);
double r1663844 = r1663843 + r1663843;
double r1663845 = r1663839 / r1663836;
double r1663846 = r1663845 / r1663836;
double r1663847 = -0.5;
double r1663848 = 0.3333333333333333;
double r1663849 = r1663836 * r1663836;
double r1663850 = r1663845 / r1663849;
double r1663851 = fma(r1663848, r1663850, r1663845);
double r1663852 = fma(r1663846, r1663847, r1663851);
double r1663853 = r1663838 ? r1663844 : r1663852;
return r1663853;
}



Bits error versus N
if N < 7736.962487490932Initial program 0.1
Simplified0.1
rmApplied log1p-udef0.1
Applied diff-log0.1
rmApplied add-sqr-sqrt0.1
Applied log-prod0.1
if 7736.962487490932 < N Initial program 59.3
Simplified59.3
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019135 +o rules:numerics
(FPCore (N)
:name "2log (problem 3.3.6)"
(- (log (+ N 1)) (log N)))