typedef char long[4]; char *atol(l, s) char *l, *s; { static char *a, *b; static long c, d; a = l; b = s; inline(221, 229, 42, &a, 237, 91, &a, 19, 1, 3, 0, 54, 0); inline(237, 176, 42, &b, 221, 42, &a, 6, 10, 14, 4, 126, 167); inline(40, 98, 229, 197, 221, 229, 33, c, 17, d, 54, 10, 6); inline(8, 197, 229, 221, 203, 0, 14, 48, 14, 213, 65, 175); inline(26, 142, 18, 19, 35, 16, 249, 209, 225, 229, 175, 65); inline(203, 22, 35, 16, 251, 225, 193, 16, 224, 221, 35, 35); inline(19, 13, 32, 215, 221, 225, 193, 225, 229, 197, 126); inline(214, 48, 17, d, 33, c, 119, 65, 175, 26, 142, 18, 19); inline(35, 16, 249, 33, d, 221, 229, 209, 65, 126, 18, 54, 0); inline(35, 19, 16, 248, 193, 225, 35, 16, 154, 221, 225); return l; } char *ltoa(s, l) char *s, *l; { static char *a, *b; int i; a = s; b = l; inline(221, 229, 42, &a, 237, 91, &a, 19, 1, 10, 0, 54, 0); inline(237, 176, 221, 42, &b, 17, 3, 0, 221, 25, 42, &a, 17); inline(9, 0, 25, 6, 4, 14, 10, 30, 8, 197, 229, 221, 203, 0); inline(6, 65, 126, 143, 198, 246, 56, 2, 214, 246, 119, 43); inline(16, 244, 225, 29, 32, 234, 193, 221, 43, 16, 226, 65); inline(126, 198, 48, 119, 43, 16, 249, 221, 225); for (i = 0; i < 9 && *a == '0'; i++) a++; move(s, a, 11 - i); return s; } char *itol(l, n) int *l; { *l++ = n; *l = 0; return l; } ltoi(l) int *l; { return *l; } lcmp(a, b) char *a, *b; { int i; i = 4; while (i--) if (a[i] != b[i]) return a[i] - b[i]; return 0; } char *ladd(a, b, c) char *a, *b, *c; { static char *d, *e; d = a; e = c; move(a, b, 4); inline(237, 91, &d, 42, &e, 6, 4, 175, 26, 142, 18, 19, 35); inline(16, 249); return a; } char *lsub(a, b, c) char *a, *b, *c; { static char *d, *e; d = a; e = c; move(a, b, 4); inline(237, 91, &d, 42, &e, 6, 4, 175, 26, 158, 18, 19, 35); inline(16, 249); return a; } char *lmul(a, b, c) char *a, *b, *c; { static char *d; static long e, f; d = a; move(e, b, 4); move(f, c, 4); inline(221, 229, 42, &d, 237, 91, &d, 19, 1, 3, 0, 54, 0); inline(237, 176, 221, 33, e, 33, f, 237, 91, &d, 14, 4, 6, 8); inline(197, 229, 221, 203, 0, 14, 48, 14, 213, 65, 175, 26); inline(142, 18, 19, 35, 16, 249, 209, 225, 229, 175, 65, 203); inline(22, 35, 16, 251, 225, 193, 16, 224, 221, 35, 35, 19); inline(13, 32, 215, 221, 225); return a; } char *ldiv(a, b, c) char *a, *b, *c; { static char *d; static long e, f; d = a; move(a, b, 4); move(e, c, 4); inline(221, 229, 221, 42, &d, 17, 3, 0, 221, 25, 33, e, 14); inline(4, 175, 17, f, 65, 18, 19, 16, 252, 95, 28, 6, 8, 197); inline(213, 229, 221, 203, 0, 22, 33, f, 67, 203, 22, 35, 16); inline(251, 225, 229, 123, 61, 129, 79, 17, f, 65, 26, 158); inline(19, 35, 16, 250, 56, 13, 225, 229, 17, f, 65, 26, 158); inline(18, 19, 35, 16, 249, 63, 225, 209, 193, 16, 203, 221); inline(203, 0, 22, 221, 43, 13, 32, 191, 221, 225); return a; }