Average Error: 24.4 → 13.2
Time: 10.1s
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 8.7105075611670262 \cdot 10^{36} \lor \neg \left(\alpha \le 2.609886831021214 \cdot 10^{91}\right):\\ \;\;\;\;\frac{\sqrt[3]{{\left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)}^{3}}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{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 8.7105075611670262 \cdot 10^{36} \lor \neg \left(\alpha \le 2.609886831021214 \cdot 10^{91}\right):\\
\;\;\;\;\frac{\sqrt[3]{{\left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)}^{3}}}{2}\\

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

\end{array}
double f(double alpha, double beta, double i) {
        double r98473 = alpha;
        double r98474 = beta;
        double r98475 = r98473 + r98474;
        double r98476 = r98474 - r98473;
        double r98477 = r98475 * r98476;
        double r98478 = 2.0;
        double r98479 = i;
        double r98480 = r98478 * r98479;
        double r98481 = r98475 + r98480;
        double r98482 = r98477 / r98481;
        double r98483 = r98481 + r98478;
        double r98484 = r98482 / r98483;
        double r98485 = 1.0;
        double r98486 = r98484 + r98485;
        double r98487 = r98486 / r98478;
        return r98487;
}

double f(double alpha, double beta, double i) {
        double r98488 = alpha;
        double r98489 = 8.710507561167026e+36;
        bool r98490 = r98488 <= r98489;
        double r98491 = 2.6098868310212144e+91;
        bool r98492 = r98488 <= r98491;
        double r98493 = !r98492;
        bool r98494 = r98490 || r98493;
        double r98495 = beta;
        double r98496 = r98488 + r98495;
        double r98497 = r98495 - r98488;
        double r98498 = 2.0;
        double r98499 = i;
        double r98500 = r98498 * r98499;
        double r98501 = r98496 + r98500;
        double r98502 = r98497 / r98501;
        double r98503 = r98501 + r98498;
        double r98504 = r98502 / r98503;
        double r98505 = r98496 * r98504;
        double r98506 = 1.0;
        double r98507 = r98505 + r98506;
        double r98508 = 3.0;
        double r98509 = pow(r98507, r98508);
        double r98510 = cbrt(r98509);
        double r98511 = r98510 / r98498;
        double r98512 = 1.0;
        double r98513 = r98512 / r98488;
        double r98514 = r98498 * r98513;
        double r98515 = 8.0;
        double r98516 = pow(r98488, r98508);
        double r98517 = r98512 / r98516;
        double r98518 = r98515 * r98517;
        double r98519 = r98514 + r98518;
        double r98520 = 4.0;
        double r98521 = 2.0;
        double r98522 = pow(r98488, r98521);
        double r98523 = r98512 / r98522;
        double r98524 = r98520 * r98523;
        double r98525 = r98519 - r98524;
        double r98526 = r98525 / r98498;
        double r98527 = r98494 ? r98511 : r98526;
        return r98527;
}

Error

Bits error versus alpha

Bits error versus beta

Bits error versus i

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if alpha < 8.710507561167026e+36 or 2.6098868310212144e+91 < alpha

    1. Initial program 23.3

      \[\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 *-un-lft-identity23.3

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\color{blue}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2\right)}} + 1}{2}\]
    4. Applied *-un-lft-identity23.3

      \[\leadsto \frac{\frac{\frac{\left(\alpha + \beta\right) \cdot \left(\beta - \alpha\right)}{\color{blue}{1 \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2\right)} + 1}{2}\]
    5. Applied times-frac11.5

      \[\leadsto \frac{\frac{\color{blue}{\frac{\alpha + \beta}{1} \cdot \frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}}{1 \cdot \left(\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2\right)} + 1}{2}\]
    6. Applied times-frac11.5

      \[\leadsto \frac{\color{blue}{\frac{\frac{\alpha + \beta}{1}}{1} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2}} + 1}{2}\]
    7. Simplified11.5

      \[\leadsto \frac{\color{blue}{\left(\alpha + \beta\right)} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1}{2}\]
    8. Using strategy rm
    9. Applied add-cbrt-cube11.5

      \[\leadsto \frac{\color{blue}{\sqrt[3]{\left(\left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right) \cdot \left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)\right) \cdot \left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)}}}{2}\]
    10. Simplified11.5

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

    if 8.710507561167026e+36 < alpha < 2.6098868310212144e+91

    1. Initial program 40.2

      \[\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 38.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}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification13.2

    \[\leadsto \begin{array}{l} \mathbf{if}\;\alpha \le 8.7105075611670262 \cdot 10^{36} \lor \neg \left(\alpha \le 2.609886831021214 \cdot 10^{91}\right):\\ \;\;\;\;\frac{\sqrt[3]{{\left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2} + 1\right)}^{3}}}{2}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(2 \cdot \frac{1}{\alpha} + 8 \cdot \frac{1}{{\alpha}^{3}}\right) - 4 \cdot \frac{1}{{\alpha}^{2}}}{2}\\ \end{array}\]

Reproduce

herbie shell --seed 2020036 
(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))