Очень немногие FPU соответствуют стандарту IEEE (несмотря на их претензии). Таким образом, запуск одной и той же программы на другом оборудовании действительно даст вам разные результаты. Скорее всего, результаты будут в угловых случаях, которых вы должны избегать в рамках использования FPU в своем программном обеспечении.
Ошибки IEEE часто исправляются в программном обеспечении, и уверены ли вы, что операционная система, в которой вы работаете сегодня, содержит правильные ловушки и исправления от производителя? Как насчет до или после обновления ОС? Все ошибки удалены и исправлены ошибки? Синхронизирован ли компилятор C со всем этим и производит ли компилятор C надлежащий код?
Проверка этого может оказаться бесполезной. Вы не увидите проблему, пока не доставите товар.
Соблюдайте правило FP № 1: Никогда не используйте сравнение if (что-то == что-то). И правило номер два IMO будет связано с ascii для fp или fp для ascii (printf, scanf и т. Д.). Там больше проблем с точностью и ошибками, чем в оборудовании.
С каждым новым поколением оборудования (плотности) влияние солнца становится все более очевидным. У нас уже есть проблемы с SEU на поверхности планет, поэтому, независимо от вычислений с плавающей запятой, у вас будут проблемы (мало поставщиков беспокоятся об этом, поэтому ожидайте сбои чаще с новым оборудованием).
Потребляя огромное количество логики, fpu, вероятно, будет очень быстрым (один тактовый цикл). Не медленнее, чем целое число alu. Не путайте это с современным fpus, который так же прост, как alus, fpus стоят дорого. (Кроме того, потребляем больше логики для умножения и деления, чтобы уменьшить его до одного такта, но он не так велик, как fpu).
Придерживайтесь простых правил, приведенных выше, изучите с плавающей точкой немного больше, поймите бородавки и ловушки, которые с ней идут. Вы можете периодически проверять бесконечность или nans. Ваши проблемы, скорее всего, будут обнаружены в компиляторе и операционной системе, а не в аппаратном обеспечении (как правило, не только в fp math). Современное оборудование (и программное обеспечение) в наши дни по определению полны ошибок, поэтому просто постарайтесь быть менее глючным, чем то, на чем работает ваше программное обеспечение.