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) \cdot \frac{3}{2} - 3 \cdot \pi}{\frac{9}{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 r7556926 = 2.0;
double r7556927 = atan2(1.0, 0.0);
double r7556928 = r7556926 * r7556927;
double r7556929 = 3.0;
double r7556930 = r7556928 / r7556929;
double r7556931 = g;
double r7556932 = -r7556931;
double r7556933 = h;
double r7556934 = r7556932 / r7556933;
double r7556935 = acos(r7556934);
double r7556936 = r7556935 / r7556929;
double r7556937 = r7556930 + r7556936;
double r7556938 = cos(r7556937);
double r7556939 = r7556926 * r7556938;
return r7556939;
}
double f(double g, double h) {
double r7556940 = 2.0;
double r7556941 = g;
double r7556942 = h;
double r7556943 = r7556941 / r7556942;
double r7556944 = acos(r7556943);
double r7556945 = 1.5;
double r7556946 = r7556944 * r7556945;
double r7556947 = 3.0;
double r7556948 = atan2(1.0, 0.0);
double r7556949 = r7556947 * r7556948;
double r7556950 = r7556946 - r7556949;
double r7556951 = 4.5;
double r7556952 = r7556950 / r7556951;
double r7556953 = cos(r7556952);
double r7556954 = 0.5;
double r7556955 = r7556953 * r7556954;
double r7556956 = sqrt(r7556947);
double r7556957 = r7556956 / r7556940;
double r7556958 = r7556944 / r7556947;
double r7556959 = r7556948 / r7556945;
double r7556960 = r7556958 - r7556959;
double r7556961 = sin(r7556960);
double r7556962 = r7556957 * r7556961;
double r7556963 = r7556955 + r7556962;
double r7556964 = r7556940 * r7556963;
return r7556964;
}



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