2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\cos \left(\frac{2}{3} \cdot \pi\right) \cdot \cos \left(\frac{\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right) - \sin \left(\sqrt{\pi} \cdot \left(\sqrt{\pi} \cdot \frac{2}{3}\right)\right) \cdot \sin \left(\frac{\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}\right)\right) \cdot 2double f(double g, double h) {
double r33889452 = 2.0;
double r33889453 = atan2(1.0, 0.0);
double r33889454 = r33889452 * r33889453;
double r33889455 = 3.0;
double r33889456 = r33889454 / r33889455;
double r33889457 = g;
double r33889458 = -r33889457;
double r33889459 = h;
double r33889460 = r33889458 / r33889459;
double r33889461 = acos(r33889460);
double r33889462 = r33889461 / r33889455;
double r33889463 = r33889456 + r33889462;
double r33889464 = cos(r33889463);
double r33889465 = r33889452 * r33889464;
return r33889465;
}
double f(double g, double h) {
double r33889466 = 0.6666666666666666;
double r33889467 = atan2(1.0, 0.0);
double r33889468 = r33889466 * r33889467;
double r33889469 = cos(r33889468);
double r33889470 = g;
double r33889471 = h;
double r33889472 = r33889470 / r33889471;
double r33889473 = -r33889472;
double r33889474 = acos(r33889473);
double r33889475 = 3.0;
double r33889476 = sqrt(r33889475);
double r33889477 = r33889474 / r33889476;
double r33889478 = r33889477 / r33889476;
double r33889479 = cos(r33889478);
double r33889480 = r33889469 * r33889479;
double r33889481 = sqrt(r33889467);
double r33889482 = r33889481 * r33889466;
double r33889483 = r33889481 * r33889482;
double r33889484 = sin(r33889483);
double r33889485 = sin(r33889478);
double r33889486 = r33889484 * r33889485;
double r33889487 = r33889480 - r33889486;
double r33889488 = 2.0;
double r33889489 = r33889487 * r33889488;
return r33889489;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied add-sqr-sqrt1.0
Applied associate-/r*1.0
rmApplied fma-udef1.0
Applied cos-sum1.0
rmApplied add-sqr-sqrt0.0
Applied associate-*r*0.0
Final simplification0.0
herbie shell --seed 2019125 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))