\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 8386.707428118045:\\
\;\;\;\;\log \left(\frac{1 + N}{N}\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\frac{\frac{1}{N}}{N}, \frac{\frac{1}{3}}{N} - \frac{1}{2}, \frac{1}{N}\right)\\
\end{array}double f(double N) {
double r1048910 = N;
double r1048911 = 1.0;
double r1048912 = r1048910 + r1048911;
double r1048913 = log(r1048912);
double r1048914 = log(r1048910);
double r1048915 = r1048913 - r1048914;
return r1048915;
}
double f(double N) {
double r1048916 = N;
double r1048917 = 8386.707428118045;
bool r1048918 = r1048916 <= r1048917;
double r1048919 = 1.0;
double r1048920 = r1048919 + r1048916;
double r1048921 = r1048920 / r1048916;
double r1048922 = log(r1048921);
double r1048923 = r1048919 / r1048916;
double r1048924 = r1048923 / r1048916;
double r1048925 = 0.3333333333333333;
double r1048926 = r1048925 / r1048916;
double r1048927 = 0.5;
double r1048928 = r1048926 - r1048927;
double r1048929 = fma(r1048924, r1048928, r1048923);
double r1048930 = r1048918 ? r1048922 : r1048929;
return r1048930;
}



Bits error versus N
if N < 8386.707428118045Initial program 0.1
Simplified0.1
rmApplied log1p-udef0.1
Applied diff-log0.1
if 8386.707428118045 < N Initial program 59.4
Simplified59.4
Taylor expanded around -inf 0.0
Simplified0.0
Final simplification0.1
herbie shell --seed 2019152 +o rules:numerics
(FPCore (N)
:name "2log (problem 3.3.6)"
(- (log (+ N 1)) (log N)))