Average Error: 34.8 → 31.0
Time: 31.4s
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.5530414921382858 \cdot 10^{-162}:\\ \;\;\;\;\sqrt[3]{\frac{\left(-g\right) - \left(-g\right)}{a \cdot 2}} + \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} \cdot \sqrt[3]{\frac{1}{a}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \frac{\sqrt[3]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}}{\sqrt[3]{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.5530414921382858 \cdot 10^{-162}:\\
\;\;\;\;\sqrt[3]{\frac{\left(-g\right) - \left(-g\right)}{a \cdot 2}} + \sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{2}} \cdot \sqrt[3]{\frac{1}{a}}\\

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

\end{array}
double f(double g, double h, double a) {
        double r4412909 = 1.0;
        double r4412910 = 2.0;
        double r4412911 = a;
        double r4412912 = r4412910 * r4412911;
        double r4412913 = r4412909 / r4412912;
        double r4412914 = g;
        double r4412915 = -r4412914;
        double r4412916 = r4412914 * r4412914;
        double r4412917 = h;
        double r4412918 = r4412917 * r4412917;
        double r4412919 = r4412916 - r4412918;
        double r4412920 = sqrt(r4412919);
        double r4412921 = r4412915 + r4412920;
        double r4412922 = r4412913 * r4412921;
        double r4412923 = cbrt(r4412922);
        double r4412924 = r4412915 - r4412920;
        double r4412925 = r4412913 * r4412924;
        double r4412926 = cbrt(r4412925);
        double r4412927 = r4412923 + r4412926;
        return r4412927;
}

double f(double g, double h, double a) {
        double r4412928 = g;
        double r4412929 = 1.5530414921382858e-162;
        bool r4412930 = r4412928 <= r4412929;
        double r4412931 = -r4412928;
        double r4412932 = r4412931 - r4412931;
        double r4412933 = a;
        double r4412934 = 2.0;
        double r4412935 = r4412933 * r4412934;
        double r4412936 = r4412932 / r4412935;
        double r4412937 = cbrt(r4412936);
        double r4412938 = r4412928 * r4412928;
        double r4412939 = h;
        double r4412940 = r4412939 * r4412939;
        double r4412941 = r4412938 - r4412940;
        double r4412942 = sqrt(r4412941);
        double r4412943 = r4412942 - r4412928;
        double r4412944 = r4412943 / r4412934;
        double r4412945 = cbrt(r4412944);
        double r4412946 = 1.0;
        double r4412947 = r4412946 / r4412933;
        double r4412948 = cbrt(r4412947);
        double r4412949 = r4412945 * r4412948;
        double r4412950 = r4412937 + r4412949;
        double r4412951 = r4412943 / r4412935;
        double r4412952 = cbrt(r4412951);
        double r4412953 = r4412931 - r4412942;
        double r4412954 = cbrt(r4412953);
        double r4412955 = cbrt(r4412935);
        double r4412956 = r4412954 / r4412955;
        double r4412957 = r4412952 + r4412956;
        double r4412958 = r4412930 ? r4412950 : r4412957;
        return r4412958;
}

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.5530414921382858e-162

    1. Initial program 35.3

      \[\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. Simplified35.3

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

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

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

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

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

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

    if 1.5530414921382858e-162 < g

    1. Initial program 34.2

      \[\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. Simplified34.2

      \[\leadsto \color{blue}{\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{a \cdot 2}} + \sqrt[3]{\frac{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}}{a \cdot 2}}}\]
    3. Using strategy rm
    4. Applied cbrt-div30.6

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

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

Reproduce

herbie shell --seed 2019134 
(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))))))))