#include <stdio.h>

#include "bench.h"

volatile int value;

void __attribute__((noinline)) do_call() {
	__atomic_add_fetch( &value, 1, __ATOMIC_SEQ_CST );
	asm volatile ("");
	__atomic_sub_fetch( &value, 1, __ATOMIC_SEQ_CST );
}

int main(int argc, char* argv[]) {
	BENCH(
		for (size_t i = 0; i < n; i++) {
			do_call();
		},
		result
	)

	printf("%llu\n", result);
}
