games/hack/hack.c
542
int x, y, i, x0, y0, m0, i0 = 9;
games/hack/hack.c
576
if(corrct == 1 && DIST(x,y,x0,y0) != 1)
games/hack/hack.c
580
x0 = x;
games/hack/hack.c
607
if(u.dx == y0-u.uy && u.dy == u.ux-x0)
games/hack/hack.c
618
if((x0-u.ux == y0-u.uy && !u.dy) ||
games/hack/hack.c
619
(x0-u.ux != y0-u.uy && u.dy))
games/hack/hack.c
627
u.dx = x0-u.ux, u.dy = y0-u.uy;
games/hack/hack.mkshop.c
339
dist2(int x0, int y0, int x1, int y1)
games/hack/hack.mkshop.c
341
return((x0-x1)*(x0-x1) + (y0-y1)*(y0-y1));
lib/libc/arch/sparc64/fpu/fpu_mul.c
106
u_int a3, a2, a1, a0, x3, x2, x1, x0, bit, m;
lib/libc/arch/sparc64/fpu/fpu_mul.c
150
x0 = x->fp_mant[0];
lib/libc/arch/sparc64/fpu/fpu_mul.c
157
FPU_ADDC(a0, a0, x0)
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
194
u_int x0, x1, x2, x3;
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
226
FPU_ADDCS(x1, x1, x1); FPU_ADDC(x0, x0, x0); \
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
230
x0 = (x0 << 1) | (x1 >> 31); x1 = (x1 << 1) | (x2 >> 31); \
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
241
x0 = x->fp_mant[0];
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
275
x0 -= bit;
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
282
if (x0 >= t0) { /* if x >= t then */
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
283
x0 -= t0; /* x -= t */
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
301
FPU_SUBC(d0, x0, t0); /* d = x - t */
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
303
x0 = d0, x1 = d1; /* x -= t */
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
312
FPU_SUBC(d0, x0, t0);
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
314
x0 = d0, x1 = d1;
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
333
FPU_SUBC(d0, x0, t0);
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
335
x0 = d0, x1 = d1, x2 = d2;
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
345
FPU_SUBC(d0, x0, t0);
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
347
x0 = d0, x1 = d1, x2 = d2;
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
367
FPU_SUBC(d0, x0, t0);
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
369
x0 = d0, x1 = d1, x2 = d2, x3 = d3;
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
380
FPU_SUBC(d0, x0, t0);
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
382
x0 = d0, x1 = d1, x2 = d2, x3 = d3;
lib/libc/arch/sparc64/fpu/fpu_sqrt.c
394
x->fp_sticky = x0 | x1 | x2 | x3;
lib/libc/crypt/chacha_private.h
123
x0 = j0;
lib/libc/crypt/chacha_private.h
140
QUARTERROUND( x0, x4, x8,x12)
lib/libc/crypt/chacha_private.h
144
QUARTERROUND( x0, x5,x10,x15)
lib/libc/crypt/chacha_private.h
149
x0 = PLUS(x0,j0);
lib/libc/crypt/chacha_private.h
167
x0 = XOR(x0,U8TO32_LITTLE(m + 0));
lib/libc/crypt/chacha_private.h
191
U32TO8_LITTLE(c + 0,x0);
lib/libc/crypt/chacha_private.h
91
u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
lib/libc/gdtoa/gdtoa.c
43
ULong *be, *x, *x0;
lib/libc/gdtoa/gdtoa.c
59
x = x0 = b->x;
lib/libc/gdtoa/gdtoa.c
66
i = x - x0;
lib/libc/gdtoa/gdtoa.c
67
while(!x0[--i])
lib/libc/gdtoa/hexnan.c
118
if (x <= x0)
lib/libc/gdtoa/hexnan.c
129
if (x > x0) {
lib/libc/gdtoa/hexnan.c
130
x1 = x0;
lib/libc/gdtoa/hexnan.c
144
if (x1 == x0) {
lib/libc/gdtoa/hexnan.c
54
hexnan(sp, fpi, x0)
lib/libc/gdtoa/hexnan.c
55
CONST char **sp; FPI *fpi; ULong *x0;
lib/libc/gdtoa/hexnan.c
57
hexnan( CONST char **sp, FPI *fpi, ULong *x0)
lib/libc/gdtoa/hexnan.c
67
x = x0 + (nbits >> kshift);
lib/libc/gdtoa/hexnan.c
86
if (x <= x0) {
lib/libc/gdtoa/smisc.c
181
ULong *x, *x0, x1, x2;
lib/libc/gdtoa/smisc.c
195
x0 = x;
lib/libc/gdtoa/smisc.c
197
while(x > x0)
lib/libcrypto/bn/arch/aarch64/bn_arch.h
200
BN_ULONG r2, r1, r0, x1, x0;
lib/libcrypto/bn/arch/aarch64/bn_arch.h
212
[x0]"=&r"(x0)
lib/libcrypto/bn/bn_internal.h
522
BN_ULONG r2, r1, r0, x1, x0;
lib/libcrypto/bn/bn_internal.h
525
bn_mulw(a, b, &x1, &x0);
lib/libcrypto/bn/bn_internal.h
526
bn_addw(c0, x0, &carry, &r0);
lib/libcrypto/bn/bn_internal.h
529
bn_addw(r0, x0, &carry, &r0);
lib/libcrypto/bn/bn_mont.c
438
BN_ULONG x3, x2, x1, x0;
lib/libcrypto/bn/bn_mont.c
445
&x3, &x2, &x1, &x0);
lib/libcrypto/bn/bn_mont.c
447
x3, x2, x1, x0, *carry_n, carry_n,
lib/libcrypto/bn/bn_mont.c
455
bn_mulw_addw_addw(ap[0], b, tp[0], *carry_a, carry_a, &x0);
lib/libcrypto/bn/bn_mont.c
456
bn_mulw_addw_addw(np[0], w, x0, *carry_n, carry_n, &tp[0]);
lib/libcrypto/bn/bn_sqr.c
213
BN_ULONG x3, x2, x1, x0;
lib/libcrypto/bn/bn_sqr.c
221
bn_mulw(a[0], a[0], &x1, &x0);
lib/libcrypto/bn/bn_sqr.c
223
bn_qwaddqw(x3, x2, x1, x0, r[3], r[2], r[1], r[0], carry,
lib/libcrypto/bn/bn_sqr.c
225
bn_mulw(a[2], a[2], &x1, &x0);
lib/libcrypto/bn/bn_sqr.c
227
bn_qwaddqw(x3, x2, x1, x0, r[7], r[6], r[5], r[4], carry,
lib/libcrypto/chacha/chacha-merged.c
121
u32 x0, x1, x2, x3, x4, x5, x6, x7;
lib/libcrypto/chacha/chacha-merged.c
157
x0 = j0;
lib/libcrypto/chacha/chacha-merged.c
174
QUARTERROUND(x0, x4, x8, x12)
lib/libcrypto/chacha/chacha-merged.c
178
QUARTERROUND(x0, x5, x10, x15)
lib/libcrypto/chacha/chacha-merged.c
183
x0 = PLUS(x0, j0);
lib/libcrypto/chacha/chacha-merged.c
201
U32TO8_LITTLE(x->ks + 0, x0);
lib/libcrypto/chacha/chacha-merged.c
219
x0 = XOR(x0, U8TO32_LITTLE(m + 0));
lib/libcrypto/chacha/chacha-merged.c
245
U32TO8_LITTLE(c + 0, x0);
lib/libcrypto/rc2/rc2.c
149
RC2_INT x0, x1, x2, x3, t;
lib/libcrypto/rc2/rc2.c
153
x0 = (RC2_INT)l & 0xffff;
lib/libcrypto/rc2/rc2.c
164
t = (x0 + (x1 & ~x3) + (x2 & x3) + *(p0++)) & 0xffff;
lib/libcrypto/rc2/rc2.c
165
x0 = (t << 1)|(t >> 15);
lib/libcrypto/rc2/rc2.c
166
t = (x1 + (x2 & ~x0) + (x3 & x0) + *(p0++)) & 0xffff;
lib/libcrypto/rc2/rc2.c
168
t = (x2 + (x3 & ~x1) + (x0 & x1) + *(p0++)) & 0xffff;
lib/libcrypto/rc2/rc2.c
170
t = (x3 + (x0 & ~x2) + (x1 & x2) + *(p0++)) & 0xffff;
lib/libcrypto/rc2/rc2.c
178
x0 += p1[x3 & 0x3f];
lib/libcrypto/rc2/rc2.c
179
x1 += p1[x0 & 0x3f];
lib/libcrypto/rc2/rc2.c
185
d[0] = (unsigned long)(x0 & 0xffff)|((unsigned long)(x1 & 0xffff) <<
lib/libcrypto/rc2/rc2.c
197
RC2_INT x0, x1, x2, x3, t;
lib/libcrypto/rc2/rc2.c
201
x0 = (RC2_INT)l & 0xffff;
lib/libcrypto/rc2/rc2.c
214
x3 = (t - (x0 & ~x2) - (x1 & x2) - *(p0--)) & 0xffff;
lib/libcrypto/rc2/rc2.c
216
x2 = (t - (x3 & ~x1) - (x0 & x1) - *(p0--)) & 0xffff;
lib/libcrypto/rc2/rc2.c
218
x1 = (t - (x2 & ~x0) - (x3 & x0) - *(p0--)) & 0xffff;
lib/libcrypto/rc2/rc2.c
219
t = ((x0 << 15)|(x0 >> 1)) & 0xffff;
lib/libcrypto/rc2/rc2.c
220
x0 = (t - (x1 & ~x3) - (x2 & x3) - *(p0--)) & 0xffff;
lib/libcrypto/rc2/rc2.c
229
x1 = (x1 - p1[x0 & 0x3f]) & 0xffff;
lib/libcrypto/rc2/rc2.c
230
x0 = (x0 - p1[x3 & 0x3f]) & 0xffff;
lib/libcrypto/rc2/rc2.c
234
d[0] = (unsigned long)(x0 & 0xffff)|((unsigned long)(x1 & 0xffff) <<
lib/libcrypto/rc2/rc2_local.h
108
t=(x0+(x1& ~x3)+(x2&x3)+ *(p0++))&0xffff; \
lib/libcrypto/rc2/rc2_local.h
109
x0=(t<<1)|(t>>15); \
lib/libcrypto/rc2/rc2_local.h
110
t=(x1+(x2& ~x0)+(x3&x0)+ *(p0++))&0xffff; \
lib/libcrypto/rc2/rc2_local.h
112
t=(x2+(x3& ~x1)+(x0&x1)+ *(p0++))&0xffff; \
lib/libcrypto/rc2/rc2_local.h
114
t=(x3+(x0& ~x2)+(x1&x2)+ *(p0++))&0xffff; \
lib/libm/src/b_tgamma.c
133
} else if (x >= 1.0 + LEFT + x0)
lib/libm/src/b_tgamma.c
203
if (y <= 1.0 + (LEFT + x0)) {
lib/libm/src/b_tgamma.c
204
yy = ratfun_gam(y - x0, 0);
lib/libm/src/b_tgamma.c
213
for (ym1 = y-one; ym1 > LEFT + x0; y = ym1--, yy.a--) {
lib/libm/src/b_tgamma.c
221
yy = ratfun_gam(y - x0, 0);
lib/libm/src/b_tgamma.c
236
if (x < x0 + LEFT) {
lib/libm/src/b_tgamma.c
244
t = (one-x0); t += x;
lib/libm/src/b_tgamma.c
245
d = (one-x0); d -= t; d += x;
lib/libm/src/b_tgamma.c
251
t = x - x0;
lib/libm/src/b_tgamma.c
252
d = (-x0 -t); d += x;
libexec/ld.so/aarch64/SYS.h
52
cneg x0, x0, cs /* r0 = -errno */ ;\
libexec/ld.so/chacha_private.h
123
x0 = j0;
libexec/ld.so/chacha_private.h
140
QUARTERROUND( x0, x4, x8,x12)
libexec/ld.so/chacha_private.h
144
QUARTERROUND( x0, x5,x10,x15)
libexec/ld.so/chacha_private.h
149
x0 = PLUS(x0,j0);
libexec/ld.so/chacha_private.h
167
x0 = XOR(x0,U8TO32_LITTLE(m + 0));
libexec/ld.so/chacha_private.h
191
U32TO8_LITTLE(c + 0,x0);
libexec/ld.so/chacha_private.h
91
u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
regress/lib/libm/cephes/monot.c
273
double x, x0, y, dy, err;
regress/lib/libm/cephes/monot.c
287
x0 = volat1;
regress/lib/libm/cephes/monot.c
291
volat1 = x - x0;
regress/lib/libm/cephes/monot.c
314
x = x0;
regress/lib/libm/cephes/monot.c
318
volat1 = x - x0;
regress/lib/libm/cephes/monotl.c
366
long double x, x0, dy, err;
regress/lib/libm/cephes/monotl.c
381
x0 = volat1;
regress/lib/libm/cephes/monotl.c
386
volat1 = x - x0;
regress/lib/libm/cephes/monotl.c
422
x = x0;
regress/lib/libm/cephes/monotl.c
426
volat1 = x - x0;
regress/lib/libm/cephes/monotll.c
685
long double x, x0, dy, err;
regress/lib/libm/cephes/monotll.c
704
x0 = volat1;
regress/lib/libm/cephes/monotll.c
709
volat1 = x - x0;
regress/lib/libm/cephes/monotll.c
755
x = x0;
regress/lib/libm/cephes/monotll.c
759
volat1 = x - x0;
sys/arch/sparc64/fpu/fpu_mul.c
101
u_int a3, a2, a1, a0, x3, x2, x1, x0, bit, m;
sys/arch/sparc64/fpu/fpu_mul.c
145
x0 = x->fp_mant[0];
sys/arch/sparc64/fpu/fpu_mul.c
152
FPU_ADDC(a0, a0, x0)
sys/arch/sparc64/fpu/fpu_sqrt.c
191
u_int x0, x1, x2, x3;
sys/arch/sparc64/fpu/fpu_sqrt.c
223
FPU_ADDCS(x1, x1, x1); FPU_ADDC(x0, x0, x0); \
sys/arch/sparc64/fpu/fpu_sqrt.c
227
x0 = (x0 << 1) | (x1 >> 31); x1 = (x1 << 1) | (x2 >> 31); \
sys/arch/sparc64/fpu/fpu_sqrt.c
238
x0 = x->fp_mant[0];
sys/arch/sparc64/fpu/fpu_sqrt.c
272
x0 -= bit;
sys/arch/sparc64/fpu/fpu_sqrt.c
279
if (x0 >= t0) { /* if x >= t then */
sys/arch/sparc64/fpu/fpu_sqrt.c
280
x0 -= t0; /* x -= t */
sys/arch/sparc64/fpu/fpu_sqrt.c
298
FPU_SUBC(d0, x0, t0); /* d = x - t */
sys/arch/sparc64/fpu/fpu_sqrt.c
300
x0 = d0, x1 = d1; /* x -= t */
sys/arch/sparc64/fpu/fpu_sqrt.c
309
FPU_SUBC(d0, x0, t0);
sys/arch/sparc64/fpu/fpu_sqrt.c
311
x0 = d0, x1 = d1;
sys/arch/sparc64/fpu/fpu_sqrt.c
330
FPU_SUBC(d0, x0, t0);
sys/arch/sparc64/fpu/fpu_sqrt.c
332
x0 = d0, x1 = d1, x2 = d2;
sys/arch/sparc64/fpu/fpu_sqrt.c
342
FPU_SUBC(d0, x0, t0);
sys/arch/sparc64/fpu/fpu_sqrt.c
344
x0 = d0, x1 = d1, x2 = d2;
sys/arch/sparc64/fpu/fpu_sqrt.c
364
FPU_SUBC(d0, x0, t0);
sys/arch/sparc64/fpu/fpu_sqrt.c
366
x0 = d0, x1 = d1, x2 = d2, x3 = d3;
sys/arch/sparc64/fpu/fpu_sqrt.c
377
FPU_SUBC(d0, x0, t0);
sys/arch/sparc64/fpu/fpu_sqrt.c
379
x0 = d0, x1 = d1, x2 = d2, x3 = d3;
sys/arch/sparc64/fpu/fpu_sqrt.c
391
x->fp_sticky = x0 | x1 | x2 | x3;
sys/crypto/aes.c
107
uint32_t x0, x1, x2, x3, x4, x5, x6, x7;
sys/crypto/aes.c
122
x0 = q[7];
sys/crypto/aes.c
135
y13 = x0 ^ x6;
sys/crypto/aes.c
136
y9 = x0 ^ x3;
sys/crypto/aes.c
137
y8 = x0 ^ x5;
sys/crypto/aes.c
142
y2 = y1 ^ x0;
sys/crypto/aes.c
156
y18 = x0 ^ y16;
sys/crypto/chacha_private.h
130
u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
sys/crypto/chacha_private.h
162
x0 = j0;
sys/crypto/chacha_private.h
179
QUARTERROUND( x0, x4, x8,x12)
sys/crypto/chacha_private.h
183
QUARTERROUND( x0, x5,x10,x15)
sys/crypto/chacha_private.h
188
x0 = PLUS(x0,j0);
sys/crypto/chacha_private.h
206
x0 = XOR(x0,U8TO32_LITTLE(m + 0));
sys/crypto/chacha_private.h
230
U32TO8_LITTLE(c + 0,x0);
sys/dev/fdt/pwmreg.c
108
int32_t x0, x1, y0, y1;
sys/dev/fdt/pwmreg.c
114
x0 = sc->sc_dutycycle_range[0];
sys/dev/fdt/pwmreg.c
119
y = y0 + (x - x0) * (y1 - y0) / (x1 - x0);
sys/dev/fdt/pwmreg.c
128
int32_t x0, x1, y0, y1;
sys/dev/fdt/pwmreg.c
134
x0 = sc->sc_rd.rd_volt_min;
sys/dev/fdt/pwmreg.c
139
y = y0 + (x - x0) * (y1 - y0) / (x1 - x0);
sys/net/wg_noise.c
1012
upcall_get(void *x0, uint8_t *x1) { return x0; }
sys/net/wg_noise.c
1014
upcall_set(void *x0, struct noise_remote *x1) { return 5; }
sys/net/wg_noise.c
1016
upcall_drop(void *x0, uint32_t x1) { }
usr.bin/fmt/fmt.c
233
static size_t x0; /* Ditto, ignoring leading whitespace */
usr.bin/fmt/fmt.c
556
if (x0 > 0)
usr.bin/fmt/fmt.c
559
x0 = 0;
usr.bin/fmt/fmt.c
600
if (x0 == 0)
usr.bin/fmt/fmt.c
606
x0 = 0;
usr.bin/fmt/fmt.c
609
x0 += pending_spaces;
usr.bin/fmt/fmt.c
614
x0 += width;
usr.bin/ssh/chacha.c
121
x0 = j0;
usr.bin/ssh/chacha.c
138
QUARTERROUND( x0, x4, x8,x12)
usr.bin/ssh/chacha.c
142
QUARTERROUND( x0, x5,x10,x15)
usr.bin/ssh/chacha.c
147
x0 = PLUS(x0,j0);
usr.bin/ssh/chacha.c
164
x0 = XOR(x0,U8TO32_LITTLE(m + 0));
usr.bin/ssh/chacha.c
187
U32TO8_LITTLE(c + 0,x0);
usr.bin/ssh/chacha.c
89
u32 x0, x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12, x13, x14, x15;
usr.bin/ssh/libcrux_internal.h
364
static inline uint32_t core_num__u8__count_ones(uint8_t x0) {
usr.bin/ssh/libcrux_internal.h
366
return __popcnt(x0);
usr.bin/ssh/libcrux_internal.h
368
return __builtin_popcount(x0);
usr.bin/ssh/libcrux_internal.h
372
static inline uint32_t core_num__u32__count_ones(uint32_t x0) {
usr.bin/ssh/libcrux_internal.h
374
return __popcnt(x0);
usr.bin/ssh/libcrux_internal.h
376
return __builtin_popcount(x0);
usr.bin/ssh/libcrux_internal.h
380
static inline uint32_t core_num__i32__count_ones(int32_t x0) {
usr.bin/ssh/libcrux_internal.h
382
return __popcnt(x0);
usr.bin/ssh/libcrux_internal.h
384
return __builtin_popcount(x0);
usr.bin/ssh/libcrux_internal.h
492
static inline uint64_t core_num__u64__rotate_left(uint64_t x0, uint32_t x1) {
usr.bin/ssh/libcrux_internal.h
493
return (x0 << x1) | (x0 >> ((-x1) & 63));
usr.bin/ssh/libcrux_internal.h
496
static inline void core_ops_arith__i32__add_assign(int32_t *x0, int32_t *x1) {
usr.bin/ssh/libcrux_internal.h
497
*x0 = *x0 + *x1;
usr.bin/ssh/libcrux_internal.h
512
const uint8_t *x0, uint8_t x1) {
usr.bin/ssh/libcrux_internal.h
513
return Eurydice_bitand_pv_u8(x0, x1);
usr.bin/ssh/libcrux_internal.h
517
core_ops_bit__core__ops__bit__Shr_i32__u8__for__0__u8___shr(const uint8_t *x0,
usr.bin/ssh/libcrux_internal.h
519
return Eurydice_shr_pv_u8(x0, x1);
usr.bin/ssh/libcrux_internal.h
525
core_num_nonzero_private_NonZeroUsizeInner *x0) {
usr.bin/ssh/libcrux_internal.h
526
return *x0;
usr.bin/ssh/libcrux_internal.h
637
static inline uint32_t core_num__i32__count_ones(int32_t x0);
usr.bin/ssh/libcrux_internal.h
639
static inline uint16_t core_num__u16__wrapping_add(uint16_t x0, uint16_t x1);
usr.bin/ssh/libcrux_internal.h
641
static inline uint64_t core_num__u64__from_le_bytes(Eurydice_array_u8x8 x0);
usr.bin/ssh/libcrux_internal.h
643
static inline uint64_t core_num__u64__rotate_left(uint64_t x0, uint32_t x1);
usr.bin/ssh/libcrux_internal.h
645
static inline Eurydice_array_u8x8 core_num__u64__to_le_bytes(uint64_t x0);
usr.bin/ssh/libcrux_internal.h
647
static inline uint32_t core_num__u8__count_ones(uint8_t x0);
usr.bin/ssh/libcrux_internal.h
649
static inline uint8_t core_num__u8__wrapping_sub(uint8_t x0, uint8_t x1);
usr.bin/ssh/libcrux_internal.h
652
core_ops_bit__core__ops__bit__BitAnd_u8__u8__for__0__u8___bitand(const uint8_t *x0, uint8_t x1);
usr.bin/ssh/libcrux_internal.h
655
core_ops_bit__core__ops__bit__Shr_i32__u8__for__0__u8___shr(const uint8_t *x0, int32_t x1);
usr.bin/tmux/screen-redraw.c
1009
x0 = x;
usr.bin/tmux/screen-redraw.c
1020
bc = redraw_get_build_cell(&bctx, x0, y);
usr.bin/tmux/screen-redraw.c
1024
span->x = x0;
usr.bin/tmux/screen-redraw.c
1025
span->width = x - x0;
usr.bin/tmux/screen-redraw.c
979
u_int x, y, x0;