Average Error: 58.7 → 0.6
Time: 13.9s
Precision: 64
\[\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)\]
\[\left(\log 1 + \left(\left(x + x \cdot x\right) - \frac{x \cdot x}{1 \cdot 1}\right) \cdot 2\right) \cdot \frac{1}{2}\]
\frac{1}{2} \cdot \log \left(\frac{1 + x}{1 - x}\right)
\left(\log 1 + \left(\left(x + x \cdot x\right) - \frac{x \cdot x}{1 \cdot 1}\right) \cdot 2\right) \cdot \frac{1}{2}
double f(double x) {
        double r1816411 = 1.0;
        double r1816412 = 2.0;
        double r1816413 = r1816411 / r1816412;
        double r1816414 = x;
        double r1816415 = r1816411 + r1816414;
        double r1816416 = r1816411 - r1816414;
        double r1816417 = r1816415 / r1816416;
        double r1816418 = log(r1816417);
        double r1816419 = r1816413 * r1816418;
        return r1816419;
}

double f(double x) {
        double r1816420 = 1.0;
        double r1816421 = log(r1816420);
        double r1816422 = x;
        double r1816423 = r1816422 * r1816422;
        double r1816424 = r1816422 + r1816423;
        double r1816425 = r1816420 * r1816420;
        double r1816426 = r1816423 / r1816425;
        double r1816427 = r1816424 - r1816426;
        double r1816428 = 2.0;
        double r1816429 = r1816427 * r1816428;
        double r1816430 = r1816421 + r1816429;
        double r1816431 = r1816420 / r1816428;
        double r1816432 = r1816430 * r1816431;
        return r1816432;
}

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.6

    \[\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.6

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

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

Reproduce

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