Average Error: 0.0 → 0.0
Time: 10.4s
Precision: 64
\[\sqrt{1 - x \cdot x}\]
\[\sqrt{\frac{1 \cdot \left(1 \cdot 1\right) - \sqrt[3]{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)} \cdot \left(\sqrt[3]{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)} \cdot \sqrt[3]{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)}\right)}{\mathsf{fma}\left(x \cdot x, 1 + x \cdot x, 1 \cdot 1\right)}}\]
\sqrt{1 - x \cdot x}
\sqrt{\frac{1 \cdot \left(1 \cdot 1\right) - \sqrt[3]{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)} \cdot \left(\sqrt[3]{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)} \cdot \sqrt[3]{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot \left(x \cdot x\right)\right)}\right)}{\mathsf{fma}\left(x \cdot x, 1 + x \cdot x, 1 \cdot 1\right)}}
double f(double x) {
        double r6984675 = 1.0;
        double r6984676 = x;
        double r6984677 = r6984676 * r6984676;
        double r6984678 = r6984675 - r6984677;
        double r6984679 = sqrt(r6984678);
        return r6984679;
}

double f(double x) {
        double r6984680 = 1.0;
        double r6984681 = r6984680 * r6984680;
        double r6984682 = r6984680 * r6984681;
        double r6984683 = x;
        double r6984684 = r6984683 * r6984683;
        double r6984685 = r6984683 * r6984684;
        double r6984686 = r6984685 * r6984685;
        double r6984687 = cbrt(r6984686);
        double r6984688 = r6984687 * r6984687;
        double r6984689 = r6984687 * r6984688;
        double r6984690 = r6984682 - r6984689;
        double r6984691 = r6984680 + r6984684;
        double r6984692 = fma(r6984684, r6984691, r6984681);
        double r6984693 = r6984690 / r6984692;
        double r6984694 = sqrt(r6984693);
        return r6984694;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[\sqrt{1 - x \cdot x}\]
  2. Using strategy rm
  3. Applied flip3--0.0

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

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

    \[\leadsto \sqrt{\frac{\left(1 \cdot 1\right) \cdot 1 - \left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)}{\color{blue}{\mathsf{fma}\left(x \cdot x, 1 + x \cdot x, 1 \cdot 1\right)}}}\]
  6. Using strategy rm
  7. Applied add-cube-cbrt0.0

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

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

Reproduce

herbie shell --seed 2019192 +o rules:numerics
(FPCore (x)
  :name "Diagrams.TwoD.Ellipse:ellipse from diagrams-lib-1.3.0.3"
  (sqrt (- 1.0 (* x x))))