\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 \leq -9.765822633999939 \cdot 10^{-119}:\\
\;\;\;\;\frac{\left(i \cdot \frac{i + \left(\beta + \alpha\right)}{\left(\beta + \alpha\right) + \left(i + i\right)}\right) \cdot \frac{i \cdot 0.5 + \left(\beta + \alpha\right) \cdot 0.25}{\left(\left(\beta + \alpha\right) + \left(i + i\right)\right) - 1}}{1 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)}\\
\mathbf{elif}\;\beta \leq -2.139573966778813 \cdot 10^{-173}:\\
\;\;\;\;\frac{i \cdot \frac{i + \left(\beta + \alpha\right)}{\left(\beta + \alpha\right) + i \cdot 2}}{1 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)} \cdot \frac{i}{\left(\left(\beta + \alpha\right) + i \cdot 2\right) - 1}\\
\mathbf{elif}\;\beta \leq 2.0833052166247658 \cdot 10^{+88}:\\
\;\;\;\;\frac{\left(i \cdot \frac{i + \left(\beta + \alpha\right)}{\left(\beta + \alpha\right) + \left(i + i\right)}\right) \cdot \frac{i \cdot 0.5 + \left(\beta + \alpha\right) \cdot 0.25}{\left(\left(\beta + \alpha\right) + \left(i + i\right)\right) - 1}}{1 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)}\\
\mathbf{elif}\;\beta \leq 3.173964194173191 \cdot 10^{+157}:\\
\;\;\;\;\frac{i \cdot \frac{i + \left(\beta + \alpha\right)}{\left(\beta + \alpha\right) + i \cdot 2}}{1 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)} \cdot \frac{\frac{\beta \cdot \alpha + i \cdot \left(i + \left(\beta + \alpha\right)\right)}{\left(\beta + \alpha\right) + i \cdot 2}}{\left(\left(\beta + \alpha\right) + i \cdot 2\right) - 1}\\
\mathbf{elif}\;\beta \leq 1.921741030358534 \cdot 10^{+212}:\\
\;\;\;\;\frac{\left(i \cdot \frac{i + \left(\beta + \alpha\right)}{\left(\beta + \alpha\right) + \left(i + i\right)}\right) \cdot \frac{i \cdot 0.5 + \left(\beta + \alpha\right) \cdot 0.25}{\left(\left(\beta + \alpha\right) + \left(i + i\right)\right) - 1}}{1 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{i \cdot \frac{i + \left(\beta + \alpha\right)}{\left(\beta + \alpha\right) + i \cdot 2}}{1 + \left(\left(\beta + \alpha\right) + i \cdot 2\right)} \cdot \frac{i}{\left(\left(\beta + \alpha\right) + i \cdot 2\right) - 1}\\
\end{array}(FPCore (alpha beta i) :precision binary64 (/ (/ (* (* 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)))
(FPCore (alpha beta i)
:precision binary64
(if (<= beta -9.765822633999939e-119)
(/
(*
(* i (/ (+ i (+ beta alpha)) (+ (+ beta alpha) (+ i i))))
(/
(+ (* i 0.5) (* (+ beta alpha) 0.25))
(- (+ (+ beta alpha) (+ i i)) 1.0)))
(+ 1.0 (+ (+ beta alpha) (* i 2.0))))
(if (<= beta -2.139573966778813e-173)
(*
(/
(* i (/ (+ i (+ beta alpha)) (+ (+ beta alpha) (* i 2.0))))
(+ 1.0 (+ (+ beta alpha) (* i 2.0))))
(/ i (- (+ (+ beta alpha) (* i 2.0)) 1.0)))
(if (<= beta 2.0833052166247658e+88)
(/
(*
(* i (/ (+ i (+ beta alpha)) (+ (+ beta alpha) (+ i i))))
(/
(+ (* i 0.5) (* (+ beta alpha) 0.25))
(- (+ (+ beta alpha) (+ i i)) 1.0)))
(+ 1.0 (+ (+ beta alpha) (* i 2.0))))
(if (<= beta 3.173964194173191e+157)
(*
(/
(* i (/ (+ i (+ beta alpha)) (+ (+ beta alpha) (* i 2.0))))
(+ 1.0 (+ (+ beta alpha) (* i 2.0))))
(/
(/
(+ (* beta alpha) (* i (+ i (+ beta alpha))))
(+ (+ beta alpha) (* i 2.0)))
(- (+ (+ beta alpha) (* i 2.0)) 1.0)))
(if (<= beta 1.921741030358534e+212)
(/
(*
(* i (/ (+ i (+ beta alpha)) (+ (+ beta alpha) (+ i i))))
(/
(+ (* i 0.5) (* (+ beta alpha) 0.25))
(- (+ (+ beta alpha) (+ i i)) 1.0)))
(+ 1.0 (+ (+ beta alpha) (* i 2.0))))
(*
(/
(* i (/ (+ i (+ beta alpha)) (+ (+ beta alpha) (* i 2.0))))
(+ 1.0 (+ (+ beta alpha) (* i 2.0))))
(/ i (- (+ (+ beta alpha) (* i 2.0)) 1.0)))))))))double code(double alpha, double beta, double i) {
return (((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);
}
double code(double alpha, double beta, double i) {
double tmp;
if (beta <= -9.765822633999939e-119) {
tmp = ((i * ((i + (beta + alpha)) / ((beta + alpha) + (i + i)))) * (((i * 0.5) + ((beta + alpha) * 0.25)) / (((beta + alpha) + (i + i)) - 1.0))) / (1.0 + ((beta + alpha) + (i * 2.0)));
} else if (beta <= -2.139573966778813e-173) {
tmp = ((i * ((i + (beta + alpha)) / ((beta + alpha) + (i * 2.0)))) / (1.0 + ((beta + alpha) + (i * 2.0)))) * (i / (((beta + alpha) + (i * 2.0)) - 1.0));
} else if (beta <= 2.0833052166247658e+88) {
tmp = ((i * ((i + (beta + alpha)) / ((beta + alpha) + (i + i)))) * (((i * 0.5) + ((beta + alpha) * 0.25)) / (((beta + alpha) + (i + i)) - 1.0))) / (1.0 + ((beta + alpha) + (i * 2.0)));
} else if (beta <= 3.173964194173191e+157) {
tmp = ((i * ((i + (beta + alpha)) / ((beta + alpha) + (i * 2.0)))) / (1.0 + ((beta + alpha) + (i * 2.0)))) * ((((beta * alpha) + (i * (i + (beta + alpha)))) / ((beta + alpha) + (i * 2.0))) / (((beta + alpha) + (i * 2.0)) - 1.0));
} else if (beta <= 1.921741030358534e+212) {
tmp = ((i * ((i + (beta + alpha)) / ((beta + alpha) + (i + i)))) * (((i * 0.5) + ((beta + alpha) * 0.25)) / (((beta + alpha) + (i + i)) - 1.0))) / (1.0 + ((beta + alpha) + (i * 2.0)));
} else {
tmp = ((i * ((i + (beta + alpha)) / ((beta + alpha) + (i * 2.0)))) / (1.0 + ((beta + alpha) + (i * 2.0)))) * (i / (((beta + alpha) + (i * 2.0)) - 1.0));
}
return tmp;
}



Bits error versus alpha



Bits error versus beta



Bits error versus i
Results
if beta < -9.76582263399993908e-119 or -2.139573966778813e-173 < beta < 2.0833052166247658e88 or 3.17396419417319119e157 < beta < 1.92174103035853415e212Initial program 52.1
rmApplied difference-of-sqr-1_binary6452.1
Applied times-frac_binary6437.3
Applied times-frac_binary6435.0
Simplified35.0
Simplified35.0
rmApplied *-un-lft-identity_binary6435.0
Applied times-frac_binary6435.0
Simplified35.0
Taylor expanded around 0 13.2
Simplified13.2
rmApplied associate-*l/_binary6413.2
Simplified13.2
if -9.76582263399993908e-119 < beta < -2.139573966778813e-173 or 1.92174103035853415e212 < beta Initial program 59.3
rmApplied difference-of-sqr-1_binary6459.3
Applied times-frac_binary6449.3
Applied times-frac_binary6448.2
Simplified48.2
Simplified48.2
rmApplied *-un-lft-identity_binary6448.2
Applied times-frac_binary6448.2
Simplified48.2
Taylor expanded around inf 26.6
if 2.0833052166247658e88 < beta < 3.17396419417319119e157Initial program 59.9
rmApplied difference-of-sqr-1_binary6459.9
Applied times-frac_binary6440.0
Applied times-frac_binary6437.5
Simplified37.5
Simplified37.5
rmApplied *-un-lft-identity_binary6437.5
Applied times-frac_binary6437.4
Simplified37.4
Final simplification17.0
herbie shell --seed 2020273
(FPCore (alpha beta i)
:name "Octave 3.8, jcobi/4"
:precision binary64
: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)))