also did you know that "the ABI of passing union with ‘long double’ has changed in GCC 4.4" (the function in question does not take a long double argument)