Since pointers on many (most?) systems today are 64-bit, I think it would be natural to at least start using double as default float type, since the svalue struct will be 16 byte (!) anyway.
[config.info]
pointer size........ 8 bytes svalue size......... 16 bytes (2+2+8)
Is there any benefit of using 32-bit integers on 64-bit systems?