\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 9562.6451805155593:\\
\;\;\;\;\log \left(\frac{N + 1}{N}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{N} + \left(\frac{0.333333333333333315}{{N}^{3}} - \frac{\frac{0.5}{N}}{N}\right)\right) + \mathsf{fma}\left(-\frac{0.5}{N \cdot N}, 1, \frac{0.5}{N \cdot N}\right)\\
\end{array}double f(double N) {
double r69687 = N;
double r69688 = 1.0;
double r69689 = r69687 + r69688;
double r69690 = log(r69689);
double r69691 = log(r69687);
double r69692 = r69690 - r69691;
return r69692;
}
double f(double N) {
double r69693 = N;
double r69694 = 9562.64518051556;
bool r69695 = r69693 <= r69694;
double r69696 = 1.0;
double r69697 = r69693 + r69696;
double r69698 = r69697 / r69693;
double r69699 = log(r69698);
double r69700 = r69696 / r69693;
double r69701 = 0.3333333333333333;
double r69702 = 3.0;
double r69703 = pow(r69693, r69702);
double r69704 = r69701 / r69703;
double r69705 = 0.5;
double r69706 = r69705 / r69693;
double r69707 = r69706 / r69693;
double r69708 = r69704 - r69707;
double r69709 = r69700 + r69708;
double r69710 = r69693 * r69693;
double r69711 = r69705 / r69710;
double r69712 = -r69711;
double r69713 = 1.0;
double r69714 = fma(r69712, r69713, r69711);
double r69715 = r69709 + r69714;
double r69716 = r69695 ? r69699 : r69715;
return r69716;
}



Bits error versus N
if N < 9562.64518051556Initial program 0.1
rmApplied diff-log0.1
if 9562.64518051556 < N Initial program 59.5
Taylor expanded around inf 0.0
Simplified0.0
rmApplied *-un-lft-identity0.0
Applied add-sqr-sqrt0.5
Applied prod-diff0.5
Applied associate-+r+0.5
Simplified0.0
Final simplification0.1
herbie shell --seed 2020047 +o rules:numerics
(FPCore (N)
:name "2log (problem 3.3.6)"
:precision binary64
(- (log (+ N 1)) (log N)))