fixed some issues on negative division/modulo.