yes ,exactly floating point computation can produce slightly different result across different machine or environment even the same binary excute.
: it depends to the arch of CPU and OS etc...
you can use std::nearbyint instead of std::round()
check https://learn.microsoft.com/fr-fr/cpp/c-runtime-library/reference/nearbyint-nearbyintf-nearbyintl1?view=msvc-170