Average Error: 24.6 → 11.6
Time: 52.0s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 0.0\]
\[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 5.615380048313215 \cdot 10^{189}:\\ \;\;\;\;\frac{e^{\log \left(\mathsf{fma}\left(\sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{2}\\ \end{array}\]
\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}
\begin{array}{l}
\mathbf{if}\;\alpha \le 5.615380048313215 \cdot 10^{189}:\\
\;\;\;\;\frac{e^{\log \left(\mathsf{fma}\left(\sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)\right)}}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r154877 = alpha;
        double r154878 = beta;
        double r154879 = r154877 + r154878;
        double r154880 = r154878 - r154877;
        double r154881 = r154879 * r154880;
        double r154882 = 2.0;
        double r154883 = i;
        double r154884 = r154882 * r154883;
        double r154885 = r154879 + r154884;
        double r154886 = r154881 / r154885;
        double r154887 = r154885 + r154882;
        double r154888 = r154886 / r154887;
        double r154889 = 1.0;
        double r154890 = r154888 + r154889;
        double r154891 = r154890 / r154882;
        return r154891;
}

double f(double alpha, double beta, double i) {
        double r154892 = alpha;
        double r154893 = 5.615380048313215e+189;
        bool r154894 = r154892 <= r154893;
        double r154895 = beta;
        double r154896 = r154892 + r154895;
        double r154897 = i;
        double r154898 = 2.0;
        double r154899 = fma(r154897, r154898, r154896);
        double r154900 = r154895 - r154892;
        double r154901 = r154899 / r154900;
        double r154902 = r154896 / r154901;
        double r154903 = r154898 * r154897;
        double r154904 = r154896 + r154903;
        double r154905 = r154904 + r154898;
        double r154906 = r154902 / r154905;
        double r154907 = cbrt(r154906);
        double r154908 = r154907 * r154907;
        double r154909 = 1.0;
        double r154910 = fma(r154908, r154907, r154909);
        double r154911 = log(r154910);
        double r154912 = exp(r154911);
        double r154913 = r154912 / r154898;
        double r154914 = 1.0;
        double r154915 = r154914 / r154892;
        double r154916 = 8.0;
        double r154917 = 3.0;
        double r154918 = pow(r154892, r154917);
        double r154919 = r154914 / r154918;
        double r154920 = r154916 * r154919;
        double r154921 = 4.0;
        double r154922 = 2.0;
        double r154923 = pow(r154892, r154922);
        double r154924 = r154914 / r154923;
        double r154925 = r154921 * r154924;
        double r154926 = r154920 - r154925;
        double r154927 = fma(r154898, r154915, r154926);
        double r154928 = r154927 / r154898;
        double r154929 = r154894 ? r154913 : r154928;
        return r154929;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 5.615380048313215e+189

    1. Initial program 18.7

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    2. Using strategy rm
    3. Applied associate-/l*7.2

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{\frac{\left(\alpha + \beta\right) + 2 \cdot i}{\beta - \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    4. Simplified7.2

      \[\leadsto \frac{\frac{\frac{\alpha + \beta}{\color{blue}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    5. Using strategy rm
    6. Applied add-cube-cbrt7.2

      \[\leadsto \frac{\color{blue}{\left(\sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}\right) \cdot \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} + 1}{2}\]
    7. Applied fma-def7.2

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)}}{2}\]
    8. Using strategy rm
    9. Applied add-exp-log7.2

      \[\leadsto \frac{\color{blue}{e^{\log \left(\mathsf{fma}\left(\sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)\right)}}}{2}\]

    if 5.615380048313215e+189 < alpha

    1. Initial program 64.0

      \[\frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    2. Taylor expanded around inf 40.6

      \[\leadsto \frac{\color{blue}{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}}{2}\]
    3. Simplified40.6

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 5.615380048313215 \cdot 10^{189}:\\ \;\;\;\;\frac{e^{\log \left(\mathsf{fma}\left(\sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \sqrt[3]{\frac{\frac{\alpha + \beta}{\frac{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}{\beta - \alpha}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)\right)}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right)}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2020039 +o rules:numerics
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :precision binary64
  :pre (and (> alpha -1) (> beta -1) (> i 0.0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2)) 1) 2))