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{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) - \sin \left(\frac{2 \cdot \pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)double f(double g, double h) {
double r98748 = 2.0;
double r98749 = atan2(1.0, 0.0);
double r98750 = r98748 * r98749;
double r98751 = 3.0;
double r98752 = r98750 / r98751;
double r98753 = g;
double r98754 = -r98753;
double r98755 = h;
double r98756 = r98754 / r98755;
double r98757 = acos(r98756);
double r98758 = r98757 / r98751;
double r98759 = r98752 + r98758;
double r98760 = cos(r98759);
double r98761 = r98748 * r98760;
return r98761;
}
double f(double g, double h) {
double r98762 = 2.0;
double r98763 = atan2(1.0, 0.0);
double r98764 = r98762 * r98763;
double r98765 = 3.0;
double r98766 = r98764 / r98765;
double r98767 = cos(r98766);
double r98768 = cbrt(r98767);
double r98769 = r98768 * r98768;
double r98770 = r98769 * r98768;
double r98771 = g;
double r98772 = -r98771;
double r98773 = h;
double r98774 = r98772 / r98773;
double r98775 = acos(r98774);
double r98776 = r98775 / r98765;
double r98777 = cos(r98776);
double r98778 = r98770 * r98777;
double r98779 = sin(r98766);
double r98780 = sin(r98776);
double r98781 = r98779 * r98780;
double r98782 = r98778 - r98781;
double r98783 = r98762 * r98782;
return r98783;
}



Bits error versus g



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