My theory was that it has something to do with double or better precision floats. But:
float f=1e99; f*1e-99;
(1) Result: 1.000000
Ok, jolly good.
1e1000;
(2) Result: 340282346638528859811704183484516925440.000000
Not so good.
1e-99;
(3) Result: 0.000000
1e-1000;
Compiler Error: 1:parse error, unexpected TOK_IDENTIFIER, expecting TOK_LEX_EOF or ';'
Huh?