correct_fma uses upgrading to double for float simd vectors