Average Error: 23.5 → 11.1
Time: 3.2m
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 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.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 1.6640402697170518 \cdot 10^{+238}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2.0 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} + 1.0}\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha} + \frac{2.0}{\alpha}}{2.0}\\ \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.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 1.6640402697170518 \cdot 10^{+238}:\\
\;\;\;\;\frac{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2.0 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} + 1.0}\right)}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha} + \frac{2.0}{\alpha}}{2.0}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r20469874 = alpha;
        double r20469875 = beta;
        double r20469876 = r20469874 + r20469875;
        double r20469877 = r20469875 - r20469874;
        double r20469878 = r20469876 * r20469877;
        double r20469879 = 2.0;
        double r20469880 = i;
        double r20469881 = r20469879 * r20469880;
        double r20469882 = r20469876 + r20469881;
        double r20469883 = r20469878 / r20469882;
        double r20469884 = 2.0;
        double r20469885 = r20469882 + r20469884;
        double r20469886 = r20469883 / r20469885;
        double r20469887 = 1.0;
        double r20469888 = r20469886 + r20469887;
        double r20469889 = r20469888 / r20469884;
        return r20469889;
}

double f(double alpha, double beta, double i) {
        double r20469890 = alpha;
        double r20469891 = 1.6640402697170518e+238;
        bool r20469892 = r20469890 <= r20469891;
        double r20469893 = beta;
        double r20469894 = r20469890 + r20469893;
        double r20469895 = r20469893 - r20469890;
        double r20469896 = 2.0;
        double r20469897 = i;
        double r20469898 = r20469896 * r20469897;
        double r20469899 = r20469894 + r20469898;
        double r20469900 = r20469895 / r20469899;
        double r20469901 = r20469894 * r20469900;
        double r20469902 = 2.0;
        double r20469903 = r20469902 + r20469899;
        double r20469904 = r20469901 / r20469903;
        double r20469905 = 1.0;
        double r20469906 = r20469904 + r20469905;
        double r20469907 = exp(r20469906);
        double r20469908 = log(r20469907);
        double r20469909 = r20469908 / r20469902;
        double r20469910 = 8.0;
        double r20469911 = r20469910 / r20469890;
        double r20469912 = 4.0;
        double r20469913 = r20469911 - r20469912;
        double r20469914 = r20469890 * r20469890;
        double r20469915 = r20469913 / r20469914;
        double r20469916 = r20469902 / r20469890;
        double r20469917 = r20469915 + r20469916;
        double r20469918 = r20469917 / r20469902;
        double r20469919 = r20469892 ? r20469909 : r20469918;
        return r20469919;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if alpha < 1.6640402697170518e+238

    1. Initial program 20.3

      \[\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.0} + 1.0}{2.0}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity20.3

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0\right)}} + 1.0}{2.0}\]
    4. Applied *-un-lft-identity20.3

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0\right)} + 1.0}{2.0}\]
    5. Applied times-frac8.7

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0\right)} + 1.0}{2.0}\]
    6. Applied times-frac8.7

      \[\leadsto \frac{\color{blue}{\frac{\frac{\alpha + \beta}{1}}{1} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0}} + 1.0}{2.0}\]
    7. Simplified8.7

      \[\leadsto \frac{\color{blue}{\left(\beta + \alpha\right)} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
    8. Using strategy rm
    9. Applied add-log-exp8.7

      \[\leadsto \frac{\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + \color{blue}{\log \left(e^{1.0}\right)}}{2.0}\]
    10. Applied add-log-exp8.7

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0}}\right)} + \log \left(e^{1.0}\right)}{2.0}\]
    11. Applied sum-log8.7

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0}} \cdot e^{1.0}\right)}}{2.0}\]
    12. Simplified8.7

      \[\leadsto \frac{\log \color{blue}{\left(e^{1.0 + \left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{2 \cdot i + \left(\alpha + \beta\right)}}{2.0 + \left(2 \cdot i + \left(\alpha + \beta\right)\right)}}\right)}}{2.0}\]
    13. Using strategy rm
    14. Applied associate-*r/8.7

      \[\leadsto \frac{\log \left(e^{1.0 + \color{blue}{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{2 \cdot i + \left(\alpha + \beta\right)}}{2.0 + \left(2 \cdot i + \left(\alpha + \beta\right)\right)}}}\right)}{2.0}\]

    if 1.6640402697170518e+238 < alpha

    1. Initial program 63.2

      \[\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.0} + 1.0}{2.0}\]
    2. Taylor expanded around -inf 40.5

      \[\leadsto \frac{\color{blue}{\left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right) - 4.0 \cdot \frac{1}{{\alpha}^{2}}}}{2.0}\]
    3. Simplified40.5

      \[\leadsto \frac{\color{blue}{\frac{2.0}{\alpha} + \frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha}}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification11.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.6640402697170518 \cdot 10^{+238}:\\ \;\;\;\;\frac{\log \left(e^{\frac{\left(\alpha + \beta\right) \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{2.0 + \left(\left(\alpha + \beta\right) + 2 \cdot i\right)} + 1.0}\right)}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha} - 4.0}{\alpha \cdot \alpha} + \frac{2.0}{\alpha}}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019124 
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :pre (and (> alpha -1) (> beta -1) (> i 0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))