\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;\log \left(N + 1\right) - \log N \le 2.35842836585 \cdot 10^{-5}:\\
\;\;\;\;\frac{1}{{N}^{2}} \cdot \left(\frac{0.333333333333333315}{N} - 0.5\right) + \frac{1}{N}\\
\mathbf{else}:\\
\;\;\;\;\log \left(\frac{N + 1}{N}\right)\\
\end{array}double f(double N) {
double r52178 = N;
double r52179 = 1.0;
double r52180 = r52178 + r52179;
double r52181 = log(r52180);
double r52182 = log(r52178);
double r52183 = r52181 - r52182;
return r52183;
}
double f(double N) {
double r52184 = N;
double r52185 = 1.0;
double r52186 = r52184 + r52185;
double r52187 = log(r52186);
double r52188 = log(r52184);
double r52189 = r52187 - r52188;
double r52190 = 2.3584283658451e-05;
bool r52191 = r52189 <= r52190;
double r52192 = 1.0;
double r52193 = 2.0;
double r52194 = pow(r52184, r52193);
double r52195 = r52192 / r52194;
double r52196 = 0.3333333333333333;
double r52197 = r52196 / r52184;
double r52198 = 0.5;
double r52199 = r52197 - r52198;
double r52200 = r52195 * r52199;
double r52201 = r52185 / r52184;
double r52202 = r52200 + r52201;
double r52203 = r52186 / r52184;
double r52204 = log(r52203);
double r52205 = r52191 ? r52202 : r52204;
return r52205;
}



Bits error versus N
Results
if (- (log (+ N 1.0)) (log N)) < 2.3584283658451e-05Initial program 59.6
Taylor expanded around inf 0.0
Simplified0.0
if 2.3584283658451e-05 < (- (log (+ N 1.0)) (log N)) Initial program 0.1
rmApplied diff-log0.1
Final simplification0.1
herbie shell --seed 2020035
(FPCore (N)
:name "2log (problem 3.3.6)"
:precision binary64
(- (log (+ N 1)) (log N)))