For the record, I did try this as well, but it didn't help my Monday morning mind narrow anything down. Specifically, I found the same three differences. The binary representations didn't change between the time I read the values in and the time I compared them.
First two lines are reading files in from Excel sheets, second two are later in the script when the difference is found. I didn't include all three differences here, since they're all the same scenario. Different values read in from the files, no change to those values for the comparison:
read var_f in from change file: 10011100010100111000101110010000100001 +01000001010110011000000010 read var_f in from range file : 10101100010100111000101110010000100001 +01000001010110011000000010 var_f value in change hash : 10011100010100111000101110010000100001 +01000001010110011000000010 var_f value in range hash : 10101100010100111000101110010000100001 +01000001010110011000000010
I'm not familiar enough with floating point representation to say what the difference is (it's been years since I had to convert a binary to float, and unfortunately need to do actual work this morning rather than brush up on the process). I think this is a difference in exponents, but that wouldn't make a lot of sense to me with the rest of the binary value being identical.