Remove the 'outer' function which *is* slow
Use 'einsum' to further optimize quadrature loops