code: function sqrt (x, u) {
          var v = createUnpackedArray();
          var t1 = createUnpackedArray();
          var t2 = createUnpackedArray();
  
          add(t1, u, u); /* t1 = 2u		*/
          recip(v, t1, 1); /* v = (2u)^((p-5)/8)	*/
          sqr(x, v); /* x = v^2		*/
          mul(t2, t1, x); /* t2 = 2uv^2		*/
          sub(t2, t2, C1); /* t2 = 2uv^2-1		*/
          mul(t1, v, t2); /* t1 = v(2uv^2-1)	*/
          mul(x, u, t1); /* x = uv(2uv^2-1)	*/
      }
docs: /* a square root