@Test
public void testMakeInBoundsUintClampRemoved() throws Exception {

  final TranslationUnit tu = ParseHelper.parse("#version 310 es\n"
      + "void main() {\n"
      + "  float A[4];\n"
      + "  A[_GLF_MAKE_IN_BOUNDS_UINT(A[_GLF_MAKE_IN_BOUNDS_UINT(3u, 4u)], 4u)] =\n"
      + "      A[_GLF_MAKE_IN_BOUNDS_UINT(uint(1 + 2), 4u)];\n"
      + "}\n"
  );
  final String expected = "#version 310 es\n"
      + "void main() {\n"
      + "  float A[4];\n"
      + "  A[clamp(A[clamp(3u, 0u, 4u - 1u)], 0u, 4u - 1u)] =\n"
      + "      A[clamp(uint(1 + 2), 0u, 4u - 1u)];\n"
      + "}\n";
  final TranslationUnit simplifiedTu = Simplify.simplify(tu);
  CompareAsts.assertEqualAsts(expected, simplifiedTu);
}