Integer correct fma

integer correct_fma at least must not convey intermediate overfow. This is treated but casting to unsigned types and then back.

My advice would be to extent this correct behaviour to fma fms fnma fnms etc.
THe rationale is that these functions are fused multiply add and deserve a raisonable effort (concerning performances) to fit fused demands (no intermediate overflow). And it seems to me that some bitwise casts are not unraisonable.

Peculiarly if this is not done fnms is always in error except for 0,0,0 with unsigned types