\sqrt[3]{\frac{g}{2 \cdot a}}\sqrt[3]{\frac{\sqrt[3]{g} \cdot \sqrt[3]{g}}{2}} \cdot \left(\sqrt[3]{\frac{1}{\sqrt[3]{a} \cdot \left(\sqrt[3]{\sqrt[3]{a} \cdot \sqrt[3]{a}} \cdot \sqrt[3]{\sqrt[3]{a}}\right)}} \cdot \sqrt[3]{\frac{\sqrt[3]{g}}{\sqrt[3]{a}}}\right)double f(double g, double a) {
double r111305 = g;
double r111306 = 2.0;
double r111307 = a;
double r111308 = r111306 * r111307;
double r111309 = r111305 / r111308;
double r111310 = cbrt(r111309);
return r111310;
}
double f(double g, double a) {
double r111311 = g;
double r111312 = cbrt(r111311);
double r111313 = r111312 * r111312;
double r111314 = 2.0;
double r111315 = r111313 / r111314;
double r111316 = cbrt(r111315);
double r111317 = 1.0;
double r111318 = a;
double r111319 = cbrt(r111318);
double r111320 = r111319 * r111319;
double r111321 = cbrt(r111320);
double r111322 = cbrt(r111319);
double r111323 = r111321 * r111322;
double r111324 = r111319 * r111323;
double r111325 = r111317 / r111324;
double r111326 = cbrt(r111325);
double r111327 = r111312 / r111319;
double r111328 = cbrt(r111327);
double r111329 = r111326 * r111328;
double r111330 = r111316 * r111329;
return r111330;
}



Bits error versus g



Bits error versus a
Results
Initial program 15.6
rmApplied add-cube-cbrt15.8
Applied times-frac15.8
Applied cbrt-prod5.8
rmApplied add-cube-cbrt5.9
Applied *-un-lft-identity5.9
Applied cbrt-prod5.9
Applied times-frac5.9
Applied cbrt-prod1.3
Simplified1.3
rmApplied add-cube-cbrt1.3
Applied cbrt-prod1.3
Final simplification1.3
herbie shell --seed 2020089 +o rules:numerics
(FPCore (g a)
:name "2-ancestry mixing, zero discriminant"
:precision binary64
(cbrt (/ g (* 2 a))))