2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right) \cdot \sin \left(\frac{\pi}{3}\right) + \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right) \cdot \frac{1}{2}\right)double f(double g, double h) {
double r16127893 = 2.0;
double r16127894 = atan2(1.0, 0.0);
double r16127895 = r16127893 * r16127894;
double r16127896 = 3.0;
double r16127897 = r16127895 / r16127896;
double r16127898 = g;
double r16127899 = -r16127898;
double r16127900 = h;
double r16127901 = r16127899 / r16127900;
double r16127902 = acos(r16127901);
double r16127903 = r16127902 / r16127896;
double r16127904 = r16127897 + r16127903;
double r16127905 = cos(r16127904);
double r16127906 = r16127893 * r16127905;
return r16127906;
}
double f(double g, double h) {
double r16127907 = 2.0;
double r16127908 = g;
double r16127909 = h;
double r16127910 = r16127908 / r16127909;
double r16127911 = acos(r16127910);
double r16127912 = 3.0;
double r16127913 = r16127911 / r16127912;
double r16127914 = atan2(1.0, 0.0);
double r16127915 = 1.5;
double r16127916 = r16127914 / r16127915;
double r16127917 = r16127913 - r16127916;
double r16127918 = sin(r16127917);
double r16127919 = r16127914 / r16127912;
double r16127920 = sin(r16127919);
double r16127921 = r16127918 * r16127920;
double r16127922 = cos(r16127917);
double r16127923 = 0.5;
double r16127924 = r16127922 * r16127923;
double r16127925 = r16127921 + r16127924;
double r16127926 = r16127907 * r16127925;
return r16127926;
}



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