2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)}} \cdot \sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)}}\right) + \log \left(\sqrt[3]{e^{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)}}\right)\right) \cdot 2double f(double g, double h) {
double r3937764 = 2.0;
double r3937765 = atan2(1.0, 0.0);
double r3937766 = r3937764 * r3937765;
double r3937767 = 3.0;
double r3937768 = r3937766 / r3937767;
double r3937769 = g;
double r3937770 = -r3937769;
double r3937771 = h;
double r3937772 = r3937770 / r3937771;
double r3937773 = acos(r3937772);
double r3937774 = r3937773 / r3937767;
double r3937775 = r3937768 + r3937774;
double r3937776 = cos(r3937775);
double r3937777 = r3937764 * r3937776;
return r3937777;
}
double f(double g, double h) {
double r3937778 = 0.6666666666666666;
double r3937779 = atan2(1.0, 0.0);
double r3937780 = g;
double r3937781 = h;
double r3937782 = r3937780 / r3937781;
double r3937783 = -r3937782;
double r3937784 = acos(r3937783);
double r3937785 = 3.0;
double r3937786 = r3937784 / r3937785;
double r3937787 = fma(r3937778, r3937779, r3937786);
double r3937788 = cos(r3937787);
double r3937789 = exp(r3937788);
double r3937790 = cbrt(r3937789);
double r3937791 = r3937790 * r3937790;
double r3937792 = log(r3937791);
double r3937793 = log(r3937790);
double r3937794 = r3937792 + r3937793;
double r3937795 = 2.0;
double r3937796 = r3937794 * r3937795;
return r3937796;
}



Bits error versus g



Bits error versus h
Initial program 1.0
Simplified1.0
rmApplied add-log-exp1.0
rmApplied add-cube-cbrt0.1
Applied log-prod0.1
Final simplification0.1
herbie shell --seed 2019138 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))