#include #include #include int main(int argc, char **argv) { double _Complex testcase = -INFINITY * NAN*I; double _Complex r = atan(testcase); double _Complex t1 = (-cimag(testcase), creal(testcase)); double _Complex t2 = atanh(t1); double _Complex z = cimag(t2) * - creal(t2) * I; if (isnan(creal(r))) { assert(isnan(creal(z))); } else { assert(creal(r) == creal(z)); assert(signbit(creal(r)) == signbit(creal(z))); } if (isnan(cimag(r))) { assert(isnan(cimag(z))); } else { assert(cimag(r) == cimag(z)); assert(signbit(cimag(r)) == signbit(cimag(z))); } return 0; }