2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\log \left(e^{\cos \left(\frac{1}{3} \cdot \cos^{-1} \left(\frac{g}{h}\right) - \pi \cdot \frac{2}{3}\right)}\right) \cdot \cos \left(\frac{\pi}{3}\right) + \sin \left(\frac{\pi}{3}\right) \cdot \sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \pi \cdot \frac{2}{3}\right)\right)double f(double g, double h) {
double r5686777 = 2.0;
double r5686778 = atan2(1.0, 0.0);
double r5686779 = r5686777 * r5686778;
double r5686780 = 3.0;
double r5686781 = r5686779 / r5686780;
double r5686782 = g;
double r5686783 = -r5686782;
double r5686784 = h;
double r5686785 = r5686783 / r5686784;
double r5686786 = acos(r5686785);
double r5686787 = r5686786 / r5686780;
double r5686788 = r5686781 + r5686787;
double r5686789 = cos(r5686788);
double r5686790 = r5686777 * r5686789;
return r5686790;
}
double f(double g, double h) {
double r5686791 = 2.0;
double r5686792 = 0.3333333333333333;
double r5686793 = g;
double r5686794 = h;
double r5686795 = r5686793 / r5686794;
double r5686796 = acos(r5686795);
double r5686797 = r5686792 * r5686796;
double r5686798 = atan2(1.0, 0.0);
double r5686799 = 0.6666666666666666;
double r5686800 = r5686798 * r5686799;
double r5686801 = r5686797 - r5686800;
double r5686802 = cos(r5686801);
double r5686803 = exp(r5686802);
double r5686804 = log(r5686803);
double r5686805 = 3.0;
double r5686806 = r5686798 / r5686805;
double r5686807 = cos(r5686806);
double r5686808 = r5686804 * r5686807;
double r5686809 = sin(r5686806);
double r5686810 = r5686796 / r5686805;
double r5686811 = r5686810 - r5686800;
double r5686812 = sin(r5686811);
double r5686813 = r5686809 * r5686812;
double r5686814 = r5686808 + r5686813;
double r5686815 = r5686791 * r5686814;
return r5686815;
}



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
Taylor expanded around 0 0.1
rmApplied add-log-exp0.1
Final simplification0.1
herbie shell --seed 2019165
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))