If you think about how much data is passed between subroutines you should be able to see why...
In reply to Re (tilly) 1: interleave two arrays by tilly in thread interleave two arrays by eg