fix bug when generating bytecodes for rationals and bignums