There's a difference in slope calculation between 32bit and 64bit. This demo (Sonic.wad (2011) functional with g92143f9), plays back as expected in 32bit, yet in 64bit appears to change when jumping up a slope 3 minutes in. As seen 3 minutes into this comparison video:
The problem stems from the faux-float calculations used for slopes themselves. Because they require using exponents, 64bit ends up changing the method of calculation with a more "accurate" result, which comes out different from 32bit.

Edward-san and myself have tried recreating the method to no degree of success (finding the function to be insane), but I did find that changing the floats to doubles resolves the issue as far as I can debug. It seems to also favour the 32bit results, making previous demos suddenly work. I can't quite figure that one out.

Much better fix. Now I wonder if I'll actually get some sleep.
