\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 9098.449974321133:\\
\;\;\;\;\log \left(\frac{1}{\sqrt{N}}\right) + \log \left(\frac{1 + N}{\sqrt{N}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\frac{\frac{\frac{1}{3}}{N}}{N \cdot N} - \frac{\frac{1}{2}}{N \cdot N}\right) + \frac{1}{N}\\
\end{array}double f(double N) {
double r4580997 = N;
double r4580998 = 1.0;
double r4580999 = r4580997 + r4580998;
double r4581000 = log(r4580999);
double r4581001 = log(r4580997);
double r4581002 = r4581000 - r4581001;
return r4581002;
}
double f(double N) {
double r4581003 = N;
double r4581004 = 9098.449974321133;
bool r4581005 = r4581003 <= r4581004;
double r4581006 = 1.0;
double r4581007 = sqrt(r4581003);
double r4581008 = r4581006 / r4581007;
double r4581009 = log(r4581008);
double r4581010 = r4581006 + r4581003;
double r4581011 = r4581010 / r4581007;
double r4581012 = log(r4581011);
double r4581013 = r4581009 + r4581012;
double r4581014 = 0.3333333333333333;
double r4581015 = r4581014 / r4581003;
double r4581016 = r4581003 * r4581003;
double r4581017 = r4581015 / r4581016;
double r4581018 = 0.5;
double r4581019 = r4581018 / r4581016;
double r4581020 = r4581017 - r4581019;
double r4581021 = r4581006 / r4581003;
double r4581022 = r4581020 + r4581021;
double r4581023 = r4581005 ? r4581013 : r4581022;
return r4581023;
}



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