2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\left(\left(\sqrt[3]{\cos \left(\frac{2 \cdot \pi}{3}\right)} \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi}{3}\right)}\right) \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi}{3}\right)}\right) \cdot \cos \left(\frac{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right) - \sin \left(\frac{2 \cdot \pi}{3}\right) \cdot \sin \left(\frac{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right)\right)double f(double g, double h) {
double r210387 = 2.0;
double r210388 = atan2(1.0, 0.0);
double r210389 = r210387 * r210388;
double r210390 = 3.0;
double r210391 = r210389 / r210390;
double r210392 = g;
double r210393 = -r210392;
double r210394 = h;
double r210395 = r210393 / r210394;
double r210396 = acos(r210395);
double r210397 = r210396 / r210390;
double r210398 = r210391 + r210397;
double r210399 = cos(r210398);
double r210400 = r210387 * r210399;
return r210400;
}
double f(double g, double h) {
double r210401 = 2.0;
double r210402 = atan2(1.0, 0.0);
double r210403 = r210401 * r210402;
double r210404 = 3.0;
double r210405 = r210403 / r210404;
double r210406 = cos(r210405);
double r210407 = cbrt(r210406);
double r210408 = r210407 * r210407;
double r210409 = r210408 * r210407;
double r210410 = g;
double r210411 = -r210410;
double r210412 = h;
double r210413 = r210411 / r210412;
double r210414 = acos(r210413);
double r210415 = sqrt(r210404);
double r210416 = r210414 / r210415;
double r210417 = r210416 / r210415;
double r210418 = cos(r210417);
double r210419 = r210409 * r210418;
double r210420 = sin(r210405);
double r210421 = sin(r210417);
double r210422 = r210420 * r210421;
double r210423 = r210419 - r210422;
double r210424 = r210401 * r210423;
return r210424;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied add-sqr-sqrt1.0
Applied associate-/r*1.0
rmApplied cos-sum1.0
rmApplied add-cube-cbrt0.0
Final simplification0.0
herbie shell --seed 2020046
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))