Average Error: 24.4 → 13.2
Time: 9.7s
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 8.7105075611670262 \cdot 10^{36}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(e^{\log \left(\mathsf{fma}\left(\alpha + \beta, \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}\right)}^{3}}}{2}\\ \mathbf{elif}\;\alpha \le 2.609886831021214 \cdot 10^{91}:\\ \;\;\;\;\frac{\mathsf{fma}\left(-4, \frac{1}{{\alpha}^{2}}, \mathsf{fma}\left(8, \frac{1}{{\alpha}^{3}}, \frac{2}{\alpha}\right)\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\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}\\ \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 8.7105075611670262 \cdot 10^{36}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(e^{\log \left(\mathsf{fma}\left(\alpha + \beta, \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}\right)}^{3}}}{2}\\

\mathbf{elif}\;\alpha \le 2.609886831021214 \cdot 10^{91}:\\
\;\;\;\;\frac{\mathsf{fma}\left(-4, \frac{1}{{\alpha}^{2}}, \mathsf{fma}\left(8, \frac{1}{{\alpha}^{3}}, \frac{2}{\alpha}\right)\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\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}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r89506 = alpha;
        double r89507 = beta;
        double r89508 = r89506 + r89507;
        double r89509 = r89507 - r89506;
        double r89510 = r89508 * r89509;
        double r89511 = 2.0;
        double r89512 = i;
        double r89513 = r89511 * r89512;
        double r89514 = r89508 + r89513;
        double r89515 = r89510 / r89514;
        double r89516 = r89514 + r89511;
        double r89517 = r89515 / r89516;
        double r89518 = 1.0;
        double r89519 = r89517 + r89518;
        double r89520 = r89519 / r89511;
        return r89520;
}

double f(double alpha, double beta, double i) {
        double r89521 = alpha;
        double r89522 = 8.710507561167026e+36;
        bool r89523 = r89521 <= r89522;
        double r89524 = beta;
        double r89525 = r89521 + r89524;
        double r89526 = r89524 - r89521;
        double r89527 = 2.0;
        double r89528 = i;
        double r89529 = r89527 * r89528;
        double r89530 = r89525 + r89529;
        double r89531 = r89526 / r89530;
        double r89532 = r89530 + r89527;
        double r89533 = r89531 / r89532;
        double r89534 = 1.0;
        double r89535 = fma(r89525, r89533, r89534);
        double r89536 = log(r89535);
        double r89537 = exp(r89536);
        double r89538 = 3.0;
        double r89539 = pow(r89537, r89538);
        double r89540 = cbrt(r89539);
        double r89541 = r89540 / r89527;
        double r89542 = 2.6098868310212144e+91;
        bool r89543 = r89521 <= r89542;
        double r89544 = 4.0;
        double r89545 = -r89544;
        double r89546 = 1.0;
        double r89547 = 2.0;
        double r89548 = pow(r89521, r89547);
        double r89549 = r89546 / r89548;
        double r89550 = 8.0;
        double r89551 = pow(r89521, r89538);
        double r89552 = r89546 / r89551;
        double r89553 = r89527 / r89521;
        double r89554 = fma(r89550, r89552, r89553);
        double r89555 = fma(r89545, r89549, r89554);
        double r89556 = r89555 / r89527;
        double r89557 = r89525 * r89531;
        double r89558 = r89557 / r89532;
        double r89559 = r89558 + r89534;
        double r89560 = r89559 / r89527;
        double r89561 = r89543 ? r89556 : r89560;
        double r89562 = r89523 ? r89541 : r89561;
        return r89562;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 3 regimes
  2. if alpha < 8.710507561167026e+36

    1. Initial program 11.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 *-un-lft-identity11.7

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

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

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

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

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\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) \cdot \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)\right) \cdot \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}\]
    10. Simplified1.0

      \[\leadsto \frac{\sqrt[3]{\color{blue}{{\left(\mathsf{fma}\left(\alpha + \beta, \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}, 1\right)\right)}^{3}}}}{2}\]
    11. Using strategy rm
    12. Applied add-exp-log1.0

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

    if 8.710507561167026e+36 < alpha < 2.6098868310212144e+91

    1. Initial program 40.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} + 1}{2}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity40.2

      \[\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-identity40.2

      \[\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-frac29.1

      \[\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-frac28.9

      \[\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-def28.7

      \[\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 38.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}\]
    9. Simplified38.5

      \[\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}\]

    if 2.6098868310212144e+91 < alpha

    1. Initial program 58.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-identity58.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-frac43.2

      \[\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. Simplified43.2

      \[\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}\]
  3. Recombined 3 regimes into one program.
  4. Final simplification13.2

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

Reproduce

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