\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 4847.936709915299:\\
\;\;\;\;\log \left(\frac{\sqrt{1 + N}}{N}\right) + \log \left(\sqrt{1 + N}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\left(\frac{\frac{1}{N}}{N}\right), \left(\frac{\frac{1}{3}}{N} + \frac{-1}{2}\right), \left(\frac{1}{N}\right)\right)\\
\end{array}double f(double N) {
double r1337633 = N;
double r1337634 = 1.0;
double r1337635 = r1337633 + r1337634;
double r1337636 = log(r1337635);
double r1337637 = log(r1337633);
double r1337638 = r1337636 - r1337637;
return r1337638;
}
double f(double N) {
double r1337639 = N;
double r1337640 = 4847.936709915299;
bool r1337641 = r1337639 <= r1337640;
double r1337642 = 1.0;
double r1337643 = r1337642 + r1337639;
double r1337644 = sqrt(r1337643);
double r1337645 = r1337644 / r1337639;
double r1337646 = log(r1337645);
double r1337647 = log(r1337644);
double r1337648 = r1337646 + r1337647;
double r1337649 = r1337642 / r1337639;
double r1337650 = r1337649 / r1337639;
double r1337651 = 0.3333333333333333;
double r1337652 = r1337651 / r1337639;
double r1337653 = -0.5;
double r1337654 = r1337652 + r1337653;
double r1337655 = fma(r1337650, r1337654, r1337649);
double r1337656 = r1337641 ? r1337648 : r1337655;
return r1337656;
}



Bits error versus N
if N < 4847.936709915299Initial program 0.1
Simplified0.1
rmApplied log1p-udef0.1
Applied diff-log0.1
rmApplied *-un-lft-identity0.1
Applied add-sqr-sqrt0.1
Applied times-frac0.1
Applied log-prod0.1
if 4847.936709915299 < N Initial program 59.3
Simplified59.3
Taylor expanded around -inf 0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019133 +o rules:numerics
(FPCore (N)
:name "2log (problem 3.3.6)"
(- (log (+ N 1)) (log N)))