Average Error: 17.5 → 17.4
Time: 22.3s
Precision: 64
Internal Precision: 128
\[\log \left(\frac{1 - \varepsilon}{1 + \varepsilon}\right)\]
\[\log \left(\frac{\sqrt[3]{1 - \varepsilon}}{\sqrt{\varepsilon + 1}}\right) + \log \left(\frac{\sqrt[3]{1 - \varepsilon} \cdot \sqrt[3]{1 - \varepsilon}}{\sqrt{\varepsilon + 1}}\right)\]

Error

Bits error versus eps

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original17.5
Target60.5
Herbie17.4
\[-2 \cdot \left(\left(\varepsilon + \frac{{\varepsilon}^{3}}{3}\right) + \frac{{\varepsilon}^{5}}{5}\right)\]

Derivation

  1. Initial program 17.5

    \[\log \left(\frac{1 - \varepsilon}{1 + \varepsilon}\right)\]
  2. Initial simplification17.5

    \[\leadsto \log \left(\frac{1 - \varepsilon}{\varepsilon + 1}\right)\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt17.5

    \[\leadsto \log \left(\frac{1 - \varepsilon}{\color{blue}{\sqrt{\varepsilon + 1} \cdot \sqrt{\varepsilon + 1}}}\right)\]
  5. Applied add-cube-cbrt17.4

    \[\leadsto \log \left(\frac{\color{blue}{\left(\sqrt[3]{1 - \varepsilon} \cdot \sqrt[3]{1 - \varepsilon}\right) \cdot \sqrt[3]{1 - \varepsilon}}}{\sqrt{\varepsilon + 1} \cdot \sqrt{\varepsilon + 1}}\right)\]
  6. Applied times-frac17.4

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

    \[\leadsto \color{blue}{\log \left(\frac{\sqrt[3]{1 - \varepsilon} \cdot \sqrt[3]{1 - \varepsilon}}{\sqrt{\varepsilon + 1}}\right) + \log \left(\frac{\sqrt[3]{1 - \varepsilon}}{\sqrt{\varepsilon + 1}}\right)}\]
  8. Final simplification17.4

    \[\leadsto \log \left(\frac{\sqrt[3]{1 - \varepsilon}}{\sqrt{\varepsilon + 1}}\right) + \log \left(\frac{\sqrt[3]{1 - \varepsilon} \cdot \sqrt[3]{1 - \varepsilon}}{\sqrt{\varepsilon + 1}}\right)\]

Runtime

Time bar (total: 22.3s)Debug logProfile

herbie shell --seed 2018255 +o rules:numerics
(FPCore (eps)
  :name "logq (problem 3.4.3)"

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

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