Average Error: 1.0 → 0.1
Time: 22.5s
Precision: 64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[2 \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}^{3}}\]
2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
2 \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}^{3}}
double f(double g, double h) {
        double r81021 = 2.0;
        double r81022 = atan2(1.0, 0.0);
        double r81023 = r81021 * r81022;
        double r81024 = 3.0;
        double r81025 = r81023 / r81024;
        double r81026 = g;
        double r81027 = -r81026;
        double r81028 = h;
        double r81029 = r81027 / r81028;
        double r81030 = acos(r81029);
        double r81031 = r81030 / r81024;
        double r81032 = r81025 + r81031;
        double r81033 = cos(r81032);
        double r81034 = r81021 * r81033;
        return r81034;
}

double f(double g, double h) {
        double r81035 = 2.0;
        double r81036 = atan2(1.0, 0.0);
        double r81037 = 3.0;
        double r81038 = r81035 / r81037;
        double r81039 = g;
        double r81040 = -r81039;
        double r81041 = h;
        double r81042 = r81040 / r81041;
        double r81043 = acos(r81042);
        double r81044 = r81043 / r81037;
        double r81045 = fma(r81036, r81038, r81044);
        double r81046 = cos(r81045);
        double r81047 = 2.0;
        double r81048 = pow(r81046, r81047);
        double r81049 = cbrt(r81048);
        double r81050 = cbrt(r81046);
        double r81051 = r81049 * r81050;
        double r81052 = 3.0;
        double r81053 = pow(r81051, r81052);
        double r81054 = cbrt(r81053);
        double r81055 = r81035 * r81054;
        return r81055;
}

Error

Bits error versus g

Bits error versus h

Derivation

  1. Initial program 1.0

    \[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
  2. Simplified1.0

    \[\leadsto \color{blue}{2 \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt1.0

    \[\leadsto 2 \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\color{blue}{\sqrt{3} \cdot \sqrt{3}}}\right)\right)\]
  5. Applied *-un-lft-identity1.0

    \[\leadsto 2 \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\color{blue}{1 \cdot \cos^{-1} \left(\frac{-g}{h}\right)}}{\sqrt{3} \cdot \sqrt{3}}\right)\right)\]
  6. Applied times-frac1.0

    \[\leadsto 2 \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \color{blue}{\frac{1}{\sqrt{3}} \cdot \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}}\right)\right)\]
  7. Using strategy rm
  8. Applied add-cbrt-cube1.0

    \[\leadsto 2 \cdot \color{blue}{\sqrt[3]{\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{1}{\sqrt{3}} \cdot \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}\right)\right) \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{1}{\sqrt{3}} \cdot \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}\right)\right)\right) \cdot \cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{1}{\sqrt{3}} \cdot \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}\right)\right)}}\]
  9. Simplified1.0

    \[\leadsto 2 \cdot \sqrt[3]{\color{blue}{{\left(\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{3}}}\]
  10. Using strategy rm
  11. Applied add-cube-cbrt1.0

    \[\leadsto 2 \cdot \sqrt[3]{{\color{blue}{\left(\left(\sqrt[3]{\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right) \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}}^{3}}\]
  12. Simplified0.1

    \[\leadsto 2 \cdot \sqrt[3]{{\left(\color{blue}{\sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}}} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}^{3}}\]
  13. Final simplification0.1

    \[\leadsto 2 \cdot \sqrt[3]{{\left(\sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\pi, \frac{2}{3}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)}^{3}}\]

Reproduce

herbie shell --seed 2019303 +o rules:numerics
(FPCore (g h)
  :name "2-ancestry mixing, negative discriminant"
  :precision binary64
  (* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))