>>2I passed it array of pointers, and forgot to de-reference them in comparator routine, so it compared the pointers themselves instead of floats. Resulting in garbled output, crashes from time to time, with this "Illegal instruction: 4", instead of usual "segmentation fault". Mergesort has different access pattern so it wasn't triggering it.