Average Error: 23.6 → 11.2
Time: 17.9s
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 2.148651077263627972408214651347571826312 \cdot 10^{115}:\\ \;\;\;\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\left(\beta - \alpha\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right) + \frac{2}{\alpha}}{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 2.148651077263627972408214651347571826312 \cdot 10^{115}:\\
\;\;\;\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\left(\beta - \alpha\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\\

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

\end{array}
double f(double alpha, double beta, double i) {
        double r146210 = alpha;
        double r146211 = beta;
        double r146212 = r146210 + r146211;
        double r146213 = r146211 - r146210;
        double r146214 = r146212 * r146213;
        double r146215 = 2.0;
        double r146216 = i;
        double r146217 = r146215 * r146216;
        double r146218 = r146212 + r146217;
        double r146219 = r146214 / r146218;
        double r146220 = r146218 + r146215;
        double r146221 = r146219 / r146220;
        double r146222 = 1.0;
        double r146223 = r146221 + r146222;
        double r146224 = r146223 / r146215;
        return r146224;
}

double f(double alpha, double beta, double i) {
        double r146225 = alpha;
        double r146226 = 2.148651077263628e+115;
        bool r146227 = r146225 <= r146226;
        double r146228 = beta;
        double r146229 = r146225 + r146228;
        double r146230 = r146228 - r146225;
        double r146231 = 1.0;
        double r146232 = 2.0;
        double r146233 = i;
        double r146234 = r146232 * r146233;
        double r146235 = r146229 + r146234;
        double r146236 = r146231 / r146235;
        double r146237 = r146230 * r146236;
        double r146238 = r146229 * r146237;
        double r146239 = r146235 + r146232;
        double r146240 = r146238 / r146239;
        double r146241 = 1.0;
        double r146242 = r146240 + r146241;
        double r146243 = r146242 / r146232;
        double r146244 = 8.0;
        double r146245 = 3.0;
        double r146246 = pow(r146225, r146245);
        double r146247 = r146231 / r146246;
        double r146248 = r146244 * r146247;
        double r146249 = 4.0;
        double r146250 = 2.0;
        double r146251 = pow(r146225, r146250);
        double r146252 = r146231 / r146251;
        double r146253 = r146249 * r146252;
        double r146254 = r146248 - r146253;
        double r146255 = r146232 / r146225;
        double r146256 = r146254 + r146255;
        double r146257 = r146256 / r146232;
        double r146258 = r146227 ? r146243 : r146257;
        return r146258;
}

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 < 2.148651077263628e+115

    1. Initial program 14.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-identity14.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)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    4. Applied times-frac3.7

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

      \[\leadsto \frac{\frac{\color{blue}{\left(\alpha + \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    6. Using strategy rm
    7. Applied div-inv3.6

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

    if 2.148651077263628e+115 < alpha

    1. Initial program 60.8

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

      \[\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)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    4. Applied times-frac45.5

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

      \[\leadsto \frac{\frac{\color{blue}{\left(\alpha + \beta\right)} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    6. Taylor expanded around inf 41.3

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 2.148651077263627972408214651347571826312 \cdot 10^{115}:\\ \;\;\;\;\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\left(\beta - \alpha\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\right) + \frac{2}{\alpha}}{2}\\ \end{array}\]

Reproduce

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