@Alexander Yakuba,
Отклонения итогового результата при вычислениях с переменными типа float будут зависеть от порядка переменных и производимых над ними операций.
Вот, например, в 48 битной целочисленной переменной у нас есть 15 чистых православных разрядов, а в 32 с плавающей точкой только 7 разрядов + степень.
Абсолютная величина переменной, хранящейся в 32 float, конечно, больше. Только мы при этом теряем половину разрядов.
Если алгоритм был сделан для 48 бит, то там не могут использоваться переменные, выходящие за пределы значений, отведённых на 48 бит. Определённые ограничения на алгоритм, это, конечно, накладывает, но тем не менее, этот алгоритм существует, значит всё предусмотрено.
Однако, при 100% портировании алгоритма и переносе этих переменных в 32 float 8 разрядов будут всё равно потеряны.
Приведу пример: сложение двух переменных: 1.000000e+1 и 1.000000e+7 дадут 1.000000e+7. То есть эта добавка просто будет выброшена. В случае с целочисленными переменными всё будет сохранено. В прочем, такая операция эквивалентна складыванию 0 дБ и -80 дБ. Если таких ошибок за весь процесс накапливается немного, то и итоговый результат не сильно страдает... А возможно, именно такие мелочи и влияют на то, что некоторые слышат в хвостах. Тем более, что у нас исходный сигнал не 0 дБ.
Вообще, если кто-то слышит разницу между PoCo и Native... Может им стоило бы сделать вычитание своих примеров по вашей методике?