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

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

\end{array}
double f(double g, double h, double a) {
        double r6086811 = 1.0;
        double r6086812 = 2.0;
        double r6086813 = a;
        double r6086814 = r6086812 * r6086813;
        double r6086815 = r6086811 / r6086814;
        double r6086816 = g;
        double r6086817 = -r6086816;
        double r6086818 = r6086816 * r6086816;
        double r6086819 = h;
        double r6086820 = r6086819 * r6086819;
        double r6086821 = r6086818 - r6086820;
        double r6086822 = sqrt(r6086821);
        double r6086823 = r6086817 + r6086822;
        double r6086824 = r6086815 * r6086823;
        double r6086825 = cbrt(r6086824);
        double r6086826 = r6086817 - r6086822;
        double r6086827 = r6086815 * r6086826;
        double r6086828 = cbrt(r6086827);
        double r6086829 = r6086825 + r6086828;
        return r6086829;
}

double f(double g, double h, double a) {
        double r6086830 = g;
        double r6086831 = -1.5727253310874222e-162;
        bool r6086832 = r6086830 <= r6086831;
        double r6086833 = h;
        double r6086834 = r6086833 * r6086833;
        double r6086835 = r6086830 - r6086833;
        double r6086836 = r6086830 + r6086833;
        double r6086837 = r6086835 * r6086836;
        double r6086838 = sqrt(r6086837);
        double r6086839 = r6086830 - r6086838;
        double r6086840 = r6086834 / r6086839;
        double r6086841 = -0.5;
        double r6086842 = r6086840 * r6086841;
        double r6086843 = cbrt(r6086842);
        double r6086844 = a;
        double r6086845 = cbrt(r6086844);
        double r6086846 = r6086843 / r6086845;
        double r6086847 = r6086838 - r6086830;
        double r6086848 = 2.0;
        double r6086849 = r6086847 / r6086848;
        double r6086850 = cbrt(r6086849);
        double r6086851 = 1.0;
        double r6086852 = r6086851 / r6086844;
        double r6086853 = cbrt(r6086852);
        double r6086854 = r6086850 * r6086853;
        double r6086855 = r6086846 + r6086854;
        double r6086856 = -r6086834;
        double r6086857 = r6086830 + r6086838;
        double r6086858 = r6086856 / r6086857;
        double r6086859 = cbrt(r6086858);
        double r6086860 = 0.5;
        double r6086861 = r6086860 / r6086844;
        double r6086862 = cbrt(r6086861);
        double r6086863 = r6086859 * r6086862;
        double r6086864 = r6086857 * r6086841;
        double r6086865 = cbrt(r6086864);
        double r6086866 = r6086865 / r6086845;
        double r6086867 = r6086863 + r6086866;
        double r6086868 = r6086832 ? r6086855 : r6086867;
        return r6086868;
}

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

    1. Initial program 35.0

      \[\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.9

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

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

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

      \[\leadsto \sqrt[3]{\frac{\sqrt{\left(g + h\right) \cdot \left(g - h\right)} - \color{blue}{1 \cdot g}}{a \cdot 2}} + \frac{\sqrt[3]{\left(g + \sqrt{\left(g + h\right) \cdot \left(g - h\right)}\right) \cdot \frac{-1}{2}}}{\sqrt[3]{a}}\]
    8. Applied *-un-lft-identity34.9

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

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

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

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

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

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

    if -1.5727253310874222e-162 < g

    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. Simplified36.9

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

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

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

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

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

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

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

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

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

Reproduce

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