ex248 is
test_vals := [(false, (u64 0), (u64 1023)),
(false, (u64 0), (u64 1024)),
(true , (u64 0), (u64 1023) + 16),
(true , (u64 66), (u64 7)),
(true , ((f64 1234).mantissa & f64.mantissa_mask), (f64 1234).exponent_biased.as_u64),
(false, (u64 1407374883553280), (u64 1028))]
for t in test_vals do
(s,m,e) := t
d := ((s ? u64.one << 63 : u64.zero) | (e << (f64.significand_bits - 1).as_u64) | m).cast_to_f64
say "s=$s m=$m e=$e : $d"