Average Error: 24.1 → 7.6
Time: 30.1s
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}\;\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} \le -0.9999999999999998889776975374843459576368:\\ \;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right) + \log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\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}\;\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} \le -0.9999999999999998889776975374843459576368:\\
\;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right) + \log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right)}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r95700 = alpha;
        double r95701 = beta;
        double r95702 = r95700 + r95701;
        double r95703 = r95701 - r95700;
        double r95704 = r95702 * r95703;
        double r95705 = 2.0;
        double r95706 = i;
        double r95707 = r95705 * r95706;
        double r95708 = r95702 + r95707;
        double r95709 = r95704 / r95708;
        double r95710 = r95708 + r95705;
        double r95711 = r95709 / r95710;
        double r95712 = 1.0;
        double r95713 = r95711 + r95712;
        double r95714 = r95713 / r95705;
        return r95714;
}

double f(double alpha, double beta, double i) {
        double r95715 = alpha;
        double r95716 = beta;
        double r95717 = r95715 + r95716;
        double r95718 = r95716 - r95715;
        double r95719 = r95717 * r95718;
        double r95720 = 2.0;
        double r95721 = i;
        double r95722 = r95720 * r95721;
        double r95723 = r95717 + r95722;
        double r95724 = r95719 / r95723;
        double r95725 = r95723 + r95720;
        double r95726 = r95724 / r95725;
        double r95727 = -0.9999999999999999;
        bool r95728 = r95726 <= r95727;
        double r95729 = 8.0;
        double r95730 = 3.0;
        double r95731 = pow(r95715, r95730);
        double r95732 = r95729 / r95731;
        double r95733 = r95720 / r95715;
        double r95734 = 4.0;
        double r95735 = r95715 * r95715;
        double r95736 = r95734 / r95735;
        double r95737 = r95733 - r95736;
        double r95738 = r95732 + r95737;
        double r95739 = r95738 / r95720;
        double r95740 = r95718 / r95723;
        double r95741 = r95740 / r95725;
        double r95742 = r95717 * r95741;
        double r95743 = 1.0;
        double r95744 = r95742 + r95743;
        double r95745 = exp(r95744);
        double r95746 = sqrt(r95745);
        double r95747 = log(r95746);
        double r95748 = r95747 + r95747;
        double r95749 = r95748 / r95720;
        double r95750 = r95728 ? r95739 : r95749;
        return r95750;
}

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 beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0)) < -0.9999999999999999

    1. Initial program 63.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} + 1}{2}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity63.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\right)}} + 1}{2}\]
    4. Applied *-un-lft-identity63.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\right)} + 1}{2}\]
    5. Applied times-frac54.6

      \[\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\right)} + 1}{2}\]
    6. Applied times-frac54.5

      \[\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}} + 1}{2}\]
    7. Simplified54.5

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

      \[\leadsto \frac{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + \color{blue}{\log \left(e^{1}\right)}}{2}\]
    10. Applied add-log-exp54.5

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}\right)} + \log \left(e^{1}\right)}{2}\]
    11. Applied sum-log54.5

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot e^{1}\right)}}{2}\]
    12. Simplified54.5

      \[\leadsto \frac{\log \color{blue}{\left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}}{2}\]
    13. Taylor expanded around inf 33.2

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

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

    if -0.9999999999999999 < (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2.0 i))) (+ (+ (+ alpha beta) (* 2.0 i)) 2.0))

    1. Initial program 12.9

      \[\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 *-un-lft-identity12.9

      \[\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\right)}} + 1}{2}\]
    4. Applied *-un-lft-identity12.9

      \[\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\right)} + 1}{2}\]
    5. Applied times-frac0.3

      \[\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\right)} + 1}{2}\]
    6. Applied times-frac0.3

      \[\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}} + 1}{2}\]
    7. Simplified0.3

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

      \[\leadsto \frac{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + \color{blue}{\log \left(e^{1}\right)}}{2}\]
    10. Applied add-log-exp0.3

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}\right)} + \log \left(e^{1}\right)}{2}\]
    11. Applied sum-log0.3

      \[\leadsto \frac{\color{blue}{\log \left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot e^{1}\right)}}{2}\]
    12. Simplified0.3

      \[\leadsto \frac{\log \color{blue}{\left(e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}\right)}}{2}\]
    13. Using strategy rm
    14. Applied add-sqr-sqrt0.4

      \[\leadsto \frac{\log \color{blue}{\left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}} \cdot \sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right)}}{2}\]
    15. Applied log-prod0.4

      \[\leadsto \frac{\color{blue}{\log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right) + \log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right)}}{2}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification7.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;\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} \le -0.9999999999999998889776975374843459576368:\\ \;\;\;\;\frac{\frac{8}{{\alpha}^{3}} + \left(\frac{2}{\alpha} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right) + \log \left(\sqrt{e^{\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}}\right)}{2}\\ \end{array}\]

Reproduce

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