2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\sqrt[3]{\cos \left(\left(\sqrt[3]{\frac{2 \cdot \pi}{3}} \cdot \sqrt[3]{\frac{2 \cdot \pi}{3}}\right) \cdot \sqrt[3]{\frac{2 \cdot \pi}{3}} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right) \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)} \cdot \sqrt[3]{\cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)}\right)double f(double g, double h) {
double r141173 = 2.0;
double r141174 = atan2(1.0, 0.0);
double r141175 = r141173 * r141174;
double r141176 = 3.0;
double r141177 = r141175 / r141176;
double r141178 = g;
double r141179 = -r141178;
double r141180 = h;
double r141181 = r141179 / r141180;
double r141182 = acos(r141181);
double r141183 = r141182 / r141176;
double r141184 = r141177 + r141183;
double r141185 = cos(r141184);
double r141186 = r141173 * r141185;
return r141186;
}
double f(double g, double h) {
double r141187 = 2.0;
double r141188 = atan2(1.0, 0.0);
double r141189 = r141187 * r141188;
double r141190 = 3.0;
double r141191 = r141189 / r141190;
double r141192 = cbrt(r141191);
double r141193 = r141192 * r141192;
double r141194 = r141193 * r141192;
double r141195 = g;
double r141196 = -r141195;
double r141197 = h;
double r141198 = r141196 / r141197;
double r141199 = acos(r141198);
double r141200 = r141199 / r141190;
double r141201 = r141194 + r141200;
double r141202 = cos(r141201);
double r141203 = r141191 + r141200;
double r141204 = cos(r141203);
double r141205 = r141202 * r141204;
double r141206 = cbrt(r141205);
double r141207 = cbrt(r141204);
double r141208 = r141206 * r141207;
double r141209 = r141187 * r141208;
return r141209;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
rmApplied add-cbrt-cube1.6
Simplified1.0
rmApplied add-cube-cbrt1.0
Applied unpow-prod-down1.0
Applied cbrt-prod0.1
Simplified0.1
Simplified0.1
rmApplied add-cube-cbrt0.0
Final simplification0.0
herbie shell --seed 2020020 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
:precision binary64
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))