void abort(void);
void exit(int);

struct a;

extern int baz(struct a *__restrict x);

struct a {
    long v;
    long w;
};

struct b {
    struct a c;
    struct a d;
};

int bar(int x, const struct b *__restrict y, struct b *__restrict z) {
    if (y->c.v || y->c.w != 250000 || y->d.v || y->d.w != 250000)
        abort();
}

void foo(void) {
    struct b x;
    x.c.v = 0;
    x.c.w = 250000;
    x.d = x.c;
    bar(0, &x, ((void *)0));
}

int main() {
    foo();
    exit(0);
}
