Average Error: 58.5 → 0.2
Time: 6.4s
Precision: 64
\[\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\]
\[\frac{1}{2} \cdot \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)\]
\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)
\frac{1}{2} \cdot \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)
double f(double x) {
        double r53724 = 1.0;
        double r53725 = 2.0;
        double r53726 = r53724 / r53725;
        double r53727 = x;
        double r53728 = r53724 + r53727;
        double r53729 = r53724 - r53727;
        double r53730 = r53728 / r53729;
        double r53731 = log(r53730);
        double r53732 = r53726 * r53731;
        return r53732;
}

double f(double x) {
        double r53733 = 1.0;
        double r53734 = 2.0;
        double r53735 = r53733 / r53734;
        double r53736 = 0.6666666666666666;
        double r53737 = x;
        double r53738 = 3.0;
        double r53739 = pow(r53737, r53738);
        double r53740 = pow(r53733, r53738);
        double r53741 = r53739 / r53740;
        double r53742 = r53736 * r53741;
        double r53743 = r53734 * r53737;
        double r53744 = 0.4;
        double r53745 = 5.0;
        double r53746 = pow(r53737, r53745);
        double r53747 = pow(r53733, r53745);
        double r53748 = r53746 / r53747;
        double r53749 = r53744 * r53748;
        double r53750 = r53743 + r53749;
        double r53751 = r53742 + r53750;
        double r53752 = r53735 * r53751;
        return r53752;
}

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 log-div58.5

    \[\leadsto \frac{1}{2} \cdot \color{blue}{\left(\log \left(1 + x\right) - \log \left(1 - x\right)\right)}\]
  4. 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)}\]
  5. Final simplification0.2

    \[\leadsto \frac{1}{2} \cdot \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)\]

Reproduce

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