Average Error: 58.4 → 0.7
Time: 13.8s
Precision: 64
\[\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\]
\[\frac{1}{2} \cdot \left(2 \cdot \left(\left(x \cdot x + x\right) - \frac{x \cdot x}{1 \cdot 1}\right) + \log 1\right)\]
\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)
\frac{1}{2} \cdot \left(2 \cdot \left(\left(x \cdot x + x\right) - \frac{x \cdot x}{1 \cdot 1}\right) + \log 1\right)
double f(double x) {
        double r2611155 = 1.0;
        double r2611156 = 2.0;
        double r2611157 = r2611155 / r2611156;
        double r2611158 = x;
        double r2611159 = r2611155 + r2611158;
        double r2611160 = r2611155 - r2611158;
        double r2611161 = r2611159 / r2611160;
        double r2611162 = log(r2611161);
        double r2611163 = r2611157 * r2611162;
        return r2611163;
}

double f(double x) {
        double r2611164 = 1.0;
        double r2611165 = 2.0;
        double r2611166 = r2611164 / r2611165;
        double r2611167 = x;
        double r2611168 = r2611167 * r2611167;
        double r2611169 = r2611168 + r2611167;
        double r2611170 = r2611164 * r2611164;
        double r2611171 = r2611168 / r2611170;
        double r2611172 = r2611169 - r2611171;
        double r2611173 = r2611165 * r2611172;
        double r2611174 = log(r2611164);
        double r2611175 = r2611173 + r2611174;
        double r2611176 = r2611166 * r2611175;
        return r2611176;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 58.4

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

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

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

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

Reproduce

herbie shell --seed 2019174 
(FPCore (x)
  :name "Hyperbolic arc-(co)tangent"
  (* (/ 1.0 2.0) (log (/ (+ 1.0 x) (- 1.0 x)))))