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{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right) \cdot \frac{1}{2} + \frac{\sqrt{3}}{2} \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right)\right)double f(double g, double h) {
double r4542517 = 2.0;
double r4542518 = atan2(1.0, 0.0);
double r4542519 = r4542517 * r4542518;
double r4542520 = 3.0;
double r4542521 = r4542519 / r4542520;
double r4542522 = g;
double r4542523 = -r4542522;
double r4542524 = h;
double r4542525 = r4542523 / r4542524;
double r4542526 = acos(r4542525);
double r4542527 = r4542526 / r4542520;
double r4542528 = r4542521 + r4542527;
double r4542529 = cos(r4542528);
double r4542530 = r4542517 * r4542529;
return r4542530;
}
double f(double g, double h) {
double r4542531 = 2.0;
double r4542532 = g;
double r4542533 = h;
double r4542534 = r4542532 / r4542533;
double r4542535 = acos(r4542534);
double r4542536 = 3.0;
double r4542537 = r4542535 / r4542536;
double r4542538 = atan2(1.0, 0.0);
double r4542539 = 1.5;
double r4542540 = r4542538 / r4542539;
double r4542541 = r4542537 - r4542540;
double r4542542 = cos(r4542541);
double r4542543 = 0.5;
double r4542544 = r4542542 * r4542543;
double r4542545 = sqrt(r4542536);
double r4542546 = r4542545 / r4542531;
double r4542547 = sin(r4542541);
double r4542548 = r4542546 * r4542547;
double r4542549 = r4542544 + r4542548;
double r4542550 = r4542531 * r4542549;
return r4542550;
}



Bits error versus g



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