It happens sometimes with the numeric representation that 5.8 isn't "exactly" 5.8 when being checked by the designer.
If you replace S2S == 5.8 in the disallowed combination with a "fuzzy equals", like Abs( S2S - 5.8 ) < 0.001, it should work as expected.
We eventually hope to add checks internally to watch out for cases like this.