клоун, Не в том дело, знать как работает компилятор полезно но его первое же утверждение "вы можете изменить порядок аргументов функции в C", в корне не верно, в Си нельзя изменить порядок аргументов, тут используется неопределенное поведение компилятора.
Работать оно может будет "правильно" только в том солучае если инт и дабл будут передаватся через разные стеки(инт через основной, а дабл через стек fpu), также от согласования вызовов ещё зависит, например если у функции согласование fastcall и регистр способен вместить дабл то будет через регистры передаватся.