Average Error: 24.0 → 11.0
Time: 9.4s
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.390623024846601397524879465312383450541 \cdot 10^{164}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \frac{\left(\beta - \alpha\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-4, \frac{1}{{\alpha}^{2}}, \mathsf{fma}\left(8, \frac{1}{{\alpha}^{3}}, \frac{2}{\alpha}\right)\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 2.390623024846601397524879465312383450541 \cdot 10^{164}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \frac{\left(\beta - \alpha\right) \cdot \frac{1}{\left(\alpha + \beta\right) + 2 \cdot i}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, 1\right)}{2}\\

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

\end{array}
double f(double alpha, double beta, double i) {
        double r85426 = alpha;
        double r85427 = beta;
        double r85428 = r85426 + r85427;
        double r85429 = r85427 - r85426;
        double r85430 = r85428 * r85429;
        double r85431 = 2.0;
        double r85432 = i;
        double r85433 = r85431 * r85432;
        double r85434 = r85428 + r85433;
        double r85435 = r85430 / r85434;
        double r85436 = r85434 + r85431;
        double r85437 = r85435 / r85436;
        double r85438 = 1.0;
        double r85439 = r85437 + r85438;
        double r85440 = r85439 / r85431;
        return r85440;
}

double f(double alpha, double beta, double i) {
        double r85441 = alpha;
        double r85442 = 2.3906230248466014e+164;
        bool r85443 = r85441 <= r85442;
        double r85444 = beta;
        double r85445 = r85441 + r85444;
        double r85446 = 1.0;
        double r85447 = r85445 / r85446;
        double r85448 = 2.0;
        double r85449 = i;
        double r85450 = r85448 * r85449;
        double r85451 = r85445 + r85450;
        double r85452 = r85451 + r85448;
        double r85453 = sqrt(r85452);
        double r85454 = r85447 / r85453;
        double r85455 = r85444 - r85441;
        double r85456 = r85446 / r85451;
        double r85457 = r85455 * r85456;
        double r85458 = r85457 / r85453;
        double r85459 = 1.0;
        double r85460 = fma(r85454, r85458, r85459);
        double r85461 = r85460 / r85448;
        double r85462 = 4.0;
        double r85463 = -r85462;
        double r85464 = 2.0;
        double r85465 = pow(r85441, r85464);
        double r85466 = r85446 / r85465;
        double r85467 = 8.0;
        double r85468 = 3.0;
        double r85469 = pow(r85441, r85468);
        double r85470 = r85446 / r85469;
        double r85471 = r85448 / r85441;
        double r85472 = fma(r85467, r85470, r85471);
        double r85473 = fma(r85463, r85466, r85472);
        double r85474 = r85473 / r85448;
        double r85475 = r85443 ? r85461 : r85474;
        return r85475;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 2.3906230248466014e+164

    1. Initial program 16.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 add-sqr-sqrt16.7

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\color{blue}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}} + 1}{2}\]
    4. Applied *-un-lft-identity16.7

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

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} \cdot \sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\]
    6. Applied times-frac5.5

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

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

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

    if 2.3906230248466014e+164 < 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. Using strategy rm
    3. Applied *-un-lft-identity64.0

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

      \[\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-frac48.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-frac48.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. Applied fma-def49.1

      \[\leadsto \frac{\color{blue}{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}}{2}\]
    8. Taylor expanded around inf 41.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}\]
    9. Simplified41.2

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

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

Reproduce

herbie shell --seed 2019362 +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))