Floating point numbers have finite precision, so they cannot represent all possible values. That means that doing math on floating point numbers will introduce small errors when the results need to be rounded to the nearest value that can be represented as a floating-point number. Those errors will be different depending on exactly how the calculations are ordered or combined, so you may get slightly different results by computing the same value in two different ways. This is normal and expected for all floating-point math in any programming language.
You can learn more about the topic here: PSA: floating-point arithmetic