1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
#include <float.h> extern void abort(void); static const double C = DBL_MAX; double foo(double x) { return ( ( (x * C) * C ) * C); } int main () { double d = foo (0.0); if (d != 0.0) abort (); return 0; }