I would have never thought that the output of some floating point operations depend on the „reset of the floating point package“. What gives?
Some kind of internal state specific to Microsoft's libm? It doesn't look like _fpreset() is present anywhere else. Though in general, IEEE-754 math does have a small amount of global state, for stuff like rounding modes and subnormals. Perhaps the spawned thread's fenv was unexpected. I'm not super convinced by this blog post anyway, since it immediately confuses associativity with commutativity.
And yea you're right on the associative mistake. Will correct this :)