cast f32->i32 of           3.99 =            3
cast f32->i32 of          -3.99 =           -3
cast f32->i32 of  10000000000.0 =   2147483647
cast f32->i32 of -10000000000.0 =  -2147483648
cast f32->i32 of            nan =            0
cast f32->i32 of            inf =   2147483647
cast f32->i32 of   2147483520.0 =   2147483520
cast f32->i32 of   2147483648.0 =   2147483647
numpy float32(2**31).astype(int32), the raw x86 result that C leaves undefined: -2147483648
i32 -> f32 of 16777217: 16777216 (not exactly representable)
