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 \cdot \pi}{3}\right) \cdot \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) - \sin \left(\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{2 \cdot \pi}{3}\right)\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 r169768 = 2.0;
double r169769 = atan2(1.0, 0.0);
double r169770 = r169768 * r169769;
double r169771 = 3.0;
double r169772 = r169770 / r169771;
double r169773 = g;
double r169774 = -r169773;
double r169775 = h;
double r169776 = r169774 / r169775;
double r169777 = acos(r169776);
double r169778 = r169777 / r169771;
double r169779 = r169772 + r169778;
double r169780 = cos(r169779);
double r169781 = r169768 * r169780;
return r169781;
}
double f(double g, double h) {
double r169782 = 2.0;
double r169783 = atan2(1.0, 0.0);
double r169784 = r169782 * r169783;
double r169785 = 3.0;
double r169786 = r169784 / r169785;
double r169787 = cos(r169786);
double r169788 = g;
double r169789 = -r169788;
double r169790 = h;
double r169791 = r169789 / r169790;
double r169792 = acos(r169791);
double r169793 = sqrt(r169792);
double r169794 = sqrt(r169785);
double r169795 = r169793 / r169794;
double r169796 = r169795 * r169795;
double r169797 = cos(r169796);
double r169798 = r169787 * r169797;
double r169799 = log1p(r169786);
double r169800 = expm1(r169799);
double r169801 = sin(r169800);
double r169802 = sin(r169796);
double r169803 = r169801 * r169802;
double r169804 = r169798 - r169803;
double r169805 = r169782 * r169804;
return r169805;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied add-sqr-sqrt1.0
Applied add-sqr-sqrt1.0
Applied times-frac1.0
rmApplied cos-sum1.0
rmApplied expm1-log1p-u0.0
Final simplification0.0
herbie shell --seed 2019353 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))