<div dir="ltr"><div><div><div><div>One of the problem I foresee is this one:<br><br>    1.0e17 &gt;= 100000000000000001<br><br></div>indeed, the (generated) primitive currently convert the SmallInteger to double, and this one is true:<br><br>    1.0e17 &gt;= 100000000000000001 asFloat<br><br></div>In 32 bit Spur/COG with 30 bit max magnitude, it was OK because every conversion SmallInteger -&gt; Double was exact - like all integer in the range [-2^53,2^53] - see Float class&gt;&gt;maxExactInteger<br><br></div>In 64 bits Spur, this might not be the case anymore since some SmallInteger exceed this range...<br><br></div>So the (generated) primitive must be protected with some range test.<br></div>