1long long 2signed_poly (long long sum, long x) 3{ 4 sum += (long long) (long) sum * (long long) x; 5 return sum; 6} 7 8unsigned long long 9unsigned_poly (unsigned long long sum, unsigned long x) 10{ 11 sum += (unsigned long long) (unsigned long) sum * (unsigned long long) x; 12 return sum; 13} 14 15int 16main (void) 17{ 18 if (signed_poly (2LL, -3) != -4LL) 19 abort (); 20 21 if (unsigned_poly (2ULL, 3) != 8ULL) 22 abort (); 23 24 exit (0); 25} 26