Average Error: 0.0 → 0.0
Time: 10.2s
Precision: 64
\[\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\]
\[\log \left(\left|\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}\right| \cdot \frac{\sqrt{\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}}}{x} + \frac{1}{x}\right)\]
\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)
\log \left(\left|\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}\right| \cdot \frac{\sqrt{\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}}}{x} + \frac{1}{x}\right)
double f(double x) {
        double r56858 = 1.0;
        double r56859 = x;
        double r56860 = r56858 / r56859;
        double r56861 = r56859 * r56859;
        double r56862 = r56858 - r56861;
        double r56863 = sqrt(r56862);
        double r56864 = r56863 / r56859;
        double r56865 = r56860 + r56864;
        double r56866 = log(r56865);
        return r56866;
}

double f(double x) {
        double r56867 = x;
        double r56868 = -r56867;
        double r56869 = 1.0;
        double r56870 = fma(r56867, r56868, r56869);
        double r56871 = cbrt(r56870);
        double r56872 = fabs(r56871);
        double r56873 = sqrt(r56871);
        double r56874 = r56873 / r56867;
        double r56875 = r56872 * r56874;
        double r56876 = r56869 / r56867;
        double r56877 = r56875 + r56876;
        double r56878 = log(r56877);
        return r56878;
}

Error

Bits error versus x

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{1 - x \cdot x}}{\color{blue}{1 \cdot x}}\right)\]
  4. Applied add-cube-cbrt0.0

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

    \[\leadsto \log \left(\frac{1}{x} + \frac{\color{blue}{\sqrt{\sqrt[3]{1 - x \cdot x} \cdot \sqrt[3]{1 - x \cdot x}} \cdot \sqrt{\sqrt[3]{1 - x \cdot x}}}}{1 \cdot x}\right)\]
  6. Applied times-frac0.0

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

    \[\leadsto \log \left(\frac{1}{x} + \color{blue}{\left|\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}\right|} \cdot \frac{\sqrt{\sqrt[3]{1 - x \cdot x}}}{x}\right)\]
  8. Simplified0.0

    \[\leadsto \log \left(\frac{1}{x} + \left|\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}\right| \cdot \color{blue}{\frac{\sqrt{\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}}}{x}}\right)\]
  9. Final simplification0.0

    \[\leadsto \log \left(\left|\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}\right| \cdot \frac{\sqrt{\sqrt[3]{\mathsf{fma}\left(x, -x, 1\right)}}}{x} + \frac{1}{x}\right)\]

Reproduce

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