precompute det