fmal
long double fmal(long double, long double, long double);
__weak_reference(fma, fmal);
test(fmal, -LDBL_MIN, LDBL_MIN, 0.0, -0.0,
test(fmal, LDBL_MAX, LDBL_MAX, -INFINITY, -INFINITY,
test(fmal, LDBL_MAX, -LDBL_MAX, INFINITY, INFINITY,
test(fmal, LDBL_MIN, LDBL_MIN, NAN, NAN, ALL_STD_EXCEPT, 0);
test(fmal, LDBL_MAX, LDBL_MAX, NAN, NAN, ALL_STD_EXCEPT, 0);
test(fmal, one, one, 0x1.0p-200, 1.0 + LDBL_EPSILON,
test(fmal, -one, one, -0x1.0p-200, -(1.0 + LDBL_EPSILON),
test(fmal, one, one, -0x1.0p-200, 1.0 - LDBL_EPSILON / 2,
test(fmal, -one, one, 0x1.0p-200, -1.0 + LDBL_EPSILON / 2,
test(fmal, 0x1.0p-100, 0x1.0p-100, 1.0, 1.0 + LDBL_EPSILON,
test(fmal, -0x1.0p-100, 0x1.0p-100, -1.0, -(1.0 + LDBL_EPSILON),
test(fmal, -0x1.0p-100, -0x1.0p-100, -1.0,
test(fmal, 0x1.0p-100, -0x1.0p-100, 1.0, 1.0 - LDBL_EPSILON / 2,
testrnd(fmal, -0x1.c139d7b84f1a3079263afcc5bae3p-51L,
testrnd(fmal, -0x1.c139d7b84f1a307ap-51L, -0x1.600e7a2a164840eep32L,
testrnd(fmal, -0x1.c139d7b84f1a3p-51L, -0x1.600e7a2a16484p32L,
testrnd(fmal, 0x1.98210ac83fe2a8f65b6278b74cebp53L,
testrnd(fmal, 0x1.98210ac83fe2a8f6p53L, 0x1.9556ac1475f0f28ap-24L,
testrnd(fmal, 0x1.98210ac83fe2bp53L, 0x1.9556ac1475f0fp-24L,
testrnd(fmal, 0x1.31ad012ede8aa282fa1c19376d16p+100L,
testrnd(fmal, 0x1.31ad012ede8aa4eap+100L, 0x1.2fbf79c839066aeap-42L,
testrnd(fmal, 0x1.31ad012ede8aap+100L, 0x1.2fbf79c839067p-42L,
testrnd(fmal, 0x1.bbffeea6fc7d65927d147f437675p-30L,
testrnd(fmal, 0x1.bbffeea6fc7d6592p-30L, 0x1.1d164c6cbf078b7ap-74L,
testrnd(fmal, 0x1.bbffeea6fc7d6p-30L, 0x1.1d164c6cbf078p-74L,
test(fmal, 0x1.4p+0L, 0x1.0000000000000004p+0L, 0x1p-128L,
test(fmal, 0x1.8000000000000000000000000001p+0L,
test(fmal, (x), (y), (z), (result), (exceptmask), (excepts)); \
(fmal)(long double x, long double y, long double z) { n_long_double++; }