double f(double g, double a) {
double r23037906 = g;
double r23037907 = 2.0;
double r23037908 = a;
double r23037909 = r23037907 * r23037908;
double r23037910 = r23037906 / r23037909;
double r23037911 = cbrt(r23037910);
return r23037911;
}
double f(double g, double a) {
double r23037912 = g;
double r23037913 = cbrt(r23037912);
double r23037914 = 0.5;
double r23037915 = cbrt(r23037914);
double r23037916 = r23037913 * r23037915;
double r23037917 = 1.0;
double r23037918 = a;
double r23037919 = r23037917 / r23037918;
double r23037920 = cbrt(r23037919);
double r23037921 = r23037916 * r23037920;
return r23037921;
}
\sqrt[3]{\frac{g}{2 \cdot a}}\left(\sqrt[3]{g} \cdot \sqrt[3]{\frac{1}{2}}\right) \cdot \sqrt[3]{\frac{1}{a}}


Bits error versus g



Bits error versus a
Initial program 14.7
rmApplied div-inv14.7
Applied cbrt-prod0.9
rmApplied *-un-lft-identity0.9
Applied times-frac0.8
Applied cbrt-prod0.8
Applied associate-*r*0.8
Taylor expanded around inf 33.6
Simplified0.8
Final simplification0.8
herbie shell --seed 2019101 +o rules:numerics
(FPCore (g a)
:name "2-ancestry mixing, zero discriminant"
(cbrt (/ g (* 2 a))))