\log \left(N + 1\right) - \log N
\mathsf{log1p}\left(\frac{1}{N}\right)double f(double N) {
double r30583 = N;
double r30584 = 1.0;
double r30585 = r30583 + r30584;
double r30586 = log(r30585);
double r30587 = log(r30583);
double r30588 = r30586 - r30587;
return r30588;
}
double f(double N) {
double r30589 = 1.0;
double r30590 = N;
double r30591 = r30589 / r30590;
double r30592 = log1p(r30591);
return r30592;
}



Bits error versus N
Results
Initial program 29.1
rmApplied diff-log29.0
Taylor expanded around 0 29.0
Simplified29.0
rmApplied *-un-lft-identity29.0
Applied log-prod29.0
Simplified29.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2020039 +o rules:numerics
(FPCore (N)
:name "2log (problem 3.3.6)"
:precision binary64
(- (log (+ N 1)) (log N)))