Fix bug in compiling discriminee of a case expression to G
add a paranoid check to push for fp/sp inversion. style changes