// RUN: %clang_analyze_cc1 \
// RUN:  -analyzer-checker=debug.ExprInspection %s 2>&1 | FileCheck %s

void clang_analyzer_printState(void);

void test_equivalence_classes(int a, int b, int c, int d) {
  if (a + b != c)
    return;
  if (a != d)
    return;
  if (b != 0)
    return;
  clang_analyzer_printState();
  (void)(a * b * c * d);
  return;
}

// CHECK:      "equivalence_classes": [
// CHECK-NEXT:     [ "(reg_$0<int a>) != (reg_$5<int c>)" ],
// CHECK-NEXT:     [ "reg_$0<int a>", "reg_$20<int d>", "reg_$5<int c>" ]
// CHECK-NEXT: ],
