double x, y, r; double complex z; double tolerance = DBL_EPSILON; ... z = cexp(complex(x/y, sqrt(r)); if(cabs(z) < tolerance) move_needle_one_inch_for_robot_brain_surgery(); else error_handling_for_some_thing_wrong();