`"$a1"`

, because you are showing mixed numbers, you get `"1 1/2"`

as the string passed to `Compute()`

. But the space is implicit multiplication, so you compute effectively `"1*1/2"`

, which is 1. If you want to *process*mixed numbers (not just show them), you need to include the

`allowMixedNumbers=>1`

flag as well.It is not clear to me why you are doing the

`Compute()`

at all, since `$a1`

is already a MathObject. There is no need to recompute it that I can think of.OOPS! I see Alex already answered. Sorry for the noise.