Average Error: 23.9 → 11.2
Time: 20.5s
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 1.248606679275357 \cdot 10^{154}:\\ \;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}}}{\frac{\left(\mathsf{fma}\left(2, i, \beta\right) + \alpha\right) + 2}{\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}}}}, 1\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\mathsf{fma}\left(2, \frac{1}{\alpha}, 8 \cdot \frac{1}{{\alpha}^{3}} - 4 \cdot \frac{1}{{\alpha}^{2}}\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 1.248606679275357 \cdot 10^{154}:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}}}{\frac{\left(\mathsf{fma}\left(2, i, \beta\right) + \alpha\right) + 2}{\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}}}}, 1\right)}{2}\\

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

\end{array}
double f(double alpha, double beta, double i) {
        double r453 = alpha;
        double r454 = beta;
        double r455 = r453 + r454;
        double r456 = r454 - r453;
        double r457 = r455 * r456;
        double r458 = 2.0;
        double r459 = i;
        double r460 = r458 * r459;
        double r461 = r455 + r460;
        double r462 = r457 / r461;
        double r463 = r461 + r458;
        double r464 = r462 / r463;
        double r465 = 1.0;
        double r466 = r464 + r465;
        double r467 = r466 / r458;
        return r467;
}

double f(double alpha, double beta, double i) {
        double r468 = alpha;
        double r469 = 1.248606679275357e+154;
        bool r470 = r468 <= r469;
        double r471 = beta;
        double r472 = r468 + r471;
        double r473 = 1.0;
        double r474 = r472 / r473;
        double r475 = r474 / r473;
        double r476 = r471 - r468;
        double r477 = 2.0;
        double r478 = i;
        double r479 = fma(r477, r478, r471);
        double r480 = r479 + r468;
        double r481 = r476 / r480;
        double r482 = cbrt(r481);
        double r483 = r480 + r477;
        double r484 = r481 * r481;
        double r485 = cbrt(r484);
        double r486 = r483 / r485;
        double r487 = r482 / r486;
        double r488 = 1.0;
        double r489 = fma(r475, r487, r488);
        double r490 = r489 / r477;
        double r491 = r473 / r468;
        double r492 = 8.0;
        double r493 = 3.0;
        double r494 = pow(r468, r493);
        double r495 = r473 / r494;
        double r496 = r492 * r495;
        double r497 = 4.0;
        double r498 = 2.0;
        double r499 = pow(r468, r498);
        double r500 = r473 / r499;
        double r501 = r497 * r500;
        double r502 = r496 - r501;
        double r503 = fma(r477, r491, r502);
        double r504 = r503 / r477;
        double r505 = r470 ? r490 : r504;
        return r505;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 1.248606679275357e+154

    1. Initial program 16.4

      \[\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-identity16.4

      \[\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-identity16.4

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

      \[\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-frac5.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. Applied fma-def5.4

      \[\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. Using strategy rm
    9. Applied add-cbrt-cube20.2

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\frac{\beta - \alpha}{\color{blue}{\sqrt[3]{\left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}{2}\]
    10. Applied add-cbrt-cube26.0

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\frac{\color{blue}{\sqrt[3]{\left(\left(\beta - \alpha\right) \cdot \left(\beta - \alpha\right)\right) \cdot \left(\beta - \alpha\right)}}}{\sqrt[3]{\left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}{2}\]
    11. Applied cbrt-undiv26.0

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

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\sqrt[3]{\color{blue}{{\left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}\right)}^{3}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}{2}\]
    13. Using strategy rm
    14. Applied cube-mult5.5

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\sqrt[3]{\color{blue}{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha} \cdot \left(\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}\right)}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}{2}\]
    15. Applied cbrt-prod5.5

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{1}}{1}, \frac{\color{blue}{\sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}} \cdot \sqrt[3]{\frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha} \cdot \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \beta\right) + \alpha}}}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)}{2}\]
    16. Applied associate-/l*5.5

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

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

    if 1.248606679275357e+154 < 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. Taylor expanded around inf 41.5

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

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

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

Reproduce

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