\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 9307.91986860579:\\
\;\;\;\;\log \left(\frac{1 + N}{N}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{N} + \frac{\frac{-1}{2}}{N \cdot N}\right) - \frac{\frac{-1}{3}}{N \cdot \left(N \cdot N\right)}\\
\end{array}double f(double N) {
double r2093893 = N;
double r2093894 = 1.0;
double r2093895 = r2093893 + r2093894;
double r2093896 = log(r2093895);
double r2093897 = log(r2093893);
double r2093898 = r2093896 - r2093897;
return r2093898;
}
double f(double N) {
double r2093899 = N;
double r2093900 = 9307.91986860579;
bool r2093901 = r2093899 <= r2093900;
double r2093902 = 1.0;
double r2093903 = r2093902 + r2093899;
double r2093904 = r2093903 / r2093899;
double r2093905 = log(r2093904);
double r2093906 = r2093902 / r2093899;
double r2093907 = -0.5;
double r2093908 = r2093899 * r2093899;
double r2093909 = r2093907 / r2093908;
double r2093910 = r2093906 + r2093909;
double r2093911 = -0.3333333333333333;
double r2093912 = r2093899 * r2093908;
double r2093913 = r2093911 / r2093912;
double r2093914 = r2093910 - r2093913;
double r2093915 = r2093901 ? r2093905 : r2093914;
return r2093915;
}



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