2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\left(\cos \left(\frac{\pi}{\frac{3}{2}}\right) \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right) + \sin \left(\frac{\pi}{\frac{3}{2}}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3}\right)\right) \cdot \frac{1}{2} + \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right) \cdot \sin \left(\sqrt{\frac{\pi}{3}} \cdot \sqrt{\frac{\pi}{3}}\right)\right) \cdot 2double f(double g, double h) {
double r18369536 = 2.0;
double r18369537 = atan2(1.0, 0.0);
double r18369538 = r18369536 * r18369537;
double r18369539 = 3.0;
double r18369540 = r18369538 / r18369539;
double r18369541 = g;
double r18369542 = -r18369541;
double r18369543 = h;
double r18369544 = r18369542 / r18369543;
double r18369545 = acos(r18369544);
double r18369546 = r18369545 / r18369539;
double r18369547 = r18369540 + r18369546;
double r18369548 = cos(r18369547);
double r18369549 = r18369536 * r18369548;
return r18369549;
}
double f(double g, double h) {
double r18369550 = atan2(1.0, 0.0);
double r18369551 = 1.5;
double r18369552 = r18369550 / r18369551;
double r18369553 = cos(r18369552);
double r18369554 = g;
double r18369555 = h;
double r18369556 = r18369554 / r18369555;
double r18369557 = acos(r18369556);
double r18369558 = 3.0;
double r18369559 = r18369557 / r18369558;
double r18369560 = cos(r18369559);
double r18369561 = r18369553 * r18369560;
double r18369562 = sin(r18369552);
double r18369563 = sin(r18369559);
double r18369564 = r18369562 * r18369563;
double r18369565 = r18369561 + r18369564;
double r18369566 = 0.5;
double r18369567 = r18369565 * r18369566;
double r18369568 = r18369559 - r18369552;
double r18369569 = sin(r18369568);
double r18369570 = r18369550 / r18369558;
double r18369571 = sqrt(r18369570);
double r18369572 = r18369571 * r18369571;
double r18369573 = sin(r18369572);
double r18369574 = r18369569 * r18369573;
double r18369575 = r18369567 + r18369574;
double r18369576 = 2.0;
double r18369577 = r18369575 * r18369576;
return r18369577;
}



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
rmApplied add-sqr-sqrt1.0
rmApplied cos-diff0.0
Final simplification0.0
herbie shell --seed 2019119
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))