software floating point overhaul