Average Error: 23.3 → 11.2
Time: 43.6s
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.6558555060968876 \cdot 10^{+188}:\\ \;\;\;\;\frac{\left(\beta + \alpha\right) \cdot \frac{\log \left(e^{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}\right)}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{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.6558555060968876 \cdot 10^{+188}:\\
\;\;\;\;\frac{\left(\beta + \alpha\right) \cdot \frac{\log \left(e^{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}\right)}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{8.0}{\alpha \cdot \left(\alpha \cdot \alpha\right)} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r3400965 = alpha;
        double r3400966 = beta;
        double r3400967 = r3400965 + r3400966;
        double r3400968 = r3400966 - r3400965;
        double r3400969 = r3400967 * r3400968;
        double r3400970 = 2.0;
        double r3400971 = i;
        double r3400972 = r3400970 * r3400971;
        double r3400973 = r3400967 + r3400972;
        double r3400974 = r3400969 / r3400973;
        double r3400975 = 2.0;
        double r3400976 = r3400973 + r3400975;
        double r3400977 = r3400974 / r3400976;
        double r3400978 = 1.0;
        double r3400979 = r3400977 + r3400978;
        double r3400980 = r3400979 / r3400975;
        return r3400980;
}

double f(double alpha, double beta, double i) {
        double r3400981 = alpha;
        double r3400982 = 1.6558555060968876e+188;
        bool r3400983 = r3400981 <= r3400982;
        double r3400984 = beta;
        double r3400985 = r3400984 + r3400981;
        double r3400986 = r3400984 - r3400981;
        double r3400987 = 2.0;
        double r3400988 = i;
        double r3400989 = r3400987 * r3400988;
        double r3400990 = r3400985 + r3400989;
        double r3400991 = r3400986 / r3400990;
        double r3400992 = exp(r3400991);
        double r3400993 = log(r3400992);
        double r3400994 = 2.0;
        double r3400995 = r3400990 + r3400994;
        double r3400996 = r3400993 / r3400995;
        double r3400997 = r3400985 * r3400996;
        double r3400998 = 1.0;
        double r3400999 = r3400997 + r3400998;
        double r3401000 = r3400999 / r3400994;
        double r3401001 = 8.0;
        double r3401002 = r3400981 * r3400981;
        double r3401003 = r3400981 * r3401002;
        double r3401004 = r3401001 / r3401003;
        double r3401005 = r3400994 / r3400981;
        double r3401006 = 4.0;
        double r3401007 = r3401006 / r3401002;
        double r3401008 = r3401005 - r3401007;
        double r3401009 = r3401004 + r3401008;
        double r3401010 = r3401009 / r3400994;
        double r3401011 = r3400983 ? r3401000 : r3401010;
        return r3401011;
}

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.6558555060968876e+188

    1. Initial program 17.5

      \[\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-identity17.5

      \[\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-identity17.5

      \[\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-frac6.8

      \[\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-frac6.8

      \[\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. Simplified6.8

      \[\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-exp6.8

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

    if 1.6558555060968876e+188 < 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 42.0

      \[\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. Simplified42.0

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

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

Reproduce

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