function sqrt_handmade(x) { if (x <= 0) return 0; j = x/2; while (1) { l = j; j = ((l + x/l)/2); z = l-j; if (z < 0) z = -z; if (z <= 1) { return ((j+x/j)/2); } } } BEGIN { MAX = lshift(1, 13); p[0] = 2; p[1] = 3; for (i=2; i