pub const fn square(a: [u64; 4], p: [u64; 4], inv: u64) -> [u64; 4]