Average Error: 1.0 → 0.0
Time: 4.6s
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(\mathsf{fma}\left(\frac{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}}, \frac{\pi}{\sqrt[3]{3}}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}}, \frac{\pi}{\sqrt[3]{3}}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right) \cdot \cos \left(\mathsf{fma}\left(\frac{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}}, \frac{\pi}{\sqrt[3]{3}}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\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(\mathsf{fma}\left(\frac{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}}, \frac{\pi}{\sqrt[3]{3}}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}}, \frac{\pi}{\sqrt[3]{3}}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right) \cdot \cos \left(\mathsf{fma}\left(\frac{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}}, \frac{\pi}{\sqrt[3]{3}}, \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)}\right)
double f(double g, double h) {
        double r144119 = 2.0;
        double r144120 = atan2(1.0, 0.0);
        double r144121 = r144119 * r144120;
        double r144122 = 3.0;
        double r144123 = r144121 / r144122;
        double r144124 = g;
        double r144125 = -r144124;
        double r144126 = h;
        double r144127 = r144125 / r144126;
        double r144128 = acos(r144127);
        double r144129 = r144128 / r144122;
        double r144130 = r144123 + r144129;
        double r144131 = cos(r144130);
        double r144132 = r144119 * r144131;
        return r144132;
}

double f(double g, double h) {
        double r144133 = 2.0;
        double r144134 = 3.0;
        double r144135 = cbrt(r144134);
        double r144136 = r144135 * r144135;
        double r144137 = r144133 / r144136;
        double r144138 = atan2(1.0, 0.0);
        double r144139 = r144138 / r144135;
        double r144140 = g;
        double r144141 = -r144140;
        double r144142 = h;
        double r144143 = r144141 / r144142;
        double r144144 = acos(r144143);
        double r144145 = r144144 / r144134;
        double r144146 = fma(r144137, r144139, r144145);
        double r144147 = cos(r144146);
        double r144148 = cbrt(r144147);
        double r144149 = r144147 * r144147;
        double r144150 = cbrt(r144149);
        double r144151 = r144148 * r144150;
        double r144152 = r144133 * r144151;
        return r144152;
}

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. Using strategy rm
  3. Applied add-cube-cbrt1.0

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

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

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

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

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

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

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

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

Reproduce

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