Average Error: 23.5 → 11.9
Time: 4.4m
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}\]
\[\frac{e^{\log \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)}}{2.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}
\frac{e^{\log \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)}}{2.0}
double f(double alpha, double beta, double i) {
        double r40569461 = alpha;
        double r40569462 = beta;
        double r40569463 = r40569461 + r40569462;
        double r40569464 = r40569462 - r40569461;
        double r40569465 = r40569463 * r40569464;
        double r40569466 = 2.0;
        double r40569467 = i;
        double r40569468 = r40569466 * r40569467;
        double r40569469 = r40569463 + r40569468;
        double r40569470 = r40569465 / r40569469;
        double r40569471 = 2.0;
        double r40569472 = r40569469 + r40569471;
        double r40569473 = r40569470 / r40569472;
        double r40569474 = 1.0;
        double r40569475 = r40569473 + r40569474;
        double r40569476 = r40569475 / r40569471;
        return r40569476;
}

double f(double alpha, double beta, double i) {
        double r40569477 = beta;
        double r40569478 = alpha;
        double r40569479 = r40569477 - r40569478;
        double r40569480 = r40569477 + r40569478;
        double r40569481 = 2.0;
        double r40569482 = i;
        double r40569483 = r40569481 * r40569482;
        double r40569484 = r40569480 + r40569483;
        double r40569485 = r40569479 / r40569484;
        double r40569486 = 2.0;
        double r40569487 = r40569486 + r40569484;
        double r40569488 = r40569485 / r40569487;
        double r40569489 = r40569488 * r40569480;
        double r40569490 = 1.0;
        double r40569491 = r40569489 + r40569490;
        double r40569492 = log(r40569491);
        double r40569493 = exp(r40569492);
        double r40569494 = r40569493 / r40569486;
        return r40569494;
}

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. Initial program 23.5

    \[\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. Using strategy rm
  3. Applied *-un-lft-identity23.5

    \[\leadsto \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) + \color{blue}{1 \cdot 2.0}} + 1.0}{2.0}\]
  4. Applied *-un-lft-identity23.5

    \[\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(\alpha + \beta\right) + 2 \cdot i\right)} + 1 \cdot 2.0} + 1.0}{2.0}\]
  5. Applied distribute-lft-out23.5

    \[\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.0\right)}} + 1.0}{2.0}\]
  6. Applied *-un-lft-identity23.5

    \[\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.0\right)} + 1.0}{2.0}\]
  7. Applied times-frac11.9

    \[\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.0\right)} + 1.0}{2.0}\]
  8. Applied times-frac11.9

    \[\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.0}} + 1.0}{2.0}\]
  9. Simplified11.9

    \[\leadsto \frac{\color{blue}{\left(\beta + \alpha\right)} \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0}{2.0}\]
  10. Using strategy rm
  11. Applied add-exp-log11.9

    \[\leadsto \frac{\color{blue}{e^{\log \left(\left(\beta + \alpha\right) \cdot \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2 \cdot i}}{\left(\left(\alpha + \beta\right) + 2 \cdot i\right) + 2.0} + 1.0\right)}}}{2.0}\]
  12. Simplified11.9

    \[\leadsto \frac{e^{\color{blue}{\log \left(\left(\alpha + \beta\right) \cdot \frac{\frac{\beta - \alpha}{2 \cdot i + \left(\alpha + \beta\right)}}{2.0 + \left(2 \cdot i + \left(\alpha + \beta\right)\right)} + 1.0\right)}}}{2.0}\]
  13. Final simplification11.9

    \[\leadsto \frac{e^{\log \left(\frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2 \cdot i}}{2.0 + \left(\left(\beta + \alpha\right) + 2 \cdot i\right)} \cdot \left(\beta + \alpha\right) + 1.0\right)}}{2.0}\]

Reproduce

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