\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;\log \left(N + 1\right) - \log N \le \frac{40885599}{281474976710656}:\\
\;\;\;\;\frac{1}{{N}^{2}} \cdot \left(\frac{\frac{6004799503160661}{18014398509481984}}{N} - \frac{1}{2}\right) + \frac{1}{N}\\
\mathbf{else}:\\
\;\;\;\;\log \left(\sqrt{\frac{N + 1}{N}} \cdot \sqrt{\frac{N + 1}{N}}\right)\\
\end{array}double f(double N) {
double r25151 = N;
double r25152 = 1.0;
double r25153 = r25151 + r25152;
double r25154 = log(r25153);
double r25155 = log(r25151);
double r25156 = r25154 - r25155;
return r25156;
}
double f(double N) {
double r25157 = N;
double r25158 = 1.0;
double r25159 = r25157 + r25158;
double r25160 = log(r25159);
double r25161 = log(r25157);
double r25162 = r25160 - r25161;
double r25163 = 40885599.0;
double r25164 = 281474976710656.0;
double r25165 = r25163 / r25164;
bool r25166 = r25162 <= r25165;
double r25167 = 1.0;
double r25168 = 2.0;
double r25169 = pow(r25157, r25168);
double r25170 = r25167 / r25169;
double r25171 = 6004799503160661.0;
double r25172 = 18014398509481984.0;
double r25173 = r25171 / r25172;
double r25174 = r25173 / r25157;
double r25175 = 2.0;
double r25176 = r25158 / r25175;
double r25177 = r25174 - r25176;
double r25178 = r25170 * r25177;
double r25179 = r25158 / r25157;
double r25180 = r25178 + r25179;
double r25181 = r25159 / r25157;
double r25182 = sqrt(r25181);
double r25183 = r25182 * r25182;
double r25184 = log(r25183);
double r25185 = r25166 ? r25180 : r25184;
return r25185;
}



Bits error versus N
Results
if (- (log (+ N 1.0)) (log N)) < 1.4525482683325208e-07Initial program 60.0
Taylor expanded around inf 0.0
Simplified0.0
if 1.4525482683325208e-07 < (- (log (+ N 1.0)) (log N)) Initial program 0.3
rmApplied diff-log0.2
rmApplied add-sqr-sqrt0.2
Final simplification0.1
herbie shell --seed 2019304
(FPCore (N)
:name "2log (problem 3.3.6)"
:precision binary64
(- (log (+ N 1)) (log N)))