https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113628
--- Comment #2 from Jiajing_Zheng <jiajing_zheng at 163 dot com> --- (In reply to Harald van Dijk from comment #1) > These two files are not equivalent. The equivalent would be > long TVH = (g_106 / (g_51 ? g_51 : 16653417461)); > because that is the type that subexpression has. The constant of type long > causes everything to be promoted to long, and then finally truncated to int. > That is well-defined. By making TVH an int, all the other operations are > performed in type int as well. I'm sorry, I did overlook the type promotion. Thanks for your reply.