Average Error: 35.2 → 31.5
Time: 2.0m
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 -3.2849414813215076 \cdot 10^{-182}:\\ \;\;\;\;\sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\left(-g\right) - \left(-g\right)}{2}} + \frac{\sqrt[3]{\sqrt{g \cdot g - h \cdot h} - g}}{\sqrt[3]{\frac{a}{\frac{1}{2}}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt[3]{\frac{\sqrt{g \cdot g - h \cdot h} - g}{\frac{a}{\frac{1}{2}}}} + \sqrt[3]{\frac{\left(-g\right) - g}{2}} \cdot \sqrt[3]{\frac{1}{a}}\\ \end{array}\]
double f(double g, double h, double a) {
        double r17884739 = 1.0;
        double r17884740 = 2.0;
        double r17884741 = a;
        double r17884742 = r17884740 * r17884741;
        double r17884743 = r17884739 / r17884742;
        double r17884744 = g;
        double r17884745 = -r17884744;
        double r17884746 = r17884744 * r17884744;
        double r17884747 = h;
        double r17884748 = r17884747 * r17884747;
        double r17884749 = r17884746 - r17884748;
        double r17884750 = sqrt(r17884749);
        double r17884751 = r17884745 + r17884750;
        double r17884752 = r17884743 * r17884751;
        double r17884753 = cbrt(r17884752);
        double r17884754 = r17884745 - r17884750;
        double r17884755 = r17884743 * r17884754;
        double r17884756 = cbrt(r17884755);
        double r17884757 = r17884753 + r17884756;
        return r17884757;
}

double f(double g, double h, double a) {
        double r17884758 = g;
        double r17884759 = -3.2849414813215076e-182;
        bool r17884760 = r17884758 <= r17884759;
        double r17884761 = 1.0;
        double r17884762 = a;
        double r17884763 = r17884761 / r17884762;
        double r17884764 = cbrt(r17884763);
        double r17884765 = -r17884758;
        double r17884766 = r17884765 - r17884765;
        double r17884767 = 2.0;
        double r17884768 = r17884766 / r17884767;
        double r17884769 = cbrt(r17884768);
        double r17884770 = r17884764 * r17884769;
        double r17884771 = r17884758 * r17884758;
        double r17884772 = h;
        double r17884773 = r17884772 * r17884772;
        double r17884774 = r17884771 - r17884773;
        double r17884775 = sqrt(r17884774);
        double r17884776 = r17884775 - r17884758;
        double r17884777 = cbrt(r17884776);
        double r17884778 = 0.5;
        double r17884779 = r17884762 / r17884778;
        double r17884780 = cbrt(r17884779);
        double r17884781 = r17884777 / r17884780;
        double r17884782 = r17884770 + r17884781;
        double r17884783 = r17884776 / r17884779;
        double r17884784 = cbrt(r17884783);
        double r17884785 = r17884765 - r17884758;
        double r17884786 = r17884785 / r17884767;
        double r17884787 = cbrt(r17884786);
        double r17884788 = r17884787 * r17884764;
        double r17884789 = r17884784 + r17884788;
        double r17884790 = r17884760 ? r17884782 : r17884789;
        return r17884790;
}

\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 -3.2849414813215076 \cdot 10^{-182}:\\
\;\;\;\;\sqrt[3]{\frac{1}{a}} \cdot \sqrt[3]{\frac{\left(-g\right) - \left(-g\right)}{2}} + \frac{\sqrt[3]{\sqrt{g \cdot g - h \cdot h} - g}}{\sqrt[3]{\frac{a}{\frac{1}{2}}}}\\

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

\end{array}

Error

Bits error versus g

Bits error versus h

Bits error versus a

Derivation

  1. Split input into 2 regimes
  2. if g < -3.2849414813215076e-182

    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. Simplified35.0

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

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

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

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

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

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

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

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

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

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

    if -3.2849414813215076e-182 < 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. Simplified35.5

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

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

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

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

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

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

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

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

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

Reproduce

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