Average Error: 36.2 → 32.0
Time: 22.9s
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.074872537626072550641864022314071388626 \cdot 10^{-181}:\\ \;\;\;\;\sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) - g} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) - \sqrt{g \cdot g - h \cdot h}} + \frac{\sqrt[3]{1 \cdot \left(h \cdot h\right)}}{\sqrt[3]{\left(2 \cdot a\right) \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}}\\ \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.074872537626072550641864022314071388626 \cdot 10^{-181}:\\
\;\;\;\;\sqrt[3]{\frac{1}{2 \cdot a}} \cdot \sqrt[3]{\left(-g\right) - g} + \sqrt[3]{\frac{1}{2 \cdot a} \cdot \left(\left(-g\right) - \sqrt{g \cdot g - h \cdot h}\right)}\\

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

\end{array}
double f(double g, double h, double a) {
        double r191872 = 1.0;
        double r191873 = 2.0;
        double r191874 = a;
        double r191875 = r191873 * r191874;
        double r191876 = r191872 / r191875;
        double r191877 = g;
        double r191878 = -r191877;
        double r191879 = r191877 * r191877;
        double r191880 = h;
        double r191881 = r191880 * r191880;
        double r191882 = r191879 - r191881;
        double r191883 = sqrt(r191882);
        double r191884 = r191878 + r191883;
        double r191885 = r191876 * r191884;
        double r191886 = cbrt(r191885);
        double r191887 = r191878 - r191883;
        double r191888 = r191876 * r191887;
        double r191889 = cbrt(r191888);
        double r191890 = r191886 + r191889;
        return r191890;
}

double f(double g, double h, double a) {
        double r191891 = g;
        double r191892 = 1.0748725376260726e-181;
        bool r191893 = r191891 <= r191892;
        double r191894 = 1.0;
        double r191895 = 2.0;
        double r191896 = a;
        double r191897 = r191895 * r191896;
        double r191898 = r191894 / r191897;
        double r191899 = cbrt(r191898);
        double r191900 = -r191891;
        double r191901 = r191900 - r191891;
        double r191902 = cbrt(r191901);
        double r191903 = r191899 * r191902;
        double r191904 = r191891 * r191891;
        double r191905 = h;
        double r191906 = r191905 * r191905;
        double r191907 = r191904 - r191906;
        double r191908 = sqrt(r191907);
        double r191909 = r191900 - r191908;
        double r191910 = r191898 * r191909;
        double r191911 = cbrt(r191910);
        double r191912 = r191903 + r191911;
        double r191913 = cbrt(r191909);
        double r191914 = r191899 * r191913;
        double r191915 = r191894 * r191906;
        double r191916 = cbrt(r191915);
        double r191917 = r191897 * r191909;
        double r191918 = cbrt(r191917);
        double r191919 = r191916 / r191918;
        double r191920 = r191914 + r191919;
        double r191921 = r191893 ? r191912 : r191920;
        return r191921;
}

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.0748725376260726e-181

    1. Initial program 36.9

      \[\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. Using strategy rm
    3. Applied cbrt-prod32.9

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

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

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

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

    if 1.0748725376260726e-181 < g

    1. Initial program 35.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. Using strategy rm
    3. Applied cbrt-prod31.7

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

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

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

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

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

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

Reproduce

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