#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */
typedef int /*<<< orphan*/ atomic_wchar_t;
typedef int /*<<< orphan*/ atomic_ushort;
typedef int /*<<< orphan*/ atomic_ulong;
typedef int /*<<< orphan*/ atomic_ullong;
typedef int /*<<< orphan*/ atomic_uintptr_t;
typedef int /*<<< orphan*/ atomic_uintmax_t;
typedef int /*<<< orphan*/ atomic_uint_least8_t;
typedef int /*<<< orphan*/ atomic_uint_least64_t;
typedef int /*<<< orphan*/ atomic_uint_least32_t;
typedef int /*<<< orphan*/ atomic_uint_least16_t;
typedef int /*<<< orphan*/ atomic_uint_fast8_t;
typedef int /*<<< orphan*/ atomic_uint_fast64_t;
typedef int /*<<< orphan*/ atomic_uint_fast32_t;
typedef int /*<<< orphan*/ atomic_uint_fast16_t;
typedef int /*<<< orphan*/ atomic_uint;
typedef int /*<<< orphan*/ atomic_uchar;
typedef int /*<<< orphan*/ atomic_size_t;
typedef int /*<<< orphan*/ atomic_short;
typedef int /*<<< orphan*/ atomic_schar;
typedef int /*<<< orphan*/ atomic_ptrdiff_t;
typedef int /*<<< orphan*/ atomic_long;
typedef int /*<<< orphan*/ atomic_llong;
typedef int /*<<< orphan*/ atomic_intptr_t;
typedef int /*<<< orphan*/ atomic_intmax_t;
typedef int /*<<< orphan*/ atomic_int_least8_t;
typedef int /*<<< orphan*/ atomic_int_least64_t;
typedef int /*<<< orphan*/ atomic_int_least32_t;
typedef int /*<<< orphan*/ atomic_int_least16_t;
typedef int /*<<< orphan*/ atomic_int_fast8_t;
typedef int /*<<< orphan*/ atomic_int_fast64_t;
typedef int /*<<< orphan*/ atomic_int_fast32_t;
typedef int /*<<< orphan*/ atomic_int_fast16_t;
typedef int /*<<< orphan*/ atomic_int;
typedef int /*<<< orphan*/ atomic_char32_t;
typedef int /*<<< orphan*/ atomic_char16_t;
typedef int /*<<< orphan*/ atomic_char;
typedef int /*<<< orphan*/ atomic_bool;

