more explicit mathop nodes in legalizer
do not assume only -O2 reloops in ensure_relooper
reuse variables in a simple way in the js compiler, when js opts are not being run
reuse variables within a block