This isn't quite accurate because `u64 as f64` is a floating-point-cast, whereas `transmute` is just a bit-cast