The program in the new file [when compiled with Clang] outputs "(1 1 1) (1 1) (1)" when no FP contraction is detected, and one or more of those 1s is replaced with a 0 when some FP contraction is detected.
Note: the new program is not guaranteed to always perfectly detect contraction with all compilers [only Clang and GCC were tested by Abe]. This is a best-effort approach that is as portable as Abe knows how to make it. When the detection program errs, it should err on the side of reporting a 1 when it should have reported a zero. Reporting a 0 when it should have reported a 1 should not be possible.
I [Abe] would appreciate help/suggestions on how to make the Makefile test harness run this program [prefereably only once per test run] and capture the result in a variable. Although I am quite proficient in GNU Make, I`m unsure how it is being [mis]used as a test harness for the LLVM "test-suite".
Added Oct. 17 2016, as per suggestion by Matthias: the program now returns an exit code of 0 only if no contraction was detected, 1 if any was.
I'd rather have less verbose method names. My brain stops reading after the second underscore (or caps change).
Simpler names would be: