Average Error: 35.9 → 32.3
Time: 29.2s
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)}\]
\[\frac{\sqrt[3]{1 \cdot \left(\left(-g\right) - \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)}}{\sqrt[3]{\sqrt[3]{2 \cdot a}} \cdot \left(\sqrt[3]{\sqrt[3]{2 \cdot a}} \cdot \sqrt[3]{\sqrt[3]{2 \cdot a}}\right)} + \sqrt[3]{\frac{\left(\sqrt{\left(g - h\right) \cdot \left(g + h\right)} - g\right) \cdot 1}{2}} \cdot \sqrt[3]{\frac{1}{a}}\]
\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)}
\frac{\sqrt[3]{1 \cdot \left(\left(-g\right) - \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)}}{\sqrt[3]{\sqrt[3]{2 \cdot a}} \cdot \left(\sqrt[3]{\sqrt[3]{2 \cdot a}} \cdot \sqrt[3]{\sqrt[3]{2 \cdot a}}\right)} + \sqrt[3]{\frac{\left(\sqrt{\left(g - h\right) \cdot \left(g + h\right)} - g\right) \cdot 1}{2}} \cdot \sqrt[3]{\frac{1}{a}}
double f(double g, double h, double a) {
        double r127743 = 1.0;
        double r127744 = 2.0;
        double r127745 = a;
        double r127746 = r127744 * r127745;
        double r127747 = r127743 / r127746;
        double r127748 = g;
        double r127749 = -r127748;
        double r127750 = r127748 * r127748;
        double r127751 = h;
        double r127752 = r127751 * r127751;
        double r127753 = r127750 - r127752;
        double r127754 = sqrt(r127753);
        double r127755 = r127749 + r127754;
        double r127756 = r127747 * r127755;
        double r127757 = cbrt(r127756);
        double r127758 = r127749 - r127754;
        double r127759 = r127747 * r127758;
        double r127760 = cbrt(r127759);
        double r127761 = r127757 + r127760;
        return r127761;
}

double f(double g, double h, double a) {
        double r127762 = 1.0;
        double r127763 = g;
        double r127764 = -r127763;
        double r127765 = h;
        double r127766 = -r127765;
        double r127767 = r127763 * r127763;
        double r127768 = fma(r127766, r127765, r127767);
        double r127769 = sqrt(r127768);
        double r127770 = r127764 - r127769;
        double r127771 = r127762 * r127770;
        double r127772 = cbrt(r127771);
        double r127773 = 2.0;
        double r127774 = a;
        double r127775 = r127773 * r127774;
        double r127776 = cbrt(r127775);
        double r127777 = cbrt(r127776);
        double r127778 = r127777 * r127777;
        double r127779 = r127777 * r127778;
        double r127780 = r127772 / r127779;
        double r127781 = r127763 - r127765;
        double r127782 = r127763 + r127765;
        double r127783 = r127781 * r127782;
        double r127784 = sqrt(r127783);
        double r127785 = r127784 - r127763;
        double r127786 = r127785 * r127762;
        double r127787 = r127786 / r127773;
        double r127788 = cbrt(r127787);
        double r127789 = 1.0;
        double r127790 = r127789 / r127774;
        double r127791 = cbrt(r127790);
        double r127792 = r127788 * r127791;
        double r127793 = r127780 + r127792;
        return r127793;
}

Error

Bits error versus g

Bits error versus h

Bits error versus a

Derivation

  1. Initial program 35.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. Simplified35.9

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

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

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

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

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

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

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

    \[\leadsto \sqrt[3]{\frac{1 \cdot \left(\sqrt{\left(g - h\right) \cdot \left(g + h\right)} - g\right)}{2}} \cdot \sqrt[3]{\frac{1}{a}} + \frac{\sqrt[3]{1 \cdot \left(\left(-g\right) - \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)}}{\color{blue}{\sqrt[3]{a \cdot 2}}}\]
  12. Using strategy rm
  13. Applied add-cube-cbrt32.3

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

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

    \[\leadsto \sqrt[3]{\frac{1 \cdot \left(\sqrt{\left(g - h\right) \cdot \left(g + h\right)} - g\right)}{2}} \cdot \sqrt[3]{\frac{1}{a}} + \frac{\sqrt[3]{1 \cdot \left(\left(-g\right) - \sqrt{\mathsf{fma}\left(-h, h, g \cdot g\right)}\right)}}{\left(\sqrt[3]{\sqrt[3]{2 \cdot a}} \cdot \sqrt[3]{\sqrt[3]{2 \cdot a}}\right) \cdot \color{blue}{\sqrt[3]{\sqrt[3]{2 \cdot a}}}}\]
  16. Final simplification32.3

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

Reproduce

herbie shell --seed 2019194 +o rules:numerics
(FPCore (g h a)
  :name "2-ancestry mixing, positive discriminant"
  (+ (cbrt (* (/ 1.0 (* 2.0 a)) (+ (- g) (sqrt (- (* g g) (* h h)))))) (cbrt (* (/ 1.0 (* 2.0 a)) (- (- g) (sqrt (- (* g g) (* h h))))))))