Average Error: 0.0 → 0.0
Time: 11.8s
Precision: 64
\[\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\]
\[\log \left(\mathsf{fma}\left(\left(\frac{1}{\sqrt[3]{x} \cdot \sqrt[3]{x}}\right), \left(\frac{1}{\sqrt[3]{x}}\right), \left(\frac{\sqrt{1 - x \cdot x}}{x}\right)\right)\right)\]
\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)
\log \left(\mathsf{fma}\left(\left(\frac{1}{\sqrt[3]{x} \cdot \sqrt[3]{x}}\right), \left(\frac{1}{\sqrt[3]{x}}\right), \left(\frac{\sqrt{1 - x \cdot x}}{x}\right)\right)\right)
double f(double x) {
        double r1943224 = 1.0;
        double r1943225 = x;
        double r1943226 = r1943224 / r1943225;
        double r1943227 = r1943225 * r1943225;
        double r1943228 = r1943224 - r1943227;
        double r1943229 = sqrt(r1943228);
        double r1943230 = r1943229 / r1943225;
        double r1943231 = r1943226 + r1943230;
        double r1943232 = log(r1943231);
        return r1943232;
}

double f(double x) {
        double r1943233 = 1.0;
        double r1943234 = x;
        double r1943235 = cbrt(r1943234);
        double r1943236 = r1943235 * r1943235;
        double r1943237 = r1943233 / r1943236;
        double r1943238 = r1943233 / r1943235;
        double r1943239 = r1943234 * r1943234;
        double r1943240 = r1943233 - r1943239;
        double r1943241 = sqrt(r1943240);
        double r1943242 = r1943241 / r1943234;
        double r1943243 = fma(r1943237, r1943238, r1943242);
        double r1943244 = log(r1943243);
        return r1943244;
}

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 add-cube-cbrt0.0

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

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

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

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

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

Reproduce

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