In the following code let us assume for simplicity that float and uint32_t have the same size.
void fun(uint32_t* u, float* f) {
float a = *f
*u = 22;
float b = *f;
print("%g should equal %g\n", a, b);
}
u and f have different base type, and thus the compiler can a...