Central subgroup generated by a non-square in nontrivial semidirect product of Z4 and Z4

Definition
Consider the group:

$$G := \langle x,y \mid x^4 = y^4 = e, yxy^{-1} = x^3 \rangle$$.

This is a group of order 16 with elements:

$$\! \{ e,x,x^2,x^3,y,xy,x^2y,x^3y,y^2,xy^2,x^2y^2,x^3y^2,y^3,xy^3,x^2y^3,x^3y^3 \}$$

We are interested in the subgroup:

$$\! H = \{ e, x^2y^2 \}$$

The quotient group is isomorphic to quaternion group.

Cosets
The subgroup is a normal subgroup, so its left cosets coincide with its right cosets. The subgroup has order 2 and index 8, so there are 8 cosets, given as:

$$\{ e, x^2y^2 \}, \{ x, x^3y^2 \}, \{ x^2, y^2 \}, \{ x^3, xy^2 \}, \{ y, x^2y^3 \}, \{ xy, x^3y^3 \}, \{ x^2y, y^3 \}, \{ x^3y, xy^3 \}$$

GAP implementation
The group and subgroup pair can be constructed using GAP as follows:

G := SmallGroup(16,4); H := Group(Difference(Set(Center(G)),Set(List(G,x -> x^2))));

The GAP display looks as below:

gap> G := SmallGroup(16,4); H := Group(Difference(Set(Center(G)),Set(List(G,x -> x^2))));  

Here is some GAP code verifying some of the assertions on this page:

gap> Order(G); 16 gap> Order(H); 2 gap> Index(G,H); 8 gap> StructureDescription(H); "C2" gap> StructureDescription(G/H); "Q8" gap> IsNormal(G,H); true gap> IsCharacteristicSubgroup(G,H); true gap> IsFullinvariant(G,H); false