\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;\log \left(N + 1\right) - \log N \le 3.790391140512383572058752179145812988281 \cdot 10^{-6}:\\
\;\;\;\;\left(\frac{1}{N} - \frac{0.5}{N \cdot N}\right) + \frac{\frac{0.3333333333333333148296162562473909929395}{N}}{N \cdot N}\\
\mathbf{else}:\\
\;\;\;\;\log \left(\frac{N + 1}{N}\right)\\
\end{array}double f(double N) {
double r3399337 = N;
double r3399338 = 1.0;
double r3399339 = r3399337 + r3399338;
double r3399340 = log(r3399339);
double r3399341 = log(r3399337);
double r3399342 = r3399340 - r3399341;
return r3399342;
}
double f(double N) {
double r3399343 = N;
double r3399344 = 1.0;
double r3399345 = r3399343 + r3399344;
double r3399346 = log(r3399345);
double r3399347 = log(r3399343);
double r3399348 = r3399346 - r3399347;
double r3399349 = 3.7903911405123836e-06;
bool r3399350 = r3399348 <= r3399349;
double r3399351 = r3399344 / r3399343;
double r3399352 = 0.5;
double r3399353 = r3399343 * r3399343;
double r3399354 = r3399352 / r3399353;
double r3399355 = r3399351 - r3399354;
double r3399356 = 0.3333333333333333;
double r3399357 = r3399356 / r3399343;
double r3399358 = r3399357 / r3399353;
double r3399359 = r3399355 + r3399358;
double r3399360 = r3399345 / r3399343;
double r3399361 = log(r3399360);
double r3399362 = r3399350 ? r3399359 : r3399361;
return r3399362;
}



Bits error versus N
Results
if (- (log (+ N 1.0)) (log N)) < 3.7903911405123836e-06Initial program 59.8
Taylor expanded around inf 0.0
Simplified0.0
if 3.7903911405123836e-06 < (- (log (+ N 1.0)) (log N)) Initial program 0.2
rmApplied diff-log0.2
Final simplification0.1
herbie shell --seed 2019200
(FPCore (N)
:name "2log (problem 3.3.6)"
(- (log (+ N 1.0)) (log N)))