\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 8585.191610072276:\\
\;\;\;\;\log \left(\frac{1 + N}{N}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{1}{N} - \left(\frac{1}{2} - \frac{\frac{1}{3}}{N}\right) \cdot \frac{\frac{1}{N}}{N}\\
\end{array}double f(double N) {
double r1655059 = N;
double r1655060 = 1.0;
double r1655061 = r1655059 + r1655060;
double r1655062 = log(r1655061);
double r1655063 = log(r1655059);
double r1655064 = r1655062 - r1655063;
return r1655064;
}
double f(double N) {
double r1655065 = N;
double r1655066 = 8585.191610072276;
bool r1655067 = r1655065 <= r1655066;
double r1655068 = 1.0;
double r1655069 = r1655068 + r1655065;
double r1655070 = r1655069 / r1655065;
double r1655071 = log(r1655070);
double r1655072 = r1655068 / r1655065;
double r1655073 = 0.5;
double r1655074 = 0.3333333333333333;
double r1655075 = r1655074 / r1655065;
double r1655076 = r1655073 - r1655075;
double r1655077 = r1655072 / r1655065;
double r1655078 = r1655076 * r1655077;
double r1655079 = r1655072 - r1655078;
double r1655080 = r1655067 ? r1655071 : r1655079;
return r1655080;
}



Bits error versus N
Results
if N < 8585.191610072276Initial program 0.1
rmApplied diff-log0.1
rmApplied add-log-exp0.1
Simplified0.1
if 8585.191610072276 < N Initial program 59.6
Taylor expanded around inf 0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019164
(FPCore (N)
:name "2log (problem 3.3.6)"
(- (log (+ N 1)) (log N)))