Average Error: 15.8 → 0.9
Time: 20.3s
Precision: 64
\[\sqrt[3]{\frac{g}{2 \cdot a}}\]
\[\frac{1}{\frac{\sqrt[3]{2 \cdot a}}{\sqrt[3]{g}}}\]
\sqrt[3]{\frac{g}{2 \cdot a}}
\frac{1}{\frac{\sqrt[3]{2 \cdot a}}{\sqrt[3]{g}}}
double f(double g, double a) {
        double r113358 = g;
        double r113359 = 2.0;
        double r113360 = a;
        double r113361 = r113359 * r113360;
        double r113362 = r113358 / r113361;
        double r113363 = cbrt(r113362);
        return r113363;
}

double f(double g, double a) {
        double r113364 = 1.0;
        double r113365 = 2.0;
        double r113366 = a;
        double r113367 = r113365 * r113366;
        double r113368 = cbrt(r113367);
        double r113369 = g;
        double r113370 = cbrt(r113369);
        double r113371 = r113368 / r113370;
        double r113372 = r113364 / r113371;
        return r113372;
}

Error

Bits error versus g

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 15.8

    \[\sqrt[3]{\frac{g}{2 \cdot a}}\]
  2. Using strategy rm
  3. Applied cbrt-div0.8

    \[\leadsto \color{blue}{\frac{\sqrt[3]{g}}{\sqrt[3]{2 \cdot a}}}\]
  4. Using strategy rm
  5. Applied *-un-lft-identity0.8

    \[\leadsto \frac{\sqrt[3]{\color{blue}{1 \cdot g}}}{\sqrt[3]{2 \cdot a}}\]
  6. Applied cbrt-prod0.8

    \[\leadsto \frac{\color{blue}{\sqrt[3]{1} \cdot \sqrt[3]{g}}}{\sqrt[3]{2 \cdot a}}\]
  7. Applied associate-/l*0.9

    \[\leadsto \color{blue}{\frac{\sqrt[3]{1}}{\frac{\sqrt[3]{2 \cdot a}}{\sqrt[3]{g}}}}\]
  8. Final simplification0.9

    \[\leadsto \frac{1}{\frac{\sqrt[3]{2 \cdot a}}{\sqrt[3]{g}}}\]

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore (g a)
  :name "2-ancestry mixing, zero discriminant"
  :precision binary64
  (cbrt (/ g (* 2 a))))