\sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) + \sqrt{g \cdot g - h \cdot h}\right)} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) + \sqrt{g \cdot g - h \cdot h}} + \sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}double f(double g, double h, double a) {
double r161491 = 1.0;
double r161492 = 2.0;
double r161493 = a;
double r161494 = r161492 * r161493;
double r161495 = r161491 / r161494;
double r161496 = g;
double r161497 = -r161496;
double r161498 = r161496 * r161496;
double r161499 = h;
double r161500 = r161499 * r161499;
double r161501 = r161498 - r161500;
double r161502 = sqrt(r161501);
double r161503 = r161497 + r161502;
double r161504 = r161495 * r161503;
double r161505 = cbrt(r161504);
double r161506 = r161497 - r161502;
double r161507 = r161495 * r161506;
double r161508 = cbrt(r161507);
double r161509 = r161505 + r161508;
return r161509;
}
double f(double g, double h, double a) {
double r161510 = 1.0;
double r161511 = 2.0;
double r161512 = a;
double r161513 = r161511 * r161512;
double r161514 = r161510 / r161513;
double r161515 = cbrt(r161514);
double r161516 = g;
double r161517 = -r161516;
double r161518 = r161516 * r161516;
double r161519 = h;
double r161520 = r161519 * r161519;
double r161521 = r161518 - r161520;
double r161522 = sqrt(r161521);
double r161523 = r161517 + r161522;
double r161524 = cbrt(r161523);
double r161525 = r161515 * r161524;
double r161526 = r161517 - r161522;
double r161527 = cbrt(r161526);
double r161528 = r161515 * r161527;
double r161529 = r161525 + r161528;
return r161529;
}



Bits error versus g



Bits error versus h



Bits error versus a
Results
Initial program 36.4
rmApplied cbrt-prod34.2
rmApplied cbrt-prod32.5
Final simplification32.5
herbie shell --seed 2019354
(FPCore (g h a)
:name "2-ancestry mixing, positive discriminant"
:precision binary64
(+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))