_Z19fast_is_permutationIPKhNSt3__111__wrap_iterIS1_EEvvEbT_S5_T0_:
   96|     29|bool fast_is_permutation(Iter1 first1, Iter1 last1, Iter2 first2) {
   97|     29|  std::size_t xBuckets[256] = {0};
   98|     29|  std::size_t yBuckets[256] = {0};
   99|       |
  100|  4.19M|  for (; first1 != last1; ++first1, ++first2) {
  ------------------
  |  Branch (100:10): [True: 4.19M, False: 29]
  ------------------
  101|  4.19M|    xBuckets[*first1]++;
  102|  4.19M|    yBuckets[*first2]++;
  103|  4.19M|  }
  104|       |
  105|  7.45k|  for (std::size_t i = 0; i < 256; ++i)
  ------------------
  |  Branch (105:27): [True: 7.42k, False: 29]
  ------------------
  106|  7.42k|    if (xBuckets[i] != yBuckets[i])
  ------------------
  |  Branch (106:9): [True: 0, False: 7.42k]
  ------------------
  107|      0|      return false;
  108|       |
  109|     29|  return true;
  110|     29|}

LLVMFuzzerTestOneInput:
   18|     29|extern "C" int LLVMFuzzerTestOneInput(const std::uint8_t *data, std::size_t size) {
   19|     29|    std::vector<std::uint8_t> working(data, data + size);
   20|     29|    std::sort(working.begin(), working.end());
   21|       |
   22|     29|    if (!std::is_sorted(working.begin(), working.end()))
  ------------------
  |  Branch (22:9): [True: 0, False: 29]
  ------------------
   23|      0|        return 1;
   24|     29|    if (!fast_is_permutation(data, data + size, working.cbegin()))
  ------------------
  |  Branch (24:9): [True: 0, False: 29]
  ------------------
   25|      0|        return 99;
   26|     29|    return 0;
   27|     29|}

