Average Error: 23.7 → 11.1
Time: 20.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.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 r100425 = alpha;
        double r100426 = beta;
        double r100427 = r100425 + r100426;
        double r100428 = r100426 - r100425;
        double r100429 = r100427 * r100428;
        double r100430 = 2.0;
        double r100431 = i;
        double r100432 = r100430 * r100431;
        double r100433 = r100427 + r100432;
        double r100434 = r100429 / r100433;
        double r100435 = r100433 + r100430;
        double r100436 = r100434 / r100435;
        double r100437 = 1.0;
        double r100438 = r100436 + r100437;
        double r100439 = r100438 / r100430;
        return r100439;
}

double f(double alpha, double beta, double i) {
        double r100440 = alpha;
        double r100441 = 1.244272110236543e+212;
        bool r100442 = r100440 <= r100441;
        double r100443 = beta;
        double r100444 = r100443 + r100440;
        double r100445 = 2.0;
        double r100446 = i;
        double r100447 = fma(r100446, r100445, r100444);
        double r100448 = r100445 + r100447;
        double r100449 = r100444 / r100448;
        double r100450 = r100443 - r100440;
        double r100451 = r100450 / r100447;
        double r100452 = 1.0;
        double r100453 = fma(r100449, r100451, r100452);
        double r100454 = exp(r100453);
        double r100455 = log(r100454);
        double r100456 = r100455 / r100445;
        double r100457 = 1.6755828657974486e+277;
        bool r100458 = r100440 <= r100457;
        double r100459 = 8.077229676032387e+288;
        bool r100460 = r100440 <= r100459;
        double r100461 = !r100460;
        bool r100462 = r100458 || r100461;
        double r100463 = r100445 / r100440;
        double r100464 = 8.0;
        double r100465 = 3.0;
        double r100466 = pow(r100440, r100465);
        double r100467 = r100464 / r100466;
        double r100468 = 4.0;
        double r100469 = r100440 * r100440;
        double r100470 = r100468 / r100469;
        double r100471 = r100467 - r100470;
        double r100472 = r100463 + r100471;
        double r100473 = r100472 / r100445;
        double r100474 = 2.0;
        double r100475 = log(r100474);
        double r100476 = log(r100440);
        double r100477 = r100475 - r100476;
        double r100478 = r100452 / r100443;
        double r100479 = log(r100443);
        double r100480 = r100463 - r100479;
        double r100481 = r100478 - r100480;
        double r100482 = r100477 + r100481;
        double r100483 = exp(r100482);
        double r100484 = r100483 / r100445;
        double r100485 = r100462 ? r100473 : r100484;
        double r100486 = r100442 ? r100456 : r100485;
        return r100486;
}

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))