why is the result of this code after some iterations (10e7) is always 32768? https://godbolt.org/z/GMf4Ps9cP
(x and y are single 32 bit IEEE 754 floating point)
#include <iostream>
int main(){
    float x{0.0};
    float y{0.001};
    for (int i{0}; i<10e7; i++){
        x = x + y;
    }    
    
    std::cout << x << '\n';
    return 0;
}
 
    