JIT: optimize single-precision ops based on knowledge of their inputs

If an input is known to be single, we don't have to do the FMUL round thingy on it (JMC is testing to see if this is done right, i.e. doesn't break replays).

If inputs is known to be the output of a non-paired single op, we can do packed ops instead of single ops, then avoid the movddup at the end.
I was lazy; I didn't convert the fmadd function to use that because it'd mean a *LOT* of if/elses. I probably should do that.