Open zhaoli-IHEP opened 5 years ago
This is because they are still inside the internal denominator function. If you rename this, as in
CFunction den;
Denominators den;
You can see what is happening.
You can then use something like
Identify den(x?number_) = 1/x;
to get rid of them.
Indeed, to me, this seems to be a "normalization" bug related to the denom_
function. (Note that 22400/27/(2 + x)/(4 + x)
is internally 22400/27*denom_(2 + x)*denom_(4 + x)
, as Josh mentioned.)
As a workaround, you can insert
argument;
endargument;
after the replacement, which should turn remaining denom_(integer)
to be 1/integer
.
Thank you so much!
In some cases two integer denominators are not combined, so the result rational number looks strange. For example
This gives expr = 2800/459/(138);