Many operations in polyset.cpp could be done on contiguous memory if the tables `P` were indexed `P(polynomial_index, derivative_index, point_index)`. Currently the indexing is P(derivative_index, point_index, polynomial_index)`.