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)}{\sqrt{3}} \cdot \frac{1}{\sqrt{3}}\right) \cdot \left(\sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right)} \cdot \left(\sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right)} \cdot \sqrt[3]{\cos \left(\frac{2}{3} \cdot \pi\right)}\right)\right) - \sin \left(\frac{2}{3} \cdot \pi\right) \cdot \sin \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}} \cdot \frac{1}{\sqrt{3}}\right)\right)double f(double g, double h) {
double r4811909 = 2.0;
double r4811910 = atan2(1.0, 0.0);
double r4811911 = r4811909 * r4811910;
double r4811912 = 3.0;
double r4811913 = r4811911 / r4811912;
double r4811914 = g;
double r4811915 = -r4811914;
double r4811916 = h;
double r4811917 = r4811915 / r4811916;
double r4811918 = acos(r4811917);
double r4811919 = r4811918 / r4811912;
double r4811920 = r4811913 + r4811919;
double r4811921 = cos(r4811920);
double r4811922 = r4811909 * r4811921;
return r4811922;
}
double f(double g, double h) {
double r4811923 = 2.0;
double r4811924 = g;
double r4811925 = h;
double r4811926 = r4811924 / r4811925;
double r4811927 = -r4811926;
double r4811928 = acos(r4811927);
double r4811929 = 3.0;
double r4811930 = sqrt(r4811929);
double r4811931 = r4811928 / r4811930;
double r4811932 = 1.0;
double r4811933 = r4811932 / r4811930;
double r4811934 = r4811931 * r4811933;
double r4811935 = cos(r4811934);
double r4811936 = 0.6666666666666666;
double r4811937 = atan2(1.0, 0.0);
double r4811938 = r4811936 * r4811937;
double r4811939 = cos(r4811938);
double r4811940 = cbrt(r4811939);
double r4811941 = r4811940 * r4811940;
double r4811942 = r4811940 * r4811941;
double r4811943 = r4811935 * r4811942;
double r4811944 = sin(r4811938);
double r4811945 = sin(r4811934);
double r4811946 = r4811944 * r4811945;
double r4811947 = r4811943 - r4811946;
double r4811948 = r4811923 * r4811947;
return r4811948;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied add-sqr-sqrt1.0
Applied *-un-lft-identity1.0
Applied times-frac1.0
rmApplied fma-udef1.0
Applied cos-sum1.0
rmApplied add-cube-cbrt0.0
Final simplification0.0
herbie shell --seed 2019163 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))