Average Error: 58.3 → 0.4
Time: 13.4s
Precision: 64
\[\log \left(\frac{1 - \varepsilon}{1 + \varepsilon}\right)\]
\[\frac{{\varepsilon}^{3}}{{1}^{2}} \cdot \left(4 - \frac{2.666666666666666518636930049979127943516}{1}\right) - 2 \cdot \left(\left(\frac{{\varepsilon}^{2}}{{1}^{2}} + \left({\varepsilon}^{3} + \varepsilon\right)\right) - {\varepsilon}^{2}\right)\]
\log \left(\frac{1 - \varepsilon}{1 + \varepsilon}\right)
\frac{{\varepsilon}^{3}}{{1}^{2}} \cdot \left(4 - \frac{2.666666666666666518636930049979127943516}{1}\right) - 2 \cdot \left(\left(\frac{{\varepsilon}^{2}}{{1}^{2}} + \left({\varepsilon}^{3} + \varepsilon\right)\right) - {\varepsilon}^{2}\right)
double f(double eps) {
        double r75648 = 1.0;
        double r75649 = eps;
        double r75650 = r75648 - r75649;
        double r75651 = r75648 + r75649;
        double r75652 = r75650 / r75651;
        double r75653 = log(r75652);
        return r75653;
}

double f(double eps) {
        double r75654 = eps;
        double r75655 = 3.0;
        double r75656 = pow(r75654, r75655);
        double r75657 = 1.0;
        double r75658 = 2.0;
        double r75659 = pow(r75657, r75658);
        double r75660 = r75656 / r75659;
        double r75661 = 4.0;
        double r75662 = 2.6666666666666665;
        double r75663 = r75662 / r75657;
        double r75664 = r75661 - r75663;
        double r75665 = r75660 * r75664;
        double r75666 = 2.0;
        double r75667 = pow(r75654, r75658);
        double r75668 = r75667 / r75659;
        double r75669 = r75656 + r75654;
        double r75670 = r75668 + r75669;
        double r75671 = r75670 - r75667;
        double r75672 = r75666 * r75671;
        double r75673 = r75665 - r75672;
        return r75673;
}

Error

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original58.3
Target0.3
Herbie0.4
\[-2 \cdot \left(\left(\varepsilon + \frac{{\varepsilon}^{3}}{3}\right) + \frac{{\varepsilon}^{5}}{5}\right)\]

Derivation

  1. Initial program 58.3

    \[\log \left(\frac{1 - \varepsilon}{1 + \varepsilon}\right)\]
  2. Using strategy rm
  3. Applied flip3-+58.3

    \[\leadsto \log \left(\frac{1 - \varepsilon}{\color{blue}{\frac{{1}^{3} + {\varepsilon}^{3}}{1 \cdot 1 + \left(\varepsilon \cdot \varepsilon - 1 \cdot \varepsilon\right)}}}\right)\]
  4. Applied associate-/r/58.3

    \[\leadsto \log \color{blue}{\left(\frac{1 - \varepsilon}{{1}^{3} + {\varepsilon}^{3}} \cdot \left(1 \cdot 1 + \left(\varepsilon \cdot \varepsilon - 1 \cdot \varepsilon\right)\right)\right)}\]
  5. Using strategy rm
  6. Applied associate-*l/58.3

    \[\leadsto \log \color{blue}{\left(\frac{\left(1 - \varepsilon\right) \cdot \left(1 \cdot 1 + \left(\varepsilon \cdot \varepsilon - 1 \cdot \varepsilon\right)\right)}{{1}^{3} + {\varepsilon}^{3}}\right)}\]
  7. Applied log-div58.3

    \[\leadsto \color{blue}{\log \left(\left(1 - \varepsilon\right) \cdot \left(1 \cdot 1 + \left(\varepsilon \cdot \varepsilon - 1 \cdot \varepsilon\right)\right)\right) - \log \left({1}^{3} + {\varepsilon}^{3}\right)}\]
  8. Taylor expanded around 0 0.4

    \[\leadsto \color{blue}{\left(2 \cdot {\varepsilon}^{2} + 4 \cdot \frac{{\varepsilon}^{3}}{{1}^{2}}\right) - \left(2 \cdot \frac{{\varepsilon}^{2}}{{1}^{2}} + \left(2.666666666666666518636930049979127943516 \cdot \frac{{\varepsilon}^{3}}{{1}^{3}} + \left(2 \cdot {\varepsilon}^{3} + 2 \cdot \varepsilon\right)\right)\right)}\]
  9. Simplified0.4

    \[\leadsto \color{blue}{2 \cdot {\varepsilon}^{2} + \left(4 \cdot \frac{{\varepsilon}^{3}}{{1}^{2}} - \left(\left(2 \cdot \frac{{\varepsilon}^{2}}{{1}^{2}} + 2.666666666666666518636930049979127943516 \cdot \frac{{\varepsilon}^{3}}{{1}^{3}}\right) + 2 \cdot \left({\varepsilon}^{3} + \varepsilon\right)\right)\right)}\]
  10. Final simplification0.4

    \[\leadsto \frac{{\varepsilon}^{3}}{{1}^{2}} \cdot \left(4 - \frac{2.666666666666666518636930049979127943516}{1}\right) - 2 \cdot \left(\left(\frac{{\varepsilon}^{2}}{{1}^{2}} + \left({\varepsilon}^{3} + \varepsilon\right)\right) - {\varepsilon}^{2}\right)\]

Reproduce

herbie shell --seed 2019294 
(FPCore (eps)
  :name "logq (problem 3.4.3)"
  :precision binary64

  :herbie-target
  (* -2 (+ (+ eps (/ (pow eps 3) 3)) (/ (pow eps 5) 5)))

  (log (/ (- 1 eps) (+ 1 eps))))