Average Error: 0.0 → 0.2
Time: 5.0s
Precision: 64
\[\sqrt{1 - x \cdot x}\]
\[\sqrt{1} - \left(\frac{1}{8} \cdot \frac{{x}^{4}}{{\left(\sqrt{1}\right)}^{3}} + \frac{1}{2} \cdot \frac{{x}^{2}}{\sqrt{1}}\right)\]
\sqrt{1 - x \cdot x}
\sqrt{1} - \left(\frac{1}{8} \cdot \frac{{x}^{4}}{{\left(\sqrt{1}\right)}^{3}} + \frac{1}{2} \cdot \frac{{x}^{2}}{\sqrt{1}}\right)
double f(double x) {
        double r148026 = 1.0;
        double r148027 = x;
        double r148028 = r148027 * r148027;
        double r148029 = r148026 - r148028;
        double r148030 = sqrt(r148029);
        return r148030;
}

double f(double x) {
        double r148031 = 1.0;
        double r148032 = sqrt(r148031);
        double r148033 = 0.125;
        double r148034 = x;
        double r148035 = 4.0;
        double r148036 = pow(r148034, r148035);
        double r148037 = 3.0;
        double r148038 = pow(r148032, r148037);
        double r148039 = r148036 / r148038;
        double r148040 = r148033 * r148039;
        double r148041 = 0.5;
        double r148042 = 2.0;
        double r148043 = pow(r148034, r148042);
        double r148044 = r148043 / r148032;
        double r148045 = r148041 * r148044;
        double r148046 = r148040 + r148045;
        double r148047 = r148032 - r148046;
        return r148047;
}

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

    \[\sqrt{1 - x \cdot x}\]
  2. Taylor expanded around 0 0.2

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

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

Reproduce

herbie shell --seed 2019297 
(FPCore (x)
  :name "Diagrams.TwoD.Ellipse:ellipse from diagrams-lib-1.3.0.3"
  :precision binary64
  (sqrt (- 1 (* x x))))