* save 6+1 bytes of memory on stack
* avoid one call to logdet