Fix truncating float-constants in code-gen
Fix truncating float-constants in code-gen

Previously, coercing large floating point numbers to ints for the
purpose of code-gen would break for cases where the float wasn't
representable in an `unsigned long long`, e.g. 0x1p63 - this would
appear negative. This had a knock-on effect for code-gen generating
int <--> fp conversions.

bobrippling/ucc-c-compiler,bobrippling/ucc-c-compiler,bobrippling/ucc-c-compiler