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{\pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right) + \frac{1}{2} \cdot \cos \left(\frac{\cos^{-1} \left(\frac{g}{h}\right) \cdot \frac{3}{2} - \pi \cdot 3}{\frac{9}{2}}\right)\right)double f(double g, double h) {
double r4607033 = 2.0;
double r4607034 = atan2(1.0, 0.0);
double r4607035 = r4607033 * r4607034;
double r4607036 = 3.0;
double r4607037 = r4607035 / r4607036;
double r4607038 = g;
double r4607039 = -r4607038;
double r4607040 = h;
double r4607041 = r4607039 / r4607040;
double r4607042 = acos(r4607041);
double r4607043 = r4607042 / r4607036;
double r4607044 = r4607037 + r4607043;
double r4607045 = cos(r4607044);
double r4607046 = r4607033 * r4607045;
return r4607046;
}
double f(double g, double h) {
double r4607047 = 2.0;
double r4607048 = atan2(1.0, 0.0);
double r4607049 = 3.0;
double r4607050 = r4607048 / r4607049;
double r4607051 = sin(r4607050);
double r4607052 = g;
double r4607053 = h;
double r4607054 = r4607052 / r4607053;
double r4607055 = acos(r4607054);
double r4607056 = r4607055 / r4607049;
double r4607057 = 1.5;
double r4607058 = r4607048 / r4607057;
double r4607059 = r4607056 - r4607058;
double r4607060 = sin(r4607059);
double r4607061 = r4607051 * r4607060;
double r4607062 = 0.5;
double r4607063 = r4607055 * r4607057;
double r4607064 = r4607048 * r4607049;
double r4607065 = r4607063 - r4607064;
double r4607066 = 4.5;
double r4607067 = r4607065 / r4607066;
double r4607068 = cos(r4607067);
double r4607069 = r4607062 * r4607068;
double r4607070 = r4607061 + r4607069;
double r4607071 = r4607047 * r4607070;
return r4607071;
}



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