| Alternative 1 | |
|---|---|
| Error | 1.3 |
| Cost | 836 |
(FPCore (alpha beta) :precision binary64 (/ (+ (/ (- beta alpha) (+ (+ alpha beta) 2.0)) 1.0) 2.0))
(FPCore (alpha beta) :precision binary64 (/ (/ (+ 2.0 (+ beta beta)) (+ alpha (+ 2.0 beta))) 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) {
return ((2.0 + (beta + beta)) / (alpha + (2.0 + beta))) / 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
code = ((2.0d0 + (beta + beta)) / (alpha + (2.0d0 + beta))) / 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) {
return ((2.0 + (beta + beta)) / (alpha + (2.0 + beta))) / 2.0;
}
def code(alpha, beta): return (((beta - alpha) / ((alpha + beta) + 2.0)) + 1.0) / 2.0
def code(alpha, beta): return ((2.0 + (beta + beta)) / (alpha + (2.0 + beta))) / 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) return Float64(Float64(Float64(2.0 + Float64(beta + beta)) / Float64(alpha + Float64(2.0 + beta))) / 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) tmp = ((2.0 + (beta + beta)) / (alpha + (2.0 + beta))) / 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_] := N[(N[(N[(2.0 + N[(beta + beta), $MachinePrecision]), $MachinePrecision] / N[(alpha + N[(2.0 + beta), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] / 2.0), $MachinePrecision]
\frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\frac{\frac{2 + \left(\beta + \beta\right)}{\alpha + \left(2 + \beta\right)}}{2}
Results
Initial program 16.3
Simplified16.3
[Start]16.3 | \[ \frac{\frac{\beta - \alpha}{\left(\alpha + \beta\right) + 2} + 1}{2}
\] |
|---|---|
rational.json-simplify-1 [=>]16.3 | \[ \frac{\frac{\beta - \alpha}{\color{blue}{\left(\beta + \alpha\right)} + 2} + 1}{2}
\] |
Applied egg-rr0.0
Simplified0.0
[Start]0.0 | \[ \frac{\frac{2 \cdot \left(\beta + 1\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
|---|---|
rational.json-simplify-1 [=>]0.0 | \[ \frac{\frac{2 \cdot \color{blue}{\left(1 + \beta\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-19 [<=]0.0 | \[ \frac{\frac{\color{blue}{2 + 2 \cdot \beta}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-2 [=>]0.0 | \[ \frac{\frac{2 + \color{blue}{\beta \cdot 2}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
metadata-eval [<=]0.0 | \[ \frac{\frac{2 + \beta \cdot \color{blue}{\left(1 - -1\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-22 [<=]0.0 | \[ \frac{\frac{2 + \color{blue}{\left(\beta - \beta \cdot -1\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-2 [<=]0.0 | \[ \frac{\frac{2 + \left(\beta - \color{blue}{-1 \cdot \beta}\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-35 [<=]0.0 | \[ \frac{\frac{\color{blue}{2 - \left(-1 \cdot \beta - \beta\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-29 [<=]0.0 | \[ \frac{\frac{\color{blue}{\beta - \left(-1 \cdot \beta - 2\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-2 [=>]0.0 | \[ \frac{\frac{\beta - \left(\color{blue}{\beta \cdot -1} - 2\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-9 [<=]0.0 | \[ \frac{\frac{\beta - \left(\color{blue}{\left(-\beta\right)} - 2\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-27 [<=]0.0 | \[ \frac{\frac{\beta - \color{blue}{\left(-\left(\beta + 2\right)\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-1 [=>]0.0 | \[ \frac{\frac{\beta - \left(-\color{blue}{\left(2 + \beta\right)}\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-27 [=>]0.0 | \[ \frac{\frac{\beta - \color{blue}{\left(\left(-2\right) - \beta\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
metadata-eval [=>]0.0 | \[ \frac{\frac{\beta - \left(\color{blue}{-2} - \beta\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
metadata-eval [<=]0.0 | \[ \frac{\frac{\beta - \left(\color{blue}{\left(-1 + -1\right)} - \beta\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-34 [=>]0.0 | \[ \frac{\frac{\color{blue}{\left(\beta + \beta\right) - \left(-1 + -1\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-41 [=>]0.0 | \[ \frac{\frac{\color{blue}{\left(-\left(-1 + -1\right)\right) + \left(\beta + \beta\right)}}{\left(\beta + \alpha\right) + 2}}{2}
\] |
metadata-eval [=>]0.0 | \[ \frac{\frac{\left(-\color{blue}{-2}\right) + \left(\beta + \beta\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
metadata-eval [=>]0.0 | \[ \frac{\frac{\color{blue}{2} + \left(\beta + \beta\right)}{\left(\beta + \alpha\right) + 2}}{2}
\] |
rational.json-simplify-1 [=>]0.0 | \[ \frac{\frac{2 + \left(\beta + \beta\right)}{\color{blue}{2 + \left(\beta + \alpha\right)}}}{2}
\] |
rational.json-simplify-33 [=>]0.0 | \[ \frac{\frac{2 + \left(\beta + \beta\right)}{\color{blue}{\left(2 + \beta\right) + \alpha}}}{2}
\] |
rational.json-simplify-1 [<=]0.0 | \[ \frac{\frac{2 + \left(\beta + \beta\right)}{\color{blue}{\left(\beta + 2\right)} + \alpha}}{2}
\] |
rational.json-simplify-1 [=>]0.0 | \[ \frac{\frac{2 + \left(\beta + \beta\right)}{\color{blue}{\alpha + \left(\beta + 2\right)}}}{2}
\] |
rational.json-simplify-1 [=>]0.0 | \[ \frac{\frac{2 + \left(\beta + \beta\right)}{\alpha + \color{blue}{\left(2 + \beta\right)}}}{2}
\] |
Final simplification0.0
| Alternative 1 | |
|---|---|
| Error | 1.3 |
| Cost | 836 |
| Alternative 2 | |
|---|---|
| Error | 1.1 |
| Cost | 836 |
| Alternative 3 | |
|---|---|
| Error | 1.0 |
| Cost | 836 |
| Alternative 4 | |
|---|---|
| Error | 0.1 |
| Cost | 832 |
| Alternative 5 | |
|---|---|
| Error | 4.1 |
| Cost | 708 |
| Alternative 6 | |
|---|---|
| Error | 18.2 |
| Cost | 452 |
| Alternative 7 | |
|---|---|
| Error | 4.6 |
| Cost | 452 |
| Alternative 8 | |
|---|---|
| Error | 18.4 |
| Cost | 196 |
| Alternative 9 | |
|---|---|
| Error | 32.7 |
| Cost | 64 |
herbie shell --seed 2023053
(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))