\[\alpha > -1 \land \beta > -1\]
\[\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\]
↓
\[\begin{array}{l}
\mathbf{if}\;\alpha \leq 34000:\\
\;\;\;\;\frac{1 + \frac{\beta}{\beta + 2}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot \frac{\beta}{\alpha} + 2 \cdot \frac{1}{\alpha}}{2}\\
\end{array}
\]
(FPCore (alpha beta)
:precision binary64
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))
↓
(FPCore (alpha beta)
:precision binary64
(if (<= alpha 34000.0)
(/ (+ 1.0 (/ beta (+ beta 2.0))) 2.0)
(/ (+ (* 2.0 (/ beta alpha)) (* 2.0 (/ 1.0 alpha))) 2.0)))
double code(double alpha, double beta) {
return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0;
}
↓
double code(double alpha, double beta) {
double tmp;
if (alpha <= 34000.0) {
tmp = (1.0 + (beta / (beta + 2.0))) / 2.0;
} else {
tmp = ((2.0 * (beta / alpha)) + (2.0 * (1.0 / alpha))) / 2.0;
}
return tmp;
}
real(8) function code(alpha, beta)
real(8), intent (in) :: alpha
real(8), intent (in) :: beta
code = (((beta - alpha) / ((alpha + beta) + 2.0d0)) + 1.0d0) / 2.0d0
end function
↓
real(8) function code(alpha, beta)
real(8), intent (in) :: alpha
real(8), intent (in) :: beta
real(8) :: tmp
if (alpha <= 34000.0d0) then
tmp = (1.0d0 + (beta / (beta + 2.0d0))) / 2.0d0
else
tmp = ((2.0d0 * (beta / alpha)) + (2.0d0 * (1.0d0 / alpha))) / 2.0d0
end if
code = tmp
end function
public static double code(double alpha, double beta) {
return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0;
}
↓
public static double code(double alpha, double beta) {
double tmp;
if (alpha <= 34000.0) {
tmp = (1.0 + (beta / (beta + 2.0))) / 2.0;
} else {
tmp = ((2.0 * (beta / alpha)) + (2.0 * (1.0 / alpha))) / 2.0;
}
return tmp;
}
def code(alpha, beta):
return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0
↓
def code(alpha, beta):
tmp = 0
if alpha <= 34000.0:
tmp = (1.0 + (beta / (beta + 2.0))) / 2.0
else:
tmp = ((2.0 * (beta / alpha)) + (2.0 * (1.0 / alpha))) / 2.0
return tmp
function code(alpha, beta)
return Float64(Float64(Float64(Float64(beta - alpha) / Float64(Float64(alpha + beta) + 2.0)) + 1.0) / 2.0)
end
↓
function code(alpha, beta)
tmp = 0.0
if (alpha <= 34000.0)
tmp = Float64(Float64(1.0 + Float64(beta / Float64(beta + 2.0))) / 2.0);
else
tmp = Float64(Float64(Float64(2.0 * Float64(beta / alpha)) + Float64(2.0 * Float64(1.0 / alpha))) / 2.0);
end
return tmp
end
function tmp = code(alpha, beta)
tmp = (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0;
end
↓
function tmp_2 = code(alpha, beta)
tmp = 0.0;
if (alpha <= 34000.0)
tmp = (1.0 + (beta / (beta + 2.0))) / 2.0;
else
tmp = ((2.0 * (beta / alpha)) + (2.0 * (1.0 / alpha))) / 2.0;
end
tmp_2 = tmp;
end
code[alpha_, beta_] := N[(N[(N[(N[(beta - alpha), $MachinePrecision] / N[(N[(alpha + beta), $MachinePrecision] + 2.0), $MachinePrecision]), $MachinePrecision] + 1.0), $MachinePrecision] / 2.0), $MachinePrecision]
↓
code[alpha_, beta_] := If[LessEqual[alpha, 34000.0], N[(N[(1.0 + N[(beta / N[(beta + 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision], N[(N[(N[(2.0 * N[(beta / alpha), $MachinePrecision]), $MachinePrecision] + N[(2.0 * N[(1.0 / alpha), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
↓
\begin{array}{l}
\mathbf{if}\;\alpha \leq 34000:\\
\;\;\;\;\frac{1 + \frac{\beta}{\beta + 2}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{2 \cdot \frac{\beta}{\alpha} + 2 \cdot \frac{1}{\alpha}}{2}\\
\end{array}
Alternatives
| Alternative 1 |
|---|
| Accuracy | 56.1% |
|---|
| Cost | 8388 |
|---|
\[\begin{array}{l}
t_0 := \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}\\
\mathbf{if}\;t_0 \leq 0.4:\\
\;\;\;\;\frac{\mathsf{fma}\left(\frac{\left(-2 - \beta\right) - \beta}{\alpha}, \frac{\beta + 2}{\alpha}, \frac{\beta + \left(\beta + 2\right)}{\alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_0 + 1}{2}\\
\end{array}
\]
| Alternative 2 |
|---|
| Accuracy | 55.9% |
|---|
| Cost | 2116 |
|---|
\[\begin{array}{l}
t_0 := \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}\\
\mathbf{if}\;t_0 \leq 0.4:\\
\;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{\beta}{\alpha \cdot \frac{1}{2 + \frac{-6}{\alpha}}} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_0 + 1}{2}\\
\end{array}
\]
| Alternative 3 |
|---|
| Accuracy | 55.9% |
|---|
| Cost | 1988 |
|---|
\[\begin{array}{l}
t_0 := \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}\\
\mathbf{if}\;t_0 \leq 0.4:\\
\;\;\;\;\frac{\frac{2}{\alpha} + \left(\frac{\beta}{\frac{\alpha}{2 + \frac{-6}{\alpha}}} - \frac{4}{\alpha \cdot \alpha}\right)}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_0 + 1}{2}\\
\end{array}
\]
| Alternative 4 |
|---|
| Accuracy | 56.8% |
|---|
| Cost | 1476 |
|---|
\[\begin{array}{l}
t_0 := \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}\\
\mathbf{if}\;t_0 \leq 0.4:\\
\;\;\;\;\frac{2 \cdot \frac{\beta}{\alpha} + 2 \cdot \frac{1}{\alpha}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{t_0 + 1}{2}\\
\end{array}
\]
| Alternative 5 |
|---|
| Accuracy | 71.3% |
|---|
| Cost | 1108 |
|---|
\[\begin{array}{l}
t_0 := \frac{1 + \beta \cdot 0.5}{2}\\
t_1 := \frac{\frac{2}{\alpha}}{2}\\
\mathbf{if}\;\beta \leq 6 \cdot 10^{-172}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;\beta \leq 1.45 \cdot 10^{-192}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;\beta \leq 2.9 \cdot 10^{-251}:\\
\;\;\;\;0.5\\
\mathbf{elif}\;\beta \leq 3.2 \cdot 10^{-215}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;\beta \leq 2:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 6 |
|---|
| Accuracy | 71.3% |
|---|
| Cost | 1108 |
|---|
\[\begin{array}{l}
t_0 := \frac{1 + \beta \cdot 0.5}{2}\\
t_1 := \frac{\frac{2}{\alpha}}{2}\\
\mathbf{if}\;\beta \leq 5.8 \cdot 10^{-172}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;\beta \leq 5.6 \cdot 10^{-193}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;\beta \leq 3.5 \cdot 10^{-275}:\\
\;\;\;\;\frac{1 - \alpha \cdot 0.5}{2}\\
\mathbf{elif}\;\beta \leq 3.2 \cdot 10^{-215}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;\beta \leq 2:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 7 |
|---|
| Accuracy | 71.5% |
|---|
| Cost | 1108 |
|---|
\[\begin{array}{l}
t_0 := \frac{1 + \beta \cdot 0.5}{2}\\
t_1 := \frac{\frac{2}{\alpha}}{2}\\
\mathbf{if}\;\beta \leq 5.8 \cdot 10^{-172}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;\beta \leq 1.38 \cdot 10^{-192}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;\beta \leq 6.8 \cdot 10^{-276}:\\
\;\;\;\;\frac{1 - \alpha \cdot 0.5}{2}\\
\mathbf{elif}\;\beta \leq 3.2 \cdot 10^{-215}:\\
\;\;\;\;t_1\\
\mathbf{elif}\;\beta \leq 2:\\
\;\;\;\;t_0\\
\mathbf{else}:\\
\;\;\;\;\frac{2 - \frac{2}{\beta}}{2}\\
\end{array}
\]
| Alternative 8 |
|---|
| Accuracy | 70.7% |
|---|
| Cost | 848 |
|---|
\[\begin{array}{l}
t_0 := \frac{\frac{2}{\alpha}}{2}\\
\mathbf{if}\;\beta \leq 5.8 \cdot 10^{-172}:\\
\;\;\;\;0.5\\
\mathbf{elif}\;\beta \leq 3.1 \cdot 10^{-194}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;\beta \leq 2.9 \cdot 10^{-251}:\\
\;\;\;\;0.5\\
\mathbf{elif}\;\beta \leq 3.2 \cdot 10^{-215}:\\
\;\;\;\;t_0\\
\mathbf{elif}\;\beta \leq 280000000:\\
\;\;\;\;0.5\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 9 |
|---|
| Accuracy | 88.2% |
|---|
| Cost | 708 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\alpha \leq 102000000:\\
\;\;\;\;\frac{1 + \frac{\beta}{\beta + 2}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2}{\alpha}}{2}\\
\end{array}
\]
| Alternative 10 |
|---|
| Accuracy | 93.7% |
|---|
| Cost | 708 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\alpha \leq 86000000:\\
\;\;\;\;\frac{1 + \frac{\beta}{\beta + 2}}{2}\\
\mathbf{else}:\\
\;\;\;\;\frac{\frac{2 + \beta \cdot 2}{\alpha}}{2}\\
\end{array}
\]
| Alternative 11 |
|---|
| Accuracy | 70.7% |
|---|
| Cost | 196 |
|---|
\[\begin{array}{l}
\mathbf{if}\;\beta \leq 280000000:\\
\;\;\;\;0.5\\
\mathbf{else}:\\
\;\;\;\;1\\
\end{array}
\]
| Alternative 12 |
|---|
| Accuracy | 49.0% |
|---|
| Cost | 64 |
|---|
\[0.5
\]