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;
}



Bits error versus g



Bits error versus h
Initial program 1.0
Simplified1.0
rmApplied add-cbrt-cube1.5
rmApplied cbrt-prod0.0
Final simplification0.0
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)))))