rose macro: fix fail-if array variables that look like single float values

The `fail-if` checking currently breaks for variables referenced using array expressions if their value looks like a single `float` value. This fixes the problem (float types shouldn't be passed to the array splitter). The changes to the test suite break in the old code, and are fine in the proposed code.

@arjclark, please review.