Speaking of ash, the bit of code below is what I'm looking at for shifts instead of mul or div. Untested as yet, but hopefully not too far wrong. Anyone who wants to take it forward should feel free ... or kick it into touch and do something different.