Average Error: 0.1 → 0.1
Time: 13.0s
Precision: 64
\[\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\]
\[\log \left(\sqrt{\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}} \cdot \sqrt{\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}}\right)\]
\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)
\log \left(\sqrt{\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}} \cdot \sqrt{\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}}\right)
double f(double x) {
        double r61469 = 1.0;
        double r61470 = x;
        double r61471 = r61469 / r61470;
        double r61472 = r61470 * r61470;
        double r61473 = r61469 - r61472;
        double r61474 = sqrt(r61473);
        double r61475 = r61474 / r61470;
        double r61476 = r61471 + r61475;
        double r61477 = log(r61476);
        return r61477;
}

double f(double x) {
        double r61478 = 1.0;
        double r61479 = x;
        double r61480 = r61478 / r61479;
        double r61481 = r61479 * r61479;
        double r61482 = r61478 - r61481;
        double r61483 = sqrt(r61482);
        double r61484 = r61483 / r61479;
        double r61485 = r61480 + r61484;
        double r61486 = sqrt(r61485);
        double r61487 = r61486 * r61486;
        double r61488 = log(r61487);
        return r61488;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.1

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

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

Reproduce

herbie shell --seed 2019199 +o rules:numerics
(FPCore (x)
  :name "Hyperbolic arc-(co)secant"
  (log (+ (/ 1.0 x) (/ (sqrt (- 1.0 (* x x))) x))))