humanoid.Health from 1000000000 to 999999970 is invalid
the doc:
The number data type, or double, represents a double-precision (64-bit) floating-point number. Numbers can range from -1.7 * 10^308 to 1.7 * 10^308 (around 15 digits of precision, positive or negative).
I suspect that humanoid is for some reason internally stored as a 32 bit float??? If you put in 999999936, the next lowest value representable by a 32 bit float, it works just fine.