Average Error: 58.5 → 0.2
Time: 14.7s
Precision: 64
\[\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\]
\[\frac{1}{2} \cdot \left(\frac{2}{3} \cdot {\left(\frac{x}{1}\right)}^{3} + \left(2 \cdot x + \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)\]
\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)
\frac{1}{2} \cdot \left(\frac{2}{3} \cdot {\left(\frac{x}{1}\right)}^{3} + \left(2 \cdot x + \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)
double f(double x) {
        double r39621 = 1.0;
        double r39622 = 2.0;
        double r39623 = r39621 / r39622;
        double r39624 = x;
        double r39625 = r39621 + r39624;
        double r39626 = r39621 - r39624;
        double r39627 = r39625 / r39626;
        double r39628 = log(r39627);
        double r39629 = r39623 * r39628;
        return r39629;
}

double f(double x) {
        double r39630 = 1.0;
        double r39631 = 2.0;
        double r39632 = r39630 / r39631;
        double r39633 = 0.6666666666666666;
        double r39634 = x;
        double r39635 = r39634 / r39630;
        double r39636 = 3.0;
        double r39637 = pow(r39635, r39636);
        double r39638 = r39633 * r39637;
        double r39639 = r39631 * r39634;
        double r39640 = 0.4;
        double r39641 = 5.0;
        double r39642 = pow(r39634, r39641);
        double r39643 = pow(r39630, r39641);
        double r39644 = r39642 / r39643;
        double r39645 = r39640 * r39644;
        double r39646 = r39639 + r39645;
        double r39647 = r39638 + r39646;
        double r39648 = r39632 * r39647;
        return r39648;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 58.5

    \[\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\]
  2. Using strategy rm
  3. Applied flip--58.5

    \[\leadsto \frac{1}{2} \cdot \log \left(\frac{1 + x}{\color{blue}{\frac{1 \cdot 1 - x \cdot x}{1 + x}}}\right)\]
  4. Applied associate-/r/58.5

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

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

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

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

    \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(\frac{2}{3} \cdot {\left(\frac{x}{1}\right)}^{3} + \left(2 \cdot x + \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)}\]
  9. Final simplification0.2

    \[\leadsto \frac{1}{2} \cdot \left(\frac{2}{3} \cdot {\left(\frac{x}{1}\right)}^{3} + \left(2 \cdot x + \frac{2}{5} \cdot \frac{{x}^{5}}{{1}^{5}}\right)\right)\]

Reproduce

herbie shell --seed 2019304 
(FPCore (x)
  :name "Hyperbolic arc-(co)tangent"
  :precision binary64
  (* (/ 1 2) (log (/ (+ 1 x) (- 1 x)))))