2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\cos \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) + \sin \left(\frac{2 \cdot \pi}{3} + \frac{\pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right)\right)double f(double g, double h) {
double r136487 = 2.0;
double r136488 = atan2(1.0, 0.0);
double r136489 = r136487 * r136488;
double r136490 = 3.0;
double r136491 = r136489 / r136490;
double r136492 = g;
double r136493 = -r136492;
double r136494 = h;
double r136495 = r136493 / r136494;
double r136496 = acos(r136495);
double r136497 = r136496 / r136490;
double r136498 = r136491 + r136497;
double r136499 = cos(r136498);
double r136500 = r136487 * r136499;
return r136500;
}
double f(double g, double h) {
double r136501 = 2.0;
double r136502 = atan2(1.0, 0.0);
double r136503 = r136501 * r136502;
double r136504 = 3.0;
double r136505 = r136503 / r136504;
double r136506 = r136502 / r136504;
double r136507 = r136505 + r136506;
double r136508 = cos(r136507);
double r136509 = g;
double r136510 = h;
double r136511 = r136509 / r136510;
double r136512 = acos(r136511);
double r136513 = r136512 / r136504;
double r136514 = cos(r136513);
double r136515 = r136508 * r136514;
double r136516 = sin(r136507);
double r136517 = sin(r136513);
double r136518 = r136516 * r136517;
double r136519 = r136515 + r136518;
double r136520 = r136501 * r136519;
return r136520;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied distribute-frac-neg1.0
Applied acos-neg1.0
Applied div-sub1.0
Applied associate-+r-1.0
Applied cos-diff0.0
Final simplification0.0
herbie shell --seed 2019304
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))