Average Error: 35.2 → 31.4
Time: 30.1s
Precision: 64
\[\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)}\]
\[\begin{array}{l} \mathbf{if}\;g \le -1.5974918824598454 \cdot 10^{-162}:\\ \;\;\;\;\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} \cdot \sqrt[3]{\frac{1}{a}} + \frac{\sqrt[3]{\left(\left(-g\right) + g\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}} + \sqrt[3]{\frac{g - g}{a \cdot 2}}\\ \end{array}\]
\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)}
\begin{array}{l}
\mathbf{if}\;g \le -1.5974918824598454 \cdot 10^{-162}:\\
\;\;\;\;\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} \cdot \sqrt[3]{\frac{1}{a}} + \frac{\sqrt[3]{\left(\left(-g\right) + g\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\\

\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}} + \sqrt[3]{\frac{g - g}{a \cdot 2}}\\

\end{array}
double f(double g, double h, double a) {
        double r3841959 = 1.0;
        double r3841960 = 2.0;
        double r3841961 = a;
        double r3841962 = r3841960 * r3841961;
        double r3841963 = r3841959 / r3841962;
        double r3841964 = g;
        double r3841965 = -r3841964;
        double r3841966 = r3841964 * r3841964;
        double r3841967 = h;
        double r3841968 = r3841967 * r3841967;
        double r3841969 = r3841966 - r3841968;
        double r3841970 = sqrt(r3841969);
        double r3841971 = r3841965 + r3841970;
        double r3841972 = r3841963 * r3841971;
        double r3841973 = cbrt(r3841972);
        double r3841974 = r3841965 - r3841970;
        double r3841975 = r3841963 * r3841974;
        double r3841976 = cbrt(r3841975);
        double r3841977 = r3841973 + r3841976;
        return r3841977;
}

double f(double g, double h, double a) {
        double r3841978 = g;
        double r3841979 = -1.5974918824598454e-162;
        bool r3841980 = r3841978 <= r3841979;
        double r3841981 = r3841978 * r3841978;
        double r3841982 = h;
        double r3841983 = r3841982 * r3841982;
        double r3841984 = r3841981 - r3841983;
        double r3841985 = sqrt(r3841984);
        double r3841986 = r3841985 - r3841978;
        double r3841987 = 2.0;
        double r3841988 = r3841986 / r3841987;
        double r3841989 = cbrt(r3841988);
        double r3841990 = 1.0;
        double r3841991 = a;
        double r3841992 = r3841990 / r3841991;
        double r3841993 = cbrt(r3841992);
        double r3841994 = r3841989 * r3841993;
        double r3841995 = -r3841978;
        double r3841996 = r3841995 + r3841978;
        double r3841997 = -0.5;
        double r3841998 = r3841996 * r3841997;
        double r3841999 = cbrt(r3841998);
        double r3842000 = cbrt(r3841991);
        double r3842001 = r3841999 / r3842000;
        double r3842002 = r3841994 + r3842001;
        double r3842003 = r3841978 + r3841985;
        double r3842004 = r3842003 * r3841997;
        double r3842005 = cbrt(r3842004);
        double r3842006 = r3842005 / r3842000;
        double r3842007 = r3841978 - r3841978;
        double r3842008 = r3841991 * r3841987;
        double r3842009 = r3842007 / r3842008;
        double r3842010 = cbrt(r3842009);
        double r3842011 = r3842006 + r3842010;
        double r3842012 = r3841980 ? r3842002 : r3842011;
        return r3842012;
}

Error

Bits error versus g

Bits error versus h

Bits error versus a

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if g < -1.5974918824598454e-162

    1. Initial program 33.8

      \[\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)}\]
    2. Simplified33.8

      \[\leadsto \color{blue}{\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}}\]
    3. Using strategy rm
    4. Applied associate-*r/33.8

      \[\leadsto \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \sqrt[3]{\color{blue}{\frac{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}{a}}}\]
    5. Applied cbrt-div33.8

      \[\leadsto \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \color{blue}{\frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}}\]
    6. Using strategy rm
    7. Applied *-un-lft-identity33.8

      \[\leadsto \sqrt[3]{\frac{\color{blue}{1 \cdot \left(\sqrt{g \cdot g - h \cdot h} - g\right)}}{a \cdot 2}} + \frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\]
    8. Applied times-frac33.8

      \[\leadsto \sqrt[3]{\color{blue}{\frac{1}{a} \cdot \frac{\sqrt{g \cdot g - h \cdot h} - g}{2}}} + \frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\]
    9. Applied cbrt-prod30.3

      \[\leadsto \color{blue}{\sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}}} + \frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\]
    10. Taylor expanded around -inf 30.1

      \[\leadsto \sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} + \frac{\sqrt[3]{\left(g + \color{blue}{-1 \cdot g}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\]
    11. Simplified30.1

      \[\leadsto \sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} + \frac{\sqrt[3]{\left(g + \color{blue}{\left(-g\right)}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\]

    if -1.5974918824598454e-162 < g

    1. Initial program 36.5

      \[\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)}\]
    2. Simplified36.5

      \[\leadsto \color{blue}{\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{\frac{-1}{2}}{a}}}\]
    3. Using strategy rm
    4. Applied associate-*r/36.5

      \[\leadsto \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \sqrt[3]{\color{blue}{\frac{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}{a}}}\]
    5. Applied cbrt-div32.9

      \[\leadsto \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \color{blue}{\frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}}\]
    6. Taylor expanded around inf 32.7

      \[\leadsto \sqrt[3]{\frac{\color{blue}{g} - g}{a \cdot 2}} + \frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification31.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;g \le -1.5974918824598454 \cdot 10^{-162}:\\ \;\;\;\;\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} \cdot \sqrt[3]{\frac{1}{a}} + \frac{\sqrt[3]{\left(\left(-g\right) + g\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\sqrt[3]{\left(g + \sqrt{g \cdot g - h \cdot h}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}} + \sqrt[3]{\frac{g - g}{a \cdot 2}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019151 
(FPCore (g h a)
  :name "2-ancestry mixing, positive discriminant"
  (+ (cbrt (* (/ 1 (* 2 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1 (* 2 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))