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{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\sqrt{3}} \cdot \frac{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\sqrt{3}}\right) \cdot \cos \left(\frac{2}{3} \cdot \pi\right) - \left(\sqrt{\sin \left(\frac{2}{3} \cdot \pi\right)} \cdot \sqrt{\sin \left(\frac{2}{3} \cdot \pi\right)}\right) \cdot \sin \left(\frac{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\sqrt{3}} \cdot \frac{\sqrt{\cos^{-1} \left(-\frac{g}{h}\right)}}{\sqrt{3}}\right)\right)double f(double g, double h) {
double r5278701 = 2.0;
double r5278702 = atan2(1.0, 0.0);
double r5278703 = r5278701 * r5278702;
double r5278704 = 3.0;
double r5278705 = r5278703 / r5278704;
double r5278706 = g;
double r5278707 = -r5278706;
double r5278708 = h;
double r5278709 = r5278707 / r5278708;
double r5278710 = acos(r5278709);
double r5278711 = r5278710 / r5278704;
double r5278712 = r5278705 + r5278711;
double r5278713 = cos(r5278712);
double r5278714 = r5278701 * r5278713;
return r5278714;
}
double f(double g, double h) {
double r5278715 = 2.0;
double r5278716 = g;
double r5278717 = h;
double r5278718 = r5278716 / r5278717;
double r5278719 = -r5278718;
double r5278720 = acos(r5278719);
double r5278721 = sqrt(r5278720);
double r5278722 = 3.0;
double r5278723 = sqrt(r5278722);
double r5278724 = r5278721 / r5278723;
double r5278725 = r5278724 * r5278724;
double r5278726 = cos(r5278725);
double r5278727 = r5278715 / r5278722;
double r5278728 = atan2(1.0, 0.0);
double r5278729 = r5278727 * r5278728;
double r5278730 = cos(r5278729);
double r5278731 = r5278726 * r5278730;
double r5278732 = sin(r5278729);
double r5278733 = sqrt(r5278732);
double r5278734 = r5278733 * r5278733;
double r5278735 = sin(r5278725);
double r5278736 = r5278734 * r5278735;
double r5278737 = r5278731 - r5278736;
double r5278738 = r5278715 * r5278737;
return r5278738;
}



Bits error versus g



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