Average Error: 23.3 → 11.5
Time: 10.8s
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.755371486194466 \cdot 10^{248}:\\ \;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{\sqrt[3]{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}}}{\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2} \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}^{3}}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(\frac{2}{\alpha} + \frac{8}{{\alpha}^{3}}\right) - \frac{4}{\alpha \cdot \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 1.755371486194466 \cdot 10^{248}:\\
\;\;\;\;\frac{\sqrt[3]{{\left(\mathsf{fma}\left(\frac{\frac{\alpha + \beta}{\sqrt[3]{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}}}{\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2} \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)\right)}^{3}}}{2}\\

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

\end{array}
double f(double alpha, double beta, double i) {
        double r119156 = alpha;
        double r119157 = beta;
        double r119158 = r119156 + r119157;
        double r119159 = r119157 - r119156;
        double r119160 = r119158 * r119159;
        double r119161 = 2.0;
        double r119162 = i;
        double r119163 = r119161 * r119162;
        double r119164 = r119158 + r119163;
        double r119165 = r119160 / r119164;
        double r119166 = r119164 + r119161;
        double r119167 = r119165 / r119166;
        double r119168 = 1.0;
        double r119169 = r119167 + r119168;
        double r119170 = r119169 / r119161;
        return r119170;
}

double f(double alpha, double beta, double i) {
        double r119171 = alpha;
        double r119172 = 1.7553714861944655e+248;
        bool r119173 = r119171 <= r119172;
        double r119174 = beta;
        double r119175 = r119171 + r119174;
        double r119176 = 2.0;
        double r119177 = i;
        double r119178 = fma(r119176, r119177, r119175);
        double r119179 = r119178 + r119176;
        double r119180 = sqrt(r119179);
        double r119181 = cbrt(r119180);
        double r119182 = r119181 * r119181;
        double r119183 = r119175 / r119182;
        double r119184 = cbrt(r119179);
        double r119185 = r119184 * r119184;
        double r119186 = r119183 / r119185;
        double r119187 = r119174 - r119171;
        double r119188 = r119187 / r119178;
        double r119189 = 1.0;
        double r119190 = fma(r119186, r119188, r119189);
        double r119191 = 3.0;
        double r119192 = pow(r119190, r119191);
        double r119193 = cbrt(r119192);
        double r119194 = r119193 / r119176;
        double r119195 = r119176 / r119171;
        double r119196 = 8.0;
        double r119197 = pow(r119171, r119191);
        double r119198 = r119196 / r119197;
        double r119199 = r119195 + r119198;
        double r119200 = 4.0;
        double r119201 = r119171 * r119171;
        double r119202 = r119200 / r119201;
        double r119203 = r119199 - r119202;
        double r119204 = r119203 / r119176;
        double r119205 = r119173 ? r119194 : r119204;
        return r119205;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 1.7553714861944655e+248

    1. Initial program 20.6

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

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt9.6

      \[\leadsto \frac{\mathsf{fma}\left(\frac{\alpha + \beta}{\color{blue}{\left(\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2} \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}\right) \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
    5. Applied *-un-lft-identity9.6

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

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

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

      \[\leadsto \frac{\mathsf{fma}\left(\frac{1}{\sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2} \cdot \sqrt[3]{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \frac{\alpha + \beta}{\color{blue}{\sqrt[3]{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}} \cdot \sqrt[3]{\sqrt{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}}}}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}\]
    10. Using strategy rm
    11. Applied add-cbrt-cube9.5

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

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

    if 1.7553714861944655e+248 < 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. Simplified54.3

      \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\frac{\alpha + \beta}{\mathsf{fma}\left(2, i, \alpha + \beta\right) + 2}, \frac{\beta - \alpha}{\mathsf{fma}\left(2, i, \alpha + \beta\right)}, 1\right)}{2}}\]
    3. Taylor expanded around inf 40.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}\]
    4. Simplified40.5

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

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

Reproduce

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