I would be the one to reply to this, but as it happens I am about to go away for a week and cannot run the tests until i get back. However, I would not expect floats to be bitwise identical after any rescaling operation (even a seemingly "exact" inverse may not prove to be so in practice, in floating-point - the lowest f/p bits are very flaky!), as there will inevitably be a cocktail of truncation and rounding errors. The precision of 32bit floats is nominally just one bit better than 24bit integers (or 6/7 decimal digits), so there will always be likely to be more or less correlated errors in the lowest bit(s). Basic conversion float/int should result in bit-identical values, but using "pure" floats I would not expect always to "get away with it" in terms of bit-identical results. The differences will need helium-cooled hardware (and ears) to detect.