complex extract is redundant
FLAT_EVAL_METHOD is only defined with GCC in C99 mode. Otherwise use __FLT_EVAL_METHOD__
use braces in switch/case in io.hpp to avoid issues with some compilers