Floating point support

Builds on the `terml` branch