Average Error: 0.0 → 0.0
Time: 12.1s
Precision: 64
\[\log \left(\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(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)
\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)
double f(double x) {
        double r59516 = 1.0;
        double r59517 = x;
        double r59518 = r59516 / r59517;
        double r59519 = r59517 * r59517;
        double r59520 = r59516 - r59519;
        double r59521 = sqrt(r59520);
        double r59522 = r59521 / r59517;
        double r59523 = r59518 + r59522;
        double r59524 = log(r59523);
        return r59524;
}

double f(double x) {
        double r59525 = 1.0;
        double r59526 = x;
        double r59527 = r59525 / r59526;
        double r59528 = r59526 * r59526;
        double r59529 = r59525 - r59528;
        double r59530 = sqrt(r59529);
        double r59531 = r59530 / r59526;
        double r59532 = r59527 + r59531;
        double r59533 = log(r59532);
        return r59533;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.0

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

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

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

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

Reproduce

herbie shell --seed 2019304 
(FPCore (x)
  :name "Hyperbolic arc-(co)secant"
  :precision binary64
  (log (+ (/ 1 x) (/ (sqrt (- 1 (* x x))) x))))