Average Error: 3.5 → 2.4
Time: 30.8s
Precision: 64
\[\alpha \gt -1 \land \beta \gt -1\]
\[\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\]
\[\begin{array}{l} \mathbf{if}\;\alpha \le 2.14701690784948810313193177185753177761 \cdot 10^{170}:\\ \;\;\;\;\frac{\sqrt{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}} \cdot \sqrt{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{\frac{2}{\alpha \cdot \alpha} + \left(1 - \frac{1}{\alpha}\right)}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\ \end{array}\]
\frac{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}
\begin{array}{l}
\mathbf{if}\;\alpha \le 2.14701690784948810313193177185753177761 \cdot 10^{170}:\\
\;\;\;\;\frac{\sqrt{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}} \cdot \sqrt{\frac{\frac{\left(\left(\alpha + \beta\right) + \beta \cdot \alpha\right) + 1}{\left(\alpha + \beta\right) + 2 \cdot 1}}{\left(\alpha + \beta\right) + 2 \cdot 1}}}{\left(\left(\alpha + \beta\right) + 2 \cdot 1\right) + 1}\\

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

\end{array}
double f(double alpha, double beta) {
        double r6129636 = alpha;
        double r6129637 = beta;
        double r6129638 = r6129636 + r6129637;
        double r6129639 = r6129637 * r6129636;
        double r6129640 = r6129638 + r6129639;
        double r6129641 = 1.0;
        double r6129642 = r6129640 + r6129641;
        double r6129643 = 2.0;
        double r6129644 = r6129643 * r6129641;
        double r6129645 = r6129638 + r6129644;
        double r6129646 = r6129642 / r6129645;
        double r6129647 = r6129646 / r6129645;
        double r6129648 = r6129645 + r6129641;
        double r6129649 = r6129647 / r6129648;
        return r6129649;
}

double f(double alpha, double beta) {
        double r6129650 = alpha;
        double r6129651 = 2.147016907849488e+170;
        bool r6129652 = r6129650 <= r6129651;
        double r6129653 = beta;
        double r6129654 = r6129650 + r6129653;
        double r6129655 = r6129653 * r6129650;
        double r6129656 = r6129654 + r6129655;
        double r6129657 = 1.0;
        double r6129658 = r6129656 + r6129657;
        double r6129659 = 2.0;
        double r6129660 = r6129659 * r6129657;
        double r6129661 = r6129654 + r6129660;
        double r6129662 = r6129658 / r6129661;
        double r6129663 = r6129662 / r6129661;
        double r6129664 = sqrt(r6129663);
        double r6129665 = r6129664 * r6129664;
        double r6129666 = r6129661 + r6129657;
        double r6129667 = r6129665 / r6129666;
        double r6129668 = r6129650 * r6129650;
        double r6129669 = r6129659 / r6129668;
        double r6129670 = 1.0;
        double r6129671 = r6129657 / r6129650;
        double r6129672 = r6129670 - r6129671;
        double r6129673 = r6129669 + r6129672;
        double r6129674 = r6129673 / r6129661;
        double r6129675 = r6129674 / r6129666;
        double r6129676 = r6129652 ? r6129667 : r6129675;
        return r6129676;
}

Error

Bits error versus alpha

Bits error versus beta

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if alpha < 2.147016907849488e+170

    1. Initial program 1.3

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

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

    if 2.147016907849488e+170 < alpha

    1. Initial program 15.9

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

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

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

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

Reproduce

herbie shell --seed 2019174 
(FPCore (alpha beta)
  :name "Octave 3.8, jcobi/3"
  :pre (and (> alpha -1.0) (> beta -1.0))
  (/ (/ (/ (+ (+ (+ alpha beta) (* beta alpha)) 1.0) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ alpha beta) (* 2.0 1.0))) (+ (+ (+ alpha beta) (* 2.0 1.0)) 1.0)))