Average Error: 61.3 → 0.5
Time: 40.8s
Precision: 64
\[-1.0 \lt x \land x \lt 1.0\]
\[\frac{\log \left(1.0 - x\right)}{\log \left(1.0 + x\right)}\]
\[\frac{\sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \frac{x}{1.0} \cdot \left(\frac{1}{2} \cdot \frac{x}{1.0}\right)\right)} \cdot \sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \frac{x}{1.0} \cdot \left(\frac{1}{2} \cdot \frac{x}{1.0}\right)\right)}}{\sqrt[3]{\left(\log 1.0 - \frac{1}{2} \cdot \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right)\right) + 1.0 \cdot x} \cdot \sqrt[3]{\left(\log 1.0 - \frac{1}{2} \cdot \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right)\right) + 1.0 \cdot x}} \cdot \frac{\sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \frac{x}{1.0} \cdot \left(\frac{1}{2} \cdot \frac{x}{1.0}\right)\right)}}{\sqrt[3]{\left(\log 1.0 - \frac{1}{2} \cdot \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right)\right) + 1.0 \cdot x}}\]
\frac{\log \left(1.0 - x\right)}{\log \left(1.0 + x\right)}
\frac{\sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \frac{x}{1.0} \cdot \left(\frac{1}{2} \cdot \frac{x}{1.0}\right)\right)} \cdot \sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \frac{x}{1.0} \cdot \left(\frac{1}{2} \cdot \frac{x}{1.0}\right)\right)}}{\sqrt[3]{\left(\log 1.0 - \frac{1}{2} \cdot \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right)\right) + 1.0 \cdot x} \cdot \sqrt[3]{\left(\log 1.0 - \frac{1}{2} \cdot \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right)\right) + 1.0 \cdot x}} \cdot \frac{\sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \frac{x}{1.0} \cdot \left(\frac{1}{2} \cdot \frac{x}{1.0}\right)\right)}}{\sqrt[3]{\left(\log 1.0 - \frac{1}{2} \cdot \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right)\right) + 1.0 \cdot x}}
double f(double x) {
        double r4380557 = 1.0;
        double r4380558 = x;
        double r4380559 = r4380557 - r4380558;
        double r4380560 = log(r4380559);
        double r4380561 = r4380557 + r4380558;
        double r4380562 = log(r4380561);
        double r4380563 = r4380560 / r4380562;
        return r4380563;
}

double f(double x) {
        double r4380564 = 1.0;
        double r4380565 = log(r4380564);
        double r4380566 = x;
        double r4380567 = r4380564 * r4380566;
        double r4380568 = r4380566 / r4380564;
        double r4380569 = 0.5;
        double r4380570 = r4380569 * r4380568;
        double r4380571 = r4380568 * r4380570;
        double r4380572 = r4380567 + r4380571;
        double r4380573 = r4380565 - r4380572;
        double r4380574 = cbrt(r4380573);
        double r4380575 = r4380574 * r4380574;
        double r4380576 = r4380568 * r4380568;
        double r4380577 = r4380569 * r4380576;
        double r4380578 = r4380565 - r4380577;
        double r4380579 = r4380578 + r4380567;
        double r4380580 = cbrt(r4380579);
        double r4380581 = r4380580 * r4380580;
        double r4380582 = r4380575 / r4380581;
        double r4380583 = r4380574 / r4380580;
        double r4380584 = r4380582 * r4380583;
        return r4380584;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original61.3
Target0.4
Herbie0.5
\[-\left(\left(\left(1.0 + x\right) + \frac{x \cdot x}{2.0}\right) + 0.4166666666666667 \cdot {x}^{3.0}\right)\]

Derivation

  1. Initial program 61.3

    \[\frac{\log \left(1.0 - x\right)}{\log \left(1.0 + x\right)}\]
  2. Taylor expanded around 0 60.4

    \[\leadsto \frac{\log \left(1.0 - x\right)}{\color{blue}{\left(\log 1.0 + 1.0 \cdot x\right) - \frac{1}{2} \cdot \frac{{x}^{2}}{{1.0}^{2}}}}\]
  3. Simplified60.4

    \[\leadsto \frac{\log \left(1.0 - x\right)}{\color{blue}{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}}\]
  4. Taylor expanded around 0 0.5

    \[\leadsto \frac{\color{blue}{\log 1.0 - \left(1.0 \cdot x + \frac{1}{2} \cdot \frac{{x}^{2}}{{1.0}^{2}}\right)}}{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}\]
  5. Simplified0.5

    \[\leadsto \frac{\color{blue}{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)}}{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}\]
  6. Using strategy rm
  7. Applied add-cube-cbrt1.8

    \[\leadsto \frac{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)}{\color{blue}{\left(\sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)} \cdot \sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}\right) \cdot \sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}}}\]
  8. Applied add-cube-cbrt0.5

    \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)} \cdot \sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)}\right) \cdot \sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)}}}{\left(\sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)} \cdot \sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}\right) \cdot \sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}}\]
  9. Applied times-frac0.5

    \[\leadsto \color{blue}{\frac{\sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)} \cdot \sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)}}{\sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)} \cdot \sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}} \cdot \frac{\sqrt[3]{\log 1.0 - \left(1.0 \cdot x + \left(\frac{1}{2} \cdot \frac{x}{1.0}\right) \cdot \frac{x}{1.0}\right)}}{\sqrt[3]{1.0 \cdot x + \left(\log 1.0 - \left(\frac{x}{1.0} \cdot \frac{x}{1.0}\right) \cdot \frac{1}{2}\right)}}}\]
  10. Final simplification0.5

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

Reproduce

herbie shell --seed 2019165 
(FPCore (x)
  :name "qlog (example 3.10)"
  :pre (and (< -1.0 x) (< x 1.0))

  :herbie-target
  (- (+ (+ (+ 1.0 x) (/ (* x x) 2.0)) (* 0.4166666666666667 (pow x 3.0))))

  (/ (log (- 1.0 x)) (log (+ 1.0 x))))