The compiler was interpreting 'Q' as an exponent letter in a literal real constant as meaning real(kind=10) on x86-64, which is the legacy 80387 80-bit extended precision floating-point type. It turns out that 'Q' means kind=16 with all other compilers, even for x86-64 targets. Change to conform.