Average Error: 23.8 → 11.3
Time: 11.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 4.038875915762911997488013555117102077087 \cdot 10^{148}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{1}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}, 1\right)\right)}^{3}}}{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 4.038875915762911997488013555117102077087 \cdot 10^{148}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{1}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}, 1\right)\right)}^{3}}}{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 r128239 = alpha;
        double r128240 = beta;
        double r128241 = r128239 + r128240;
        double r128242 = r128240 - r128239;
        double r128243 = r128241 * r128242;
        double r128244 = 2.0;
        double r128245 = i;
        double r128246 = r128244 * r128245;
        double r128247 = r128241 + r128246;
        double r128248 = r128243 / r128247;
        double r128249 = r128247 + r128244;
        double r128250 = r128248 / r128249;
        double r128251 = 1.0;
        double r128252 = r128250 + r128251;
        double r128253 = r128252 / r128244;
        return r128253;
}

double f(double alpha, double beta, double i) {
        double r128254 = alpha;
        double r128255 = 4.038875915762912e+148;
        bool r128256 = r128254 <= r128255;
        double r128257 = 1.0;
        double r128258 = beta;
        double r128259 = r128254 + r128258;
        double r128260 = 2.0;
        double r128261 = i;
        double r128262 = r128260 * r128261;
        double r128263 = r128259 + r128262;
        double r128264 = r128263 + r128260;
        double r128265 = sqrt(r128264);
        double r128266 = r128257 / r128265;
        double r128267 = r128258 - r128254;
        double r128268 = r128267 / r128265;
        double r128269 = fma(r128261, r128260, r128259);
        double r128270 = r128259 / r128269;
        double r128271 = r128268 * r128270;
        double r128272 = 1.0;
        double r128273 = fma(r128266, r128271, r128272);
        double r128274 = 3.0;
        double r128275 = pow(r128273, r128274);
        double r128276 = cbrt(r128275);
        double r128277 = r128276 / r128260;
        double r128278 = r128257 / r128254;
        double r128279 = 8.0;
        double r128280 = pow(r128254, r128274);
        double r128281 = r128257 / r128280;
        double r128282 = r128279 * r128281;
        double r128283 = 4.0;
        double r128284 = 2.0;
        double r128285 = pow(r128254, r128284);
        double r128286 = r128257 / r128285;
        double r128287 = r128283 * r128286;
        double r128288 = r128282 - r128287;
        double r128289 = fma(r128260, r128278, r128288);
        double r128290 = r128289 / r128260;
        double r128291 = r128256 ? r128277 : r128290;
        return r128291;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 4.038875915762912e+148

    1. Initial program 15.5

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

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

      \[\leadsto \frac{\frac{\color{blue}{1 \cdot \frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\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}\]
    5. Applied times-frac15.5

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

      \[\leadsto \frac{\frac{1}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \color{blue}{\left(\frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}\right)} + 1}{2}\]
    7. Using strategy rm
    8. Applied add-cbrt-cube5.0

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

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

    if 4.038875915762912e+148 < alpha

    1. Initial program 63.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. Taylor expanded around inf 41.4

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 4.038875915762911997488013555117102077087 \cdot 10^{148}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{1}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}}, \frac{\beta - \alpha}{\sqrt{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} \cdot \frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}, 1\right)\right)}^{3}}}{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 2019354 +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))