> You haven't done anything to exclude the possibility that l1->B is zero,> so you could be getting zero-divide in the y calculation.
Ah, yes. We can use l2 when l1->B is zero.
I will send another patch on tomorrow addressing other bugs you found.