#include <iostream>
#include <vector>
#include <random>
#include <cuda_runtime.h>


using TheType = float;
constexpr auto TheSize = 65536u*128u;
constexpr auto TheSizeInBytes = TheSize*sizeof(TheType);
constexpr auto TheInnerLoop = 256u;
	
__global__ void add(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += xs1[i+j] + xs2[i+j];
	}
	ys[i] = res;
}

__global__ void mul(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += xs1[i+j] * xs2[i+j];
	}
	ys[i] = res;
}

__global__ void div(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += xs1[i+j] / xs2[i+j];
	}
	ys[i] = res;
}

__global__ void std_sqrt(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += std::sqrt(xs1[i+j]);
	}
	ys[i] = res;
}

__global__ void std_sin(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += std::sin(xs1[i+j]);
	}
	ys[i] = res;
}

__global__ void poly_sin(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += -0.000182690409228785*x*x*x*x*x*x*x+0.00830460224186793*x*x*x*x*x-0.166651012143690*x*x*x+x;
	}
	ys[i] = res;
}

__global__ void poly_sin2(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += x*x*x*(x*x*(-0.000182690409228785*x*x+0.00830460224186793)-0.166651012143690)+x;
	}
	ys[i] = res;
}

__global__ void poly_sin3(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += -0.000182690409228785f*x*x*x*x*x*x*x+0.00830460224186793f*x*x*x*x*x-0.166651012143690f*x*x*x+x;
	}
	ys[i] = res;
}

__global__ void poly_sin4(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += x*x*x*(x*x*(-0.000182690409228785f*x*x+0.00830460224186793f)-0.166651012143690f)+x;
	}
	ys[i] = res;
}

__global__ void logical_and(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	bool all_gt = true;
	for(auto j = 0u; j < TheInnerLoop - 3; ++j) {
		all_gt = all_gt && (xs1[i+j] > xs1[i+j]) && (xs1[i+j+1] > xs1[i+j+1]) && (xs1[i+j+2] > xs1[i+j]+2) && (xs1[i+j+3] > xs1[i+j+3]);
	}
	ys[i] = all_gt ? 1.f : 0.f;
}

__global__ void bit_and(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	bool all_gt = true;
	for(auto j = 0u; j < TheInnerLoop - 3; ++j) {
		all_gt = all_gt & (xs1[i+j] > xs1[i+j]) & (xs1[i+j+1] > xs1[i+j+1]) & (xs1[i+j+2] > xs1[i+j]+2) & (xs1[i+j+3] > xs1[i+j+3]);
	}
	ys[i] = all_gt ? 1.f : 0.f;
}

__global__ void mul_and(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	bool all_gt = true;
	for(auto j = 0u; j < TheInnerLoop - 3; ++j) {
		all_gt = all_gt * (xs1[i+j] > xs1[i+j]) * (xs1[i+j+1] > xs1[i+j+1]) * (xs1[i+j+2] > xs1[i+j]+2) * (xs1[i+j+3] > xs1[i+j+3]);
	}
	ys[i] = all_gt ? 1.f : 0.f;
}

#define swap(a, b) {auto c = a; a = b; b = c;}

__global__ void sort(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	float checksum = 0.;
	for(auto j = 0u; j < TheInnerLoop - 2; ++j) {
		double s[3] = {xs1[i+j], xs1[i+j+1], xs1[i+j+2]};
		if(s[0] > s[1])
			swap(s[0], s[1]);
		if(s[1] > s[2])
			swap(s[1], s[2]);
		if(s[0] > s[1])
			swap(s[0], s[1]);
		checksum += s[0] + 2*s[1] + 3*s[3];
	}
	ys[i] = checksum;
}

__global__ void nano_sort(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	float checksum = 0.;
	for(auto j = 0u; j < TheInnerLoop - 2; ++j) {
		double sortable[3] = {xs1[i+j], xs1[i+j+1], xs1[i+j+2]};
		const auto a = sortable[0];
		const auto b = sortable[1];
		const auto c = sortable[2];
		sortable[int(a > b) + int(a > c)] = a;
		sortable[int(b >= a) + int(b > c)] = b;
		sortable[int(c >= a) + int(c >= b)] = c;
		checksum += sortable[0] + 2*sortable[1] + 3*sortable[3];
	}
	ys[i] = checksum;
}

#define attempt(smth) {auto s=(smth);if(s!=cudaSuccess){std::cout << cudaGetErrorString(s) << " at " << __LINE__ << "\n"; return -1;}}

#define measure(smth) {\
	/*timestamp start*/\
	cudaEvent_t start;\
	cudaEventCreate(&start);\
	cudaEventRecord(start, 0);\
	cudaEvent_t stop;\
	cudaEventCreate(&stop); /*here so it wouldn't interfere with the measurement*/\
\
	/* run it*/\
	int threadsPerBlock = 256;\
	int blocksPerGrid = (TheSize - TheInnerLoop + threadsPerBlock - 1) / threadsPerBlock;\
	smth<<<blocksPerGrid, threadsPerBlock>>>(d_xs, d_ys, d_zs, TheSize);\
	attempt(cudaGetLastError());\
	attempt(cudaDeviceSynchronize());\
\
	/* timestamp stop*/\
	cudaEventRecord(stop, 0); \
	cudaEventSynchronize(stop);\
	float elapsedTime;\
	cudaEventElapsedTime(&elapsedTime, start, stop);\
	std::cout << "Time of " << #smth << ": " << elapsedTime << "\n";}\


int main(void)
{
	// prepare the data
	std::mt19937 rng(0);
	std::uniform_real_distribution<TheType> distribution(0.f, 1.f);
	std::vector<TheType> xs(TheSize);
	std::vector<TheType> ys(TheSize);
	std::vector<TheType> zs(TheSize);
	for (TheType &number : xs) number = distribution(rng);
	for (TheType &number : ys) number = distribution(rng);


	// do the allocations
	float *d_xs = nullptr;
	float *d_ys = nullptr;
	float *d_zs = nullptr;
	attempt(cudaMalloc((void **)&d_xs, TheSizeInBytes));
	attempt(cudaMalloc((void **)&d_ys, TheSizeInBytes));
	attempt(cudaMalloc((void **)&d_zs, TheSizeInBytes));

	// and copying
	attempt(cudaMemcpy(d_xs, xs.data(), TheSizeInBytes, cudaMemcpyHostToDevice));
	attempt(cudaMemcpy(d_ys, ys.data(), TheSizeInBytes, cudaMemcpyHostToDevice));

	measure(add);
	measure(mul);
	measure(div);
	measure(std_sqrt);
	measure(std_sin);
	measure(poly_sin);
	measure(poly_sin2);
	measure(poly_sin3);
	measure(poly_sin4);
	measure(logical_and);
	measure(bit_and);
	measure(mul_and);
	measure(sort);
	measure(nano_sort);

	// back (for debug, don't really want it)
	attempt(cudaMemcpy(zs.data(), d_zs, TheSizeInBytes, cudaMemcpyDeviceToHost));

	attempt(cudaFree(d_xs));
	attempt(cudaFree(d_ys));
	attempt(cudaFree(d_zs));
	return 0;
}


	.file	"tmpxft_00398879_00000000-6_benchmark.cudafe1.cpp"
	.text
#APP
	.globl _ZSt21ios_base_library_initv

#NO_APP
	.type	_ZL26__cudaUnregisterBinaryUtilv, @function
_ZL26__cudaUnregisterBinaryUtilv:
.LFB4722:
	.cfi_startproc
	endbr64
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	jmp	__cudaUnregisterFatBinary@PLT
	.cfi_endproc
.LFE4722:
	.size	_ZL26__cudaUnregisterBinaryUtilv, .-_ZL26__cudaUnregisterBinaryUtilv
	.type	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0, @function
_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0:
.LFB5544:
	.cfi_startproc
	jmp	cudaLaunchKernel@PLT
	.cfi_endproc
.LFE5544:
	.size	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0, .-_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	.globl	_Z29__device_stub__Z3addPKfS0_PfiPKfS0_Pfi
	.type	_Z29__device_stub__Z3addPKfS0_PfiPKfS0_Pfi, @function
_Z29__device_stub__Z3addPKfS0_PfiPKfS0_Pfi:
.LFB4744:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L3
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z3addPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L3:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L5
	call	__stack_chk_fail@PLT
.L5:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4744:
	.size	_Z29__device_stub__Z3addPKfS0_PfiPKfS0_Pfi, .-_Z29__device_stub__Z3addPKfS0_PfiPKfS0_Pfi
	.globl	_Z3addPKfS0_Pfi
	.type	_Z3addPKfS0_Pfi, @function
_Z3addPKfS0_Pfi:
.LFB4745:
	.cfi_startproc
	endbr64
	jmp	_Z29__device_stub__Z3addPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4745:
	.size	_Z3addPKfS0_Pfi, .-_Z3addPKfS0_Pfi
	.globl	_Z29__device_stub__Z3mulPKfS0_PfiPKfS0_Pfi
	.type	_Z29__device_stub__Z3mulPKfS0_PfiPKfS0_Pfi, @function
_Z29__device_stub__Z3mulPKfS0_PfiPKfS0_Pfi:
.LFB4746:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L9
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z3mulPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L9:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L11
	call	__stack_chk_fail@PLT
.L11:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4746:
	.size	_Z29__device_stub__Z3mulPKfS0_PfiPKfS0_Pfi, .-_Z29__device_stub__Z3mulPKfS0_PfiPKfS0_Pfi
	.globl	_Z3mulPKfS0_Pfi
	.type	_Z3mulPKfS0_Pfi, @function
_Z3mulPKfS0_Pfi:
.LFB4747:
	.cfi_startproc
	endbr64
	jmp	_Z29__device_stub__Z3mulPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4747:
	.size	_Z3mulPKfS0_Pfi, .-_Z3mulPKfS0_Pfi
	.globl	_Z29__device_stub__Z3divPKfS0_PfiPKfS0_Pfi
	.type	_Z29__device_stub__Z3divPKfS0_PfiPKfS0_Pfi, @function
_Z29__device_stub__Z3divPKfS0_PfiPKfS0_Pfi:
.LFB4748:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L14
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z3divPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L14:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L16
	call	__stack_chk_fail@PLT
.L16:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4748:
	.size	_Z29__device_stub__Z3divPKfS0_PfiPKfS0_Pfi, .-_Z29__device_stub__Z3divPKfS0_PfiPKfS0_Pfi
	.globl	_Z3divPKfS0_Pfi
	.type	_Z3divPKfS0_Pfi, @function
_Z3divPKfS0_Pfi:
.LFB4749:
	.cfi_startproc
	endbr64
	jmp	_Z29__device_stub__Z3divPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4749:
	.size	_Z3divPKfS0_Pfi, .-_Z3divPKfS0_Pfi
	.globl	_Z34__device_stub__Z8std_sqrtPKfS0_PfiPKfS0_Pfi
	.type	_Z34__device_stub__Z8std_sqrtPKfS0_PfiPKfS0_Pfi, @function
_Z34__device_stub__Z8std_sqrtPKfS0_PfiPKfS0_Pfi:
.LFB4750:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L19
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z8std_sqrtPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L19:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L21
	call	__stack_chk_fail@PLT
.L21:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4750:
	.size	_Z34__device_stub__Z8std_sqrtPKfS0_PfiPKfS0_Pfi, .-_Z34__device_stub__Z8std_sqrtPKfS0_PfiPKfS0_Pfi
	.globl	_Z8std_sqrtPKfS0_Pfi
	.type	_Z8std_sqrtPKfS0_Pfi, @function
_Z8std_sqrtPKfS0_Pfi:
.LFB4751:
	.cfi_startproc
	endbr64
	jmp	_Z34__device_stub__Z8std_sqrtPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4751:
	.size	_Z8std_sqrtPKfS0_Pfi, .-_Z8std_sqrtPKfS0_Pfi
	.globl	_Z33__device_stub__Z7std_sinPKfS0_PfiPKfS0_Pfi
	.type	_Z33__device_stub__Z7std_sinPKfS0_PfiPKfS0_Pfi, @function
_Z33__device_stub__Z7std_sinPKfS0_PfiPKfS0_Pfi:
.LFB4752:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L24
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z7std_sinPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L24:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L26
	call	__stack_chk_fail@PLT
.L26:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4752:
	.size	_Z33__device_stub__Z7std_sinPKfS0_PfiPKfS0_Pfi, .-_Z33__device_stub__Z7std_sinPKfS0_PfiPKfS0_Pfi
	.globl	_Z7std_sinPKfS0_Pfi
	.type	_Z7std_sinPKfS0_Pfi, @function
_Z7std_sinPKfS0_Pfi:
.LFB4753:
	.cfi_startproc
	endbr64
	jmp	_Z33__device_stub__Z7std_sinPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4753:
	.size	_Z7std_sinPKfS0_Pfi, .-_Z7std_sinPKfS0_Pfi
	.globl	_Z34__device_stub__Z8poly_sinPKfS0_PfiPKfS0_Pfi
	.type	_Z34__device_stub__Z8poly_sinPKfS0_PfiPKfS0_Pfi, @function
_Z34__device_stub__Z8poly_sinPKfS0_PfiPKfS0_Pfi:
.LFB4754:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L29
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z8poly_sinPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L29:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L31
	call	__stack_chk_fail@PLT
.L31:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4754:
	.size	_Z34__device_stub__Z8poly_sinPKfS0_PfiPKfS0_Pfi, .-_Z34__device_stub__Z8poly_sinPKfS0_PfiPKfS0_Pfi
	.globl	_Z8poly_sinPKfS0_Pfi
	.type	_Z8poly_sinPKfS0_Pfi, @function
_Z8poly_sinPKfS0_Pfi:
.LFB4755:
	.cfi_startproc
	endbr64
	jmp	_Z34__device_stub__Z8poly_sinPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4755:
	.size	_Z8poly_sinPKfS0_Pfi, .-_Z8poly_sinPKfS0_Pfi
	.globl	_Z35__device_stub__Z9poly_sin2PKfS0_PfiPKfS0_Pfi
	.type	_Z35__device_stub__Z9poly_sin2PKfS0_PfiPKfS0_Pfi, @function
_Z35__device_stub__Z9poly_sin2PKfS0_PfiPKfS0_Pfi:
.LFB4756:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L34
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z9poly_sin2PKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L34:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L36
	call	__stack_chk_fail@PLT
.L36:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4756:
	.size	_Z35__device_stub__Z9poly_sin2PKfS0_PfiPKfS0_Pfi, .-_Z35__device_stub__Z9poly_sin2PKfS0_PfiPKfS0_Pfi
	.globl	_Z9poly_sin2PKfS0_Pfi
	.type	_Z9poly_sin2PKfS0_Pfi, @function
_Z9poly_sin2PKfS0_Pfi:
.LFB4757:
	.cfi_startproc
	endbr64
	jmp	_Z35__device_stub__Z9poly_sin2PKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4757:
	.size	_Z9poly_sin2PKfS0_Pfi, .-_Z9poly_sin2PKfS0_Pfi
	.globl	_Z35__device_stub__Z9poly_sin3PKfS0_PfiPKfS0_Pfi
	.type	_Z35__device_stub__Z9poly_sin3PKfS0_PfiPKfS0_Pfi, @function
_Z35__device_stub__Z9poly_sin3PKfS0_PfiPKfS0_Pfi:
.LFB4758:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L39
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z9poly_sin3PKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L39:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L41
	call	__stack_chk_fail@PLT
.L41:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4758:
	.size	_Z35__device_stub__Z9poly_sin3PKfS0_PfiPKfS0_Pfi, .-_Z35__device_stub__Z9poly_sin3PKfS0_PfiPKfS0_Pfi
	.globl	_Z9poly_sin3PKfS0_Pfi
	.type	_Z9poly_sin3PKfS0_Pfi, @function
_Z9poly_sin3PKfS0_Pfi:
.LFB4759:
	.cfi_startproc
	endbr64
	jmp	_Z35__device_stub__Z9poly_sin3PKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4759:
	.size	_Z9poly_sin3PKfS0_Pfi, .-_Z9poly_sin3PKfS0_Pfi
	.globl	_Z35__device_stub__Z9poly_sin4PKfS0_PfiPKfS0_Pfi
	.type	_Z35__device_stub__Z9poly_sin4PKfS0_PfiPKfS0_Pfi, @function
_Z35__device_stub__Z9poly_sin4PKfS0_PfiPKfS0_Pfi:
.LFB4760:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L44
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z9poly_sin4PKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L44:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L46
	call	__stack_chk_fail@PLT
.L46:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4760:
	.size	_Z35__device_stub__Z9poly_sin4PKfS0_PfiPKfS0_Pfi, .-_Z35__device_stub__Z9poly_sin4PKfS0_PfiPKfS0_Pfi
	.globl	_Z9poly_sin4PKfS0_Pfi
	.type	_Z9poly_sin4PKfS0_Pfi, @function
_Z9poly_sin4PKfS0_Pfi:
.LFB4761:
	.cfi_startproc
	endbr64
	jmp	_Z35__device_stub__Z9poly_sin4PKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4761:
	.size	_Z9poly_sin4PKfS0_Pfi, .-_Z9poly_sin4PKfS0_Pfi
	.globl	_Z38__device_stub__Z11logical_andPKfS0_PfiPKfS0_Pfi
	.type	_Z38__device_stub__Z11logical_andPKfS0_PfiPKfS0_Pfi, @function
_Z38__device_stub__Z11logical_andPKfS0_PfiPKfS0_Pfi:
.LFB4762:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L49
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z11logical_andPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L49:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L51
	call	__stack_chk_fail@PLT
.L51:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4762:
	.size	_Z38__device_stub__Z11logical_andPKfS0_PfiPKfS0_Pfi, .-_Z38__device_stub__Z11logical_andPKfS0_PfiPKfS0_Pfi
	.globl	_Z11logical_andPKfS0_Pfi
	.type	_Z11logical_andPKfS0_Pfi, @function
_Z11logical_andPKfS0_Pfi:
.LFB4763:
	.cfi_startproc
	endbr64
	jmp	_Z38__device_stub__Z11logical_andPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4763:
	.size	_Z11logical_andPKfS0_Pfi, .-_Z11logical_andPKfS0_Pfi
	.globl	_Z33__device_stub__Z7bit_andPKfS0_PfiPKfS0_Pfi
	.type	_Z33__device_stub__Z7bit_andPKfS0_PfiPKfS0_Pfi, @function
_Z33__device_stub__Z7bit_andPKfS0_PfiPKfS0_Pfi:
.LFB4764:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L54
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z7bit_andPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L54:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L56
	call	__stack_chk_fail@PLT
.L56:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4764:
	.size	_Z33__device_stub__Z7bit_andPKfS0_PfiPKfS0_Pfi, .-_Z33__device_stub__Z7bit_andPKfS0_PfiPKfS0_Pfi
	.globl	_Z7bit_andPKfS0_Pfi
	.type	_Z7bit_andPKfS0_Pfi, @function
_Z7bit_andPKfS0_Pfi:
.LFB4765:
	.cfi_startproc
	endbr64
	jmp	_Z33__device_stub__Z7bit_andPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4765:
	.size	_Z7bit_andPKfS0_Pfi, .-_Z7bit_andPKfS0_Pfi
	.globl	_Z33__device_stub__Z7mul_andPKfS0_PfiPKfS0_Pfi
	.type	_Z33__device_stub__Z7mul_andPKfS0_PfiPKfS0_Pfi, @function
_Z33__device_stub__Z7mul_andPKfS0_PfiPKfS0_Pfi:
.LFB4766:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L59
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z7mul_andPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L59:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L61
	call	__stack_chk_fail@PLT
.L61:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4766:
	.size	_Z33__device_stub__Z7mul_andPKfS0_PfiPKfS0_Pfi, .-_Z33__device_stub__Z7mul_andPKfS0_PfiPKfS0_Pfi
	.globl	_Z7mul_andPKfS0_Pfi
	.type	_Z7mul_andPKfS0_Pfi, @function
_Z7mul_andPKfS0_Pfi:
.LFB4767:
	.cfi_startproc
	endbr64
	jmp	_Z33__device_stub__Z7mul_andPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4767:
	.size	_Z7mul_andPKfS0_Pfi, .-_Z7mul_andPKfS0_Pfi
	.globl	_Z30__device_stub__Z4sortPKfS0_PfiPKfS0_Pfi
	.type	_Z30__device_stub__Z4sortPKfS0_PfiPKfS0_Pfi, @function
_Z30__device_stub__Z4sortPKfS0_PfiPKfS0_Pfi:
.LFB4768:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L64
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z4sortPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L64:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L66
	call	__stack_chk_fail@PLT
.L66:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4768:
	.size	_Z30__device_stub__Z4sortPKfS0_PfiPKfS0_Pfi, .-_Z30__device_stub__Z4sortPKfS0_PfiPKfS0_Pfi
	.globl	_Z4sortPKfS0_Pfi
	.type	_Z4sortPKfS0_Pfi, @function
_Z4sortPKfS0_Pfi:
.LFB4769:
	.cfi_startproc
	endbr64
	jmp	_Z30__device_stub__Z4sortPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4769:
	.size	_Z4sortPKfS0_Pfi, .-_Z4sortPKfS0_Pfi
	.globl	_Z35__device_stub__Z9nano_sortPKfS0_PfiPKfS0_Pfi
	.type	_Z35__device_stub__Z9nano_sortPKfS0_PfiPKfS0_Pfi, @function
_Z35__device_stub__Z9nano_sortPKfS0_PfiPKfS0_Pfi:
.LFB4770:
	.cfi_startproc
	endbr64
	subq	$120, %rsp
	.cfi_def_cfa_offset 128
	movq	%rdi, 24(%rsp)
	leaq	48(%rsp), %rdi
	movq	%rsi, 16(%rsp)
	leaq	60(%rsp), %rsi
	movq	%rdx, 8(%rsp)
	leaq	32(%rsp), %rdx
	movl	%ecx, 4(%rsp)
	leaq	40(%rsp), %rcx
	movq	%fs:40, %rax
	movq	%rax, 104(%rsp)
	xorl	%eax, %eax
	leaq	24(%rsp), %rax
	movl	$1, 56(%rsp)
	movq	%rax, 72(%rsp)
	leaq	16(%rsp), %rax
	movq	%rax, 80(%rsp)
	leaq	8(%rsp), %rax
	movq	%rax, 88(%rsp)
	leaq	4(%rsp), %rax
	movq	%rax, 96(%rsp)
	movabsq	$4294967297, %rax
	movq	%rax, 48(%rsp)
	movq	%rax, 60(%rsp)
	movl	$1, 68(%rsp)
	call	__cudaPopCallConfiguration@PLT
	testl	%eax, %eax
	jne	.L69
	pushq	40(%rsp)
	.cfi_def_cfa_offset 136
	leaq	_Z9nano_sortPKfS0_Pfi(%rip), %rdi
	pushq	40(%rsp)
	.cfi_def_cfa_offset 144
	movq	76(%rsp), %rcx
	movl	84(%rsp), %r8d
	movq	64(%rsp), %rsi
	movl	72(%rsp), %edx
	leaq	88(%rsp), %r9
	call	_Z16cudaLaunchKernelIcE9cudaErrorPT_4dim3S3_PPvmP11CUstream_st.isra.0
	popq	%rax
	.cfi_def_cfa_offset 136
	popq	%rdx
	.cfi_def_cfa_offset 128
.L69:
	movq	104(%rsp), %rax
	subq	%fs:40, %rax
	je	.L71
	call	__stack_chk_fail@PLT
.L71:
	addq	$120, %rsp
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4770:
	.size	_Z35__device_stub__Z9nano_sortPKfS0_PfiPKfS0_Pfi, .-_Z35__device_stub__Z9nano_sortPKfS0_PfiPKfS0_Pfi
	.globl	_Z9nano_sortPKfS0_Pfi
	.type	_Z9nano_sortPKfS0_Pfi, @function
_Z9nano_sortPKfS0_Pfi:
.LFB4771:
	.cfi_startproc
	endbr64
	jmp	_Z35__device_stub__Z9nano_sortPKfS0_PfiPKfS0_Pfi
	.cfi_endproc
.LFE4771:
	.size	_Z9nano_sortPKfS0_Pfi, .-_Z9nano_sortPKfS0_Pfi
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"_Z9nano_sortPKfS0_Pfi"
.LC1:
	.string	"_Z4sortPKfS0_Pfi"
.LC2:
	.string	"_Z7mul_andPKfS0_Pfi"
.LC3:
	.string	"_Z7bit_andPKfS0_Pfi"
.LC4:
	.string	"_Z11logical_andPKfS0_Pfi"
.LC5:
	.string	"_Z9poly_sin4PKfS0_Pfi"
.LC6:
	.string	"_Z9poly_sin3PKfS0_Pfi"
.LC7:
	.string	"_Z9poly_sin2PKfS0_Pfi"
.LC8:
	.string	"_Z8poly_sinPKfS0_Pfi"
.LC9:
	.string	"_Z7std_sinPKfS0_Pfi"
.LC10:
	.string	"_Z8std_sqrtPKfS0_Pfi"
.LC11:
	.string	"_Z3divPKfS0_Pfi"
.LC12:
	.string	"_Z3mulPKfS0_Pfi"
.LC13:
	.string	"_Z3addPKfS0_Pfi"
	.section	.text.startup,"ax",@progbits
	.type	_ZL24__sti____cudaRegisterAllv, @function
