Apart from -0 (Numerical Value), there is another bug related to how SmileBasic V2 handles numbers.
0.999994 is interpreted as 4095/4096, the closest numerical value SmileBasic can actually represent internally that is less than the value of the literal. Similarly, the literal
0.99999499999 is interpreted as 4095/4096. Oddly, the literal
0.999995 is interpreted as 0, as is every decimal between that and 1, apparently. As a result, the literal expression
0.99999>0.5 will give the result TRUE, but the literal expression
0.999999>0.5 will give the result FALSE. Similarly, the literal
1.999994 is interpreted as 8191/4096 (or, 1+4095/4096, nearly 2), but the literal
1.999995 is interpreted as 1.