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{\pi}{3} \cdot 2 + \frac{\pi}{3}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) + \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) \cdot \sin \left(\frac{\pi}{3} \cdot 2 + \frac{\pi}{3}\right)\right)double f(double g, double h) {
double r122531 = 2.0;
double r122532 = atan2(1.0, 0.0);
double r122533 = r122531 * r122532;
double r122534 = 3.0;
double r122535 = r122533 / r122534;
double r122536 = g;
double r122537 = -r122536;
double r122538 = h;
double r122539 = r122537 / r122538;
double r122540 = acos(r122539);
double r122541 = r122540 / r122534;
double r122542 = r122535 + r122541;
double r122543 = cos(r122542);
double r122544 = r122531 * r122543;
return r122544;
}
double f(double g, double h) {
double r122545 = 2.0;
double r122546 = atan2(1.0, 0.0);
double r122547 = 3.0;
double r122548 = r122546 / r122547;
double r122549 = r122548 * r122545;
double r122550 = r122549 + r122548;
double r122551 = cos(r122550);
double r122552 = g;
double r122553 = h;
double r122554 = r122552 / r122553;
double r122555 = acos(r122554);
double r122556 = r122555 / r122547;
double r122557 = cos(r122556);
double r122558 = r122551 * r122557;
double r122559 = sin(r122556);
double r122560 = sin(r122550);
double r122561 = r122559 * r122560;
double r122562 = r122558 + r122561;
double r122563 = r122545 * r122562;
return r122563;
}



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.1
Simplified0.1
Simplified0.1
Final simplification0.1
herbie shell --seed 2019179
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2.0 (cos (+ (/ (* 2.0 PI) 3.0) (/ (acos (/ (- g) h)) 3.0)))))