Average Error: 23.7 → 12.4
Time: 24.9s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 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.0} + 1.0}{2.0}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 3.880589050228373 \cdot 10^{+79}:\\ \;\;\;\;\frac{e^{\log \left(\frac{1}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}} \cdot \left(\left(\beta - \alpha\right) \cdot \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}}\right) + 1.0\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\ \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.0} + 1.0}{2.0}
\begin{array}{l}
\mathbf{if}\;\alpha \le 3.880589050228373 \cdot 10^{+79}:\\
\;\;\;\;\frac{e^{\log \left(\frac{1}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}} \cdot \left(\left(\beta - \alpha\right) \cdot \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}}\right) + 1.0\right)}}{2.0}\\

\mathbf{else}:\\
\;\;\;\;\frac{\frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r1824119 = alpha;
        double r1824120 = beta;
        double r1824121 = r1824119 + r1824120;
        double r1824122 = r1824120 - r1824119;
        double r1824123 = r1824121 * r1824122;
        double r1824124 = 2.0;
        double r1824125 = i;
        double r1824126 = r1824124 * r1824125;
        double r1824127 = r1824121 + r1824126;
        double r1824128 = r1824123 / r1824127;
        double r1824129 = 2.0;
        double r1824130 = r1824127 + r1824129;
        double r1824131 = r1824128 / r1824130;
        double r1824132 = 1.0;
        double r1824133 = r1824131 + r1824132;
        double r1824134 = r1824133 / r1824129;
        return r1824134;
}

