Did you know ... Search Documentation:
Predicate int32_float32_when/2
 int32_float32_when(?Int32:integer, ?Float32:float) is det[private]
Reinterpret-cast between uint32 and float32. For example, int32_float32(0x3f800000,1.0).

This predicate delays until either Int32 or Float32 is sufficiently instantiated.

There is also a non-delayed uint32_int32/2

Int32- 32-bit unsigned integer
Float32- 32-bit float
- Type,Domain if Value or Codes are of the wrong type or out of range.
- instantiation error if both Value and Codes are uninstantiated.