2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)2 \cdot \left(\cos \left(\sqrt{\frac{\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}} \cdot \sqrt{\frac{\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}}\right) \cdot \cos \left(\frac{2}{3} \cdot \pi\right) - \left(\sqrt{\sin \left(\frac{2}{3} \cdot \pi\right)} \cdot \sqrt{\sin \left(\frac{2}{3} \cdot \pi\right)}\right) \cdot \sin \left(\sqrt{\frac{\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}} \cdot \sqrt{\frac{\frac{\cos^{-1} \left(-\frac{g}{h}\right)}{\sqrt{3}}}{\sqrt{3}}}\right)\right)double f(double g, double h) {
double r5703605 = 2.0;
double r5703606 = atan2(1.0, 0.0);
double r5703607 = r5703605 * r5703606;
double r5703608 = 3.0;
double r5703609 = r5703607 / r5703608;
double r5703610 = g;
double r5703611 = -r5703610;
double r5703612 = h;
double r5703613 = r5703611 / r5703612;
double r5703614 = acos(r5703613);
double r5703615 = r5703614 / r5703608;
double r5703616 = r5703609 + r5703615;
double r5703617 = cos(r5703616);
double r5703618 = r5703605 * r5703617;
return r5703618;
}
double f(double g, double h) {
double r5703619 = 2.0;
double r5703620 = g;
double r5703621 = h;
double r5703622 = r5703620 / r5703621;
double r5703623 = -r5703622;
double r5703624 = acos(r5703623);
double r5703625 = 3.0;
double r5703626 = sqrt(r5703625);
double r5703627 = r5703624 / r5703626;
double r5703628 = r5703627 / r5703626;
double r5703629 = sqrt(r5703628);
double r5703630 = r5703629 * r5703629;
double r5703631 = cos(r5703630);
double r5703632 = 0.6666666666666666;
double r5703633 = atan2(1.0, 0.0);
double r5703634 = r5703632 * r5703633;
double r5703635 = cos(r5703634);
double r5703636 = r5703631 * r5703635;
double r5703637 = sin(r5703634);
double r5703638 = sqrt(r5703637);
double r5703639 = r5703638 * r5703638;
double r5703640 = sin(r5703630);
double r5703641 = r5703639 * r5703640;
double r5703642 = r5703636 - r5703641;
double r5703643 = r5703619 * r5703642;
return r5703643;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied add-sqr-sqrt1.0
Applied associate-/r*1.0
rmApplied add-sqr-sqrt1.0
rmApplied fma-udef1.0
Applied cos-sum0.0
rmApplied add-sqr-sqrt0.0
Final simplification0.0
herbie shell --seed 2019130 +o rules:numerics
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))