blob: da63f4796b87542a284ef852441344858e1e3bb4 [file] [log] [blame]
#define NG 0x100L
unsigned long flg = 0;
long sub (int n)
{
int a, b ;
if (n >= 2)
{
if (n % 2 == 0)
{
a = sub (n / 2);
return (a + 2 * sub (n / 2 - 1)) * a;
}
else
{
a = sub (n / 2 + 1);
b = sub (n / 2);
return a * a + b * b;
}
}
else
return (long) n;
}
int main (void)
{
if (sub (30) != 832040L)
flg |= NG;
if (flg)
abort ();
exit (0);
}