Average Error: 58.7 → 0.5
Time: 14.2s
Precision: 64
\[\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\]
\[\frac{\left(\left(2 \cdot x + \log 1\right) - {x}^{2} \cdot \left(\frac{2}{{1}^{2}} - 2\right)\right) \cdot 1}{2}\]
\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)
\frac{\left(\left(2 \cdot x + \log 1\right) - {x}^{2} \cdot \left(\frac{2}{{1}^{2}} - 2\right)\right) \cdot 1}{2}
double f(double x) {
        double r55740 = 1.0;
        double r55741 = 2.0;
        double r55742 = r55740 / r55741;
        double r55743 = x;
        double r55744 = r55740 + r55743;
        double r55745 = r55740 - r55743;
        double r55746 = r55744 / r55745;
        double r55747 = log(r55746);
        double r55748 = r55742 * r55747;
        return r55748;
}

double f(double x) {
        double r55749 = 2.0;
        double r55750 = x;
        double r55751 = r55749 * r55750;
        double r55752 = 1.0;
        double r55753 = log(r55752);
        double r55754 = r55751 + r55753;
        double r55755 = 2.0;
        double r55756 = pow(r55750, r55755);
        double r55757 = pow(r55752, r55755);
        double r55758 = r55749 / r55757;
        double r55759 = r55758 - r55749;
        double r55760 = r55756 * r55759;
        double r55761 = r55754 - r55760;
        double r55762 = r55761 * r55752;
        double r55763 = r55762 / r55749;
        return r55763;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 58.7

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

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

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

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

Reproduce

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