double f(double alpha, double beta, double i) {
        double r1824135 = alpha;
        double r1824136 = 3.880589050228373e+79;
        bool r1824137 = r1824135 <= r1824136;
        double r1824138 = 1.0;
        double r1824139 = i;
        double r1824140 = 2.0;
        double r1824141 = beta;
        double r1824142 = r1824135 + r1824141;
        double r1824143 = fma(r1824139, r1824140, r1824142);
        double r1824144 = 2.0;
        double r1824145 = r1824143 + r1824144;
        double r1824146 = sqrt(r1824145);
        double r1824147 = r1824138 / r1824146;
        double r1824148 = r1824141 - r1824135;
        double r1824149 = r1824142 / r1824143;
        double r1824150 = r1824149 / r1824146;
        double r1824151 = r1824148 * r1824150;
        double r1824152 = r1824147 * r1824151;
        double r1824153 = 1.0;
        double r1824154 = r1824152 + r1824153;
        double r1824155 = log(r1824154);
        double r1824156 = exp(r1824155);
        double r1824157 = r1824156 / r1824144;
        double r1824158 = 8.0;
        double r1824159 = r1824135 * r1824135;
        double r1824160 = r1824158 / r1824159;
        double r1824161 = r1824160 / r1824135;
        double r1824162 = r1824144 / r1824135;
        double r1824163 = 4.0;
        double r1824164 = r1824163 / r1824159;
        double r1824165 = r1824162 - r1824164;
        double r1824166 = r1824161 + r1824165;
        double r1824167 = r1824166 / r1824144;
        double r1824168 = r1824137 ? r1824157 : r1824167;
        return r1824168;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 2 regimes
  2. if alpha < 3.880589050228373e+79

    1. Initial program 12.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.0} + 1.0}{2.0}\]
    2. Simplified12.5

      \[\leadsto \color{blue}{\frac{\frac{\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)}{\mathsf{fma}\left(\mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot 2.0\right)} + 1.0}{2.0}}\]
    3. Using strategy rm
    4. Applied add-exp-log12.5

      \[\leadsto \frac{\color{blue}{e^{\log \left(\frac{\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)}{\mathsf{fma}\left(\mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot 2.0\right)} + 1.0\right)}}}{2.0}\]
    5. Simplified9.6

      \[\leadsto \frac{e^{\color{blue}{\log \left(\mathsf{fma}\left(\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right) \cdot \left(\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0\right)}, \beta - \alpha, 1.0\right)\right)}}}{2.0}\]
    6. Using strategy rm
    7. Applied associate-/r*2.2

      \[\leadsto \frac{e^{\log \left(\mathsf{fma}\left(\color{blue}{\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}}, \beta - \alpha, 1.0\right)\right)}}{2.0}\]
    8. Using strategy rm
    9. Applied fma-udef2.3

      \[\leadsto \frac{e^{\log \color{blue}{\left(\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0} \cdot \left(\beta - \alpha\right) + 1.0\right)}}}{2.0}\]
    10. Using strategy rm
    11. Applied add-sqr-sqrt2.3

      \[\leadsto \frac{e^{\log \left(\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\color{blue}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0} \cdot \sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}}} \cdot \left(\beta - \alpha\right) + 1.0\right)}}{2.0}\]
    12. Applied *-un-lft-identity2.3

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

      \[\leadsto \frac{e^{\log \left(\color{blue}{\left(\frac{1}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}} \cdot \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}}\right)} \cdot \left(\beta - \alpha\right) + 1.0\right)}}{2.0}\]
    14. Applied associate-*l*2.3

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

    if 3.880589050228373e+79 < alpha

    1. Initial program 55.9

      \[\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.0} + 1.0}{2.0}\]
    2. Simplified55.4

      \[\leadsto \color{blue}{\frac{\frac{\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)}{\mathsf{fma}\left(\mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot 2.0\right)} + 1.0}{2.0}}\]
    3. Using strategy rm
    4. Applied add-exp-log55.4

      \[\leadsto \frac{\color{blue}{e^{\log \left(\frac{\left(\beta + \alpha\right) \cdot \left(\beta - \alpha\right)}{\mathsf{fma}\left(\mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right), \mathsf{fma}\left(2, i, \beta + \alpha\right) \cdot 2.0\right)} + 1.0\right)}}}{2.0}\]
    5. Simplified48.3

      \[\leadsto \frac{e^{\color{blue}{\log \left(\mathsf{fma}\left(\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right) \cdot \left(\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0\right)}, \beta - \alpha, 1.0\right)\right)}}}{2.0}\]
    6. Using strategy rm
    7. Applied associate-/r*42.8

      \[\leadsto \frac{e^{\log \left(\mathsf{fma}\left(\color{blue}{\frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}}, \beta - \alpha, 1.0\right)\right)}}{2.0}\]
    8. Taylor expanded around -inf 41.6

      \[\leadsto \frac{\color{blue}{\left(2.0 \cdot \frac{1}{\alpha} + 8.0 \cdot \frac{1}{{\alpha}^{3}}\right) - 4.0 \cdot \frac{1}{{\alpha}^{2}}}}{2.0}\]
    9. Simplified41.6

      \[\leadsto \frac{\color{blue}{\frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}}{2.0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification12.4

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 3.880589050228373 \cdot 10^{+79}:\\ \;\;\;\;\frac{e^{\log \left(\frac{1}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}} \cdot \left(\left(\beta - \alpha\right) \cdot \frac{\frac{\alpha + \beta}{\mathsf{fma}\left(i, 2, \alpha + \beta\right)}}{\sqrt{\mathsf{fma}\left(i, 2, \alpha + \beta\right) + 2.0}}\right) + 1.0\right)}}{2.0}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{8.0}{\alpha \cdot \alpha}}{\alpha} + \left(\frac{2.0}{\alpha} - \frac{4.0}{\alpha \cdot \alpha}\right)}{2.0}\\ \end{array}\]

Reproduce

herbie shell --seed 2019151 +o rules:numerics
(FPCore (alpha beta i)
  :name "Octave 3.8, jcobi/2"
  :pre (and (> alpha -1) (> beta -1) (> i 0))
  (/ (+ (/ (/ (* (+ alpha beta) (- beta alpha)) (+ (+ alpha beta) (* 2 i))) (+ (+ (+ alpha beta) (* 2 i)) 2.0)) 1.0) 2.0))