| Alternative 1 | |
|---|---|
| Accuracy | 99.4% |
| Cost | 1476 |
(FPCore (alpha beta) :precision binary64 (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))
(FPCore (alpha beta) :precision binary64 (let* ((t_0 (+ beta (+ 2.0 beta)))) (/ (/ 1.0 (+ (+ (/ 2.0 t_0) (/ beta t_0)) (/ alpha t_0))) 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 t_0 = beta + (2.0 + beta);
return (1.0 / (((2.0 / t_0) + (beta / t_0)) + (alpha / t_0))) / 2.0;
}
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) :: t_0
t_0 = beta + (2.0d0 + beta)
code = (1.0d0 / (((2.0d0 / t_0) + (beta / t_0)) + (alpha / t_0))) / 2.0d0
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 t_0 = beta + (2.0 + beta);
return (1.0 / (((2.0 / t_0) + (beta / t_0)) + (alpha / t_0))) / 2.0;
}
def code(alpha, beta): return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0
def code(alpha, beta): t_0 = beta + (2.0 + beta) return (1.0 / (((2.0 / t_0) + (beta / t_0)) + (alpha / t_0))) / 2.0
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) t_0 = Float64(beta + Float64(2.0 + beta)) return Float64(Float64(1.0 / Float64(Float64(Float64(2.0 / t_0) + Float64(beta / t_0)) + Float64(alpha / t_0))) / 2.0) end
function tmp = code(alpha, beta) tmp = (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0; end
function tmp = code(alpha, beta) t_0 = beta + (2.0 + beta); tmp = (1.0 / (((2.0 / t_0) + (beta / t_0)) + (alpha / t_0))) / 2.0; 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_] := Block[{t$95$0 = N[(beta + N[(2.0 + beta), $MachinePrecision]), $MachinePrecision]}, N[(N[(1.0 / N[(N[(N[(2.0 / t$95$0), $MachinePrecision] + N[(beta / t$95$0), $MachinePrecision]), $MachinePrecision] + N[(alpha / t$95$0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\begin{array}{l}
t_0 := \beta + \left(2 + \beta\right)\\
\frac{\frac{1}{\left(\frac{2}{t_0} + \frac{\beta}{t_0}\right) + \frac{\alpha}{t_0}}}{2}
\end{array}
Results
Initial program 74.5%
Simplified74.5%
[Start]74.5 | \[ \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\] |
|---|---|
+-commutative [=>]74.5 | \[ \frac{\frac{\beta - \alpha}{\color{blue}{\left(\beta + \alpha\right)} + 2} + 1}{2}
\] |
Applied egg-rr48.8%
[Start]74.5 | \[ \frac{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} + 1}{2}
\] |
|---|---|
+-commutative [=>]74.5 | \[ \frac{\color{blue}{1 + \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}}{2}
\] |
flip-+ [=>]48.8 | \[ \frac{\color{blue}{\frac{1 \cdot 1 - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}{1 - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}}}{2}
\] |
metadata-eval [<=]48.8 | \[ \frac{\frac{1 \cdot 1 - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}{\color{blue}{1 \cdot 1} - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}}{2}
\] |
*-rgt-identity [<=]48.8 | \[ \frac{\frac{1 \cdot 1 - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}{1 \cdot 1 - \color{blue}{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot 1}}}{2}
\] |
metadata-eval [=>]48.8 | \[ \frac{\frac{\color{blue}{1} - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}{1 \cdot 1 - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot 1}}{2}
\] |
pow2 [=>]48.8 | \[ \frac{\frac{1 - \color{blue}{{\left(\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}\right)}^{2}}}{1 \cdot 1 - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot 1}}{2}
\] |
associate-+l+ [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\color{blue}{\beta + \left(\alpha + 2\right)}}\right)}^{2}}{1 \cdot 1 - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot 1}}{2}
\] |
metadata-eval [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}\right)}^{2}}{\color{blue}{1} - \frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2} \cdot 1}}{2}
\] |
*-rgt-identity [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}\right)}^{2}}{1 - \color{blue}{\frac{\beta - \alpha}{\left(\beta + \alpha\right) + 2}}}}{2}
\] |
associate-+l+ [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}\right)}^{2}}{1 - \frac{\beta - \alpha}{\color{blue}{\beta + \left(\alpha + 2\right)}}}}{2}
\] |
Simplified48.8%
[Start]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}\right)}^{2}}{1 - \frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}}}{2}
\] |
|---|---|
+-commutative [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\beta + \color{blue}{\left(2 + \alpha\right)}}\right)}^{2}}{1 - \frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}}}{2}
\] |
+-commutative [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\color{blue}{\left(2 + \alpha\right) + \beta}}\right)}^{2}}{1 - \frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}}}{2}
\] |
+-commutative [<=]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\color{blue}{\left(\alpha + 2\right)} + \beta}\right)}^{2}}{1 - \frac{\beta - \alpha}{\beta + \left(\alpha + 2\right)}}}{2}
\] |
+-commutative [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}^{2}}{1 - \frac{\beta - \alpha}{\beta + \color{blue}{\left(2 + \alpha\right)}}}}{2}
\] |
+-commutative [=>]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}^{2}}{1 - \frac{\beta - \alpha}{\color{blue}{\left(2 + \alpha\right) + \beta}}}}{2}
\] |
+-commutative [<=]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}^{2}}{1 - \frac{\beta - \alpha}{\color{blue}{\left(\alpha + 2\right)} + \beta}}}{2}
\] |
Applied egg-rr74.5%
[Start]48.8 | \[ \frac{\frac{1 - {\left(\frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}^{2}}{1 - \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}}{2}
\] |
|---|---|
metadata-eval [<=]48.8 | \[ \frac{\frac{\color{blue}{1 \cdot 1} - {\left(\frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}^{2}}{1 - \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}}{2}
\] |
unpow2 [=>]48.8 | \[ \frac{\frac{1 \cdot 1 - \color{blue}{\frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta} \cdot \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}}{1 - \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}}{2}
\] |
flip-+ [<=]74.5 | \[ \frac{\color{blue}{1 + \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}}{2}
\] |
add-log-exp [=>]74.5 | \[ \frac{\color{blue}{\log \left(e^{1 + \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}\right)}}{2}
\] |
metadata-eval [<=]74.5 | \[ \frac{\log \left(e^{\color{blue}{\left(1 - 0\right)} + \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}\right)}{2}
\] |
metadata-eval [<=]74.5 | \[ \frac{\log \left(e^{\left(1 - \color{blue}{\log 1}\right) + \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}}\right)}{2}
\] |
associate--r- [<=]74.5 | \[ \frac{\log \left(e^{\color{blue}{1 - \left(\log 1 - \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}}\right)}{2}
\] |
metadata-eval [=>]74.5 | \[ \frac{\log \left(e^{1 - \left(\color{blue}{0} - \frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}\right)}{2}
\] |
neg-sub0 [<=]74.5 | \[ \frac{\log \left(e^{1 - \color{blue}{\left(-\frac{\beta - \alpha}{\left(\alpha + 2\right) + \beta}\right)}}\right)}{2}
\] |
frac-2neg [=>]74.5 | \[ \frac{\log \left(e^{1 - \left(-\color{blue}{\frac{-\left(\beta - \alpha\right)}{-\left(\left(\alpha + 2\right) + \beta\right)}}\right)}\right)}{2}
\] |
distribute-neg-frac [=>]74.5 | \[ \frac{\log \left(e^{1 - \color{blue}{\frac{-\left(-\left(\beta - \alpha\right)\right)}{-\left(\left(\alpha + 2\right) + \beta\right)}}}\right)}{2}
\] |
Applied egg-rr74.5%
[Start]74.5 | \[ \frac{\log \left(e^{1 - \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}\right)}{2}
\] |
|---|---|
add-log-exp [<=]74.5 | \[ \frac{\color{blue}{1 - \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}}{2}
\] |
flip-- [=>]48.8 | \[ \frac{\color{blue}{\frac{1 \cdot 1 - \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)} \cdot \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}{1 + \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}}}{2}
\] |
clear-num [=>]48.8 | \[ \frac{\color{blue}{\frac{1}{\frac{1 + \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}{1 \cdot 1 - \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)} \cdot \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}}}}{2}
\] |
*-un-lft-identity [=>]48.8 | \[ \frac{\frac{1}{\frac{\color{blue}{1 \cdot \left(1 + \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}\right)}}{1 \cdot 1 - \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)} \cdot \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}}}{2}
\] |
associate-/l* [=>]48.8 | \[ \frac{\frac{1}{\color{blue}{\frac{1}{\frac{1 \cdot 1 - \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)} \cdot \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}{1 + \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}}}}}{2}
\] |
flip-- [<=]74.5 | \[ \frac{\frac{1}{\frac{1}{\color{blue}{1 - \frac{\beta - \alpha}{-2 - \left(\beta + \alpha\right)}}}}}{2}
\] |
Taylor expanded in alpha around inf 99.9%
Simplified99.9%
[Start]99.9 | \[ \frac{\frac{1}{2 \cdot \frac{1}{\beta - -1 \cdot \left(\beta + 2\right)} + \left(\frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right)}}{2}
\] |
|---|---|
+-commutative [=>]99.9 | \[ \frac{\frac{1}{2 \cdot \frac{1}{\beta - -1 \cdot \left(\beta + 2\right)} + \color{blue}{\left(\frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)} + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}\right)}}}{2}
\] |
associate-+r+ [=>]99.9 | \[ \frac{\frac{1}{\color{blue}{\left(2 \cdot \frac{1}{\beta - -1 \cdot \left(\beta + 2\right)} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}}{2}
\] |
associate-*r/ [=>]99.9 | \[ \frac{\frac{1}{\left(\color{blue}{\frac{2 \cdot 1}{\beta - -1 \cdot \left(\beta + 2\right)}} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
metadata-eval [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{\color{blue}{2}}{\beta - -1 \cdot \left(\beta + 2\right)} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
sub-neg [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\color{blue}{\beta + \left(--1 \cdot \left(\beta + 2\right)\right)}} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
mul-1-neg [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\beta + \left(-\color{blue}{\left(-\left(\beta + 2\right)\right)}\right)} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
remove-double-neg [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\beta + \color{blue}{\left(\beta + 2\right)}} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
+-commutative [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\beta + \color{blue}{\left(2 + \beta\right)}} + \frac{\beta}{\beta - -1 \cdot \left(\beta + 2\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
sub-neg [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\beta + \left(2 + \beta\right)} + \frac{\beta}{\color{blue}{\beta + \left(--1 \cdot \left(\beta + 2\right)\right)}}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
mul-1-neg [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\beta + \left(2 + \beta\right)} + \frac{\beta}{\beta + \left(-\color{blue}{\left(-\left(\beta + 2\right)\right)}\right)}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
remove-double-neg [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\beta + \left(2 + \beta\right)} + \frac{\beta}{\beta + \color{blue}{\left(\beta + 2\right)}}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
+-commutative [=>]99.9 | \[ \frac{\frac{1}{\left(\frac{2}{\beta + \left(2 + \beta\right)} + \frac{\beta}{\beta + \color{blue}{\left(2 + \beta\right)}}\right) + \frac{\alpha}{\beta - -1 \cdot \left(\beta + 2\right)}}}{2}
\] |
Final simplification99.9%
| Alternative 1 | |
|---|---|
| Accuracy | 99.4% |
| Cost | 1476 |
| Alternative 2 | |
|---|---|
| Accuracy | 92.8% |
| Cost | 964 |
| Alternative 3 | |
|---|---|
| Accuracy | 70.7% |
| Cost | 844 |
| Alternative 4 | |
|---|---|
| Accuracy | 70.9% |
| Cost | 844 |
| Alternative 5 | |
|---|---|
| Accuracy | 87.4% |
| Cost | 708 |
| Alternative 6 | |
|---|---|
| Accuracy | 92.9% |
| Cost | 708 |
| Alternative 7 | |
|---|---|
| Accuracy | 70.0% |
| Cost | 584 |
| Alternative 8 | |
|---|---|
| Accuracy | 71.3% |
| Cost | 196 |
| Alternative 9 | |
|---|---|
| Accuracy | 49.9% |
| Cost | 64 |
herbie shell --seed 2023138
(FPCore (alpha beta)
:name "Octave 3.8, jcobi/1"
:precision binary64
:pre (and (> alpha -1.0) (> beta -1.0))
(/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))