Average Error: 1.0 → 0.0
Time: 34.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 + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)} \cdot \sqrt[3]{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\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((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)} \cdot \sqrt[3]{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)}\right)
double f(double g, double h) {
        double r18579252 = 2.0;
        double r18579253 = atan2(1.0, 0.0);
        double r18579254 = r18579252 * r18579253;
        double r18579255 = 3.0;
        double r18579256 = r18579254 / r18579255;
        double r18579257 = g;
        double r18579258 = -r18579257;
        double r18579259 = h;
        double r18579260 = r18579258 / r18579259;
        double r18579261 = acos(r18579260);
        double r18579262 = r18579261 / r18579255;
        double r18579263 = r18579256 + r18579262;
        double r18579264 = cos(r18579263);
        double r18579265 = r18579252 * r18579264;
        return r18579265;
}

double f(double g, double h) {
        double r18579266 = 2.0;
        double r18579267 = 0.6666666666666666;
        double r18579268 = atan2(1.0, 0.0);
        double r18579269 = g;
        double r18579270 = -r18579269;
        double r18579271 = h;
        double r18579272 = r18579270 / r18579271;
        double r18579273 = acos(r18579272);
        double r18579274 = 3.0;
        double r18579275 = r18579273 / r18579274;
        double r18579276 = fma(r18579267, r18579268, r18579275);
        double r18579277 = cos(r18579276);
        double r18579278 = cbrt(r18579277);
        double r18579279 = r18579277 * r18579277;
        double r18579280 = cbrt(r18579279);
        double r18579281 = r18579278 * r18579280;
        double r18579282 = r18579266 * r18579281;
        return r18579282;
}

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}{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot 2}\]
  3. Using strategy rm
  4. Applied add-cbrt-cube1.5

    \[\leadsto \color{blue}{\sqrt[3]{\left(\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)\right) \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)}} \cdot 2\]
  5. Using strategy rm
  6. Applied cbrt-prod0.0

    \[\leadsto \color{blue}{\left(\sqrt[3]{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)} \cdot \sqrt[3]{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)}\right)} \cdot 2\]
  7. Final simplification0.0

    \[\leadsto 2 \cdot \left(\sqrt[3]{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)} \cdot \sqrt[3]{\cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right) \cdot \cos \left((\frac{2}{3} \cdot \pi + \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right))_*\right)}\right)\]

Reproduce

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