// PR c++/88174
// { dg-do compile { target c++14 } }
constexpr bool
foo (double x, double y, double z, double w)
{
  __complex__ double a = 0;
  __real__ a = x;
  __imag__ a = y;
#if __cpp_constexpr >= 201907L
  __complex__ double b;
  __real__ b = z;
#else
  __complex__ double b = z;
#endif
  __imag__ b = w;
  a += b;
  a -= b;
  a *= b;
  a /= b;
  return __real__ a == x && __imag__ a == y;
}
static_assert (foo (1.0, 2.0, 3.0, 4.0), "");