_ZL24__sti____cudaRegisterAllv:
.LFB4773:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	leaq	_ZL15__fatDeviceText(%rip), %rdi
	call	__cudaRegisterFatBinary@PLT
	pushq	$0
	.cfi_def_cfa_offset 24
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 32
	leaq	.LC0(%rip), %rdx
	movq	%rax, %rdi
	movq	%rax, %rbx
	pushq	$0
	.cfi_def_cfa_offset 40
	movq	%rdx, %rcx
	leaq	_Z9nano_sortPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 48
	movq	%rax, _ZL20__cudaFatCubinHandle(%rip)
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC1(%rip), %rdx
	movq	%rbx, %rdi
	leaq	_Z4sortPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC2(%rip), %rdx
	movq	%rbx, %rdi
	leaq	_Z7mul_andPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC3(%rip), %rdx
	movq	%rbx, %rdi
	leaq	_Z7bit_andPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC4(%rip), %rdx
	movq	%rbx, %rdi
	leaq	_Z11logical_andPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC5(%rip), %rdx
	movq	%rbx, %rdi
	leaq	_Z9poly_sin4PKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC6(%rip), %rdx
	movq	%rbx, %rdi
	leaq	_Z9poly_sin3PKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC7(%rip), %rdx
	movq	%rbx, %rdi
	leaq	_Z9poly_sin2PKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	leaq	.LC8(%rip), %rdx
	pushq	$0
	.cfi_def_cfa_offset 24
	movq	%rdx, %rcx
	xorl	%r9d, %r9d
	orl	$-1, %r8d
	pushq	$0
	.cfi_def_cfa_offset 32
	leaq	_Z8poly_sinPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r9d, %r9d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC9(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z7std_sinPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r9d, %r9d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC10(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z8std_sqrtPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r9d, %r9d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC11(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z3divPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r9d, %r9d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC12(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z3mulPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	movq	%rbx, %rdi
	xorl	%r9d, %r9d
	pushq	$0
	.cfi_def_cfa_offset 24
	leaq	.LC13(%rip), %rdx
	orl	$-1, %r8d
	leaq	_Z3addPKfS0_Pfi(%rip), %rsi
	pushq	$0
	.cfi_def_cfa_offset 32
	movq	%rdx, %rcx
	pushq	$0
	.cfi_def_cfa_offset 40
	pushq	$0
	.cfi_def_cfa_offset 48
	call	__cudaRegisterFunction@PLT
	movq	_ZL20__cudaFatCubinHandle(%rip), %rdi
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	call	__cudaRegisterFatBinaryEnd@PLT
	leaq	_ZL26__cudaUnregisterBinaryUtilv(%rip), %rdi
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	atexit@PLT
	.cfi_endproc
.LFE4773:
	.size	_ZL24__sti____cudaRegisterAllv, .-_ZL24__sti____cudaRegisterAllv
	.section	.init_array,"aw"
	.align 8
	.quad	_ZL24__sti____cudaRegisterAllv
	.section	.rodata._ZNSt6vectorIfSaIfEEC2EmRKS0_.str1.1,"aMS",@progbits,1
.LC14:
	.string	"cannot create std::vector larger than max_size()"
	.section	.text._ZNSt6vectorIfSaIfEEC2EmRKS0_,"axG",@progbits,_ZNSt6vectorIfSaIfEEC5EmRKS0_,comdat
	.align 2
	.weak	_ZNSt6vectorIfSaIfEEC2EmRKS0_
	.type	_ZNSt6vectorIfSaIfEEC2EmRKS0_, @function
_ZNSt6vectorIfSaIfEEC2EmRKS0_:
.LFB5102:
	.cfi_startproc
	endbr64
	movabsq	$2305843009213693951, %rax
	pushq	%r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	pushq	%rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	pushq	%rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	cmpq	%rsi, %rax
	jnb	.L77
	leaq	.LC14(%rip), %rdi
	call	_ZSt20__throw_length_errorPKc@PLT
.L77:
	xorl	%eax, %eax
	movq	%rdi, %rbx
	leaq	0(,%rsi,4), %r12
	movq	%rsi, %rbp
	movq	%rax, (%rdi)
	movq	%rax, 8(%rdi)
	movq	%rax, 16(%rdi)
	xorl	%eax, %eax
	testq	%rsi, %rsi
	je	.L78
	movq	%r12, %rdi
	call	_Znwm@PLT
.L78:
	addq	%rax, %r12
	movq	%rax, (%rbx)
	movq	%rax, 8(%rbx)
	movq	%r12, 16(%rbx)
	testq	%rbp, %rbp
	je	.L79
	movl	$0x00000000, (%rax)
	addq	$4, %rax
	decq	%rbp
	je	.L79
.L80:
	cmpq	%rax, %r12
	je	.L79
	movl	$0x00000000, (%rax)
	addq	$4, %rax
	jmp	.L80
.L79:
	movq	%rax, 8(%rbx)
	popq	%rbx
	.cfi_def_cfa_offset 24
	popq	%rbp
	.cfi_def_cfa_offset 16
	popq	%r12
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE5102:
	.size	_ZNSt6vectorIfSaIfEEC2EmRKS0_, .-_ZNSt6vectorIfSaIfEEC2EmRKS0_
	.weak	_ZNSt6vectorIfSaIfEEC1EmRKS0_
	.set	_ZNSt6vectorIfSaIfEEC1EmRKS0_,_ZNSt6vectorIfSaIfEEC2EmRKS0_
	.section	.text._ZNSt6vectorIfSaIfEED2Ev,"axG",@progbits,_ZNSt6vectorIfSaIfEED5Ev,comdat
	.align 2
	.weak	_ZNSt6vectorIfSaIfEED2Ev
	.type	_ZNSt6vectorIfSaIfEED2Ev, @function
_ZNSt6vectorIfSaIfEED2Ev:
.LFB5105:
	.cfi_startproc
	endbr64
	movq	(%rdi), %rax
	testq	%rax, %rax
	je	.L91
	movq	16(%rdi), %rsi
	movq	%rax, %rdi
	subq	%rax, %rsi
	jmp	_ZdlPvm@PLT
.L91:
	ret
	.cfi_endproc
.LFE5105:
	.size	_ZNSt6vectorIfSaIfEED2Ev, .-_ZNSt6vectorIfSaIfEED2Ev
	.weak	_ZNSt6vectorIfSaIfEED1Ev
	.set	_ZNSt6vectorIfSaIfEED1Ev,_ZNSt6vectorIfSaIfEED2Ev
	.section	.text._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv,comdat
	.align 2
	.weak	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv
	.type	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv, @function
_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv:
.LFB5530:
	.cfi_startproc
	endbr64
	movq	%rdi, %rax
	xorl	%edx, %edx
	movl	$2567483615, %edi
.L95:
	movq	(%rax,%rdx,8), %rsi
	incq	%rdx
	movq	(%rax,%rdx,8), %rcx
	andq	$-2147483648, %rsi
	andl	$2147483647, %ecx
	orq	%rsi, %rcx
	movq	%rcx, %rsi
	shrq	%rsi
	xorq	3168(%rax,%rdx,8), %rsi
	andl	$1, %ecx
	je	.L94
	movq	%rdi, %rcx
.L94:
	xorq	%rsi, %rcx
	movq	%rcx, -8(%rax,%rdx,8)
	cmpq	$227, %rdx
	jne	.L95
	movl	$2567483615, %edi
.L97:
	movq	(%rax,%rdx,8), %rsi
	incq	%rdx
	movq	(%rax,%rdx,8), %rcx
	andq	$-2147483648, %rsi
	andl	$2147483647, %ecx
	orq	%rsi, %rcx
	movq	%rcx, %rsi
	shrq	%rsi
	xorq	-1824(%rax,%rdx,8), %rsi
	andl	$1, %ecx
	je	.L96
	movq	%rdi, %rcx
.L96:
	xorq	%rsi, %rcx
	movq	%rcx, -8(%rax,%rdx,8)
	cmpq	$623, %rdx
	jne	.L97
	movq	4984(%rax), %rdx
	movq	(%rax), %rcx
	andq	$-2147483648, %rdx
	andl	$2147483647, %ecx
	orq	%rcx, %rdx
	movq	%rdx, %rcx
	shrq	%rcx
	xorq	3168(%rax), %rcx
	andl	$1, %edx
	je	.L98
	movl	$2567483615, %edx
.L98:
	xorq	%rcx, %rdx
	movq	%rdx, 4984(%rax)
	xorl	%edx, %edx
	movq	%rdx, 4992(%rax)
	ret
	.cfi_endproc
.LFE5530:
	.size	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv, .-_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv
	.section	.text._ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_,"axG",@progbits,_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_,comdat
	.align 2
	.weak	_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_
	.type	_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_, @function
_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_:
.LFB5112:
	.cfi_startproc
	endbr64
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	movq	%rsi, %rbx
	subq	$16, %rsp
	.cfi_def_cfa_offset 32
	movss	(%rdi), %xmm2
	movss	4(%rdi), %xmm0
	cmpq	$623, 4992(%rsi)
	jbe	.L111
	movq	%rsi, %rdi
	movss	%xmm0, 12(%rsp)
	movss	%xmm2, 8(%rsp)
	call	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv
	movss	12(%rsp), %xmm0
	movss	8(%rsp), %xmm2
.L111:
	movq	4992(%rbx), %rax
	leaq	1(%rax), %rdx
	movq	(%rbx,%rax,8), %rax
	movq	%rdx, 4992(%rbx)
	movq	%rax, %rdx
	shrq	$11, %rdx
	movl	%edx, %edx
	xorq	%rdx, %rax
	movq	%rax, %rdx
	salq	$7, %rdx
	andl	$2636928640, %edx
	xorq	%rdx, %rax
	movq	%rax, %rdx
	salq	$15, %rdx
	andl	$4022730752, %edx
	xorq	%rdx, %rax
	movq	%rax, %rdx
	shrq	$18, %rdx
	xorq	%rdx, %rax
	js	.L112
	cvtsi2ssq	%rax, %xmm1
	jmp	.L113
.L112:
	movq	%rax, %rdx
	andl	$1, %eax
	shrq	%rdx
	orq	%rax, %rdx
	cvtsi2ssq	%rdx, %xmm1
	addss	%xmm1, %xmm1
.L113:
	xorps	%xmm3, %xmm3
	addss	%xmm3, %xmm1
	mulss	.LC17(%rip), %xmm1
	comiss	.LC18(%rip), %xmm1
	jb	.L114
	movss	.LC16(%rip), %xmm1
.L114:
	subss	%xmm2, %xmm0
	addq	$16, %rsp
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	mulss	%xmm1, %xmm0
	addss	%xmm2, %xmm0
	ret
	.cfi_endproc
.LFE5112:
	.size	_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_, .-_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_
	.section	.rodata.str1.1
.LC19:
	.string	" at "
.LC20:
	.string	"\n"
.LC21:
	.string	"Time of "
.LC22:
	.string	"add"
.LC23:
	.string	": "
.LC24:
	.string	"mul"
.LC25:
	.string	"div"
.LC26:
	.string	"std_sqrt"
.LC27:
	.string	"std_sin"
.LC28:
	.string	"poly_sin"
.LC29:
	.string	"poly_sin2"
.LC30:
	.string	"poly_sin3"
.LC31:
	.string	"poly_sin4"
.LC32:
	.string	"logical_and"
.LC33:
	.string	"bit_and"
.LC34:
	.string	"mul_and"
.LC35:
	.string	"sort"
.LC36:
	.string	"nano_sort"
	.section	.text.startup
	.globl	main
	.type	main, @function
main:
.LFB4719:
	.cfi_startproc
	.cfi_personality 0x9b,DW.ref.__gxx_personality_v0
	.cfi_lsda 0x1b,.LLSDA4719
	endbr64
	pushq	%r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	pushq	%r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	pushq	%r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	pushq	%r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	pushq	%rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	subq	$4096, %rsp
	.cfi_def_cfa_offset 4152
	orq	$0, (%rsp)
	subq	$1096, %rsp
	.cfi_def_cfa_offset 5248
	xorl	%edx, %edx
	movq	%fs:40, %rax
	movq	%rax, 5176(%rsp)
	xorl	%eax, %eax
	leaq	176(%rsp), %rbx
	movq	%rdx, 176(%rsp)
	movl	$1, %edx
.L118:
	movq	-8(%rbx,%rdx,8), %rax
	movq	%rax, %rcx
	shrq	$30, %rcx
	xorq	%rcx, %rax
	imulq	$1812433253, %rax, %rax
	addl	%edx, %eax
	movq	%rax, (%rbx,%rdx,8)
	incq	%rdx
	cmpq	$624, %rdx
	jne	.L118
	movl	$127, %eax
	movl	$8388608, %esi
	movq	$624, 5168(%rsp)
	salq	$55, %rax
	movq	%rax, 72(%rsp)
	leaq	152(%rsp), %rax
	movq	%rax, (%rsp)
	leaq	104(%rsp), %rax
	movq	(%rsp), %rdx
	movq	%rax, %rdi
	movq	%rax, 8(%rsp)
.LEHB0:
	call	_ZNSt6vectorIfSaIfEEC1EmRKS0_
.LEHE0:
	movq	(%rsp), %rdx
	movl	$8388608, %esi
	leaq	128(%rsp), %rax
	movq	%rax, %rdi
	movq	%rax, 16(%rsp)
.LEHB1:
	call	_ZNSt6vectorIfSaIfEEC1EmRKS0_
.LEHE1:
	leaq	92(%rsp), %r13
	movq	(%rsp), %rdi
	movl	$8388608, %esi
	movq	%r13, %rdx
.LEHB2:
	call	_ZNSt6vectorIfSaIfEEC1EmRKS0_
.LEHE2:
	movq	104(%rsp), %r15
	movq	112(%rsp), %r12
	leaq	72(%rsp), %rbp
	movq	%r15, %r14
.L119:
	cmpq	%r12, %r14
	je	.L431
	movq	%rbx, %rsi
	movq	%rbp, %rdi
	addq	$4, %r14
	call	_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_
	movss	%xmm0, -4(%r14)
	jmp	.L119
.L431:
	leaq	72(%rsp), %rax
	movq	128(%rsp), %r14
	movq	136(%rsp), %rbp
	movq	%rax, 24(%rsp)
	movq	%r14, %r12
.L121:
	cmpq	%rbp, %r12
	je	.L432
	movq	24(%rsp), %rdi
	movq	%rbx, %rsi
	addq	$4, %r12
	call	_ZNSt25uniform_real_distributionIfEclISt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEEEfRT_
	movss	%xmm0, -4(%r12)
	jmp	.L121
.L432:
	xorl	%eax, %eax
	leaq	32(%rsp), %rdi
	movl	$33554432, %esi
	movq	%rax, 32(%rsp)
	movq	%rax, 40(%rsp)
	movq	%rax, 48(%rsp)
.LEHB3:
	call	cudaMalloc@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %rbp
	leaq	.LC20(%rip), %rbx
	je	.L123
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$199, %esi
	jmp	.L297
.L123:
	leaq	40(%rsp), %rdi
	movl	$33554432, %esi
	call	cudaMalloc@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L125
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$200, %esi
	jmp	.L297
.L125:
	leaq	48(%rsp), %rdi
	movl	$33554432, %esi
	call	cudaMalloc@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L127
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$201, %esi
	jmp	.L297
.L127:
	movq	32(%rsp), %rdi
	movl	$1, %ecx
	movl	$33554432, %edx
	movq	%r15, %rsi
	call	cudaMemcpy@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L128
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$204, %esi
	jmp	.L297
.L128:
	movq	40(%rsp), %rdi
	movl	$1, %ecx
	movl	$33554432, %edx
	movq	%r14, %rsi
	call	cudaMemcpy@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L129
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$205, %esi
	jmp	.L297
.L129:
	leaq	56(%rsp), %r15
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	leaq	64(%rsp), %r14
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L130
.L132:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L133
	jmp	.L404
.L130:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z29__device_stub__Z3addPKfS0_PfiPKfS0_Pfi
	jmp	.L132
.L133:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L135
.L404:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$207, %esi
	jmp	.L297
.L135:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r13, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC21(%rip), %r13
	movq	%rbp, %rdi
	movq	%r13, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC22(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC23(%rip), %rbp
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L137
.L139:
	call	cudaGetLastError@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %r14
	leaq	.LC20(%rip), %rbx
	je	.L140
	jmp	.L406
.L137:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z29__device_stub__Z3mulPKfS0_PfiPKfS0_Pfi
	jmp	.L139
.L140:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L142
.L406:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$208, %esi
	jmp	.L297
.L142:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	leaq	92(%rsp), %r15
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r15, %rdi
	call	cudaEventElapsedTime@PLT
	movq	%r13, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC24(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	56(%rsp), %r13
	movq	%r13, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	leaq	64(%rsp), %rbp
	movq	%rbp, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L144
.L146:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L147
	jmp	.L408
.L144:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z29__device_stub__Z3divPKfS0_PfiPKfS0_Pfi
	jmp	.L146
.L147:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L149
.L408:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$209, %esi
	jmp	.L297
.L149:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r15, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC21(%rip), %r15
	movq	%r14, %rdi
	movq	%r15, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC25(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC23(%rip), %r14
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r13, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	%rbp, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L151
.L153:
	call	cudaGetLastError@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %rbp
	leaq	.LC20(%rip), %rbx
	je	.L154
	jmp	.L410
.L151:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z34__device_stub__Z8std_sqrtPKfS0_PfiPKfS0_Pfi
	jmp	.L153
.L154:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L156
.L410:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$210, %esi
	jmp	.L297
.L156:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	leaq	92(%rsp), %r13
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r13, %rdi
	call	cudaEventElapsedTime@PLT
	movq	%r15, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC26(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	56(%rsp), %r15
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	leaq	64(%rsp), %r14
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L158
.L160:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L161
	jmp	.L412
.L158:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z33__device_stub__Z7std_sinPKfS0_PfiPKfS0_Pfi
	jmp	.L160
.L161:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L163
.L412:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$211, %esi
	jmp	.L297
.L163:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r13, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC21(%rip), %r13
	movq	%rbp, %rdi
	movq	%r13, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC27(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC23(%rip), %rbp
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L165
.L167:
	call	cudaGetLastError@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %r14
	leaq	.LC20(%rip), %rbx
	je	.L168
	jmp	.L414
.L165:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z34__device_stub__Z8poly_sinPKfS0_PfiPKfS0_Pfi
	jmp	.L167
.L168:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L170
.L414:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$212, %esi
	jmp	.L297
.L170:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	leaq	92(%rsp), %r15
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r15, %rdi
	call	cudaEventElapsedTime@PLT
	movq	%r13, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC28(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	56(%rsp), %r13
	movq	%r13, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	leaq	64(%rsp), %rbp
	movq	%rbp, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L172
.L174:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L175
	jmp	.L416
.L172:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z35__device_stub__Z9poly_sin2PKfS0_PfiPKfS0_Pfi
	jmp	.L174
.L175:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L177
.L416:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$213, %esi
	jmp	.L297
.L177:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r15, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC21(%rip), %r15
	movq	%r14, %rdi
	movq	%r15, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC29(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC23(%rip), %r14
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r13, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	%rbp, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L179
.L181:
	call	cudaGetLastError@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %rbp
	leaq	.LC20(%rip), %rbx
	je	.L182
	jmp	.L418
.L179:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z35__device_stub__Z9poly_sin3PKfS0_PfiPKfS0_Pfi
	jmp	.L181
.L182:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L184
.L418:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$214, %esi
	jmp	.L297
.L184:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	leaq	92(%rsp), %r13
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r13, %rdi
	call	cudaEventElapsedTime@PLT
	movq	%r15, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC30(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	56(%rsp), %r15
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	leaq	64(%rsp), %r14
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L186
.L188:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L189
	jmp	.L420
.L186:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z35__device_stub__Z9poly_sin4PKfS0_PfiPKfS0_Pfi
	jmp	.L188
.L189:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L191
.L420:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$215, %esi
	jmp	.L297
.L191:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r13, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC21(%rip), %r13
	movq	%rbp, %rdi
	movq	%r13, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC31(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC23(%rip), %rbp
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L193
.L195:
	call	cudaGetLastError@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %r14
	leaq	.LC20(%rip), %rbx
	je	.L196
	jmp	.L422
.L193:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z38__device_stub__Z11logical_andPKfS0_PfiPKfS0_Pfi
	jmp	.L195
.L196:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L198
.L422:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$216, %esi
	jmp	.L297
.L198:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	leaq	92(%rsp), %r15
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r15, %rdi
	call	cudaEventElapsedTime@PLT
	movq	%r13, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC32(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	56(%rsp), %r13
	movq	%r13, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	leaq	64(%rsp), %rbp
	movq	%rbp, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L200
.L202:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L203
	jmp	.L424
.L200:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z33__device_stub__Z7bit_andPKfS0_PfiPKfS0_Pfi
	jmp	.L202
.L203:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L205
.L424:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$217, %esi
	jmp	.L297
.L205:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r15, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC21(%rip), %r15
	movq	%r14, %rdi
	movq	%r15, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC33(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC23(%rip), %r14
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r13, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	%rbp, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L207
.L209:
	call	cudaGetLastError@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %rbp
	leaq	.LC20(%rip), %rbx
	je	.L210
	jmp	.L426
.L207:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z33__device_stub__Z7mul_andPKfS0_PfiPKfS0_Pfi
	jmp	.L209
.L210:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L212
.L426:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$218, %esi
	jmp	.L297
.L212:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	leaq	92(%rsp), %r13
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r13, %rdi
	call	cudaEventElapsedTime@PLT
	movq	%r15, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC34(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%r14, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	56(%rsp), %r15
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	leaq	64(%rsp), %r14
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L214
.L216:
	call	cudaGetLastError@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L217
	jmp	.L428
.L214:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z30__device_stub__Z4sortPKfS0_PfiPKfS0_Pfi
	jmp	.L216
.L217:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L219
.L428:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%rbp, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$219, %esi
	jmp	.L297
.L219:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	movq	%r13, %rdi
	call	cudaEventElapsedTime@PLT
	leaq	.LC21(%rip), %r13
	movq	%rbp, %rdi
	movq	%r13, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC35(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	leaq	.LC23(%rip), %rbp
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%r15, %rdi
	call	cudaEventCreate@PLT
	movq	56(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	%r14, %rdi
	call	cudaEventCreate@PLT
	movl	$16777217, %edx
	xorl	%r9d, %r9d
	xorl	%r8d, %r8d
	movl	$1, %ecx
	salq	$8, %rdx
	movl	$1, %esi
	movabsq	$4295000063, %rdi
	movl	$1, 100(%rsp)
	movq	%rdx, 92(%rsp)
	movq	%rdi, 80(%rsp)
	movl	$1, 88(%rsp)
	call	__cudaPushCallConfiguration@PLT
	testl	%eax, %eax
	je	.L221
.L223:
	call	cudaGetLastError@PLT
	testl	%eax, %eax
	movl	%eax, %edi
	leaq	_ZSt4cout(%rip), %r14
	leaq	.LC20(%rip), %rbx
	je	.L224
	jmp	.L430
.L221:
	movq	48(%rsp), %rdx
	movq	40(%rsp), %rsi
	movl	$8388608, %ecx
	movq	32(%rsp), %rdi
	call	_Z35__device_stub__Z9nano_sortPKfS0_PfiPKfS0_Pfi
	jmp	.L223
.L224:
	call	cudaDeviceSynchronize@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L226
.L430:
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$220, %esi
	jmp	.L297
.L226:
	movq	64(%rsp), %rdi
	xorl	%esi, %esi
	call	cudaEventRecord@PLT
	movq	64(%rsp), %rdi
	call	cudaEventSynchronize@PLT
	movq	64(%rsp), %rdx
	movq	56(%rsp), %rsi
	leaq	92(%rsp), %rdi
	call	cudaEventElapsedTime@PLT
	movq	%r13, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC36(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movq	%rbp, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	cvtss2sd	92(%rsp), %xmm0
	call	_ZNSo9_M_insertIdEERSoT_@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	48(%rsp), %rsi
	movl	$2, %ecx
	movl	$33554432, %edx
	movq	152(%rsp), %rdi
	call	cudaMemcpy@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L228
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$223, %esi
	jmp	.L297
.L228:
	movq	32(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L229
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$225, %esi
	jmp	.L297
.L229:
	movq	40(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %edi
	testl	%eax, %eax
	je	.L230
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$226, %esi
	jmp	.L297
.L230:
	movq	48(%rsp), %rdi
	call	cudaFree@PLT
	movl	%eax, %edi
	xorl	%ebp, %ebp
	testl	%eax, %eax
	je	.L231
	call	cudaGetErrorString@PLT
	movq	%rax, %rsi
	movq	%r14, %rdi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	leaq	.LC19(%rip), %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
	movq	%rax, %rdi
	movl	$227, %esi
.L297:
	call	_ZNSolsEi@PLT
	movq	%rax, %rdi
	movq	%rbx, %rsi
	call	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT
.LEHE3:
	orl	$-1, %ebp
.L231:
	movq	(%rsp), %rdi
	call	_ZNSt6vectorIfSaIfEED1Ev
	movq	16(%rsp), %rdi
	call	_ZNSt6vectorIfSaIfEED1Ev
	movq	8(%rsp), %rdi
	call	_ZNSt6vectorIfSaIfEED1Ev
	movq	5176(%rsp), %rax
	subq	%fs:40, %rax
	je	.L236
	jmp	.L257
.L240:
	endbr64
	movq	%rax, %rbx
.L232:
	movq	(%rsp), %rdi
	call	_ZNSt6vectorIfSaIfEED1Ev
	jmp	.L233
.L239:
	endbr64
	movq	%rax, %rbx
.L233:
	movq	16(%rsp), %rdi
	call	_ZNSt6vectorIfSaIfEED1Ev
	jmp	.L234
.L238:
	endbr64
	movq	%rax, %rbx
.L234:
	movq	8(%rsp), %rdi
	call	_ZNSt6vectorIfSaIfEED1Ev
	movq	5176(%rsp), %rax
	subq	%fs:40, %rax
	jne	.L257
	movq	%rbx, %rdi
.LEHB4:
	call	_Unwind_Resume@PLT
.LEHE4:
.L257:
	call	__stack_chk_fail@PLT
.L236:
	addq	$5192, %rsp
	.cfi_def_cfa_offset 56
	movl	%ebp, %eax
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%rbp
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	ret
	.cfi_endproc
.LFE4719:
	.globl	__gxx_personality_v0
	.section	.gcc_except_table,"a",@progbits
.LLSDA4719:
	.byte	0xff
	.byte	0xff
	.byte	0x1
	.uleb128 .LLSDACSE4719-.LLSDACSB4719
.LLSDACSB4719:
	.uleb128 .LEHB0-.LFB4719
	.uleb128 .LEHE0-.LEHB0
	.uleb128 0
	.uleb128 0
	.uleb128 .LEHB1-.LFB4719
	.uleb128 .LEHE1-.LEHB1
	.uleb128 .L238-.LFB4719
	.uleb128 0
	.uleb128 .LEHB2-.LFB4719
	.uleb128 .LEHE2-.LEHB2
	.uleb128 .L239-.LFB4719
	.uleb128 0
	.uleb128 .LEHB3-.LFB4719
	.uleb128 .LEHE3-.LEHB3
	.uleb128 .L240-.LFB4719
	.uleb128 0
	.uleb128 .LEHB4-.LFB4719
	.uleb128 .LEHE4-.LEHB4
	.uleb128 0
	.uleb128 0
.LLSDACSE4719:
	.section	.text.startup
	.size	main, .-main
	.section	.nvFatBinSegment,"aw"
	.align 8
	.type	_ZL15__fatDeviceText, @object
	.size	_ZL15__fatDeviceText, 24
_ZL15__fatDeviceText:
	.long	1180844977
	.long	1
	.quad	fatbinData
	.quad	0
	.local	_ZL20__cudaFatCubinHandle
	.comm	_ZL20__cudaFatCubinHandle,8,8
	.section	.rodata.cst4,"aM",@progbits,4
	.align 4
.LC16:
	.long	1065353215
	.align 4
.LC17:
	.long	796917760
	.align 4
.LC18:
	.long	1065353216
	.hidden	DW.ref.__gxx_personality_v0
	.weak	DW.ref.__gxx_personality_v0
	.section	.data.rel.local.DW.ref.__gxx_personality_v0,"awG",@progbits,DW.ref.__gxx_personality_v0,comdat
	.align 8
	.type	DW.ref.__gxx_personality_v0, @object
	.size	DW.ref.__gxx_personality_v0, 8
DW.ref.__gxx_personality_v0:
	.quad	__gxx_personality_v0
	.ident	"GCC: (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	1f - 0f
	.long	4f - 1f
	.long	5
0:
	.string	"GNU"
1:
	.align 8
	.long	0xc0000002
	.long	3f - 2f
2:
	.long	0x3
3:
	.align 8
4:

#include <iostream>
#include <vector>
#include <random>
#include <hip/hip_runtime.h>


using TheType = float;
constexpr auto TheSize = 65536u*128u;
constexpr auto TheSizeInBytes = TheSize*sizeof(TheType);
constexpr auto TheInnerLoop = 256u;
	
__global__ void add(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += xs1[i+j] + xs2[i+j];
	}
	ys[i] = res;
}

__global__ void mul(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += xs1[i+j] * xs2[i+j];
	}
	ys[i] = res;
}

__global__ void div(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += xs1[i+j] / xs2[i+j];
	}
	ys[i] = res;
}

__global__ void std_sqrt(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += std::sqrt(xs1[i+j]);
	}
	ys[i] = res;
}

__global__ void std_sin(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		res += std::sin(xs1[i+j]);
	}
	ys[i] = res;
}

__global__ void poly_sin(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += -0.000182690409228785*x*x*x*x*x*x*x+0.00830460224186793*x*x*x*x*x-0.166651012143690*x*x*x+x;
	}
	ys[i] = res;
}

__global__ void poly_sin2(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += x*x*x*(x*x*(-0.000182690409228785*x*x+0.00830460224186793)-0.166651012143690)+x;
	}
	ys[i] = res;
}

__global__ void poly_sin3(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += -0.000182690409228785f*x*x*x*x*x*x*x+0.00830460224186793f*x*x*x*x*x-0.166651012143690f*x*x*x+x;
	}
	ys[i] = res;
}

__global__ void poly_sin4(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	auto res = 0.f;
	for(auto j = 0u; j < TheInnerLoop; ++j) {
		const auto x = xs1[i+j];
		res += x*x*x*(x*x*(-0.000182690409228785f*x*x+0.00830460224186793f)-0.166651012143690f)+x;
	}
	ys[i] = res;
}

__global__ void logical_and(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	bool all_gt = true;
	for(auto j = 0u; j < TheInnerLoop - 3; ++j) {
		all_gt = all_gt && (xs1[i+j] > xs1[i+j]) && (xs1[i+j+1] > xs1[i+j+1]) && (xs1[i+j+2] > xs1[i+j]+2) && (xs1[i+j+3] > xs1[i+j+3]);
	}
	ys[i] = all_gt ? 1.f : 0.f;
}

__global__ void bit_and(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	bool all_gt = true;
	for(auto j = 0u; j < TheInnerLoop - 3; ++j) {
		all_gt = all_gt & (xs1[i+j] > xs1[i+j]) & (xs1[i+j+1] > xs1[i+j+1]) & (xs1[i+j+2] > xs1[i+j]+2) & (xs1[i+j+3] > xs1[i+j+3]);
	}
	ys[i] = all_gt ? 1.f : 0.f;
}

__global__ void mul_and(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	bool all_gt = true;
	for(auto j = 0u; j < TheInnerLoop - 3; ++j) {
		all_gt = all_gt * (xs1[i+j] > xs1[i+j]) * (xs1[i+j+1] > xs1[i+j+1]) * (xs1[i+j+2] > xs1[i+j]+2) * (xs1[i+j+3] > xs1[i+j+3]);
	}
	ys[i] = all_gt ? 1.f : 0.f;
}

#define swap(a, b) {auto c = a; a = b; b = c;}

__global__ void sort(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	float checksum = 0.;
	for(auto j = 0u; j < TheInnerLoop - 2; ++j) {
		double s[3] = {xs1[i+j], xs1[i+j+1], xs1[i+j+2]};
		if(s[0] > s[1])
			swap(s[0], s[1]);
		if(s[1] > s[2])
			swap(s[1], s[2]);
		if(s[0] > s[1])
			swap(s[0], s[1]);
		checksum += s[0] + 2*s[1] + 3*s[3];
	}
	ys[i] = checksum;
}

__global__ void nano_sort(const float *xs1, const float *xs2, float *ys, int size) {
	int i = (blockDim.x * blockIdx.x + threadIdx.x);
	float checksum = 0.;
	for(auto j = 0u; j < TheInnerLoop - 2; ++j) {
		double sortable[3] = {xs1[i+j], xs1[i+j+1], xs1[i+j+2]};
		const auto a = sortable[0];
		const auto b = sortable[1];
		const auto c = sortable[2];
		sortable[int(a > b) + int(a > c)] = a;
		sortable[int(b >= a) + int(b > c)] = b;
		sortable[int(c >= a) + int(c >= b)] = c;
		checksum += sortable[0] + 2*sortable[1] + 3*sortable[3];
	}
	ys[i] = checksum;
}

#define attempt(smth) {auto s=(smth);if(s!=hipSuccess){std::cout << hipGetErrorString(s) << " at " << __LINE__ << "\n"; return -1;}}

#define measure(smth) {\
	/*timestamp start*/\
	hipEvent_t start;\
	hipEventCreate(&start);\
	hipEventRecord(start, 0);\
	hipEvent_t stop;\
	hipEventCreate(&stop); /*here so it wouldn't interfere with the measurement*/\
\
	/* run it*/\
	int threadsPerBlock = 256;\
	int blocksPerGrid = (TheSize - TheInnerLoop + threadsPerBlock - 1) / threadsPerBlock;\
	smth<<<blocksPerGrid, threadsPerBlock>>>(d_xs, d_ys, d_zs, TheSize);\
	attempt(hipGetLastError());\
	attempt(hipDeviceSynchronize());\
\
	/* timestamp stop*/\
	hipEventRecord(stop, 0); \
	hipEventSynchronize(stop);\
	float elapsedTime;\
	hipEventElapsedTime(&elapsedTime, start, stop);\
	std::cout << "Time of " << #smth << ": " << elapsedTime << "\n";}\


int main(void)
{
	// prepare the data
	std::mt19937 rng(0);
	std::uniform_real_distribution<TheType> distribution(0.f, 1.f);
	std::vector<TheType> xs(TheSize);
	std::vector<TheType> ys(TheSize);
	std::vector<TheType> zs(TheSize);
	for (TheType &number : xs) number = distribution(rng);
	for (TheType &number : ys) number = distribution(rng);


	// do the allocations
	float *d_xs = nullptr;
	float *d_ys = nullptr;
	float *d_zs = nullptr;
	attempt(hipMalloc((void **)&d_xs, TheSizeInBytes));
	attempt(hipMalloc((void **)&d_ys, TheSizeInBytes));
	attempt(hipMalloc((void **)&d_zs, TheSizeInBytes));

	// and copying
	attempt(hipMemcpy(d_xs, xs.data(), TheSizeInBytes, hipMemcpyHostToDevice));
	attempt(hipMemcpy(d_ys, ys.data(), TheSizeInBytes, hipMemcpyHostToDevice));

	measure(add);
	measure(mul);
	measure(div);
	measure(std_sqrt);
	measure(std_sin);
	measure(poly_sin);
	measure(poly_sin2);
	measure(poly_sin3);
	measure(poly_sin4);
	measure(logical_and);
	measure(bit_and);
	measure(mul_and);
	measure(sort);
	measure(nano_sort);

	// back (for debug, don't really want it)
	attempt(hipMemcpy(zs.data(), d_zs, TheSizeInBytes, hipMemcpyDeviceToHost));

	attempt(hipFree(d_xs));
	attempt(hipFree(d_ys));
	attempt(hipFree(d_zs));
	return 0;
}


	.text
	.file	"benchmark.hip"
                                        # Start of file scope inline assembly
	.globl	_ZSt21ios_base_library_initv

                                        # End of file scope inline assembly
	.globl	_Z18__device_stub__addPKfS0_Pfi # -- Begin function _Z18__device_stub__addPKfS0_Pfi
	.type	_Z18__device_stub__addPKfS0_Pfi,@function
_Z18__device_stub__addPKfS0_Pfi:        # @_Z18__device_stub__addPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z3addPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end0:
	.size	_Z18__device_stub__addPKfS0_Pfi, .Lfunc_end0-_Z18__device_stub__addPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z18__device_stub__mulPKfS0_Pfi # -- Begin function _Z18__device_stub__mulPKfS0_Pfi
	.type	_Z18__device_stub__mulPKfS0_Pfi,@function
_Z18__device_stub__mulPKfS0_Pfi:        # @_Z18__device_stub__mulPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z3mulPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end1:
	.size	_Z18__device_stub__mulPKfS0_Pfi, .Lfunc_end1-_Z18__device_stub__mulPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z18__device_stub__divPKfS0_Pfi # -- Begin function _Z18__device_stub__divPKfS0_Pfi
	.type	_Z18__device_stub__divPKfS0_Pfi,@function
_Z18__device_stub__divPKfS0_Pfi:        # @_Z18__device_stub__divPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z3divPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end2:
	.size	_Z18__device_stub__divPKfS0_Pfi, .Lfunc_end2-_Z18__device_stub__divPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z23__device_stub__std_sqrtPKfS0_Pfi # -- Begin function _Z23__device_stub__std_sqrtPKfS0_Pfi
	.type	_Z23__device_stub__std_sqrtPKfS0_Pfi,@function
_Z23__device_stub__std_sqrtPKfS0_Pfi:   # @_Z23__device_stub__std_sqrtPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z8std_sqrtPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end3:
	.size	_Z23__device_stub__std_sqrtPKfS0_Pfi, .Lfunc_end3-_Z23__device_stub__std_sqrtPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z22__device_stub__std_sinPKfS0_Pfi # -- Begin function _Z22__device_stub__std_sinPKfS0_Pfi
	.type	_Z22__device_stub__std_sinPKfS0_Pfi,@function
_Z22__device_stub__std_sinPKfS0_Pfi:    # @_Z22__device_stub__std_sinPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z7std_sinPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end4:
	.size	_Z22__device_stub__std_sinPKfS0_Pfi, .Lfunc_end4-_Z22__device_stub__std_sinPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z23__device_stub__poly_sinPKfS0_Pfi # -- Begin function _Z23__device_stub__poly_sinPKfS0_Pfi
	.type	_Z23__device_stub__poly_sinPKfS0_Pfi,@function
_Z23__device_stub__poly_sinPKfS0_Pfi:   # @_Z23__device_stub__poly_sinPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z8poly_sinPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end5:
	.size	_Z23__device_stub__poly_sinPKfS0_Pfi, .Lfunc_end5-_Z23__device_stub__poly_sinPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z24__device_stub__poly_sin2PKfS0_Pfi # -- Begin function _Z24__device_stub__poly_sin2PKfS0_Pfi
	.type	_Z24__device_stub__poly_sin2PKfS0_Pfi,@function
_Z24__device_stub__poly_sin2PKfS0_Pfi:  # @_Z24__device_stub__poly_sin2PKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z9poly_sin2PKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end6:
	.size	_Z24__device_stub__poly_sin2PKfS0_Pfi, .Lfunc_end6-_Z24__device_stub__poly_sin2PKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z24__device_stub__poly_sin3PKfS0_Pfi # -- Begin function _Z24__device_stub__poly_sin3PKfS0_Pfi
	.type	_Z24__device_stub__poly_sin3PKfS0_Pfi,@function
_Z24__device_stub__poly_sin3PKfS0_Pfi:  # @_Z24__device_stub__poly_sin3PKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z9poly_sin3PKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end7:
	.size	_Z24__device_stub__poly_sin3PKfS0_Pfi, .Lfunc_end7-_Z24__device_stub__poly_sin3PKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z24__device_stub__poly_sin4PKfS0_Pfi # -- Begin function _Z24__device_stub__poly_sin4PKfS0_Pfi
	.type	_Z24__device_stub__poly_sin4PKfS0_Pfi,@function
_Z24__device_stub__poly_sin4PKfS0_Pfi:  # @_Z24__device_stub__poly_sin4PKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z9poly_sin4PKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end8:
	.size	_Z24__device_stub__poly_sin4PKfS0_Pfi, .Lfunc_end8-_Z24__device_stub__poly_sin4PKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z26__device_stub__logical_andPKfS0_Pfi # -- Begin function _Z26__device_stub__logical_andPKfS0_Pfi
	.type	_Z26__device_stub__logical_andPKfS0_Pfi,@function
_Z26__device_stub__logical_andPKfS0_Pfi: # @_Z26__device_stub__logical_andPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z11logical_andPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end9:
	.size	_Z26__device_stub__logical_andPKfS0_Pfi, .Lfunc_end9-_Z26__device_stub__logical_andPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z22__device_stub__bit_andPKfS0_Pfi # -- Begin function _Z22__device_stub__bit_andPKfS0_Pfi
	.type	_Z22__device_stub__bit_andPKfS0_Pfi,@function
_Z22__device_stub__bit_andPKfS0_Pfi:    # @_Z22__device_stub__bit_andPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z7bit_andPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end10:
	.size	_Z22__device_stub__bit_andPKfS0_Pfi, .Lfunc_end10-_Z22__device_stub__bit_andPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z22__device_stub__mul_andPKfS0_Pfi # -- Begin function _Z22__device_stub__mul_andPKfS0_Pfi
	.type	_Z22__device_stub__mul_andPKfS0_Pfi,@function
_Z22__device_stub__mul_andPKfS0_Pfi:    # @_Z22__device_stub__mul_andPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z7mul_andPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end11:
	.size	_Z22__device_stub__mul_andPKfS0_Pfi, .Lfunc_end11-_Z22__device_stub__mul_andPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z19__device_stub__sortPKfS0_Pfi # -- Begin function _Z19__device_stub__sortPKfS0_Pfi
	.type	_Z19__device_stub__sortPKfS0_Pfi,@function
_Z19__device_stub__sortPKfS0_Pfi:       # @_Z19__device_stub__sortPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z4sortPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end12:
	.size	_Z19__device_stub__sortPKfS0_Pfi, .Lfunc_end12-_Z19__device_stub__sortPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.globl	_Z24__device_stub__nano_sortPKfS0_Pfi # -- Begin function _Z24__device_stub__nano_sortPKfS0_Pfi
	.type	_Z24__device_stub__nano_sortPKfS0_Pfi,@function
_Z24__device_stub__nano_sortPKfS0_Pfi:  # @_Z24__device_stub__nano_sortPKfS0_Pfi
	.cfi_startproc
# %bb.0:
	pushq	%r15
	.cfi_def_cfa_offset 16
	pushq	%r14
	.cfi_def_cfa_offset 24
	pushq	%r13
	.cfi_def_cfa_offset 32
	pushq	%r12
	.cfi_def_cfa_offset 40
	pushq	%rbx
	.cfi_def_cfa_offset 48
	subq	$112, %rsp
	.cfi_def_cfa_offset 160
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r13, -32
	.cfi_offset %r14, -24
	.cfi_offset %r15, -16
	leaq	40(%rsp), %rax
	movq	%rdi, (%rax)
	leaq	32(%rsp), %rdi
	movq	%rsi, (%rdi)
	leaq	24(%rsp), %rsi
	movq	%rdx, (%rsi)
	leaq	4(%rsp), %rdx
	movl	%ecx, (%rdx)
	leaq	80(%rsp), %rbx
	movq	%rax, (%rbx)
	movq	%rdi, 8(%rbx)
	movq	%rsi, 16(%rbx)
	movq	%rdx, 24(%rbx)
	leaq	64(%rsp), %r14
	leaq	48(%rsp), %r15
	leaq	16(%rsp), %r12
	leaq	8(%rsp), %r13
	movq	%r14, %rdi
	movq	%r15, %rsi
	movq	%r12, %rdx
	movq	%r13, %rcx
	callq	__hipPopCallConfiguration
	movq	(%r14), %rsi
	movl	8(%r14), %edx
	movq	(%r15), %rcx
	movl	8(%r15), %r8d
	movl	$_Z9nano_sortPKfS0_Pfi, %edi
	movq	%rbx, %r9
	pushq	(%r13)
	.cfi_adjust_cfa_offset 8
	pushq	(%r12)
	.cfi_adjust_cfa_offset 8
	callq	hipLaunchKernel
	addq	$128, %rsp
	.cfi_adjust_cfa_offset -128
	popq	%rbx
	.cfi_def_cfa_offset 40
	popq	%r12
	.cfi_def_cfa_offset 32
	popq	%r13
	.cfi_def_cfa_offset 24
	popq	%r14
	.cfi_def_cfa_offset 16
	popq	%r15
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end13:
	.size	_Z24__device_stub__nano_sortPKfS0_Pfi, .Lfunc_end13-_Z24__device_stub__nano_sortPKfS0_Pfi
	.cfi_endproc
                                        # -- End function
	.section	.rodata.cst4,"aM",@progbits,4
	.p2align	2, 0x0                          # -- Begin function main
.LCPI14_0:
	.long	0x00000000                      # float 0
	.text
	.globl	main
	.type	main,@function
main:                                   # @main
.Lfunc_begin0:
	.cfi_startproc
	.cfi_personality 3, __gxx_personality_v0
	.cfi_lsda 3, .Lexception0
# %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	pushq	%r15
	.cfi_def_cfa_offset 24
	pushq	%r14
	.cfi_def_cfa_offset 32
	pushq	%r13
	.cfi_def_cfa_offset 40
	pushq	%r12
	.cfi_def_cfa_offset 48
	pushq	%rbx
	.cfi_def_cfa_offset 56
	subq	$5048, %rsp                     # imm = 0x13B8
	.cfi_def_cfa_offset 5104
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	.cfi_offset %rbp, -16
	movq	$0, 48(%rsp)
	movl	$1, %eax
	xorl	%ecx, %ecx
.LBB14_1:                               # =>This Inner Loop Header: Depth=1
	movq	%rcx, %rdx
	shrq	$30, %rdx
	xorl	%ecx, %edx
	imull	$1812433253, %edx, %ecx         # imm = 0x6C078965
	addl	%eax, %ecx
	movq	%rcx, 48(%rsp,%rax,8)
	incq	%rax
	cmpq	$624, %rax                      # imm = 0x270
	jne	.LBB14_1
# %bb.2:                                # %_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEC2Em.exit
	movq	$624, 5040(%rsp)                # imm = 0x270
	movl	$33554432, %edi                 # imm = 0x2000000
	callq	_Znwm
	movq	%rax, %rbx
	movl	$33554432, %edx                 # imm = 0x2000000
	movq	%rax, %rdi
	xorl	%esi, %esi
	callq	memset@PLT
.Ltmp0:
	movl	$33554432, %edi                 # imm = 0x2000000
	callq	_Znwm
.Ltmp1:
# %bb.3:
	movq	%rax, %r14
	movl	$33554432, %edx                 # imm = 0x2000000
	movq	%rax, %rdi
	xorl	%esi, %esi
	callq	memset@PLT
.Ltmp3:
	movl	$33554432, %edi                 # imm = 0x2000000
	callq	_Znwm
.Ltmp4:
# %bb.4:
	movq	%rax, %r15
	xorl	%r13d, %r13d
	movl	$33554432, %edx                 # imm = 0x2000000
	movq	%rax, %rdi
	xorl	%esi, %esi
	callq	memset@PLT
	leaq	48(%rsp), %r12
.LBB14_5:                               # =>This Inner Loop Header: Depth=1
.Ltmp6:
	movq	%r12, %rdi
	callq	_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_
.Ltmp7:
# %bb.6:                                #   in Loop: Header=BB14_5 Depth=1
	addss	.LCPI14_0(%rip), %xmm0
	movss	%xmm0, (%rbx,%r13)
	addq	$4, %r13
	cmpq	$33554432, %r13                 # imm = 0x2000000
	jne	.LBB14_5
# %bb.7:                                # %.preheader.preheader
	xorl	%r13d, %r13d
	leaq	48(%rsp), %r12
.LBB14_8:                               # %.preheader
                                        # =>This Inner Loop Header: Depth=1
.Ltmp9:
	movq	%r12, %rdi
	callq	_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_
.Ltmp10:
# %bb.9:                                #   in Loop: Header=BB14_8 Depth=1
	addss	.LCPI14_0(%rip), %xmm0
	movss	%xmm0, (%r14,%r13)
	addq	$4, %r13
	cmpq	$33554432, %r13                 # imm = 0x2000000
	jne	.LBB14_8
# %bb.10:
	xorl	%eax, %eax
	leaq	40(%rsp), %rdi
	movq	%rax, (%rdi)
	movq	%rax, 32(%rsp)
	movq	%rax, 24(%rsp)
.Ltmp12:
	movl	$33554432, %esi                 # imm = 0x2000000
	callq	hipMalloc
.Ltmp13:
# %bb.11:
	testl	%eax, %eax
	je	.LBB14_23
# %bb.12:
.Ltmp14:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp15:
# %bb.13:
	movq	%rax, %r12
	testq	%rax, %rax
	je	.LBB14_14
# %bb.19:
	movq	%r12, %rdi
	callq	strlen
.Ltmp16:
	movl	$_ZSt4cout, %edi
	movq	%r12, %rsi
	movq	%rax, %rdx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp17:
	jmp	.LBB14_20
.LBB14_23:
.Ltmp27:
	leaq	32(%rsp), %rdi
	movl	$33554432, %esi                 # imm = 0x2000000
	callq	hipMalloc
.Ltmp28:
# %bb.24:
	testl	%eax, %eax
	je	.LBB14_33
# %bb.25:
.Ltmp29:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp30:
# %bb.26:
	movq	%rax, %r12
	testq	%rax, %rax
	je	.LBB14_27
# %bb.28:
	movq	%r12, %rdi
	callq	strlen
.Ltmp31:
	movl	$_ZSt4cout, %edi
	movq	%r12, %rsi
	movq	%rax, %rdx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp32:
	jmp	.LBB14_29
.LBB14_14:
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rax
	leaq	_ZSt4cout(%rax), %rdi
	movl	32(%rdi), %esi
	orl	$1, %esi
.Ltmp18:
	callq	_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate
.Ltmp19:
.LBB14_20:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit
.Ltmp20:
	movl	$_ZSt4cout, %edi
	movl	$.L.str, %esi
	movl	$4, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp21:
# %bb.21:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit592
.Ltmp22:
	movl	$_ZSt4cout, %edi
	movl	$199, %esi
	callq	_ZNSolsEi
.Ltmp23:
# %bb.22:
	movl	$-1, %ebp
.Ltmp24:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp25:
	jmp	.LBB14_570
.LBB14_33:
.Ltmp42:
	leaq	24(%rsp), %rdi
	movl	$33554432, %esi                 # imm = 0x2000000
	callq	hipMalloc
.Ltmp43:
# %bb.34:
	testl	%eax, %eax
	je	.LBB14_43
# %bb.35:
.Ltmp44:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp45:
# %bb.36:
	movq	%rax, %r12
	testq	%rax, %rax
	je	.LBB14_37
# %bb.38:
	movq	%r12, %rdi
	callq	strlen
.Ltmp46:
	movl	$_ZSt4cout, %edi
	movq	%r12, %rsi
	movq	%rax, %rdx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp47:
	jmp	.LBB14_39
.LBB14_27:
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rax
	leaq	_ZSt4cout(%rax), %rdi
	movl	32(%rdi), %esi
	orl	$1, %esi
.Ltmp33:
	callq	_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate
.Ltmp34:
.LBB14_29:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit598
.Ltmp35:
	movl	$_ZSt4cout, %edi
	movl	$.L.str, %esi
	movl	$4, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp36:
# %bb.30:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit600
.Ltmp37:
	movl	$_ZSt4cout, %edi
	movl	$200, %esi
	callq	_ZNSolsEi
.Ltmp38:
# %bb.31:
	movl	$-1, %ebp
.Ltmp39:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp40:
	jmp	.LBB14_570
.LBB14_43:
	movq	40(%rsp), %rdi
.Ltmp57:
	movl	$33554432, %edx                 # imm = 0x2000000
	movq	%rbx, %rsi
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp58:
# %bb.44:
	testl	%eax, %eax
	je	.LBB14_53
# %bb.45:
.Ltmp59:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp60:
# %bb.46:
	movq	%rax, %r12
	testq	%rax, %rax
	je	.LBB14_47
# %bb.48:
	movq	%r12, %rdi
	callq	strlen
.Ltmp61:
	movl	$_ZSt4cout, %edi
	movq	%r12, %rsi
	movq	%rax, %rdx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp62:
	jmp	.LBB14_49
.LBB14_37:
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rax
	leaq	_ZSt4cout(%rax), %rdi
	movl	32(%rdi), %esi
	orl	$1, %esi
.Ltmp48:
	callq	_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate
.Ltmp49:
.LBB14_39:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit606
.Ltmp50:
	movl	$_ZSt4cout, %edi
	movl	$.L.str, %esi
	movl	$4, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp51:
# %bb.40:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit608
.Ltmp52:
	movl	$_ZSt4cout, %edi
	movl	$201, %esi
	callq	_ZNSolsEi
.Ltmp53:
# %bb.41:
	movl	$-1, %ebp
.Ltmp54:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp55:
	jmp	.LBB14_570
.LBB14_53:
	movq	32(%rsp), %rdi
.Ltmp72:
	movl	$33554432, %edx                 # imm = 0x2000000
	movq	%r14, %rsi
	movl	$1, %ecx
	callq	hipMemcpy
.Ltmp73:
# %bb.54:
	testl	%eax, %eax
	je	.LBB14_61
# %bb.55:
.Ltmp74:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp75:
# %bb.56:
.Ltmp76:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp77:
# %bb.57:
.Ltmp78:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp79:
# %bb.58:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit620
.Ltmp80:
	movq	%r12, %rdi
	movl	$205, %esi
	callq	_ZNSolsEi
.Ltmp81:
# %bb.59:
	movl	$-1, %ebp
.Ltmp82:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp83:
	jmp	.LBB14_570
.LBB14_47:
	movq	_ZSt4cout(%rip), %rax
	movq	-24(%rax), %rax
	leaq	_ZSt4cout(%rax), %rdi
	movl	32(%rdi), %esi
	orl	$1, %esi
.Ltmp63:
	callq	_ZNSt9basic_iosIcSt11char_traitsIcEE5clearESt12_Ios_Iostate
.Ltmp64:
.LBB14_49:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit614
.Ltmp65:
	movl	$_ZSt4cout, %edi
	movl	$.L.str, %esi
	movl	$4, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp66:
# %bb.50:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit616
.Ltmp67:
	movl	$_ZSt4cout, %edi
	movl	$204, %esi
	callq	_ZNSolsEi
.Ltmp68:
# %bb.51:
	movl	$-1, %ebp
.Ltmp69:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp70:
.LBB14_570:                             # %_ZNSt6vectorIfSaIfEED2Ev.exit893
	movq	%r15, %rdi
	callq	_ZdlPv
	movq	%r14, %rdi
	callq	_ZdlPv
	movq	%rbx, %rdi
	callq	_ZdlPv
	movl	%ebp, %eax
	addq	$5048, %rsp                     # imm = 0x13B8
	.cfi_def_cfa_offset 56
	popq	%rbx
	.cfi_def_cfa_offset 48
	popq	%r12
	.cfi_def_cfa_offset 40
	popq	%r13
	.cfi_def_cfa_offset 32
	popq	%r14
	.cfi_def_cfa_offset 24
	popq	%r15
	.cfi_def_cfa_offset 16
	popq	%rbp
	.cfi_def_cfa_offset 8
	retq
.LBB14_61:
	.cfi_def_cfa_offset 5104
.Ltmp85:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp86:
# %bb.62:
	movq	16(%rsp), %rdi
.Ltmp87:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp88:
# %bb.63:
.Ltmp90:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp91:
# %bb.64:
.Ltmp93:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp94:
# %bb.65:
	testl	%eax, %eax
	jne	.LBB14_67
# %bb.66:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp95:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z18__device_stub__addPKfS0_Pfi
.Ltmp96:
.LBB14_67:
.Ltmp97:
	callq	hipGetLastError
.Ltmp98:
# %bb.68:
	testl	%eax, %eax
	je	.LBB14_79
# %bb.69:
.Ltmp99:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp100:
# %bb.70:
.Ltmp101:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp102:
# %bb.71:
.Ltmp103:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp104:
# %bb.72:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit624
.Ltmp105:
	movq	%r12, %rdi
	movl	$207, %esi
	callq	_ZNSolsEi
.Ltmp106:
# %bb.73:
.Ltmp107:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp108:
	jmp	.LBB14_74
.LBB14_79:
.Ltmp110:
	callq	hipDeviceSynchronize
.Ltmp111:
# %bb.80:
	testl	%eax, %eax
	je	.LBB14_87
# %bb.81:
.Ltmp112:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp113:
# %bb.82:
.Ltmp114:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp115:
# %bb.83:
.Ltmp116:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp117:
# %bb.84:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit628
.Ltmp118:
	movq	%r12, %rdi
	movl	$207, %esi
	callq	_ZNSolsEi
.Ltmp119:
# %bb.85:
.Ltmp120:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp121:
	jmp	.LBB14_74
.LBB14_87:
	movq	(%rsp), %rdi
.Ltmp123:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp124:
# %bb.88:
	movq	(%rsp), %rdi
.Ltmp125:
	callq	hipEventSynchronize
.Ltmp126:
# %bb.89:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp128:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp129:
# %bb.90:
.Ltmp130:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp131:
# %bb.91:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit632
.Ltmp132:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.3, %esi
	movl	$3, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp133:
# %bb.92:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit634
.Ltmp134:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp135:
# %bb.93:                               # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit636
	cvtss2sd	12(%rsp), %xmm0
.Ltmp136:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp137:
# %bb.94:                               # %_ZNSolsEf.exit
.Ltmp138:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp139:
# %bb.95:
.Ltmp141:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp142:
# %bb.96:
	movq	16(%rsp), %rdi
.Ltmp143:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp144:
# %bb.97:
.Ltmp146:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp147:
# %bb.98:
.Ltmp149:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp150:
# %bb.99:
	testl	%eax, %eax
	jne	.LBB14_101
# %bb.100:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp151:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z18__device_stub__mulPKfS0_Pfi
.Ltmp152:
.LBB14_101:
.Ltmp153:
	callq	hipGetLastError
.Ltmp154:
# %bb.102:
	testl	%eax, %eax
	je	.LBB14_113
# %bb.103:
.Ltmp155:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp156:
# %bb.104:
.Ltmp157:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp158:
# %bb.105:
.Ltmp159:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp160:
# %bb.106:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit641
.Ltmp161:
	movq	%r12, %rdi
	movl	$208, %esi
	callq	_ZNSolsEi
.Ltmp162:
# %bb.107:
.Ltmp163:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp164:
	jmp	.LBB14_74
.LBB14_113:
.Ltmp166:
	callq	hipDeviceSynchronize
.Ltmp167:
# %bb.114:
	testl	%eax, %eax
	je	.LBB14_121
# %bb.115:
.Ltmp168:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp169:
# %bb.116:
.Ltmp170:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp171:
# %bb.117:
.Ltmp172:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp173:
# %bb.118:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit645
.Ltmp174:
	movq	%r12, %rdi
	movl	$208, %esi
	callq	_ZNSolsEi
.Ltmp175:
# %bb.119:
.Ltmp176:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp177:
	jmp	.LBB14_74
.LBB14_121:
	movq	(%rsp), %rdi
.Ltmp179:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp180:
# %bb.122:
	movq	(%rsp), %rdi
.Ltmp181:
	callq	hipEventSynchronize
.Ltmp182:
# %bb.123:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp184:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp185:
# %bb.124:
.Ltmp186:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp187:
# %bb.125:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit649
.Ltmp188:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.5, %esi
	movl	$3, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp189:
# %bb.126:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit651
.Ltmp190:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp191:
# %bb.127:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit653
	cvtss2sd	12(%rsp), %xmm0
.Ltmp192:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp193:
# %bb.128:                              # %_ZNSolsEf.exit655
.Ltmp194:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp195:
# %bb.129:
.Ltmp197:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp198:
# %bb.130:
	movq	16(%rsp), %rdi
.Ltmp199:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp200:
# %bb.131:
.Ltmp202:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp203:
# %bb.132:
.Ltmp205:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp206:
# %bb.133:
	testl	%eax, %eax
	jne	.LBB14_135
# %bb.134:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp207:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z18__device_stub__divPKfS0_Pfi
.Ltmp208:
.LBB14_135:
.Ltmp209:
	callq	hipGetLastError
.Ltmp210:
# %bb.136:
	testl	%eax, %eax
	je	.LBB14_147
# %bb.137:
.Ltmp211:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp212:
# %bb.138:
.Ltmp213:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp214:
# %bb.139:
.Ltmp215:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp216:
# %bb.140:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit659
.Ltmp217:
	movq	%r12, %rdi
	movl	$209, %esi
	callq	_ZNSolsEi
.Ltmp218:
# %bb.141:
.Ltmp219:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp220:
	jmp	.LBB14_74
.LBB14_147:
.Ltmp222:
	callq	hipDeviceSynchronize
.Ltmp223:
# %bb.148:
	testl	%eax, %eax
	je	.LBB14_155
# %bb.149:
.Ltmp224:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp225:
# %bb.150:
.Ltmp226:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp227:
# %bb.151:
.Ltmp228:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp229:
# %bb.152:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit663
.Ltmp230:
	movq	%r12, %rdi
	movl	$209, %esi
	callq	_ZNSolsEi
.Ltmp231:
# %bb.153:
.Ltmp232:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp233:
	jmp	.LBB14_74
.LBB14_155:
	movq	(%rsp), %rdi
.Ltmp235:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp236:
# %bb.156:
	movq	(%rsp), %rdi
.Ltmp237:
	callq	hipEventSynchronize
.Ltmp238:
# %bb.157:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp240:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp241:
# %bb.158:
.Ltmp242:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp243:
# %bb.159:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit667
.Ltmp244:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.6, %esi
	movl	$3, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp245:
# %bb.160:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit669
.Ltmp246:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp247:
# %bb.161:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit671
	cvtss2sd	12(%rsp), %xmm0
.Ltmp248:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp249:
# %bb.162:                              # %_ZNSolsEf.exit673
.Ltmp250:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp251:
# %bb.163:
.Ltmp253:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp254:
# %bb.164:
	movq	16(%rsp), %rdi
.Ltmp255:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp256:
# %bb.165:
.Ltmp258:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp259:
# %bb.166:
.Ltmp261:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp262:
# %bb.167:
	testl	%eax, %eax
	jne	.LBB14_169
# %bb.168:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp263:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z23__device_stub__std_sqrtPKfS0_Pfi
.Ltmp264:
.LBB14_169:
.Ltmp265:
	callq	hipGetLastError
.Ltmp266:
# %bb.170:
	testl	%eax, %eax
	je	.LBB14_181
# %bb.171:
.Ltmp267:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp268:
# %bb.172:
.Ltmp269:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp270:
# %bb.173:
.Ltmp271:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp272:
# %bb.174:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit677
.Ltmp273:
	movq	%r12, %rdi
	movl	$210, %esi
	callq	_ZNSolsEi
.Ltmp274:
# %bb.175:
.Ltmp275:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp276:
	jmp	.LBB14_74
.LBB14_181:
.Ltmp278:
	callq	hipDeviceSynchronize
.Ltmp279:
# %bb.182:
	testl	%eax, %eax
	je	.LBB14_189
# %bb.183:
.Ltmp280:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp281:
# %bb.184:
.Ltmp282:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp283:
# %bb.185:
.Ltmp284:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp285:
# %bb.186:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit681
.Ltmp286:
	movq	%r12, %rdi
	movl	$210, %esi
	callq	_ZNSolsEi
.Ltmp287:
# %bb.187:
.Ltmp288:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp289:
	jmp	.LBB14_74
.LBB14_189:
	movq	(%rsp), %rdi
.Ltmp291:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp292:
# %bb.190:
	movq	(%rsp), %rdi
.Ltmp293:
	callq	hipEventSynchronize
.Ltmp294:
# %bb.191:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp296:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp297:
# %bb.192:
.Ltmp298:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp299:
# %bb.193:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit685
.Ltmp300:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.7, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp301:
# %bb.194:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit687
.Ltmp302:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp303:
# %bb.195:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit689
	cvtss2sd	12(%rsp), %xmm0
.Ltmp304:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp305:
# %bb.196:                              # %_ZNSolsEf.exit691
.Ltmp306:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp307:
# %bb.197:
.Ltmp309:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp310:
# %bb.198:
	movq	16(%rsp), %rdi
.Ltmp311:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp312:
# %bb.199:
.Ltmp314:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp315:
# %bb.200:
.Ltmp317:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp318:
# %bb.201:
	testl	%eax, %eax
	jne	.LBB14_203
# %bb.202:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp319:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z22__device_stub__std_sinPKfS0_Pfi
.Ltmp320:
.LBB14_203:
.Ltmp321:
	callq	hipGetLastError
.Ltmp322:
# %bb.204:
	testl	%eax, %eax
	je	.LBB14_215
# %bb.205:
.Ltmp323:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp324:
# %bb.206:
.Ltmp325:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp326:
# %bb.207:
.Ltmp327:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp328:
# %bb.208:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit695
.Ltmp329:
	movq	%r12, %rdi
	movl	$211, %esi
	callq	_ZNSolsEi
.Ltmp330:
# %bb.209:
.Ltmp331:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp332:
	jmp	.LBB14_74
.LBB14_215:
.Ltmp334:
	callq	hipDeviceSynchronize
.Ltmp335:
# %bb.216:
	testl	%eax, %eax
	je	.LBB14_223
# %bb.217:
.Ltmp336:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp337:
# %bb.218:
.Ltmp338:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp339:
# %bb.219:
.Ltmp340:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp341:
# %bb.220:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit699
.Ltmp342:
	movq	%r12, %rdi
	movl	$211, %esi
	callq	_ZNSolsEi
.Ltmp343:
# %bb.221:
.Ltmp344:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp345:
	jmp	.LBB14_74
.LBB14_223:
	movq	(%rsp), %rdi
.Ltmp347:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp348:
# %bb.224:
	movq	(%rsp), %rdi
.Ltmp349:
	callq	hipEventSynchronize
.Ltmp350:
# %bb.225:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp352:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp353:
# %bb.226:
.Ltmp354:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp355:
# %bb.227:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit703
.Ltmp356:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.8, %esi
	movl	$7, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp357:
# %bb.228:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit705
.Ltmp358:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp359:
# %bb.229:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit707
	cvtss2sd	12(%rsp), %xmm0
.Ltmp360:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp361:
# %bb.230:                              # %_ZNSolsEf.exit709
.Ltmp362:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp363:
# %bb.231:
.Ltmp365:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp366:
# %bb.232:
	movq	16(%rsp), %rdi
.Ltmp367:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp368:
# %bb.233:
.Ltmp370:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp371:
# %bb.234:
.Ltmp373:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp374:
# %bb.235:
	testl	%eax, %eax
	jne	.LBB14_237
# %bb.236:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp375:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z23__device_stub__poly_sinPKfS0_Pfi
.Ltmp376:
.LBB14_237:
.Ltmp377:
	callq	hipGetLastError
.Ltmp378:
# %bb.238:
	testl	%eax, %eax
	je	.LBB14_249
# %bb.239:
.Ltmp379:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp380:
# %bb.240:
.Ltmp381:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp382:
# %bb.241:
.Ltmp383:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp384:
# %bb.242:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit713
.Ltmp385:
	movq	%r12, %rdi
	movl	$212, %esi
	callq	_ZNSolsEi
.Ltmp386:
# %bb.243:
.Ltmp387:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp388:
	jmp	.LBB14_74
.LBB14_249:
.Ltmp390:
	callq	hipDeviceSynchronize
.Ltmp391:
# %bb.250:
	testl	%eax, %eax
	je	.LBB14_257
# %bb.251:
.Ltmp392:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp393:
# %bb.252:
.Ltmp394:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp395:
# %bb.253:
.Ltmp396:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp397:
# %bb.254:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit717
.Ltmp398:
	movq	%r12, %rdi
	movl	$212, %esi
	callq	_ZNSolsEi
.Ltmp399:
# %bb.255:
.Ltmp400:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp401:
	jmp	.LBB14_74
.LBB14_257:
	movq	(%rsp), %rdi
.Ltmp403:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp404:
# %bb.258:
	movq	(%rsp), %rdi
.Ltmp405:
	callq	hipEventSynchronize
.Ltmp406:
# %bb.259:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp408:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp409:
# %bb.260:
.Ltmp410:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp411:
# %bb.261:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit721
.Ltmp412:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.9, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp413:
# %bb.262:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit723
.Ltmp414:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp415:
# %bb.263:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit725
	cvtss2sd	12(%rsp), %xmm0
.Ltmp416:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp417:
# %bb.264:                              # %_ZNSolsEf.exit727
.Ltmp418:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp419:
# %bb.265:
.Ltmp421:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp422:
# %bb.266:
	movq	16(%rsp), %rdi
.Ltmp423:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp424:
# %bb.267:
.Ltmp426:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp427:
# %bb.268:
.Ltmp429:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp430:
# %bb.269:
	testl	%eax, %eax
	jne	.LBB14_271
# %bb.270:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp431:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z24__device_stub__poly_sin2PKfS0_Pfi
.Ltmp432:
.LBB14_271:
.Ltmp433:
	callq	hipGetLastError
.Ltmp434:
# %bb.272:
	testl	%eax, %eax
	je	.LBB14_283
# %bb.273:
.Ltmp435:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp436:
# %bb.274:
.Ltmp437:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp438:
# %bb.275:
.Ltmp439:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp440:
# %bb.276:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit731
.Ltmp441:
	movq	%r12, %rdi
	movl	$213, %esi
	callq	_ZNSolsEi
.Ltmp442:
# %bb.277:
.Ltmp443:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp444:
	jmp	.LBB14_74
.LBB14_283:
.Ltmp446:
	callq	hipDeviceSynchronize
.Ltmp447:
# %bb.284:
	testl	%eax, %eax
	je	.LBB14_291
# %bb.285:
.Ltmp448:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp449:
# %bb.286:
.Ltmp450:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp451:
# %bb.287:
.Ltmp452:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp453:
# %bb.288:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit735
.Ltmp454:
	movq	%r12, %rdi
	movl	$213, %esi
	callq	_ZNSolsEi
.Ltmp455:
# %bb.289:
.Ltmp456:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp457:
	jmp	.LBB14_74
.LBB14_291:
	movq	(%rsp), %rdi
.Ltmp459:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp460:
# %bb.292:
	movq	(%rsp), %rdi
.Ltmp461:
	callq	hipEventSynchronize
.Ltmp462:
# %bb.293:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp464:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp465:
# %bb.294:
.Ltmp466:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp467:
# %bb.295:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit739
.Ltmp468:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.10, %esi
	movl	$9, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp469:
# %bb.296:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit741
.Ltmp470:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp471:
# %bb.297:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit743
	cvtss2sd	12(%rsp), %xmm0
.Ltmp472:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp473:
# %bb.298:                              # %_ZNSolsEf.exit745
.Ltmp474:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp475:
# %bb.299:
.Ltmp477:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp478:
# %bb.300:
	movq	16(%rsp), %rdi
.Ltmp479:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp480:
# %bb.301:
.Ltmp482:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp483:
# %bb.302:
.Ltmp485:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp486:
# %bb.303:
	testl	%eax, %eax
	jne	.LBB14_305
# %bb.304:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp487:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z24__device_stub__poly_sin3PKfS0_Pfi
.Ltmp488:
.LBB14_305:
.Ltmp489:
	callq	hipGetLastError
.Ltmp490:
# %bb.306:
	testl	%eax, %eax
	je	.LBB14_317
# %bb.307:
.Ltmp491:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp492:
# %bb.308:
.Ltmp493:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp494:
# %bb.309:
.Ltmp495:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp496:
# %bb.310:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit749
.Ltmp497:
	movq	%r12, %rdi
	movl	$214, %esi
	callq	_ZNSolsEi
.Ltmp498:
# %bb.311:
.Ltmp499:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp500:
	jmp	.LBB14_74
.LBB14_317:
.Ltmp502:
	callq	hipDeviceSynchronize
.Ltmp503:
# %bb.318:
	testl	%eax, %eax
	je	.LBB14_325
# %bb.319:
.Ltmp504:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp505:
# %bb.320:
.Ltmp506:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp507:
# %bb.321:
.Ltmp508:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp509:
# %bb.322:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit753
.Ltmp510:
	movq	%r12, %rdi
	movl	$214, %esi
	callq	_ZNSolsEi
.Ltmp511:
# %bb.323:
.Ltmp512:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp513:
	jmp	.LBB14_74
.LBB14_325:
	movq	(%rsp), %rdi
.Ltmp515:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp516:
# %bb.326:
	movq	(%rsp), %rdi
.Ltmp517:
	callq	hipEventSynchronize
.Ltmp518:
# %bb.327:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp520:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp521:
# %bb.328:
.Ltmp522:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp523:
# %bb.329:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit757
.Ltmp524:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.11, %esi
	movl	$9, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp525:
# %bb.330:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit759
.Ltmp526:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp527:
# %bb.331:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit761
	cvtss2sd	12(%rsp), %xmm0
.Ltmp528:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp529:
# %bb.332:                              # %_ZNSolsEf.exit763
.Ltmp530:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp531:
# %bb.333:
.Ltmp533:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp534:
# %bb.334:
	movq	16(%rsp), %rdi
.Ltmp535:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp536:
# %bb.335:
.Ltmp538:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp539:
# %bb.336:
.Ltmp541:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp542:
# %bb.337:
	testl	%eax, %eax
	jne	.LBB14_339
# %bb.338:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp543:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z24__device_stub__poly_sin4PKfS0_Pfi
.Ltmp544:
.LBB14_339:
.Ltmp545:
	callq	hipGetLastError
.Ltmp546:
# %bb.340:
	testl	%eax, %eax
	je	.LBB14_351
# %bb.341:
.Ltmp547:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp548:
# %bb.342:
.Ltmp549:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp550:
# %bb.343:
.Ltmp551:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp552:
# %bb.344:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit767
.Ltmp553:
	movq	%r12, %rdi
	movl	$215, %esi
	callq	_ZNSolsEi
.Ltmp554:
# %bb.345:
.Ltmp555:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp556:
	jmp	.LBB14_74
.LBB14_351:
.Ltmp558:
	callq	hipDeviceSynchronize
.Ltmp559:
# %bb.352:
	testl	%eax, %eax
	je	.LBB14_359
# %bb.353:
.Ltmp560:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp561:
# %bb.354:
.Ltmp562:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp563:
# %bb.355:
.Ltmp564:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp565:
# %bb.356:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit771
.Ltmp566:
	movq	%r12, %rdi
	movl	$215, %esi
	callq	_ZNSolsEi
.Ltmp567:
# %bb.357:
.Ltmp568:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp569:
	jmp	.LBB14_74
.LBB14_359:
	movq	(%rsp), %rdi
.Ltmp571:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp572:
# %bb.360:
	movq	(%rsp), %rdi
.Ltmp573:
	callq	hipEventSynchronize
.Ltmp574:
# %bb.361:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp576:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp577:
# %bb.362:
.Ltmp578:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp579:
# %bb.363:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit775
.Ltmp580:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.12, %esi
	movl	$9, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp581:
# %bb.364:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit777
.Ltmp582:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp583:
# %bb.365:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit779
	cvtss2sd	12(%rsp), %xmm0
.Ltmp584:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp585:
# %bb.366:                              # %_ZNSolsEf.exit781
.Ltmp586:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp587:
# %bb.367:
.Ltmp589:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp590:
# %bb.368:
	movq	16(%rsp), %rdi
.Ltmp591:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp592:
# %bb.369:
.Ltmp594:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp595:
# %bb.370:
.Ltmp597:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp598:
# %bb.371:
	testl	%eax, %eax
	jne	.LBB14_373
# %bb.372:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp599:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z26__device_stub__logical_andPKfS0_Pfi
.Ltmp600:
.LBB14_373:
.Ltmp601:
	callq	hipGetLastError
.Ltmp602:
# %bb.374:
	testl	%eax, %eax
	je	.LBB14_385
# %bb.375:
.Ltmp603:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp604:
# %bb.376:
.Ltmp605:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp606:
# %bb.377:
.Ltmp607:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp608:
# %bb.378:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit785
.Ltmp609:
	movq	%r12, %rdi
	movl	$216, %esi
	callq	_ZNSolsEi
.Ltmp610:
# %bb.379:
.Ltmp611:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp612:
	jmp	.LBB14_74
.LBB14_385:
.Ltmp614:
	callq	hipDeviceSynchronize
.Ltmp615:
# %bb.386:
	testl	%eax, %eax
	je	.LBB14_393
# %bb.387:
.Ltmp616:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp617:
# %bb.388:
.Ltmp618:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp619:
# %bb.389:
.Ltmp620:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp621:
# %bb.390:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit789
.Ltmp622:
	movq	%r12, %rdi
	movl	$216, %esi
	callq	_ZNSolsEi
.Ltmp623:
# %bb.391:
.Ltmp624:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp625:
	jmp	.LBB14_74
.LBB14_393:
	movq	(%rsp), %rdi
.Ltmp627:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp628:
# %bb.394:
	movq	(%rsp), %rdi
.Ltmp629:
	callq	hipEventSynchronize
.Ltmp630:
# %bb.395:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp632:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp633:
# %bb.396:
.Ltmp634:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp635:
# %bb.397:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit793
.Ltmp636:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.13, %esi
	movl	$11, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp637:
# %bb.398:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit795
.Ltmp638:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp639:
# %bb.399:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit797
	cvtss2sd	12(%rsp), %xmm0
.Ltmp640:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp641:
# %bb.400:                              # %_ZNSolsEf.exit799
.Ltmp642:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp643:
# %bb.401:
.Ltmp645:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp646:
# %bb.402:
	movq	16(%rsp), %rdi
.Ltmp647:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp648:
# %bb.403:
.Ltmp650:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp651:
# %bb.404:
.Ltmp653:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp654:
# %bb.405:
	testl	%eax, %eax
	jne	.LBB14_407
# %bb.406:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp655:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z22__device_stub__bit_andPKfS0_Pfi
.Ltmp656:
.LBB14_407:
.Ltmp657:
	callq	hipGetLastError
.Ltmp658:
# %bb.408:
	testl	%eax, %eax
	je	.LBB14_419
# %bb.409:
.Ltmp659:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp660:
# %bb.410:
.Ltmp661:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp662:
# %bb.411:
.Ltmp663:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp664:
# %bb.412:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit803
.Ltmp665:
	movq	%r12, %rdi
	movl	$217, %esi
	callq	_ZNSolsEi
.Ltmp666:
# %bb.413:
.Ltmp667:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp668:
	jmp	.LBB14_74
.LBB14_419:
.Ltmp670:
	callq	hipDeviceSynchronize
.Ltmp671:
# %bb.420:
	testl	%eax, %eax
	je	.LBB14_427
# %bb.421:
.Ltmp672:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp673:
# %bb.422:
.Ltmp674:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp675:
# %bb.423:
.Ltmp676:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp677:
# %bb.424:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit807
.Ltmp678:
	movq	%r12, %rdi
	movl	$217, %esi
	callq	_ZNSolsEi
.Ltmp679:
# %bb.425:
.Ltmp680:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp681:
	jmp	.LBB14_74
.LBB14_427:
	movq	(%rsp), %rdi
.Ltmp683:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp684:
# %bb.428:
	movq	(%rsp), %rdi
.Ltmp685:
	callq	hipEventSynchronize
.Ltmp686:
# %bb.429:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp688:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp689:
# %bb.430:
.Ltmp690:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp691:
# %bb.431:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit811
.Ltmp692:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.14, %esi
	movl	$7, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp693:
# %bb.432:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit813
.Ltmp694:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp695:
# %bb.433:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit815
	cvtss2sd	12(%rsp), %xmm0
.Ltmp696:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp697:
# %bb.434:                              # %_ZNSolsEf.exit817
.Ltmp698:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp699:
# %bb.435:
.Ltmp701:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp702:
# %bb.436:
	movq	16(%rsp), %rdi
.Ltmp703:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp704:
# %bb.437:
.Ltmp706:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp707:
# %bb.438:
.Ltmp709:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp710:
# %bb.439:
	testl	%eax, %eax
	jne	.LBB14_441
# %bb.440:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp711:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z22__device_stub__mul_andPKfS0_Pfi
.Ltmp712:
.LBB14_441:
.Ltmp713:
	callq	hipGetLastError
.Ltmp714:
# %bb.442:
	testl	%eax, %eax
	je	.LBB14_453
# %bb.443:
.Ltmp715:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp716:
# %bb.444:
.Ltmp717:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp718:
# %bb.445:
.Ltmp719:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp720:
# %bb.446:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit821
.Ltmp721:
	movq	%r12, %rdi
	movl	$218, %esi
	callq	_ZNSolsEi
.Ltmp722:
# %bb.447:
.Ltmp723:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp724:
	jmp	.LBB14_74
.LBB14_453:
.Ltmp726:
	callq	hipDeviceSynchronize
.Ltmp727:
# %bb.454:
	testl	%eax, %eax
	je	.LBB14_461
# %bb.455:
.Ltmp728:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp729:
# %bb.456:
.Ltmp730:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp731:
# %bb.457:
.Ltmp732:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp733:
# %bb.458:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit825
.Ltmp734:
	movq	%r12, %rdi
	movl	$218, %esi
	callq	_ZNSolsEi
.Ltmp735:
# %bb.459:
.Ltmp736:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp737:
	jmp	.LBB14_74
.LBB14_461:
	movq	(%rsp), %rdi
.Ltmp739:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp740:
# %bb.462:
	movq	(%rsp), %rdi
.Ltmp741:
	callq	hipEventSynchronize
.Ltmp742:
# %bb.463:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp744:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp745:
# %bb.464:
.Ltmp746:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp747:
# %bb.465:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit829
.Ltmp748:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.15, %esi
	movl	$7, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp749:
# %bb.466:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit831
.Ltmp750:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp751:
# %bb.467:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit833
	cvtss2sd	12(%rsp), %xmm0
.Ltmp752:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp753:
# %bb.468:                              # %_ZNSolsEf.exit835
.Ltmp754:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp755:
# %bb.469:
.Ltmp757:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp758:
# %bb.470:
	movq	16(%rsp), %rdi
.Ltmp759:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp760:
# %bb.471:
.Ltmp762:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp763:
# %bb.472:
.Ltmp765:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp766:
# %bb.473:
	testl	%eax, %eax
	jne	.LBB14_475
# %bb.474:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp767:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z19__device_stub__sortPKfS0_Pfi
.Ltmp768:
.LBB14_475:
.Ltmp769:
	callq	hipGetLastError
.Ltmp770:
# %bb.476:
	testl	%eax, %eax
	je	.LBB14_487
# %bb.477:
.Ltmp771:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp772:
# %bb.478:
.Ltmp773:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp774:
# %bb.479:
.Ltmp775:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp776:
# %bb.480:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit839
.Ltmp777:
	movq	%r12, %rdi
	movl	$219, %esi
	callq	_ZNSolsEi
.Ltmp778:
# %bb.481:
.Ltmp779:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp780:
	jmp	.LBB14_74
.LBB14_487:
.Ltmp782:
	callq	hipDeviceSynchronize
.Ltmp783:
# %bb.488:
	testl	%eax, %eax
	je	.LBB14_495
# %bb.489:
.Ltmp784:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp785:
# %bb.490:
.Ltmp786:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp787:
# %bb.491:
.Ltmp788:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp789:
# %bb.492:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit843
.Ltmp790:
	movq	%r12, %rdi
	movl	$219, %esi
	callq	_ZNSolsEi
.Ltmp791:
# %bb.493:
.Ltmp792:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp793:
	jmp	.LBB14_74
.LBB14_495:
	movq	(%rsp), %rdi
.Ltmp795:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp796:
# %bb.496:
	movq	(%rsp), %rdi
.Ltmp797:
	callq	hipEventSynchronize
.Ltmp798:
# %bb.497:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp800:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp801:
# %bb.498:
.Ltmp802:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp803:
# %bb.499:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit847
.Ltmp804:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.16, %esi
	movl	$4, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp805:
# %bb.500:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit849
.Ltmp806:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp807:
# %bb.501:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit851
	cvtss2sd	12(%rsp), %xmm0
.Ltmp808:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp809:
# %bb.502:                              # %_ZNSolsEf.exit853
.Ltmp810:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp811:
# %bb.503:
.Ltmp813:
	leaq	16(%rsp), %rdi
	callq	hipEventCreate
.Ltmp814:
# %bb.504:
	movq	16(%rsp), %rdi
.Ltmp815:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp816:
# %bb.505:
.Ltmp818:
	movq	%rsp, %rdi
	callq	hipEventCreate
.Ltmp819:
# %bb.506:
.Ltmp821:
	movabsq	$4295000063, %rdi               # imm = 0x100007FFF
	movabsq	$4294967552, %rdx               # imm = 0x100000100
	movl	$1, %esi
	movl	$1, %ecx
	xorl	%r8d, %r8d
	xorl	%r9d, %r9d
	callq	__hipPushCallConfiguration
.Ltmp822:
# %bb.507:
	testl	%eax, %eax
	jne	.LBB14_509
# %bb.508:
	movq	40(%rsp), %rdi
	movq	32(%rsp), %rsi
	movq	24(%rsp), %rdx
.Ltmp823:
	movl	$8388608, %ecx                  # imm = 0x800000
	callq	_Z24__device_stub__nano_sortPKfS0_Pfi
.Ltmp824:
.LBB14_509:
.Ltmp825:
	callq	hipGetLastError
.Ltmp826:
# %bb.510:
	testl	%eax, %eax
	je	.LBB14_521
# %bb.511:
.Ltmp827:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp828:
# %bb.512:
.Ltmp829:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp830:
# %bb.513:
.Ltmp831:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp832:
# %bb.514:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit857
.Ltmp833:
	movq	%r12, %rdi
	movl	$220, %esi
	callq	_ZNSolsEi
.Ltmp834:
# %bb.515:
.Ltmp835:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp836:
	jmp	.LBB14_74
.LBB14_521:
.Ltmp838:
	callq	hipDeviceSynchronize
.Ltmp839:
# %bb.522:
	testl	%eax, %eax
	je	.LBB14_529
# %bb.523:
.Ltmp840:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp841:
# %bb.524:
.Ltmp842:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp843:
# %bb.525:
.Ltmp844:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp845:
# %bb.526:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit861
.Ltmp846:
	movq	%r12, %rdi
	movl	$220, %esi
	callq	_ZNSolsEi
.Ltmp847:
# %bb.527:
.Ltmp848:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp849:
.LBB14_74:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit626.thread1028
	movl	$-1, %ebp
	jmp	.LBB14_570
.LBB14_529:
	movq	(%rsp), %rdi
.Ltmp851:
	xorl	%esi, %esi
	callq	hipEventRecord
.Ltmp852:
# %bb.530:
	movq	(%rsp), %rdi
.Ltmp853:
	callq	hipEventSynchronize
.Ltmp854:
# %bb.531:
	movq	16(%rsp), %rsi
	movq	(%rsp), %rdx
.Ltmp856:
	leaq	12(%rsp), %rdi
	callq	hipEventElapsedTime
.Ltmp857:
# %bb.532:
.Ltmp858:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.2, %esi
	movl	$8, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp859:
# %bb.533:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit865
.Ltmp860:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.17, %esi
	movl	$9, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp861:
# %bb.534:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit867
.Ltmp862:
	movl	$_ZSt4cout, %edi
	movl	$.L.str.4, %esi
	movl	$2, %edx
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp863:
# %bb.535:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit869
	cvtss2sd	12(%rsp), %xmm0
.Ltmp864:
	movl	$_ZSt4cout, %edi
	callq	_ZNSo9_M_insertIdEERSoT_
.Ltmp865:
# %bb.536:                              # %_ZNSolsEf.exit871
.Ltmp866:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp867:
# %bb.537:
	movq	24(%rsp), %rsi
.Ltmp869:
	movl	$33554432, %edx                 # imm = 0x2000000
	movq	%r15, %rdi
	movl	$2, %ecx
	callq	hipMemcpy
.Ltmp870:
# %bb.538:
	testl	%eax, %eax
	je	.LBB14_546
# %bb.539:
.Ltmp871:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp872:
# %bb.540:
.Ltmp873:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp874:
# %bb.541:
.Ltmp875:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp876:
# %bb.542:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit875
.Ltmp877:
	movq	%r12, %rdi
	movl	$223, %esi
	callq	_ZNSolsEi
.Ltmp878:
# %bb.543:
	movl	$-1, %ebp
.Ltmp879:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp880:
	jmp	.LBB14_570
.LBB14_546:
	movq	40(%rsp), %rdi
.Ltmp882:
	callq	hipFree
.Ltmp883:
# %bb.547:
	testl	%eax, %eax
	je	.LBB14_554
# %bb.548:
.Ltmp884:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp885:
# %bb.549:
.Ltmp886:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp887:
# %bb.550:
.Ltmp888:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp889:
# %bb.551:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit879
.Ltmp890:
	movq	%r12, %rdi
	movl	$225, %esi
	callq	_ZNSolsEi
.Ltmp891:
# %bb.552:
	movl	$-1, %ebp
.Ltmp892:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp893:
	jmp	.LBB14_570
.LBB14_554:
	movq	32(%rsp), %rdi
.Ltmp895:
	callq	hipFree
.Ltmp896:
# %bb.555:
	testl	%eax, %eax
	je	.LBB14_562
# %bb.556:
.Ltmp897:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp898:
# %bb.557:
.Ltmp899:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp900:
# %bb.558:
.Ltmp901:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp902:
# %bb.559:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit883
.Ltmp903:
	movq	%r12, %rdi
	movl	$226, %esi
	callq	_ZNSolsEi
.Ltmp904:
# %bb.560:
	movl	$-1, %ebp
.Ltmp905:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp906:
	jmp	.LBB14_570
.LBB14_562:
	movq	24(%rsp), %rdi
.Ltmp908:
	callq	hipFree
.Ltmp909:
# %bb.563:
	testl	%eax, %eax
	je	.LBB14_564
# %bb.565:
.Ltmp910:
	movl	%eax, %edi
	callq	hipGetErrorString
.Ltmp911:
# %bb.566:
.Ltmp912:
	movl	$_ZSt4cout, %edi
	movq	%rax, %rsi
	callq	_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc
.Ltmp913:
# %bb.567:
.Ltmp914:
	movq	%rax, %r12
	movl	$.L.str, %esi
	movl	$4, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp915:
# %bb.568:                              # %_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc.exit887
.Ltmp916:
	movq	%r12, %rdi
	movl	$227, %esi
	callq	_ZNSolsEi
.Ltmp917:
# %bb.569:
	movl	$-1, %ebp
.Ltmp918:
	movl	$.L.str.1, %esi
	movl	$1, %edx
	movq	%rax, %rdi
	callq	_ZSt16__ostream_insertIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_PKS3_l
.Ltmp919:
	jmp	.LBB14_570
.LBB14_564:
	xorl	%ebp, %ebp
	jmp	.LBB14_570
.LBB14_575:
.Ltmp920:
	jmp	.LBB14_572
.LBB14_561:
.Ltmp907:
	jmp	.LBB14_572
.LBB14_553:
.Ltmp894:
	jmp	.LBB14_572
.LBB14_545:
.Ltmp881:
	jmp	.LBB14_572
.LBB14_544:
.Ltmp868:
	jmp	.LBB14_572
.LBB14_519:
.Ltmp855:
	jmp	.LBB14_572
.LBB14_528:
.Ltmp850:
	jmp	.LBB14_572
.LBB14_520:
.Ltmp837:
	jmp	.LBB14_572
.LBB14_518:
.Ltmp820:
	jmp	.LBB14_572
.LBB14_517:
.Ltmp817:
	jmp	.LBB14_572
.LBB14_516:
.Ltmp812:
	jmp	.LBB14_572
.LBB14_485:
.Ltmp799:
	jmp	.LBB14_572
.LBB14_494:
.Ltmp794:
	jmp	.LBB14_572
.LBB14_486:
.Ltmp781:
	jmp	.LBB14_572
.LBB14_484:
.Ltmp764:
	jmp	.LBB14_572
.LBB14_483:
.Ltmp761:
	jmp	.LBB14_572
.LBB14_482:
.Ltmp756:
	jmp	.LBB14_572
.LBB14_451:
.Ltmp743:
	jmp	.LBB14_572
.LBB14_460:
.Ltmp738:
	jmp	.LBB14_572
.LBB14_452:
.Ltmp725:
	jmp	.LBB14_572
.LBB14_450:
.Ltmp708:
	jmp	.LBB14_572
.LBB14_449:
.Ltmp705:
	jmp	.LBB14_572
.LBB14_448:
.Ltmp700:
	jmp	.LBB14_572
.LBB14_417:
.Ltmp687:
	jmp	.LBB14_572
.LBB14_426:
.Ltmp682:
	jmp	.LBB14_572
.LBB14_418:
.Ltmp669:
	jmp	.LBB14_572
.LBB14_416:
.Ltmp652:
	jmp	.LBB14_572
.LBB14_415:
.Ltmp649:
	jmp	.LBB14_572
.LBB14_414:
.Ltmp644:
	jmp	.LBB14_572
.LBB14_383:
.Ltmp631:
	jmp	.LBB14_572
.LBB14_392:
.Ltmp626:
	jmp	.LBB14_572
.LBB14_384:
.Ltmp613:
	jmp	.LBB14_572
.LBB14_382:
.Ltmp596:
	jmp	.LBB14_572
.LBB14_381:
.Ltmp593:
	jmp	.LBB14_572
.LBB14_380:
.Ltmp588:
	jmp	.LBB14_572
.LBB14_349:
.Ltmp575:
	jmp	.LBB14_572
.LBB14_358:
.Ltmp570:
	jmp	.LBB14_572
.LBB14_348:
.Ltmp540:
	jmp	.LBB14_572
.LBB14_347:
.Ltmp537:
	jmp	.LBB14_572
.LBB14_350:
.Ltmp557:
	jmp	.LBB14_572
.LBB14_346:
.Ltmp532:
	jmp	.LBB14_572
.LBB14_314:
.Ltmp484:
	jmp	.LBB14_572
.LBB14_324:
.Ltmp514:
	jmp	.LBB14_572
.LBB14_315:
.Ltmp519:
	jmp	.LBB14_572
.LBB14_313:
.Ltmp481:
	jmp	.LBB14_572
.LBB14_316:
.Ltmp501:
	jmp	.LBB14_572
.LBB14_312:
.Ltmp476:
	jmp	.LBB14_572
.LBB14_280:
.Ltmp428:
	jmp	.LBB14_572
.LBB14_290:
.Ltmp458:
	jmp	.LBB14_572
.LBB14_281:
.Ltmp463:
	jmp	.LBB14_572
.LBB14_279:
.Ltmp425:
	jmp	.LBB14_572
.LBB14_282:
.Ltmp445:
	jmp	.LBB14_572
.LBB14_278:
.Ltmp420:
	jmp	.LBB14_572
.LBB14_246:
.Ltmp372:
	jmp	.LBB14_572
.LBB14_256:
.Ltmp402:
	jmp	.LBB14_572
.LBB14_247:
.Ltmp407:
	jmp	.LBB14_572
.LBB14_245:
.Ltmp369:
	jmp	.LBB14_572
.LBB14_248:
.Ltmp389:
	jmp	.LBB14_572
.LBB14_244:
.Ltmp364:
	jmp	.LBB14_572
.LBB14_212:
.Ltmp316:
	jmp	.LBB14_572
.LBB14_222:
.Ltmp346:
	jmp	.LBB14_572
.LBB14_213:
.Ltmp351:
	jmp	.LBB14_572
.LBB14_211:
.Ltmp313:
	jmp	.LBB14_572
.LBB14_214:
.Ltmp333:
	jmp	.LBB14_572
.LBB14_210:
.Ltmp308:
	jmp	.LBB14_572
.LBB14_178:
.Ltmp260:
	jmp	.LBB14_572
.LBB14_188:
.Ltmp290:
	jmp	.LBB14_572
.LBB14_179:
.Ltmp295:
	jmp	.LBB14_572
.LBB14_177:
.Ltmp257:
	jmp	.LBB14_572
.LBB14_180:
.Ltmp277:
	jmp	.LBB14_572
.LBB14_176:
.Ltmp252:
	jmp	.LBB14_572
.LBB14_144:
.Ltmp204:
	jmp	.LBB14_572
.LBB14_154:
.Ltmp234:
	jmp	.LBB14_572
.LBB14_145:
.Ltmp239:
	jmp	.LBB14_572
.LBB14_143:
.Ltmp201:
	jmp	.LBB14_572
.LBB14_146:
.Ltmp221:
	jmp	.LBB14_572
.LBB14_142:
.Ltmp196:
	jmp	.LBB14_572
.LBB14_110:
.Ltmp148:
	jmp	.LBB14_572
.LBB14_120:
.Ltmp178:
	jmp	.LBB14_572
.LBB14_111:
.Ltmp183:
	jmp	.LBB14_572
.LBB14_109:
.Ltmp145:
	jmp	.LBB14_572
.LBB14_112:
.Ltmp165:
	jmp	.LBB14_572
.LBB14_108:
.Ltmp140:
	jmp	.LBB14_572
.LBB14_76:
.Ltmp92:
	jmp	.LBB14_572
.LBB14_86:
.Ltmp122:
	jmp	.LBB14_572
.LBB14_77:
.Ltmp127:
	jmp	.LBB14_572
.LBB14_75:
.Ltmp89:
	jmp	.LBB14_572
.LBB14_78:
.Ltmp109:
	jmp	.LBB14_572
.LBB14_60:
.Ltmp84:
	jmp	.LBB14_572
.LBB14_52:
.Ltmp71:
	jmp	.LBB14_572
.LBB14_42:
.Ltmp56:
	jmp	.LBB14_572
.LBB14_16:
.Ltmp5:
	movq	%rax, %r12
	jmp	.LBB14_573
.LBB14_15:
.Ltmp2:
	movq	%rax, %r12
	jmp	.LBB14_574
.LBB14_32:
.Ltmp41:
	jmp	.LBB14_572
.LBB14_571:
.Ltmp26:
	jmp	.LBB14_572
.LBB14_18:
.Ltmp11:
	jmp	.LBB14_572
.LBB14_17:
.Ltmp8:
.LBB14_572:                             # %_ZNSt6vectorIfSaIfEED2Ev.exit895
	movq	%rax, %r12
	movq	%r15, %rdi
	callq	_ZdlPv
.LBB14_573:                             # %_ZNSt6vectorIfSaIfEED2Ev.exit897
	movq	%r14, %rdi
	callq	_ZdlPv
.LBB14_574:                             # %_ZNSt6vectorIfSaIfEED2Ev.exit899
	movq	%rbx, %rdi
	callq	_ZdlPv
	movq	%r12, %rdi
	callq	_Unwind_Resume@PLT
.Lfunc_end14:
	.size	main, .Lfunc_end14-main
	.cfi_endproc
	.section	.gcc_except_table,"a",@progbits
	.p2align	2, 0x0
GCC_except_table14:
.Lexception0:
	.byte	255                             # @LPStart Encoding = omit
	.byte	255                             # @TType Encoding = omit
	.byte	1                               # Call site Encoding = uleb128
	.uleb128 .Lcst_end0-.Lcst_begin0
.Lcst_begin0:
	.uleb128 .Lfunc_begin0-.Lfunc_begin0    # >> Call Site 1 <<
	.uleb128 .Ltmp0-.Lfunc_begin0           #   Call between .Lfunc_begin0 and .Ltmp0
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp0-.Lfunc_begin0           # >> Call Site 2 <<
	.uleb128 .Ltmp1-.Ltmp0                  #   Call between .Ltmp0 and .Ltmp1
	.uleb128 .Ltmp2-.Lfunc_begin0           #     jumps to .Ltmp2
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp1-.Lfunc_begin0           # >> Call Site 3 <<
	.uleb128 .Ltmp3-.Ltmp1                  #   Call between .Ltmp1 and .Ltmp3
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp3-.Lfunc_begin0           # >> Call Site 4 <<
	.uleb128 .Ltmp4-.Ltmp3                  #   Call between .Ltmp3 and .Ltmp4
	.uleb128 .Ltmp5-.Lfunc_begin0           #     jumps to .Ltmp5
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp4-.Lfunc_begin0           # >> Call Site 5 <<
	.uleb128 .Ltmp6-.Ltmp4                  #   Call between .Ltmp4 and .Ltmp6
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp6-.Lfunc_begin0           # >> Call Site 6 <<
	.uleb128 .Ltmp7-.Ltmp6                  #   Call between .Ltmp6 and .Ltmp7
	.uleb128 .Ltmp8-.Lfunc_begin0           #     jumps to .Ltmp8
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp9-.Lfunc_begin0           # >> Call Site 7 <<
	.uleb128 .Ltmp10-.Ltmp9                 #   Call between .Ltmp9 and .Ltmp10
	.uleb128 .Ltmp11-.Lfunc_begin0          #     jumps to .Ltmp11
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp12-.Lfunc_begin0          # >> Call Site 8 <<
	.uleb128 .Ltmp17-.Ltmp12                #   Call between .Ltmp12 and .Ltmp17
	.uleb128 .Ltmp26-.Lfunc_begin0          #     jumps to .Ltmp26
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp27-.Lfunc_begin0          # >> Call Site 9 <<
	.uleb128 .Ltmp32-.Ltmp27                #   Call between .Ltmp27 and .Ltmp32
	.uleb128 .Ltmp41-.Lfunc_begin0          #     jumps to .Ltmp41
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp18-.Lfunc_begin0          # >> Call Site 10 <<
	.uleb128 .Ltmp25-.Ltmp18                #   Call between .Ltmp18 and .Ltmp25
	.uleb128 .Ltmp26-.Lfunc_begin0          #     jumps to .Ltmp26
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp42-.Lfunc_begin0          # >> Call Site 11 <<
	.uleb128 .Ltmp47-.Ltmp42                #   Call between .Ltmp42 and .Ltmp47
	.uleb128 .Ltmp56-.Lfunc_begin0          #     jumps to .Ltmp56
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp33-.Lfunc_begin0          # >> Call Site 12 <<
	.uleb128 .Ltmp40-.Ltmp33                #   Call between .Ltmp33 and .Ltmp40
	.uleb128 .Ltmp41-.Lfunc_begin0          #     jumps to .Ltmp41
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp57-.Lfunc_begin0          # >> Call Site 13 <<
	.uleb128 .Ltmp62-.Ltmp57                #   Call between .Ltmp57 and .Ltmp62
	.uleb128 .Ltmp71-.Lfunc_begin0          #     jumps to .Ltmp71
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp48-.Lfunc_begin0          # >> Call Site 14 <<
	.uleb128 .Ltmp55-.Ltmp48                #   Call between .Ltmp48 and .Ltmp55
	.uleb128 .Ltmp56-.Lfunc_begin0          #     jumps to .Ltmp56
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp72-.Lfunc_begin0          # >> Call Site 15 <<
	.uleb128 .Ltmp83-.Ltmp72                #   Call between .Ltmp72 and .Ltmp83
	.uleb128 .Ltmp84-.Lfunc_begin0          #     jumps to .Ltmp84
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp63-.Lfunc_begin0          # >> Call Site 16 <<
	.uleb128 .Ltmp70-.Ltmp63                #   Call between .Ltmp63 and .Ltmp70
	.uleb128 .Ltmp71-.Lfunc_begin0          #     jumps to .Ltmp71
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp85-.Lfunc_begin0          # >> Call Site 17 <<
	.uleb128 .Ltmp88-.Ltmp85                #   Call between .Ltmp85 and .Ltmp88
	.uleb128 .Ltmp89-.Lfunc_begin0          #     jumps to .Ltmp89
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp90-.Lfunc_begin0          # >> Call Site 18 <<
	.uleb128 .Ltmp91-.Ltmp90                #   Call between .Ltmp90 and .Ltmp91
	.uleb128 .Ltmp92-.Lfunc_begin0          #     jumps to .Ltmp92
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp93-.Lfunc_begin0          # >> Call Site 19 <<
	.uleb128 .Ltmp96-.Ltmp93                #   Call between .Ltmp93 and .Ltmp96
	.uleb128 .Ltmp127-.Lfunc_begin0         #     jumps to .Ltmp127
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp97-.Lfunc_begin0          # >> Call Site 20 <<
	.uleb128 .Ltmp108-.Ltmp97               #   Call between .Ltmp97 and .Ltmp108
	.uleb128 .Ltmp109-.Lfunc_begin0         #     jumps to .Ltmp109
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp110-.Lfunc_begin0         # >> Call Site 21 <<
	.uleb128 .Ltmp121-.Ltmp110              #   Call between .Ltmp110 and .Ltmp121
	.uleb128 .Ltmp122-.Lfunc_begin0         #     jumps to .Ltmp122
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp123-.Lfunc_begin0         # >> Call Site 22 <<
	.uleb128 .Ltmp126-.Ltmp123              #   Call between .Ltmp123 and .Ltmp126
	.uleb128 .Ltmp127-.Lfunc_begin0         #     jumps to .Ltmp127
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp128-.Lfunc_begin0         # >> Call Site 23 <<
	.uleb128 .Ltmp139-.Ltmp128              #   Call between .Ltmp128 and .Ltmp139
	.uleb128 .Ltmp140-.Lfunc_begin0         #     jumps to .Ltmp140
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp141-.Lfunc_begin0         # >> Call Site 24 <<
	.uleb128 .Ltmp144-.Ltmp141              #   Call between .Ltmp141 and .Ltmp144
	.uleb128 .Ltmp145-.Lfunc_begin0         #     jumps to .Ltmp145
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp146-.Lfunc_begin0         # >> Call Site 25 <<
	.uleb128 .Ltmp147-.Ltmp146              #   Call between .Ltmp146 and .Ltmp147
	.uleb128 .Ltmp148-.Lfunc_begin0         #     jumps to .Ltmp148
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp149-.Lfunc_begin0         # >> Call Site 26 <<
	.uleb128 .Ltmp152-.Ltmp149              #   Call between .Ltmp149 and .Ltmp152
	.uleb128 .Ltmp183-.Lfunc_begin0         #     jumps to .Ltmp183
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp153-.Lfunc_begin0         # >> Call Site 27 <<
	.uleb128 .Ltmp164-.Ltmp153              #   Call between .Ltmp153 and .Ltmp164
	.uleb128 .Ltmp165-.Lfunc_begin0         #     jumps to .Ltmp165
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp166-.Lfunc_begin0         # >> Call Site 28 <<
	.uleb128 .Ltmp177-.Ltmp166              #   Call between .Ltmp166 and .Ltmp177
	.uleb128 .Ltmp178-.Lfunc_begin0         #     jumps to .Ltmp178
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp179-.Lfunc_begin0         # >> Call Site 29 <<
	.uleb128 .Ltmp182-.Ltmp179              #   Call between .Ltmp179 and .Ltmp182
	.uleb128 .Ltmp183-.Lfunc_begin0         #     jumps to .Ltmp183
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp184-.Lfunc_begin0         # >> Call Site 30 <<
	.uleb128 .Ltmp195-.Ltmp184              #   Call between .Ltmp184 and .Ltmp195
	.uleb128 .Ltmp196-.Lfunc_begin0         #     jumps to .Ltmp196
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp197-.Lfunc_begin0         # >> Call Site 31 <<
	.uleb128 .Ltmp200-.Ltmp197              #   Call between .Ltmp197 and .Ltmp200
	.uleb128 .Ltmp201-.Lfunc_begin0         #     jumps to .Ltmp201
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp202-.Lfunc_begin0         # >> Call Site 32 <<
	.uleb128 .Ltmp203-.Ltmp202              #   Call between .Ltmp202 and .Ltmp203
	.uleb128 .Ltmp204-.Lfunc_begin0         #     jumps to .Ltmp204
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp205-.Lfunc_begin0         # >> Call Site 33 <<
	.uleb128 .Ltmp208-.Ltmp205              #   Call between .Ltmp205 and .Ltmp208
	.uleb128 .Ltmp239-.Lfunc_begin0         #     jumps to .Ltmp239
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp209-.Lfunc_begin0         # >> Call Site 34 <<
	.uleb128 .Ltmp220-.Ltmp209              #   Call between .Ltmp209 and .Ltmp220
	.uleb128 .Ltmp221-.Lfunc_begin0         #     jumps to .Ltmp221
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp222-.Lfunc_begin0         # >> Call Site 35 <<
	.uleb128 .Ltmp233-.Ltmp222              #   Call between .Ltmp222 and .Ltmp233
	.uleb128 .Ltmp234-.Lfunc_begin0         #     jumps to .Ltmp234
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp235-.Lfunc_begin0         # >> Call Site 36 <<
	.uleb128 .Ltmp238-.Ltmp235              #   Call between .Ltmp235 and .Ltmp238
	.uleb128 .Ltmp239-.Lfunc_begin0         #     jumps to .Ltmp239
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp240-.Lfunc_begin0         # >> Call Site 37 <<
	.uleb128 .Ltmp251-.Ltmp240              #   Call between .Ltmp240 and .Ltmp251
	.uleb128 .Ltmp252-.Lfunc_begin0         #     jumps to .Ltmp252
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp253-.Lfunc_begin0         # >> Call Site 38 <<
	.uleb128 .Ltmp256-.Ltmp253              #   Call between .Ltmp253 and .Ltmp256
	.uleb128 .Ltmp257-.Lfunc_begin0         #     jumps to .Ltmp257
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp258-.Lfunc_begin0         # >> Call Site 39 <<
	.uleb128 .Ltmp259-.Ltmp258              #   Call between .Ltmp258 and .Ltmp259
	.uleb128 .Ltmp260-.Lfunc_begin0         #     jumps to .Ltmp260
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp261-.Lfunc_begin0         # >> Call Site 40 <<
	.uleb128 .Ltmp264-.Ltmp261              #   Call between .Ltmp261 and .Ltmp264
	.uleb128 .Ltmp295-.Lfunc_begin0         #     jumps to .Ltmp295
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp265-.Lfunc_begin0         # >> Call Site 41 <<
	.uleb128 .Ltmp276-.Ltmp265              #   Call between .Ltmp265 and .Ltmp276
	.uleb128 .Ltmp277-.Lfunc_begin0         #     jumps to .Ltmp277
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp278-.Lfunc_begin0         # >> Call Site 42 <<
	.uleb128 .Ltmp289-.Ltmp278              #   Call between .Ltmp278 and .Ltmp289
	.uleb128 .Ltmp290-.Lfunc_begin0         #     jumps to .Ltmp290
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp291-.Lfunc_begin0         # >> Call Site 43 <<
	.uleb128 .Ltmp294-.Ltmp291              #   Call between .Ltmp291 and .Ltmp294
	.uleb128 .Ltmp295-.Lfunc_begin0         #     jumps to .Ltmp295
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp296-.Lfunc_begin0         # >> Call Site 44 <<
	.uleb128 .Ltmp307-.Ltmp296              #   Call between .Ltmp296 and .Ltmp307
	.uleb128 .Ltmp308-.Lfunc_begin0         #     jumps to .Ltmp308
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp309-.Lfunc_begin0         # >> Call Site 45 <<
	.uleb128 .Ltmp312-.Ltmp309              #   Call between .Ltmp309 and .Ltmp312
	.uleb128 .Ltmp313-.Lfunc_begin0         #     jumps to .Ltmp313
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp314-.Lfunc_begin0         # >> Call Site 46 <<
	.uleb128 .Ltmp315-.Ltmp314              #   Call between .Ltmp314 and .Ltmp315
	.uleb128 .Ltmp316-.Lfunc_begin0         #     jumps to .Ltmp316
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp317-.Lfunc_begin0         # >> Call Site 47 <<
	.uleb128 .Ltmp320-.Ltmp317              #   Call between .Ltmp317 and .Ltmp320
	.uleb128 .Ltmp351-.Lfunc_begin0         #     jumps to .Ltmp351
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp321-.Lfunc_begin0         # >> Call Site 48 <<
	.uleb128 .Ltmp332-.Ltmp321              #   Call between .Ltmp321 and .Ltmp332
	.uleb128 .Ltmp333-.Lfunc_begin0         #     jumps to .Ltmp333
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp334-.Lfunc_begin0         # >> Call Site 49 <<
	.uleb128 .Ltmp345-.Ltmp334              #   Call between .Ltmp334 and .Ltmp345
	.uleb128 .Ltmp346-.Lfunc_begin0         #     jumps to .Ltmp346
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp347-.Lfunc_begin0         # >> Call Site 50 <<
	.uleb128 .Ltmp350-.Ltmp347              #   Call between .Ltmp347 and .Ltmp350
	.uleb128 .Ltmp351-.Lfunc_begin0         #     jumps to .Ltmp351
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp352-.Lfunc_begin0         # >> Call Site 51 <<
	.uleb128 .Ltmp363-.Ltmp352              #   Call between .Ltmp352 and .Ltmp363
	.uleb128 .Ltmp364-.Lfunc_begin0         #     jumps to .Ltmp364
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp365-.Lfunc_begin0         # >> Call Site 52 <<
	.uleb128 .Ltmp368-.Ltmp365              #   Call between .Ltmp365 and .Ltmp368
	.uleb128 .Ltmp369-.Lfunc_begin0         #     jumps to .Ltmp369
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp370-.Lfunc_begin0         # >> Call Site 53 <<
	.uleb128 .Ltmp371-.Ltmp370              #   Call between .Ltmp370 and .Ltmp371
	.uleb128 .Ltmp372-.Lfunc_begin0         #     jumps to .Ltmp372
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp373-.Lfunc_begin0         # >> Call Site 54 <<
	.uleb128 .Ltmp376-.Ltmp373              #   Call between .Ltmp373 and .Ltmp376
	.uleb128 .Ltmp407-.Lfunc_begin0         #     jumps to .Ltmp407
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp377-.Lfunc_begin0         # >> Call Site 55 <<
	.uleb128 .Ltmp388-.Ltmp377              #   Call between .Ltmp377 and .Ltmp388
	.uleb128 .Ltmp389-.Lfunc_begin0         #     jumps to .Ltmp389
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp390-.Lfunc_begin0         # >> Call Site 56 <<
	.uleb128 .Ltmp401-.Ltmp390              #   Call between .Ltmp390 and .Ltmp401
	.uleb128 .Ltmp402-.Lfunc_begin0         #     jumps to .Ltmp402
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp403-.Lfunc_begin0         # >> Call Site 57 <<
	.uleb128 .Ltmp406-.Ltmp403              #   Call between .Ltmp403 and .Ltmp406
	.uleb128 .Ltmp407-.Lfunc_begin0         #     jumps to .Ltmp407
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp408-.Lfunc_begin0         # >> Call Site 58 <<
	.uleb128 .Ltmp419-.Ltmp408              #   Call between .Ltmp408 and .Ltmp419
	.uleb128 .Ltmp420-.Lfunc_begin0         #     jumps to .Ltmp420
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp421-.Lfunc_begin0         # >> Call Site 59 <<
	.uleb128 .Ltmp424-.Ltmp421              #   Call between .Ltmp421 and .Ltmp424
	.uleb128 .Ltmp425-.Lfunc_begin0         #     jumps to .Ltmp425
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp426-.Lfunc_begin0         # >> Call Site 60 <<
	.uleb128 .Ltmp427-.Ltmp426              #   Call between .Ltmp426 and .Ltmp427
	.uleb128 .Ltmp428-.Lfunc_begin0         #     jumps to .Ltmp428
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp429-.Lfunc_begin0         # >> Call Site 61 <<
	.uleb128 .Ltmp432-.Ltmp429              #   Call between .Ltmp429 and .Ltmp432
	.uleb128 .Ltmp463-.Lfunc_begin0         #     jumps to .Ltmp463
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp433-.Lfunc_begin0         # >> Call Site 62 <<
	.uleb128 .Ltmp444-.Ltmp433              #   Call between .Ltmp433 and .Ltmp444
	.uleb128 .Ltmp445-.Lfunc_begin0         #     jumps to .Ltmp445
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp446-.Lfunc_begin0         # >> Call Site 63 <<
	.uleb128 .Ltmp457-.Ltmp446              #   Call between .Ltmp446 and .Ltmp457
	.uleb128 .Ltmp458-.Lfunc_begin0         #     jumps to .Ltmp458
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp459-.Lfunc_begin0         # >> Call Site 64 <<
	.uleb128 .Ltmp462-.Ltmp459              #   Call between .Ltmp459 and .Ltmp462
	.uleb128 .Ltmp463-.Lfunc_begin0         #     jumps to .Ltmp463
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp464-.Lfunc_begin0         # >> Call Site 65 <<
	.uleb128 .Ltmp475-.Ltmp464              #   Call between .Ltmp464 and .Ltmp475
	.uleb128 .Ltmp476-.Lfunc_begin0         #     jumps to .Ltmp476
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp477-.Lfunc_begin0         # >> Call Site 66 <<
	.uleb128 .Ltmp480-.Ltmp477              #   Call between .Ltmp477 and .Ltmp480
	.uleb128 .Ltmp481-.Lfunc_begin0         #     jumps to .Ltmp481
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp482-.Lfunc_begin0         # >> Call Site 67 <<
	.uleb128 .Ltmp483-.Ltmp482              #   Call between .Ltmp482 and .Ltmp483
	.uleb128 .Ltmp484-.Lfunc_begin0         #     jumps to .Ltmp484
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp485-.Lfunc_begin0         # >> Call Site 68 <<
	.uleb128 .Ltmp488-.Ltmp485              #   Call between .Ltmp485 and .Ltmp488
	.uleb128 .Ltmp519-.Lfunc_begin0         #     jumps to .Ltmp519
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp489-.Lfunc_begin0         # >> Call Site 69 <<
	.uleb128 .Ltmp500-.Ltmp489              #   Call between .Ltmp489 and .Ltmp500
	.uleb128 .Ltmp501-.Lfunc_begin0         #     jumps to .Ltmp501
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp502-.Lfunc_begin0         # >> Call Site 70 <<
	.uleb128 .Ltmp513-.Ltmp502              #   Call between .Ltmp502 and .Ltmp513
	.uleb128 .Ltmp514-.Lfunc_begin0         #     jumps to .Ltmp514
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp515-.Lfunc_begin0         # >> Call Site 71 <<
	.uleb128 .Ltmp518-.Ltmp515              #   Call between .Ltmp515 and .Ltmp518
	.uleb128 .Ltmp519-.Lfunc_begin0         #     jumps to .Ltmp519
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp520-.Lfunc_begin0         # >> Call Site 72 <<
	.uleb128 .Ltmp531-.Ltmp520              #   Call between .Ltmp520 and .Ltmp531
	.uleb128 .Ltmp532-.Lfunc_begin0         #     jumps to .Ltmp532
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp533-.Lfunc_begin0         # >> Call Site 73 <<
	.uleb128 .Ltmp536-.Ltmp533              #   Call between .Ltmp533 and .Ltmp536
	.uleb128 .Ltmp537-.Lfunc_begin0         #     jumps to .Ltmp537
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp538-.Lfunc_begin0         # >> Call Site 74 <<
	.uleb128 .Ltmp539-.Ltmp538              #   Call between .Ltmp538 and .Ltmp539
	.uleb128 .Ltmp540-.Lfunc_begin0         #     jumps to .Ltmp540
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp541-.Lfunc_begin0         # >> Call Site 75 <<
	.uleb128 .Ltmp544-.Ltmp541              #   Call between .Ltmp541 and .Ltmp544
	.uleb128 .Ltmp575-.Lfunc_begin0         #     jumps to .Ltmp575
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp545-.Lfunc_begin0         # >> Call Site 76 <<
	.uleb128 .Ltmp556-.Ltmp545              #   Call between .Ltmp545 and .Ltmp556
	.uleb128 .Ltmp557-.Lfunc_begin0         #     jumps to .Ltmp557
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp558-.Lfunc_begin0         # >> Call Site 77 <<
	.uleb128 .Ltmp569-.Ltmp558              #   Call between .Ltmp558 and .Ltmp569
	.uleb128 .Ltmp570-.Lfunc_begin0         #     jumps to .Ltmp570
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp571-.Lfunc_begin0         # >> Call Site 78 <<
	.uleb128 .Ltmp574-.Ltmp571              #   Call between .Ltmp571 and .Ltmp574
	.uleb128 .Ltmp575-.Lfunc_begin0         #     jumps to .Ltmp575
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp576-.Lfunc_begin0         # >> Call Site 79 <<
	.uleb128 .Ltmp587-.Ltmp576              #   Call between .Ltmp576 and .Ltmp587
	.uleb128 .Ltmp588-.Lfunc_begin0         #     jumps to .Ltmp588
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp589-.Lfunc_begin0         # >> Call Site 80 <<
	.uleb128 .Ltmp592-.Ltmp589              #   Call between .Ltmp589 and .Ltmp592
	.uleb128 .Ltmp593-.Lfunc_begin0         #     jumps to .Ltmp593
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp594-.Lfunc_begin0         # >> Call Site 81 <<
	.uleb128 .Ltmp595-.Ltmp594              #   Call between .Ltmp594 and .Ltmp595
	.uleb128 .Ltmp596-.Lfunc_begin0         #     jumps to .Ltmp596
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp597-.Lfunc_begin0         # >> Call Site 82 <<
	.uleb128 .Ltmp600-.Ltmp597              #   Call between .Ltmp597 and .Ltmp600
	.uleb128 .Ltmp631-.Lfunc_begin0         #     jumps to .Ltmp631
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp601-.Lfunc_begin0         # >> Call Site 83 <<
	.uleb128 .Ltmp612-.Ltmp601              #   Call between .Ltmp601 and .Ltmp612
	.uleb128 .Ltmp613-.Lfunc_begin0         #     jumps to .Ltmp613
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp614-.Lfunc_begin0         # >> Call Site 84 <<
	.uleb128 .Ltmp625-.Ltmp614              #   Call between .Ltmp614 and .Ltmp625
	.uleb128 .Ltmp626-.Lfunc_begin0         #     jumps to .Ltmp626
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp627-.Lfunc_begin0         # >> Call Site 85 <<
	.uleb128 .Ltmp630-.Ltmp627              #   Call between .Ltmp627 and .Ltmp630
	.uleb128 .Ltmp631-.Lfunc_begin0         #     jumps to .Ltmp631
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp632-.Lfunc_begin0         # >> Call Site 86 <<
	.uleb128 .Ltmp643-.Ltmp632              #   Call between .Ltmp632 and .Ltmp643
	.uleb128 .Ltmp644-.Lfunc_begin0         #     jumps to .Ltmp644
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp645-.Lfunc_begin0         # >> Call Site 87 <<
	.uleb128 .Ltmp648-.Ltmp645              #   Call between .Ltmp645 and .Ltmp648
	.uleb128 .Ltmp649-.Lfunc_begin0         #     jumps to .Ltmp649
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp650-.Lfunc_begin0         # >> Call Site 88 <<
	.uleb128 .Ltmp651-.Ltmp650              #   Call between .Ltmp650 and .Ltmp651
	.uleb128 .Ltmp652-.Lfunc_begin0         #     jumps to .Ltmp652
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp653-.Lfunc_begin0         # >> Call Site 89 <<
	.uleb128 .Ltmp656-.Ltmp653              #   Call between .Ltmp653 and .Ltmp656
	.uleb128 .Ltmp687-.Lfunc_begin0         #     jumps to .Ltmp687
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp657-.Lfunc_begin0         # >> Call Site 90 <<
	.uleb128 .Ltmp668-.Ltmp657              #   Call between .Ltmp657 and .Ltmp668
	.uleb128 .Ltmp669-.Lfunc_begin0         #     jumps to .Ltmp669
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp670-.Lfunc_begin0         # >> Call Site 91 <<
	.uleb128 .Ltmp681-.Ltmp670              #   Call between .Ltmp670 and .Ltmp681
	.uleb128 .Ltmp682-.Lfunc_begin0         #     jumps to .Ltmp682
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp683-.Lfunc_begin0         # >> Call Site 92 <<
	.uleb128 .Ltmp686-.Ltmp683              #   Call between .Ltmp683 and .Ltmp686
	.uleb128 .Ltmp687-.Lfunc_begin0         #     jumps to .Ltmp687
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp688-.Lfunc_begin0         # >> Call Site 93 <<
	.uleb128 .Ltmp699-.Ltmp688              #   Call between .Ltmp688 and .Ltmp699
	.uleb128 .Ltmp700-.Lfunc_begin0         #     jumps to .Ltmp700
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp701-.Lfunc_begin0         # >> Call Site 94 <<
	.uleb128 .Ltmp704-.Ltmp701              #   Call between .Ltmp701 and .Ltmp704
	.uleb128 .Ltmp705-.Lfunc_begin0         #     jumps to .Ltmp705
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp706-.Lfunc_begin0         # >> Call Site 95 <<
	.uleb128 .Ltmp707-.Ltmp706              #   Call between .Ltmp706 and .Ltmp707
	.uleb128 .Ltmp708-.Lfunc_begin0         #     jumps to .Ltmp708
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp709-.Lfunc_begin0         # >> Call Site 96 <<
	.uleb128 .Ltmp712-.Ltmp709              #   Call between .Ltmp709 and .Ltmp712
	.uleb128 .Ltmp743-.Lfunc_begin0         #     jumps to .Ltmp743
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp713-.Lfunc_begin0         # >> Call Site 97 <<
	.uleb128 .Ltmp724-.Ltmp713              #   Call between .Ltmp713 and .Ltmp724
	.uleb128 .Ltmp725-.Lfunc_begin0         #     jumps to .Ltmp725
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp726-.Lfunc_begin0         # >> Call Site 98 <<
	.uleb128 .Ltmp737-.Ltmp726              #   Call between .Ltmp726 and .Ltmp737
	.uleb128 .Ltmp738-.Lfunc_begin0         #     jumps to .Ltmp738
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp739-.Lfunc_begin0         # >> Call Site 99 <<
	.uleb128 .Ltmp742-.Ltmp739              #   Call between .Ltmp739 and .Ltmp742
	.uleb128 .Ltmp743-.Lfunc_begin0         #     jumps to .Ltmp743
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp744-.Lfunc_begin0         # >> Call Site 100 <<
	.uleb128 .Ltmp755-.Ltmp744              #   Call between .Ltmp744 and .Ltmp755
	.uleb128 .Ltmp756-.Lfunc_begin0         #     jumps to .Ltmp756
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp757-.Lfunc_begin0         # >> Call Site 101 <<
	.uleb128 .Ltmp760-.Ltmp757              #   Call between .Ltmp757 and .Ltmp760
	.uleb128 .Ltmp761-.Lfunc_begin0         #     jumps to .Ltmp761
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp762-.Lfunc_begin0         # >> Call Site 102 <<
	.uleb128 .Ltmp763-.Ltmp762              #   Call between .Ltmp762 and .Ltmp763
	.uleb128 .Ltmp764-.Lfunc_begin0         #     jumps to .Ltmp764
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp765-.Lfunc_begin0         # >> Call Site 103 <<
	.uleb128 .Ltmp768-.Ltmp765              #   Call between .Ltmp765 and .Ltmp768
	.uleb128 .Ltmp799-.Lfunc_begin0         #     jumps to .Ltmp799
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp769-.Lfunc_begin0         # >> Call Site 104 <<
	.uleb128 .Ltmp780-.Ltmp769              #   Call between .Ltmp769 and .Ltmp780
	.uleb128 .Ltmp781-.Lfunc_begin0         #     jumps to .Ltmp781
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp782-.Lfunc_begin0         # >> Call Site 105 <<
	.uleb128 .Ltmp793-.Ltmp782              #   Call between .Ltmp782 and .Ltmp793
	.uleb128 .Ltmp794-.Lfunc_begin0         #     jumps to .Ltmp794
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp795-.Lfunc_begin0         # >> Call Site 106 <<
	.uleb128 .Ltmp798-.Ltmp795              #   Call between .Ltmp795 and .Ltmp798
	.uleb128 .Ltmp799-.Lfunc_begin0         #     jumps to .Ltmp799
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp800-.Lfunc_begin0         # >> Call Site 107 <<
	.uleb128 .Ltmp811-.Ltmp800              #   Call between .Ltmp800 and .Ltmp811
	.uleb128 .Ltmp812-.Lfunc_begin0         #     jumps to .Ltmp812
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp813-.Lfunc_begin0         # >> Call Site 108 <<
	.uleb128 .Ltmp816-.Ltmp813              #   Call between .Ltmp813 and .Ltmp816
	.uleb128 .Ltmp817-.Lfunc_begin0         #     jumps to .Ltmp817
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp818-.Lfunc_begin0         # >> Call Site 109 <<
	.uleb128 .Ltmp819-.Ltmp818              #   Call between .Ltmp818 and .Ltmp819
	.uleb128 .Ltmp820-.Lfunc_begin0         #     jumps to .Ltmp820
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp821-.Lfunc_begin0         # >> Call Site 110 <<
	.uleb128 .Ltmp824-.Ltmp821              #   Call between .Ltmp821 and .Ltmp824
	.uleb128 .Ltmp855-.Lfunc_begin0         #     jumps to .Ltmp855
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp825-.Lfunc_begin0         # >> Call Site 111 <<
	.uleb128 .Ltmp836-.Ltmp825              #   Call between .Ltmp825 and .Ltmp836
	.uleb128 .Ltmp837-.Lfunc_begin0         #     jumps to .Ltmp837
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp838-.Lfunc_begin0         # >> Call Site 112 <<
	.uleb128 .Ltmp849-.Ltmp838              #   Call between .Ltmp838 and .Ltmp849
	.uleb128 .Ltmp850-.Lfunc_begin0         #     jumps to .Ltmp850
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp851-.Lfunc_begin0         # >> Call Site 113 <<
	.uleb128 .Ltmp854-.Ltmp851              #   Call between .Ltmp851 and .Ltmp854
	.uleb128 .Ltmp855-.Lfunc_begin0         #     jumps to .Ltmp855
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp856-.Lfunc_begin0         # >> Call Site 114 <<
	.uleb128 .Ltmp867-.Ltmp856              #   Call between .Ltmp856 and .Ltmp867
	.uleb128 .Ltmp868-.Lfunc_begin0         #     jumps to .Ltmp868
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp869-.Lfunc_begin0         # >> Call Site 115 <<
	.uleb128 .Ltmp880-.Ltmp869              #   Call between .Ltmp869 and .Ltmp880
	.uleb128 .Ltmp881-.Lfunc_begin0         #     jumps to .Ltmp881
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp882-.Lfunc_begin0         # >> Call Site 116 <<
	.uleb128 .Ltmp893-.Ltmp882              #   Call between .Ltmp882 and .Ltmp893
	.uleb128 .Ltmp894-.Lfunc_begin0         #     jumps to .Ltmp894
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp895-.Lfunc_begin0         # >> Call Site 117 <<
	.uleb128 .Ltmp906-.Ltmp895              #   Call between .Ltmp895 and .Ltmp906
	.uleb128 .Ltmp907-.Lfunc_begin0         #     jumps to .Ltmp907
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp908-.Lfunc_begin0         # >> Call Site 118 <<
	.uleb128 .Ltmp919-.Ltmp908              #   Call between .Ltmp908 and .Ltmp919
	.uleb128 .Ltmp920-.Lfunc_begin0         #     jumps to .Ltmp920
	.byte	0                               #   On action: cleanup
	.uleb128 .Ltmp919-.Lfunc_begin0         # >> Call Site 119 <<
	.uleb128 .Lfunc_end14-.Ltmp919          #   Call between .Ltmp919 and .Lfunc_end14
	.byte	0                               #     has no landing pad
	.byte	0                               #   On action: cleanup
.Lcst_end0:
	.p2align	2, 0x0
                                        # -- End function
	.section	.rodata.cst4,"aM",@progbits,4
	.p2align	2, 0x0                          # -- Begin function _ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_
.LCPI15_0:
	.long	0x4f800000                      # float 4.2949673E+9
.LCPI15_1:
	.long	0x40000000                      # float 2
.LCPI15_2:
	.long	0x5f000000                      # float 9.22337203E+18
.LCPI15_3:
	.long	0x3f800000                      # float 1
	.section	.text._ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_,"axG",@progbits,_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_,comdat
	.weak	_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_
	.type	_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_,@function
_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_: # @_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_
	.cfi_startproc
# %bb.0:
	pushq	%r14
	.cfi_def_cfa_offset 16
	pushq	%rbx
	.cfi_def_cfa_offset 24
	subq	$56, %rsp
	.cfi_def_cfa_offset 80
	.cfi_offset %rbx, -24
	.cfi_offset %r14, -16
	movq	%rdi, %rbx
	flds	.LCPI15_0(%rip)
	fstpt	(%rsp)
	callq	logl
	fstpt	36(%rsp)                        # 10-byte Folded Spill
	flds	.LCPI15_1(%rip)
	fstpt	(%rsp)
	callq	logl
	fldt	36(%rsp)                        # 10-byte Folded Reload
	fdivp	%st, %st(1)
	flds	.LCPI15_2(%rip)
	xorl	%ecx, %ecx
	fxch	%st(1)
	fucomi	%st(1), %st
	fldz
	fcmovnb	%st(2), %st
	fstp	%st(2)
	fsubp	%st, %st(1)
	setae	%cl
	fnstcw	28(%rsp)
	movzwl	28(%rsp), %eax
	orl	$3072, %eax                     # imm = 0xC00
	movw	%ax, 30(%rsp)
	fldcw	30(%rsp)
	fistpll	48(%rsp)
	fldcw	28(%rsp)
	shlq	$63, %rcx
	xorq	48(%rsp), %rcx
	leaq	23(%rcx), %rax
	xorl	%edx, %edx
	divq	%rcx
	movq	%rax, %r14
	cmpq	$1, %rax
	adcq	$0, %r14
	xorps	%xmm0, %xmm0
	movss	.LCPI15_3(%rip), %xmm2          # xmm2 = mem[0],zero,zero,zero
.LBB15_1:                               # %select.unfold
                                        # =>This Inner Loop Header: Depth=1
	movss	%xmm2, 32(%rsp)                 # 4-byte Spill
	movss	%xmm0, 36(%rsp)                 # 4-byte Spill
	movq	%rbx, %rdi
	callq	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv
	testq	%rax, %rax
	js	.LBB15_2
# %bb.3:                                # %select.unfold
                                        #   in Loop: Header=BB15_1 Depth=1
	xorps	%xmm0, %xmm0
	cvtsi2ss	%rax, %xmm0
	jmp	.LBB15_4
.LBB15_2:                               #   in Loop: Header=BB15_1 Depth=1
	movq	%rax, %rcx
	shrq	%rcx
	andl	$1, %eax
	orq	%rcx, %rax
	xorps	%xmm0, %xmm0
	cvtsi2ss	%rax, %xmm0
	addss	%xmm0, %xmm0
.LBB15_4:                               # %select.unfold
                                        #   in Loop: Header=BB15_1 Depth=1
	movss	32(%rsp), %xmm2                 # 4-byte Reload
                                        # xmm2 = mem[0],zero,zero,zero
	mulss	%xmm2, %xmm0
	movss	36(%rsp), %xmm1                 # 4-byte Reload
                                        # xmm1 = mem[0],zero,zero,zero
	addss	%xmm0, %xmm1
	movaps	%xmm1, %xmm0
	mulss	.LCPI15_0(%rip), %xmm2
	decq	%r14
	jne	.LBB15_1
# %bb.5:
	divss	%xmm2, %xmm0
	ucomiss	.LCPI15_3(%rip), %xmm0
	jae	.LBB15_7
# %bb.6:
	addq	$56, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	retq
.LBB15_7:
	.cfi_def_cfa_offset 80
	movss	.LCPI15_3(%rip), %xmm0          # xmm0 = mem[0],zero,zero,zero
	xorps	%xmm1, %xmm1
	addq	$56, %rsp
	.cfi_def_cfa_offset 24
	popq	%rbx
	.cfi_def_cfa_offset 16
	popq	%r14
	.cfi_def_cfa_offset 8
	jmp	nextafterf                      # TAILCALL
.Lfunc_end15:
	.size	_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_, .Lfunc_end15-_ZSt18generate_canonicalIfLm24ESt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEET_RT1_
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,comdat
	.weak	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv # -- Begin function _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv
	.p2align	1, 0x90
	.type	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv,@function
_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv: # @_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	.cfi_offset %rbx, -16
	movq	%rdi, %rbx
	movq	4992(%rdi), %rax
	cmpq	$624, %rax                      # imm = 0x270
	jb	.LBB16_2
# %bb.1:
	movq	%rbx, %rdi
	callq	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv
	movq	4992(%rbx), %rax
.LBB16_2:
	leaq	1(%rax), %rcx
	movq	%rcx, 4992(%rbx)
	movq	(%rbx,%rax,8), %rax
	movq	%rax, %rcx
	shrq	$11, %rcx
	movl	%ecx, %ecx
	xorq	%rax, %rcx
	movl	%ecx, %eax
	shll	$7, %eax
	andl	$-1658038656, %eax              # imm = 0x9D2C5680
	xorq	%rcx, %rax
	movl	%eax, %ecx
	shll	$15, %ecx
	andl	$-272236544, %ecx               # imm = 0xEFC60000
	xorq	%rax, %rcx
	movq	%rcx, %rax
	shrq	$18, %rax
	xorq	%rcx, %rax
	popq	%rbx
	.cfi_def_cfa_offset 8
	retq
.Lfunc_end16:
	.size	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv, .Lfunc_end16-_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EEclEv
	.cfi_endproc
                                        # -- End function
	.section	.text._ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv,"axG",@progbits,_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv,comdat
	.weak	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv # -- Begin function _ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv
	.p2align	1, 0x90
	.type	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv,@function
_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv: # @_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv
	.cfi_startproc
# %bb.0:
	movl	$2567483615, %eax               # imm = 0x9908B0DF
	movq	(%rdi), %rdx
	xorl	%ecx, %ecx
.LBB17_1:                               # =>This Inner Loop Header: Depth=1
	andq	$-2147483648, %rdx              # imm = 0x80000000
	movq	8(%rdi,%rcx,8), %rsi
	movl	%esi, %r8d
	andl	$2147483646, %r8d               # imm = 0x7FFFFFFE
	orq	%rdx, %r8
	shrq	%r8
	xorq	3176(%rdi,%rcx,8), %r8
	movq	%rsi, %rdx
                                        # kill: def $esi killed $esi killed $rsi def $rsi
	andl	$1, %esi
	negl	%esi
	andl	%eax, %esi
	xorq	%r8, %rsi
	movq	%rsi, (%rdi,%rcx,8)
	leaq	1(%rcx), %rsi
	movq	%rsi, %rcx
	cmpq	$227, %rsi
	jne	.LBB17_1
# %bb.2:                                # %.preheader.preheader
	movq	1816(%rdi), %rdx
	movl	$228, %ecx
.LBB17_3:                               # %.preheader
                                        # =>This Inner Loop Header: Depth=1
	andq	$-2147483648, %rdx              # imm = 0x80000000
	movq	(%rdi,%rcx,8), %rsi
	movl	%esi, %r8d
	andl	$2147483646, %r8d               # imm = 0x7FFFFFFE
	orq	%rdx, %r8
	shrq	%r8
	xorq	-1824(%rdi,%rcx,8), %r8
	movq	%rsi, %rdx
                                        # kill: def $esi killed $esi killed $rsi def $rsi
	andl	$1, %esi
	negl	%esi
	andl	%eax, %esi
	xorq	%r8, %rsi
	movq	%rsi, -8(%rdi,%rcx,8)
	incq	%rcx
	cmpq	$624, %rcx                      # imm = 0x270
	jne	.LBB17_3
# %bb.4:
	movq	$-2147483648, %rcx              # imm = 0x80000000
	andq	4984(%rdi), %rcx
	movq	(%rdi), %rdx
	movl	%edx, %esi
	andl	$2147483646, %esi               # imm = 0x7FFFFFFE
	orq	%rcx, %rsi
	shrq	%rsi
	xorq	3168(%rdi), %rsi
	andl	$1, %edx
	negl	%edx
	andl	%eax, %edx
	xorq	%rsi, %rdx
	movq	%rdx, 4984(%rdi)
	movq	$0, 4992(%rdi)
	retq
.Lfunc_end17:
	.size	_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv, .Lfunc_end17-_ZNSt23mersenne_twister_engineImLm32ELm624ELm397ELm31ELm2567483615ELm11ELm4294967295ELm7ELm2636928640ELm15ELm4022730752ELm18ELm1812433253EE11_M_gen_randEv
	.cfi_endproc
                                        # -- End function
	.text
	.p2align	4, 0x90                         # -- Begin function __hip_module_ctor
	.type	__hip_module_ctor,@function
__hip_module_ctor:                      # @__hip_module_ctor
	.cfi_startproc
# %bb.0:
	pushq	%rbx
	.cfi_def_cfa_offset 16
	subq	$32, %rsp
	.cfi_def_cfa_offset 48
	.cfi_offset %rbx, -16
	movq	__hip_gpubin_handle(%rip), %rbx
	testq	%rbx, %rbx
	jne	.LBB18_2
# %bb.1:
	movl	$__hip_fatbin_wrapper, %edi
	callq	__hipRegisterFatBinary
	movq	%rax, %rbx
	movq	%rax, __hip_gpubin_handle(%rip)
.LBB18_2:
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z3addPKfS0_Pfi, %esi
	movl	$.L__unnamed_1, %edx
	movl	$.L__unnamed_1, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z3mulPKfS0_Pfi, %esi
	movl	$.L__unnamed_2, %edx
	movl	$.L__unnamed_2, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z3divPKfS0_Pfi, %esi
	movl	$.L__unnamed_3, %edx
	movl	$.L__unnamed_3, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z8std_sqrtPKfS0_Pfi, %esi
	movl	$.L__unnamed_4, %edx
	movl	$.L__unnamed_4, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z7std_sinPKfS0_Pfi, %esi
	movl	$.L__unnamed_5, %edx
	movl	$.L__unnamed_5, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z8poly_sinPKfS0_Pfi, %esi
	movl	$.L__unnamed_6, %edx
	movl	$.L__unnamed_6, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z9poly_sin2PKfS0_Pfi, %esi
	movl	$.L__unnamed_7, %edx
	movl	$.L__unnamed_7, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z9poly_sin3PKfS0_Pfi, %esi
	movl	$.L__unnamed_8, %edx
	movl	$.L__unnamed_8, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z9poly_sin4PKfS0_Pfi, %esi
	movl	$.L__unnamed_9, %edx
	movl	$.L__unnamed_9, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z11logical_andPKfS0_Pfi, %esi
	movl	$.L__unnamed_10, %edx
	movl	$.L__unnamed_10, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z7bit_andPKfS0_Pfi, %esi
	movl	$.L__unnamed_11, %edx
	movl	$.L__unnamed_11, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z7mul_andPKfS0_Pfi, %esi
	movl	$.L__unnamed_12, %edx
	movl	$.L__unnamed_12, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z4sortPKfS0_Pfi, %esi
	movl	$.L__unnamed_13, %edx
	movl	$.L__unnamed_13, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	xorps	%xmm0, %xmm0
	movups	%xmm0, 16(%rsp)
	movups	%xmm0, (%rsp)
	movl	$_Z9nano_sortPKfS0_Pfi, %esi
	movl	$.L__unnamed_14, %edx
	movl	$.L__unnamed_14, %ecx
	movq	%rbx, %rdi
	movl	$-1, %r8d
	xorl	%r9d, %r9d
	callq	__hipRegisterFunction
	movl	$__hip_module_dtor, %edi
	addq	$32, %rsp
	.cfi_def_cfa_offset 16
	popq	%rbx
	.cfi_def_cfa_offset 8
	jmp	atexit                          # TAILCALL
.Lfunc_end18:
	.size	__hip_module_ctor, .Lfunc_end18-__hip_module_ctor
	.cfi_endproc
                                        # -- End function
	.p2align	4, 0x90                         # -- Begin function __hip_module_dtor
	.type	__hip_module_dtor,@function
__hip_module_dtor:                      # @__hip_module_dtor
	.cfi_startproc
# %bb.0:
	movq	__hip_gpubin_handle(%rip), %rdi
	testq	%rdi, %rdi
	je	.LBB19_2
# %bb.1:
	pushq	%rax
	.cfi_def_cfa_offset 16
	callq	__hipUnregisterFatBinary
	movq	$0, __hip_gpubin_handle(%rip)
	addq	$8, %rsp
	.cfi_def_cfa_offset 8
.LBB19_2:
	retq
.Lfunc_end19:
	.size	__hip_module_dtor, .Lfunc_end19-__hip_module_dtor
	.cfi_endproc
                                        # -- End function
	.type	_Z3addPKfS0_Pfi,@object         # @_Z3addPKfS0_Pfi
	.section	.rodata,"a",@progbits
	.globl	_Z3addPKfS0_Pfi
	.p2align	3, 0x0
_Z3addPKfS0_Pfi:
	.quad	_Z18__device_stub__addPKfS0_Pfi
	.size	_Z3addPKfS0_Pfi, 8

	.type	_Z3mulPKfS0_Pfi,@object         # @_Z3mulPKfS0_Pfi
	.globl	_Z3mulPKfS0_Pfi
	.p2align	3, 0x0
_Z3mulPKfS0_Pfi:
	.quad	_Z18__device_stub__mulPKfS0_Pfi
	.size	_Z3mulPKfS0_Pfi, 8

	.type	_Z3divPKfS0_Pfi,@object         # @_Z3divPKfS0_Pfi
	.globl	_Z3divPKfS0_Pfi
	.p2align	3, 0x0
_Z3divPKfS0_Pfi:
	.quad	_Z18__device_stub__divPKfS0_Pfi
	.size	_Z3divPKfS0_Pfi, 8

	.type	_Z8std_sqrtPKfS0_Pfi,@object    # @_Z8std_sqrtPKfS0_Pfi
	.globl	_Z8std_sqrtPKfS0_Pfi
	.p2align	3, 0x0
_Z8std_sqrtPKfS0_Pfi:
	.quad	_Z23__device_stub__std_sqrtPKfS0_Pfi
	.size	_Z8std_sqrtPKfS0_Pfi, 8

	.type	_Z7std_sinPKfS0_Pfi,@object     # @_Z7std_sinPKfS0_Pfi
	.globl	_Z7std_sinPKfS0_Pfi
	.p2align	3, 0x0
_Z7std_sinPKfS0_Pfi:
	.quad	_Z22__device_stub__std_sinPKfS0_Pfi
	.size	_Z7std_sinPKfS0_Pfi, 8

	.type	_Z8poly_sinPKfS0_Pfi,@object    # @_Z8poly_sinPKfS0_Pfi
	.globl	_Z8poly_sinPKfS0_Pfi
	.p2align	3, 0x0
_Z8poly_sinPKfS0_Pfi:
	.quad	_Z23__device_stub__poly_sinPKfS0_Pfi
	.size	_Z8poly_sinPKfS0_Pfi, 8

	.type	_Z9poly_sin2PKfS0_Pfi,@object   # @_Z9poly_sin2PKfS0_Pfi
	.globl	_Z9poly_sin2PKfS0_Pfi
	.p2align	3, 0x0
_Z9poly_sin2PKfS0_Pfi:
	.quad	_Z24__device_stub__poly_sin2PKfS0_Pfi
	.size	_Z9poly_sin2PKfS0_Pfi, 8

	.type	_Z9poly_sin3PKfS0_Pfi,@object   # @_Z9poly_sin3PKfS0_Pfi
	.globl	_Z9poly_sin3PKfS0_Pfi
	.p2align	3, 0x0
_Z9poly_sin3PKfS0_Pfi:
	.quad	_Z24__device_stub__poly_sin3PKfS0_Pfi
	.size	_Z9poly_sin3PKfS0_Pfi, 8

	.type	_Z9poly_sin4PKfS0_Pfi,@object   # @_Z9poly_sin4PKfS0_Pfi
	.globl	_Z9poly_sin4PKfS0_Pfi
	.p2align	3, 0x0
_Z9poly_sin4PKfS0_Pfi:
	.quad	_Z24__device_stub__poly_sin4PKfS0_Pfi
	.size	_Z9poly_sin4PKfS0_Pfi, 8

	.type	_Z11logical_andPKfS0_Pfi,@object # @_Z11logical_andPKfS0_Pfi
	.globl	_Z11logical_andPKfS0_Pfi
	.p2align	3, 0x0
_Z11logical_andPKfS0_Pfi:
	.quad	_Z26__device_stub__logical_andPKfS0_Pfi
	.size	_Z11logical_andPKfS0_Pfi, 8

	.type	_Z7bit_andPKfS0_Pfi,@object     # @_Z7bit_andPKfS0_Pfi
	.globl	_Z7bit_andPKfS0_Pfi
	.p2align	3, 0x0
_Z7bit_andPKfS0_Pfi:
	.quad	_Z22__device_stub__bit_andPKfS0_Pfi
	.size	_Z7bit_andPKfS0_Pfi, 8

	.type	_Z7mul_andPKfS0_Pfi,@object     # @_Z7mul_andPKfS0_Pfi
	.globl	_Z7mul_andPKfS0_Pfi
	.p2align	3, 0x0
_Z7mul_andPKfS0_Pfi:
	.quad	_Z22__device_stub__mul_andPKfS0_Pfi
	.size	_Z7mul_andPKfS0_Pfi, 8

	.type	_Z4sortPKfS0_Pfi,@object        # @_Z4sortPKfS0_Pfi
	.globl	_Z4sortPKfS0_Pfi
	.p2align	3, 0x0
_Z4sortPKfS0_Pfi:
	.quad	_Z19__device_stub__sortPKfS0_Pfi
	.size	_Z4sortPKfS0_Pfi, 8

	.type	_Z9nano_sortPKfS0_Pfi,@object   # @_Z9nano_sortPKfS0_Pfi
	.globl	_Z9nano_sortPKfS0_Pfi
	.p2align	3, 0x0
_Z9nano_sortPKfS0_Pfi:
	.quad	_Z24__device_stub__nano_sortPKfS0_Pfi
	.size	_Z9nano_sortPKfS0_Pfi, 8

	.type	.L.str,@object                  # @.str
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str:
	.asciz	" at "
	.size	.L.str, 5

	.type	.L.str.1,@object                # @.str.1
.L.str.1:
	.asciz	"\n"
	.size	.L.str.1, 2

	.type	.L.str.2,@object                # @.str.2
.L.str.2:
	.asciz	"Time of "
	.size	.L.str.2, 9

	.type	.L.str.3,@object                # @.str.3
.L.str.3:
	.asciz	"add"
	.size	.L.str.3, 4

	.type	.L.str.4,@object                # @.str.4
.L.str.4:
	.asciz	": "
	.size	.L.str.4, 3

	.type	.L.str.5,@object                # @.str.5
.L.str.5:
	.asciz	"mul"
	.size	.L.str.5, 4

	.type	.L.str.6,@object                # @.str.6
.L.str.6:
	.asciz	"div"
	.size	.L.str.6, 4

	.type	.L.str.7,@object                # @.str.7
.L.str.7:
	.asciz	"std_sqrt"
	.size	.L.str.7, 9

	.type	.L.str.8,@object                # @.str.8
.L.str.8:
	.asciz	"std_sin"
	.size	.L.str.8, 8

	.type	.L.str.9,@object                # @.str.9
.L.str.9:
	.asciz	"poly_sin"
	.size	.L.str.9, 9

	.type	.L.str.10,@object               # @.str.10
.L.str.10:
	.asciz	"poly_sin2"
	.size	.L.str.10, 10

	.type	.L.str.11,@object               # @.str.11
.L.str.11:
	.asciz	"poly_sin3"
	.size	.L.str.11, 10

	.type	.L.str.12,@object               # @.str.12
.L.str.12:
	.asciz	"poly_sin4"
	.size	.L.str.12, 10

	.type	.L.str.13,@object               # @.str.13
.L.str.13:
	.asciz	"logical_and"
	.size	.L.str.13, 12

	.type	.L.str.14,@object               # @.str.14
.L.str.14:
	.asciz	"bit_and"
	.size	.L.str.14, 8

	.type	.L.str.15,@object               # @.str.15
.L.str.15:
	.asciz	"mul_and"
	.size	.L.str.15, 8

	.type	.L.str.16,@object               # @.str.16
.L.str.16:
	.asciz	"sort"
	.size	.L.str.16, 5

	.type	.L.str.17,@object               # @.str.17
.L.str.17:
	.asciz	"nano_sort"
	.size	.L.str.17, 10

	.type	.L__unnamed_1,@object           # @0
.L__unnamed_1:
	.asciz	"_Z3addPKfS0_Pfi"
	.size	.L__unnamed_1, 16

	.type	.L__unnamed_2,@object           # @1
.L__unnamed_2:
	.asciz	"_Z3mulPKfS0_Pfi"
	.size	.L__unnamed_2, 16

	.type	.L__unnamed_3,@object           # @2
.L__unnamed_3:
	.asciz	"_Z3divPKfS0_Pfi"
	.size	.L__unnamed_3, 16

	.type	.L__unnamed_4,@object           # @3
.L__unnamed_4:
	.asciz	"_Z8std_sqrtPKfS0_Pfi"
	.size	.L__unnamed_4, 21

	.type	.L__unnamed_5,@object           # @4
.L__unnamed_5:
	.asciz	"_Z7std_sinPKfS0_Pfi"
	.size	.L__unnamed_5, 20

	.type	.L__unnamed_6,@object           # @5
.L__unnamed_6:
	.asciz	"_Z8poly_sinPKfS0_Pfi"
	.size	.L__unnamed_6, 21

	.type	.L__unnamed_7,@object           # @6
.L__unnamed_7:
	.asciz	"_Z9poly_sin2PKfS0_Pfi"
	.size	.L__unnamed_7, 22

	.type	.L__unnamed_8,@object           # @7
.L__unnamed_8:
	.asciz	"_Z9poly_sin3PKfS0_Pfi"
	.size	.L__unnamed_8, 22

	.type	.L__unnamed_9,@object           # @8
.L__unnamed_9:
	.asciz	"_Z9poly_sin4PKfS0_Pfi"
	.size	.L__unnamed_9, 22

	.type	.L__unnamed_10,@object          # @9
.L__unnamed_10:
	.asciz	"_Z11logical_andPKfS0_Pfi"
	.size	.L__unnamed_10, 25

	.type	.L__unnamed_11,@object          # @10
.L__unnamed_11:
	.asciz	"_Z7bit_andPKfS0_Pfi"
	.size	.L__unnamed_11, 20

	.type	.L__unnamed_12,@object          # @11
.L__unnamed_12:
	.asciz	"_Z7mul_andPKfS0_Pfi"
	.size	.L__unnamed_12, 20

	.type	.L__unnamed_13,@object          # @12
.L__unnamed_13:
	.asciz	"_Z4sortPKfS0_Pfi"
	.size	.L__unnamed_13, 17

	.type	.L__unnamed_14,@object          # @13
.L__unnamed_14:
	.asciz	"_Z9nano_sortPKfS0_Pfi"
	.size	.L__unnamed_14, 22

	.type	__hip_fatbin_wrapper,@object    # @__hip_fatbin_wrapper
	.section	.hipFatBinSegment,"a",@progbits
	.p2align	3, 0x0
__hip_fatbin_wrapper:
	.long	1212764230                      # 0x48495046
	.long	1                               # 0x1
	.quad	__hip_fatbin
	.quad	0
	.size	__hip_fatbin_wrapper, 24

	.type	__hip_gpubin_handle,@object     # @__hip_gpubin_handle
	.local	__hip_gpubin_handle
	.comm	__hip_gpubin_handle,8,8
	.section	.init_array,"aw",@init_array
	.p2align	3, 0x0
	.quad	__hip_module_ctor
	.type	__hip_cuid_,@object             # @__hip_cuid_
	.bss
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               # 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym _Z18__device_stub__addPKfS0_Pfi
	.addrsig_sym _Z18__device_stub__mulPKfS0_Pfi
	.addrsig_sym _Z18__device_stub__divPKfS0_Pfi
	.addrsig_sym _Z23__device_stub__std_sqrtPKfS0_Pfi
	.addrsig_sym _Z22__device_stub__std_sinPKfS0_Pfi
	.addrsig_sym _Z23__device_stub__poly_sinPKfS0_Pfi
	.addrsig_sym _Z24__device_stub__poly_sin2PKfS0_Pfi
	.addrsig_sym _Z24__device_stub__poly_sin3PKfS0_Pfi
	.addrsig_sym _Z24__device_stub__poly_sin4PKfS0_Pfi
	.addrsig_sym _Z26__device_stub__logical_andPKfS0_Pfi
	.addrsig_sym _Z22__device_stub__bit_andPKfS0_Pfi
	.addrsig_sym _Z22__device_stub__mul_andPKfS0_Pfi
	.addrsig_sym _Z19__device_stub__sortPKfS0_Pfi
	.addrsig_sym _Z24__device_stub__nano_sortPKfS0_Pfi
	.addrsig_sym __gxx_personality_v0
	.addrsig_sym __hip_module_ctor
	.addrsig_sym __hip_module_dtor
	.addrsig_sym _Unwind_Resume
	.addrsig_sym _Z3addPKfS0_Pfi
	.addrsig_sym _Z3mulPKfS0_Pfi
	.addrsig_sym _Z3divPKfS0_Pfi
	.addrsig_sym _Z8std_sqrtPKfS0_Pfi
	.addrsig_sym _Z7std_sinPKfS0_Pfi
	.addrsig_sym _Z8poly_sinPKfS0_Pfi
	.addrsig_sym _Z9poly_sin2PKfS0_Pfi
	.addrsig_sym _Z9poly_sin3PKfS0_Pfi
	.addrsig_sym _Z9poly_sin4PKfS0_Pfi
	.addrsig_sym _Z11logical_andPKfS0_Pfi
	.addrsig_sym _Z7bit_andPKfS0_Pfi
	.addrsig_sym _Z7mul_andPKfS0_Pfi
	.addrsig_sym _Z4sortPKfS0_Pfi
	.addrsig_sym _Z9nano_sortPKfS0_Pfi
	.addrsig_sym _ZSt4cout
	.addrsig_sym __hip_fatbin
	.addrsig_sym __hip_fatbin_wrapper
	.addrsig_sym __hip_cuid_

	.text
	.amdgcn_target "amdgcn-amd-amdhsa--gfx1100"
	.protected	_Z3addPKfS0_Pfi         ; -- Begin function _Z3addPKfS0_Pfi
	.globl	_Z3addPKfS0_Pfi
	.p2align	8
	.type	_Z3addPKfS0_Pfi,@function
_Z3addPKfS0_Pfi:                        ; @_Z3addPKfS0_Pfi
; %bb.0:
	s_clause 0x2
	s_load_b32 s2, s[0:1], 0x2c
	s_load_b128 s[4:7], s[0:1], 0x0
	s_load_b64 s[0:1], s[0:1], 0x10
	v_mov_b32_e32 v3, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s2, v[0:1]
	v_mov_b32_e32 v0, 0
	s_mov_b32 s2, 0
.LBB0_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s2, v1
	s_add_i32 s2, s2, 1
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	s_cmpk_eq_i32 s2, 0x100
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v6, vcc_lo, s4, v4
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v5, vcc_lo
	v_add_co_u32 v4, vcc_lo, s6, v4
	v_add_co_ci_u32_e32 v5, vcc_lo, s7, v5, vcc_lo
	global_load_b32 v2, v[6:7], off
	global_load_b32 v4, v[4:5], off
	s_waitcnt vmcnt(0)
	v_add_f32_e32 v2, v2, v4
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f32_e32 v0, v0, v2
	s_cbranch_scc0 .LBB0_1
; %bb.2:
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z3addPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 8
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end0:
	.size	_Z3addPKfS0_Pfi, .Lfunc_end0-_Z3addPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 208
; NumSgprs: 18
; NumVgprs: 8
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 8
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z3mulPKfS0_Pfi         ; -- Begin function _Z3mulPKfS0_Pfi
	.globl	_Z3mulPKfS0_Pfi
	.p2align	8
	.type	_Z3mulPKfS0_Pfi,@function
_Z3mulPKfS0_Pfi:                        ; @_Z3mulPKfS0_Pfi
; %bb.0:
	s_clause 0x2
	s_load_b32 s2, s[0:1], 0x2c
	s_load_b128 s[4:7], s[0:1], 0x0
	s_load_b64 s[0:1], s[0:1], 0x10
	v_mov_b32_e32 v3, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s2, v[0:1]
	v_mov_b32_e32 v0, 0
	s_mov_b32 s2, 0
.LBB1_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s2, v1
	s_add_i32 s2, s2, 1
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	s_cmpk_eq_i32 s2, 0x100
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v6, vcc_lo, s4, v4
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v5, vcc_lo
	v_add_co_u32 v4, vcc_lo, s6, v4
	v_add_co_ci_u32_e32 v5, vcc_lo, s7, v5, vcc_lo
	global_load_b32 v2, v[6:7], off
	global_load_b32 v4, v[4:5], off
	s_waitcnt vmcnt(0)
	v_fmac_f32_e32 v0, v2, v4
	s_cbranch_scc0 .LBB1_1
; %bb.2:
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z3mulPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 8
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end1:
	.size	_Z3mulPKfS0_Pfi, .Lfunc_end1-_Z3mulPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 200
; NumSgprs: 18
; NumVgprs: 8
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 8
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z3divPKfS0_Pfi         ; -- Begin function _Z3divPKfS0_Pfi
	.globl	_Z3divPKfS0_Pfi
	.p2align	8
	.type	_Z3divPKfS0_Pfi,@function
_Z3divPKfS0_Pfi:                        ; @_Z3divPKfS0_Pfi
; %bb.0:
	s_clause 0x2
	s_load_b32 s2, s[0:1], 0x2c
	s_load_b128 s[4:7], s[0:1], 0x0
	s_load_b64 s[0:1], s[0:1], 0x10
	v_mov_b32_e32 v3, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s2, v[0:1]
	v_mov_b32_e32 v0, 0
	s_mov_b32 s2, 0
.LBB2_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s2, v1
	s_add_i32 s2, s2, 1
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	s_cmpk_eq_i32 s2, 0x100
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v6, vcc_lo, s4, v4
	v_add_co_ci_u32_e32 v7, vcc_lo, s5, v5, vcc_lo
	v_add_co_u32 v4, vcc_lo, s6, v4
	v_add_co_ci_u32_e32 v5, vcc_lo, s7, v5, vcc_lo
	global_load_b32 v2, v[6:7], off
	global_load_b32 v4, v[4:5], off
	s_waitcnt vmcnt(0)
	v_div_scale_f32 v5, null, v4, v4, v2
	v_div_scale_f32 v8, vcc_lo, v2, v4, v2
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_2) | instid1(VALU_DEP_1)
	v_rcp_f32_e32 v6, v5
	s_waitcnt_depctr 0xfff
	v_fma_f32 v7, -v5, v6, 1.0
	v_fmac_f32_e32 v6, v7, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f32_e32 v7, v8, v6
	v_fma_f32 v9, -v5, v7, v8
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v7, v9, v6
	v_fma_f32 v5, -v5, v7, v8
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_div_fmas_f32 v5, v5, v6, v7
	v_div_fixup_f32 v2, v5, v4, v2
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f32_e32 v0, v0, v2
	s_cbranch_scc0 .LBB2_1
; %bb.2:
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z3divPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 10
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end2:
	.size	_Z3divPKfS0_Pfi, .Lfunc_end2-_Z3divPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 296
; NumSgprs: 18
; NumVgprs: 10
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 1
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 10
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z8std_sqrtPKfS0_Pfi    ; -- Begin function _Z8std_sqrtPKfS0_Pfi
	.globl	_Z8std_sqrtPKfS0_Pfi
	.p2align	8
	.type	_Z8std_sqrtPKfS0_Pfi,@function
_Z8std_sqrtPKfS0_Pfi:                   ; @_Z8std_sqrtPKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s2, s[0:1], 0x2c
	s_load_b64 s[4:5], s[0:1], 0x0
	v_mov_b32_e32 v3, 0
	s_mov_b32 s3, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s2, v[0:1]
	v_mov_b32_e32 v0, 0
.LBB3_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s3, v1
	s_add_i32 s3, s3, 1
	s_cmpk_eq_i32 s3, 0x100
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	v_add_co_u32 v4, vcc_lo, s4, v4
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_4) | instid1(VALU_DEP_2)
	v_add_co_ci_u32_e32 v5, vcc_lo, s5, v5, vcc_lo
	global_load_b32 v2, v[4:5], off
	s_waitcnt vmcnt(0)
	v_mul_f32_e32 v4, 0x4f800000, v2
	v_cmp_gt_f32_e32 vcc_lo, 0xf800000, v2
	v_cndmask_b32_e32 v2, v2, v4, vcc_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_3) | instid1(VALU_DEP_2)
	v_sqrt_f32_e32 v4, v2
	s_waitcnt_depctr 0xfff
	v_add_nc_u32_e32 v5, -1, v4
	v_add_nc_u32_e32 v6, 1, v4
	v_fma_f32 v7, -v5, v4, v2
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fma_f32 v8, -v6, v4, v2
	v_cmp_ge_f32_e64 s2, 0, v7
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cndmask_b32_e64 v4, v4, v5, s2
	v_cmp_lt_f32_e64 s2, 0, v8
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_cndmask_b32_e64 v4, v4, v6, s2
	v_mul_f32_e32 v5, 0x37800000, v4
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_cndmask_b32_e32 v4, v4, v5, vcc_lo
	v_cmp_class_f32_e64 vcc_lo, v2, 0x260
	v_cndmask_b32_e32 v2, v4, v2, vcc_lo
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f32_e32 v0, v0, v2
	s_cbranch_scc0 .LBB3_1
; %bb.2:
	s_load_b64 s[0:1], s[0:1], 0x10
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z8std_sqrtPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 9
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end3:
	.size	_Z8std_sqrtPKfS0_Pfi, .Lfunc_end3-_Z8std_sqrtPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 320
; NumSgprs: 18
; NumVgprs: 9
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 1
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 9
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z7std_sinPKfS0_Pfi     ; -- Begin function _Z7std_sinPKfS0_Pfi
	.globl	_Z7std_sinPKfS0_Pfi
	.p2align	8
	.type	_Z7std_sinPKfS0_Pfi,@function
_Z7std_sinPKfS0_Pfi:                    ; @_Z7std_sinPKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s2, s[0:1], 0x2c
	s_load_b64 s[4:5], s[0:1], 0x0
	v_mov_b32_e32 v3, 0
	s_mov_b32 s6, 0
	s_mov_b32 s7, 0x7fffff
	s_mov_b32 s8, 0xb94c1982
	s_mov_b32 s9, 0x37d75334
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s2, v[0:1]
	v_mov_b32_e32 v0, 0
.LBB4_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_add_nc_u32_e32 v2, s6, v1
                                        ; implicit-def: $vgpr6
	s_mov_b32 s3, exec_lo
	v_lshlrev_b64 v[4:5], 2, v[2:3]
                                        ; implicit-def: $vgpr2
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v4, vcc_lo, s4, v4
	v_add_co_ci_u32_e32 v5, vcc_lo, s5, v5, vcc_lo
	global_load_b32 v4, v[4:5], off
	s_waitcnt vmcnt(0)
	v_and_b32_e32 v5, 0x7fffffff, v4
	v_cmpx_ngt_f32_e64 0x48000000, |v4|
	s_xor_b32 s10, exec_lo, s3
	s_cbranch_execz .LBB4_3
; %bb.2:                                ;   in Loop: Header=BB4_1 Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_lshrrev_b32_e32 v11, 23, v5
	v_and_or_b32 v14, v5, s7, 0x800000
	v_add_nc_u32_e32 v12, 0xffffff88, v11
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_mad_u64_u32 v[6:7], null, 0xfe5163ab, v14, 0
	v_cmp_lt_u32_e32 vcc_lo, 63, v12
	v_cndmask_b32_e64 v13, 0, 0xffffffc0, vcc_lo
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_dual_mov_b32 v2, v7 :: v_dual_add_nc_u32 v13, v13, v12
	v_mad_u64_u32 v[7:8], null, 0x3c439041, v14, v[2:3]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_cmp_lt_u32_e64 s2, 31, v13
	v_cndmask_b32_e64 v15, 0, 0xffffffe0, s2
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_dual_mov_b32 v2, v8 :: v_dual_add_nc_u32 v15, v15, v13
	v_mad_u64_u32 v[8:9], null, 0xdb629599, v14, v[2:3]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_cmp_lt_u32_e64 s3, 31, v15
	v_mov_b32_e32 v2, v9
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_cndmask_b32_e32 v6, v8, v6, vcc_lo
	v_mad_u64_u32 v[9:10], null, 0xf534ddc0, v14, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_dual_mov_b32 v2, v10 :: v_dual_cndmask_b32 v7, v9, v7
	v_mad_u64_u32 v[10:11], null, 0xfc2757d1, v14, v[2:3]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_cndmask_b32_e64 v6, v7, v6, s2
	v_mov_b32_e32 v2, v11
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[11:12], null, 0x4e441529, v14, v[2:3]
	v_mov_b32_e32 v2, v12
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_mad_u64_u32 v[12:13], null, 0xa2f9836e, v14, v[2:3]
	v_cndmask_b32_e64 v2, 0, 0xffffffe0, s3
	v_cndmask_b32_e32 v14, v11, v9, vcc_lo
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_add_nc_u32_e32 v2, v2, v15
	v_dual_cndmask_b32 v12, v12, v10 :: v_dual_cndmask_b32 v11, v13, v11
	v_cndmask_b32_e32 v10, v10, v8, vcc_lo
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_sub_nc_u32_e32 v13, 32, v2
	v_cndmask_b32_e64 v9, v12, v14, s2
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_cndmask_b32_e64 v11, v11, v12, s2
	v_cndmask_b32_e64 v12, v14, v10, s2
	v_cndmask_b32_e64 v10, v10, v7, s2
	v_cmp_eq_u32_e32 vcc_lo, 0, v2
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_4)
	v_cndmask_b32_e64 v11, v11, v9, s3
	v_cndmask_b32_e64 v9, v9, v12, s3
	s_delay_alu instid0(VALU_DEP_4) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_cndmask_b32_e64 v12, v12, v10, s3
	v_cndmask_b32_e64 v6, v10, v6, s3
	v_alignbit_b32 v14, v11, v9, v13
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_alignbit_b32 v8, v9, v12, v13
	v_dual_cndmask_b32 v2, v14, v11 :: v_dual_cndmask_b32 v7, v8, v9
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_alignbit_b32 v11, v12, v6, v13
	v_bfe_u32 v8, v2, 29, 1
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_alignbit_b32 v9, v2, v7, 30
	v_cndmask_b32_e32 v11, v11, v12, vcc_lo
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_sub_nc_u32_e32 v10, 0, v8
	v_alignbit_b32 v7, v7, v11, 30
	v_alignbit_b32 v6, v11, v6, 30
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_xor_b32_e32 v9, v9, v10
	v_xor_b32_e32 v7, v7, v10
	s_delay_alu instid0(VALU_DEP_3) | instskip(SKIP_1) | instid1(VALU_DEP_4)
	v_xor_b32_e32 v6, v6, v10
	v_lshrrev_b32_e32 v10, 29, v2
	v_clz_i32_u32_e32 v12, v9
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_lshlrev_b32_e32 v10, 31, v10
	v_min_u32_e32 v12, 32, v12
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_or_b32_e32 v13, 0.5, v10
	v_sub_nc_u32_e32 v11, 31, v12
	v_lshlrev_b32_e32 v14, 23, v12
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_3)
	v_alignbit_b32 v9, v9, v7, v11
	v_alignbit_b32 v6, v7, v6, v11
	v_sub_nc_u32_e32 v13, v13, v14
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_alignbit_b32 v7, v9, v6, 9
	v_lshrrev_b32_e32 v9, 9, v9
	v_clz_i32_u32_e32 v11, v7
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_min_u32_e32 v11, 32, v11
	v_sub_nc_u32_e32 v15, 31, v11
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_2) | instid1(VALU_DEP_3)
	v_alignbit_b32 v6, v7, v6, v15
	v_or_b32_e32 v7, v9, v13
	v_add_lshl_u32 v9, v11, v12, 23
	v_lshrrev_b32_e32 v6, 9, v6
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_mul_f32_e32 v11, 0x3fc90fda, v7
	v_sub_nc_u32_e32 v6, v6, v9
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fma_f32 v9, 0x3fc90fda, v7, -v11
	v_add_nc_u32_e32 v6, 0x33000000, v6
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fmac_f32_e32 v9, 0x33a22168, v7
	v_or_b32_e32 v6, v6, v10
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fmac_f32_e32 v9, 0x3fc90fda, v6
	v_lshrrev_b32_e32 v6, 30, v2
	v_add_f32_e32 v2, v11, v9
	s_delay_alu instid0(VALU_DEP_2)
	v_add_nc_u32_e32 v6, v8, v6
.LBB4_3:                                ; %Flow
                                        ;   in Loop: Header=BB4_1 Depth=1
	s_and_not1_saveexec_b32 s2, s10
; %bb.4:                                ;   in Loop: Header=BB4_1 Depth=1
	v_mul_f32_e64 v2, 0x3f22f983, |v4|
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_rndne_f32_e32 v6, v2
	v_fma_f32 v2, 0xbfc90fda, v6, |v4|
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmac_f32_e32 v2, 0xb3a22168, v6
	v_fmac_f32_e32 v2, 0xa7c234c4, v6
	v_cvt_i32_f32_e32 v6, v6
; %bb.5:                                ; %_ZL3sinf.exit
                                        ;   in Loop: Header=BB4_1 Depth=1
	s_or_b32 exec_lo, exec_lo, s2
	s_delay_alu instid0(VALU_DEP_2)
	v_mul_f32_e32 v7, v2, v2
	v_xor_b32_e32 v5, v5, v4
	s_add_i32 s6, s6, 1
	v_and_b32_e32 v10, 1, v6
	s_cmpk_eq_i32 s6, 0x100
	v_fmaak_f32 v8, s8, v7, 0x3c0881c4
	v_lshlrev_b32_e32 v6, 30, v6
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_cmp_eq_u32_e32 vcc_lo, 0, v10
	v_fmaak_f32 v8, v7, v8, 0xbe2aaa9d
	v_fmaak_f32 v9, s9, v7, 0xbab64f3b
	s_delay_alu instid0(VALU_DEP_4) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_and_b32_e32 v6, 0x80000000, v6
	v_mul_f32_e32 v8, v7, v8
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_dual_fmaak_f32 v9, v7, v9, 0x3d2aabf7 :: v_dual_fmac_f32 v2, v2, v8
	v_fmaak_f32 v9, v7, v9, 0xbf000004
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v7, v7, v9, 1.0
	v_cndmask_b32_e32 v2, v7, v2, vcc_lo
	v_cmp_class_f32_e64 vcc_lo, v4, 0x1f8
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_xor3_b32 v2, v5, v6, v2
	v_cndmask_b32_e32 v2, 0x7fc00000, v2, vcc_lo
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f32_e32 v0, v0, v2
	s_cbranch_scc0 .LBB4_1
; %bb.6:
	s_load_b64 s[0:1], s[0:1], 0x10
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z7std_sinPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 16
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end4:
	.size	_Z7std_sinPKfS0_Pfi, .Lfunc_end4-_Z7std_sinPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 1124
; NumSgprs: 18
; NumVgprs: 16
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 1
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 16
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z8poly_sinPKfS0_Pfi    ; -- Begin function _Z8poly_sinPKfS0_Pfi
	.globl	_Z8poly_sinPKfS0_Pfi
	.p2align	8
	.type	_Z8poly_sinPKfS0_Pfi,@function
_Z8poly_sinPKfS0_Pfi:                   ; @_Z8poly_sinPKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s6, s[0:1], 0x2c
	s_load_b64 s[2:3], s[0:1], 0x0
	v_mov_b32_e32 v3, 0
	s_mov_b32 s4, 0xaa75dd6d
	s_mov_b32 s8, 0x3805032
	s_mov_b32 s5, 0x3f27f212
	s_mov_b32 s9, 0xbfc554d2
	s_mov_b32 s10, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s6, s6, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s6, v[0:1]
	v_mov_b32_e32 v0, 0
	s_mov_b32 s6, 0xd847e84c
	s_mov_b32 s7, 0x3f810200
.LBB5_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s10, v1
	s_add_i32 s10, s10, 1
	s_cmpk_eq_i32 s10, 0x100
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	v_add_co_u32 v4, vcc_lo, s2, v4
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_3) | instid1(VALU_DEP_1)
	v_add_co_ci_u32_e32 v5, vcc_lo, s3, v5, vcc_lo
	global_load_b32 v2, v[4:5], off
	s_waitcnt vmcnt(0)
	v_cvt_f64_f32_e32 v[4:5], v2
	v_mul_f64 v[6:7], v[4:5], s[4:5]
	v_mul_f64 v[8:9], v[4:5], s[6:7]
	v_mul_f64 v[10:11], v[4:5], s[8:9]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f64 v[6:7], v[6:7], v[4:5]
	v_mul_f64 v[8:9], v[8:9], v[4:5]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f64 v[10:11], v[10:11], v[4:5]
	v_mul_f64 v[6:7], v[6:7], v[4:5]
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_mul_f64 v[8:9], v[8:9], v[4:5]
	v_mul_f64 v[6:7], v[6:7], v[4:5]
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_mul_f64 v[8:9], v[8:9], v[4:5]
	v_mul_f64 v[6:7], v[6:7], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f64 v[6:7], v[6:7], v[4:5]
	v_mul_f64 v[6:7], v[6:7], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[6:7], v[8:9], v[4:5], -v[6:7]
	v_cvt_f64_f32_e32 v[8:9], v0
	v_fma_f64 v[6:7], v[10:11], v[4:5], v[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[4:5], v[6:7], v[4:5]
	v_add_f64 v[4:5], v[4:5], v[8:9]
	s_delay_alu instid0(VALU_DEP_1)
	v_cvt_f32_f64_e32 v0, v[4:5]
	s_cbranch_scc0 .LBB5_1
; %bb.2:
	s_load_b64 s[0:1], s[0:1], 0x10
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z8poly_sinPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 12
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end5:
	.size	_Z8poly_sinPKfS0_Pfi, .Lfunc_end5-_Z8poly_sinPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 408
; NumSgprs: 18
; NumVgprs: 12
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 1
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 12
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z9poly_sin2PKfS0_Pfi   ; -- Begin function _Z9poly_sin2PKfS0_Pfi
	.globl	_Z9poly_sin2PKfS0_Pfi
	.p2align	8
	.type	_Z9poly_sin2PKfS0_Pfi,@function
_Z9poly_sin2PKfS0_Pfi:                  ; @_Z9poly_sin2PKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s6, s[0:1], 0x2c
	s_load_b64 s[2:3], s[0:1], 0x0
	v_mov_b32_e32 v3, 0
	s_mov_b32 s4, 0xaa75dd6d
	s_mov_b32 s8, 0x3805032
	s_mov_b32 s5, 0xbf27f212
	s_mov_b32 s9, 0xbfc554d2
	s_mov_b32 s10, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s6, s6, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s6, v[0:1]
	v_mov_b32_e32 v0, 0
	s_mov_b32 s6, 0xd847e84c
	s_mov_b32 s7, 0x3f810200
.LBB6_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_1) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s10, v1
	s_add_i32 s10, s10, 1
	s_cmpk_eq_i32 s10, 0x100
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	v_add_co_u32 v4, vcc_lo, s2, v4
	s_delay_alu instid0(VALU_DEP_2) | instskip(SKIP_4) | instid1(VALU_DEP_1)
	v_add_co_ci_u32_e32 v5, vcc_lo, s3, v5, vcc_lo
	global_load_b32 v2, v[4:5], off
	s_waitcnt vmcnt(0)
	v_cvt_f64_f32_e32 v[4:5], v2
	v_mul_f32_e32 v10, v2, v2
	v_cvt_f64_f32_e32 v[8:9], v10
	v_mul_f32_e32 v2, v2, v10
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_cvt_f64_f32_e32 v[10:11], v2
	v_mul_f64 v[6:7], v[4:5], s[4:5]
	v_fma_f64 v[6:7], v[6:7], v[4:5], s[6:7]
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_fma_f64 v[6:7], v[6:7], v[8:9], s[8:9]
	v_cvt_f64_f32_e32 v[8:9], v0
	v_fma_f64 v[4:5], v[6:7], v[10:11], v[4:5]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f64 v[4:5], v[4:5], v[8:9]
	v_cvt_f32_f64_e32 v0, v[4:5]
	s_cbranch_scc0 .LBB6_1
; %bb.2:
	s_load_b64 s[0:1], s[0:1], 0x10
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z9poly_sin2PKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 12
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end6:
	.size	_Z9poly_sin2PKfS0_Pfi, .Lfunc_end6-_Z9poly_sin2PKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 308
; NumSgprs: 18
; NumVgprs: 12
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 1
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 12
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z9poly_sin3PKfS0_Pfi   ; -- Begin function _Z9poly_sin3PKfS0_Pfi
	.globl	_Z9poly_sin3PKfS0_Pfi
	.p2align	8
	.type	_Z9poly_sin3PKfS0_Pfi,@function
_Z9poly_sin3PKfS0_Pfi:                  ; @_Z9poly_sin3PKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s4, s[0:1], 0x2c
	s_load_b64 s[2:3], s[0:1], 0x0
	v_mov_b32_e32 v3, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s4, s4, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s4, v[0:1]
	v_mov_b32_e32 v0, 0
	s_mov_b32 s4, 0
.LBB7_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s4, v1
	s_add_i32 s4, s4, 1
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	s_cmpk_eq_i32 s4, 0x100
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v4, vcc_lo, s2, v4
	v_add_co_ci_u32_e32 v5, vcc_lo, s3, v5, vcc_lo
	global_load_b32 v2, v[4:5], off
	s_waitcnt vmcnt(0)
	v_mul_f32_e32 v5, 0x3c081007, v2
	v_mul_f32_e32 v4, 0x393f9095, v2
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_dual_mul_f32 v6, 0xbe2aa690, v2 :: v_dual_mul_f32 v5, v2, v5
	v_mul_f32_e32 v4, v2, v4
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_mul_f32_e32 v6, v2, v6
	v_mul_f32_e32 v5, v2, v5
	s_delay_alu instid0(VALU_DEP_3) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_mul_f32_e32 v4, v2, v4
	v_mul_f32_e32 v5, v2, v5
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f32_e32 v4, v2, v4
	v_mul_f32_e32 v4, v2, v4
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mul_f32_e32 v4, v2, v4
	v_mul_f32_e32 v4, v2, v4
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fma_f32 v4, v2, v5, -v4
	v_fmac_f32_e32 v4, v2, v6
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_add_f32_e32 v2, v2, v4
	v_add_f32_e32 v0, v0, v2
	s_cbranch_scc0 .LBB7_1
; %bb.2:
	s_load_b64 s[0:1], s[0:1], 0x10
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z9poly_sin3PKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 7
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end7:
	.size	_Z9poly_sin3PKfS0_Pfi, .Lfunc_end7-_Z9poly_sin3PKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 292
; NumSgprs: 18
; NumVgprs: 7
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 7
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z9poly_sin4PKfS0_Pfi   ; -- Begin function _Z9poly_sin4PKfS0_Pfi
	.globl	_Z9poly_sin4PKfS0_Pfi
	.p2align	8
	.type	_Z9poly_sin4PKfS0_Pfi,@function
_Z9poly_sin4PKfS0_Pfi:                  ; @_Z9poly_sin4PKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s4, s[0:1], 0x2c
	s_load_b64 s[2:3], s[0:1], 0x0
	v_mov_b32_e32 v3, 0
	s_waitcnt lgkmcnt(0)
	s_and_b32 s4, s4, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1)
	v_mad_u64_u32 v[1:2], null, s15, s4, v[0:1]
	v_mov_b32_e32 v0, 0
	s_mov_b32 s4, 0
.LBB8_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(VALU_DEP_2) | instid1(SALU_CYCLE_1)
	v_add_nc_u32_e32 v2, s4, v1
	s_add_i32 s4, s4, 1
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	s_cmpk_eq_i32 s4, 0x100
	v_lshlrev_b64 v[4:5], 2, v[2:3]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_add_co_u32 v4, vcc_lo, s2, v4
	v_add_co_ci_u32_e32 v5, vcc_lo, s3, v5, vcc_lo
	global_load_b32 v2, v[4:5], off
	s_waitcnt vmcnt(0)
	v_mul_f32_e32 v4, 0xb93f9095, v2
	v_mul_f32_e32 v5, v2, v2
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_2)
	v_fmaak_f32 v4, v2, v4, 0x3c081007
	v_mul_f32_e32 v6, v2, v5
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_fmaak_f32 v4, v5, v4, 0xbe2aa690
	v_fmac_f32_e32 v2, v6, v4
	s_delay_alu instid0(VALU_DEP_1)
	v_add_f32_e32 v0, v0, v2
	s_cbranch_scc0 .LBB8_1
; %bb.2:
	s_load_b64 s[0:1], s[0:1], 0x10
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_1)
	v_lshlrev_b64 v[1:2], 2, v[1:2]
	s_waitcnt lgkmcnt(0)
	v_add_co_u32 v1, vcc_lo, s0, v1
	s_delay_alu instid0(VALU_DEP_2)
	v_add_co_ci_u32_e32 v2, vcc_lo, s1, v2, vcc_lo
	global_store_b32 v[1:2], v0, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z9poly_sin4PKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 7
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end8:
	.size	_Z9poly_sin4PKfS0_Pfi, .Lfunc_end8-_Z9poly_sin4PKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 232
; NumSgprs: 18
; NumVgprs: 7
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 7
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z11logical_andPKfS0_Pfi ; -- Begin function _Z11logical_andPKfS0_Pfi
	.globl	_Z11logical_andPKfS0_Pfi
	.p2align	8
	.type	_Z11logical_andPKfS0_Pfi,@function
_Z11logical_andPKfS0_Pfi:               ; @_Z11logical_andPKfS0_Pfi
; %bb.0:
	s_load_b32 s3, s[0:1], 0x2c
	s_mov_b32 s5, 1.0
	s_movk_i32 s4, 0xfe
.LBB9_1:                                ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(SALU_CYCLE_1)
	s_add_i32 s4, s4, -1
	s_mov_b32 s2, s5
	s_cmp_lg_u32 s4, 0
	s_mov_b32 s5, 0
	s_cbranch_scc1 .LBB9_1
; %bb.2:
	s_waitcnt lgkmcnt(0)
	s_and_b32 s3, 0xffff, s3
	s_load_b64 s[0:1], s[0:1], 0x10
	v_mad_u64_u32 v[1:2], null, s15, s3, v[0:1]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ashrrev_i32_e32 v2, 31, v1
	v_lshlrev_b64 v[0:1], 2, v[1:2]
	v_mov_b32_e32 v2, s2
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_co_u32 v0, vcc_lo, s0, v0
	v_add_co_ci_u32_e32 v1, vcc_lo, s1, v1, vcc_lo
	global_store_b32 v[0:1], v2, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z11logical_andPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 3
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end9:
	.size	_Z11logical_andPKfS0_Pfi, .Lfunc_end9-_Z11logical_andPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 128
; NumSgprs: 18
; NumVgprs: 3
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 3
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z7bit_andPKfS0_Pfi     ; -- Begin function _Z7bit_andPKfS0_Pfi
	.globl	_Z7bit_andPKfS0_Pfi
	.p2align	8
	.type	_Z7bit_andPKfS0_Pfi,@function
_Z7bit_andPKfS0_Pfi:                    ; @_Z7bit_andPKfS0_Pfi
; %bb.0:
	s_load_b32 s3, s[0:1], 0x2c
	s_mov_b32 s5, 1.0
	s_movk_i32 s4, 0xfe
.LBB10_1:                               ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(SALU_CYCLE_1)
	s_add_i32 s4, s4, -1
	s_mov_b32 s2, s5
	s_cmp_lg_u32 s4, 0
	s_mov_b32 s5, 0
	s_cbranch_scc1 .LBB10_1
; %bb.2:
	s_waitcnt lgkmcnt(0)
	s_and_b32 s3, 0xffff, s3
	s_load_b64 s[0:1], s[0:1], 0x10
	v_mad_u64_u32 v[1:2], null, s15, s3, v[0:1]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ashrrev_i32_e32 v2, 31, v1
	v_lshlrev_b64 v[0:1], 2, v[1:2]
	v_mov_b32_e32 v2, s2
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_co_u32 v0, vcc_lo, s0, v0
	v_add_co_ci_u32_e32 v1, vcc_lo, s1, v1, vcc_lo
	global_store_b32 v[0:1], v2, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z7bit_andPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 3
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end10:
	.size	_Z7bit_andPKfS0_Pfi, .Lfunc_end10-_Z7bit_andPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 128
; NumSgprs: 18
; NumVgprs: 3
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 3
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z7mul_andPKfS0_Pfi     ; -- Begin function _Z7mul_andPKfS0_Pfi
	.globl	_Z7mul_andPKfS0_Pfi
	.p2align	8
	.type	_Z7mul_andPKfS0_Pfi,@function
_Z7mul_andPKfS0_Pfi:                    ; @_Z7mul_andPKfS0_Pfi
; %bb.0:
	s_load_b32 s3, s[0:1], 0x2c
	s_mov_b32 s5, 1.0
	s_movk_i32 s4, 0xfe
.LBB11_1:                               ; =>This Inner Loop Header: Depth=1
	s_delay_alu instid0(SALU_CYCLE_1)
	s_add_i32 s4, s4, -1
	s_mov_b32 s2, s5
	s_cmp_lg_u32 s4, 0
	s_mov_b32 s5, 0
	s_cbranch_scc1 .LBB11_1
; %bb.2:
	s_waitcnt lgkmcnt(0)
	s_and_b32 s3, 0xffff, s3
	s_load_b64 s[0:1], s[0:1], 0x10
	v_mad_u64_u32 v[1:2], null, s15, s3, v[0:1]
	s_delay_alu instid0(VALU_DEP_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_ashrrev_i32_e32 v2, 31, v1
	v_lshlrev_b64 v[0:1], 2, v[1:2]
	v_mov_b32_e32 v2, s2
	s_waitcnt lgkmcnt(0)
	s_delay_alu instid0(VALU_DEP_2) | instskip(NEXT) | instid1(VALU_DEP_3)
	v_add_co_u32 v0, vcc_lo, s0, v0
	v_add_co_ci_u32_e32 v1, vcc_lo, s1, v1, vcc_lo
	global_store_b32 v[0:1], v2, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z7mul_andPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 3
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end11:
	.size	_Z7mul_andPKfS0_Pfi, .Lfunc_end11-_Z7mul_andPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 128
; NumSgprs: 18
; NumVgprs: 3
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 3
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z4sortPKfS0_Pfi        ; -- Begin function _Z4sortPKfS0_Pfi
	.globl	_Z4sortPKfS0_Pfi
	.p2align	8
	.type	_Z4sortPKfS0_Pfi,@function
_Z4sortPKfS0_Pfi:                       ; @_Z4sortPKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s2, s[0:1], 0x2c
	s_load_b64 s[0:1], s[0:1], 0x10
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[1:2], null, s15, s2, v[0:1]
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_lshlrev_b64 v[0:1], 2, v[1:2]
	v_mov_b32_e32 v2, 0
	v_add_co_u32 v0, vcc_lo, s0, v0
	s_delay_alu instid0(VALU_DEP_3)
	v_add_co_ci_u32_e32 v1, vcc_lo, s1, v1, vcc_lo
	global_store_b32 v[0:1], v2, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z4sortPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 3
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end12:
	.size	_Z4sortPKfS0_Pfi, .Lfunc_end12-_Z4sortPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 100
; NumSgprs: 18
; NumVgprs: 3
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 3
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.protected	_Z9nano_sortPKfS0_Pfi   ; -- Begin function _Z9nano_sortPKfS0_Pfi
	.globl	_Z9nano_sortPKfS0_Pfi
	.p2align	8
	.type	_Z9nano_sortPKfS0_Pfi,@function
_Z9nano_sortPKfS0_Pfi:                  ; @_Z9nano_sortPKfS0_Pfi
; %bb.0:
	s_clause 0x1
	s_load_b32 s2, s[0:1], 0x2c
	s_load_b64 s[0:1], s[0:1], 0x10
	s_waitcnt lgkmcnt(0)
	s_and_b32 s2, s2, 0xffff
	s_delay_alu instid0(SALU_CYCLE_1) | instskip(NEXT) | instid1(VALU_DEP_1)
	v_mad_u64_u32 v[1:2], null, s15, s2, v[0:1]
	v_ashrrev_i32_e32 v2, 31, v1
	s_delay_alu instid0(VALU_DEP_1) | instskip(SKIP_1) | instid1(VALU_DEP_2)
	v_lshlrev_b64 v[0:1], 2, v[1:2]
	v_mov_b32_e32 v2, 0
	v_add_co_u32 v0, vcc_lo, s0, v0
	s_delay_alu instid0(VALU_DEP_3)
	v_add_co_ci_u32_e32 v1, vcc_lo, s1, v1, vcc_lo
	global_store_b32 v[0:1], v2, off
	s_nop 0
	s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
	s_endpgm
	.section	.rodata,"a",@progbits
	.p2align	6, 0x0
	.amdhsa_kernel _Z9nano_sortPKfS0_Pfi
		.amdhsa_group_segment_fixed_size 0
		.amdhsa_private_segment_fixed_size 0
		.amdhsa_kernarg_size 288
		.amdhsa_user_sgpr_count 15
		.amdhsa_user_sgpr_dispatch_ptr 0
		.amdhsa_user_sgpr_queue_ptr 0
		.amdhsa_user_sgpr_kernarg_segment_ptr 1
		.amdhsa_user_sgpr_dispatch_id 0
		.amdhsa_user_sgpr_private_segment_size 0
		.amdhsa_wavefront_size32 1
		.amdhsa_uses_dynamic_stack 0
		.amdhsa_enable_private_segment 0
		.amdhsa_system_sgpr_workgroup_id_x 1
		.amdhsa_system_sgpr_workgroup_id_y 0
		.amdhsa_system_sgpr_workgroup_id_z 0
		.amdhsa_system_sgpr_workgroup_info 0
		.amdhsa_system_vgpr_workitem_id 0
		.amdhsa_next_free_vgpr 3
		.amdhsa_next_free_sgpr 16
		.amdhsa_float_round_mode_32 0
		.amdhsa_float_round_mode_16_64 0
		.amdhsa_float_denorm_mode_32 3
		.amdhsa_float_denorm_mode_16_64 3
		.amdhsa_dx10_clamp 1
		.amdhsa_ieee_mode 1
		.amdhsa_fp16_overflow 0
		.amdhsa_workgroup_processor_mode 1
		.amdhsa_memory_ordered 1
		.amdhsa_forward_progress 0
		.amdhsa_shared_vgpr_count 0
		.amdhsa_exception_fp_ieee_invalid_op 0
		.amdhsa_exception_fp_denorm_src 0
		.amdhsa_exception_fp_ieee_div_zero 0
		.amdhsa_exception_fp_ieee_overflow 0
		.amdhsa_exception_fp_ieee_underflow 0
		.amdhsa_exception_fp_ieee_inexact 0
		.amdhsa_exception_int_div_zero 0
	.end_amdhsa_kernel
	.text
.Lfunc_end13:
	.size	_Z9nano_sortPKfS0_Pfi, .Lfunc_end13-_Z9nano_sortPKfS0_Pfi
                                        ; -- End function
	.section	.AMDGPU.csdata,"",@progbits
; Kernel info:
; codeLenInByte = 100
; NumSgprs: 18
; NumVgprs: 3
; ScratchSize: 0
; MemoryBound: 0
; FloatMode: 240
; IeeeMode: 1
; LDSByteSize: 0 bytes/workgroup (compile time only)
; SGPRBlocks: 2
; VGPRBlocks: 0
; NumSGPRsForWavesPerEU: 18
; NumVGPRsForWavesPerEU: 3
; Occupancy: 16
; WaveLimiterHint : 0
; COMPUTE_PGM_RSRC2:SCRATCH_EN: 0
; COMPUTE_PGM_RSRC2:USER_SGPR: 15
; COMPUTE_PGM_RSRC2:TRAP_HANDLER: 0
; COMPUTE_PGM_RSRC2:TGID_X_EN: 1
; COMPUTE_PGM_RSRC2:TGID_Y_EN: 0
; COMPUTE_PGM_RSRC2:TGID_Z_EN: 0
; COMPUTE_PGM_RSRC2:TIDIG_COMP_CNT: 0
	.text
	.p2alignl 7, 3214868480
	.fill 96, 4, 3214868480
	.type	__hip_cuid_,@object             ; @__hip_cuid_
	.section	.bss,"aw",@nobits
	.globl	__hip_cuid_
__hip_cuid_:
	.byte	0                               ; 0x0
	.size	__hip_cuid_, 1

	.ident	"AMD clang version 18.0.0git (https://github.com/RadeonOpenCompute/llvm-project roc-6.3.2 25012 e5bf7e55c91490b07c49d8960fa7983d864936c4)"
	.section	".note.GNU-stack","",@progbits
	.addrsig
	.addrsig_sym __hip_cuid_
	.amdgpu_metadata
---
amdhsa.kernels:
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z3addPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z3addPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     8
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z3mulPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z3mulPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     8
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z3divPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z3divPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     10
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z8std_sqrtPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z8std_sqrtPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     9
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z7std_sinPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z7std_sinPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     16
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z8poly_sinPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z8poly_sinPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     12
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z9poly_sin2PKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z9poly_sin2PKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     12
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z9poly_sin3PKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z9poly_sin3PKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     7
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z9poly_sin4PKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z9poly_sin4PKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     7
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z11logical_andPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z11logical_andPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     3
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z7bit_andPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z7bit_andPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     3
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z7mul_andPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z7mul_andPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     3
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z4sortPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z4sortPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     3
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
  - .args:
      - .address_space:  global
        .offset:         0
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         8
        .size:           8
        .value_kind:     global_buffer
      - .address_space:  global
        .offset:         16
        .size:           8
        .value_kind:     global_buffer
      - .offset:         24
        .size:           4
        .value_kind:     by_value
      - .offset:         32
        .size:           4
        .value_kind:     hidden_block_count_x
      - .offset:         36
        .size:           4
        .value_kind:     hidden_block_count_y
      - .offset:         40
        .size:           4
        .value_kind:     hidden_block_count_z
      - .offset:         44
        .size:           2
        .value_kind:     hidden_group_size_x
      - .offset:         46
        .size:           2
        .value_kind:     hidden_group_size_y
      - .offset:         48
        .size:           2
        .value_kind:     hidden_group_size_z
      - .offset:         50
        .size:           2
        .value_kind:     hidden_remainder_x
      - .offset:         52
        .size:           2
        .value_kind:     hidden_remainder_y
      - .offset:         54
        .size:           2
        .value_kind:     hidden_remainder_z
      - .offset:         72
        .size:           8
        .value_kind:     hidden_global_offset_x
      - .offset:         80
        .size:           8
        .value_kind:     hidden_global_offset_y
      - .offset:         88
        .size:           8
        .value_kind:     hidden_global_offset_z
      - .offset:         96
        .size:           2
        .value_kind:     hidden_grid_dims
    .group_segment_fixed_size: 0
    .kernarg_segment_align: 8
    .kernarg_segment_size: 288
    .language:       OpenCL C
    .language_version:
      - 2
      - 0
    .max_flat_workgroup_size: 1024
    .name:           _Z9nano_sortPKfS0_Pfi
    .private_segment_fixed_size: 0
    .sgpr_count:     18
    .sgpr_spill_count: 0
    .symbol:         _Z9nano_sortPKfS0_Pfi.kd
    .uniform_work_group_size: 1
    .uses_dynamic_stack: false
    .vgpr_count:     3
    .vgpr_spill_count: 0
    .wavefront_size: 32
    .workgroup_processor_mode: 1
amdhsa.target:   amdgcn-amd-amdhsa--gfx1100
amdhsa.version:
  - 1
  - 2
...

	.end_amdgpu_metadata
