static void free_blocks_check(void) {
  umm_info(NULL, 0);
  {
    size_t actual = ummHeapInfo.freeBlocks;
    size_t calculated = umm_stat.free_blocks_cnt;
    if (actual != calculated) {
      fprintf(stderr, "free blocks mismatch: actual=%d, calculated=%d\n",
              (int) actual, (int) calculated);
      exit(1);
    }
  }

  {
    int actual = ummHeapInfo.freeEntries;
    int calculated = umm_free_entries_cnt();
    if (actual != calculated) {
      fprintf(stderr, "free entries mismatch: actual=%d, calculated=%d\n",
              actual, calculated);
      exit(1);
    }
  }
}
static void free_blocks_check(void) {
  umm_info(NULL, 0);
  {
    size_t actual = ummHeapInfo.freeBlocks;
    size_t calculated = umm_stat.free_blocks_cnt;
    if (actual != calculated) {
      fprintf(stderr, "free blocks mismatch: actual=%d, calculated=%d\n",
              (int) actual, (int) calculated);
      exit(1);
    }
  }

  {
    int actual = ummHeapInfo.freeEntries;
    int calculated = umm_free_entries_cnt();
    if (actual != calculated) {
      fprintf(stderr, "free entries mismatch: actual=%d, calculated=%d\n",
              actual, calculated);
      exit(1);
    }
  }
}