Я вам запрещаю х87
Во-первых, оказывается, современные компиляторы С используют для умножения двух флоатов SSE вместо х87. SSE, если что - набор инструкций для SIMD операций. Мол, оно и работает шустрее, и умножает более предсказуемо (х87 под капотом для операций расширяет флоаты до 80-битных, отсюда и вытекают ошибки округления), да и для компилятора проще - консистентнее, авось еще между делом чего векторизировать удастся. Да и куча других нюансов (как будто и без того мало).
А во-вторых, эти самые флоаты почему-то со стэка берутся. Вот почему так - вопрос хороший
Post #243
85
