typedef struct {
char *name;
int ulp;
int ulpSuffix;
int funcType;
int flags;
} funcSpec;
funcSpec funcList[] = {
{ "sin", 35, 0, 0, 0 },
{ "cos", 35, 0, 0, 0 },
{ "sincos", 35, 0, 2, 0 },
{ "tan", 35, 0, 0, 0 },
{ "asin", 35, 0, 0, 0 },
{ "acos", 35, 0, 0, 0 },
{ "atan", 35, 0, 0, 0 },
{ "atan2", 35, 0, 1, 0 },
{ "log", 35, 0, 0, 0 },
{ "cbrt", 35, 0, 0, 0 },
{ "sin", 10, 1, 0, 0 },
{ "cos", 10, 1, 0, 0 },
{ "sincos", 10, 1, 2, 0 },
{ "tan", 10, 1, 0, 0 },
{ "asin", 10, 1, 0, 0 },
{ "acos", 10, 1, 0, 0 },
{ "atan", 10, 1, 0, 0 },
{ "atan2", 10, 1, 1, 0 },
{ "log", 10, 1, 0, 0 },
{ "cbrt", 10, 1, 0, 0 },
{ "exp", 10, 0, 0, 0 },
{ "pow", 10, 0, 1, 0 },
{ "sinh", 10, 0, 0, 0 },
{ "cosh", 10, 0, 0, 0 },
{ "tanh", 10, 0, 0, 0 },
{ "sinh", 35, 3, 0, 0 },
{ "cosh", 35, 3, 0, 0 },
{ "tanh", 35, 3, 0, 0 },
{ "asinh", 10, 0, 0, 0 },
{ "acosh", 10, 0, 0, 0 },
{ "atanh", 10, 0, 0, 0 },
{ "exp2", 10, 0, 0, 0 },
{ "exp10", 10, 0, 0, 0 },
{ "expm1", 10, 0, 0, 0 },
{ "log10", 10, 0, 0, 0 },
{ "log2", 10, 0, 0, 0 },
{ "log1p", 10, 0, 0, 0 },
{ "sincospi", 5, 2, 2, 0 },
{ "sincospi", 35, 3, 2, 0 },
{ "sinpi", 5, 2, 0, 0 },
{ "cospi", 5, 2, 0, 0 },
{ "ldexp", -1, 0, 3, 0 },
{ "ilogb", -1, 0, 4, 0 },
{ "fma", -1, 0, 5, 0 },
{ "sqrt", -1, 0, 0, 0 },
{ "sqrt", 5, 2, 0, 1 },
{ "sqrt", 35, 3, 0, 0 },
{ "hypot", 5, 2, 1, 0 },
{ "hypot", 35, 3, 1, 0 },
{ "fabs", -1, 0, 0, 0 },
{ "copysign", -1, 0, 1, 0 },
{ "fmax", -1, 0, 1, 0 },
{ "fmin", -1, 0, 1, 0 },
{ "fdim", -1, 0, 1, 0 },
{ "trunc", -1, 0, 0, 0 },
{ "floor", -1, 0, 0, 0 },
{ "ceil", -1, 0, 0, 0 },
{ "round", -1, 0, 0, 0 },
{ "rint", -1, 0, 0, 0 },
{ "nextafter", -1, 0, 1, 0 },
{ "frfrexp", -1, 0, 0, 0 },
{ "expfrexp", -1, 0, 4, 0 },
{ "fmod", -1, 0, 1, 0 },
{ "modf", -1, 0, 6, 0 },
{ "lgamma", 10, 1, 0, 0 },
{ "tgamma", 10, 1, 0, 0 },
{ "erf", 10, 1, 0, 0 },
{ "erfc", 15, 4, 0, 0 },
{ "getInt", -1, 0, 7, 1},
{ "getPtr", -1, 0, 8, 1},
{ NULL, -1, 0, 0, 0 },
};