Question 4: Loops using jumps: C and Lisp [6]

In C we can emulate loops using labels with goto statements, while in lisp we can do similarly with tagbody and go statements.

Provide an implementation of the following loop in each language, using labels/gotos in the C implementation and tagbody/go's in lisp:

   while (x < y) {
      if (x == z) break;
      x *= 2;
   }