Average Error: 1.0 → 0.0
Time: 16.7s
Precision: 64
\[2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\]
\[2 \cdot \left(\sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) - \sin \left(\frac{2}{3} \cdot \pi\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)} \cdot \sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}}\right)\]
2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)
2 \cdot \left(\sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) - \sin \left(\frac{2}{3} \cdot \pi\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)} \cdot \sqrt[3]{{\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{2}}\right)
double f(double g, double h) {
        double r25023 = 2.0;
        double r25024 = atan2(1.0, 0.0);
        double r25025 = r25023 * r25024;
        double r25026 = 3.0;
        double r25027 = r25025 / r25026;
        double r25028 = g;
        double r25029 = -r25028;
        double r25030 = h;
        double r25031 = r25029 / r25030;
        double r25032 = acos(r25031);
        double r25033 = r25032 / r25026;
        double r25034 = r25027 + r25033;
        double r25035 = cos(r25034);
        double r25036 = r25023 * r25035;
        return r25036;
}

double f(double g, double h) {
        double r25037 = 2.0;
        double r25038 = 3.0;
        double r25039 = r25037 / r25038;
        double r25040 = atan2(1.0, 0.0);
        double r25041 = r25039 * r25040;
        double r25042 = cos(r25041);
        double r25043 = g;
        double r25044 = -r25043;
        double r25045 = h;
        double r25046 = r25044 / r25045;
        double r25047 = acos(r25046);
        double r25048 = r25047 / r25038;
        double r25049 = cos(r25048);
        double r25050 = r25042 * r25049;
        double r25051 = sin(r25041);
        double r25052 = sin(r25048);
        double r25053 = r25051 * r25052;
        double r25054 = r25050 - r25053;
        double r25055 = cbrt(r25054);
        double r25056 = fma(r25039, r25040, r25048);
        double r25057 = cos(r25056);
        double r25058 = 2.0;
        double r25059 = pow(r25057, r25058);
        double r25060 = cbrt(r25059);
        double r25061 = r25055 * r25060;
        double r25062 = r25037 * r25061;
        return r25062;
}

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-cbrt-cube1.5

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

    \[\leadsto 2 \cdot \sqrt[3]{\color{blue}{{\left(\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)\right)}^{3}}}\]
  6. Using strategy rm
  7. Applied cube-mult1.5

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

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

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

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

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

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

Reproduce

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