lib msun remainder() function gives incorrect result on powerpc64, as reported by rem_test.c. Expected result is 4.9406564584124654e-324, but -4.9406564584124654e-324 is given. Reduced test case: #include <openlibm.h> #include <assert.h> int main() { double x=-3.3770170061145426e-226; double y=2.4703282292062327e-323; double expected_rem = 4.9406564584124654e-324; double rem; rem = remainder(x, y); assert(rem == expected_rem); return(0); } * compile with "cc rem.c -lm"
^Triage: canonicalize assignment.