//          gap ↘ |123456| ↙ gap
static int *a;
static unsigned int **b;
static short int *c;
static long int d;
static int ***e;
//          gap ↗ |123456| ↖ gap

//                                gap ↘ |12345678| ↙ gap
int function_with_no_star_parameters (int parameter)
//                                gap ↗ |12345678| ↖ gap
{
        return 0;
}

//                           gap ↘ |12345678| ↙ gap
int function_with_stars(int *f,
                        unsigned int **g,
                        short int *h,
                        long int i,
                        int ***j)
//                           gap ↗ |12345678| ↖ gap
{
//           gap ↘ |123456| ↙ gap
        int *k;
        unsigned int **l;
        short int *m;
        long int n;
        int ***o;
//           gap ↗ |123456| ↖ gap
        return 0;
}

//                                            gap ↘ |12345678| ↙ gap
int function_closer_than_16_lines_from_j(int *p,
                                         unsigned int **q,
                                         short int *r,
                                         long int s,
                                         int ***t)
//                                            gap ↗ |12345678| ↖ gap
{
//           gap ↘ |123456| ↙ gap
        int *u;
        unsigned int **v;
        short int *w;
        long int x;
        int ***y;
//           gap ↗ |123456| ↖ gap

        /* The point of this comment is merely to make the
         * function longer than 16 lines.
         *
         * We're doing this to show that parameter alignment is
         * per parameter list, and that parameter lists from
         * multiple functions aren't lined up with each other.
         *
         * You can see that by noticing that function_with_stars and this
         * function don't have parameter lists aligned with each
         * other, and this function and the function below it are
         * too far away anyway.
         */
        return 0;
}

//                                 gap ↘ |12345678| ↙ gap
int more_than_16_lines_from_t(int *z,
                              unsigned int **zz,
                              short int *zzz,
                              long int zzzz,
                              int ***zzzzz)
//                                 gap ↗ |12345678| ↖ gap
{
//           gap ↘ |123456| ↙ gap
        int *zzzzzz;
        unsigned int **zzzzzzz;
        short int *zzzzzzzz;
        long int zzzzzzzzz;
        int ***zzzzzzzzzz;
//           gap ↗ |123456| ↖ gap
        return 0;
}
