This change updates the Polybench tests to check results using relative error rather than absolute error and adds an option to have different tolerances depending on whether fast-math and fp-contract are enabled.
(Note: In the first draft, I'm only updating one test in order to get feedback.
Pass in comment: this adds a (variably) slow fmul to the existing fsub and fabs, which can more than double the execution time in this piece of code. If we have enough runtime on the actual benchmark, it may not be a big problem, though.