Average Error: 0.0 → 0.4
Time: 4.8s
Precision: 64
\[\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)\]
\[\left(\left(\log \left(\sqrt{1} + 1\right) - \frac{1}{2} \cdot \frac{{x}^{2}}{\sqrt{1} \cdot \left(\sqrt{1} + 1\right)}\right) - \left(\frac{1}{8} \cdot \frac{{x}^{4}}{{\left(\sqrt{1}\right)}^{3} \cdot \left(\sqrt{1} + 1\right)} + \log x\right)\right) - \frac{\frac{1}{8}}{{\left(\sqrt{1} + 1\right)}^{2}} \cdot \frac{{x}^{4}}{1}\]
\log \left(\frac{1}{x} + \frac{\sqrt{1 - x \cdot x}}{x}\right)
\left(\left(\log \left(\sqrt{1} + 1\right) - \frac{1}{2} \cdot \frac{{x}^{2}}{\sqrt{1} \cdot \left(\sqrt{1} + 1\right)}\right) - \left(\frac{1}{8} \cdot \frac{{x}^{4}}{{\left(\sqrt{1}\right)}^{3} \cdot \left(\sqrt{1} + 1\right)} + \log x\right)\right) - \frac{\frac{1}{8}}{{\left(\sqrt{1} + 1\right)}^{2}} \cdot \frac{{x}^{4}}{1}
double f(double x) {
        double r46005 = 1.0;
        double r46006 = x;
        double r46007 = r46005 / r46006;
        double r46008 = r46006 * r46006;
        double r46009 = r46005 - r46008;
        double r46010 = sqrt(r46009);
        double r46011 = r46010 / r46006;
        double r46012 = r46007 + r46011;
        double r46013 = log(r46012);
        return r46013;
}

double f(double x) {
        double r46014 = 1.0;
        double r46015 = sqrt(r46014);
        double r46016 = r46015 + r46014;
        double r46017 = log(r46016);
        double r46018 = 0.5;
        double r46019 = x;
        double r46020 = 2.0;
        double r46021 = pow(r46019, r46020);
        double r46022 = r46015 * r46016;
        double r46023 = r46021 / r46022;
        double r46024 = r46018 * r46023;
        double r46025 = r46017 - r46024;
        double r46026 = 0.125;
        double r46027 = 4.0;
        double r46028 = pow(r46019, r46027);
        double r46029 = 3.0;
        double r46030 = pow(r46015, r46029);
        double r46031 = r46030 * r46016;
        double r46032 = r46028 / r46031;
        double r46033 = r46026 * r46032;
        double r46034 = log(r46019);
        double r46035 = r46033 + r46034;
        double r46036 = r46025 - r46035;
        double r46037 = pow(r46016, r46020);
        double r46038 = r46026 / r46037;
        double r46039 = r46028 / r46014;
        double r46040 = r46038 * r46039;
        double r46041 = r46036 - r46040;
        return r46041;
}

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. Taylor expanded around 0 0.4

    \[\leadsto \color{blue}{\log \left(\sqrt{1} + 1\right) - \left(\frac{1}{2} \cdot \frac{{x}^{2}}{\sqrt{1} \cdot \left(\sqrt{1} + 1\right)} + \left(\frac{1}{8} \cdot \frac{{x}^{4}}{{\left(\sqrt{1}\right)}^{3} \cdot \left(\sqrt{1} + 1\right)} + \left(\log x + \frac{1}{8} \cdot \frac{{x}^{4}}{{\left(\sqrt{1}\right)}^{2} \cdot {\left(\sqrt{1} + 1\right)}^{2}}\right)\right)\right)}\]
  3. Simplified0.4

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

    \[\leadsto \left(\left(\log \left(\sqrt{1} + 1\right) - \frac{1}{2} \cdot \frac{{x}^{2}}{\sqrt{1} \cdot \left(\sqrt{1} + 1\right)}\right) - \left(\frac{1}{8} \cdot \frac{{x}^{4}}{{\left(\sqrt{1}\right)}^{3} \cdot \left(\sqrt{1} + 1\right)} + \log x\right)\right) - \frac{\frac{1}{8}}{{\left(\sqrt{1} + 1\right)}^{2}} \cdot \frac{{x}^{4}}{1}\]

Reproduce

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