volatile float foo; volatile int res; int main (void) { foo = 3.402823466E+38; foo = (foo * foo); /* foo = +Inf */ if(foo < 0.0) { res = -1; } else { res = 1; } foo = - foo; /* foo = -Inf */ if(foo < 0.0) { res = -1; } else { res = 1; } return (0); }