Average Error: 29.0 → 0.0
Time: 15.0s
Precision: 64
\[\log \left(N + 1\right) - \log N\]
\[\begin{array}{l} \mathbf{if}\;N \le 8323.84667700594764:\\ \;\;\;\;\log \left(\frac{\frac{N + 1}{\sqrt{N}}}{\sqrt{N}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{0.333333333333333315}{{N}^{3}} + \frac{1}{N}\right) - \frac{0.5}{N \cdot N}\\ \end{array}\]
\log \left(N + 1\right) - \log N
\begin{array}{l}
\mathbf{if}\;N \le 8323.84667700594764:\\
\;\;\;\;\log \left(\frac{\frac{N + 1}{\sqrt{N}}}{\sqrt{N}}\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\frac{0.333333333333333315}{{N}^{3}} + \frac{1}{N}\right) - \frac{0.5}{N \cdot N}\\

\end{array}
double f(double N) {
        double r35748 = N;
        double r35749 = 1.0;
        double r35750 = r35748 + r35749;
        double r35751 = log(r35750);
        double r35752 = log(r35748);
        double r35753 = r35751 - r35752;
        return r35753;
}

double f(double N) {
        double r35754 = N;
        double r35755 = 8323.846677005948;
        bool r35756 = r35754 <= r35755;
        double r35757 = 1.0;
        double r35758 = r35754 + r35757;
        double r35759 = sqrt(r35754);
        double r35760 = r35758 / r35759;
        double r35761 = r35760 / r35759;
        double r35762 = log(r35761);
        double r35763 = 0.3333333333333333;
        double r35764 = 3.0;
        double r35765 = pow(r35754, r35764);
        double r35766 = r35763 / r35765;
        double r35767 = r35757 / r35754;
        double r35768 = r35766 + r35767;
        double r35769 = 0.5;
        double r35770 = r35754 * r35754;
        double r35771 = r35769 / r35770;
        double r35772 = r35768 - r35771;
        double r35773 = r35756 ? r35762 : r35772;
        return r35773;
}

Error

Bits error versus N

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if N < 8323.846677005948

    1. Initial program 0.1

      \[\log \left(N + 1\right) - \log N\]
    2. Using strategy rm
    3. Applied diff-log0.1

      \[\leadsto \color{blue}{\log \left(\frac{N + 1}{N}\right)}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt0.1

      \[\leadsto \log \left(\frac{N + 1}{\color{blue}{\sqrt{N} \cdot \sqrt{N}}}\right)\]
    6. Applied associate-/r*0.1

      \[\leadsto \log \color{blue}{\left(\frac{\frac{N + 1}{\sqrt{N}}}{\sqrt{N}}\right)}\]

    if 8323.846677005948 < N

    1. Initial program 59.5

      \[\log \left(N + 1\right) - \log N\]
    2. Using strategy rm
    3. Applied diff-log59.3

      \[\leadsto \color{blue}{\log \left(\frac{N + 1}{N}\right)}\]
    4. Using strategy rm
    5. Applied add-sqr-sqrt59.8

      \[\leadsto \log \left(\frac{N + 1}{\color{blue}{\sqrt{N} \cdot \sqrt{N}}}\right)\]
    6. Applied associate-/r*59.8

      \[\leadsto \log \color{blue}{\left(\frac{\frac{N + 1}{\sqrt{N}}}{\sqrt{N}}\right)}\]
    7. Taylor expanded around inf 0.0

      \[\leadsto \color{blue}{\left(0.333333333333333315 \cdot \frac{1}{{N}^{3}} + 1 \cdot \frac{1}{N}\right) - 0.5 \cdot \frac{1}{{N}^{2}}}\]
    8. Simplified0.0

      \[\leadsto \color{blue}{\left(\frac{0.333333333333333315}{{N}^{3}} + \frac{1}{N}\right) - \frac{0.5}{N \cdot N}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;N \le 8323.84667700594764:\\ \;\;\;\;\log \left(\frac{\frac{N + 1}{\sqrt{N}}}{\sqrt{N}}\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{0.333333333333333315}{{N}^{3}} + \frac{1}{N}\right) - \frac{0.5}{N \cdot N}\\ \end{array}\]

Reproduce

herbie shell --seed 2019198 
(FPCore (N)
  :name "2log (problem 3.3.6)"
  (- (log (+ N 1.0)) (log N)))