Is this an AS bug? I'm lost

Anyone got any idea why these statements evaluate to false?

I’ve stepped through and the _x values work every time - but the _y - randomly fails.

How can if(400 == 400) evaluate to false?

I originally had one if evaluation - then I split it up to try and figure out why it didn’t work in some instances…

Now I put in a test just to see if AS is even making sense…

Sometimes it doesn’t get to that ‘return true’ line even though on debugger step through everything appears to be true…

Is this a floating point rounding issue? These values are calculated…