A semi-circle of radius 8 cm, rocks back and forth along a line.  The distance between the line on which the semi-circle sits and the line above is 12 cm.  As it rocks without slipping, the semi-circle touches the line above at two points.  (When the semi-circle hits the line above, it immediately rocks back in the other direction.)  What is the distance between these two points, in millimetres, rounded off to the nearest whole number? [asy]

draw((-15, -8)--(15, -8));draw((-15, 4)--(15, 4));draw((-8, 0)--(8, 0){down}..{up}(-8, 0));

[/asy] (Note: After finding the exact value of the desired distance, you may find a calculator useful to round this value off to the nearest whole number.)
In its initial position, suppose the semi-circle touches the bottom line at $X$, with point $P$ directly above $X$ on the top line. Consider when the semi-circle rocks to the right. [asy]
size(10cm);

// Variables
path semicircle = (-8, 0)--(8, 0){down}..{left}(0, -8){left}..{up}(-8, 0);
real xy = 4 * pi / 3;
pair x = (0, -8); pair p = (0, 4);
pair o = (xy, 0); pair z = (xy, 4); pair y = (xy, -8);

// Drawing
draw((-15, -8)--(15, -8));
draw((-15, 4)--(15, 4));
draw(semicircle, dashed);
draw(x--p, dashed);
draw(shift(xy) * rotate(-30) * semicircle);
draw(z--y);

// labels
label("$Q$", (-4 * sqrt(3) + xy, 4), N);
label("$P$", (0, 4), N);
label("$Z$", (xy, 4), N);
label("$O$", (xy, 0), NE);
label("$X$", (0, -8), S);
label("$Y$", (xy, -8), S);
[/asy] Suppose now the semi-circle touches the bottom line at $Y$ (with $O$ the point on the top of the semi-circle directly above $Y$, and $Z$ the point on the top line directly above $Y$) and touches the top line at $Q$.  Note that $XY=PZ$.

$Q$ is one of the desired points where the semi-circle touches the line above.  Because the diagram is symmetrical, the other point will be the mirror image of $Q$ in line $XP$.  Thus, the required distance is 2 times the length of $PQ$.

Now $PQ=QZ-PZ = QZ-XY$. Since the semi-circle is tangent to the bottom line, and $YO$ is perpendicular to the bottom line and $O$ lies on a diameter, we know that $O$ is the centre of the circle. So $OY=OQ= 8$ cm, since both are radii (or since the centre always lies on a line parallel to the bottom line and a distance of the radius away).

Also, $OZ=4$ cm, since the distance between the two lines is 12 cm. By the Pythagorean Theorem (since $\angle QZO=90^\circ$), then \[ QZ^2 = QO^2 - ZO^2 = 8^2 - 4^2 = 64 - 16 =48\]so $QZ = 4\sqrt{3}$ cm.

Also, since $QZ:ZO = \sqrt{3}:1$, then $\angle QOZ = 60^\circ$.

Thus, the angle from $QO$ to the horizontal is $30^\circ$, so the semi-circle has rocked through an angle of $30^\circ$, ie. has rocked through $\frac{1}{12}$ of a full revolution (if it was a full circle). Thus, the distance of $Y$ from $X$ is $\frac{1}{12}$ of the circumference of what would be the full circle of radius 8, or $XY=\frac{1}{12}(2\pi(8))=\frac{4}{3}\pi$ cm.  (We can think of a wheel turning through $30^\circ$ and the related horizontal distance through which it travels.)

Thus, $PQ = QZ-XY = 4\sqrt{3} - \frac{4}{3}\pi$ cm.

Therefore, the required distance is double this, or $8\sqrt{3}-\frac{8}{3}\pi$ cm or about 5.4788 cm, which is closest to $\boxed{55}$ mm.