Average Error: 53.8 → 36.8
Time: 40.0s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1 \land i \gt 1\]
\[\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1}\]
\[\begin{array}{l} \mathbf{if}\;\beta \le 1.184990857703664873136478242559920523798 \cdot 10^{196}:\\ \;\;\;\;\frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta}{\left(\beta + \alpha\right) + 2 \cdot i} \cdot \frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{1} + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) - \sqrt{1}}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1}
\begin{array}{l}
\mathbf{if}\;\beta \le 1.184990857703664873136478242559920523798 \cdot 10^{196}:\\
\;\;\;\;\frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta}{\left(\beta + \alpha\right) + 2 \cdot i} \cdot \frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{1} + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) - \sqrt{1}}\\

\mathbf{else}:\\
\;\;\;\;0\\

\end{array}
double f(double alpha, double beta, double i) {
        double r5040249 = i;
        double r5040250 = alpha;
        double r5040251 = beta;
        double r5040252 = r5040250 + r5040251;
        double r5040253 = r5040252 + r5040249;
        double r5040254 = r5040249 * r5040253;
        double r5040255 = r5040251 * r5040250;
        double r5040256 = r5040255 + r5040254;
        double r5040257 = r5040254 * r5040256;
        double r5040258 = 2.0;
        double r5040259 = r5040258 * r5040249;
        double r5040260 = r5040252 + r5040259;
        double r5040261 = r5040260 * r5040260;
        double r5040262 = r5040257 / r5040261;
        double r5040263 = 1.0;
        double r5040264 = r5040261 - r5040263;
        double r5040265 = r5040262 / r5040264;
        return r5040265;
}

double f(double alpha, double beta, double i) {
        double r5040266 = beta;
        double r5040267 = 1.1849908577036649e+196;
        bool r5040268 = r5040266 <= r5040267;
        double r5040269 = i;
        double r5040270 = alpha;
        double r5040271 = r5040266 + r5040270;
        double r5040272 = r5040269 + r5040271;
        double r5040273 = r5040269 * r5040272;
        double r5040274 = r5040270 * r5040266;
        double r5040275 = r5040273 + r5040274;
        double r5040276 = 2.0;
        double r5040277 = r5040276 * r5040269;
        double r5040278 = r5040271 + r5040277;
        double r5040279 = r5040275 / r5040278;
        double r5040280 = r5040273 / r5040278;
        double r5040281 = 1.0;
        double r5040282 = sqrt(r5040281);
        double r5040283 = r5040282 + r5040278;
        double r5040284 = r5040280 / r5040283;
        double r5040285 = r5040279 * r5040284;
        double r5040286 = r5040278 - r5040282;
        double r5040287 = r5040285 / r5040286;
        double r5040288 = 0.0;
        double r5040289 = r5040268 ? r5040287 : r5040288;
        return r5040289;
}

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 beta < 1.1849908577036649e+196

    1. Initial program 52.5

      \[\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt52.5

      \[\leadsto \frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}\]
    4. Applied difference-of-squares52.5

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

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

      \[\leadsto \color{blue}{\frac{\frac{i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + \sqrt{1}} \cdot \frac{\frac{\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) - \sqrt{1}}}\]
    7. Using strategy rm
    8. Applied associate-*r/35.7

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

    if 1.1849908577036649e+196 < beta

    1. Initial program 64.0

      \[\frac{\frac{\left(i \cdot \left(\left(\alpha + \beta\right) + i\right)\right) \cdot \left(\beta \cdot \alpha + i \cdot \left(\left(\alpha + \beta\right) + i\right)\right)}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right)}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) \cdot \left(\left(\alpha + \beta\right) + 2 \cdot i\right) - 1}\]
    2. Taylor expanded around inf 45.2

      \[\leadsto \color{blue}{0}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification36.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;\beta \le 1.184990857703664873136478242559920523798 \cdot 10^{196}:\\ \;\;\;\;\frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right) + \alpha \cdot \beta}{\left(\beta + \alpha\right) + 2 \cdot i} \cdot \frac{\frac{i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + 2 \cdot i}}{\sqrt{1} + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)}}{\left(\left(\beta + \alpha\right) + 2 \cdot i\right) - \sqrt{1}}\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

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