extern int foo (int, int, int (*) (int, int, int, int, int, int, int));
|
extern int foo (int, int, int (*) (int, int, int, int, int, int, int));
|
|
|
int z;
|
int z;
|
|
|
int
|
int
|
main (void)
|
main (void)
|
{
|
{
|
#ifndef NO_TRAMPOLINES
|
#ifndef NO_TRAMPOLINES
|
int sum = 0;
|
int sum = 0;
|
int i;
|
int i;
|
|
|
int nested (int a, int b, int c, int d, int e, int f, int g)
|
int nested (int a, int b, int c, int d, int e, int f, int g)
|
{
|
{
|
z = c + d + e + f + g;
|
z = c + d + e + f + g;
|
|
|
if (a > 2 * b)
|
if (a > 2 * b)
|
return a - b;
|
return a - b;
|
else
|
else
|
return b - a;
|
return b - a;
|
}
|
}
|
|
|
for (i = 0; i < 10; ++i)
|
for (i = 0; i < 10; ++i)
|
{
|
{
|
int j;
|
int j;
|
|
|
for (j = 0; j < 10; ++j)
|
for (j = 0; j < 10; ++j)
|
{
|
{
|
int k;
|
int k;
|
|
|
for (k = 0; k < 10; ++k)
|
for (k = 0; k < 10; ++k)
|
sum += foo (i, j > k ? j - k : k - j, nested);
|
sum += foo (i, j > k ? j - k : k - j, nested);
|
}
|
}
|
}
|
}
|
|
|
if (sum != 2300)
|
if (sum != 2300)
|
abort ();
|
abort ();
|
|
|
if (z != 0x1b)
|
if (z != 0x1b)
|
abort ();
|
abort ();
|
#endif
|
#endif
|
|
|
exit (0);
|
exit (0);
|
}
|
}
|
|
|
int
|
int
|
foo (int a, int b, int (* fp) (int, int, int, int, int, int, int))
|
foo (int a, int b, int (* fp) (int, int, int, int, int, int, int))
|
{
|
{
|
return fp (a, b, a, b, a, b, a);
|
return fp (a, b, a, b, a, b, a);
|
}
|
}
|
|
|