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{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\pi}{\sqrt[3]{3}}\right) \cdot \cos \left(\frac{\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{\sqrt[3]{3} \cdot \sqrt[3]{3}}}{\sqrt[3]{3}}\right) - \sin \left(\frac{2}{\sqrt[3]{3} \cdot \sqrt[3]{3}} \cdot \frac{\pi}{\sqrt[3]{3}}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\right)double f(double g, double h) {
double r137292 = 2.0;
double r137293 = atan2(1.0, 0.0);
double r137294 = r137292 * r137293;
double r137295 = 3.0;
double r137296 = r137294 / r137295;
double r137297 = g;
double r137298 = -r137297;
double r137299 = h;
double r137300 = r137298 / r137299;
double r137301 = acos(r137300);
double r137302 = r137301 / r137295;
double r137303 = r137296 + r137302;
double r137304 = cos(r137303);
double r137305 = r137292 * r137304;
return r137305;
}
double f(double g, double h) {
double r137306 = 2.0;
double r137307 = 3.0;
double r137308 = cbrt(r137307);
double r137309 = r137308 * r137308;
double r137310 = r137306 / r137309;
double r137311 = atan2(1.0, 0.0);
double r137312 = r137311 / r137308;
double r137313 = r137310 * r137312;
double r137314 = cos(r137313);
double r137315 = g;
double r137316 = -r137315;
double r137317 = h;
double r137318 = r137316 / r137317;
double r137319 = acos(r137318);
double r137320 = r137319 / r137309;
double r137321 = r137320 / r137308;
double r137322 = cos(r137321);
double r137323 = r137314 * r137322;
double r137324 = sin(r137313);
double r137325 = r137319 / r137307;
double r137326 = sin(r137325);
double r137327 = r137324 * r137326;
double r137328 = r137323 - r137327;
double r137329 = r137306 * r137328;
return r137329;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied add-cube-cbrt1.0
Applied times-frac1.0
Applied fma-def1.0
rmApplied fma-udef1.0
Applied cos-sum1.0
rmApplied add-cube-cbrt1.0
Applied associate-/r*0.0
Final simplification0.0
herbie shell --seed 2020035 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))