Показатель степени равен -15, число невероятно мало и является результатом округления в IEEE с плавающей запятой представление чисел.
Чтобы понять, в чем проблема Вы можете проверить этот пример кода:
<?php
$arr=[
'-20.91',
'-34.48',
'-5.18',
'34.48',
'20.91',
'5.18'
];
foreach ($arr as $float) {
printf("%.30f\n", (float)$float);
}
Демо
Если вы хотите избежать этой проблемы, вам нужно будет округлить ее или убедиться, что вы работаете в числах, которые всегда являются суммами степеней 2 (так для дробей: 0,5, 0,25, 0,125, 0,0625 и т. д. c).