2 \cdot \cos \left(\frac{2 \cdot \pi}{3} + \frac{\cos^{-1} \left(\frac{-g}{h}\right)}{3}\right)\log \left(e^{\frac{\sqrt{3}}{\frac{2}{\sin \left(\frac{\cos^{-1} \left(\frac{g}{h}\right)}{3} - \frac{\pi}{\frac{3}{2}}\right)}} + \frac{1}{2} \cdot \cos \left(\frac{\frac{1}{27} \cdot \left(\cos^{-1} \left(\frac{g}{h}\right) \cdot \left(\cos^{-1} \left(\frac{g}{h}\right) \cdot \cos^{-1} \left(\frac{g}{h}\right)\right)\right) + \left(\pi \cdot \left(\frac{-8}{27} \cdot \pi\right)\right) \cdot \pi}{\left(\pi \cdot \frac{2}{3}\right) \cdot \left(\pi \cdot \frac{2}{3}\right) + \left(\pi \cdot \frac{2}{3} + \frac{1}{3} \cdot \cos^{-1} \left(\frac{g}{h}\right)\right) \cdot \left(\frac{1}{3} \cdot \cos^{-1} \left(\frac{g}{h}\right)\right)}\right)}\right) \cdot 2double f(double g, double h) {
double r4850140 = 2.0;
double r4850141 = atan2(1.0, 0.0);
double r4850142 = r4850140 * r4850141;
double r4850143 = 3.0;
double r4850144 = r4850142 / r4850143;
double r4850145 = g;
double r4850146 = -r4850145;
double r4850147 = h;
double r4850148 = r4850146 / r4850147;
double r4850149 = acos(r4850148);
double r4850150 = r4850149 / r4850143;
double r4850151 = r4850144 + r4850150;
double r4850152 = cos(r4850151);
double r4850153 = r4850140 * r4850152;
return r4850153;
}
double f(double g, double h) {
double r4850154 = 3.0;
double r4850155 = sqrt(r4850154);
double r4850156 = 2.0;
double r4850157 = g;
double r4850158 = h;
double r4850159 = r4850157 / r4850158;
double r4850160 = acos(r4850159);
double r4850161 = r4850160 / r4850154;
double r4850162 = atan2(1.0, 0.0);
double r4850163 = 1.5;
double r4850164 = r4850162 / r4850163;
double r4850165 = r4850161 - r4850164;
double r4850166 = sin(r4850165);
double r4850167 = r4850156 / r4850166;
double r4850168 = r4850155 / r4850167;
double r4850169 = 0.5;
double r4850170 = 0.037037037037037035;
double r4850171 = r4850160 * r4850160;
double r4850172 = r4850160 * r4850171;
double r4850173 = r4850170 * r4850172;
double r4850174 = -0.2962962962962963;
double r4850175 = r4850174 * r4850162;
double r4850176 = r4850162 * r4850175;
double r4850177 = r4850176 * r4850162;
double r4850178 = r4850173 + r4850177;
double r4850179 = 0.6666666666666666;
double r4850180 = r4850162 * r4850179;
double r4850181 = r4850180 * r4850180;
double r4850182 = 0.3333333333333333;
double r4850183 = r4850182 * r4850160;
double r4850184 = r4850180 + r4850183;
double r4850185 = r4850184 * r4850183;
double r4850186 = r4850181 + r4850185;
double r4850187 = r4850178 / r4850186;
double r4850188 = cos(r4850187);
double r4850189 = r4850169 * r4850188;
double r4850190 = r4850168 + r4850189;
double r4850191 = exp(r4850190);
double r4850192 = log(r4850191);
double r4850193 = r4850192 * r4850156;
return r4850193;
}



Bits error versus g



Bits error versus h
Results
Initial program 1.0
Simplified1.0
rmApplied add-log-exp1.0
rmApplied distribute-frac-neg1.0
Applied acos-neg1.0
Applied div-sub1.0
Applied associate-+l-1.0
Applied cos-diff0.1
Simplified0.1
Simplified0.1
Taylor expanded around -inf 0.1
rmApplied flip3--1.0
Simplified0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019138
(FPCore (g h)
:name "2-ancestry mixing, negative discriminant"
(* 2 (cos (+ (/ (* 2 PI) 3) (/ (acos (/ (- g) h)) 3)))))