2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\left(\sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)\right)} \cdot \sqrt[3]{\left(\left(\sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)\right)} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)\right)}\right) \cdot \left(\sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)\right)} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)\right)}\right)\right) \cdot \left(\sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)\right)} \cdot \sqrt[3]{\cos \left(\mathsf{fma}\left(\frac{2}{3}, \pi, \left(\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{3}\right)\right)\right)}\right)}\right) \cdot 2double f(double g, double h) {
double r20516883 = 2.0;
double r20516884 = atan2(1.0, 0.0);
double r20516885 = r20516883 * r20516884;
double r20516886 = 3.0;
double r20516887 = r20516885 / r20516886;
double r20516888 = g;
double r20516889 = -r20516888;
double r20516890 = h;
double r20516891 = r20516889 / r20516890;
double r20516892 = acos(r20516891);
double r20516893 = r20516892 / r20516886;
double r20516894 = r20516887 + r20516893;
double r20516895 = cos(r20516894);
double r20516896 = r20516883 * r20516895;
return r20516896;
}
double f(double g, double h) {
double r20516897 = 0.6666666666666666;
double r20516898 = atan2(1.0, 0.0);
double r20516899 = g;
double r20516900 = h;
double r20516901 = r20516899 / r20516900;
double r20516902 = -r20516901;
double r20516903 = acos(r20516902);
double r20516904 = 3.0;
double r20516905 = r20516903 / r20516904;
double r20516906 = fma(r20516897, r20516898, r20516905);
double r20516907 = cos(r20516906);
double r20516908 = cbrt(r20516907);
double r20516909 = r20516908 * r20516908;
double r20516910 = r20516909 * r20516909;
double r20516911 = r20516910 * r20516909;
double r20516912 = cbrt(r20516911);
double r20516913 = r20516908 * r20516912;
double r20516914 = 2.0;
double r20516915 = r20516913 * r20516914;
return r20516915;
}



Bits error versus g



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