fma
#define fma(x, y, z) __tg_simple3(x, y, z, fma)
double fma(double, double, double);
__weak_reference(fma, fmal);
test(fma, -DBL_MIN, DBL_MIN, 0.0, -0.0,
test(fma, DBL_MAX, DBL_MAX, -INFINITY, -INFINITY, ALL_STD_EXCEPT, 0);
test(fma, DBL_MAX, -DBL_MAX, INFINITY, INFINITY, ALL_STD_EXCEPT, 0);
test(fma, DBL_MIN, DBL_MIN, NAN, NAN, ALL_STD_EXCEPT, 0);
test(fma, DBL_MAX, DBL_MAX, NAN, NAN, ALL_STD_EXCEPT, 0);
test(fma, one, one, 0x1.0p-200, 1.0 + DBL_EPSILON,
test(fma, -one, one, -0x1.0p-200, -(1.0 + DBL_EPSILON),
test(fma, one, one, -0x1.0p-200, 1.0 - DBL_EPSILON / 2,
test(fma, -one, one, 0x1.0p-200, -1.0 + DBL_EPSILON / 2,
test(fma, 0x1.0p-100, 0x1.0p-100, 1.0, 1.0 + DBL_EPSILON,
test(fma, -0x1.0p-100, 0x1.0p-100, -1.0, -(1.0 + DBL_EPSILON),
test(fma, -0x1.0p-100, -0x1.0p-100, -1.0,
test(fma, 0x1.0p-100, -0x1.0p-100, 1.0, 1.0 - DBL_EPSILON / 2,
testrnd(fma, -0x1.c139d7b84f1a3p-51, -0x1.600e7a2a16484p32,
testrnd(fma, 0x1.98210ac83fe2bp53, 0x1.9556ac1475f0fp-24,
testrnd(fma, 0x1.31ad012ede8aap+100, 0x1.2fbf79c839067p-42,
testrnd(fma, 0x1.bbffeea6fc7d6p-30, 0x1.1d164c6cbf078p-74,
test(fma, 0x1.8000000000001p0, 0x1.8000000000001p0,
test(fma, 0x1.8000000000001p0, 0x1.8000000000001p0,
test(fma, 0x1.8000000000001p0, 0x1.8000000000001p0,
test(fma, (double)(x), (double)(y), (double)(z), \
vm_page_t m, *ma, fma;
fma = NULL;
if (fma == NULL)
fma = malloc(chunk * sizeof(struct vm_page),
m = fma + c;
if (fma != NULL)
memset(fma, 0, chunk * sizeof(struct vm_page));
free(fma, M_TEMP);
vm_page_t *ma, fma;
fma = NULL;
if (fma == NULL) {
fma = malloc(sizeof(struct vm_page) * ma_cnt,
if (fma == NULL) {
vm_page_initfake(&fma[i], pstart + ptoa(i),
ma[i] = &fma[i];
free(fma, M_DEVBUF);
vm_page_t *ma, fma;
fma = NULL;
if (fma == NULL) {
fma = malloc(sizeof(struct vm_page) * ma_cnt,
if (fma == NULL) {
vm_page_initfake(&fma[i], paddr, VM_MEMATTR_DEFAULT);
ma[i] = &fma[i];
free(fma, M_DEVBUF);
double (fma)(double x, double y, double z) { n_double++; }
PASS_REAL_REAL_REAL_ARG_REAL_RET(fma));