Symbolic calculations are SMath's weakness.
You will see huge fractions for floats when symbolic optimization used.
Even when maxima or maple used, decimals shall be shown as fractions.
You can avoid this using eval() and round() to a certain point.
But it will not give result as mathcad or your desire.
Regards
