#include <iostream>
int main (int argc, char * const argv[])
{
int n = -2353252;
std::cout << "n = " << n << std::endl;
unsigned int u = (unsigned int)(int)(double)n;
std::cout << "(unsigned int)(int)(double)n = " << u << std::endl;
// FAIL
u = (unsigned int)(double)n;
std::cout << "(unsigned int)(double)n = " << u << std::endl;
u = (unsigned int)(int)(float)n;
std::cout << "(unsigned int)(int)(float)n = " << u << std::endl;
// FAIL
u = (unsigned int)(float)n;
std::cout << "(unsigned int)(float)n = " << u << std::endl;
return 0;
}