/* Variables and functions */
int /*<<< orphan*/ atomic_fetch_add(int /*<<< orphan*/ *, int);
int /*<<< orphan*/ atomic_fetch_and(int /*<<< orphan*/ *, int);
int /*<<< orphan*/ atomic_fetch_or(int /*<<< orphan*/ *, int);
int /*<<< orphan*/ atomic_fetch_sub(int /*<<< orphan*/ *, int);
int /*<<< orphan*/ atomic_fetch_xor(int /*<<< orphan*/ *, int);
int /*<<< orphan*/ atomic_init(int /*<<< orphan*/ *, int);
int /*<<< orphan*/ atomic_is_lock_free(int /*<<< orphan*/ *);
scalar_t__ atomic_load(int /*<<< orphan*/ *);
int /*<<< orphan*/ atomic_store(int /*<<< orphan*/ *, int);
int /*<<< orphan*/ printf(char *, ...);
void types(void) {
  atomic_bool abool;
  printf("atomic_bool %zu lockfree: %d\n", sizeof(atomic_bool),
         atomic_is_lock_free(&abool));
  do {
    atomic_char v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_char",
           sizeof(atomic_char), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uchar v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uchar",
           sizeof(atomic_uchar), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_schar v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_schar",
           sizeof(atomic_schar), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_short v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_short",
           sizeof(atomic_short), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_ushort v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_ushort",
           sizeof(atomic_ushort), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int", sizeof(atomic_int),
           (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint",
           sizeof(atomic_uint), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_long v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_long",
           sizeof(atomic_long), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_ulong v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_ulong",
           sizeof(atomic_ulong), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_llong v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_llong",
           sizeof(atomic_llong), (int)atomic_load(&v), atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_ullong v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_ullong",
           sizeof(atomic_ullong), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_char16_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_char16_t",
           sizeof(atomic_char16_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_char32_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_char32_t",
           sizeof(atomic_char32_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_wchar_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_wchar_t",
           sizeof(atomic_wchar_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_least8_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_least8_t",
           sizeof(atomic_int_least8_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_least8_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_least8_t",
           sizeof(atomic_uint_least8_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_least16_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_least16_t",
           sizeof(atomic_int_least16_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_least16_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_least16_t",
           sizeof(atomic_uint_least16_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_least32_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_least32_t",
           sizeof(atomic_int_least32_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_least32_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_least32_t",
           sizeof(atomic_uint_least32_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_least64_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_least64_t",
           sizeof(atomic_int_least64_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_least64_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_least64_t",
           sizeof(atomic_uint_least64_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_fast8_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_fast8_t",
           sizeof(atomic_int_fast8_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_fast8_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_fast8_t",
           sizeof(atomic_uint_fast8_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_fast16_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_fast16_t",
           sizeof(atomic_int_fast16_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_fast16_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_fast16_t",
           sizeof(atomic_uint_fast16_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_fast32_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_fast32_t",
           sizeof(atomic_int_fast32_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_fast32_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_fast32_t",
           sizeof(atomic_uint_fast32_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_int_fast64_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_int_fast64_t",
           sizeof(atomic_int_fast64_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uint_fast64_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uint_fast64_t",
           sizeof(atomic_uint_fast64_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_intptr_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_intptr_t",
           sizeof(atomic_intptr_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uintptr_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uintptr_t",
           sizeof(atomic_uintptr_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_size_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_size_t",
           sizeof(atomic_size_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_ptrdiff_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_ptrdiff_t",
           sizeof(atomic_ptrdiff_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_intmax_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_intmax_t",
           sizeof(atomic_intmax_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
  do {
    atomic_uintmax_t v;
    atomic_init(&v, 0x1);
    atomic_store(&v, 0xff);
    atomic_fetch_or(&v, 0xff);
    atomic_fetch_and(&v, 0x3f);
    atomic_fetch_add(&v, 0x3f);
    atomic_fetch_sub(&v, 0xf);
    atomic_fetch_xor(&v, 0xff);
    printf("%s: %zu value: %d lockfree: %d\n", "atomic_uintmax_t",
           sizeof(atomic_uintmax_t), (int)atomic_load(&v),
           atomic_is_lock_free(&v));
  } while (0);
  ;
}


x86 assembly (clang, -O0):
<types>:
push   %rbp
mov    %rsp,%rbp
sub    $0x130,%rsp
lea    -0x4(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    %eax,%edx
lea    0x1e43(%rip),%rdi
mov    $0x4,%esi
mov    $0x0,%al
call   1060 <printf@plt>
lea    -0x8(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x8(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x8(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x8(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x8(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x8(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x8(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x8(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x98(%rbp)
lea    -0x8(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x98(%rbp),%ecx
mov    %eax,%r8d
lea    0x1dcb(%rip),%rdi
lea    0x1de4(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    126b <types+0xcb>
lea    -0xc(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0xc(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0xc(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0xc(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0xc(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0xc(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0xc(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0xc(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x9c(%rbp)
lea    -0xc(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x9c(%rbp),%ecx
mov    %eax,%r8d
lea    0x1d29(%rip),%rdi
lea    0x1d4e(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    130d <types+0x16d>
lea    -0x10(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x10(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x10(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x10(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x10(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x10(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x10(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x10(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xa0(%rbp)
lea    -0x10(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xa0(%rbp),%ecx
mov    %eax,%r8d
lea    0x1c87(%rip),%rdi
lea    0x1cb9(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    13af <types+0x20f>
lea    -0x14(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x14(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x14(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x14(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x14(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x14(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x14(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x14(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xa4(%rbp)
lea    -0x14(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xa4(%rbp),%ecx
mov    %eax,%r8d
lea    0x1be5(%rip),%rdi
lea    0x1c24(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1451 <types+0x2b1>
lea    -0x18(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x18(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x18(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x18(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x18(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x18(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x18(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x18(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xa8(%rbp)
lea    -0x18(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xa8(%rbp),%ecx
mov    %eax,%r8d
lea    0x1b43(%rip),%rdi
lea    0x1b8f(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    14f3 <types+0x353>
lea    -0x1c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x1c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x1c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x1c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x1c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x1c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x1c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x1c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xac(%rbp)
lea    -0x1c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xac(%rbp),%ecx
mov    %eax,%r8d
lea    0x1aa1(%rip),%rdi
lea    0x1afb(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1595 <types+0x3f5>
lea    -0x20(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x20(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x20(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x20(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x20(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x20(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x20(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x20(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xb0(%rbp)
lea    -0x20(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xb0(%rbp),%ecx
mov    %eax,%r8d
lea    0x19ff(%rip),%rdi
lea    0x1a64(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1637 <types+0x497>
lea    -0x24(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x24(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x24(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x24(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x24(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x24(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x24(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x24(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xb4(%rbp)
lea    -0x24(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xb4(%rbp),%ecx
mov    %eax,%r8d
lea    0x195d(%rip),%rdi
lea    0x19ce(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    16d9 <types+0x539>
lea    -0x28(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x28(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x28(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x28(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x28(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x28(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x28(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x28(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xb8(%rbp)
lea    -0x28(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xb8(%rbp),%ecx
mov    %eax,%r8d
lea    0x18bb(%rip),%rdi
lea    0x1938(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    177b <types+0x5db>
lea    -0x2c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x2c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x2c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x2c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x2c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x2c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x2c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x2c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xbc(%rbp)
lea    -0x2c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xbc(%rbp),%ecx
mov    %eax,%r8d
lea    0x1819(%rip),%rdi
lea    0x18a3(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    181d <types+0x67d>
lea    -0x30(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x30(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x30(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x30(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x30(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x30(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x30(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x30(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xc0(%rbp)
lea    -0x30(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xc0(%rbp),%ecx
mov    %eax,%r8d
lea    0x1777(%rip),%rdi
lea    0x180e(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    18bf <types+0x71f>
lea    -0x34(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x34(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x34(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x34(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x34(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x34(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x34(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x34(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xc4(%rbp)
lea    -0x34(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xc4(%rbp),%ecx
mov    %eax,%r8d
lea    0x16d5(%rip),%rdi
lea    0x177a(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1961 <types+0x7c1>
lea    -0x38(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x38(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x38(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x38(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x38(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x38(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x38(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x38(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xc8(%rbp)
lea    -0x38(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xc8(%rbp),%ecx
mov    %eax,%r8d
lea    0x1633(%rip),%rdi
lea    0x16e8(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1a03 <types+0x863>
lea    -0x3c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x3c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x3c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x3c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x3c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x3c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x3c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x3c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xcc(%rbp)
lea    -0x3c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xcc(%rbp),%ecx
mov    %eax,%r8d
lea    0x1591(%rip),%rdi
lea    0x1656(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1aa5 <types+0x905>
lea    -0x40(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x40(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x40(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x40(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x40(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x40(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x40(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x40(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xd0(%rbp)
lea    -0x40(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xd0(%rbp),%ecx
mov    %eax,%r8d
lea    0x14ef(%rip),%rdi
lea    0x15c3(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1b47 <types+0x9a7>
lea    -0x44(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x44(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x44(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x44(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x44(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x44(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x44(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x44(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xd4(%rbp)
lea    -0x44(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xd4(%rbp),%ecx
mov    %eax,%r8d
lea    0x144d(%rip),%rdi
lea    0x1535(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1be9 <types+0xa49>
lea    -0x48(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x48(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x48(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x48(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x48(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x48(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x48(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x48(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xd8(%rbp)
lea    -0x48(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xd8(%rbp),%ecx
mov    %eax,%r8d
lea    0x13ab(%rip),%rdi
lea    0x14a8(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1c8b <types+0xaeb>
lea    -0x4c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x4c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x4c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x4c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x4c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x4c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x4c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x4c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xdc(%rbp)
lea    -0x4c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xdc(%rbp),%ecx
mov    %eax,%r8d
lea    0x1309(%rip),%rdi
lea    0x141b(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1d2d <types+0xb8d>
lea    -0x50(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x50(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x50(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x50(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x50(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x50(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x50(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x50(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xe0(%rbp)
lea    -0x50(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xe0(%rbp),%ecx
mov    %eax,%r8d
lea    0x1267(%rip),%rdi
lea    0x138f(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1dcf <types+0xc2f>
lea    -0x54(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x54(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x54(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x54(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x54(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x54(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x54(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x54(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xe4(%rbp)
lea    -0x54(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xe4(%rbp),%ecx
mov    %eax,%r8d
lea    0x11c5(%rip),%rdi
lea    0x1302(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1e71 <types+0xcd1>
lea    -0x58(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x58(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x58(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x58(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x58(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x58(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x58(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x58(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xe8(%rbp)
lea    -0x58(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xe8(%rbp),%ecx
mov    %eax,%r8d
lea    0x1123(%rip),%rdi
lea    0x1276(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1f13 <types+0xd73>
lea    -0x5c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x5c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x5c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x5c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x5c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x5c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x5c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x5c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xec(%rbp)
lea    -0x5c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xec(%rbp),%ecx
mov    %eax,%r8d
lea    0x1081(%rip),%rdi
lea    0x11e9(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    1fb5 <types+0xe15>
lea    -0x60(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x60(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x60(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x60(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x60(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x60(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x60(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x60(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xf0(%rbp)
lea    -0x60(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xf0(%rbp),%ecx
mov    %eax,%r8d
lea    0xfdf(%rip),%rdi
lea    0x115d(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    2057 <types+0xeb7>
lea    -0x64(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x64(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x64(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x64(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x64(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x64(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x64(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x64(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xf4(%rbp)
lea    -0x64(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xf4(%rbp),%ecx
mov    %eax,%r8d
lea    0xf3d(%rip),%rdi
lea    0x10ce(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    20f9 <types+0xf59>
lea    -0x68(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x68(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x68(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x68(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x68(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x68(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x68(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x68(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xf8(%rbp)
lea    -0x68(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xf8(%rbp),%ecx
mov    %eax,%r8d
lea    0xe9b(%rip),%rdi
lea    0x1040(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    219b <types+0xffb>
lea    -0x6c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x6c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x6c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x6c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x6c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x6c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x6c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x6c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0xfc(%rbp)
lea    -0x6c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0xfc(%rbp),%ecx
mov    %eax,%r8d
lea    0xdf9(%rip),%rdi
lea    0xfb2(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    223d <types+0x109d>
lea    -0x70(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x70(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x70(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x70(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x70(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x70(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x70(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x70(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x100(%rbp)
lea    -0x70(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x100(%rbp),%ecx
mov    %eax,%r8d
lea    0xd57(%rip),%rdi
lea    0xf25(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    22df <types+0x113f>
lea    -0x74(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x74(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x74(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x74(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x74(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x74(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x74(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x74(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x104(%rbp)
lea    -0x74(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x104(%rbp),%ecx
mov    %eax,%r8d
lea    0xcb5(%rip),%rdi
lea    0xe97(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    2381 <types+0x11e1>
lea    -0x78(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x78(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x78(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x78(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x78(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x78(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x78(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x78(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x108(%rbp)
lea    -0x78(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x108(%rbp),%ecx
mov    %eax,%r8d
lea    0xc13(%rip),%rdi
lea    0xe0a(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    2423 <types+0x1283>
lea    -0x7c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x7c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x7c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x7c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x7c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x7c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x7c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x7c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x10c(%rbp)
lea    -0x7c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x10c(%rbp),%ecx
mov    %eax,%r8d
lea    0xb71(%rip),%rdi
lea    0xd7c(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    24c5 <types+0x1325>
lea    -0x80(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x80(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x80(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x80(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x80(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x80(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x80(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x80(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x110(%rbp)
lea    -0x80(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x110(%rbp),%ecx
mov    %eax,%r8d
lea    0xacf(%rip),%rdi
lea    0xcef(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    2567 <types+0x13c7>
lea    -0x84(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x84(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x84(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x84(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x84(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x84(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x84(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x84(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x114(%rbp)
lea    -0x84(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x114(%rbp),%ecx
mov    %eax,%r8d
lea    0xa12(%rip),%rdi
lea    0xc42(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    2624 <types+0x1484>
lea    -0x88(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x88(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x88(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x88(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x88(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x88(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x88(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x88(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x118(%rbp)
lea    -0x88(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x118(%rbp),%ecx
mov    %eax,%r8d
lea    0x955(%rip),%rdi
lea    0xb96(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    26e1 <types+0x1541>
lea    -0x8c(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x8c(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x8c(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x8c(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x8c(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x8c(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x8c(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x8c(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x11c(%rbp)
lea    -0x8c(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x11c(%rbp),%ecx
mov    %eax,%r8d
lea    0x898(%rip),%rdi
lea    0xae7(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    279e <types+0x15fe>
lea    -0x90(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x90(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x90(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x90(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x90(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x90(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x90(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x90(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x120(%rbp)
lea    -0x90(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x120(%rbp),%ecx
mov    %eax,%r8d
lea    0x7db(%rip),%rdi
lea    0xa3b(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
jmp    285b <types+0x16bb>
lea    -0x94(%rbp),%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
lea    -0x94(%rbp),%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
lea    -0x94(%rbp),%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
lea    -0x94(%rbp),%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
lea    -0x94(%rbp),%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
lea    -0x94(%rbp),%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
lea    -0x94(%rbp),%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
lea    -0x94(%rbp),%rdi
call   1080 <atomic_load@plt>
mov    %eax,-0x124(%rbp)
lea    -0x94(%rbp),%rdi
call   1050 <atomic_is_lock_free@plt>
mov    -0x124(%rbp),%ecx
mov    %eax,%r8d
lea    0x71e(%rip),%rdi
lea    0x98e(%rip),%rsi
mov    $0x4,%edx
mov    $0x0,%al
call   1060 <printf@plt>
add    $0x130,%rsp
pop    %rbp
ret

x86 assembly (clang, -O2):
<types>:
push   %r15
push   %r14
push   %rbx
sub    $0x10,%rsp
lea    0xc(%rsp),%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1e46(%rip),%rdi
mov    $0x4,%esi
mov    %eax,%edx
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1ddc(%rip),%r14
lea    0x1df5(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1d72(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1cf0(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1c6e(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1bec(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1b6b(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1ae7(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1a64(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x19e1(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x195f(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x18dd(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x185c(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x17dd(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x175e(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x16de(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1663(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x15e9(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x156f(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x14f6(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x147c(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1403(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1389(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1310(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1294(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1219(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x119e(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x1124(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x10a9(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0x102f(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0xfb4(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0xf3a(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0xebb(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0xe3d(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0xdbc(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0xd3e(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
lea    0x8(%rsp),%rbx
mov    %rbx,%rdi
mov    $0x1,%esi
call   10c0 <atomic_init@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   1030 <atomic_store@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10b0 <atomic_fetch_or@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1090 <atomic_fetch_and@plt>
mov    %rbx,%rdi
mov    $0x3f,%esi
call   1070 <atomic_fetch_add@plt>
mov    %rbx,%rdi
mov    $0xf,%esi
call   1040 <atomic_fetch_sub@plt>
mov    %rbx,%rdi
mov    $0xff,%esi
call   10a0 <atomic_fetch_xor@plt>
mov    %rbx,%rdi
call   1080 <atomic_load@plt>
mov    %rax,%r15
mov    %rbx,%rdi
call   1050 <atomic_is_lock_free@plt>
lea    0xcbf(%rip),%rsi
mov    $0x4,%edx
mov    %r14,%rdi
mov    %r15d,%ecx
mov    %eax,%r8d
xor    %eax,%eax
call   1060 <printf@plt>
add    $0x10,%rsp
pop    %rbx
pop    %r14
pop    %r15
ret

LLVM IR (-O0):
@.str = [30 x i8] c"atomic_bool %zu lockfree: %d\0A\00"
@.str.1 = [32 x i8] c"%s: %zu value: %d lockfree: %d\0A\00"
@.str.2 = [12 x i8] c"atomic_char\00"
@.str.3 = [13 x i8] c"atomic_uchar\00"
@.str.4 = [13 x i8] c"atomic_schar\00"
@.str.5 = [13 x i8] c"atomic_short\00"
@.str.6 = [14 x i8] c"atomic_ushort\00"
@.str.7 = [11 x i8] c"atomic_int\00"
@.str.8 = [12 x i8] c"atomic_uint\00"
@.str.9 = [12 x i8] c"atomic_long\00"
@.str.10 = [13 x i8] c"atomic_ulong\00"
@.str.11 = [13 x i8] c"atomic_llong\00"
@.str.12 = [14 x i8] c"atomic_ullong\00"
@.str.13 = [16 x i8] c"atomic_char16_t\00"
@.str.14 = [16 x i8] c"atomic_char32_t\00"
@.str.15 = [15 x i8] c"atomic_wchar_t\00"
@.str.16 = [20 x i8] c"atomic_int_least8_t\00"
@.str.17 = [21 x i8] c"atomic_uint_least8_t\00"
@.str.18 = [21 x i8] c"atomic_int_least16_t\00"
@.str.19 = [22 x i8] c"atomic_uint_least16_t\00"
@.str.20 = [21 x i8] c"atomic_int_least32_t\00"
@.str.21 = [22 x i8] c"atomic_uint_least32_t\00"
@.str.22 = [21 x i8] c"atomic_int_least64_t\00"
@.str.23 = [22 x i8] c"atomic_uint_least64_t\00"
@.str.24 = [19 x i8] c"atomic_int_fast8_t\00"
@.str.25 = [20 x i8] c"atomic_uint_fast8_t\00"
@.str.26 = [20 x i8] c"atomic_int_fast16_t\00"
@.str.27 = [21 x i8] c"atomic_uint_fast16_t\00"
@.str.28 = [20 x i8] c"atomic_int_fast32_t\00"
@.str.29 = [21 x i8] c"atomic_uint_fast32_t\00"
@.str.30 = [20 x i8] c"atomic_int_fast64_t\00"
@.str.31 = [21 x i8] c"atomic_uint_fast64_t\00"
@.str.32 = [16 x i8] c"atomic_intptr_t\00"
@.str.33 = [17 x i8] c"atomic_uintptr_t\00"
@.str.34 = [14 x i8] c"atomic_size_t\00"
@.str.35 = [17 x i8] c"atomic_ptrdiff_t\00"
@.str.36 = [16 x i8] c"atomic_intmax_t\00"
@.str.37 = [17 x i8] c"atomic_uintmax_t\00"
define void @types() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i32
%29 = alloca i32
%30 = alloca i32
%31 = alloca i32
%32 = alloca i32
%33 = alloca i32
%34 = alloca i32
%35 = alloca i32
%36 = alloca i32
%37 = alloca i32
%38 = call i32 @atomic_is_lock_free(i32* %1)
%39 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([30 x i8], [30 x i8]* @.str, i64 0, i64 0), i64 4, i32 %38)
br label %40
40: ; preds = %0
%41 = call i32 @atomic_init(i32* %2, i32 1)
%42 = call i32 @atomic_store(i32* %2, i32 255)
%43 = call i32 @atomic_fetch_or(i32* %2, i32 255)
%44 = call i32 @atomic_fetch_and(i32* %2, i32 63)
%45 = call i32 @atomic_fetch_add(i32* %2, i32 63)
%46 = call i32 @atomic_fetch_sub(i32* %2, i32 15)
%47 = call i32 @atomic_fetch_xor(i32* %2, i32 255)
%48 = call i64 @atomic_load(i32* %2)
%49 = trunc i64 %48 to i32
%50 = call i32 @atomic_is_lock_free(i32* %2)
%51 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.2, i64 0, i64 0), i64 4, i32 %49, i32 %50)
br label %52
52: ; preds = %40
br label %53
53: ; preds = %52
%54 = call i32 @atomic_init(i32* %3, i32 1)
%55 = call i32 @atomic_store(i32* %3, i32 255)
%56 = call i32 @atomic_fetch_or(i32* %3, i32 255)
%57 = call i32 @atomic_fetch_and(i32* %3, i32 63)
%58 = call i32 @atomic_fetch_add(i32* %3, i32 63)
%59 = call i32 @atomic_fetch_sub(i32* %3, i32 15)
%60 = call i32 @atomic_fetch_xor(i32* %3, i32 255)
%61 = call i64 @atomic_load(i32* %3)
%62 = trunc i64 %61 to i32
%63 = call i32 @atomic_is_lock_free(i32* %3)
%64 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3, i64 0, i64 0), i64 4, i32 %62, i32 %63)
br label %65
65: ; preds = %53
br label %66
66: ; preds = %65
%67 = call i32 @atomic_init(i32* %4, i32 1)
%68 = call i32 @atomic_store(i32* %4, i32 255)
%69 = call i32 @atomic_fetch_or(i32* %4, i32 255)
%70 = call i32 @atomic_fetch_and(i32* %4, i32 63)
%71 = call i32 @atomic_fetch_add(i32* %4, i32 63)
%72 = call i32 @atomic_fetch_sub(i32* %4, i32 15)
%73 = call i32 @atomic_fetch_xor(i32* %4, i32 255)
%74 = call i64 @atomic_load(i32* %4)
%75 = trunc i64 %74 to i32
%76 = call i32 @atomic_is_lock_free(i32* %4)
%77 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i64 4, i32 %75, i32 %76)
br label %78
78: ; preds = %66
br label %79
79: ; preds = %78
%80 = call i32 @atomic_init(i32* %5, i32 1)
%81 = call i32 @atomic_store(i32* %5, i32 255)
%82 = call i32 @atomic_fetch_or(i32* %5, i32 255)
%83 = call i32 @atomic_fetch_and(i32* %5, i32 63)
%84 = call i32 @atomic_fetch_add(i32* %5, i32 63)
%85 = call i32 @atomic_fetch_sub(i32* %5, i32 15)
%86 = call i32 @atomic_fetch_xor(i32* %5, i32 255)
%87 = call i64 @atomic_load(i32* %5)
%88 = trunc i64 %87 to i32
%89 = call i32 @atomic_is_lock_free(i32* %5)
%90 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i64 4, i32 %88, i32 %89)
br label %91
91: ; preds = %79
br label %92
92: ; preds = %91
%93 = call i32 @atomic_init(i32* %6, i32 1)
%94 = call i32 @atomic_store(i32* %6, i32 255)
%95 = call i32 @atomic_fetch_or(i32* %6, i32 255)
%96 = call i32 @atomic_fetch_and(i32* %6, i32 63)
%97 = call i32 @atomic_fetch_add(i32* %6, i32 63)
%98 = call i32 @atomic_fetch_sub(i32* %6, i32 15)
%99 = call i32 @atomic_fetch_xor(i32* %6, i32 255)
%100 = call i64 @atomic_load(i32* %6)
%101 = trunc i64 %100 to i32
%102 = call i32 @atomic_is_lock_free(i32* %6)
%103 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i64 4, i32 %101, i32 %102)
br label %104
104: ; preds = %92
br label %105
105: ; preds = %104
%106 = call i32 @atomic_init(i32* %7, i32 1)
%107 = call i32 @atomic_store(i32* %7, i32 255)
%108 = call i32 @atomic_fetch_or(i32* %7, i32 255)
%109 = call i32 @atomic_fetch_and(i32* %7, i32 63)
%110 = call i32 @atomic_fetch_add(i32* %7, i32 63)
%111 = call i32 @atomic_fetch_sub(i32* %7, i32 15)
%112 = call i32 @atomic_fetch_xor(i32* %7, i32 255)
%113 = call i64 @atomic_load(i32* %7)
%114 = trunc i64 %113 to i32
%115 = call i32 @atomic_is_lock_free(i32* %7)
%116 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7, i64 0, i64 0), i64 4, i32 %114, i32 %115)
br label %117
117: ; preds = %105
br label %118
118: ; preds = %117
%119 = call i32 @atomic_init(i32* %8, i32 1)
%120 = call i32 @atomic_store(i32* %8, i32 255)
%121 = call i32 @atomic_fetch_or(i32* %8, i32 255)
%122 = call i32 @atomic_fetch_and(i32* %8, i32 63)
%123 = call i32 @atomic_fetch_add(i32* %8, i32 63)
%124 = call i32 @atomic_fetch_sub(i32* %8, i32 15)
%125 = call i32 @atomic_fetch_xor(i32* %8, i32 255)
%126 = call i64 @atomic_load(i32* %8)
%127 = trunc i64 %126 to i32
%128 = call i32 @atomic_is_lock_free(i32* %8)
%129 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.8, i64 0, i64 0), i64 4, i32 %127, i32 %128)
br label %130
130: ; preds = %118
br label %131
131: ; preds = %130
%132 = call i32 @atomic_init(i32* %9, i32 1)
%133 = call i32 @atomic_store(i32* %9, i32 255)
%134 = call i32 @atomic_fetch_or(i32* %9, i32 255)
%135 = call i32 @atomic_fetch_and(i32* %9, i32 63)
%136 = call i32 @atomic_fetch_add(i32* %9, i32 63)
%137 = call i32 @atomic_fetch_sub(i32* %9, i32 15)
%138 = call i32 @atomic_fetch_xor(i32* %9, i32 255)
%139 = call i64 @atomic_load(i32* %9)
%140 = trunc i64 %139 to i32
%141 = call i32 @atomic_is_lock_free(i32* %9)
%142 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9, i64 0, i64 0), i64 4, i32 %140, i32 %141)
br label %143
143: ; preds = %131
br label %144
144: ; preds = %143
%145 = call i32 @atomic_init(i32* %10, i32 1)
%146 = call i32 @atomic_store(i32* %10, i32 255)
%147 = call i32 @atomic_fetch_or(i32* %10, i32 255)
%148 = call i32 @atomic_fetch_and(i32* %10, i32 63)
%149 = call i32 @atomic_fetch_add(i32* %10, i32 63)
%150 = call i32 @atomic_fetch_sub(i32* %10, i32 15)
%151 = call i32 @atomic_fetch_xor(i32* %10, i32 255)
%152 = call i64 @atomic_load(i32* %10)
%153 = trunc i64 %152 to i32
%154 = call i32 @atomic_is_lock_free(i32* %10)
%155 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.10, i64 0, i64 0), i64 4, i32 %153, i32 %154)
br label %156
156: ; preds = %144
br label %157
157: ; preds = %156
%158 = call i32 @atomic_init(i32* %11, i32 1)
%159 = call i32 @atomic_store(i32* %11, i32 255)
%160 = call i32 @atomic_fetch_or(i32* %11, i32 255)
%161 = call i32 @atomic_fetch_and(i32* %11, i32 63)
%162 = call i32 @atomic_fetch_add(i32* %11, i32 63)
%163 = call i32 @atomic_fetch_sub(i32* %11, i32 15)
%164 = call i32 @atomic_fetch_xor(i32* %11, i32 255)
%165 = call i64 @atomic_load(i32* %11)
%166 = trunc i64 %165 to i32
%167 = call i32 @atomic_is_lock_free(i32* %11)
%168 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.11, i64 0, i64 0), i64 4, i32 %166, i32 %167)
br label %169
169: ; preds = %157
br label %170
170: ; preds = %169
%171 = call i32 @atomic_init(i32* %12, i32 1)
%172 = call i32 @atomic_store(i32* %12, i32 255)
%173 = call i32 @atomic_fetch_or(i32* %12, i32 255)
%174 = call i32 @atomic_fetch_and(i32* %12, i32 63)
%175 = call i32 @atomic_fetch_add(i32* %12, i32 63)
%176 = call i32 @atomic_fetch_sub(i32* %12, i32 15)
%177 = call i32 @atomic_fetch_xor(i32* %12, i32 255)
%178 = call i64 @atomic_load(i32* %12)
%179 = trunc i64 %178 to i32
%180 = call i32 @atomic_is_lock_free(i32* %12)
%181 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.12, i64 0, i64 0), i64 4, i32 %179, i32 %180)
br label %182
182: ; preds = %170
br label %183
183: ; preds = %182
%184 = call i32 @atomic_init(i32* %13, i32 1)
%185 = call i32 @atomic_store(i32* %13, i32 255)
%186 = call i32 @atomic_fetch_or(i32* %13, i32 255)
%187 = call i32 @atomic_fetch_and(i32* %13, i32 63)
%188 = call i32 @atomic_fetch_add(i32* %13, i32 63)
%189 = call i32 @atomic_fetch_sub(i32* %13, i32 15)
%190 = call i32 @atomic_fetch_xor(i32* %13, i32 255)
%191 = call i64 @atomic_load(i32* %13)
%192 = trunc i64 %191 to i32
%193 = call i32 @atomic_is_lock_free(i32* %13)
%194 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.13, i64 0, i64 0), i64 4, i32 %192, i32 %193)
br label %195
195: ; preds = %183
br label %196
196: ; preds = %195
%197 = call i32 @atomic_init(i32* %14, i32 1)
%198 = call i32 @atomic_store(i32* %14, i32 255)
%199 = call i32 @atomic_fetch_or(i32* %14, i32 255)
%200 = call i32 @atomic_fetch_and(i32* %14, i32 63)
%201 = call i32 @atomic_fetch_add(i32* %14, i32 63)
%202 = call i32 @atomic_fetch_sub(i32* %14, i32 15)
%203 = call i32 @atomic_fetch_xor(i32* %14, i32 255)
%204 = call i64 @atomic_load(i32* %14)
%205 = trunc i64 %204 to i32
%206 = call i32 @atomic_is_lock_free(i32* %14)
%207 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i64 4, i32 %205, i32 %206)
br label %208
208: ; preds = %196
br label %209
209: ; preds = %208
%210 = call i32 @atomic_init(i32* %15, i32 1)
%211 = call i32 @atomic_store(i32* %15, i32 255)
%212 = call i32 @atomic_fetch_or(i32* %15, i32 255)
%213 = call i32 @atomic_fetch_and(i32* %15, i32 63)
%214 = call i32 @atomic_fetch_add(i32* %15, i32 63)
%215 = call i32 @atomic_fetch_sub(i32* %15, i32 15)
%216 = call i32 @atomic_fetch_xor(i32* %15, i32 255)
%217 = call i64 @atomic_load(i32* %15)
%218 = trunc i64 %217 to i32
%219 = call i32 @atomic_is_lock_free(i32* %15)
%220 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.15, i64 0, i64 0), i64 4, i32 %218, i32 %219)
br label %221
221: ; preds = %209
br label %222
222: ; preds = %221
%223 = call i32 @atomic_init(i32* %16, i32 1)
%224 = call i32 @atomic_store(i32* %16, i32 255)
%225 = call i32 @atomic_fetch_or(i32* %16, i32 255)
%226 = call i32 @atomic_fetch_and(i32* %16, i32 63)
%227 = call i32 @atomic_fetch_add(i32* %16, i32 63)
%228 = call i32 @atomic_fetch_sub(i32* %16, i32 15)
%229 = call i32 @atomic_fetch_xor(i32* %16, i32 255)
%230 = call i64 @atomic_load(i32* %16)
%231 = trunc i64 %230 to i32
%232 = call i32 @atomic_is_lock_free(i32* %16)
%233 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16, i64 0, i64 0), i64 4, i32 %231, i32 %232)
br label %234
234: ; preds = %222
br label %235
235: ; preds = %234
%236 = call i32 @atomic_init(i32* %17, i32 1)
%237 = call i32 @atomic_store(i32* %17, i32 255)
%238 = call i32 @atomic_fetch_or(i32* %17, i32 255)
%239 = call i32 @atomic_fetch_and(i32* %17, i32 63)
%240 = call i32 @atomic_fetch_add(i32* %17, i32 63)
%241 = call i32 @atomic_fetch_sub(i32* %17, i32 15)
%242 = call i32 @atomic_fetch_xor(i32* %17, i32 255)
%243 = call i64 @atomic_load(i32* %17)
%244 = trunc i64 %243 to i32
%245 = call i32 @atomic_is_lock_free(i32* %17)
%246 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.17, i64 0, i64 0), i64 4, i32 %244, i32 %245)
br label %247
247: ; preds = %235
br label %248
248: ; preds = %247
%249 = call i32 @atomic_init(i32* %18, i32 1)
%250 = call i32 @atomic_store(i32* %18, i32 255)
%251 = call i32 @atomic_fetch_or(i32* %18, i32 255)
%252 = call i32 @atomic_fetch_and(i32* %18, i32 63)
%253 = call i32 @atomic_fetch_add(i32* %18, i32 63)
%254 = call i32 @atomic_fetch_sub(i32* %18, i32 15)
%255 = call i32 @atomic_fetch_xor(i32* %18, i32 255)
%256 = call i64 @atomic_load(i32* %18)
%257 = trunc i64 %256 to i32
%258 = call i32 @atomic_is_lock_free(i32* %18)
%259 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.18, i64 0, i64 0), i64 4, i32 %257, i32 %258)
br label %260
260: ; preds = %248
br label %261
261: ; preds = %260
%262 = call i32 @atomic_init(i32* %19, i32 1)
%263 = call i32 @atomic_store(i32* %19, i32 255)
%264 = call i32 @atomic_fetch_or(i32* %19, i32 255)
%265 = call i32 @atomic_fetch_and(i32* %19, i32 63)
%266 = call i32 @atomic_fetch_add(i32* %19, i32 63)
%267 = call i32 @atomic_fetch_sub(i32* %19, i32 15)
%268 = call i32 @atomic_fetch_xor(i32* %19, i32 255)
%269 = call i64 @atomic_load(i32* %19)
%270 = trunc i64 %269 to i32
%271 = call i32 @atomic_is_lock_free(i32* %19)
%272 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.19, i64 0, i64 0), i64 4, i32 %270, i32 %271)
br label %273
273: ; preds = %261
br label %274
274: ; preds = %273
%275 = call i32 @atomic_init(i32* %20, i32 1)
%276 = call i32 @atomic_store(i32* %20, i32 255)
%277 = call i32 @atomic_fetch_or(i32* %20, i32 255)
%278 = call i32 @atomic_fetch_and(i32* %20, i32 63)
%279 = call i32 @atomic_fetch_add(i32* %20, i32 63)
%280 = call i32 @atomic_fetch_sub(i32* %20, i32 15)
%281 = call i32 @atomic_fetch_xor(i32* %20, i32 255)
%282 = call i64 @atomic_load(i32* %20)
%283 = trunc i64 %282 to i32
%284 = call i32 @atomic_is_lock_free(i32* %20)
%285 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.20, i64 0, i64 0), i64 4, i32 %283, i32 %284)
br label %286
286: ; preds = %274
br label %287
287: ; preds = %286
%288 = call i32 @atomic_init(i32* %21, i32 1)
%289 = call i32 @atomic_store(i32* %21, i32 255)
%290 = call i32 @atomic_fetch_or(i32* %21, i32 255)
%291 = call i32 @atomic_fetch_and(i32* %21, i32 63)
%292 = call i32 @atomic_fetch_add(i32* %21, i32 63)
%293 = call i32 @atomic_fetch_sub(i32* %21, i32 15)
%294 = call i32 @atomic_fetch_xor(i32* %21, i32 255)
%295 = call i64 @atomic_load(i32* %21)
%296 = trunc i64 %295 to i32
%297 = call i32 @atomic_is_lock_free(i32* %21)
%298 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.21, i64 0, i64 0), i64 4, i32 %296, i32 %297)
br label %299
299: ; preds = %287
br label %300
300: ; preds = %299
%301 = call i32 @atomic_init(i32* %22, i32 1)
%302 = call i32 @atomic_store(i32* %22, i32 255)
%303 = call i32 @atomic_fetch_or(i32* %22, i32 255)
%304 = call i32 @atomic_fetch_and(i32* %22, i32 63)
%305 = call i32 @atomic_fetch_add(i32* %22, i32 63)
%306 = call i32 @atomic_fetch_sub(i32* %22, i32 15)
%307 = call i32 @atomic_fetch_xor(i32* %22, i32 255)
%308 = call i64 @atomic_load(i32* %22)
%309 = trunc i64 %308 to i32
%310 = call i32 @atomic_is_lock_free(i32* %22)
%311 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.22, i64 0, i64 0), i64 4, i32 %309, i32 %310)
br label %312
312: ; preds = %300
br label %313
313: ; preds = %312
%314 = call i32 @atomic_init(i32* %23, i32 1)
%315 = call i32 @atomic_store(i32* %23, i32 255)
%316 = call i32 @atomic_fetch_or(i32* %23, i32 255)
%317 = call i32 @atomic_fetch_and(i32* %23, i32 63)
%318 = call i32 @atomic_fetch_add(i32* %23, i32 63)
%319 = call i32 @atomic_fetch_sub(i32* %23, i32 15)
%320 = call i32 @atomic_fetch_xor(i32* %23, i32 255)
%321 = call i64 @atomic_load(i32* %23)
%322 = trunc i64 %321 to i32
%323 = call i32 @atomic_is_lock_free(i32* %23)
%324 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.23, i64 0, i64 0), i64 4, i32 %322, i32 %323)
br label %325
325: ; preds = %313
br label %326
326: ; preds = %325
%327 = call i32 @atomic_init(i32* %24, i32 1)
%328 = call i32 @atomic_store(i32* %24, i32 255)
%329 = call i32 @atomic_fetch_or(i32* %24, i32 255)
%330 = call i32 @atomic_fetch_and(i32* %24, i32 63)
%331 = call i32 @atomic_fetch_add(i32* %24, i32 63)
%332 = call i32 @atomic_fetch_sub(i32* %24, i32 15)
%333 = call i32 @atomic_fetch_xor(i32* %24, i32 255)
%334 = call i64 @atomic_load(i32* %24)
%335 = trunc i64 %334 to i32
%336 = call i32 @atomic_is_lock_free(i32* %24)
%337 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0), i64 4, i32 %335, i32 %336)
br label %338
338: ; preds = %326
br label %339
339: ; preds = %338
%340 = call i32 @atomic_init(i32* %25, i32 1)
%341 = call i32 @atomic_store(i32* %25, i32 255)
%342 = call i32 @atomic_fetch_or(i32* %25, i32 255)
%343 = call i32 @atomic_fetch_and(i32* %25, i32 63)
%344 = call i32 @atomic_fetch_add(i32* %25, i32 63)
%345 = call i32 @atomic_fetch_sub(i32* %25, i32 15)
%346 = call i32 @atomic_fetch_xor(i32* %25, i32 255)
%347 = call i64 @atomic_load(i32* %25)
%348 = trunc i64 %347 to i32
%349 = call i32 @atomic_is_lock_free(i32* %25)
%350 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.25, i64 0, i64 0), i64 4, i32 %348, i32 %349)
br label %351
351: ; preds = %339
br label %352
352: ; preds = %351
%353 = call i32 @atomic_init(i32* %26, i32 1)
%354 = call i32 @atomic_store(i32* %26, i32 255)
%355 = call i32 @atomic_fetch_or(i32* %26, i32 255)
%356 = call i32 @atomic_fetch_and(i32* %26, i32 63)
%357 = call i32 @atomic_fetch_add(i32* %26, i32 63)
%358 = call i32 @atomic_fetch_sub(i32* %26, i32 15)
%359 = call i32 @atomic_fetch_xor(i32* %26, i32 255)
%360 = call i64 @atomic_load(i32* %26)
%361 = trunc i64 %360 to i32
%362 = call i32 @atomic_is_lock_free(i32* %26)
%363 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.26, i64 0, i64 0), i64 4, i32 %361, i32 %362)
br label %364
364: ; preds = %352
br label %365
365: ; preds = %364
%366 = call i32 @atomic_init(i32* %27, i32 1)
%367 = call i32 @atomic_store(i32* %27, i32 255)
%368 = call i32 @atomic_fetch_or(i32* %27, i32 255)
%369 = call i32 @atomic_fetch_and(i32* %27, i32 63)
%370 = call i32 @atomic_fetch_add(i32* %27, i32 63)
%371 = call i32 @atomic_fetch_sub(i32* %27, i32 15)
%372 = call i32 @atomic_fetch_xor(i32* %27, i32 255)
%373 = call i64 @atomic_load(i32* %27)
%374 = trunc i64 %373 to i32
%375 = call i32 @atomic_is_lock_free(i32* %27)
%376 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.27, i64 0, i64 0), i64 4, i32 %374, i32 %375)
br label %377
377: ; preds = %365
br label %378
378: ; preds = %377
%379 = call i32 @atomic_init(i32* %28, i32 1)
%380 = call i32 @atomic_store(i32* %28, i32 255)
%381 = call i32 @atomic_fetch_or(i32* %28, i32 255)
%382 = call i32 @atomic_fetch_and(i32* %28, i32 63)
%383 = call i32 @atomic_fetch_add(i32* %28, i32 63)
%384 = call i32 @atomic_fetch_sub(i32* %28, i32 15)
%385 = call i32 @atomic_fetch_xor(i32* %28, i32 255)
%386 = call i64 @atomic_load(i32* %28)
%387 = trunc i64 %386 to i32
%388 = call i32 @atomic_is_lock_free(i32* %28)
%389 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.28, i64 0, i64 0), i64 4, i32 %387, i32 %388)
br label %390
390: ; preds = %378
br label %391
391: ; preds = %390
%392 = call i32 @atomic_init(i32* %29, i32 1)
%393 = call i32 @atomic_store(i32* %29, i32 255)
%394 = call i32 @atomic_fetch_or(i32* %29, i32 255)
%395 = call i32 @atomic_fetch_and(i32* %29, i32 63)
%396 = call i32 @atomic_fetch_add(i32* %29, i32 63)
%397 = call i32 @atomic_fetch_sub(i32* %29, i32 15)
%398 = call i32 @atomic_fetch_xor(i32* %29, i32 255)
%399 = call i64 @atomic_load(i32* %29)
%400 = trunc i64 %399 to i32
%401 = call i32 @atomic_is_lock_free(i32* %29)
%402 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.29, i64 0, i64 0), i64 4, i32 %400, i32 %401)
br label %403
403: ; preds = %391
br label %404
404: ; preds = %403
%405 = call i32 @atomic_init(i32* %30, i32 1)
%406 = call i32 @atomic_store(i32* %30, i32 255)
%407 = call i32 @atomic_fetch_or(i32* %30, i32 255)
%408 = call i32 @atomic_fetch_and(i32* %30, i32 63)
%409 = call i32 @atomic_fetch_add(i32* %30, i32 63)
%410 = call i32 @atomic_fetch_sub(i32* %30, i32 15)
%411 = call i32 @atomic_fetch_xor(i32* %30, i32 255)
%412 = call i64 @atomic_load(i32* %30)
%413 = trunc i64 %412 to i32
%414 = call i32 @atomic_is_lock_free(i32* %30)
%415 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.30, i64 0, i64 0), i64 4, i32 %413, i32 %414)
br label %416
416: ; preds = %404
br label %417
417: ; preds = %416
%418 = call i32 @atomic_init(i32* %31, i32 1)
%419 = call i32 @atomic_store(i32* %31, i32 255)
%420 = call i32 @atomic_fetch_or(i32* %31, i32 255)
%421 = call i32 @atomic_fetch_and(i32* %31, i32 63)
%422 = call i32 @atomic_fetch_add(i32* %31, i32 63)
%423 = call i32 @atomic_fetch_sub(i32* %31, i32 15)
%424 = call i32 @atomic_fetch_xor(i32* %31, i32 255)
%425 = call i64 @atomic_load(i32* %31)
%426 = trunc i64 %425 to i32
%427 = call i32 @atomic_is_lock_free(i32* %31)
%428 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.31, i64 0, i64 0), i64 4, i32 %426, i32 %427)
br label %429
429: ; preds = %417
br label %430
430: ; preds = %429
%431 = call i32 @atomic_init(i32* %32, i32 1)
%432 = call i32 @atomic_store(i32* %32, i32 255)
%433 = call i32 @atomic_fetch_or(i32* %32, i32 255)
%434 = call i32 @atomic_fetch_and(i32* %32, i32 63)
%435 = call i32 @atomic_fetch_add(i32* %32, i32 63)
%436 = call i32 @atomic_fetch_sub(i32* %32, i32 15)
%437 = call i32 @atomic_fetch_xor(i32* %32, i32 255)
%438 = call i64 @atomic_load(i32* %32)
%439 = trunc i64 %438 to i32
%440 = call i32 @atomic_is_lock_free(i32* %32)
%441 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.32, i64 0, i64 0), i64 4, i32 %439, i32 %440)
br label %442
442: ; preds = %430
br label %443
443: ; preds = %442
%444 = call i32 @atomic_init(i32* %33, i32 1)
%445 = call i32 @atomic_store(i32* %33, i32 255)
%446 = call i32 @atomic_fetch_or(i32* %33, i32 255)
%447 = call i32 @atomic_fetch_and(i32* %33, i32 63)
%448 = call i32 @atomic_fetch_add(i32* %33, i32 63)
%449 = call i32 @atomic_fetch_sub(i32* %33, i32 15)
%450 = call i32 @atomic_fetch_xor(i32* %33, i32 255)
%451 = call i64 @atomic_load(i32* %33)
%452 = trunc i64 %451 to i32
%453 = call i32 @atomic_is_lock_free(i32* %33)
%454 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.33, i64 0, i64 0), i64 4, i32 %452, i32 %453)
br label %455
455: ; preds = %443
br label %456
456: ; preds = %455
%457 = call i32 @atomic_init(i32* %34, i32 1)
%458 = call i32 @atomic_store(i32* %34, i32 255)
%459 = call i32 @atomic_fetch_or(i32* %34, i32 255)
%460 = call i32 @atomic_fetch_and(i32* %34, i32 63)
%461 = call i32 @atomic_fetch_add(i32* %34, i32 63)
%462 = call i32 @atomic_fetch_sub(i32* %34, i32 15)
%463 = call i32 @atomic_fetch_xor(i32* %34, i32 255)
%464 = call i64 @atomic_load(i32* %34)
%465 = trunc i64 %464 to i32
%466 = call i32 @atomic_is_lock_free(i32* %34)
%467 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.34, i64 0, i64 0), i64 4, i32 %465, i32 %466)
br label %468
468: ; preds = %456
br label %469
469: ; preds = %468
%470 = call i32 @atomic_init(i32* %35, i32 1)
%471 = call i32 @atomic_store(i32* %35, i32 255)
%472 = call i32 @atomic_fetch_or(i32* %35, i32 255)
%473 = call i32 @atomic_fetch_and(i32* %35, i32 63)
%474 = call i32 @atomic_fetch_add(i32* %35, i32 63)
%475 = call i32 @atomic_fetch_sub(i32* %35, i32 15)
%476 = call i32 @atomic_fetch_xor(i32* %35, i32 255)
%477 = call i64 @atomic_load(i32* %35)
%478 = trunc i64 %477 to i32
%479 = call i32 @atomic_is_lock_free(i32* %35)
%480 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.35, i64 0, i64 0), i64 4, i32 %478, i32 %479)
br label %481
481: ; preds = %469
br label %482
482: ; preds = %481
%483 = call i32 @atomic_init(i32* %36, i32 1)
%484 = call i32 @atomic_store(i32* %36, i32 255)
%485 = call i32 @atomic_fetch_or(i32* %36, i32 255)
%486 = call i32 @atomic_fetch_and(i32* %36, i32 63)
%487 = call i32 @atomic_fetch_add(i32* %36, i32 63)
%488 = call i32 @atomic_fetch_sub(i32* %36, i32 15)
%489 = call i32 @atomic_fetch_xor(i32* %36, i32 255)
%490 = call i64 @atomic_load(i32* %36)
%491 = trunc i64 %490 to i32
%492 = call i32 @atomic_is_lock_free(i32* %36)
%493 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.36, i64 0, i64 0), i64 4, i32 %491, i32 %492)
br label %494
494: ; preds = %482
br label %495
495: ; preds = %494
%496 = call i32 @atomic_init(i32* %37, i32 1)
%497 = call i32 @atomic_store(i32* %37, i32 255)
%498 = call i32 @atomic_fetch_or(i32* %37, i32 255)
%499 = call i32 @atomic_fetch_and(i32* %37, i32 63)
%500 = call i32 @atomic_fetch_add(i32* %37, i32 63)
%501 = call i32 @atomic_fetch_sub(i32* %37, i32 15)
%502 = call i32 @atomic_fetch_xor(i32* %37, i32 255)
%503 = call i64 @atomic_load(i32* %37)
%504 = trunc i64 %503 to i32
%505 = call i32 @atomic_is_lock_free(i32* %37)
%506 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.37, i64 0, i64 0), i64 4, i32 %504, i32 %505)
br label %507
507: ; preds = %495
ret void
}

LLVM IR (-O2):
@.str = [30 x i8] c"atomic_bool %zu lockfree: %d\0A\00"
@.str.1 = [32 x i8] c"%s: %zu value: %d lockfree: %d\0A\00"
@.str.2 = [12 x i8] c"atomic_char\00"
@.str.3 = [13 x i8] c"atomic_uchar\00"
@.str.4 = [13 x i8] c"atomic_schar\00"
@.str.5 = [13 x i8] c"atomic_short\00"
@.str.6 = [14 x i8] c"atomic_ushort\00"
@.str.7 = [11 x i8] c"atomic_int\00"
@.str.8 = [12 x i8] c"atomic_uint\00"
@.str.9 = [12 x i8] c"atomic_long\00"
@.str.10 = [13 x i8] c"atomic_ulong\00"
@.str.11 = [13 x i8] c"atomic_llong\00"
@.str.12 = [14 x i8] c"atomic_ullong\00"
@.str.13 = [16 x i8] c"atomic_char16_t\00"
@.str.14 = [16 x i8] c"atomic_char32_t\00"
@.str.15 = [15 x i8] c"atomic_wchar_t\00"
@.str.16 = [20 x i8] c"atomic_int_least8_t\00"
@.str.17 = [21 x i8] c"atomic_uint_least8_t\00"
@.str.18 = [21 x i8] c"atomic_int_least16_t\00"
@.str.19 = [22 x i8] c"atomic_uint_least16_t\00"
@.str.20 = [21 x i8] c"atomic_int_least32_t\00"
@.str.21 = [22 x i8] c"atomic_uint_least32_t\00"
@.str.22 = [21 x i8] c"atomic_int_least64_t\00"
@.str.23 = [22 x i8] c"atomic_uint_least64_t\00"
@.str.24 = [19 x i8] c"atomic_int_fast8_t\00"
@.str.25 = [20 x i8] c"atomic_uint_fast8_t\00"
@.str.26 = [20 x i8] c"atomic_int_fast16_t\00"
@.str.27 = [21 x i8] c"atomic_uint_fast16_t\00"
@.str.28 = [20 x i8] c"atomic_int_fast32_t\00"
@.str.29 = [21 x i8] c"atomic_uint_fast32_t\00"
@.str.30 = [20 x i8] c"atomic_int_fast64_t\00"
@.str.31 = [21 x i8] c"atomic_uint_fast64_t\00"
@.str.32 = [16 x i8] c"atomic_intptr_t\00"
@.str.33 = [17 x i8] c"atomic_uintptr_t\00"
@.str.34 = [14 x i8] c"atomic_size_t\00"
@.str.35 = [17 x i8] c"atomic_ptrdiff_t\00"
@.str.36 = [16 x i8] c"atomic_intmax_t\00"
@.str.37 = [17 x i8] c"atomic_uintmax_t\00"
define void @types() {
%1 = alloca i32
%2 = alloca i32
%3 = alloca i32
%4 = alloca i32
%5 = alloca i32
%6 = alloca i32
%7 = alloca i32
%8 = alloca i32
%9 = alloca i32
%10 = alloca i32
%11 = alloca i32
%12 = alloca i32
%13 = alloca i32
%14 = alloca i32
%15 = alloca i32
%16 = alloca i32
%17 = alloca i32
%18 = alloca i32
%19 = alloca i32
%20 = alloca i32
%21 = alloca i32
%22 = alloca i32
%23 = alloca i32
%24 = alloca i32
%25 = alloca i32
%26 = alloca i32
%27 = alloca i32
%28 = alloca i32
%29 = alloca i32
%30 = alloca i32
%31 = alloca i32
%32 = alloca i32
%33 = alloca i32
%34 = alloca i32
%35 = alloca i32
%36 = alloca i32
%37 = alloca i32
%38 = bitcast i32* %1 to i8*
%39 = call i32 @atomic_is_lock_free(i32* %1)
%40 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([30 x i8], [30 x i8]* @.str, i64 0, i64 0), i64 4, i32 %39)
%41 = bitcast i32* %2 to i8*
%42 = call i32 @atomic_init(i32* %2, i32 1)
%43 = call i32 @atomic_store(i32* %2, i32 255)
%44 = call i32 @atomic_fetch_or(i32* %2, i32 255)
%45 = call i32 @atomic_fetch_and(i32* %2, i32 63)
%46 = call i32 @atomic_fetch_add(i32* %2, i32 63)
%47 = call i32 @atomic_fetch_sub(i32* %2, i32 15)
%48 = call i32 @atomic_fetch_xor(i32* %2, i32 255)
%49 = call i64 @atomic_load(i32* %2)
%50 = trunc i64 %49 to i32
%51 = call i32 @atomic_is_lock_free(i32* %2)
%52 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.2, i64 0, i64 0), i64 4, i32 %50, i32 %51)
%53 = bitcast i32* %3 to i8*
%54 = call i32 @atomic_init(i32* %3, i32 1)
%55 = call i32 @atomic_store(i32* %3, i32 255)
%56 = call i32 @atomic_fetch_or(i32* %3, i32 255)
%57 = call i32 @atomic_fetch_and(i32* %3, i32 63)
%58 = call i32 @atomic_fetch_add(i32* %3, i32 63)
%59 = call i32 @atomic_fetch_sub(i32* %3, i32 15)
%60 = call i32 @atomic_fetch_xor(i32* %3, i32 255)
%61 = call i64 @atomic_load(i32* %3)
%62 = trunc i64 %61 to i32
%63 = call i32 @atomic_is_lock_free(i32* %3)
%64 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.3, i64 0, i64 0), i64 4, i32 %62, i32 %63)
%65 = bitcast i32* %4 to i8*
%66 = call i32 @atomic_init(i32* %4, i32 1)
%67 = call i32 @atomic_store(i32* %4, i32 255)
%68 = call i32 @atomic_fetch_or(i32* %4, i32 255)
%69 = call i32 @atomic_fetch_and(i32* %4, i32 63)
%70 = call i32 @atomic_fetch_add(i32* %4, i32 63)
%71 = call i32 @atomic_fetch_sub(i32* %4, i32 15)
%72 = call i32 @atomic_fetch_xor(i32* %4, i32 255)
%73 = call i64 @atomic_load(i32* %4)
%74 = trunc i64 %73 to i32
%75 = call i32 @atomic_is_lock_free(i32* %4)
%76 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.4, i64 0, i64 0), i64 4, i32 %74, i32 %75)
%77 = bitcast i32* %5 to i8*
%78 = call i32 @atomic_init(i32* %5, i32 1)
%79 = call i32 @atomic_store(i32* %5, i32 255)
%80 = call i32 @atomic_fetch_or(i32* %5, i32 255)
%81 = call i32 @atomic_fetch_and(i32* %5, i32 63)
%82 = call i32 @atomic_fetch_add(i32* %5, i32 63)
%83 = call i32 @atomic_fetch_sub(i32* %5, i32 15)
%84 = call i32 @atomic_fetch_xor(i32* %5, i32 255)
%85 = call i64 @atomic_load(i32* %5)
%86 = trunc i64 %85 to i32
%87 = call i32 @atomic_is_lock_free(i32* %5)
%88 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.5, i64 0, i64 0), i64 4, i32 %86, i32 %87)
%89 = bitcast i32* %6 to i8*
%90 = call i32 @atomic_init(i32* %6, i32 1)
%91 = call i32 @atomic_store(i32* %6, i32 255)
%92 = call i32 @atomic_fetch_or(i32* %6, i32 255)
%93 = call i32 @atomic_fetch_and(i32* %6, i32 63)
%94 = call i32 @atomic_fetch_add(i32* %6, i32 63)
%95 = call i32 @atomic_fetch_sub(i32* %6, i32 15)
%96 = call i32 @atomic_fetch_xor(i32* %6, i32 255)
%97 = call i64 @atomic_load(i32* %6)
%98 = trunc i64 %97 to i32
%99 = call i32 @atomic_is_lock_free(i32* %6)
%100 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.6, i64 0, i64 0), i64 4, i32 %98, i32 %99)
%101 = bitcast i32* %7 to i8*
%102 = call i32 @atomic_init(i32* %7, i32 1)
%103 = call i32 @atomic_store(i32* %7, i32 255)
%104 = call i32 @atomic_fetch_or(i32* %7, i32 255)
%105 = call i32 @atomic_fetch_and(i32* %7, i32 63)
%106 = call i32 @atomic_fetch_add(i32* %7, i32 63)
%107 = call i32 @atomic_fetch_sub(i32* %7, i32 15)
%108 = call i32 @atomic_fetch_xor(i32* %7, i32 255)
%109 = call i64 @atomic_load(i32* %7)
%110 = trunc i64 %109 to i32
%111 = call i32 @atomic_is_lock_free(i32* %7)
%112 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([11 x i8], [11 x i8]* @.str.7, i64 0, i64 0), i64 4, i32 %110, i32 %111)
%113 = bitcast i32* %8 to i8*
%114 = call i32 @atomic_init(i32* %8, i32 1)
%115 = call i32 @atomic_store(i32* %8, i32 255)
%116 = call i32 @atomic_fetch_or(i32* %8, i32 255)
%117 = call i32 @atomic_fetch_and(i32* %8, i32 63)
%118 = call i32 @atomic_fetch_add(i32* %8, i32 63)
%119 = call i32 @atomic_fetch_sub(i32* %8, i32 15)
%120 = call i32 @atomic_fetch_xor(i32* %8, i32 255)
%121 = call i64 @atomic_load(i32* %8)
%122 = trunc i64 %121 to i32
%123 = call i32 @atomic_is_lock_free(i32* %8)
%124 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.8, i64 0, i64 0), i64 4, i32 %122, i32 %123)
%125 = bitcast i32* %9 to i8*
%126 = call i32 @atomic_init(i32* %9, i32 1)
%127 = call i32 @atomic_store(i32* %9, i32 255)
%128 = call i32 @atomic_fetch_or(i32* %9, i32 255)
%129 = call i32 @atomic_fetch_and(i32* %9, i32 63)
%130 = call i32 @atomic_fetch_add(i32* %9, i32 63)
%131 = call i32 @atomic_fetch_sub(i32* %9, i32 15)
%132 = call i32 @atomic_fetch_xor(i32* %9, i32 255)
%133 = call i64 @atomic_load(i32* %9)
%134 = trunc i64 %133 to i32
%135 = call i32 @atomic_is_lock_free(i32* %9)
%136 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([12 x i8], [12 x i8]* @.str.9, i64 0, i64 0), i64 4, i32 %134, i32 %135)
%137 = bitcast i32* %10 to i8*
%138 = call i32 @atomic_init(i32* %10, i32 1)
%139 = call i32 @atomic_store(i32* %10, i32 255)
%140 = call i32 @atomic_fetch_or(i32* %10, i32 255)
%141 = call i32 @atomic_fetch_and(i32* %10, i32 63)
%142 = call i32 @atomic_fetch_add(i32* %10, i32 63)
%143 = call i32 @atomic_fetch_sub(i32* %10, i32 15)
%144 = call i32 @atomic_fetch_xor(i32* %10, i32 255)
%145 = call i64 @atomic_load(i32* %10)
%146 = trunc i64 %145 to i32
%147 = call i32 @atomic_is_lock_free(i32* %10)
%148 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.10, i64 0, i64 0), i64 4, i32 %146, i32 %147)
%149 = bitcast i32* %11 to i8*
%150 = call i32 @atomic_init(i32* %11, i32 1)
%151 = call i32 @atomic_store(i32* %11, i32 255)
%152 = call i32 @atomic_fetch_or(i32* %11, i32 255)
%153 = call i32 @atomic_fetch_and(i32* %11, i32 63)
%154 = call i32 @atomic_fetch_add(i32* %11, i32 63)
%155 = call i32 @atomic_fetch_sub(i32* %11, i32 15)
%156 = call i32 @atomic_fetch_xor(i32* %11, i32 255)
%157 = call i64 @atomic_load(i32* %11)
%158 = trunc i64 %157 to i32
%159 = call i32 @atomic_is_lock_free(i32* %11)
%160 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([13 x i8], [13 x i8]* @.str.11, i64 0, i64 0), i64 4, i32 %158, i32 %159)
%161 = bitcast i32* %12 to i8*
%162 = call i32 @atomic_init(i32* %12, i32 1)
%163 = call i32 @atomic_store(i32* %12, i32 255)
%164 = call i32 @atomic_fetch_or(i32* %12, i32 255)
%165 = call i32 @atomic_fetch_and(i32* %12, i32 63)
%166 = call i32 @atomic_fetch_add(i32* %12, i32 63)
%167 = call i32 @atomic_fetch_sub(i32* %12, i32 15)
%168 = call i32 @atomic_fetch_xor(i32* %12, i32 255)
%169 = call i64 @atomic_load(i32* %12)
%170 = trunc i64 %169 to i32
%171 = call i32 @atomic_is_lock_free(i32* %12)
%172 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.12, i64 0, i64 0), i64 4, i32 %170, i32 %171)
%173 = bitcast i32* %13 to i8*
%174 = call i32 @atomic_init(i32* %13, i32 1)
%175 = call i32 @atomic_store(i32* %13, i32 255)
%176 = call i32 @atomic_fetch_or(i32* %13, i32 255)
%177 = call i32 @atomic_fetch_and(i32* %13, i32 63)
%178 = call i32 @atomic_fetch_add(i32* %13, i32 63)
%179 = call i32 @atomic_fetch_sub(i32* %13, i32 15)
%180 = call i32 @atomic_fetch_xor(i32* %13, i32 255)
%181 = call i64 @atomic_load(i32* %13)
%182 = trunc i64 %181 to i32
%183 = call i32 @atomic_is_lock_free(i32* %13)
%184 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.13, i64 0, i64 0), i64 4, i32 %182, i32 %183)
%185 = bitcast i32* %14 to i8*
%186 = call i32 @atomic_init(i32* %14, i32 1)
%187 = call i32 @atomic_store(i32* %14, i32 255)
%188 = call i32 @atomic_fetch_or(i32* %14, i32 255)
%189 = call i32 @atomic_fetch_and(i32* %14, i32 63)
%190 = call i32 @atomic_fetch_add(i32* %14, i32 63)
%191 = call i32 @atomic_fetch_sub(i32* %14, i32 15)
%192 = call i32 @atomic_fetch_xor(i32* %14, i32 255)
%193 = call i64 @atomic_load(i32* %14)
%194 = trunc i64 %193 to i32
%195 = call i32 @atomic_is_lock_free(i32* %14)
%196 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.14, i64 0, i64 0), i64 4, i32 %194, i32 %195)
%197 = bitcast i32* %15 to i8*
%198 = call i32 @atomic_init(i32* %15, i32 1)
%199 = call i32 @atomic_store(i32* %15, i32 255)
%200 = call i32 @atomic_fetch_or(i32* %15, i32 255)
%201 = call i32 @atomic_fetch_and(i32* %15, i32 63)
%202 = call i32 @atomic_fetch_add(i32* %15, i32 63)
%203 = call i32 @atomic_fetch_sub(i32* %15, i32 15)
%204 = call i32 @atomic_fetch_xor(i32* %15, i32 255)
%205 = call i64 @atomic_load(i32* %15)
%206 = trunc i64 %205 to i32
%207 = call i32 @atomic_is_lock_free(i32* %15)
%208 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([15 x i8], [15 x i8]* @.str.15, i64 0, i64 0), i64 4, i32 %206, i32 %207)
%209 = bitcast i32* %16 to i8*
%210 = call i32 @atomic_init(i32* %16, i32 1)
%211 = call i32 @atomic_store(i32* %16, i32 255)
%212 = call i32 @atomic_fetch_or(i32* %16, i32 255)
%213 = call i32 @atomic_fetch_and(i32* %16, i32 63)
%214 = call i32 @atomic_fetch_add(i32* %16, i32 63)
%215 = call i32 @atomic_fetch_sub(i32* %16, i32 15)
%216 = call i32 @atomic_fetch_xor(i32* %16, i32 255)
%217 = call i64 @atomic_load(i32* %16)
%218 = trunc i64 %217 to i32
%219 = call i32 @atomic_is_lock_free(i32* %16)
%220 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.16, i64 0, i64 0), i64 4, i32 %218, i32 %219)
%221 = bitcast i32* %17 to i8*
%222 = call i32 @atomic_init(i32* %17, i32 1)
%223 = call i32 @atomic_store(i32* %17, i32 255)
%224 = call i32 @atomic_fetch_or(i32* %17, i32 255)
%225 = call i32 @atomic_fetch_and(i32* %17, i32 63)
%226 = call i32 @atomic_fetch_add(i32* %17, i32 63)
%227 = call i32 @atomic_fetch_sub(i32* %17, i32 15)
%228 = call i32 @atomic_fetch_xor(i32* %17, i32 255)
%229 = call i64 @atomic_load(i32* %17)
%230 = trunc i64 %229 to i32
%231 = call i32 @atomic_is_lock_free(i32* %17)
%232 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.17, i64 0, i64 0), i64 4, i32 %230, i32 %231)
%233 = bitcast i32* %18 to i8*
%234 = call i32 @atomic_init(i32* %18, i32 1)
%235 = call i32 @atomic_store(i32* %18, i32 255)
%236 = call i32 @atomic_fetch_or(i32* %18, i32 255)
%237 = call i32 @atomic_fetch_and(i32* %18, i32 63)
%238 = call i32 @atomic_fetch_add(i32* %18, i32 63)
%239 = call i32 @atomic_fetch_sub(i32* %18, i32 15)
%240 = call i32 @atomic_fetch_xor(i32* %18, i32 255)
%241 = call i64 @atomic_load(i32* %18)
%242 = trunc i64 %241 to i32
%243 = call i32 @atomic_is_lock_free(i32* %18)
%244 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.18, i64 0, i64 0), i64 4, i32 %242, i32 %243)
%245 = bitcast i32* %19 to i8*
%246 = call i32 @atomic_init(i32* %19, i32 1)
%247 = call i32 @atomic_store(i32* %19, i32 255)
%248 = call i32 @atomic_fetch_or(i32* %19, i32 255)
%249 = call i32 @atomic_fetch_and(i32* %19, i32 63)
%250 = call i32 @atomic_fetch_add(i32* %19, i32 63)
%251 = call i32 @atomic_fetch_sub(i32* %19, i32 15)
%252 = call i32 @atomic_fetch_xor(i32* %19, i32 255)
%253 = call i64 @atomic_load(i32* %19)
%254 = trunc i64 %253 to i32
%255 = call i32 @atomic_is_lock_free(i32* %19)
%256 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.19, i64 0, i64 0), i64 4, i32 %254, i32 %255)
%257 = bitcast i32* %20 to i8*
%258 = call i32 @atomic_init(i32* %20, i32 1)
%259 = call i32 @atomic_store(i32* %20, i32 255)
%260 = call i32 @atomic_fetch_or(i32* %20, i32 255)
%261 = call i32 @atomic_fetch_and(i32* %20, i32 63)
%262 = call i32 @atomic_fetch_add(i32* %20, i32 63)
%263 = call i32 @atomic_fetch_sub(i32* %20, i32 15)
%264 = call i32 @atomic_fetch_xor(i32* %20, i32 255)
%265 = call i64 @atomic_load(i32* %20)
%266 = trunc i64 %265 to i32
%267 = call i32 @atomic_is_lock_free(i32* %20)
%268 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.20, i64 0, i64 0), i64 4, i32 %266, i32 %267)
%269 = bitcast i32* %21 to i8*
%270 = call i32 @atomic_init(i32* %21, i32 1)
%271 = call i32 @atomic_store(i32* %21, i32 255)
%272 = call i32 @atomic_fetch_or(i32* %21, i32 255)
%273 = call i32 @atomic_fetch_and(i32* %21, i32 63)
%274 = call i32 @atomic_fetch_add(i32* %21, i32 63)
%275 = call i32 @atomic_fetch_sub(i32* %21, i32 15)
%276 = call i32 @atomic_fetch_xor(i32* %21, i32 255)
%277 = call i64 @atomic_load(i32* %21)
%278 = trunc i64 %277 to i32
%279 = call i32 @atomic_is_lock_free(i32* %21)
%280 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.21, i64 0, i64 0), i64 4, i32 %278, i32 %279)
%281 = bitcast i32* %22 to i8*
%282 = call i32 @atomic_init(i32* %22, i32 1)
%283 = call i32 @atomic_store(i32* %22, i32 255)
%284 = call i32 @atomic_fetch_or(i32* %22, i32 255)
%285 = call i32 @atomic_fetch_and(i32* %22, i32 63)
%286 = call i32 @atomic_fetch_add(i32* %22, i32 63)
%287 = call i32 @atomic_fetch_sub(i32* %22, i32 15)
%288 = call i32 @atomic_fetch_xor(i32* %22, i32 255)
%289 = call i64 @atomic_load(i32* %22)
%290 = trunc i64 %289 to i32
%291 = call i32 @atomic_is_lock_free(i32* %22)
%292 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.22, i64 0, i64 0), i64 4, i32 %290, i32 %291)
%293 = bitcast i32* %23 to i8*
%294 = call i32 @atomic_init(i32* %23, i32 1)
%295 = call i32 @atomic_store(i32* %23, i32 255)
%296 = call i32 @atomic_fetch_or(i32* %23, i32 255)
%297 = call i32 @atomic_fetch_and(i32* %23, i32 63)
%298 = call i32 @atomic_fetch_add(i32* %23, i32 63)
%299 = call i32 @atomic_fetch_sub(i32* %23, i32 15)
%300 = call i32 @atomic_fetch_xor(i32* %23, i32 255)
%301 = call i64 @atomic_load(i32* %23)
%302 = trunc i64 %301 to i32
%303 = call i32 @atomic_is_lock_free(i32* %23)
%304 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([22 x i8], [22 x i8]* @.str.23, i64 0, i64 0), i64 4, i32 %302, i32 %303)
%305 = bitcast i32* %24 to i8*
%306 = call i32 @atomic_init(i32* %24, i32 1)
%307 = call i32 @atomic_store(i32* %24, i32 255)
%308 = call i32 @atomic_fetch_or(i32* %24, i32 255)
%309 = call i32 @atomic_fetch_and(i32* %24, i32 63)
%310 = call i32 @atomic_fetch_add(i32* %24, i32 63)
%311 = call i32 @atomic_fetch_sub(i32* %24, i32 15)
%312 = call i32 @atomic_fetch_xor(i32* %24, i32 255)
%313 = call i64 @atomic_load(i32* %24)
%314 = trunc i64 %313 to i32
%315 = call i32 @atomic_is_lock_free(i32* %24)
%316 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([19 x i8], [19 x i8]* @.str.24, i64 0, i64 0), i64 4, i32 %314, i32 %315)
%317 = bitcast i32* %25 to i8*
%318 = call i32 @atomic_init(i32* %25, i32 1)
%319 = call i32 @atomic_store(i32* %25, i32 255)
%320 = call i32 @atomic_fetch_or(i32* %25, i32 255)
%321 = call i32 @atomic_fetch_and(i32* %25, i32 63)
%322 = call i32 @atomic_fetch_add(i32* %25, i32 63)
%323 = call i32 @atomic_fetch_sub(i32* %25, i32 15)
%324 = call i32 @atomic_fetch_xor(i32* %25, i32 255)
%325 = call i64 @atomic_load(i32* %25)
%326 = trunc i64 %325 to i32
%327 = call i32 @atomic_is_lock_free(i32* %25)
%328 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.25, i64 0, i64 0), i64 4, i32 %326, i32 %327)
%329 = bitcast i32* %26 to i8*
%330 = call i32 @atomic_init(i32* %26, i32 1)
%331 = call i32 @atomic_store(i32* %26, i32 255)
%332 = call i32 @atomic_fetch_or(i32* %26, i32 255)
%333 = call i32 @atomic_fetch_and(i32* %26, i32 63)
%334 = call i32 @atomic_fetch_add(i32* %26, i32 63)
%335 = call i32 @atomic_fetch_sub(i32* %26, i32 15)
%336 = call i32 @atomic_fetch_xor(i32* %26, i32 255)
%337 = call i64 @atomic_load(i32* %26)
%338 = trunc i64 %337 to i32
%339 = call i32 @atomic_is_lock_free(i32* %26)
%340 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.26, i64 0, i64 0), i64 4, i32 %338, i32 %339)
%341 = bitcast i32* %27 to i8*
%342 = call i32 @atomic_init(i32* %27, i32 1)
%343 = call i32 @atomic_store(i32* %27, i32 255)
%344 = call i32 @atomic_fetch_or(i32* %27, i32 255)
%345 = call i32 @atomic_fetch_and(i32* %27, i32 63)
%346 = call i32 @atomic_fetch_add(i32* %27, i32 63)
%347 = call i32 @atomic_fetch_sub(i32* %27, i32 15)
%348 = call i32 @atomic_fetch_xor(i32* %27, i32 255)
%349 = call i64 @atomic_load(i32* %27)
%350 = trunc i64 %349 to i32
%351 = call i32 @atomic_is_lock_free(i32* %27)
%352 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.27, i64 0, i64 0), i64 4, i32 %350, i32 %351)
%353 = bitcast i32* %28 to i8*
%354 = call i32 @atomic_init(i32* %28, i32 1)
%355 = call i32 @atomic_store(i32* %28, i32 255)
%356 = call i32 @atomic_fetch_or(i32* %28, i32 255)
%357 = call i32 @atomic_fetch_and(i32* %28, i32 63)
%358 = call i32 @atomic_fetch_add(i32* %28, i32 63)
%359 = call i32 @atomic_fetch_sub(i32* %28, i32 15)
%360 = call i32 @atomic_fetch_xor(i32* %28, i32 255)
%361 = call i64 @atomic_load(i32* %28)
%362 = trunc i64 %361 to i32
%363 = call i32 @atomic_is_lock_free(i32* %28)
%364 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.28, i64 0, i64 0), i64 4, i32 %362, i32 %363)
%365 = bitcast i32* %29 to i8*
%366 = call i32 @atomic_init(i32* %29, i32 1)
%367 = call i32 @atomic_store(i32* %29, i32 255)
%368 = call i32 @atomic_fetch_or(i32* %29, i32 255)
%369 = call i32 @atomic_fetch_and(i32* %29, i32 63)
%370 = call i32 @atomic_fetch_add(i32* %29, i32 63)
%371 = call i32 @atomic_fetch_sub(i32* %29, i32 15)
%372 = call i32 @atomic_fetch_xor(i32* %29, i32 255)
%373 = call i64 @atomic_load(i32* %29)
%374 = trunc i64 %373 to i32
%375 = call i32 @atomic_is_lock_free(i32* %29)
%376 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.29, i64 0, i64 0), i64 4, i32 %374, i32 %375)
%377 = bitcast i32* %30 to i8*
%378 = call i32 @atomic_init(i32* %30, i32 1)
%379 = call i32 @atomic_store(i32* %30, i32 255)
%380 = call i32 @atomic_fetch_or(i32* %30, i32 255)
%381 = call i32 @atomic_fetch_and(i32* %30, i32 63)
%382 = call i32 @atomic_fetch_add(i32* %30, i32 63)
%383 = call i32 @atomic_fetch_sub(i32* %30, i32 15)
%384 = call i32 @atomic_fetch_xor(i32* %30, i32 255)
%385 = call i64 @atomic_load(i32* %30)
%386 = trunc i64 %385 to i32
%387 = call i32 @atomic_is_lock_free(i32* %30)
%388 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str.30, i64 0, i64 0), i64 4, i32 %386, i32 %387)
%389 = bitcast i32* %31 to i8*
%390 = call i32 @atomic_init(i32* %31, i32 1)
%391 = call i32 @atomic_store(i32* %31, i32 255)
%392 = call i32 @atomic_fetch_or(i32* %31, i32 255)
%393 = call i32 @atomic_fetch_and(i32* %31, i32 63)
%394 = call i32 @atomic_fetch_add(i32* %31, i32 63)
%395 = call i32 @atomic_fetch_sub(i32* %31, i32 15)
%396 = call i32 @atomic_fetch_xor(i32* %31, i32 255)
%397 = call i64 @atomic_load(i32* %31)
%398 = trunc i64 %397 to i32
%399 = call i32 @atomic_is_lock_free(i32* %31)
%400 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([21 x i8], [21 x i8]* @.str.31, i64 0, i64 0), i64 4, i32 %398, i32 %399)
%401 = bitcast i32* %32 to i8*
%402 = call i32 @atomic_init(i32* %32, i32 1)
%403 = call i32 @atomic_store(i32* %32, i32 255)
%404 = call i32 @atomic_fetch_or(i32* %32, i32 255)
%405 = call i32 @atomic_fetch_and(i32* %32, i32 63)
%406 = call i32 @atomic_fetch_add(i32* %32, i32 63)
%407 = call i32 @atomic_fetch_sub(i32* %32, i32 15)
%408 = call i32 @atomic_fetch_xor(i32* %32, i32 255)
%409 = call i64 @atomic_load(i32* %32)
%410 = trunc i64 %409 to i32
%411 = call i32 @atomic_is_lock_free(i32* %32)
%412 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.32, i64 0, i64 0), i64 4, i32 %410, i32 %411)
%413 = bitcast i32* %33 to i8*
%414 = call i32 @atomic_init(i32* %33, i32 1)
%415 = call i32 @atomic_store(i32* %33, i32 255)
%416 = call i32 @atomic_fetch_or(i32* %33, i32 255)
%417 = call i32 @atomic_fetch_and(i32* %33, i32 63)
%418 = call i32 @atomic_fetch_add(i32* %33, i32 63)
%419 = call i32 @atomic_fetch_sub(i32* %33, i32 15)
%420 = call i32 @atomic_fetch_xor(i32* %33, i32 255)
%421 = call i64 @atomic_load(i32* %33)
%422 = trunc i64 %421 to i32
%423 = call i32 @atomic_is_lock_free(i32* %33)
%424 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.33, i64 0, i64 0), i64 4, i32 %422, i32 %423)
%425 = bitcast i32* %34 to i8*
%426 = call i32 @atomic_init(i32* %34, i32 1)
%427 = call i32 @atomic_store(i32* %34, i32 255)
%428 = call i32 @atomic_fetch_or(i32* %34, i32 255)
%429 = call i32 @atomic_fetch_and(i32* %34, i32 63)
%430 = call i32 @atomic_fetch_add(i32* %34, i32 63)
%431 = call i32 @atomic_fetch_sub(i32* %34, i32 15)
%432 = call i32 @atomic_fetch_xor(i32* %34, i32 255)
%433 = call i64 @atomic_load(i32* %34)
%434 = trunc i64 %433 to i32
%435 = call i32 @atomic_is_lock_free(i32* %34)
%436 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.34, i64 0, i64 0), i64 4, i32 %434, i32 %435)
%437 = bitcast i32* %35 to i8*
%438 = call i32 @atomic_init(i32* %35, i32 1)
%439 = call i32 @atomic_store(i32* %35, i32 255)
%440 = call i32 @atomic_fetch_or(i32* %35, i32 255)
%441 = call i32 @atomic_fetch_and(i32* %35, i32 63)
%442 = call i32 @atomic_fetch_add(i32* %35, i32 63)
%443 = call i32 @atomic_fetch_sub(i32* %35, i32 15)
%444 = call i32 @atomic_fetch_xor(i32* %35, i32 255)
%445 = call i64 @atomic_load(i32* %35)
%446 = trunc i64 %445 to i32
%447 = call i32 @atomic_is_lock_free(i32* %35)
%448 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.35, i64 0, i64 0), i64 4, i32 %446, i32 %447)
%449 = bitcast i32* %36 to i8*
%450 = call i32 @atomic_init(i32* %36, i32 1)
%451 = call i32 @atomic_store(i32* %36, i32 255)
%452 = call i32 @atomic_fetch_or(i32* %36, i32 255)
%453 = call i32 @atomic_fetch_and(i32* %36, i32 63)
%454 = call i32 @atomic_fetch_add(i32* %36, i32 63)
%455 = call i32 @atomic_fetch_sub(i32* %36, i32 15)
%456 = call i32 @atomic_fetch_xor(i32* %36, i32 255)
%457 = call i64 @atomic_load(i32* %36)
%458 = trunc i64 %457 to i32
%459 = call i32 @atomic_is_lock_free(i32* %36)
%460 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([16 x i8], [16 x i8]* @.str.36, i64 0, i64 0), i64 4, i32 %458, i32 %459)
%461 = bitcast i32* %37 to i8*
%462 = call i32 @atomic_init(i32* %37, i32 1)
%463 = call i32 @atomic_store(i32* %37, i32 255)
%464 = call i32 @atomic_fetch_or(i32* %37, i32 255)
%465 = call i32 @atomic_fetch_and(i32* %37, i32 63)
%466 = call i32 @atomic_fetch_add(i32* %37, i32 63)
%467 = call i32 @atomic_fetch_sub(i32* %37, i32 15)
%468 = call i32 @atomic_fetch_xor(i32* %37, i32 255)
%469 = call i64 @atomic_load(i32* %37)
%470 = trunc i64 %469 to i32
%471 = call i32 @atomic_is_lock_free(i32* %37)
%472 = call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([32 x i8], [32 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([17 x i8], [17 x i8]* @.str.37, i64 0, i64 0), i64 4, i32 %470, i32 %471)
ret void
}