ARB_gpu_shader5: Verify precise fract of NaN

Recent optimizations added to Mesa's GLSL compiler will eliminite some
comparisons that it thinks are tautologies or contradictions based on
the mathematically provable ranges of the operands.  Normally
fract(<must be integral value>) must be zero.  If the parameter to
fract() is NaN, the precise result should be NaN.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111308

v2: Assign the result of the fact() to the precise variable.  Otherwise
that part is not precise.

Tested-by: Marge Bot <mesa/piglit!110>
Part-of: <mesa/piglit!110>
4 jobs for review/range-analysis in 5 minutes and 41 seconds (queued for 1 second)
Status Name Job ID Coverage
  Container
passed debian #1680514

00:00:17

 
  Build
passed build #1680515

00:05:23

passed py.test #1680516

00:00:27

passed tox #1680517

00:02:36