Average Error: 23.7 → 11.1
Time: 21.0s
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.244272110236542990854135182922651770205 \cdot 10^{212}:\\ \;\;\;\;\frac{\log \left(e^{\mathsf{fma}\left(\frac{\beta + \alpha}{2 + \mathsf{fma}\left(i, 2, \beta + \alpha\right)}, \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \beta + \alpha\right)}, 1\right)}\right)}{2}\\ \mathbf{elif}\;\alpha \le 1.675582865797448591833702134224369736841 \cdot 10^{277} \lor \neg \left(\alpha \le 8.077229676032386787136342497816904083827 \cdot 10^{288}\right):\\ \;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{8}{{\alpha}^{3}} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\left(\log 2 - \log \alpha\right) + \left(\frac{1}{\beta} - \left(\frac{2}{\alpha} - \log \beta\right)\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.244272110236542990854135182922651770205 \cdot 10^{212}:\\
\;\;\;\;\frac{\log \left(e^{\mathsf{fma}\left(\frac{\beta + \alpha}{2 + \mathsf{fma}\left(i, 2, \beta + \alpha\right)}, \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \beta + \alpha\right)}, 1\right)}\right)}{2}\\

\mathbf{elif}\;\alpha \le 1.675582865797448591833702134224369736841 \cdot 10^{277} \lor \neg \left(\alpha \le 8.077229676032386787136342497816904083827 \cdot 10^{288}\right):\\
\;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{8}{{\alpha}^{3}} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\

\mathbf{else}:\\
\;\;\;\;\frac{e^{\left(\log 2 - \log \alpha\right) + \left(\frac{1}{\beta} - \left(\frac{2}{\alpha} - \log \beta\right)\right)}}{2}\\

\end{array}
double f(double alpha, double beta, double i) {
        double r86971 = alpha;
        double r86972 = beta;
        double r86973 = r86971 + r86972;
        double r86974 = r86972 - r86971;
        double r86975 = r86973 * r86974;
        double r86976 = 2.0;
        double r86977 = i;
        double r86978 = r86976 * r86977;
        double r86979 = r86973 + r86978;
        double r86980 = r86975 / r86979;
        double r86981 = r86979 + r86976;
        double r86982 = r86980 / r86981;
        double r86983 = 1.0;
        double r86984 = r86982 + r86983;
        double r86985 = r86984 / r86976;
        return r86985;
}

double f(double alpha, double beta, double i) {
        double r86986 = alpha;
        double r86987 = 1.244272110236543e+212;
        bool r86988 = r86986 <= r86987;
        double r86989 = beta;
        double r86990 = r86989 + r86986;
        double r86991 = 2.0;
        double r86992 = i;
        double r86993 = fma(r86992, r86991, r86990);
        double r86994 = r86991 + r86993;
        double r86995 = r86990 / r86994;
        double r86996 = r86989 - r86986;
        double r86997 = r86996 / r86993;
        double r86998 = 1.0;
        double r86999 = fma(r86995, r86997, r86998);
        double r87000 = exp(r86999);
        double r87001 = log(r87000);
        double r87002 = r87001 / r86991;
        double r87003 = 1.6755828657974486e+277;
        bool r87004 = r86986 <= r87003;
        double r87005 = 8.077229676032387e+288;
        bool r87006 = r86986 <= r87005;
        double r87007 = !r87006;
        bool r87008 = r87004 || r87007;
        double r87009 = r86991 / r86986;
        double r87010 = 8.0;
        double r87011 = 3.0;
        double r87012 = pow(r86986, r87011);
        double r87013 = r87010 / r87012;
        double r87014 = 4.0;
        double r87015 = r86986 * r86986;
        double r87016 = r87014 / r87015;
        double r87017 = r87013 - r87016;
        double r87018 = r87009 + r87017;
        double r87019 = r87018 / r86991;
        double r87020 = 2.0;
        double r87021 = log(r87020);
        double r87022 = log(r86986);
        double r87023 = r87021 - r87022;
        double r87024 = r86998 / r86989;
        double r87025 = log(r86989);
        double r87026 = r87009 - r87025;
        double r87027 = r87024 - r87026;
        double r87028 = r87023 + r87027;
        double r87029 = exp(r87028);
        double r87030 = r87029 / r86991;
        double r87031 = r87008 ? r87019 : r87030;
        double r87032 = r86988 ? r87002 : r87031;
        return r87032;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Derivation

  1. Split input into 3 regimes
  2. if alpha < 1.244272110236543e+212

    1. Initial program 18.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} + 1}{2}\]
    2. Simplified7.3

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

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

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

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

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

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

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

    if 1.244272110236543e+212 < alpha < 1.6755828657974486e+277 or 8.077229676032387e+288 < 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. Simplified51.1

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

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

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

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

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

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

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

    if 1.6755828657974486e+277 < alpha < 8.077229676032387e+288

    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. Simplified52.8

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

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

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

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

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

      \[\leadsto \frac{e^{\color{blue}{\left(\log 2 + \left(\log \left(\frac{1}{\alpha}\right) + 1 \cdot \frac{1}{\beta}\right)\right) - \left(2 \cdot \frac{1}{\alpha} + \log \left(\frac{1}{\beta}\right)\right)}}}{2}\]
    10. Simplified51.3

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 1.244272110236542990854135182922651770205 \cdot 10^{212}:\\ \;\;\;\;\frac{\log \left(e^{\mathsf{fma}\left(\frac{\beta + \alpha}{2 + \mathsf{fma}\left(i, 2, \beta + \alpha\right)}, \frac{\beta - \alpha}{\mathsf{fma}\left(i, 2, \beta + \alpha\right)}, 1\right)}\right)}{2}\\ \mathbf{elif}\;\alpha \le 1.675582865797448591833702134224369736841 \cdot 10^{277} \lor \neg \left(\alpha \le 8.077229676032386787136342497816904083827 \cdot 10^{288}\right):\\ \;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{8}{{\alpha}^{3}} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{\left(\log 2 - \log \alpha\right) + \left(\frac{1}{\beta} - \left(\frac{2}{\alpha} - \log \beta\right)\right)}}{2}\\ \end{array}\]

Reproduce

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