I have run into this issue:

float Y=123;

float X;

X * 1/Y != X/Y //They are not equal !!

The compiler can't handle 1/Y.

Another example, X + 1/Y is also wrong, where Y is a constant. I have to calculate 1/Y manually.

Y=123;

float X;

X + 1/Y != X + 0.00813008

Why is this?