fix float modes getting wrong arithmetic mode