//
// Generated by NVIDIA NVVM Compiler
//
// Compiler Build ID: CL-35583870
// Cuda compilation tools, release 12.8, V12.8.93
// Based on NVVM 7.0.1
//

.version 8.7
.target sm_90
.address_size 64

	// .globl	_Z7row_maxPKfPfi
.shared .align 4 .b8 _ZZ6reduceILb1EEffE7scratch[32];
.shared .align 4 .b8 _ZZ6reduceILb0EEffE7scratch[32];
// _ZZ10persistentILb1EEv7PayloadiE2id has been demoted
// _ZZ10persistentILb1EEv7PayloadiE4slot has been demoted
// _ZZ10persistentILb0EEv7PayloadiE2id has been demoted
// _ZZ10persistentILb0EEv7PayloadiE4slot has been demoted
.global .align 1 .b8 _ZN38_INTERNAL_df51b0c5_8_bench_cu_d8374b6c4cuda3std3__419piecewise_constructE[1];
.global .align 1 .b8 _ZN38_INTERNAL_df51b0c5_8_bench_cu_d8374b6c4cuda3std6ranges3__45__cpo4swapE[1];
.global .align 1 .b8 _ZN38_INTERNAL_df51b0c5_8_bench_cu_d8374b6c4cuda3std6ranges3__45__cpo9iter_moveE[1];

.visible .entry _Z7row_maxPKfPfi(
	.param .u64 _Z7row_maxPKfPfi_param_0,
	.param .u64 _Z7row_maxPKfPfi_param_1,
	.param .u32 _Z7row_maxPKfPfi_param_2
)
{
	.reg .pred 	%p<21>;
	.reg .f32 	%f<50>;
	.reg .b32 	%r<63>;
	.reg .b64 	%rd<25>;
	.loc	1 41 0


	ld.param.u64 	%rd11, [_Z7row_maxPKfPfi_param_0];
	ld.param.u64 	%rd10, [_Z7row_maxPKfPfi_param_1];
	ld.param.u32 	%r11, [_Z7row_maxPKfPfi_param_2];
	.loc	1 42 5
	cvta.to.global.u64 	%rd1, %rd11;
	mov.u32 	%r1, %tid.x;
	setp.ge.s32 	%p1, %r1, %r11;
	mov.f32 	%f48, 0fFF800000;
	@%p1 bra 	$L__BB0_7;

	mov.u32 	%r12, %ctaid.x;
	cvt.u64.u32 	%rd2, %r12;
	cvt.s64.s32 	%rd3, %r11;
	not.b32 	%r13, %r1;
	add.s32 	%r2, %r13, %r11;
	shr.u32 	%r14, %r2, 8;
	add.s32 	%r15, %r14, 1;
	and.b32  	%r60, %r15, 3;
	setp.eq.s32 	%p2, %r60, 0;
	mov.f32 	%f48, 0fFF800000;
	mov.u32 	%r61, %r1;
	@%p2 bra 	$L__BB0_4;

	mul.lo.s64 	%rd12, %rd3, %rd2;
	cvt.s64.s32 	%rd13, %r1;
	add.s64 	%rd14, %rd12, %rd13;
	shl.b64 	%rd15, %rd14, 2;
	add.s64 	%rd23, %rd1, %rd15;
	mov.f32 	%f48, 0fFF800000;
	mov.u32 	%r61, %r1;

$L__BB0_3:
	.pragma "nounroll";
	ld.global.f32 	%f17, [%rd23];
	max.f32 	%f48, %f48, %f17;
	add.s32 	%r61, %r61, 256;
	add.s64 	%rd23, %rd23, 1024;
	add.s32 	%r60, %r60, -1;
	setp.ne.s32 	%p3, %r60, 0;
	@%p3 bra 	$L__BB0_3;

$L__BB0_4:
	setp.lt.u32 	%p4, %r2, 768;
	@%p4 bra 	$L__BB0_7;

	mul.lo.s64 	%rd16, %rd3, %rd2;
	cvt.s64.s32 	%rd17, %r61;
	add.s64 	%rd18, %rd16, %rd17;
	shl.b64 	%rd19, %rd18, 2;
	add.s64 	%rd24, %rd1, %rd19;

$L__BB0_6:
	ld.global.f32 	%f18, [%rd24];
	max.f32 	%f19, %f48, %f18;
	ld.global.f32 	%f20, [%rd24+1024];
	max.f32 	%f21, %f19, %f20;
	ld.global.f32 	%f22, [%rd24+2048];
	max.f32 	%f23, %f21, %f22;
	ld.global.f32 	%f24, [%rd24+3072];
	max.f32 	%f48, %f23, %f24;
	add.s64 	%rd24, %rd24, 4096;
	add.s32 	%r61, %r61, 1024;
	setp.lt.s32 	%p5, %r61, %r11;
	@%p5 bra 	$L__BB0_6;

$L__BB0_7:
	.loc	1 43 5
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 43 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r16, %f48;
	mov.u32 	%r17, 2;
	mov.u32 	%r18, 31;
	mov.u32 	%r19, 16;
	mov.u32 	%r20, -1;
	shfl.sync.down.b32 	%r21|%p6, %r16, %r19, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f25, %r21;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f26, %f48, %f25;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r22, %f26;
	mov.u32 	%r23, 8;
	shfl.sync.down.b32 	%r24|%p7, %r22, %r23, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f27, %r24;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f28, %f26, %f27;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r25, %f28;
	mov.u32 	%r26, 4;
	shfl.sync.down.b32 	%r27|%p8, %r25, %r26, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f29, %r27;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f30, %f28, %f29;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r28, %f30;
	shfl.sync.down.b32 	%r29|%p9, %r28, %r17, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f31, %r29;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f32, %f30, %f31;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r30, %f32;
	mov.u32 	%r31, 1;
	shfl.sync.down.b32 	%r32|%p10, %r30, %r31, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f33, %r32;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f8, %f32, %f33;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 43 5
	and.b32  	%r33, %r1, 31;
	setp.ne.s32 	%p11, %r33, 0;
	@%p11 bra 	$L__BB0_9;

	shr.u32 	%r34, %r1, 3;
	and.b32  	%r35, %r34, 536870908;
	mov.u32 	%r36, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r37, %r36, %r35;
	st.shared.f32 	[%r37], %f8;

$L__BB0_9:
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 43 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 43 5
	setp.gt.u32 	%p12, %r1, 31;
	@%p12 bra 	$L__BB0_14;

	setp.gt.u32 	%p13, %r1, 7;
	mov.f32 	%f49, 0fFF800000;
	@%p13 bra 	$L__BB0_12;

	shl.b32 	%r38, %r1, 2;
	mov.u32 	%r39, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r40, %r39, %r38;
	ld.shared.f32 	%f49, [%r40];

$L__BB0_12:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 43 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r41, %f49;
	mov.u32 	%r42, 2;
	mov.u32 	%r43, 31;
	mov.u32 	%r44, 16;
	mov.u32 	%r45, -1;
	shfl.sync.down.b32 	%r46|%p14, %r41, %r44, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f35, %r46;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f36, %f49, %f35;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r47, %f36;
	mov.u32 	%r48, 8;
	shfl.sync.down.b32 	%r49|%p15, %r47, %r48, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f37, %r49;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f38, %f36, %f37;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r50, %f38;
	mov.u32 	%r51, 4;
	shfl.sync.down.b32 	%r52|%p16, %r50, %r51, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f39, %r52;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f40, %f38, %f39;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r53, %f40;
	shfl.sync.down.b32 	%r54|%p17, %r53, %r42, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f41, %r54;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f42, %f40, %f41;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r55, %f42;
	mov.u32 	%r56, 1;
	shfl.sync.down.b32 	%r57|%p18, %r55, %r56, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f43, %r57;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 43 5
	max.f32 	%f11, %f42, %f43;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 43 5
	setp.ne.s32 	%p19, %r1, 0;
	@%p19 bra 	$L__BB0_14;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f11;

$L__BB0_14:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 43 5
	bar.sync 	0;
	ld.shared.f32 	%f12, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 43 5
	setp.ne.s32 	%p20, %r1, 0;
	@%p20 bra 	$L__BB0_16;

	mov.u32 	%r58, %ctaid.x;
	.loc	1 42 5
	cvta.to.global.u64 	%rd20, %rd10;
	.loc	1 43 5
	mul.wide.u32 	%rd21, %r58, 4;
	add.s64 	%rd22, %rd20, %rd21;
	st.global.f32 	[%rd22], %f12;

$L__BB0_16:
	.loc	1 44 1
	ret;

}
	// .globl	_Z7row_expPKfS0_Pfi
.visible .entry _Z7row_expPKfS0_Pfi(
	.param .u64 _Z7row_expPKfS0_Pfi_param_0,
	.param .u64 _Z7row_expPKfS0_Pfi_param_1,
	.param .u64 _Z7row_expPKfS0_Pfi_param_2,
	.param .u32 _Z7row_expPKfS0_Pfi_param_3
)
{
	.reg .pred 	%p<6>;
	.reg .f32 	%f<78>;
	.reg .b32 	%r<30>;
	.reg .b64 	%rd<33>;
	.loc	1 45 0


	ld.param.u64 	%rd18, [_Z7row_expPKfS0_Pfi_param_0];
	ld.param.u64 	%rd17, [_Z7row_expPKfS0_Pfi_param_1];
	ld.param.u64 	%rd19, [_Z7row_expPKfS0_Pfi_param_2];
	ld.param.u32 	%r11, [_Z7row_expPKfS0_Pfi_param_3];
	.loc	1 46 5
	cvta.to.global.u64 	%rd1, %rd19;
	cvta.to.global.u64 	%rd2, %rd18;
	mov.u32 	%r28, %tid.x;
	setp.ge.s32 	%p1, %r28, %r11;
	@%p1 bra 	$L__BB1_7;

	cvta.to.global.u64 	%rd20, %rd17;
	mov.u32 	%r12, %ctaid.x;
	cvt.u64.u32 	%rd3, %r12;
	cvt.s64.s32 	%rd4, %r11;
	mul.wide.u32 	%rd21, %r12, 4;
	add.s64 	%rd5, %rd20, %rd21;
	not.b32 	%r13, %r28;
	add.s32 	%r2, %r13, %r11;
	shr.u32 	%r14, %r2, 8;
	add.s32 	%r15, %r14, 1;
	and.b32  	%r27, %r15, 3;
	setp.eq.s32 	%p2, %r27, 0;
	@%p2 bra 	$L__BB1_4;

	mul.lo.s64 	%rd22, %rd4, %rd3;
	cvt.s64.s32 	%rd23, %r28;
	add.s64 	%rd24, %rd22, %rd23;
	shl.b64 	%rd25, %rd24, 2;
	add.s64 	%rd31, %rd1, %rd25;
	add.s64 	%rd30, %rd2, %rd25;

$L__BB1_3:
	.pragma "nounroll";
	ld.global.f32 	%f1, [%rd5];
	ld.global.f32 	%f2, [%rd30];
	sub.rn.f32 	%f3, %f2, %f1;
	mov.f32 	%f4, 0f3F000000;
	mov.f32 	%f5, 0f3BBB989D;
	fma.rn.f32 	%f6, %f3, %f5, %f4;
	cvt.sat.f32.f32 	%f7, %f6;
	mov.f32 	%f8, 0f4B400001;
	mov.f32 	%f9, 0f437C0000;
	fma.rm.f32 	%f10, %f7, %f9, %f8;
	add.rn.f32 	%f11, %f10, 0fCB40007F;
	neg.f32 	%f12, %f11;
	mov.f32 	%f13, 0f3FB8AA3B;
	fma.rn.f32 	%f14, %f3, %f13, %f12;
	mov.f32 	%f15, 0f32A57060;
	fma.rn.f32 	%f16, %f3, %f15, %f14;
	mov.b32 	%r16, %f10;
	shl.b32 	%r17, %r16, 23;
	mov.b32 	%f17, %r17;
	ex2.approx.ftz.f32 	%f18, %f16;
	mul.rn.f32 	%f19, %f18, %f17;
	st.global.f32 	[%rd31], %f19;
	add.s32 	%r28, %r28, 256;
	add.s64 	%rd31, %rd31, 1024;
	add.s64 	%rd30, %rd30, 1024;
	add.s32 	%r27, %r27, -1;
	setp.ne.s32 	%p3, %r27, 0;
	@%p3 bra 	$L__BB1_3;

$L__BB1_4:
	setp.lt.u32 	%p4, %r2, 768;
	@%p4 bra 	$L__BB1_7;

	mul.lo.s64 	%rd26, %rd4, %rd3;
	shl.b64 	%rd32, %rd26, 2;
	mul.wide.s32 	%rd27, %r28, 4;
	add.s64 	%rd13, %rd1, %rd27;
	add.s64 	%rd14, %rd2, %rd27;

$L__BB1_6:
	add.s64 	%rd28, %rd14, %rd32;
	ld.global.f32 	%f20, [%rd5];
	ld.global.f32 	%f21, [%rd28];
	sub.rn.f32 	%f22, %f21, %f20;
	mov.f32 	%f23, 0f3F000000;
	mov.f32 	%f24, 0f3BBB989D;
	fma.rn.f32 	%f25, %f22, %f24, %f23;
	cvt.sat.f32.f32 	%f26, %f25;
	mov.f32 	%f27, 0f4B400001;
	mov.f32 	%f28, 0f437C0000;
	fma.rm.f32 	%f29, %f26, %f28, %f27;
	add.rn.f32 	%f30, %f29, 0fCB40007F;
	neg.f32 	%f31, %f30;
	mov.f32 	%f32, 0f3FB8AA3B;
	fma.rn.f32 	%f33, %f22, %f32, %f31;
	mov.f32 	%f34, 0f32A57060;
	fma.rn.f32 	%f35, %f22, %f34, %f33;
	mov.b32 	%r18, %f29;
	shl.b32 	%r19, %r18, 23;
	mov.b32 	%f36, %r19;
	ex2.approx.ftz.f32 	%f37, %f35;
	mul.rn.f32 	%f38, %f37, %f36;
	add.s64 	%rd29, %rd13, %rd32;
	st.global.f32 	[%rd29], %f38;
	ld.global.f32 	%f39, [%rd5];
	ld.global.f32 	%f40, [%rd28+1024];
	sub.rn.f32 	%f41, %f40, %f39;
	fma.rn.f32 	%f42, %f41, %f24, %f23;
	cvt.sat.f32.f32 	%f43, %f42;
	fma.rm.f32 	%f44, %f43, %f28, %f27;
	add.rn.f32 	%f45, %f44, 0fCB40007F;
	neg.f32 	%f46, %f45;
	fma.rn.f32 	%f47, %f41, %f32, %f46;
	fma.rn.f32 	%f48, %f41, %f34, %f47;
	mov.b32 	%r20, %f44;
	shl.b32 	%r21, %r20, 23;
	mov.b32 	%f49, %r21;
	ex2.approx.ftz.f32 	%f50, %f48;
	mul.rn.f32 	%f51, %f50, %f49;
	st.global.f32 	[%rd29+1024], %f51;
	ld.global.f32 	%f52, [%rd5];
	ld.global.f32 	%f53, [%rd28+2048];
	sub.rn.f32 	%f54, %f53, %f52;
	fma.rn.f32 	%f55, %f54, %f24, %f23;
	cvt.sat.f32.f32 	%f56, %f55;
	fma.rm.f32 	%f57, %f56, %f28, %f27;
	add.rn.f32 	%f58, %f57, 0fCB40007F;
	neg.f32 	%f59, %f58;
	fma.rn.f32 	%f60, %f54, %f32, %f59;
	fma.rn.f32 	%f61, %f54, %f34, %f60;
	mov.b32 	%r22, %f57;
	shl.b32 	%r23, %r22, 23;
	mov.b32 	%f62, %r23;
	ex2.approx.ftz.f32 	%f63, %f61;
	mul.rn.f32 	%f64, %f63, %f62;
	st.global.f32 	[%rd29+2048], %f64;
	ld.global.f32 	%f65, [%rd5];
	ld.global.f32 	%f66, [%rd28+3072];
	sub.rn.f32 	%f67, %f66, %f65;
	fma.rn.f32 	%f68, %f67, %f24, %f23;
	cvt.sat.f32.f32 	%f69, %f68;
	fma.rm.f32 	%f70, %f69, %f28, %f27;
	add.rn.f32 	%f71, %f70, 0fCB40007F;
	neg.f32 	%f72, %f71;
	fma.rn.f32 	%f73, %f67, %f32, %f72;
	fma.rn.f32 	%f74, %f67, %f34, %f73;
	mov.b32 	%r24, %f70;
	shl.b32 	%r25, %r24, 23;
	mov.b32 	%f75, %r25;
	ex2.approx.ftz.f32 	%f76, %f74;
	mul.rn.f32 	%f77, %f76, %f75;
	st.global.f32 	[%rd29+3072], %f77;
	add.s64 	%rd32, %rd32, 4096;
	add.s32 	%r28, %r28, 1024;
	setp.lt.s32 	%p5, %r28, %r11;
	@%p5 bra 	$L__BB1_6;

$L__BB1_7:
	.loc	1 47 1
	ret;

}
	// .globl	_Z7row_sumPKfPfi
.visible .entry _Z7row_sumPKfPfi(
	.param .u64 _Z7row_sumPKfPfi_param_0,
	.param .u64 _Z7row_sumPKfPfi_param_1,
	.param .u32 _Z7row_sumPKfPfi_param_2
)
{
	.reg .pred 	%p<21>;
	.reg .f32 	%f<50>;
	.reg .b32 	%r<63>;
	.reg .b64 	%rd<25>;
	.loc	1 48 0


	ld.param.u64 	%rd11, [_Z7row_sumPKfPfi_param_0];
	ld.param.u64 	%rd10, [_Z7row_sumPKfPfi_param_1];
	ld.param.u32 	%r11, [_Z7row_sumPKfPfi_param_2];
	.loc	1 49 5
	cvta.to.global.u64 	%rd1, %rd11;
	mov.u32 	%r1, %tid.x;
	setp.ge.s32 	%p1, %r1, %r11;
	mov.f32 	%f48, 0f00000000;
	@%p1 bra 	$L__BB2_7;

	mov.u32 	%r12, %ctaid.x;
	cvt.u64.u32 	%rd2, %r12;
	cvt.s64.s32 	%rd3, %r11;
	not.b32 	%r13, %r1;
	add.s32 	%r2, %r13, %r11;
	shr.u32 	%r14, %r2, 8;
	add.s32 	%r15, %r14, 1;
	and.b32  	%r60, %r15, 3;
	setp.eq.s32 	%p2, %r60, 0;
	mov.f32 	%f48, 0f00000000;
	mov.u32 	%r61, %r1;
	@%p2 bra 	$L__BB2_4;

	mul.lo.s64 	%rd12, %rd3, %rd2;
	cvt.s64.s32 	%rd13, %r1;
	add.s64 	%rd14, %rd12, %rd13;
	shl.b64 	%rd15, %rd14, 2;
	add.s64 	%rd23, %rd1, %rd15;
	mov.f32 	%f48, 0f00000000;
	mov.u32 	%r61, %r1;

$L__BB2_3:
	.pragma "nounroll";
	ld.global.f32 	%f17, [%rd23];
	add.rn.f32 	%f48, %f48, %f17;
	add.s32 	%r61, %r61, 256;
	add.s64 	%rd23, %rd23, 1024;
	add.s32 	%r60, %r60, -1;
	setp.ne.s32 	%p3, %r60, 0;
	@%p3 bra 	$L__BB2_3;

$L__BB2_4:
	setp.lt.u32 	%p4, %r2, 768;
	@%p4 bra 	$L__BB2_7;

	mul.lo.s64 	%rd16, %rd3, %rd2;
	cvt.s64.s32 	%rd17, %r61;
	add.s64 	%rd18, %rd16, %rd17;
	shl.b64 	%rd19, %rd18, 2;
	add.s64 	%rd24, %rd1, %rd19;

$L__BB2_6:
	ld.global.f32 	%f18, [%rd24];
	add.rn.f32 	%f19, %f48, %f18;
	ld.global.f32 	%f20, [%rd24+1024];
	add.rn.f32 	%f21, %f19, %f20;
	ld.global.f32 	%f22, [%rd24+2048];
	add.rn.f32 	%f23, %f21, %f22;
	ld.global.f32 	%f24, [%rd24+3072];
	add.rn.f32 	%f48, %f23, %f24;
	add.s64 	%rd24, %rd24, 4096;
	add.s32 	%r61, %r61, 1024;
	setp.lt.s32 	%p5, %r61, %r11;
	@%p5 bra 	$L__BB2_6;

$L__BB2_7:
	.loc	1 50 5
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 50 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r16, %f48;
	mov.u32 	%r17, 2;
	mov.u32 	%r18, 31;
	mov.u32 	%r19, 16;
	mov.u32 	%r20, -1;
	shfl.sync.down.b32 	%r21|%p6, %r16, %r19, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f25, %r21;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f26, %f48, %f25;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r22, %f26;
	mov.u32 	%r23, 8;
	shfl.sync.down.b32 	%r24|%p7, %r22, %r23, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f27, %r24;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f28, %f26, %f27;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r25, %f28;
	mov.u32 	%r26, 4;
	shfl.sync.down.b32 	%r27|%p8, %r25, %r26, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f29, %r27;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f30, %f28, %f29;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r28, %f30;
	shfl.sync.down.b32 	%r29|%p9, %r28, %r17, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f31, %r29;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f32, %f30, %f31;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r30, %f32;
	mov.u32 	%r31, 1;
	shfl.sync.down.b32 	%r32|%p10, %r30, %r31, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f33, %r32;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f8, %f32, %f33;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 50 5
	and.b32  	%r33, %r1, 31;
	setp.ne.s32 	%p11, %r33, 0;
	@%p11 bra 	$L__BB2_9;

	shr.u32 	%r34, %r1, 3;
	and.b32  	%r35, %r34, 536870908;
	mov.u32 	%r36, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r37, %r36, %r35;
	st.shared.f32 	[%r37], %f8;

$L__BB2_9:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 50 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 50 5
	setp.gt.u32 	%p12, %r1, 31;
	@%p12 bra 	$L__BB2_14;

	setp.gt.u32 	%p13, %r1, 7;
	mov.f32 	%f49, 0f00000000;
	@%p13 bra 	$L__BB2_12;

	shl.b32 	%r38, %r1, 2;
	mov.u32 	%r39, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r40, %r39, %r38;
	ld.shared.f32 	%f49, [%r40];

$L__BB2_12:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 50 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r41, %f49;
	mov.u32 	%r42, 2;
	mov.u32 	%r43, 31;
	mov.u32 	%r44, 16;
	mov.u32 	%r45, -1;
	shfl.sync.down.b32 	%r46|%p14, %r41, %r44, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f35, %r46;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f36, %f49, %f35;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r47, %f36;
	mov.u32 	%r48, 8;
	shfl.sync.down.b32 	%r49|%p15, %r47, %r48, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f37, %r49;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f38, %f36, %f37;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r50, %f38;
	mov.u32 	%r51, 4;
	shfl.sync.down.b32 	%r52|%p16, %r50, %r51, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f39, %r52;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f40, %f38, %f39;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r53, %f40;
	shfl.sync.down.b32 	%r54|%p17, %r53, %r42, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f41, %r54;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f42, %f40, %f41;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r55, %f42;
	mov.u32 	%r56, 1;
	shfl.sync.down.b32 	%r57|%p18, %r55, %r56, %r43, %r45;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f43, %r57;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 50 5
	add.rn.f32 	%f11, %f42, %f43;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 50 5
	setp.ne.s32 	%p19, %r1, 0;
	@%p19 bra 	$L__BB2_14;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f11;

$L__BB2_14:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 50 5
	bar.sync 	0;
	ld.shared.f32 	%f12, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 50 5
	setp.ne.s32 	%p20, %r1, 0;
	@%p20 bra 	$L__BB2_16;

	mov.u32 	%r58, %ctaid.x;
	.loc	1 49 5
	cvta.to.global.u64 	%rd20, %rd10;
	.loc	1 50 5
	mul.wide.u32 	%rd21, %r58, 4;
	add.s64 	%rd22, %rd20, %rd21;
	st.global.f32 	[%rd22], %f12;

$L__BB2_16:
	.loc	1 51 1
	ret;

}
	// .globl	_Z7row_divPKfS0_Pfi
.visible .entry _Z7row_divPKfS0_Pfi(
	.param .u64 _Z7row_divPKfS0_Pfi_param_0,
	.param .u64 _Z7row_divPKfS0_Pfi_param_1,
	.param .u64 _Z7row_divPKfS0_Pfi_param_2,
	.param .u32 _Z7row_divPKfS0_Pfi_param_3
)
{
	.reg .pred 	%p<6>;
	.reg .f32 	%f<16>;
	.reg .b32 	%r<20>;
	.reg .b64 	%rd<33>;
	.loc	1 52 0


	ld.param.u64 	%rd18, [_Z7row_divPKfS0_Pfi_param_0];
	ld.param.u64 	%rd17, [_Z7row_divPKfS0_Pfi_param_1];
	ld.param.u64 	%rd19, [_Z7row_divPKfS0_Pfi_param_2];
	ld.param.u32 	%r11, [_Z7row_divPKfS0_Pfi_param_3];
	.loc	1 53 5
	cvta.to.global.u64 	%rd1, %rd19;
	cvta.to.global.u64 	%rd2, %rd18;
	mov.u32 	%r18, %tid.x;
	setp.ge.s32 	%p1, %r18, %r11;
	@%p1 bra 	$L__BB3_7;

	cvta.to.global.u64 	%rd20, %rd17;
	mov.u32 	%r12, %ctaid.x;
	cvt.u64.u32 	%rd3, %r12;
	cvt.s64.s32 	%rd4, %r11;
	mul.wide.u32 	%rd21, %r12, 4;
	add.s64 	%rd5, %rd20, %rd21;
	not.b32 	%r13, %r18;
	add.s32 	%r2, %r13, %r11;
	shr.u32 	%r14, %r2, 8;
	add.s32 	%r15, %r14, 1;
	and.b32  	%r17, %r15, 3;
	setp.eq.s32 	%p2, %r17, 0;
	@%p2 bra 	$L__BB3_4;

	mul.lo.s64 	%rd22, %rd4, %rd3;
	cvt.s64.s32 	%rd23, %r18;
	add.s64 	%rd24, %rd22, %rd23;
	shl.b64 	%rd25, %rd24, 2;
	add.s64 	%rd31, %rd1, %rd25;
	add.s64 	%rd30, %rd2, %rd25;

$L__BB3_3:
	.pragma "nounroll";
	ld.global.f32 	%f1, [%rd5];
	ld.global.f32 	%f2, [%rd30];
	div.rn.f32 	%f3, %f2, %f1;
	st.global.f32 	[%rd31], %f3;
	add.s32 	%r18, %r18, 256;
	add.s64 	%rd31, %rd31, 1024;
	add.s64 	%rd30, %rd30, 1024;
	add.s32 	%r17, %r17, -1;
	setp.ne.s32 	%p3, %r17, 0;
	@%p3 bra 	$L__BB3_3;

$L__BB3_4:
	setp.lt.u32 	%p4, %r2, 768;
	@%p4 bra 	$L__BB3_7;

	mul.lo.s64 	%rd26, %rd4, %rd3;
	shl.b64 	%rd32, %rd26, 2;
	mul.wide.s32 	%rd27, %r18, 4;
	add.s64 	%rd13, %rd1, %rd27;
	add.s64 	%rd14, %rd2, %rd27;

$L__BB3_6:
	add.s64 	%rd28, %rd14, %rd32;
	ld.global.f32 	%f4, [%rd5];
	ld.global.f32 	%f5, [%rd28];
	div.rn.f32 	%f6, %f5, %f4;
	add.s64 	%rd29, %rd13, %rd32;
	st.global.f32 	[%rd29], %f6;
	ld.global.f32 	%f7, [%rd5];
	ld.global.f32 	%f8, [%rd28+1024];
	div.rn.f32 	%f9, %f8, %f7;
	st.global.f32 	[%rd29+1024], %f9;
	ld.global.f32 	%f10, [%rd5];
	ld.global.f32 	%f11, [%rd28+2048];
	div.rn.f32 	%f12, %f11, %f10;
	st.global.f32 	[%rd29+2048], %f12;
	ld.global.f32 	%f13, [%rd5];
	ld.global.f32 	%f14, [%rd28+3072];
	div.rn.f32 	%f15, %f14, %f13;
	st.global.f32 	[%rd29+3072], %f15;
	add.s64 	%rd32, %rd32, 4096;
	add.s32 	%r18, %r18, 1024;
	setp.lt.s32 	%p5, %r18, %r11;
	@%p5 bra 	$L__BB3_6;

$L__BB3_7:
	.loc	1 54 1
	ret;

}
	// .globl	_Z9row_fusedPKfPfi
.visible .entry _Z9row_fusedPKfPfi(
	.param .u64 _Z9row_fusedPKfPfi_param_0,
	.param .u64 _Z9row_fusedPKfPfi_param_1,
	.param .u32 _Z9row_fusedPKfPfi_param_2
)
{
	.reg .pred 	%p<80>;
	.reg .f32 	%f<484>;
	.reg .b32 	%r<152>;
	.reg .b64 	%rd<23>;
	.loc	1 55 0


	ld.param.u64 	%rd5, [_Z9row_fusedPKfPfi_param_0];
	ld.param.u32 	%r19, [_Z9row_fusedPKfPfi_param_2];
	cvta.to.global.u64 	%rd6, %rd5;
	.loc	1 58 5
	mov.u32 	%r20, %ctaid.x;
	cvt.u64.u32 	%rd7, %r20;
	cvt.s64.s32 	%rd8, %r19;
	mul.lo.s64 	%rd1, %rd8, %rd7;
	mov.u32 	%r1, %tid.x;
	setp.ge.s32 	%p2, %r1, %r19;
	cvt.s64.s32 	%rd9, %r1;
	add.s64 	%rd10, %rd1, %rd9;
	shl.b64 	%rd11, %rd10, 2;
	add.s64 	%rd2, %rd6, %rd11;
	mov.f32 	%f451, 0fFF800000;
	mov.f32 	%f450, %f451;
	@%p2 bra 	$L__BB4_2;

	ld.global.f32 	%f450, [%rd2];

$L__BB4_2:
	add.s32 	%r2, %r1, 256;
	setp.ge.s32 	%p3, %r2, %r19;
	@%p3 bra 	$L__BB4_4;

	ld.global.f32 	%f451, [%rd2+1024];

$L__BB4_4:
	add.s32 	%r3, %r1, 512;
	setp.ge.s32 	%p4, %r3, %r19;
	mov.f32 	%f453, 0fFF800000;
	mov.f32 	%f452, %f453;
	@%p4 bra 	$L__BB4_6;

	ld.global.f32 	%f452, [%rd2+2048];

$L__BB4_6:
	add.s32 	%r4, %r1, 768;
	setp.ge.s32 	%p5, %r4, %r19;
	@%p5 bra 	$L__BB4_8;

	ld.global.f32 	%f453, [%rd2+3072];

$L__BB4_8:
	add.s32 	%r5, %r1, 1024;
	setp.ge.s32 	%p6, %r5, %r19;
	mov.f32 	%f455, 0fFF800000;
	mov.f32 	%f454, %f455;
	@%p6 bra 	$L__BB4_10;

	ld.global.f32 	%f454, [%rd2+4096];

$L__BB4_10:
	add.s32 	%r6, %r1, 1280;
	setp.ge.s32 	%p7, %r6, %r19;
	@%p7 bra 	$L__BB4_12;

	ld.global.f32 	%f455, [%rd2+5120];

$L__BB4_12:
	add.s32 	%r7, %r1, 1536;
	setp.ge.s32 	%p8, %r7, %r19;
	mov.f32 	%f457, 0fFF800000;
	mov.f32 	%f456, %f457;
	@%p8 bra 	$L__BB4_14;

	ld.global.f32 	%f456, [%rd2+6144];

$L__BB4_14:
	add.s32 	%r8, %r1, 1792;
	setp.ge.s32 	%p9, %r8, %r19;
	@%p9 bra 	$L__BB4_16;

	ld.global.f32 	%f457, [%rd2+7168];

$L__BB4_16:
	add.s32 	%r9, %r1, 2048;
	setp.ge.s32 	%p10, %r9, %r19;
	mov.f32 	%f459, 0fFF800000;
	mov.f32 	%f458, %f459;
	@%p10 bra 	$L__BB4_18;

	ld.global.f32 	%f458, [%rd2+8192];

$L__BB4_18:
	add.s32 	%r10, %r1, 2304;
	setp.ge.s32 	%p11, %r10, %r19;
	@%p11 bra 	$L__BB4_20;

	ld.global.f32 	%f459, [%rd2+9216];

$L__BB4_20:
	add.s32 	%r11, %r1, 2560;
	setp.ge.s32 	%p12, %r11, %r19;
	mov.f32 	%f461, 0fFF800000;
	mov.f32 	%f460, %f461;
	@%p12 bra 	$L__BB4_22;

	ld.global.f32 	%f460, [%rd2+10240];

$L__BB4_22:
	add.s32 	%r12, %r1, 2816;
	setp.ge.s32 	%p13, %r12, %r19;
	@%p13 bra 	$L__BB4_24;

	ld.global.f32 	%f461, [%rd2+11264];

$L__BB4_24:
	add.s32 	%r13, %r1, 3072;
	setp.ge.s32 	%p14, %r13, %r19;
	mov.f32 	%f463, 0fFF800000;
	mov.f32 	%f462, %f463;
	@%p14 bra 	$L__BB4_26;

	ld.global.f32 	%f462, [%rd2+12288];

$L__BB4_26:
	add.s32 	%r14, %r1, 3328;
	setp.ge.s32 	%p15, %r14, %r19;
	@%p15 bra 	$L__BB4_28;

	ld.global.f32 	%f463, [%rd2+13312];

$L__BB4_28:
	add.s32 	%r15, %r1, 3584;
	setp.ge.s32 	%p16, %r15, %r19;
	mov.f32 	%f465, 0fFF800000;
	mov.f32 	%f464, %f465;
	@%p16 bra 	$L__BB4_30;

	ld.global.f32 	%f464, [%rd2+14336];

$L__BB4_30:
	add.s32 	%r16, %r1, 3840;
	setp.ge.s32 	%p17, %r16, %r19;
	@%p17 bra 	$L__BB4_32;

	ld.global.f32 	%f465, [%rd2+15360];

$L__BB4_32:
	mov.f32 	%f91, 0fFF800000;
	max.f32 	%f92, %f91, %f450;
	max.f32 	%f93, %f92, %f451;
	max.f32 	%f94, %f93, %f452;
	max.f32 	%f95, %f94, %f453;
	max.f32 	%f96, %f95, %f454;
	max.f32 	%f97, %f96, %f455;
	max.f32 	%f98, %f97, %f456;
	max.f32 	%f99, %f98, %f457;
	max.f32 	%f100, %f99, %f458;
	max.f32 	%f101, %f100, %f459;
	max.f32 	%f102, %f101, %f460;
	max.f32 	%f103, %f102, %f461;
	max.f32 	%f104, %f103, %f462;
	max.f32 	%f105, %f104, %f463;
	max.f32 	%f106, %f105, %f464;
	max.f32 	%f107, %f106, %f465;
	.loc	1 59 5
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 59 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r21, %f107;
	mov.u32 	%r22, 2;
	mov.u32 	%r23, 31;
	mov.u32 	%r24, 16;
	mov.u32 	%r25, -1;
	shfl.sync.down.b32 	%r26|%p18, %r21, %r24, %r23, %r25;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f108, %r26;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f109, %f107, %f108;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r27, %f109;
	mov.u32 	%r28, 8;
	shfl.sync.down.b32 	%r29|%p19, %r27, %r28, %r23, %r25;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f110, %r29;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f111, %f109, %f110;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r30, %f111;
	mov.u32 	%r31, 4;
	shfl.sync.down.b32 	%r32|%p20, %r30, %r31, %r23, %r25;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f112, %r32;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f113, %f111, %f112;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r33, %f113;
	shfl.sync.down.b32 	%r34|%p21, %r33, %r22, %r23, %r25;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f114, %r34;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f33, %f113, %f114;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r35, %f33;
	mov.u32 	%r36, 1;
	shfl.sync.down.b32 	%r17|%p1, %r35, %r36, %r23, %r25;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 59 5
	and.b32  	%r18, %r1, 31;
	setp.ne.s32 	%p22, %r18, 0;
	@%p22 bra 	$L__BB4_34;

	shr.u32 	%r37, %r1, 3;
	and.b32  	%r38, %r37, 536870908;
	mov.u32 	%r39, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r40, %r39, %r38;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f115, %r17;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f116, %f33, %f115;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 59 5
	st.shared.f32 	[%r40], %f116;

$L__BB4_34:
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 59 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 59 5
	setp.gt.u32 	%p23, %r1, 31;
	@%p23 bra 	$L__BB4_39;

	setp.gt.u32 	%p24, %r1, 7;
	mov.f32 	%f466, 0fFF800000;
	@%p24 bra 	$L__BB4_37;

	shl.b32 	%r41, %r1, 2;
	mov.u32 	%r42, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r43, %r42, %r41;
	ld.shared.f32 	%f466, [%r43];

$L__BB4_37:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 59 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r44, %f466;
	mov.u32 	%r45, 2;
	mov.u32 	%r46, 31;
	mov.u32 	%r47, 16;
	mov.u32 	%r48, -1;
	shfl.sync.down.b32 	%r49|%p25, %r44, %r47, %r46, %r48;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f118, %r49;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f119, %f466, %f118;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r50, %f119;
	mov.u32 	%r51, 8;
	shfl.sync.down.b32 	%r52|%p26, %r50, %r51, %r46, %r48;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f120, %r52;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f121, %f119, %f120;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r53, %f121;
	mov.u32 	%r54, 4;
	shfl.sync.down.b32 	%r55|%p27, %r53, %r54, %r46, %r48;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f122, %r55;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f123, %f121, %f122;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r56, %f123;
	shfl.sync.down.b32 	%r57|%p28, %r56, %r45, %r46, %r48;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f124, %r57;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f125, %f123, %f124;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r58, %f125;
	mov.u32 	%r59, 1;
	shfl.sync.down.b32 	%r60|%p29, %r58, %r59, %r46, %r48;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f126, %r60;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 59 5
	max.f32 	%f36, %f125, %f126;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 59 5
	setp.ne.s32 	%p30, %r1, 0;
	@%p30 bra 	$L__BB4_39;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f36;

$L__BB4_39:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 59 5
	bar.sync 	0;
	ld.shared.f32 	%f37, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 61 5
	setp.ge.u32 	%p31, %r1, %r19;
	mov.f32 	%f468, 0f00000000;
	mov.f32 	%f467, %f468;
	@%p31 bra 	$L__BB4_41;

	sub.rn.f32 	%f128, %f450, %f37;
	mov.f32 	%f129, 0f3F000000;
	mov.f32 	%f130, 0f3BBB989D;
	fma.rn.f32 	%f131, %f128, %f130, %f129;
	cvt.sat.f32.f32 	%f132, %f131;
	mov.f32 	%f133, 0f4B400001;
	mov.f32 	%f134, 0f437C0000;
	fma.rm.f32 	%f135, %f132, %f134, %f133;
	add.rn.f32 	%f136, %f135, 0fCB40007F;
	neg.f32 	%f137, %f136;
	mov.f32 	%f138, 0f3FB8AA3B;
	fma.rn.f32 	%f139, %f128, %f138, %f137;
	mov.f32 	%f140, 0f32A57060;
	fma.rn.f32 	%f141, %f128, %f140, %f139;
	mov.b32 	%r61, %f135;
	shl.b32 	%r62, %r61, 23;
	mov.b32 	%f142, %r62;
	ex2.approx.ftz.f32 	%f143, %f141;
	mul.rn.f32 	%f467, %f143, %f142;

$L__BB4_41:
	.loc	1 58 5
	add.s32 	%r134, %r1, 256;
	.loc	1 61 5
	setp.ge.u32 	%p32, %r134, %r19;
	@%p32 bra 	$L__BB4_43;

	sub.rn.f32 	%f145, %f451, %f37;
	mov.f32 	%f146, 0f3F000000;
	mov.f32 	%f147, 0f3BBB989D;
	fma.rn.f32 	%f148, %f145, %f147, %f146;
	cvt.sat.f32.f32 	%f149, %f148;
	mov.f32 	%f150, 0f4B400001;
	mov.f32 	%f151, 0f437C0000;
	fma.rm.f32 	%f152, %f149, %f151, %f150;
	add.rn.f32 	%f153, %f152, 0fCB40007F;
	neg.f32 	%f154, %f153;
	mov.f32 	%f155, 0f3FB8AA3B;
	fma.rn.f32 	%f156, %f145, %f155, %f154;
	mov.f32 	%f157, 0f32A57060;
	fma.rn.f32 	%f158, %f145, %f157, %f156;
	mov.b32 	%r63, %f152;
	shl.b32 	%r64, %r63, 23;
	mov.b32 	%f159, %r64;
	ex2.approx.ftz.f32 	%f160, %f158;
	mul.rn.f32 	%f468, %f160, %f159;

$L__BB4_43:
	.loc	1 58 5
	add.s32 	%r135, %r1, 512;
	.loc	1 61 5
	setp.ge.u32 	%p33, %r135, %r19;
	mov.f32 	%f470, 0f00000000;
	mov.f32 	%f469, %f470;
	@%p33 bra 	$L__BB4_45;

	sub.rn.f32 	%f162, %f452, %f37;
	mov.f32 	%f163, 0f3F000000;
	mov.f32 	%f164, 0f3BBB989D;
	fma.rn.f32 	%f165, %f162, %f164, %f163;
	cvt.sat.f32.f32 	%f166, %f165;
	mov.f32 	%f167, 0f4B400001;
	mov.f32 	%f168, 0f437C0000;
	fma.rm.f32 	%f169, %f166, %f168, %f167;
	add.rn.f32 	%f170, %f169, 0fCB40007F;
	neg.f32 	%f171, %f170;
	mov.f32 	%f172, 0f3FB8AA3B;
	fma.rn.f32 	%f173, %f162, %f172, %f171;
	mov.f32 	%f174, 0f32A57060;
	fma.rn.f32 	%f175, %f162, %f174, %f173;
	mov.b32 	%r65, %f169;
	shl.b32 	%r66, %r65, 23;
	mov.b32 	%f176, %r66;
	ex2.approx.ftz.f32 	%f177, %f175;
	mul.rn.f32 	%f469, %f177, %f176;

$L__BB4_45:
	.loc	1 58 5
	add.s32 	%r136, %r1, 768;
	.loc	1 61 5
	setp.ge.u32 	%p34, %r136, %r19;
	@%p34 bra 	$L__BB4_47;

	sub.rn.f32 	%f179, %f453, %f37;
	mov.f32 	%f180, 0f3F000000;
	mov.f32 	%f181, 0f3BBB989D;
	fma.rn.f32 	%f182, %f179, %f181, %f180;
	cvt.sat.f32.f32 	%f183, %f182;
	mov.f32 	%f184, 0f4B400001;
	mov.f32 	%f185, 0f437C0000;
	fma.rm.f32 	%f186, %f183, %f185, %f184;
	add.rn.f32 	%f187, %f186, 0fCB40007F;
	neg.f32 	%f188, %f187;
	mov.f32 	%f189, 0f3FB8AA3B;
	fma.rn.f32 	%f190, %f179, %f189, %f188;
	mov.f32 	%f191, 0f32A57060;
	fma.rn.f32 	%f192, %f179, %f191, %f190;
	mov.b32 	%r67, %f186;
	shl.b32 	%r68, %r67, 23;
	mov.b32 	%f193, %r68;
	ex2.approx.ftz.f32 	%f194, %f192;
	mul.rn.f32 	%f470, %f194, %f193;

$L__BB4_47:
	.loc	1 58 5
	add.s32 	%r137, %r1, 1024;
	.loc	1 61 5
	setp.ge.u32 	%p35, %r137, %r19;
	mov.f32 	%f472, 0f00000000;
	mov.f32 	%f471, %f472;
	@%p35 bra 	$L__BB4_49;

	sub.rn.f32 	%f196, %f454, %f37;
	mov.f32 	%f197, 0f3F000000;
	mov.f32 	%f198, 0f3BBB989D;
	fma.rn.f32 	%f199, %f196, %f198, %f197;
	cvt.sat.f32.f32 	%f200, %f199;
	mov.f32 	%f201, 0f4B400001;
	mov.f32 	%f202, 0f437C0000;
	fma.rm.f32 	%f203, %f200, %f202, %f201;
	add.rn.f32 	%f204, %f203, 0fCB40007F;
	neg.f32 	%f205, %f204;
	mov.f32 	%f206, 0f3FB8AA3B;
	fma.rn.f32 	%f207, %f196, %f206, %f205;
	mov.f32 	%f208, 0f32A57060;
	fma.rn.f32 	%f209, %f196, %f208, %f207;
	mov.b32 	%r69, %f203;
	shl.b32 	%r70, %r69, 23;
	mov.b32 	%f210, %r70;
	ex2.approx.ftz.f32 	%f211, %f209;
	mul.rn.f32 	%f471, %f211, %f210;

$L__BB4_49:
	.loc	1 58 5
	add.s32 	%r138, %r1, 1280;
	.loc	1 61 5
	setp.ge.u32 	%p36, %r138, %r19;
	@%p36 bra 	$L__BB4_51;

	sub.rn.f32 	%f213, %f455, %f37;
	mov.f32 	%f214, 0f3F000000;
	mov.f32 	%f215, 0f3BBB989D;
	fma.rn.f32 	%f216, %f213, %f215, %f214;
	cvt.sat.f32.f32 	%f217, %f216;
	mov.f32 	%f218, 0f4B400001;
	mov.f32 	%f219, 0f437C0000;
	fma.rm.f32 	%f220, %f217, %f219, %f218;
	add.rn.f32 	%f221, %f220, 0fCB40007F;
	neg.f32 	%f222, %f221;
	mov.f32 	%f223, 0f3FB8AA3B;
	fma.rn.f32 	%f224, %f213, %f223, %f222;
	mov.f32 	%f225, 0f32A57060;
	fma.rn.f32 	%f226, %f213, %f225, %f224;
	mov.b32 	%r71, %f220;
	shl.b32 	%r72, %r71, 23;
	mov.b32 	%f227, %r72;
	ex2.approx.ftz.f32 	%f228, %f226;
	mul.rn.f32 	%f472, %f228, %f227;

$L__BB4_51:
	.loc	1 58 5
	add.s32 	%r139, %r1, 1536;
	.loc	1 61 5
	setp.ge.u32 	%p37, %r139, %r19;
	mov.f32 	%f474, 0f00000000;
	mov.f32 	%f473, %f474;
	@%p37 bra 	$L__BB4_53;

	sub.rn.f32 	%f230, %f456, %f37;
	mov.f32 	%f231, 0f3F000000;
	mov.f32 	%f232, 0f3BBB989D;
	fma.rn.f32 	%f233, %f230, %f232, %f231;
	cvt.sat.f32.f32 	%f234, %f233;
	mov.f32 	%f235, 0f4B400001;
	mov.f32 	%f236, 0f437C0000;
	fma.rm.f32 	%f237, %f234, %f236, %f235;
	add.rn.f32 	%f238, %f237, 0fCB40007F;
	neg.f32 	%f239, %f238;
	mov.f32 	%f240, 0f3FB8AA3B;
	fma.rn.f32 	%f241, %f230, %f240, %f239;
	mov.f32 	%f242, 0f32A57060;
	fma.rn.f32 	%f243, %f230, %f242, %f241;
	mov.b32 	%r73, %f237;
	shl.b32 	%r74, %r73, 23;
	mov.b32 	%f244, %r74;
	ex2.approx.ftz.f32 	%f245, %f243;
	mul.rn.f32 	%f473, %f245, %f244;

$L__BB4_53:
	.loc	1 58 5
	add.s32 	%r140, %r1, 1792;
	.loc	1 61 5
	setp.ge.u32 	%p38, %r140, %r19;
	@%p38 bra 	$L__BB4_55;

	sub.rn.f32 	%f247, %f457, %f37;
	mov.f32 	%f248, 0f3F000000;
	mov.f32 	%f249, 0f3BBB989D;
	fma.rn.f32 	%f250, %f247, %f249, %f248;
	cvt.sat.f32.f32 	%f251, %f250;
	mov.f32 	%f252, 0f4B400001;
	mov.f32 	%f253, 0f437C0000;
	fma.rm.f32 	%f254, %f251, %f253, %f252;
	add.rn.f32 	%f255, %f254, 0fCB40007F;
	neg.f32 	%f256, %f255;
	mov.f32 	%f257, 0f3FB8AA3B;
	fma.rn.f32 	%f258, %f247, %f257, %f256;
	mov.f32 	%f259, 0f32A57060;
	fma.rn.f32 	%f260, %f247, %f259, %f258;
	mov.b32 	%r75, %f254;
	shl.b32 	%r76, %r75, 23;
	mov.b32 	%f261, %r76;
	ex2.approx.ftz.f32 	%f262, %f260;
	mul.rn.f32 	%f474, %f262, %f261;

$L__BB4_55:
	.loc	1 58 5
	add.s32 	%r141, %r1, 2048;
	.loc	1 61 5
	setp.ge.u32 	%p39, %r141, %r19;
	mov.f32 	%f476, 0f00000000;
	mov.f32 	%f475, %f476;
	@%p39 bra 	$L__BB4_57;

	sub.rn.f32 	%f264, %f458, %f37;
	mov.f32 	%f265, 0f3F000000;
	mov.f32 	%f266, 0f3BBB989D;
	fma.rn.f32 	%f267, %f264, %f266, %f265;
	cvt.sat.f32.f32 	%f268, %f267;
	mov.f32 	%f269, 0f4B400001;
	mov.f32 	%f270, 0f437C0000;
	fma.rm.f32 	%f271, %f268, %f270, %f269;
	add.rn.f32 	%f272, %f271, 0fCB40007F;
	neg.f32 	%f273, %f272;
	mov.f32 	%f274, 0f3FB8AA3B;
	fma.rn.f32 	%f275, %f264, %f274, %f273;
	mov.f32 	%f276, 0f32A57060;
	fma.rn.f32 	%f277, %f264, %f276, %f275;
	mov.b32 	%r77, %f271;
	shl.b32 	%r78, %r77, 23;
	mov.b32 	%f278, %r78;
	ex2.approx.ftz.f32 	%f279, %f277;
	mul.rn.f32 	%f475, %f279, %f278;

$L__BB4_57:
	.loc	1 58 5
	add.s32 	%r142, %r1, 2304;
	.loc	1 61 5
	setp.ge.u32 	%p40, %r142, %r19;
	@%p40 bra 	$L__BB4_59;

	sub.rn.f32 	%f281, %f459, %f37;
	mov.f32 	%f282, 0f3F000000;
	mov.f32 	%f283, 0f3BBB989D;
	fma.rn.f32 	%f284, %f281, %f283, %f282;
	cvt.sat.f32.f32 	%f285, %f284;
	mov.f32 	%f286, 0f4B400001;
	mov.f32 	%f287, 0f437C0000;
	fma.rm.f32 	%f288, %f285, %f287, %f286;
	add.rn.f32 	%f289, %f288, 0fCB40007F;
	neg.f32 	%f290, %f289;
	mov.f32 	%f291, 0f3FB8AA3B;
	fma.rn.f32 	%f292, %f281, %f291, %f290;
	mov.f32 	%f293, 0f32A57060;
	fma.rn.f32 	%f294, %f281, %f293, %f292;
	mov.b32 	%r79, %f288;
	shl.b32 	%r80, %r79, 23;
	mov.b32 	%f295, %r80;
	ex2.approx.ftz.f32 	%f296, %f294;
	mul.rn.f32 	%f476, %f296, %f295;

$L__BB4_59:
	.loc	1 58 5
	add.s32 	%r143, %r1, 2560;
	.loc	1 61 5
	setp.ge.u32 	%p41, %r143, %r19;
	mov.f32 	%f478, 0f00000000;
	mov.f32 	%f477, %f478;
	@%p41 bra 	$L__BB4_61;

	sub.rn.f32 	%f298, %f460, %f37;
	mov.f32 	%f299, 0f3F000000;
	mov.f32 	%f300, 0f3BBB989D;
	fma.rn.f32 	%f301, %f298, %f300, %f299;
	cvt.sat.f32.f32 	%f302, %f301;
	mov.f32 	%f303, 0f4B400001;
	mov.f32 	%f304, 0f437C0000;
	fma.rm.f32 	%f305, %f302, %f304, %f303;
	add.rn.f32 	%f306, %f305, 0fCB40007F;
	neg.f32 	%f307, %f306;
	mov.f32 	%f308, 0f3FB8AA3B;
	fma.rn.f32 	%f309, %f298, %f308, %f307;
	mov.f32 	%f310, 0f32A57060;
	fma.rn.f32 	%f311, %f298, %f310, %f309;
	mov.b32 	%r81, %f305;
	shl.b32 	%r82, %r81, 23;
	mov.b32 	%f312, %r82;
	ex2.approx.ftz.f32 	%f313, %f311;
	mul.rn.f32 	%f477, %f313, %f312;

$L__BB4_61:
	.loc	1 58 5
	add.s32 	%r144, %r1, 2816;
	.loc	1 61 5
	setp.ge.u32 	%p42, %r144, %r19;
	@%p42 bra 	$L__BB4_63;

	sub.rn.f32 	%f315, %f461, %f37;
	mov.f32 	%f316, 0f3F000000;
	mov.f32 	%f317, 0f3BBB989D;
	fma.rn.f32 	%f318, %f315, %f317, %f316;
	cvt.sat.f32.f32 	%f319, %f318;
	mov.f32 	%f320, 0f4B400001;
	mov.f32 	%f321, 0f437C0000;
	fma.rm.f32 	%f322, %f319, %f321, %f320;
	add.rn.f32 	%f323, %f322, 0fCB40007F;
	neg.f32 	%f324, %f323;
	mov.f32 	%f325, 0f3FB8AA3B;
	fma.rn.f32 	%f326, %f315, %f325, %f324;
	mov.f32 	%f327, 0f32A57060;
	fma.rn.f32 	%f328, %f315, %f327, %f326;
	mov.b32 	%r83, %f322;
	shl.b32 	%r84, %r83, 23;
	mov.b32 	%f329, %r84;
	ex2.approx.ftz.f32 	%f330, %f328;
	mul.rn.f32 	%f478, %f330, %f329;

$L__BB4_63:
	.loc	1 58 5
	add.s32 	%r145, %r1, 3072;
	.loc	1 61 5
	setp.ge.u32 	%p43, %r145, %r19;
	mov.f32 	%f480, 0f00000000;
	mov.f32 	%f479, %f480;
	@%p43 bra 	$L__BB4_65;

	sub.rn.f32 	%f332, %f462, %f37;
	mov.f32 	%f333, 0f3F000000;
	mov.f32 	%f334, 0f3BBB989D;
	fma.rn.f32 	%f335, %f332, %f334, %f333;
	cvt.sat.f32.f32 	%f336, %f335;
	mov.f32 	%f337, 0f4B400001;
	mov.f32 	%f338, 0f437C0000;
	fma.rm.f32 	%f339, %f336, %f338, %f337;
	add.rn.f32 	%f340, %f339, 0fCB40007F;
	neg.f32 	%f341, %f340;
	mov.f32 	%f342, 0f3FB8AA3B;
	fma.rn.f32 	%f343, %f332, %f342, %f341;
	mov.f32 	%f344, 0f32A57060;
	fma.rn.f32 	%f345, %f332, %f344, %f343;
	mov.b32 	%r85, %f339;
	shl.b32 	%r86, %r85, 23;
	mov.b32 	%f346, %r86;
	ex2.approx.ftz.f32 	%f347, %f345;
	mul.rn.f32 	%f479, %f347, %f346;

$L__BB4_65:
	.loc	1 58 5
	add.s32 	%r146, %r1, 3328;
	.loc	1 61 5
	setp.ge.u32 	%p44, %r146, %r19;
	@%p44 bra 	$L__BB4_67;

	sub.rn.f32 	%f349, %f463, %f37;
	mov.f32 	%f350, 0f3F000000;
	mov.f32 	%f351, 0f3BBB989D;
	fma.rn.f32 	%f352, %f349, %f351, %f350;
	cvt.sat.f32.f32 	%f353, %f352;
	mov.f32 	%f354, 0f4B400001;
	mov.f32 	%f355, 0f437C0000;
	fma.rm.f32 	%f356, %f353, %f355, %f354;
	add.rn.f32 	%f357, %f356, 0fCB40007F;
	neg.f32 	%f358, %f357;
	mov.f32 	%f359, 0f3FB8AA3B;
	fma.rn.f32 	%f360, %f349, %f359, %f358;
	mov.f32 	%f361, 0f32A57060;
	fma.rn.f32 	%f362, %f349, %f361, %f360;
	mov.b32 	%r87, %f356;
	shl.b32 	%r88, %r87, 23;
	mov.b32 	%f363, %r88;
	ex2.approx.ftz.f32 	%f364, %f362;
	mul.rn.f32 	%f480, %f364, %f363;

$L__BB4_67:
	.loc	1 58 5
	add.s32 	%r147, %r1, 3584;
	.loc	1 61 5
	setp.ge.u32 	%p45, %r147, %r19;
	mov.f32 	%f482, 0f00000000;
	mov.f32 	%f481, %f482;
	@%p45 bra 	$L__BB4_69;

	sub.rn.f32 	%f366, %f464, %f37;
	mov.f32 	%f367, 0f3F000000;
	mov.f32 	%f368, 0f3BBB989D;
	fma.rn.f32 	%f369, %f366, %f368, %f367;
	cvt.sat.f32.f32 	%f370, %f369;
	mov.f32 	%f371, 0f4B400001;
	mov.f32 	%f372, 0f437C0000;
	fma.rm.f32 	%f373, %f370, %f372, %f371;
	add.rn.f32 	%f374, %f373, 0fCB40007F;
	neg.f32 	%f375, %f374;
	mov.f32 	%f376, 0f3FB8AA3B;
	fma.rn.f32 	%f377, %f366, %f376, %f375;
	mov.f32 	%f378, 0f32A57060;
	fma.rn.f32 	%f379, %f366, %f378, %f377;
	mov.b32 	%r89, %f373;
	shl.b32 	%r90, %r89, 23;
	mov.b32 	%f380, %r90;
	ex2.approx.ftz.f32 	%f381, %f379;
	mul.rn.f32 	%f481, %f381, %f380;

$L__BB4_69:
	.loc	1 58 5
	add.s32 	%r148, %r1, 3840;
	.loc	1 61 5
	setp.ge.u32 	%p46, %r148, %r19;
	@%p46 bra 	$L__BB4_71;

	sub.rn.f32 	%f383, %f465, %f37;
	mov.f32 	%f384, 0f3F000000;
	mov.f32 	%f385, 0f3BBB989D;
	fma.rn.f32 	%f386, %f383, %f385, %f384;
	cvt.sat.f32.f32 	%f387, %f386;
	mov.f32 	%f388, 0f4B400001;
	mov.f32 	%f389, 0f437C0000;
	fma.rm.f32 	%f390, %f387, %f389, %f388;
	add.rn.f32 	%f391, %f390, 0fCB40007F;
	neg.f32 	%f392, %f391;
	mov.f32 	%f393, 0f3FB8AA3B;
	fma.rn.f32 	%f394, %f383, %f393, %f392;
	mov.f32 	%f395, 0f32A57060;
	fma.rn.f32 	%f396, %f383, %f395, %f394;
	mov.b32 	%r91, %f390;
	shl.b32 	%r92, %r91, 23;
	mov.b32 	%f397, %r92;
	ex2.approx.ftz.f32 	%f398, %f396;
	mul.rn.f32 	%f482, %f398, %f397;

$L__BB4_71:
	add.rn.f32 	%f399, %f467, 0f00000000;
	add.rn.f32 	%f400, %f399, %f468;
	add.rn.f32 	%f401, %f400, %f469;
	add.rn.f32 	%f402, %f401, %f470;
	add.rn.f32 	%f403, %f402, %f471;
	add.rn.f32 	%f404, %f403, %f472;
	add.rn.f32 	%f405, %f404, %f473;
	add.rn.f32 	%f406, %f405, %f474;
	add.rn.f32 	%f407, %f406, %f475;
	add.rn.f32 	%f408, %f407, %f476;
	add.rn.f32 	%f409, %f408, %f477;
	add.rn.f32 	%f410, %f409, %f478;
	add.rn.f32 	%f411, %f410, %f479;
	add.rn.f32 	%f412, %f411, %f480;
	add.rn.f32 	%f413, %f412, %f481;
	add.rn.f32 	%f414, %f413, %f482;
	.loc	1 62 5
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 62 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r93, %f414;
	mov.u32 	%r94, 2;
	mov.u32 	%r95, 31;
	mov.u32 	%r96, 16;
	mov.u32 	%r97, -1;
	shfl.sync.down.b32 	%r98|%p47, %r93, %r96, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f415, %r98;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f416, %f414, %f415;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r99, %f416;
	mov.u32 	%r100, 8;
	shfl.sync.down.b32 	%r101|%p48, %r99, %r100, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f417, %r101;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f418, %f416, %f417;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r102, %f418;
	mov.u32 	%r103, 4;
	shfl.sync.down.b32 	%r104|%p49, %r102, %r103, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f419, %r104;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f420, %f418, %f419;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r105, %f420;
	shfl.sync.down.b32 	%r106|%p50, %r105, %r94, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f421, %r106;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f422, %f420, %f421;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r107, %f422;
	mov.u32 	%r108, 1;
	shfl.sync.down.b32 	%r109|%p51, %r107, %r108, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f423, %r109;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f70, %f422, %f423;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 62 5
	@%p22 bra 	$L__BB4_73;

	shr.u32 	%r110, %r1, 3;
	and.b32  	%r111, %r110, 536870908;
	mov.u32 	%r112, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r113, %r112, %r111;
	st.shared.f32 	[%r113], %f70;

$L__BB4_73:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 62 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 62 5
	@%p23 bra 	$L__BB4_78;

	setp.gt.u32 	%p54, %r1, 7;
	mov.f32 	%f483, 0f00000000;
	@%p54 bra 	$L__BB4_76;

	shl.b32 	%r114, %r1, 2;
	mov.u32 	%r115, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r116, %r115, %r114;
	ld.shared.f32 	%f483, [%r116];

$L__BB4_76:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 62 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r117, %f483;
	mov.u32 	%r118, 2;
	mov.u32 	%r119, 31;
	mov.u32 	%r120, 16;
	mov.u32 	%r121, -1;
	shfl.sync.down.b32 	%r122|%p55, %r117, %r120, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f425, %r122;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f426, %f483, %f425;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r123, %f426;
	mov.u32 	%r124, 8;
	shfl.sync.down.b32 	%r125|%p56, %r123, %r124, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f427, %r125;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f428, %f426, %f427;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r126, %f428;
	mov.u32 	%r127, 4;
	shfl.sync.down.b32 	%r128|%p57, %r126, %r127, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f429, %r128;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f430, %f428, %f429;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r129, %f430;
	shfl.sync.down.b32 	%r130|%p58, %r129, %r118, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f431, %r130;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f432, %f430, %f431;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r131, %f432;
	mov.u32 	%r132, 1;
	shfl.sync.down.b32 	%r133|%p59, %r131, %r132, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f433, %r133;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 62 5
	add.rn.f32 	%f73, %f432, %f433;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 62 5
	setp.ne.s32 	%p60, %r1, 0;
	@%p60 bra 	$L__BB4_78;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f73;

$L__BB4_78:
	.loc	1 58 5
	setp.ge.s32 	%p77, %r1, %r19;
	mov.u32 	%r149, %ctaid.x;
	cvt.u64.u32 	%rd22, %r149;
	cvt.s64.s32 	%rd21, %r19;
	cvt.s64.s32 	%rd20, %r1;
	mul.lo.s64 	%rd19, %rd21, %rd22;
	add.s64 	%rd18, %rd19, %rd20;
	shl.b64 	%rd17, %rd18, 2;
	ld.param.u64 	%rd16, [_Z9row_fusedPKfPfi_param_1];
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 62 5
	bar.sync 	0;
	ld.shared.f32 	%f74, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	cvta.to.global.u64 	%rd14, %rd16;
	.loc	1 64 5
	add.s64 	%rd3, %rd14, %rd17;
	@%p77 bra 	$L__BB4_80;

	div.rn.f32 	%f434, %f467, %f74;
	st.global.f32 	[%rd3], %f434;

$L__BB4_80:
	.loc	1 58 5
	add.s32 	%r150, %r1, 256;
	setp.ge.s32 	%p78, %r150, %r19;
	.loc	1 64 5
	@%p78 bra 	$L__BB4_82;

	div.rn.f32 	%f435, %f468, %f74;
	st.global.f32 	[%rd3+1024], %f435;

$L__BB4_82:
	.loc	1 58 5
	add.s32 	%r151, %r1, 512;
	setp.ge.s32 	%p79, %r151, %r19;
	.loc	1 64 5
	@%p79 bra 	$L__BB4_84;

	div.rn.f32 	%f436, %f469, %f74;
	st.global.f32 	[%rd3+2048], %f436;

$L__BB4_84:
	@%p5 bra 	$L__BB4_86;

	div.rn.f32 	%f437, %f470, %f74;
	st.global.f32 	[%rd3+3072], %f437;

$L__BB4_86:
	@%p6 bra 	$L__BB4_88;

	div.rn.f32 	%f438, %f471, %f74;
	st.global.f32 	[%rd3+4096], %f438;

$L__BB4_88:
	@%p7 bra 	$L__BB4_90;

	div.rn.f32 	%f439, %f472, %f74;
	st.global.f32 	[%rd3+5120], %f439;

$L__BB4_90:
	@%p8 bra 	$L__BB4_92;

	div.rn.f32 	%f440, %f473, %f74;
	st.global.f32 	[%rd3+6144], %f440;

$L__BB4_92:
	@%p9 bra 	$L__BB4_94;

	div.rn.f32 	%f441, %f474, %f74;
	st.global.f32 	[%rd3+7168], %f441;

$L__BB4_94:
	@%p10 bra 	$L__BB4_96;

	div.rn.f32 	%f442, %f475, %f74;
	st.global.f32 	[%rd3+8192], %f442;

$L__BB4_96:
	@%p11 bra 	$L__BB4_98;

	div.rn.f32 	%f443, %f476, %f74;
	st.global.f32 	[%rd3+9216], %f443;

$L__BB4_98:
	@%p12 bra 	$L__BB4_100;

	div.rn.f32 	%f444, %f477, %f74;
	st.global.f32 	[%rd3+10240], %f444;

$L__BB4_100:
	@%p13 bra 	$L__BB4_102;

	div.rn.f32 	%f445, %f478, %f74;
	st.global.f32 	[%rd3+11264], %f445;

$L__BB4_102:
	@%p14 bra 	$L__BB4_104;

	div.rn.f32 	%f446, %f479, %f74;
	st.global.f32 	[%rd3+12288], %f446;

$L__BB4_104:
	@%p15 bra 	$L__BB4_106;

	div.rn.f32 	%f447, %f480, %f74;
	st.global.f32 	[%rd3+13312], %f447;

$L__BB4_106:
	@%p16 bra 	$L__BB4_108;

	div.rn.f32 	%f448, %f481, %f74;
	st.global.f32 	[%rd3+14336], %f448;

$L__BB4_108:
	@%p17 bra 	$L__BB4_110;

	div.rn.f32 	%f449, %f482, %f74;
	st.global.f32 	[%rd3+15360], %f449;

$L__BB4_110:
	.loc	1 65 1
	ret;

}
	// .globl	_Z16initialize_queue7Payload
.visible .entry _Z16initialize_queue7Payload(
	.param .align 8 .b8 _Z16initialize_queue7Payload_param_0[144]
)
{
	.reg .pred 	%p<4>;
	.reg .b32 	%r<15>;
	.reg .b64 	%rd<23>;
	.loc	1 107 0


	mov.b64 	%rd2, _Z16initialize_queue7Payload_param_0;
	.loc	1 108 5
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mov.u32 	%r4, %tid.x;
	mad.lo.s32 	%r1, %r3, %r2, %r4;
	.loc	1 109 5
	add.s64 	%rd1, %rd2, 136;
	ld.param.v2.u32 	{%r5, %r6}, [_Z16initialize_queue7Payload_param_0+136];
	add.s32 	%r9, %r5, %r6;
	setp.ge.s32 	%p1, %r1, %r9;
	@%p1 bra 	$L__BB5_2;

	ld.param.u64 	%rd4, [%rd1+-56];
	cvta.to.global.u64 	%rd5, %rd4;
	mul.wide.s32 	%rd6, %r1, 4;
	add.s64 	%rd7, %rd5, %rd6;
	mov.u32 	%r10, 0;
	st.global.u32 	[%rd7], %r10;
	ld.param.u64 	%rd8, [%rd1+-64];
	cvta.to.global.u64 	%rd9, %rd8;
	add.s64 	%rd10, %rd9, %rd6;
	mov.u32 	%r11, -1;
	st.global.u32 	[%rd10], %r11;

$L__BB5_2:
	.loc	1 110 5
	ld.param.u32 	%r12, [%rd1];
	setp.ge.s32 	%p2, %r1, %r12;
	@%p2 bra 	$L__BB5_4;

	ld.param.u64 	%rd11, [%rd1+-48];
	cvta.to.global.u64 	%rd12, %rd11;
	mul.wide.s32 	%rd13, %r1, 4;
	add.s64 	%rd14, %rd12, %rd13;
	mov.u32 	%r13, 0;
	st.global.u32 	[%rd14], %r13;

$L__BB5_4:
	setp.ne.s32 	%p3, %r1, 0;
	@%p3 bra 	$L__BB5_6;

	ld.param.u64 	%rd15, [%rd1+-40];
	cvta.to.global.u64 	%rd16, %rd15;
	mov.u32 	%r14, 0;
	st.global.u32 	[%rd16], %r14;
	ld.param.u64 	%rd17, [%rd1+-32];
	cvta.to.global.u64 	%rd18, %rd17;
	st.global.u32 	[%rd18], %r14;
	ld.param.u64 	%rd19, [%rd1+-24];
	cvta.to.global.u64 	%rd20, %rd19;
	st.global.u32 	[%rd20], %r14;
	ld.param.u64 	%rd21, [%rd1+-16];
	cvta.to.global.u64 	%rd22, %rd21;
	st.global.u32 	[%rd22], %r14;

$L__BB5_6:
	.loc	1 111 1
	ret;

}
	// .globl	_Z10persistentILb1EEv7Payloadi
.visible .entry _Z10persistentILb1EEv7Payloadi(
	.param .align 8 .b8 _Z10persistentILb1EEv7Payloadi_param_0[144],
	.param .u32 _Z10persistentILb1EEv7Payloadi_param_1
)
{
	.reg .pred 	%p<206>;
	.reg .f32 	%f<917>;
	.reg .b32 	%r<719>;
	.reg .b64 	%rd<284>;
	.loc	1 113 0
	// demoted variable
	.shared .align 4 .u32 _ZZ10persistentILb1EEv7PayloadiE2id;
	// demoted variable
	.shared .align 4 .u32 _ZZ10persistentILb1EEv7PayloadiE4slot;

	mov.b64 	%rd79, _Z10persistentILb1EEv7Payloadi_param_0;
	ld.param.u32 	%r127, [_Z10persistentILb1EEv7Payloadi_param_1];
	.loc	1 114 5
	setp.eq.s32 	%p1, %r127, 0;
	@%p1 bra 	$L__BB6_98;

	.loc	1 125 9
	mov.u32 	%r1, %tid.x;
	ld.param.u64 	%rd2, [%rd79+120];
	ld.param.u64 	%rd3, [%rd79+96];
	ld.param.u64 	%rd4, [%rd79+104];
	ld.param.u64 	%rd5, [%rd79+112];
	ld.param.u64 	%rd80, [%rd79+128];
	cvta.to.global.u64 	%rd6, %rd80;
	ld.param.v2.u32 	{%r128, %r129}, [%rd79+136];
	ld.param.u32 	%r3, [%rd79+140];
	add.s32 	%r4, %r128, %r3;
	.loc	1 143 13
	.loc	1 83 5, function_name $L__info_string3, inlined_at 1 143 13
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	mov.u32 	%r5, %ctaid.x;
	ld.param.u64 	%rd81, [%rd79+64];
	cvta.to.global.u64 	%rd7, %rd81;
	ld.param.u64 	%rd82, [%rd79+48];
	cvta.to.global.u64 	%rd8, %rd82;
	ld.param.u64 	%rd83, [%rd79+56];
	cvta.to.global.u64 	%rd9, %rd83;
	ld.param.u64 	%rd84, [%rd79];
	cvta.to.global.u64 	%rd10, %rd84;
	ld.param.u64 	%rd11, [%rd79+80];
	ld.param.u64 	%rd85, [%rd79+72];
	cvta.to.global.u64 	%rd12, %rd85;
	ld.param.u64 	%rd86, [%rd79+16];
	cvta.to.global.u64 	%rd13, %rd86;
	ld.param.u64 	%rd87, [%rd79+32];
	cvta.to.global.u64 	%rd14, %rd87;
	ld.param.u64 	%rd88, [%rd79+40];
	cvta.to.global.u64 	%rd15, %rd88;
	ld.param.u64 	%rd89, [%rd79+8];
	cvta.to.global.u64 	%rd16, %rd89;
	and.b32  	%r6, %r1, 31;
	shr.u32 	%r131, %r1, 3;
	and.b32  	%r132, %r131, 536870908;
	mov.u32 	%r133, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r7, %r133, %r132;
	shl.b32 	%r134, %r1, 2;
	add.s32 	%r8, %r133, %r134;
	ld.param.u64 	%rd90, [%rd79+24];
	cvta.to.global.u64 	%rd17, %rd90;
	mov.u32 	%r135, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r9, %r135, %r132;
	add.s32 	%r10, %r135, %r134;
	ld.param.u64 	%rd18, [%rd79+88];
	.loc	1 125 9
	max.s32 	%r136, %r1, 768;
	add.s32 	%r137, %r136, 255;
	sub.s32 	%r11, %r137, %r1;
	shr.u32 	%r138, %r11, 8;
	add.s32 	%r139, %r138, 1;
	.loc	1 148 13
	.loc	1 94 5, function_name $L__info_string5, inlined_at 1 148 13
	not.b32 	%r12, %r1;
	add.s32 	%r13, %r1, 256;
	and.b32  	%r14, %r139, 3;
	add.s32 	%r15, %r1, 512;
	add.s32 	%r16, %r1, 768;
	add.s32 	%r140, %r129, %r1;
	ld.param.u32 	%r17, [%rd79+136];
	add.s32 	%r18, %r140, %r17;
	add.s32 	%r141, %r129, %r13;
	add.s32 	%r19, %r141, %r17;
	add.s32 	%r142, %r129, %r15;
	add.s32 	%r20, %r142, %r17;
	bra.uni 	$L__BB6_2;

$L__BB6_97:
	.loc	1 153 9
	bar.sync 	0;

$L__BB6_2:
	.loc	1 0 9
	setp.ne.s32 	%p2, %r1, 0;
	.loc	1 125 9
	@%p2 bra 	$L__BB6_15;

	.loc	1 127 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 127 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string11, inlined_at 6 97 3
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r143,[%rd2];
	// end inline asm
	.loc	1 127 17
	setp.eq.s32 	%p3, %r143, %r3;
	@%p3 bra 	$L__BB6_11;

$L__BB6_4:
	.loc	1 128 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 128 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string13, inlined_at 6 97 3
	.loc	6 302 1, function_name $L__info_string14, inlined_at 6 829 5
	// begin inline asm
	ld.relaxed.gpu.b32 %r144,[%rd3];
	// end inline asm
	.loc	1 129 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 129 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string13, inlined_at 6 97 3
	.loc	6 302 1, function_name $L__info_string14, inlined_at 6 829 5
	// begin inline asm
	ld.relaxed.gpu.b32 %r145,[%rd4];
	// end inline asm
	.loc	1 129 17
	setp.lt.s32 	%p4, %r144, %r145;
	@%p4 bra 	$L__BB6_9;
	bra.uni 	$L__BB6_5;

$L__BB6_9:
	.loc	1 130 21
	add.s32 	%r153, %r144, 1;
	.loc	1 130 21
	.loc	3 80 14, function_name $L__info_string15, inlined_at 1 130 21
	.loc	4 147 3, function_name $L__info_string16, inlined_at 3 80 14
	.loc	6 1724 3, function_name $L__info_string17, inlined_at 4 147 3
	.loc	6 1196 3, function_name $L__info_string18, inlined_at 6 1724 3
	.loc	6 1712 5, function_name $L__info_string19, inlined_at 6 1196 3
	.loc	6 1330 1, function_name $L__info_string20, inlined_at 6 1712 5
	// begin inline asm
	atom.cas.relaxed.gpu.b32 %r151,[%rd3],%r144,%r153;
	// end inline asm
	setp.eq.s32 	%p7, %r151, %r144;
	.loc	1 130 21
	@%p7 bra 	$L__BB6_12;
	bra.uni 	$L__BB6_10;

$L__BB6_5:
	.loc	1 136 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 136 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string13, inlined_at 6 97 3
	.loc	6 302 1, function_name $L__info_string14, inlined_at 6 829 5
	// begin inline asm
	ld.relaxed.gpu.b32 %r146,[%rd5];
	// end inline asm
	.loc	1 137 17
	setp.ge.s32 	%p5, %r146, %r3;
	@%p5 bra 	$L__BB6_7;

	add.s32 	%r149, %r146, 1;
	.loc	1 137 17
	.loc	3 80 14, function_name $L__info_string15, inlined_at 1 137 17
	.loc	4 147 3, function_name $L__info_string16, inlined_at 3 80 14
	.loc	6 1724 3, function_name $L__info_string17, inlined_at 4 147 3
	.loc	6 1196 3, function_name $L__info_string18, inlined_at 6 1724 3
	.loc	6 1712 5, function_name $L__info_string19, inlined_at 6 1196 3
	.loc	6 1330 1, function_name $L__info_string20, inlined_at 6 1712 5
	// begin inline asm
	atom.cas.relaxed.gpu.b32 %r147,[%rd5],%r146,%r149;
	// end inline asm
	setp.eq.s32 	%p6, %r147, %r146;
	.loc	1 137 17
	@%p6 bra 	$L__BB6_8;

$L__BB6_7:
	.loc	1 138 17
	.loc	7 169 5, function_name $L__info_string21, inlined_at 1 138 17
	mov.u32 	%r150, 32;
	// begin inline asm
	nanosleep.u32 %r150;
	// end inline asm

$L__BB6_10:
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r154,[%rd2];
	// end inline asm
	.loc	1 127 17
	setp.eq.s32 	%p8, %r154, %r3;
	@%p8 bra 	$L__BB6_11;
	bra.uni 	$L__BB6_4;

$L__BB6_11:
	mov.u32 	%r159, -1;
	st.shared.u32 	[_ZZ10persistentILb1EEv7PayloadiE2id], %r159;

$L__BB6_15:
	.loc	1 141 9
	bar.sync 	0;
	ld.shared.s32 	%rd21, [_ZZ10persistentILb1EEv7PayloadiE2id];
	setp.lt.s64 	%p11, %rd21, 0;
	@%p11 bra 	$L__BB6_183;

	.loc	1 0 9
	cvt.u32.u64 	%r160, %rd21;
	.loc	1 142 9
	setp.lt.s32 	%p12, %r160, %r3;
	@%p12 bra 	$L__BB6_74;
	bra.uni 	$L__BB6_17;

$L__BB6_74:
	.loc	1 0 9
	setp.eq.s32 	%p73, %r1, 0;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	@%p73 bra 	$L__BB6_75;
	bra.uni 	$L__BB6_76;

$L__BB6_75:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd168, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	shl.b64 	%rd169, %rd21, 5;
	add.s64 	%rd170, %rd6, %rd169;
	st.global.u64 	[%rd170], %rd168;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r336, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	st.global.v2.u32 	[%rd170+16], {%r336, %r5};
	add.s64 	%rd171, %rd170, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r337, [%rd171], 1;

$L__BB6_76:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	bar.sync 	0;
	.loc	1 83 5, function_name $L__info_string3, inlined_at 1 143 13
	mul.wide.s32 	%rd172, %r160, 4;
	add.s64 	%rd173, %rd7, %rd172;
	ld.global.u32 	%r339, [%rd173];
	mul.wide.s32 	%rd174, %r339, 4;
	add.s64 	%rd175, %rd8, %rd174;
	add.s64 	%rd176, %rd9, %rd174;
	ld.global.u32 	%r340, [%rd176];
	sub.s32 	%r341, %r160, %r340;
	shl.b32 	%r342, %r341, 10;
	ld.global.u32 	%r343, [%rd175];
	add.s32 	%r344, %r343, %r1;
	add.s32 	%r345, %r344, %r342;
	.loc	1 86 5, function_name $L__info_string3, inlined_at 1 143 13
	mul.wide.u32 	%rd177, %r345, 4;
	add.s64 	%rd178, %rd10, %rd177;
	ld.global.f32 	%f27, [%rd178];
	mov.f32 	%f390, 0fFF800000;
	max.f32 	%f391, %f390, %f27;
	add.s32 	%r346, %r345, 256;
	mul.wide.u32 	%rd179, %r346, 4;
	add.s64 	%rd180, %rd10, %rd179;
	ld.global.f32 	%f28, [%rd180];
	max.f32 	%f392, %f391, %f28;
	add.s32 	%r347, %r345, 512;
	mul.wide.u32 	%rd181, %r347, 4;
	add.s64 	%rd182, %rd10, %rd181;
	ld.global.f32 	%f29, [%rd182];
	max.f32 	%f393, %f392, %f29;
	add.s32 	%r348, %r345, 768;
	mul.wide.u32 	%rd183, %r348, 4;
	add.s64 	%rd184, %rd10, %rd183;
	ld.global.f32 	%f30, [%rd184];
	max.f32 	%f394, %f393, %f30;
	.loc	1 87 5, function_name $L__info_string3, inlined_at 1 143 13
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r349, %f394;
	mov.u32 	%r350, 2;
	mov.u32 	%r351, 31;
	mov.u32 	%r352, 16;
	mov.u32 	%r353, -1;
	shfl.sync.down.b32 	%r354|%p74, %r349, %r352, %r351, %r353;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f395, %r354;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f396, %f394, %f395;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r355, %f396;
	mov.u32 	%r356, 8;
	shfl.sync.down.b32 	%r357|%p75, %r355, %r356, %r351, %r353;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f397, %r357;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f398, %f396, %f397;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r358, %f398;
	mov.u32 	%r359, 4;
	shfl.sync.down.b32 	%r360|%p76, %r358, %r359, %r351, %r353;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f399, %r360;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f400, %f398, %f399;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r361, %f400;
	shfl.sync.down.b32 	%r362|%p77, %r361, %r350, %r351, %r353;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f401, %r362;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f402, %f400, %f401;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r363, %f402;
	mov.u32 	%r364, 1;
	shfl.sync.down.b32 	%r365|%p78, %r363, %r364, %r351, %r353;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f403, %r365;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f31, %f402, %f403;
	setp.ne.s32 	%p79, %r6, 0;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p79 bra 	$L__BB6_78;

	st.shared.f32 	[%r7], %f31;

$L__BB6_78:
	.loc	1 0 5
	setp.gt.u32 	%p80, %r1, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p80 bra 	$L__BB6_83;

	.loc	1 0 5
	setp.gt.u32 	%p81, %r1, 7;
	mov.f32 	%f903, 0fFF800000;
	.loc	1 36 5
	@%p81 bra 	$L__BB6_81;

	ld.shared.f32 	%f903, [%r8];

$L__BB6_81:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r366, %f903;
	mov.u32 	%r367, 2;
	mov.u32 	%r368, 31;
	mov.u32 	%r369, 16;
	mov.u32 	%r370, -1;
	shfl.sync.down.b32 	%r371|%p82, %r366, %r369, %r368, %r370;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f405, %r371;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f406, %f903, %f405;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r372, %f406;
	mov.u32 	%r373, 8;
	shfl.sync.down.b32 	%r374|%p83, %r372, %r373, %r368, %r370;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f407, %r374;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f408, %f406, %f407;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r375, %f408;
	mov.u32 	%r376, 4;
	shfl.sync.down.b32 	%r377|%p84, %r375, %r376, %r368, %r370;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f409, %r377;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f410, %f408, %f409;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r378, %f410;
	shfl.sync.down.b32 	%r379|%p85, %r378, %r367, %r368, %r370;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f411, %r379;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f412, %f410, %f411;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r380, %f412;
	mov.u32 	%r381, 1;
	shfl.sync.down.b32 	%r382|%p86, %r380, %r381, %r368, %r370;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f413, %r382;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f34, %f412, %f413;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 87 5
	@%p2 bra 	$L__BB6_83;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f34;

$L__BB6_83:
	.loc	1 0 9
	setp.ne.s32 	%p204, %r6, 0;
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	ld.shared.f32 	%f35, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 89 5, function_name $L__info_string3, inlined_at 1 143 13
	sub.rn.f32 	%f414, %f27, %f35;
	mov.f32 	%f415, 0f3F000000;
	mov.f32 	%f416, 0f3BBB989D;
	fma.rn.f32 	%f417, %f414, %f416, %f415;
	cvt.sat.f32.f32 	%f418, %f417;
	mov.f32 	%f419, 0f4B400001;
	mov.f32 	%f420, 0f437C0000;
	fma.rm.f32 	%f421, %f418, %f420, %f419;
	add.rn.f32 	%f422, %f421, 0fCB40007F;
	neg.f32 	%f423, %f422;
	mov.f32 	%f424, 0f3FB8AA3B;
	fma.rn.f32 	%f425, %f414, %f424, %f423;
	mov.f32 	%f426, 0f32A57060;
	fma.rn.f32 	%f427, %f414, %f426, %f425;
	mov.b32 	%r383, %f421;
	shl.b32 	%r384, %r383, 23;
	mov.b32 	%f428, %r384;
	ex2.approx.ftz.f32 	%f429, %f427;
	mul.rn.f32 	%f430, %f429, %f428;
	add.rn.f32 	%f431, %f430, 0f00000000;
	sub.rn.f32 	%f432, %f28, %f35;
	fma.rn.f32 	%f433, %f432, %f416, %f415;
	cvt.sat.f32.f32 	%f434, %f433;
	fma.rm.f32 	%f435, %f434, %f420, %f419;
	add.rn.f32 	%f436, %f435, 0fCB40007F;
	neg.f32 	%f437, %f436;
	fma.rn.f32 	%f438, %f432, %f424, %f437;
	fma.rn.f32 	%f439, %f432, %f426, %f438;
	mov.b32 	%r385, %f435;
	shl.b32 	%r386, %r385, 23;
	mov.b32 	%f440, %r386;
	ex2.approx.ftz.f32 	%f441, %f439;
	mul.rn.f32 	%f442, %f441, %f440;
	add.rn.f32 	%f443, %f431, %f442;
	sub.rn.f32 	%f444, %f29, %f35;
	fma.rn.f32 	%f445, %f444, %f416, %f415;
	cvt.sat.f32.f32 	%f446, %f445;
	fma.rm.f32 	%f447, %f446, %f420, %f419;
	add.rn.f32 	%f448, %f447, 0fCB40007F;
	neg.f32 	%f449, %f448;
	fma.rn.f32 	%f450, %f444, %f424, %f449;
	fma.rn.f32 	%f451, %f444, %f426, %f450;
	mov.b32 	%r387, %f447;
	shl.b32 	%r388, %r387, 23;
	mov.b32 	%f452, %r388;
	ex2.approx.ftz.f32 	%f453, %f451;
	mul.rn.f32 	%f454, %f453, %f452;
	add.rn.f32 	%f455, %f443, %f454;
	sub.rn.f32 	%f456, %f30, %f35;
	fma.rn.f32 	%f457, %f456, %f416, %f415;
	cvt.sat.f32.f32 	%f458, %f457;
	fma.rm.f32 	%f459, %f458, %f420, %f419;
	add.rn.f32 	%f460, %f459, 0fCB40007F;
	neg.f32 	%f461, %f460;
	fma.rn.f32 	%f462, %f456, %f424, %f461;
	fma.rn.f32 	%f463, %f456, %f426, %f462;
	mov.b32 	%r389, %f459;
	shl.b32 	%r390, %r389, 23;
	mov.b32 	%f464, %r390;
	ex2.approx.ftz.f32 	%f465, %f463;
	mul.rn.f32 	%f466, %f465, %f464;
	add.rn.f32 	%f467, %f455, %f466;
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 143 13
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r391, %f467;
	mov.u32 	%r392, 2;
	mov.u32 	%r393, 31;
	mov.u32 	%r394, 16;
	mov.u32 	%r395, -1;
	shfl.sync.down.b32 	%r396|%p89, %r391, %r394, %r393, %r395;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f468, %r396;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f469, %f467, %f468;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r397, %f469;
	mov.u32 	%r398, 8;
	shfl.sync.down.b32 	%r399|%p90, %r397, %r398, %r393, %r395;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f470, %r399;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f471, %f469, %f470;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r400, %f471;
	mov.u32 	%r401, 4;
	shfl.sync.down.b32 	%r402|%p91, %r400, %r401, %r393, %r395;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f472, %r402;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f473, %f471, %f472;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r403, %f473;
	shfl.sync.down.b32 	%r404|%p92, %r403, %r392, %r393, %r395;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f474, %r404;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f475, %f473, %f474;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r405, %f475;
	mov.u32 	%r406, 1;
	shfl.sync.down.b32 	%r407|%p93, %r405, %r406, %r393, %r395;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f476, %r407;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f36, %f475, %f476;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p204 bra 	$L__BB6_85;

	st.shared.f32 	[%r9], %f36;

$L__BB6_85:
	.loc	1 0 5
	setp.gt.u32 	%p205, %r1, 31;
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p205 bra 	$L__BB6_90;

	.loc	1 0 5
	setp.gt.u32 	%p95, %r1, 7;
	mov.f32 	%f904, 0f00000000;
	.loc	1 36 5
	@%p95 bra 	$L__BB6_88;

	ld.shared.f32 	%f904, [%r10];

$L__BB6_88:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r408, %f904;
	mov.u32 	%r409, 2;
	mov.u32 	%r410, 31;
	mov.u32 	%r411, 16;
	mov.u32 	%r412, -1;
	shfl.sync.down.b32 	%r413|%p96, %r408, %r411, %r410, %r412;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f478, %r413;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f479, %f904, %f478;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r414, %f479;
	mov.u32 	%r415, 8;
	shfl.sync.down.b32 	%r416|%p97, %r414, %r415, %r410, %r412;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f480, %r416;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f481, %f479, %f480;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r417, %f481;
	mov.u32 	%r418, 4;
	shfl.sync.down.b32 	%r419|%p98, %r417, %r418, %r410, %r412;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f482, %r419;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f483, %f481, %f482;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r420, %f483;
	shfl.sync.down.b32 	%r421|%p99, %r420, %r409, %r410, %r412;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f484, %r421;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f485, %f483, %f484;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r422, %f485;
	mov.u32 	%r423, 1;
	shfl.sync.down.b32 	%r424|%p100, %r422, %r423, %r410, %r412;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f486, %r424;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f39, %f485, %f486;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 90 5
	@%p2 bra 	$L__BB6_90;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f39;

$L__BB6_90:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	ld.shared.f32 	%f40, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 143 13
	@%p2 bra 	$L__BB6_92;

	shl.b64 	%rd185, %rd21, 2;
	add.s64 	%rd186, %rd13, %rd185;
	st.global.f32 	[%rd186], %f35;
	add.s64 	%rd187, %rd17, %rd185;
	st.global.f32 	[%rd187], %f40;

$L__BB6_92:
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 143 13
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	bar.sync 	0;
	@%p2 bra 	$L__BB6_94;

	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd188, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	shl.b64 	%rd189, %rd21, 5;
	add.s64 	%rd190, %rd6, %rd189;
	st.global.u64 	[%rd190+8], %rd188;

$L__BB6_94:
	bar.sync 	0;
	.loc	1 144 13
	@%p2 bra 	$L__BB6_97;

	ld.shared.u32 	%r427, [_ZZ10persistentILb1EEv7PayloadiE2id];
	mul.wide.s32 	%rd192, %r427, 4;
	add.s64 	%rd193, %rd7, %rd192;
	ld.global.u32 	%r59, [%rd193];
	.loc	1 145 17
	mul.wide.s32 	%rd194, %r59, 4;
	add.s64 	%rd191, %rd18, %rd194;
	.loc	1 145 17
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 145 17
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string30, inlined_at 6 2283 3
	.loc	6 2684 1, function_name $L__info_string31, inlined_at 6 2718 5
	mov.u32 	%r426, 1;
	// begin inline asm
	atom.add.acq_rel.gpu.s32 %r425,[%rd191],%r426;
	// end inline asm
	.loc	1 145 17
	add.s64 	%rd195, %rd9, %rd194;
	ld.global.u32 	%r428, [%rd195];
	not.b32 	%r429, %r428;
	ld.global.u32 	%r430, [%rd195+4];
	add.s32 	%r431, %r430, %r429;
	setp.ne.s32 	%p105, %r425, %r431;
	@%p105 bra 	$L__BB6_97;

	.loc	1 146 21
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 146 21
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string32, inlined_at 6 2283 3
	.loc	6 2676 1, function_name $L__info_string33, inlined_at 6 2718 5
	// begin inline asm
	atom.add.relaxed.gpu.s32 %r432,[%rd4],%r426;
	// end inline asm
	.loc	1 146 21
	mul.wide.s32 	%rd198, %r432, 4;
	add.s64 	%rd199, %rd12, %rd198;
	add.s32 	%r435, %r129, %r59;
	st.global.u32 	[%rd199], %r435;
	add.s64 	%rd197, %rd11, %rd198;
	.loc	1 146 21
	.loc	3 80 14, function_name $L__info_string34, inlined_at 1 146 21
	.loc	4 93 3, function_name $L__info_string35, inlined_at 3 80 14
	.loc	5 75 3, function_name $L__info_string36, inlined_at 4 93 3
	.loc	6 1180 3, function_name $L__info_string37, inlined_at 5 75 3
	.loc	6 855 3, function_name $L__info_string38, inlined_at 6 1180 3
	.loc	6 1169 5, function_name $L__info_string39, inlined_at 6 855 3
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd197],%r426;
	// end inline asm
	bra.uni 	$L__BB6_97;

$L__BB6_17:
	.loc	1 147 15
	setp.lt.s32 	%p13, %r160, %r4;
	.loc	1 0 0
	sub.s32 	%r23, %r160, %r3;
	.loc	1 147 15
	@%p13 bra 	$L__BB6_31;
	bra.uni 	$L__BB6_18;

$L__BB6_31:
	.loc	1 93 5, function_name $L__info_string5, inlined_at 1 148 13
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	@%p2 bra 	$L__BB6_33;

	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd127, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	shl.b64 	%rd128, %rd21, 5;
	add.s64 	%rd129, %rd6, %rd128;
	st.global.u64 	[%rd129], %rd127;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r190, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	st.global.v2.u32 	[%rd129+16], {%r190, %r5};
	add.s64 	%rd130, %rd129, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r191, [%rd130], 1;

$L__BB6_33:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	bar.sync 	0;
	.loc	1 94 5, function_name $L__info_string5, inlined_at 1 148 13
	mul.wide.s32 	%rd131, %r23, 4;
	add.s64 	%rd28, %rd9, %rd131;
	ld.global.u32 	%r29, [%rd28];
	add.s32 	%r30, %r29, %r1;
	add.s32 	%r192, %r23, 1;
	mul.wide.s32 	%rd132, %r192, 4;
	add.s64 	%rd29, %rd9, %rd132;
	ld.global.u32 	%r31, [%rd29];
	setp.ge.s32 	%p24, %r30, %r31;
	mov.f32 	%f896, 0fFF800000;
	@%p24 bra 	$L__BB6_40;

	add.s32 	%r193, %r13, %r29;
	max.s32 	%r194, %r31, %r193;
	add.s32 	%r195, %r194, %r12;
	sub.s32 	%r32, %r195, %r29;
	shr.u32 	%r196, %r32, 8;
	add.s32 	%r197, %r196, 1;
	and.b32  	%r33, %r197, 3;
	setp.eq.s32 	%p25, %r33, 0;
	mov.f32 	%f896, 0fFF800000;
	mov.u32 	%r704, %r30;
	@%p25 bra 	$L__BB6_38;

	mul.wide.s32 	%rd133, %r30, 4;
	add.s64 	%rd30, %rd13, %rd133;
	ld.global.f32 	%f213, [%rd30];
	mov.f32 	%f214, 0fFF800000;
	max.f32 	%f896, %f214, %f213;
	add.s32 	%r704, %r30, 256;
	setp.eq.s32 	%p26, %r33, 1;
	@%p26 bra 	$L__BB6_38;

	ld.global.f32 	%f215, [%rd30+1024];
	max.f32 	%f896, %f896, %f215;
	add.s32 	%r704, %r30, 512;
	setp.eq.s32 	%p27, %r33, 2;
	@%p27 bra 	$L__BB6_38;

	ld.global.f32 	%f216, [%rd30+2048];
	max.f32 	%f896, %f896, %f216;
	add.s32 	%r704, %r30, 768;

$L__BB6_38:
	setp.lt.u32 	%p28, %r32, 768;
	@%p28 bra 	$L__BB6_40;

$L__BB6_39:
	mul.wide.s32 	%rd134, %r704, 4;
	add.s64 	%rd135, %rd13, %rd134;
	ld.global.f32 	%f217, [%rd135];
	max.f32 	%f218, %f896, %f217;
	ld.global.f32 	%f219, [%rd135+1024];
	max.f32 	%f220, %f218, %f219;
	ld.global.f32 	%f221, [%rd135+2048];
	max.f32 	%f222, %f220, %f221;
	ld.global.f32 	%f223, [%rd135+3072];
	max.f32 	%f896, %f222, %f223;
	add.s32 	%r704, %r704, 1024;
	setp.lt.s32 	%p29, %r704, %r31;
	@%p29 bra 	$L__BB6_39;

$L__BB6_40:
	.loc	1 95 5, function_name $L__info_string5, inlined_at 1 148 13
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r198, %f896;
	mov.u32 	%r199, 2;
	mov.u32 	%r200, 31;
	mov.u32 	%r201, 16;
	mov.u32 	%r202, -1;
	shfl.sync.down.b32 	%r203|%p30, %r198, %r201, %r200, %r202;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f224, %r203;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f225, %f896, %f224;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r204, %f225;
	mov.u32 	%r205, 8;
	shfl.sync.down.b32 	%r206|%p31, %r204, %r205, %r200, %r202;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f226, %r206;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f227, %f225, %f226;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r207, %f227;
	mov.u32 	%r208, 4;
	shfl.sync.down.b32 	%r209|%p32, %r207, %r208, %r200, %r202;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f228, %r209;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f229, %f227, %f228;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r210, %f229;
	shfl.sync.down.b32 	%r211|%p33, %r210, %r199, %r200, %r202;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f230, %r211;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f231, %f229, %f230;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r212, %f231;
	mov.u32 	%r213, 1;
	shfl.sync.down.b32 	%r214|%p34, %r212, %r213, %r200, %r202;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f232, %r214;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f9, %f231, %f232;
	setp.ne.s32 	%p35, %r6, 0;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p35 bra 	$L__BB6_42;

	st.shared.f32 	[%r7], %f9;

$L__BB6_42:
	.loc	1 0 5
	setp.gt.u32 	%p36, %r1, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p36 bra 	$L__BB6_47;

	.loc	1 0 5
	setp.gt.u32 	%p37, %r1, 7;
	mov.f32 	%f897, 0fFF800000;
	.loc	1 36 5
	@%p37 bra 	$L__BB6_45;

	ld.shared.f32 	%f897, [%r8];

$L__BB6_45:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r215, %f897;
	mov.u32 	%r216, 2;
	mov.u32 	%r217, 31;
	mov.u32 	%r218, 16;
	mov.u32 	%r219, -1;
	shfl.sync.down.b32 	%r220|%p38, %r215, %r218, %r217, %r219;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f234, %r220;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f235, %f897, %f234;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r221, %f235;
	mov.u32 	%r222, 8;
	shfl.sync.down.b32 	%r223|%p39, %r221, %r222, %r217, %r219;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f236, %r223;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f237, %f235, %f236;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r224, %f237;
	mov.u32 	%r225, 4;
	shfl.sync.down.b32 	%r226|%p40, %r224, %r225, %r217, %r219;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f238, %r226;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f239, %f237, %f238;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r227, %f239;
	shfl.sync.down.b32 	%r228|%p41, %r227, %r216, %r217, %r219;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f240, %r228;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f241, %f239, %f240;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r229, %f241;
	mov.u32 	%r230, 1;
	shfl.sync.down.b32 	%r231|%p42, %r229, %r230, %r217, %r219;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f242, %r231;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f12, %f241, %f242;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 95 5
	@%p2 bra 	$L__BB6_47;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f12;

$L__BB6_47:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	ld.shared.f32 	%f13, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 96 5, function_name $L__info_string5, inlined_at 1 148 13
	ld.global.u32 	%r40, [%rd28];
	add.s32 	%r41, %r40, %r1;
	ld.global.u32 	%r42, [%rd29];
	setp.ge.s32 	%p44, %r41, %r42;
	mov.f32 	%f901, 0f00000000;
	@%p44 bra 	$L__BB6_54;

	add.s32 	%r232, %r13, %r40;
	max.s32 	%r233, %r42, %r232;
	add.s32 	%r234, %r233, %r12;
	sub.s32 	%r43, %r234, %r40;
	shr.u32 	%r235, %r43, 8;
	add.s32 	%r236, %r235, 1;
	and.b32  	%r44, %r236, 3;
	setp.eq.s32 	%p45, %r44, 0;
	mov.f32 	%f901, 0f00000000;
	mov.u32 	%r706, %r41;
	@%p45 bra 	$L__BB6_52;

	mul.wide.s32 	%rd136, %r41, 4;
	add.s64 	%rd31, %rd17, %rd136;
	add.s64 	%rd32, %rd13, %rd136;
	ld.global.f32 	%f246, [%rd32];
	sub.rn.f32 	%f247, %f246, %f13;
	mov.f32 	%f248, 0f3F000000;
	mov.f32 	%f249, 0f3BBB989D;
	fma.rn.f32 	%f250, %f247, %f249, %f248;
	cvt.sat.f32.f32 	%f251, %f250;
	mov.f32 	%f252, 0f4B400001;
	mov.f32 	%f253, 0f437C0000;
	fma.rm.f32 	%f254, %f251, %f253, %f252;
	add.rn.f32 	%f255, %f254, 0fCB40007F;
	neg.f32 	%f256, %f255;
	mov.f32 	%f257, 0f3FB8AA3B;
	fma.rn.f32 	%f258, %f247, %f257, %f256;
	mov.f32 	%f259, 0f32A57060;
	fma.rn.f32 	%f260, %f247, %f259, %f258;
	mov.b32 	%r237, %f254;
	shl.b32 	%r238, %r237, 23;
	mov.b32 	%f261, %r238;
	ex2.approx.ftz.f32 	%f262, %f260;
	mul.rn.f32 	%f263, %f262, %f261;
	ld.global.f32 	%f264, [%rd31];
	mul.rn.f32 	%f265, %f264, %f263;
	add.rn.f32 	%f901, %f265, 0f00000000;
	add.s32 	%r706, %r41, 256;
	setp.eq.s32 	%p46, %r44, 1;
	@%p46 bra 	$L__BB6_52;

	ld.global.f32 	%f266, [%rd32+1024];
	sub.rn.f32 	%f267, %f266, %f13;
	fma.rn.f32 	%f270, %f267, %f249, %f248;
	cvt.sat.f32.f32 	%f271, %f270;
	fma.rm.f32 	%f274, %f271, %f253, %f252;
	add.rn.f32 	%f275, %f274, 0fCB40007F;
	neg.f32 	%f276, %f275;
	fma.rn.f32 	%f278, %f267, %f257, %f276;
	fma.rn.f32 	%f280, %f267, %f259, %f278;
	mov.b32 	%r239, %f274;
	shl.b32 	%r240, %r239, 23;
	mov.b32 	%f281, %r240;
	ex2.approx.ftz.f32 	%f282, %f280;
	mul.rn.f32 	%f283, %f282, %f281;
	ld.global.f32 	%f284, [%rd31+1024];
	mul.rn.f32 	%f285, %f284, %f283;
	add.rn.f32 	%f901, %f901, %f285;
	add.s32 	%r706, %r41, 512;
	setp.eq.s32 	%p47, %r44, 2;
	@%p47 bra 	$L__BB6_52;

	ld.global.f32 	%f286, [%rd32+2048];
	sub.rn.f32 	%f287, %f286, %f13;
	mov.f32 	%f288, 0f3F000000;
	mov.f32 	%f289, 0f3BBB989D;
	fma.rn.f32 	%f290, %f287, %f289, %f288;
	cvt.sat.f32.f32 	%f291, %f290;
	mov.f32 	%f292, 0f4B400001;
	mov.f32 	%f293, 0f437C0000;
	fma.rm.f32 	%f294, %f291, %f293, %f292;
	add.rn.f32 	%f295, %f294, 0fCB40007F;
	neg.f32 	%f296, %f295;
	mov.f32 	%f297, 0f3FB8AA3B;
	fma.rn.f32 	%f298, %f287, %f297, %f296;
	mov.f32 	%f299, 0f32A57060;
	fma.rn.f32 	%f300, %f287, %f299, %f298;
	mov.b32 	%r241, %f294;
	shl.b32 	%r242, %r241, 23;
	mov.b32 	%f301, %r242;
	ex2.approx.ftz.f32 	%f302, %f300;
	mul.rn.f32 	%f303, %f302, %f301;
	ld.global.f32 	%f304, [%rd31+2048];
	mul.rn.f32 	%f305, %f304, %f303;
	add.rn.f32 	%f901, %f901, %f305;
	add.s32 	%r706, %r41, 768;

$L__BB6_52:
	setp.lt.u32 	%p48, %r43, 768;
	@%p48 bra 	$L__BB6_54;

$L__BB6_53:
	mul.wide.s32 	%rd137, %r706, 4;
	add.s64 	%rd138, %rd17, %rd137;
	add.s64 	%rd139, %rd13, %rd137;
	ld.global.f32 	%f306, [%rd139];
	sub.rn.f32 	%f307, %f306, %f13;
	mov.f32 	%f308, 0f3F000000;
	mov.f32 	%f309, 0f3BBB989D;
	fma.rn.f32 	%f310, %f307, %f309, %f308;
	cvt.sat.f32.f32 	%f311, %f310;
	mov.f32 	%f312, 0f4B400001;
	mov.f32 	%f313, 0f437C0000;
	fma.rm.f32 	%f314, %f311, %f313, %f312;
	add.rn.f32 	%f315, %f314, 0fCB40007F;
	neg.f32 	%f316, %f315;
	mov.f32 	%f317, 0f3FB8AA3B;
	fma.rn.f32 	%f318, %f307, %f317, %f316;
	mov.f32 	%f319, 0f32A57060;
	fma.rn.f32 	%f320, %f307, %f319, %f318;
	mov.b32 	%r243, %f314;
	shl.b32 	%r244, %r243, 23;
	mov.b32 	%f321, %r244;
	ex2.approx.ftz.f32 	%f322, %f320;
	mul.rn.f32 	%f323, %f322, %f321;
	ld.global.f32 	%f324, [%rd138];
	mul.rn.f32 	%f325, %f324, %f323;
	add.rn.f32 	%f326, %f901, %f325;
	ld.global.f32 	%f327, [%rd139+1024];
	sub.rn.f32 	%f328, %f327, %f13;
	fma.rn.f32 	%f329, %f328, %f309, %f308;
	cvt.sat.f32.f32 	%f330, %f329;
	fma.rm.f32 	%f331, %f330, %f313, %f312;
	add.rn.f32 	%f332, %f331, 0fCB40007F;
	neg.f32 	%f333, %f332;
	fma.rn.f32 	%f334, %f328, %f317, %f333;
	fma.rn.f32 	%f335, %f328, %f319, %f334;
	mov.b32 	%r245, %f331;
	shl.b32 	%r246, %r245, 23;
	mov.b32 	%f336, %r246;
	ex2.approx.ftz.f32 	%f337, %f335;
	mul.rn.f32 	%f338, %f337, %f336;
	ld.global.f32 	%f339, [%rd138+1024];
	mul.rn.f32 	%f340, %f339, %f338;
	add.rn.f32 	%f341, %f326, %f340;
	ld.global.f32 	%f342, [%rd139+2048];
	sub.rn.f32 	%f343, %f342, %f13;
	fma.rn.f32 	%f344, %f343, %f309, %f308;
	cvt.sat.f32.f32 	%f345, %f344;
	fma.rm.f32 	%f346, %f345, %f313, %f312;
	add.rn.f32 	%f347, %f346, 0fCB40007F;
	neg.f32 	%f348, %f347;
	fma.rn.f32 	%f349, %f343, %f317, %f348;
	fma.rn.f32 	%f350, %f343, %f319, %f349;
	mov.b32 	%r247, %f346;
	shl.b32 	%r248, %r247, 23;
	mov.b32 	%f351, %r248;
	ex2.approx.ftz.f32 	%f352, %f350;
	mul.rn.f32 	%f353, %f352, %f351;
	ld.global.f32 	%f354, [%rd138+2048];
	mul.rn.f32 	%f355, %f354, %f353;
	add.rn.f32 	%f356, %f341, %f355;
	ld.global.f32 	%f357, [%rd139+3072];
	sub.rn.f32 	%f358, %f357, %f13;
	fma.rn.f32 	%f359, %f358, %f309, %f308;
	cvt.sat.f32.f32 	%f360, %f359;
	fma.rm.f32 	%f361, %f360, %f313, %f312;
	add.rn.f32 	%f362, %f361, 0fCB40007F;
	neg.f32 	%f363, %f362;
	fma.rn.f32 	%f364, %f358, %f317, %f363;
	fma.rn.f32 	%f365, %f358, %f319, %f364;
	mov.b32 	%r249, %f361;
	shl.b32 	%r250, %r249, 23;
	mov.b32 	%f366, %r250;
	ex2.approx.ftz.f32 	%f367, %f365;
	mul.rn.f32 	%f368, %f367, %f366;
	ld.global.f32 	%f369, [%rd138+3072];
	mul.rn.f32 	%f370, %f369, %f368;
	add.rn.f32 	%f901, %f356, %f370;
	add.s32 	%r706, %r706, 1024;
	setp.lt.s32 	%p49, %r706, %r42;
	@%p49 bra 	$L__BB6_53;

$L__BB6_54:
	.loc	1 0 5
	setp.ne.s32 	%p202, %r6, 0;
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 148 13
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r251, %f901;
	mov.u32 	%r252, 2;
	mov.u32 	%r253, 31;
	mov.u32 	%r254, 16;
	mov.u32 	%r255, -1;
	shfl.sync.down.b32 	%r256|%p50, %r251, %r254, %r253, %r255;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f371, %r256;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f372, %f901, %f371;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r257, %f372;
	mov.u32 	%r258, 8;
	shfl.sync.down.b32 	%r259|%p51, %r257, %r258, %r253, %r255;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f373, %r259;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f374, %f372, %f373;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r260, %f374;
	mov.u32 	%r261, 4;
	shfl.sync.down.b32 	%r262|%p52, %r260, %r261, %r253, %r255;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f375, %r262;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f376, %f374, %f375;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r263, %f376;
	shfl.sync.down.b32 	%r264|%p53, %r263, %r252, %r253, %r255;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f377, %r264;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f378, %f376, %f377;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r265, %f378;
	mov.u32 	%r266, 1;
	shfl.sync.down.b32 	%r267|%p54, %r265, %r266, %r253, %r255;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f379, %r267;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f22, %f378, %f379;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p202 bra 	$L__BB6_56;

	st.shared.f32 	[%r9], %f22;

$L__BB6_56:
	.loc	1 0 5
	setp.gt.u32 	%p203, %r1, 31;
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p203 bra 	$L__BB6_61;

	.loc	1 0 5
	setp.gt.u32 	%p57, %r1, 7;
	mov.f32 	%f902, 0f00000000;
	.loc	1 36 5
	@%p57 bra 	$L__BB6_59;

	ld.shared.f32 	%f902, [%r10];

$L__BB6_59:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r268, %f902;
	mov.u32 	%r269, 2;
	mov.u32 	%r270, 31;
	mov.u32 	%r271, 16;
	mov.u32 	%r272, -1;
	shfl.sync.down.b32 	%r273|%p58, %r268, %r271, %r270, %r272;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f381, %r273;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f382, %f902, %f381;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r274, %f382;
	mov.u32 	%r275, 8;
	shfl.sync.down.b32 	%r276|%p59, %r274, %r275, %r270, %r272;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f383, %r276;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f384, %f382, %f383;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r277, %f384;
	mov.u32 	%r278, 4;
	shfl.sync.down.b32 	%r279|%p60, %r277, %r278, %r270, %r272;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f385, %r279;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f386, %f384, %f385;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r280, %f386;
	shfl.sync.down.b32 	%r281|%p61, %r280, %r269, %r270, %r272;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f387, %r281;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f388, %f386, %f387;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r282, %f388;
	mov.u32 	%r283, 1;
	shfl.sync.down.b32 	%r284|%p62, %r282, %r283, %r270, %r272;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f389, %r284;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f25, %f388, %f389;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 97 5
	@%p2 bra 	$L__BB6_61;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f25;

$L__BB6_61:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	ld.shared.f32 	%f26, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 148 13
	@%p2 bra 	$L__BB6_63;

	.loc	1 0 5
	cvt.u32.u64 	%r701, %rd21;
	sub.s32 	%r700, %r701, %r3;
	.loc	1 94 5, function_name $L__info_string5, inlined_at 1 148 13
	cvt.s64.s32 	%rd281, %r700;
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 148 13
	shl.b64 	%rd140, %rd281, 2;
	add.s64 	%rd141, %rd14, %rd140;
	st.global.f32 	[%rd141], %f13;
	add.s64 	%rd142, %rd15, %rd140;
	st.global.f32 	[%rd142], %f26;

$L__BB6_63:
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 148 13
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	bar.sync 	0;
	@%p2 bra 	$L__BB6_65;

	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd143, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	shl.b64 	%rd144, %rd21, 5;
	add.s64 	%rd145, %rd6, %rd144;
	st.global.u64 	[%rd145+8], %rd143;

$L__BB6_65:
	bar.sync 	0;
	.loc	1 148 13
	ld.global.u32 	%r51, [%rd28];
	ld.global.u32 	%r52, [%rd29];
	sub.s32 	%r53, %r52, %r51;
	.loc	1 149 13
	@%p2 bra 	$L__BB6_67;

	.loc	1 149 13
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 149 13
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string32, inlined_at 6 2283 3
	.loc	6 2676 1, function_name $L__info_string33, inlined_at 6 2718 5
	// begin inline asm
	atom.add.relaxed.gpu.s32 %r285,[%rd4],%r53;
	// end inline asm
	.loc	1 149 13
	st.shared.u32 	[_ZZ10persistentILb1EEv7PayloadiE4slot], %r285;

$L__BB6_67:
	.loc	1 150 13
	bar.sync 	0;
	.loc	1 151 13
	setp.ge.s32 	%p67, %r1, %r53;
	@%p67 bra 	$L__BB6_97;

	add.s32 	%r287, %r52, %r12;
	sub.s32 	%r54, %r287, %r51;
	shr.u32 	%r288, %r54, 8;
	add.s32 	%r289, %r288, 1;
	and.b32  	%r55, %r289, 3;
	setp.eq.s32 	%p68, %r55, 0;
	mov.u32 	%r708, %r1;
	@%p68 bra 	$L__BB6_72;

	ld.shared.u32 	%r291, [_ZZ10persistentILb1EEv7PayloadiE4slot];
	add.s32 	%r292, %r291, %r1;
	ld.global.u32 	%r293, [%rd28];
	add.s32 	%r294, %r18, %r293;
	mul.wide.s32 	%rd148, %r292, 4;
	add.s64 	%rd149, %rd12, %rd148;
	st.global.u32 	[%rd149], %r294;
	add.s64 	%rd147, %rd11, %rd148;
	.loc	1 151 13
	.loc	3 80 14, function_name $L__info_string34, inlined_at 1 151 13
	.loc	4 93 3, function_name $L__info_string35, inlined_at 3 80 14
	.loc	5 75 3, function_name $L__info_string36, inlined_at 4 93 3
	.loc	6 1180 3, function_name $L__info_string37, inlined_at 5 75 3
	.loc	6 855 3, function_name $L__info_string38, inlined_at 6 1180 3
	.loc	6 1169 5, function_name $L__info_string39, inlined_at 6 855 3
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	mov.u32 	%r290, 1;
	// begin inline asm
	st.release.gpu.b32 [%rd147],%r290;
	// end inline asm
	.loc	1 151 13
	setp.eq.s32 	%p69, %r55, 1;
	mov.u32 	%r708, %r13;
	@%p69 bra 	$L__BB6_72;

	ld.shared.u32 	%r296, [_ZZ10persistentILb1EEv7PayloadiE4slot];
	add.s32 	%r297, %r296, %r13;
	ld.global.u32 	%r298, [%rd28];
	add.s32 	%r299, %r19, %r298;
	mul.wide.s32 	%rd151, %r297, 4;
	add.s64 	%rd152, %rd12, %rd151;
	st.global.u32 	[%rd152], %r299;
	add.s64 	%rd150, %rd11, %rd151;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd150],%r290;
	// end inline asm
	.loc	1 151 13
	setp.eq.s32 	%p70, %r55, 2;
	mov.u32 	%r708, %r15;
	@%p70 bra 	$L__BB6_72;

	ld.shared.u32 	%r301, [_ZZ10persistentILb1EEv7PayloadiE4slot];
	add.s32 	%r302, %r301, %r15;
	ld.global.u32 	%r303, [%rd28];
	add.s32 	%r304, %r20, %r303;
	mul.wide.s32 	%rd154, %r302, 4;
	add.s64 	%rd155, %rd12, %rd154;
	st.global.u32 	[%rd155], %r304;
	add.s64 	%rd153, %rd11, %rd154;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	mov.u32 	%r300, 1;
	// begin inline asm
	st.release.gpu.b32 [%rd153],%r300;
	// end inline asm
	mov.u32 	%r708, %r16;

$L__BB6_72:
	.loc	1 151 13
	setp.lt.u32 	%p71, %r54, 768;
	@%p71 bra 	$L__BB6_97;

$L__BB6_73:
	ld.shared.u32 	%r309, [_ZZ10persistentILb1EEv7PayloadiE4slot];
	add.s32 	%r310, %r309, %r708;
	add.s32 	%r311, %r129, %r708;
	add.s32 	%r312, %r311, %r17;
	ld.global.u32 	%r313, [%rd28];
	add.s32 	%r314, %r312, %r313;
	mul.wide.s32 	%rd160, %r310, 4;
	add.s64 	%rd161, %rd12, %rd160;
	st.global.u32 	[%rd161], %r314;
	add.s64 	%rd156, %rd11, %rd160;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	mov.u32 	%r308, 1;
	// begin inline asm
	st.release.gpu.b32 [%rd156],%r308;
	// end inline asm
	.loc	1 151 13
	ld.shared.u32 	%r315, [_ZZ10persistentILb1EEv7PayloadiE4slot];
	add.s32 	%r316, %r708, 256;
	add.s32 	%r317, %r315, %r316;
	add.s32 	%r318, %r129, %r316;
	add.s32 	%r319, %r318, %r17;
	ld.global.u32 	%r320, [%rd28];
	add.s32 	%r321, %r319, %r320;
	mul.wide.s32 	%rd162, %r317, 4;
	add.s64 	%rd163, %rd12, %rd162;
	st.global.u32 	[%rd163], %r321;
	add.s64 	%rd157, %rd11, %rd162;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd157],%r308;
	// end inline asm
	.loc	1 151 13
	ld.shared.u32 	%r322, [_ZZ10persistentILb1EEv7PayloadiE4slot];
	add.s32 	%r323, %r708, 512;
	add.s32 	%r324, %r322, %r323;
	add.s32 	%r325, %r129, %r323;
	add.s32 	%r326, %r325, %r17;
	ld.global.u32 	%r327, [%rd28];
	add.s32 	%r328, %r326, %r327;
	mul.wide.s32 	%rd164, %r324, 4;
	add.s64 	%rd165, %rd12, %rd164;
	st.global.u32 	[%rd165], %r328;
	add.s64 	%rd158, %rd11, %rd164;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd158],%r308;
	// end inline asm
	.loc	1 151 13
	ld.shared.u32 	%r329, [_ZZ10persistentILb1EEv7PayloadiE4slot];
	add.s32 	%r330, %r708, 768;
	add.s32 	%r331, %r329, %r330;
	add.s32 	%r332, %r129, %r330;
	add.s32 	%r333, %r332, %r17;
	ld.global.u32 	%r334, [%rd28];
	add.s32 	%r335, %r333, %r334;
	mul.wide.s32 	%rd166, %r331, 4;
	add.s64 	%rd167, %rd12, %rd166;
	st.global.u32 	[%rd167], %r335;
	add.s64 	%rd159, %rd11, %rd166;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd159],%r308;
	// end inline asm
	.loc	1 151 13
	add.s32 	%r708, %r708, 1024;
	setp.lt.s32 	%p72, %r708, %r53;
	@%p72 bra 	$L__BB6_73;
	bra.uni 	$L__BB6_97;

$L__BB6_18:
	.loc	1 152 14
	sub.s32 	%r24, %r23, %r17;
	.loc	1 152 14
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 152 14
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	@%p2 bra 	$L__BB6_20;

	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd103, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	shl.b64 	%rd104, %rd21, 5;
	add.s64 	%rd105, %rd6, %rd104;
	st.global.u64 	[%rd105], %rd103;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r162, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	st.global.v2.u32 	[%rd105+16], {%r162, %r5};
	add.s64 	%rd106, %rd105, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r163, [%rd106], 1;

$L__BB6_20:
	.loc	8 0 3
	setp.gt.s32 	%p15, %r1, 1023;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	bar.sync 	0;
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 152 14
	mul.wide.s32 	%rd107, %r24, 4;
	add.s64 	%rd108, %rd7, %rd107;
	ld.global.u32 	%r164, [%rd108];
	cvt.s64.s32 	%rd22, %r164;
	mul.wide.s32 	%rd109, %r164, 4;
	add.s64 	%rd110, %rd8, %rd109;
	add.s64 	%rd111, %rd9, %rd109;
	ld.global.u32 	%r165, [%rd111];
	sub.s32 	%r166, %r24, %r165;
	shl.b32 	%r167, %r166, 10;
	ld.global.u32 	%r168, [%rd110];
	add.s32 	%r25, %r167, %r168;
	.loc	1 101 5, function_name $L__info_string41, inlined_at 1 152 14
	@%p15 bra 	$L__BB6_27;

	.loc	1 0 5
	setp.eq.s32 	%p16, %r14, 0;
	shl.b64 	%rd112, %rd22, 2;
	add.s64 	%rd23, %rd14, %rd112;
	add.s64 	%rd24, %rd15, %rd112;
	.loc	1 101 5
	mov.u32 	%r702, %r1;
	@%p16 bra 	$L__BB6_25;

	.loc	1 0 5
	setp.eq.s32 	%p17, %r14, 1;
	.loc	1 101 5
	add.s32 	%r169, %r25, %r1;
	mul.wide.s32 	%rd113, %r169, 4;
	add.s64 	%rd114, %rd10, %rd113;
	ld.global.f32 	%f81, [%rd23];
	ld.global.f32 	%f82, [%rd114];
	sub.rn.f32 	%f83, %f82, %f81;
	mov.f32 	%f84, 0f3F000000;
	mov.f32 	%f85, 0f3BBB989D;
	fma.rn.f32 	%f86, %f83, %f85, %f84;
	cvt.sat.f32.f32 	%f87, %f86;
	mov.f32 	%f88, 0f4B400001;
	mov.f32 	%f89, 0f437C0000;
	fma.rm.f32 	%f90, %f87, %f89, %f88;
	add.rn.f32 	%f91, %f90, 0fCB40007F;
	neg.f32 	%f92, %f91;
	mov.f32 	%f93, 0f3FB8AA3B;
	fma.rn.f32 	%f94, %f83, %f93, %f92;
	mov.f32 	%f95, 0f32A57060;
	fma.rn.f32 	%f96, %f83, %f95, %f94;
	mov.b32 	%r170, %f90;
	shl.b32 	%r171, %r170, 23;
	mov.b32 	%f97, %r171;
	ex2.approx.ftz.f32 	%f98, %f96;
	mul.rn.f32 	%f99, %f98, %f97;
	ld.global.f32 	%f100, [%rd24];
	div.rn.f32 	%f101, %f99, %f100;
	add.s64 	%rd115, %rd16, %rd113;
	st.global.f32 	[%rd115], %f101;
	mov.u32 	%r702, %r13;
	@%p17 bra 	$L__BB6_25;

	.loc	1 0 5
	setp.eq.s32 	%p18, %r14, 2;
	.loc	1 101 5
	add.s32 	%r172, %r25, %r13;
	mul.wide.s32 	%rd116, %r172, 4;
	add.s64 	%rd25, %rd10, %rd116;
	ld.global.f32 	%f102, [%rd23];
	ld.global.f32 	%f103, [%rd25];
	sub.rn.f32 	%f104, %f103, %f102;
	fma.rn.f32 	%f107, %f104, %f85, %f84;
	cvt.sat.f32.f32 	%f108, %f107;
	fma.rm.f32 	%f111, %f108, %f89, %f88;
	add.rn.f32 	%f112, %f111, 0fCB40007F;
	neg.f32 	%f113, %f112;
	fma.rn.f32 	%f115, %f104, %f93, %f113;
	fma.rn.f32 	%f117, %f104, %f95, %f115;
	mov.b32 	%r173, %f111;
	shl.b32 	%r174, %r173, 23;
	mov.b32 	%f118, %r174;
	ex2.approx.ftz.f32 	%f119, %f117;
	mul.rn.f32 	%f120, %f119, %f118;
	ld.global.f32 	%f121, [%rd24];
	div.rn.f32 	%f122, %f120, %f121;
	add.s64 	%rd26, %rd16, %rd116;
	st.global.f32 	[%rd26], %f122;
	mov.u32 	%r702, %r15;
	@%p18 bra 	$L__BB6_25;

	ld.global.f32 	%f123, [%rd23];
	ld.global.f32 	%f124, [%rd25+1024];
	sub.rn.f32 	%f125, %f124, %f123;
	mov.f32 	%f126, 0f3F000000;
	mov.f32 	%f127, 0f3BBB989D;
	fma.rn.f32 	%f128, %f125, %f127, %f126;
	cvt.sat.f32.f32 	%f129, %f128;
	mov.f32 	%f130, 0f4B400001;
	mov.f32 	%f131, 0f437C0000;
	fma.rm.f32 	%f132, %f129, %f131, %f130;
	add.rn.f32 	%f133, %f132, 0fCB40007F;
	neg.f32 	%f134, %f133;
	mov.f32 	%f135, 0f3FB8AA3B;
	fma.rn.f32 	%f136, %f125, %f135, %f134;
	mov.f32 	%f137, 0f32A57060;
	fma.rn.f32 	%f138, %f125, %f137, %f136;
	mov.b32 	%r175, %f132;
	shl.b32 	%r176, %r175, 23;
	mov.b32 	%f139, %r176;
	ex2.approx.ftz.f32 	%f140, %f138;
	mul.rn.f32 	%f141, %f140, %f139;
	ld.global.f32 	%f142, [%rd24];
	div.rn.f32 	%f143, %f141, %f142;
	st.global.f32 	[%rd26+1024], %f143;
	mov.u32 	%r702, %r16;

$L__BB6_25:
	.loc	1 0 5
	setp.lt.u32 	%p19, %r11, 768;
	.loc	1 101 5
	@%p19 bra 	$L__BB6_27;

$L__BB6_26:
	add.s32 	%r177, %r25, %r702;
	mul.wide.s32 	%rd117, %r177, 4;
	add.s64 	%rd118, %rd10, %rd117;
	ld.global.f32 	%f144, [%rd23];
	ld.global.f32 	%f145, [%rd118];
	sub.rn.f32 	%f146, %f145, %f144;
	mov.f32 	%f147, 0f3F000000;
	mov.f32 	%f148, 0f3BBB989D;
	fma.rn.f32 	%f149, %f146, %f148, %f147;
	cvt.sat.f32.f32 	%f150, %f149;
	mov.f32 	%f151, 0f4B400001;
	mov.f32 	%f152, 0f437C0000;
	fma.rm.f32 	%f153, %f150, %f152, %f151;
	add.rn.f32 	%f154, %f153, 0fCB40007F;
	neg.f32 	%f155, %f154;
	mov.f32 	%f156, 0f3FB8AA3B;
	fma.rn.f32 	%f157, %f146, %f156, %f155;
	mov.f32 	%f158, 0f32A57060;
	fma.rn.f32 	%f159, %f146, %f158, %f157;
	mov.b32 	%r178, %f153;
	shl.b32 	%r179, %r178, 23;
	mov.b32 	%f160, %r179;
	ex2.approx.ftz.f32 	%f161, %f159;
	mul.rn.f32 	%f162, %f161, %f160;
	ld.global.f32 	%f163, [%rd24];
	div.rn.f32 	%f164, %f162, %f163;
	add.s64 	%rd119, %rd16, %rd117;
	st.global.f32 	[%rd119], %f164;
	add.s32 	%r180, %r177, 256;
	mul.wide.s32 	%rd120, %r180, 4;
	add.s64 	%rd121, %rd10, %rd120;
	ld.global.f32 	%f165, [%rd23];
	ld.global.f32 	%f166, [%rd121];
	sub.rn.f32 	%f167, %f166, %f165;
	fma.rn.f32 	%f168, %f167, %f148, %f147;
	cvt.sat.f32.f32 	%f169, %f168;
	fma.rm.f32 	%f170, %f169, %f152, %f151;
	add.rn.f32 	%f171, %f170, 0fCB40007F;
	neg.f32 	%f172, %f171;
	fma.rn.f32 	%f173, %f167, %f156, %f172;
	fma.rn.f32 	%f174, %f167, %f158, %f173;
	mov.b32 	%r181, %f170;
	shl.b32 	%r182, %r181, 23;
	mov.b32 	%f175, %r182;
	ex2.approx.ftz.f32 	%f176, %f174;
	mul.rn.f32 	%f177, %f176, %f175;
	ld.global.f32 	%f178, [%rd24];
	div.rn.f32 	%f179, %f177, %f178;
	add.s64 	%rd122, %rd16, %rd120;
	st.global.f32 	[%rd122], %f179;
	ld.global.f32 	%f180, [%rd23];
	ld.global.f32 	%f181, [%rd121+1024];
	sub.rn.f32 	%f182, %f181, %f180;
	fma.rn.f32 	%f183, %f182, %f148, %f147;
	cvt.sat.f32.f32 	%f184, %f183;
	fma.rm.f32 	%f185, %f184, %f152, %f151;
	add.rn.f32 	%f186, %f185, 0fCB40007F;
	neg.f32 	%f187, %f186;
	fma.rn.f32 	%f188, %f182, %f156, %f187;
	fma.rn.f32 	%f189, %f182, %f158, %f188;
	mov.b32 	%r183, %f185;
	shl.b32 	%r184, %r183, 23;
	mov.b32 	%f190, %r184;
	ex2.approx.ftz.f32 	%f191, %f189;
	mul.rn.f32 	%f192, %f191, %f190;
	ld.global.f32 	%f193, [%rd24];
	div.rn.f32 	%f194, %f192, %f193;
	st.global.f32 	[%rd122+1024], %f194;
	ld.global.f32 	%f195, [%rd23];
	ld.global.f32 	%f196, [%rd121+2048];
	sub.rn.f32 	%f197, %f196, %f195;
	fma.rn.f32 	%f198, %f197, %f148, %f147;
	cvt.sat.f32.f32 	%f199, %f198;
	fma.rm.f32 	%f200, %f199, %f152, %f151;
	add.rn.f32 	%f201, %f200, 0fCB40007F;
	neg.f32 	%f202, %f201;
	fma.rn.f32 	%f203, %f197, %f156, %f202;
	fma.rn.f32 	%f204, %f197, %f158, %f203;
	mov.b32 	%r185, %f200;
	shl.b32 	%r186, %r185, 23;
	mov.b32 	%f205, %r186;
	ex2.approx.ftz.f32 	%f206, %f204;
	mul.rn.f32 	%f207, %f206, %f205;
	ld.global.f32 	%f208, [%rd24];
	div.rn.f32 	%f209, %f207, %f208;
	st.global.f32 	[%rd122+2048], %f209;
	add.s32 	%r28, %r702, 1024;
	setp.lt.s32 	%p20, %r702, 0;
	mov.u32 	%r702, %r28;
	@%p20 bra 	$L__BB6_26;

$L__BB6_27:
	.loc	1 102 5, function_name $L__info_string41, inlined_at 1 152 14
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	bar.sync 	0;
	@%p2 bra 	$L__BB6_29;

	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd123, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	mul.wide.s32 	%rd124, %r160, 32;
	add.s64 	%rd125, %rd6, %rd124;
	st.global.u64 	[%rd125+8], %rd123;

$L__BB6_29:
	bar.sync 	0;
	.loc	1 152 14
	@%p2 bra 	$L__BB6_97;

	.loc	1 152 14
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 152 14
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string42, inlined_at 6 2283 3
	.loc	6 2680 1, function_name $L__info_string43, inlined_at 6 2718 5
	mov.u32 	%r189, 1;
	// begin inline asm
	atom.add.release.gpu.s32 %r188,[%rd2],%r189;
	// end inline asm
	.loc	1 152 14
	bra.uni 	$L__BB6_97;

$L__BB6_12:
	.loc	1 131 25
	cvt.s64.s32 	%rd19, %r144;
	mul.wide.s32 	%rd99, %r144, 4;
	add.s64 	%rd98, %rd11, %rd99;
	.loc	1 131 25
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 131 25
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string11, inlined_at 6 97 3
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r155,[%rd98];
	// end inline asm
	.loc	1 131 25
	setp.ne.s32 	%p9, %r155, 0;
	@%p9 bra 	$L__BB6_14;

$L__BB6_13:
	.loc	1 131 25
	.loc	7 169 5, function_name $L__info_string21, inlined_at 1 131 25
	mov.u32 	%r156, 32;
	// begin inline asm
	nanosleep.u32 %r156;
	// end inline asm
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r157,[%rd98];
	// end inline asm
	.loc	1 131 25
	setp.eq.s32 	%p10, %r157, 0;
	@%p10 bra 	$L__BB6_13;

$L__BB6_14:
	.loc	1 132 25
	shl.b64 	%rd101, %rd19, 2;
	add.s64 	%rd102, %rd12, %rd101;
	ld.global.u32 	%r158, [%rd102];
	st.shared.u32 	[_ZZ10persistentILb1EEv7PayloadiE2id], %r158;
	bra.uni 	$L__BB6_15;

$L__BB6_8:
	.loc	1 137 17
	st.shared.u32 	[_ZZ10persistentILb1EEv7PayloadiE2id], %r146;
	bra.uni 	$L__BB6_15;

$L__BB6_98:
	.loc	1 115 9
	.loc	9 421 5, function_name $L__info_string44, inlined_at 1 115 9
	.loc	10 92 9, function_name $L__info_string45, inlined_at 9 421 5
	.loc	10 66 9, function_name $L__info_string46, inlined_at 10 92 9
	.loc	10 83 96, function_name $L__info_string47, inlined_at 10 66 9
	// begin inline asm
	mov.u32 %r436, %envreg2;
	// end inline asm
	.loc	10 66 9, function_name $L__info_string46, inlined_at 10 92 9
	cvt.u64.u32 	%rd200, %r436;
	.loc	10 67 9, function_name $L__info_string46, inlined_at 10 92 9
	.loc	10 82 96, function_name $L__info_string48, inlined_at 10 67 9
	// begin inline asm
	mov.u32 %r437, %envreg1;
	// end inline asm
	.loc	10 67 9, function_name $L__info_string46, inlined_at 10 92 9
	cvt.u64.u32 	%rd201, %r437;
	.loc	10 69 9, function_name $L__info_string46, inlined_at 10 92 9
	bfi.b64 	%rd34, %rd201, %rd200, 32, 32;
	.loc	1 116 9
	ld.param.u32 	%r60, [%rd79+140];
	mov.u32 	%r61, %ctaid.x;
	setp.ge.s32 	%p106, %r61, %r60;
	@%p106 bra 	$L__BB6_121;

	.loc	1 0 9
	ld.param.u64 	%rd202, [%rd79+128];
	.loc	1 116 9
	.loc	1 83 5, function_name $L__info_string3, inlined_at 1 116 9
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	cvta.to.global.u64 	%rd35, %rd202;
	ld.param.u64 	%rd203, [%rd79+64];
	cvta.to.global.u64 	%rd36, %rd203;
	ld.param.u64 	%rd204, [%rd79+48];
	cvta.to.global.u64 	%rd37, %rd204;
	ld.param.u64 	%rd205, [%rd79+56];
	cvta.to.global.u64 	%rd38, %rd205;
	ld.param.u64 	%rd206, [%rd79];
	cvta.to.global.u64 	%rd39, %rd206;
	mov.u32 	%r62, %tid.x;
	and.b32  	%r63, %r62, 31;
	shr.u32 	%r438, %r62, 3;
	and.b32  	%r439, %r438, 536870908;
	mov.u32 	%r440, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r64, %r440, %r439;
	shl.b32 	%r441, %r62, 2;
	add.s32 	%r65, %r440, %r441;
	mov.u32 	%r442, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r66, %r442, %r439;
	add.s32 	%r67, %r442, %r441;
	ld.param.u64 	%rd207, [%rd79+16];
	cvta.to.global.u64 	%rd40, %rd207;
	ld.param.u64 	%rd208, [%rd79+24];
	cvta.to.global.u64 	%rd41, %rd208;
	.loc	1 116 9
	mov.u32 	%r68, %nctaid.x;
	mov.u32 	%r710, %r61;

$L__BB6_100:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	cvt.s64.s32 	%rd42, %r710;
	mul.wide.s32 	%rd209, %r710, 32;
	add.s64 	%rd43, %rd35, %rd209;
	setp.eq.s32 	%p107, %r62, 0;
	@%p107 bra 	$L__BB6_101;
	bra.uni 	$L__BB6_102;

$L__BB6_101:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd210, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	st.global.u64 	[%rd43], %rd210;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r443, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	st.global.v2.u32 	[%rd43+16], {%r443, %r61};
	shl.b64 	%rd211, %rd42, 5;
	add.s64 	%rd212, %rd35, %rd211;
	add.s64 	%rd213, %rd212, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r444, [%rd213], 1;

$L__BB6_102:
	.loc	8 0 3
	setp.ne.s32 	%p108, %r63, 0;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	bar.sync 	0;
	.loc	1 83 5, function_name $L__info_string3, inlined_at 1 116 9
	mul.wide.s32 	%rd214, %r710, 4;
	add.s64 	%rd215, %rd36, %rd214;
	ld.global.u32 	%r445, [%rd215];
	mul.wide.s32 	%rd216, %r445, 4;
	add.s64 	%rd217, %rd37, %rd216;
	add.s64 	%rd218, %rd38, %rd216;
	ld.global.u32 	%r446, [%rd218];
	sub.s32 	%r447, %r710, %r446;
	shl.b32 	%r448, %r447, 10;
	ld.global.u32 	%r449, [%rd217];
	add.s32 	%r450, %r449, %r62;
	add.s32 	%r451, %r450, %r448;
	.loc	1 86 5, function_name $L__info_string3, inlined_at 1 116 9
	mul.wide.u32 	%rd219, %r451, 4;
	add.s64 	%rd220, %rd39, %rd219;
	ld.global.f32 	%f41, [%rd220];
	mov.f32 	%f487, 0fFF800000;
	max.f32 	%f488, %f487, %f41;
	add.s32 	%r452, %r451, 256;
	mul.wide.u32 	%rd221, %r452, 4;
	add.s64 	%rd222, %rd39, %rd221;
	ld.global.f32 	%f42, [%rd222];
	max.f32 	%f489, %f488, %f42;
	add.s32 	%r453, %r451, 512;
	mul.wide.u32 	%rd223, %r453, 4;
	add.s64 	%rd224, %rd39, %rd223;
	ld.global.f32 	%f43, [%rd224];
	max.f32 	%f490, %f489, %f43;
	add.s32 	%r454, %r451, 768;
	mul.wide.u32 	%rd225, %r454, 4;
	add.s64 	%rd226, %rd39, %rd225;
	ld.global.f32 	%f44, [%rd226];
	max.f32 	%f491, %f490, %f44;
	.loc	1 87 5, function_name $L__info_string3, inlined_at 1 116 9
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r455, %f491;
	mov.u32 	%r456, 2;
	mov.u32 	%r457, 31;
	mov.u32 	%r458, 16;
	mov.u32 	%r459, -1;
	shfl.sync.down.b32 	%r460|%p109, %r455, %r458, %r457, %r459;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f492, %r460;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f493, %f491, %f492;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r461, %f493;
	mov.u32 	%r462, 8;
	shfl.sync.down.b32 	%r463|%p110, %r461, %r462, %r457, %r459;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f494, %r463;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f495, %f493, %f494;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r464, %f495;
	mov.u32 	%r465, 4;
	shfl.sync.down.b32 	%r466|%p111, %r464, %r465, %r457, %r459;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f496, %r466;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f497, %f495, %f496;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r467, %f497;
	shfl.sync.down.b32 	%r468|%p112, %r467, %r456, %r457, %r459;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f498, %r468;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f499, %f497, %f498;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r469, %f499;
	mov.u32 	%r470, 1;
	shfl.sync.down.b32 	%r471|%p113, %r469, %r470, %r457, %r459;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f500, %r471;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f45, %f499, %f500;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p108 bra 	$L__BB6_104;

	st.shared.f32 	[%r64], %f45;

$L__BB6_104:
	.loc	1 0 5
	setp.gt.u32 	%p114, %r62, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p114 bra 	$L__BB6_109;

	.loc	1 0 5
	setp.gt.u32 	%p115, %r62, 7;
	mov.f32 	%f905, 0fFF800000;
	.loc	1 36 5
	@%p115 bra 	$L__BB6_107;

	ld.shared.f32 	%f905, [%r65];

$L__BB6_107:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r472, %f905;
	mov.u32 	%r473, 2;
	mov.u32 	%r474, 31;
	mov.u32 	%r475, 16;
	mov.u32 	%r476, -1;
	shfl.sync.down.b32 	%r477|%p116, %r472, %r475, %r474, %r476;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f502, %r477;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f503, %f905, %f502;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r478, %f503;
	mov.u32 	%r479, 8;
	shfl.sync.down.b32 	%r480|%p117, %r478, %r479, %r474, %r476;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f504, %r480;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f505, %f503, %f504;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r481, %f505;
	mov.u32 	%r482, 4;
	shfl.sync.down.b32 	%r483|%p118, %r481, %r482, %r474, %r476;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f506, %r483;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f507, %f505, %f506;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r484, %f507;
	shfl.sync.down.b32 	%r485|%p119, %r484, %r473, %r474, %r476;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f508, %r485;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f509, %f507, %f508;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r486, %f509;
	mov.u32 	%r487, 1;
	shfl.sync.down.b32 	%r488|%p120, %r486, %r487, %r474, %r476;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f510, %r488;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f48, %f509, %f510;
	setp.ne.s32 	%p121, %r62, 0;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 87 5
	@%p121 bra 	$L__BB6_109;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f48;

$L__BB6_109:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	ld.shared.f32 	%f49, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 89 5, function_name $L__info_string3, inlined_at 1 116 9
	sub.rn.f32 	%f511, %f41, %f49;
	mov.f32 	%f512, 0f3F000000;
	mov.f32 	%f513, 0f3BBB989D;
	fma.rn.f32 	%f514, %f511, %f513, %f512;
	cvt.sat.f32.f32 	%f515, %f514;
	mov.f32 	%f516, 0f4B400001;
	mov.f32 	%f517, 0f437C0000;
	fma.rm.f32 	%f518, %f515, %f517, %f516;
	add.rn.f32 	%f519, %f518, 0fCB40007F;
	neg.f32 	%f520, %f519;
	mov.f32 	%f521, 0f3FB8AA3B;
	fma.rn.f32 	%f522, %f511, %f521, %f520;
	mov.f32 	%f523, 0f32A57060;
	fma.rn.f32 	%f524, %f511, %f523, %f522;
	mov.b32 	%r489, %f518;
	shl.b32 	%r490, %r489, 23;
	mov.b32 	%f525, %r490;
	ex2.approx.ftz.f32 	%f526, %f524;
	mul.rn.f32 	%f527, %f526, %f525;
	add.rn.f32 	%f528, %f527, 0f00000000;
	sub.rn.f32 	%f529, %f42, %f49;
	fma.rn.f32 	%f530, %f529, %f513, %f512;
	cvt.sat.f32.f32 	%f531, %f530;
	fma.rm.f32 	%f532, %f531, %f517, %f516;
	add.rn.f32 	%f533, %f532, 0fCB40007F;
	neg.f32 	%f534, %f533;
	fma.rn.f32 	%f535, %f529, %f521, %f534;
	fma.rn.f32 	%f536, %f529, %f523, %f535;
	mov.b32 	%r491, %f532;
	shl.b32 	%r492, %r491, 23;
	mov.b32 	%f537, %r492;
	ex2.approx.ftz.f32 	%f538, %f536;
	mul.rn.f32 	%f539, %f538, %f537;
	add.rn.f32 	%f540, %f528, %f539;
	sub.rn.f32 	%f541, %f43, %f49;
	fma.rn.f32 	%f542, %f541, %f513, %f512;
	cvt.sat.f32.f32 	%f543, %f542;
	fma.rm.f32 	%f544, %f543, %f517, %f516;
	add.rn.f32 	%f545, %f544, 0fCB40007F;
	neg.f32 	%f546, %f545;
	fma.rn.f32 	%f547, %f541, %f521, %f546;
	fma.rn.f32 	%f548, %f541, %f523, %f547;
	mov.b32 	%r493, %f544;
	shl.b32 	%r494, %r493, 23;
	mov.b32 	%f549, %r494;
	ex2.approx.ftz.f32 	%f550, %f548;
	mul.rn.f32 	%f551, %f550, %f549;
	add.rn.f32 	%f552, %f540, %f551;
	sub.rn.f32 	%f553, %f44, %f49;
	fma.rn.f32 	%f554, %f553, %f513, %f512;
	cvt.sat.f32.f32 	%f555, %f554;
	fma.rm.f32 	%f556, %f555, %f517, %f516;
	add.rn.f32 	%f557, %f556, 0fCB40007F;
	neg.f32 	%f558, %f557;
	fma.rn.f32 	%f559, %f553, %f521, %f558;
	fma.rn.f32 	%f560, %f553, %f523, %f559;
	mov.b32 	%r495, %f556;
	shl.b32 	%r496, %r495, 23;
	mov.b32 	%f561, %r496;
	ex2.approx.ftz.f32 	%f562, %f560;
	mul.rn.f32 	%f563, %f562, %f561;
	add.rn.f32 	%f564, %f552, %f563;
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 116 9
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r497, %f564;
	mov.u32 	%r498, 2;
	mov.u32 	%r499, 31;
	mov.u32 	%r500, 16;
	mov.u32 	%r501, -1;
	shfl.sync.down.b32 	%r502|%p123, %r497, %r500, %r499, %r501;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f565, %r502;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f566, %f564, %f565;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r503, %f566;
	mov.u32 	%r504, 8;
	shfl.sync.down.b32 	%r505|%p124, %r503, %r504, %r499, %r501;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f567, %r505;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f568, %f566, %f567;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r506, %f568;
	mov.u32 	%r507, 4;
	shfl.sync.down.b32 	%r508|%p125, %r506, %r507, %r499, %r501;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f569, %r508;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f570, %f568, %f569;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r509, %f570;
	shfl.sync.down.b32 	%r510|%p126, %r509, %r498, %r499, %r501;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f571, %r510;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f572, %f570, %f571;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r511, %f572;
	mov.u32 	%r512, 1;
	shfl.sync.down.b32 	%r513|%p127, %r511, %r512, %r499, %r501;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f573, %r513;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f50, %f572, %f573;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p108 bra 	$L__BB6_111;

	st.shared.f32 	[%r66], %f50;

$L__BB6_111:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p114 bra 	$L__BB6_116;

	.loc	1 0 5
	setp.gt.u32 	%p129, %r62, 7;
	mov.f32 	%f906, 0f00000000;
	.loc	1 36 5
	@%p129 bra 	$L__BB6_114;

	ld.shared.f32 	%f906, [%r67];

$L__BB6_114:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r514, %f906;
	mov.u32 	%r515, 2;
	mov.u32 	%r516, 31;
	mov.u32 	%r517, 16;
	mov.u32 	%r518, -1;
	shfl.sync.down.b32 	%r519|%p130, %r514, %r517, %r516, %r518;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f575, %r519;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f576, %f906, %f575;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r520, %f576;
	mov.u32 	%r521, 8;
	shfl.sync.down.b32 	%r522|%p131, %r520, %r521, %r516, %r518;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f577, %r522;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f578, %f576, %f577;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r523, %f578;
	mov.u32 	%r524, 4;
	shfl.sync.down.b32 	%r525|%p132, %r523, %r524, %r516, %r518;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f579, %r525;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f580, %f578, %f579;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r526, %f580;
	shfl.sync.down.b32 	%r527|%p133, %r526, %r515, %r516, %r518;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f581, %r527;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f582, %f580, %f581;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r528, %f582;
	mov.u32 	%r529, 1;
	shfl.sync.down.b32 	%r530|%p134, %r528, %r529, %r516, %r518;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f583, %r530;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f53, %f582, %f583;
	setp.ne.s32 	%p135, %r62, 0;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 90 5
	@%p135 bra 	$L__BB6_116;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f53;

$L__BB6_116:
	.loc	1 0 9
	setp.ne.s32 	%p136, %r62, 0;
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	ld.shared.f32 	%f54, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 116 9
	@%p136 bra 	$L__BB6_118;

	shl.b64 	%rd227, %rd42, 2;
	add.s64 	%rd228, %rd40, %rd227;
	st.global.f32 	[%rd228], %f49;
	add.s64 	%rd229, %rd41, %rd227;
	st.global.f32 	[%rd229], %f54;

$L__BB6_118:
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 116 9
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	bar.sync 	0;
	@%p136 bra 	$L__BB6_120;

	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd230, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	st.global.u64 	[%rd43+8], %rd230;

$L__BB6_120:
	bar.sync 	0;
	.loc	1 116 9
	add.s32 	%r710, %r710, %r68;
	setp.lt.s32 	%p138, %r710, %r60;
	@%p138 bra 	$L__BB6_100;

$L__BB6_121:
	.loc	1 117 9
	.loc	9 339 9, function_name $L__info_string49, inlined_at 1 117 9
	.loc	9 335 37, function_name $L__info_string50, inlined_at 9 339 9
	setp.ne.s64 	%p139, %rd34, 0;
	.loc	9 339 9, function_name $L__info_string49, inlined_at 1 117 9
	@%p139 bra 	$L__BB6_123;

	.loc	9 340 13, function_name $L__info_string49, inlined_at 1 117 9
	// begin inline asm
	trap;
	// end inline asm

$L__BB6_123:
	.loc	9 342 9, function_name $L__info_string49, inlined_at 1 117 9
	add.s64 	%rd45, %rd34, 4;
	.loc	9 342 9, function_name $L__info_string49, inlined_at 1 117 9
	.loc	11 381 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 71 5, function_name $L__info_string52, inlined_at 11 381 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 71 5
	barrier.sync 	0;
	.loc	12 73 5, function_name $L__info_string52, inlined_at 11 381 13
	.loc	12 65 5, function_name $L__info_string54, inlined_at 12 73 5
	mov.u32 	%r531, %tid.y;
	mov.u32 	%r71, %tid.x;
	add.s32 	%r72, %r71, %r531;
	mov.u32 	%r532, %tid.z;
	neg.s32 	%r73, %r532;
	setp.ne.s32 	%p140, %r72, %r73;
	.loc	12 73 5, function_name $L__info_string52, inlined_at 11 381 13
	@%p140 bra 	$L__BB6_126;

	.loc	12 74 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r535, %nctaid.x;
	mov.u32 	%r536, %nctaid.y;
	mul.lo.s32 	%r537, %r535, %r536;
	mov.u32 	%r538, %nctaid.z;
	mul.lo.s32 	%r539, %r537, %r538;
	.loc	12 75 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r540, %ctaid.y;
	add.s32 	%r541, %r61, %r540;
	mov.u32 	%r542, %ctaid.z;
	neg.s32 	%r543, %r542;
	setp.eq.s32 	%p141, %r541, %r543;
	.loc	12 79 13, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r544, -2147483647;
	sub.s32 	%r545, %r544, %r539;
	.loc	12 78 9, function_name $L__info_string52, inlined_at 11 381 13
	selp.b32 	%r534, %r545, 1, %p141;
	.loc	12 82 1, function_name $L__info_string52, inlined_at 11 381 13
	// begin inline asm
	atom.add.release.gpu.u32 %r533,[%rd45],%r534;
	// end inline asm

$L__BB6_125:
	.loc	11 382 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	// begin inline asm
	ld.acquire.gpu.u32 %r546,[%rd45];
	// end inline asm
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	.loc	12 61 5, function_name $L__info_string56, inlined_at 12 98 1
	xor.b32  	%r547, %r546, %r533;
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	setp.gt.s32 	%p142, %r547, -1;
	@%p142 bra 	$L__BB6_125;

$L__BB6_126:
	.loc	12 109 5, function_name $L__info_string55, inlined_at 11 382 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 109 5
	barrier.sync 	0;
	.loc	1 118 9
	ld.param.u32 	%r548, [%rd79+136];
	setp.ge.s32 	%p143, %r61, %r548;
	@%p143 bra 	$L__BB6_163;

	.loc	1 0 9
	ld.param.v2.u32 	{%r549, %r550}, [%rd79+136];
	ld.param.u64 	%rd233, [%rd79+128];
	cvta.to.global.u64 	%rd46, %rd233;
	ld.param.u64 	%rd234, [%rd79+56];
	cvta.to.global.u64 	%rd47, %rd234;
	ld.param.u64 	%rd235, [%rd79+16];
	cvta.to.global.u64 	%rd48, %rd235;
	and.b32  	%r77, %r71, 31;
	shr.u32 	%r551, %r71, 3;
	and.b32  	%r552, %r551, 536870908;
	mov.u32 	%r553, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r78, %r553, %r552;
	shl.b32 	%r554, %r71, 2;
	add.s32 	%r79, %r553, %r554;
	ld.param.u64 	%rd236, [%rd79+24];
	cvta.to.global.u64 	%rd49, %rd236;
	mov.u32 	%r555, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r80, %r555, %r552;
	add.s32 	%r81, %r555, %r554;
	ld.param.u64 	%rd237, [%rd79+32];
	cvta.to.global.u64 	%rd50, %rd237;
	ld.param.u64 	%rd238, [%rd79+40];
	cvta.to.global.u64 	%rd51, %rd238;
	.loc	1 118 9
	mov.u32 	%r82, %nctaid.x;
	.loc	1 118 9
	.loc	1 94 5, function_name $L__info_string5, inlined_at 1 118 9
	not.b32 	%r83, %r71;
	add.s32 	%r84, %r71, 256;
	mov.u32 	%r711, %r61;

$L__BB6_128:
	.loc	1 93 5, function_name $L__info_string5, inlined_at 1 118 9
	add.s32 	%r556, %r550, %r711;
	.loc	1 93 5, function_name $L__info_string5, inlined_at 1 118 9
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	cvt.s64.s32 	%rd52, %r556;
	mul.wide.s32 	%rd239, %r556, 32;
	add.s64 	%rd53, %rd46, %rd239;
	setp.ne.s32 	%p144, %r71, 0;
	@%p144 bra 	$L__BB6_130;

	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd240, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	st.global.u64 	[%rd53], %rd240;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r557, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	st.global.v2.u32 	[%rd53+16], {%r557, %r61};
	shl.b64 	%rd241, %rd52, 5;
	add.s64 	%rd242, %rd46, %rd241;
	add.s64 	%rd243, %rd242, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r558, [%rd243], 1;

$L__BB6_130:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	bar.sync 	0;
	.loc	1 94 5, function_name $L__info_string5, inlined_at 1 118 9
	cvt.s64.s32 	%rd54, %r711;
	mul.wide.s32 	%rd244, %r711, 4;
	add.s64 	%rd55, %rd47, %rd244;
	ld.global.u32 	%r86, [%rd55];
	add.s32 	%r87, %r86, %r71;
	ld.global.u32 	%r88, [%rd55+4];
	setp.ge.s32 	%p145, %r87, %r88;
	mov.f32 	%f910, 0fFF800000;
	@%p145 bra 	$L__BB6_137;

	add.s32 	%r559, %r84, %r86;
	max.s32 	%r560, %r88, %r559;
	add.s32 	%r561, %r560, %r83;
	sub.s32 	%r89, %r561, %r86;
	shr.u32 	%r562, %r89, 8;
	add.s32 	%r563, %r562, 1;
	and.b32  	%r90, %r563, 3;
	setp.eq.s32 	%p146, %r90, 0;
	mov.f32 	%f910, 0fFF800000;
	mov.u32 	%r712, %r87;
	@%p146 bra 	$L__BB6_135;

	mul.wide.s32 	%rd245, %r87, 4;
	add.s64 	%rd56, %rd48, %rd245;
	ld.global.f32 	%f587, [%rd56];
	mov.f32 	%f588, 0fFF800000;
	max.f32 	%f910, %f588, %f587;
	add.s32 	%r712, %r87, 256;
	setp.eq.s32 	%p147, %r90, 1;
	@%p147 bra 	$L__BB6_135;

	ld.global.f32 	%f589, [%rd56+1024];
	max.f32 	%f910, %f910, %f589;
	add.s32 	%r712, %r87, 512;
	setp.eq.s32 	%p148, %r90, 2;
	@%p148 bra 	$L__BB6_135;

	ld.global.f32 	%f590, [%rd56+2048];
	max.f32 	%f910, %f910, %f590;
	add.s32 	%r712, %r87, 768;

$L__BB6_135:
	setp.lt.u32 	%p149, %r89, 768;
	@%p149 bra 	$L__BB6_137;

$L__BB6_136:
	mul.wide.s32 	%rd246, %r712, 4;
	add.s64 	%rd247, %rd48, %rd246;
	ld.global.f32 	%f591, [%rd247];
	max.f32 	%f592, %f910, %f591;
	ld.global.f32 	%f593, [%rd247+1024];
	max.f32 	%f594, %f592, %f593;
	ld.global.f32 	%f595, [%rd247+2048];
	max.f32 	%f596, %f594, %f595;
	ld.global.f32 	%f597, [%rd247+3072];
	max.f32 	%f910, %f596, %f597;
	add.s32 	%r712, %r712, 1024;
	setp.lt.s32 	%p150, %r712, %r88;
	@%p150 bra 	$L__BB6_136;

$L__BB6_137:
	.loc	1 95 5, function_name $L__info_string5, inlined_at 1 118 9
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r564, %f910;
	mov.u32 	%r565, 2;
	mov.u32 	%r566, 31;
	mov.u32 	%r567, 16;
	mov.u32 	%r568, -1;
	shfl.sync.down.b32 	%r569|%p151, %r564, %r567, %r566, %r568;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f598, %r569;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f599, %f910, %f598;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r570, %f599;
	mov.u32 	%r571, 8;
	shfl.sync.down.b32 	%r572|%p152, %r570, %r571, %r566, %r568;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f600, %r572;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f601, %f599, %f600;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r573, %f601;
	mov.u32 	%r574, 4;
	shfl.sync.down.b32 	%r575|%p153, %r573, %r574, %r566, %r568;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f602, %r575;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f603, %f601, %f602;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r576, %f603;
	shfl.sync.down.b32 	%r577|%p154, %r576, %r565, %r566, %r568;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f604, %r577;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f605, %f603, %f604;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r578, %f605;
	mov.u32 	%r579, 1;
	shfl.sync.down.b32 	%r580|%p155, %r578, %r579, %r566, %r568;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f606, %r580;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f63, %f605, %f606;
	setp.ne.s32 	%p156, %r77, 0;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p156 bra 	$L__BB6_139;

	st.shared.f32 	[%r78], %f63;

$L__BB6_139:
	.loc	1 0 5
	setp.gt.u32 	%p157, %r71, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p157 bra 	$L__BB6_144;

	.loc	1 0 5
	setp.gt.u32 	%p158, %r71, 7;
	mov.f32 	%f911, 0fFF800000;
	.loc	1 36 5
	@%p158 bra 	$L__BB6_142;

	ld.shared.f32 	%f911, [%r79];

$L__BB6_142:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r581, %f911;
	mov.u32 	%r582, 2;
	mov.u32 	%r583, 31;
	mov.u32 	%r584, 16;
	mov.u32 	%r585, -1;
	shfl.sync.down.b32 	%r586|%p159, %r581, %r584, %r583, %r585;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f608, %r586;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f609, %f911, %f608;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r587, %f609;
	mov.u32 	%r588, 8;
	shfl.sync.down.b32 	%r589|%p160, %r587, %r588, %r583, %r585;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f610, %r589;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f611, %f609, %f610;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r590, %f611;
	mov.u32 	%r591, 4;
	shfl.sync.down.b32 	%r592|%p161, %r590, %r591, %r583, %r585;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f612, %r592;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f613, %f611, %f612;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r593, %f613;
	shfl.sync.down.b32 	%r594|%p162, %r593, %r582, %r583, %r585;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f614, %r594;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f615, %f613, %f614;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r595, %f615;
	mov.u32 	%r596, 1;
	shfl.sync.down.b32 	%r597|%p163, %r595, %r596, %r583, %r585;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f616, %r597;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f66, %f615, %f616;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 95 5
	@%p144 bra 	$L__BB6_144;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f66;

$L__BB6_144:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	ld.shared.f32 	%f67, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 96 5, function_name $L__info_string5, inlined_at 1 118 9
	ld.global.u32 	%r97, [%rd55];
	add.s32 	%r98, %r97, %r71;
	ld.global.u32 	%r99, [%rd55+4];
	setp.ge.s32 	%p165, %r98, %r99;
	mov.f32 	%f915, 0f00000000;
	@%p165 bra 	$L__BB6_151;

	add.s32 	%r598, %r84, %r97;
	max.s32 	%r599, %r99, %r598;
	add.s32 	%r600, %r599, %r83;
	sub.s32 	%r100, %r600, %r97;
	shr.u32 	%r601, %r100, 8;
	add.s32 	%r602, %r601, 1;
	and.b32  	%r101, %r602, 3;
	setp.eq.s32 	%p166, %r101, 0;
	mov.f32 	%f915, 0f00000000;
	mov.u32 	%r714, %r98;
	@%p166 bra 	$L__BB6_149;

	mul.wide.s32 	%rd248, %r98, 4;
	add.s64 	%rd57, %rd49, %rd248;
	add.s64 	%rd58, %rd48, %rd248;
	ld.global.f32 	%f620, [%rd58];
	sub.rn.f32 	%f621, %f620, %f67;
	mov.f32 	%f622, 0f3F000000;
	mov.f32 	%f623, 0f3BBB989D;
	fma.rn.f32 	%f624, %f621, %f623, %f622;
	cvt.sat.f32.f32 	%f625, %f624;
	mov.f32 	%f626, 0f4B400001;
	mov.f32 	%f627, 0f437C0000;
	fma.rm.f32 	%f628, %f625, %f627, %f626;
	add.rn.f32 	%f629, %f628, 0fCB40007F;
	neg.f32 	%f630, %f629;
	mov.f32 	%f631, 0f3FB8AA3B;
	fma.rn.f32 	%f632, %f621, %f631, %f630;
	mov.f32 	%f633, 0f32A57060;
	fma.rn.f32 	%f634, %f621, %f633, %f632;
	mov.b32 	%r603, %f628;
	shl.b32 	%r604, %r603, 23;
	mov.b32 	%f635, %r604;
	ex2.approx.ftz.f32 	%f636, %f634;
	mul.rn.f32 	%f637, %f636, %f635;
	ld.global.f32 	%f638, [%rd57];
	mul.rn.f32 	%f639, %f638, %f637;
	add.rn.f32 	%f915, %f639, 0f00000000;
	add.s32 	%r714, %r98, 256;
	setp.eq.s32 	%p167, %r101, 1;
	@%p167 bra 	$L__BB6_149;

	ld.global.f32 	%f640, [%rd58+1024];
	sub.rn.f32 	%f641, %f640, %f67;
	fma.rn.f32 	%f644, %f641, %f623, %f622;
	cvt.sat.f32.f32 	%f645, %f644;
	fma.rm.f32 	%f648, %f645, %f627, %f626;
	add.rn.f32 	%f649, %f648, 0fCB40007F;
	neg.f32 	%f650, %f649;
	fma.rn.f32 	%f652, %f641, %f631, %f650;
	fma.rn.f32 	%f654, %f641, %f633, %f652;
	mov.b32 	%r605, %f648;
	shl.b32 	%r606, %r605, 23;
	mov.b32 	%f655, %r606;
	ex2.approx.ftz.f32 	%f656, %f654;
	mul.rn.f32 	%f657, %f656, %f655;
	ld.global.f32 	%f658, [%rd57+1024];
	mul.rn.f32 	%f659, %f658, %f657;
	add.rn.f32 	%f915, %f915, %f659;
	add.s32 	%r714, %r98, 512;
	setp.eq.s32 	%p168, %r101, 2;
	@%p168 bra 	$L__BB6_149;

	ld.global.f32 	%f660, [%rd58+2048];
	sub.rn.f32 	%f661, %f660, %f67;
	mov.f32 	%f662, 0f3F000000;
	mov.f32 	%f663, 0f3BBB989D;
	fma.rn.f32 	%f664, %f661, %f663, %f662;
	cvt.sat.f32.f32 	%f665, %f664;
	mov.f32 	%f666, 0f4B400001;
	mov.f32 	%f667, 0f437C0000;
	fma.rm.f32 	%f668, %f665, %f667, %f666;
	add.rn.f32 	%f669, %f668, 0fCB40007F;
	neg.f32 	%f670, %f669;
	mov.f32 	%f671, 0f3FB8AA3B;
	fma.rn.f32 	%f672, %f661, %f671, %f670;
	mov.f32 	%f673, 0f32A57060;
	fma.rn.f32 	%f674, %f661, %f673, %f672;
	mov.b32 	%r607, %f668;
	shl.b32 	%r608, %r607, 23;
	mov.b32 	%f675, %r608;
	ex2.approx.ftz.f32 	%f676, %f674;
	mul.rn.f32 	%f677, %f676, %f675;
	ld.global.f32 	%f678, [%rd57+2048];
	mul.rn.f32 	%f679, %f678, %f677;
	add.rn.f32 	%f915, %f915, %f679;
	add.s32 	%r714, %r98, 768;

$L__BB6_149:
	setp.lt.u32 	%p169, %r100, 768;
	@%p169 bra 	$L__BB6_151;

$L__BB6_150:
	mul.wide.s32 	%rd249, %r714, 4;
	add.s64 	%rd250, %rd49, %rd249;
	add.s64 	%rd251, %rd48, %rd249;
	ld.global.f32 	%f680, [%rd251];
	sub.rn.f32 	%f681, %f680, %f67;
	mov.f32 	%f682, 0f3F000000;
	mov.f32 	%f683, 0f3BBB989D;
	fma.rn.f32 	%f684, %f681, %f683, %f682;
	cvt.sat.f32.f32 	%f685, %f684;
	mov.f32 	%f686, 0f4B400001;
	mov.f32 	%f687, 0f437C0000;
	fma.rm.f32 	%f688, %f685, %f687, %f686;
	add.rn.f32 	%f689, %f688, 0fCB40007F;
	neg.f32 	%f690, %f689;
	mov.f32 	%f691, 0f3FB8AA3B;
	fma.rn.f32 	%f692, %f681, %f691, %f690;
	mov.f32 	%f693, 0f32A57060;
	fma.rn.f32 	%f694, %f681, %f693, %f692;
	mov.b32 	%r609, %f688;
	shl.b32 	%r610, %r609, 23;
	mov.b32 	%f695, %r610;
	ex2.approx.ftz.f32 	%f696, %f694;
	mul.rn.f32 	%f697, %f696, %f695;
	ld.global.f32 	%f698, [%rd250];
	mul.rn.f32 	%f699, %f698, %f697;
	add.rn.f32 	%f700, %f915, %f699;
	ld.global.f32 	%f701, [%rd251+1024];
	sub.rn.f32 	%f702, %f701, %f67;
	fma.rn.f32 	%f703, %f702, %f683, %f682;
	cvt.sat.f32.f32 	%f704, %f703;
	fma.rm.f32 	%f705, %f704, %f687, %f686;
	add.rn.f32 	%f706, %f705, 0fCB40007F;
	neg.f32 	%f707, %f706;
	fma.rn.f32 	%f708, %f702, %f691, %f707;
	fma.rn.f32 	%f709, %f702, %f693, %f708;
	mov.b32 	%r611, %f705;
	shl.b32 	%r612, %r611, 23;
	mov.b32 	%f710, %r612;
	ex2.approx.ftz.f32 	%f711, %f709;
	mul.rn.f32 	%f712, %f711, %f710;
	ld.global.f32 	%f713, [%rd250+1024];
	mul.rn.f32 	%f714, %f713, %f712;
	add.rn.f32 	%f715, %f700, %f714;
	ld.global.f32 	%f716, [%rd251+2048];
	sub.rn.f32 	%f717, %f716, %f67;
	fma.rn.f32 	%f718, %f717, %f683, %f682;
	cvt.sat.f32.f32 	%f719, %f718;
	fma.rm.f32 	%f720, %f719, %f687, %f686;
	add.rn.f32 	%f721, %f720, 0fCB40007F;
	neg.f32 	%f722, %f721;
	fma.rn.f32 	%f723, %f717, %f691, %f722;
	fma.rn.f32 	%f724, %f717, %f693, %f723;
	mov.b32 	%r613, %f720;
	shl.b32 	%r614, %r613, 23;
	mov.b32 	%f725, %r614;
	ex2.approx.ftz.f32 	%f726, %f724;
	mul.rn.f32 	%f727, %f726, %f725;
	ld.global.f32 	%f728, [%rd250+2048];
	mul.rn.f32 	%f729, %f728, %f727;
	add.rn.f32 	%f730, %f715, %f729;
	ld.global.f32 	%f731, [%rd251+3072];
	sub.rn.f32 	%f732, %f731, %f67;
	fma.rn.f32 	%f733, %f732, %f683, %f682;
	cvt.sat.f32.f32 	%f734, %f733;
	fma.rm.f32 	%f735, %f734, %f687, %f686;
	add.rn.f32 	%f736, %f735, 0fCB40007F;
	neg.f32 	%f737, %f736;
	fma.rn.f32 	%f738, %f732, %f691, %f737;
	fma.rn.f32 	%f739, %f732, %f693, %f738;
	mov.b32 	%r615, %f735;
	shl.b32 	%r616, %r615, 23;
	mov.b32 	%f740, %r616;
	ex2.approx.ftz.f32 	%f741, %f739;
	mul.rn.f32 	%f742, %f741, %f740;
	ld.global.f32 	%f743, [%rd250+3072];
	mul.rn.f32 	%f744, %f743, %f742;
	add.rn.f32 	%f915, %f730, %f744;
	add.s32 	%r714, %r714, 1024;
	setp.lt.s32 	%p170, %r714, %r99;
	@%p170 bra 	$L__BB6_150;

$L__BB6_151:
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 118 9
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r617, %f915;
	mov.u32 	%r618, 2;
	mov.u32 	%r619, 31;
	mov.u32 	%r620, 16;
	mov.u32 	%r621, -1;
	shfl.sync.down.b32 	%r622|%p171, %r617, %r620, %r619, %r621;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f745, %r622;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f746, %f915, %f745;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r623, %f746;
	mov.u32 	%r624, 8;
	shfl.sync.down.b32 	%r625|%p172, %r623, %r624, %r619, %r621;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f747, %r625;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f748, %f746, %f747;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r626, %f748;
	mov.u32 	%r627, 4;
	shfl.sync.down.b32 	%r628|%p173, %r626, %r627, %r619, %r621;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f749, %r628;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f750, %f748, %f749;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r629, %f750;
	shfl.sync.down.b32 	%r630|%p174, %r629, %r618, %r619, %r621;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f751, %r630;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f752, %f750, %f751;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r631, %f752;
	mov.u32 	%r632, 1;
	shfl.sync.down.b32 	%r633|%p175, %r631, %r632, %r619, %r621;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f753, %r633;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f76, %f752, %f753;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p156 bra 	$L__BB6_153;

	st.shared.f32 	[%r80], %f76;

$L__BB6_153:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p157 bra 	$L__BB6_158;

	.loc	1 0 5
	setp.gt.u32 	%p178, %r71, 7;
	mov.f32 	%f916, 0f00000000;
	.loc	1 36 5
	@%p178 bra 	$L__BB6_156;

	ld.shared.f32 	%f916, [%r81];

$L__BB6_156:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r634, %f916;
	mov.u32 	%r635, 2;
	mov.u32 	%r636, 31;
	mov.u32 	%r637, 16;
	mov.u32 	%r638, -1;
	shfl.sync.down.b32 	%r639|%p179, %r634, %r637, %r636, %r638;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f755, %r639;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f756, %f916, %f755;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r640, %f756;
	mov.u32 	%r641, 8;
	shfl.sync.down.b32 	%r642|%p180, %r640, %r641, %r636, %r638;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f757, %r642;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f758, %f756, %f757;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r643, %f758;
	mov.u32 	%r644, 4;
	shfl.sync.down.b32 	%r645|%p181, %r643, %r644, %r636, %r638;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f759, %r645;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f760, %f758, %f759;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r646, %f760;
	shfl.sync.down.b32 	%r647|%p182, %r646, %r635, %r636, %r638;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f761, %r647;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f762, %f760, %f761;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r648, %f762;
	mov.u32 	%r649, 1;
	shfl.sync.down.b32 	%r650|%p183, %r648, %r649, %r636, %r638;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f763, %r650;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f79, %f762, %f763;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 97 5
	@%p144 bra 	$L__BB6_158;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f79;

$L__BB6_158:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	ld.shared.f32 	%f80, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 118 9
	@%p144 bra 	$L__BB6_160;

	shl.b64 	%rd252, %rd54, 2;
	add.s64 	%rd253, %rd50, %rd252;
	st.global.f32 	[%rd253], %f67;
	add.s64 	%rd254, %rd51, %rd252;
	st.global.f32 	[%rd254], %f80;

$L__BB6_160:
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 118 9
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	bar.sync 	0;
	@%p144 bra 	$L__BB6_162;

	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd255, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	st.global.u64 	[%rd53+8], %rd255;

$L__BB6_162:
	bar.sync 	0;
	.loc	1 118 9
	add.s32 	%r711, %r711, %r82;
	setp.lt.s32 	%p187, %r711, %r549;
	@%p187 bra 	$L__BB6_128;

$L__BB6_163:
	.loc	1 119 9
	.loc	9 339 9, function_name $L__info_string49, inlined_at 1 119 9
	@%p139 bra 	$L__BB6_165;

	.loc	9 340 13, function_name $L__info_string49, inlined_at 1 119 9
	// begin inline asm
	trap;
	// end inline asm

$L__BB6_165:
	.loc	9 342 9, function_name $L__info_string49, inlined_at 1 119 9
	.loc	11 381 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 71 5, function_name $L__info_string52, inlined_at 11 381 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 71 5
	barrier.sync 	0;
	.loc	12 73 5, function_name $L__info_string52, inlined_at 11 381 13
	@%p140 bra 	$L__BB6_168;

	.loc	12 74 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r653, %nctaid.x;
	mov.u32 	%r654, %nctaid.y;
	mul.lo.s32 	%r655, %r653, %r654;
	mov.u32 	%r656, %nctaid.z;
	mul.lo.s32 	%r657, %r655, %r656;
	.loc	12 75 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r658, %ctaid.y;
	add.s32 	%r659, %r61, %r658;
	mov.u32 	%r660, %ctaid.z;
	neg.s32 	%r661, %r660;
	setp.eq.s32 	%p190, %r659, %r661;
	.loc	12 79 13, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r662, -2147483647;
	sub.s32 	%r663, %r662, %r657;
	.loc	12 78 9, function_name $L__info_string52, inlined_at 11 381 13
	selp.b32 	%r652, %r663, 1, %p190;
	.loc	12 82 1, function_name $L__info_string52, inlined_at 11 381 13
	// begin inline asm
	atom.add.release.gpu.u32 %r651,[%rd45],%r652;
	// end inline asm

$L__BB6_167:
	.loc	11 382 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	// begin inline asm
	ld.acquire.gpu.u32 %r664,[%rd45];
	// end inline asm
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	.loc	12 61 5, function_name $L__info_string56, inlined_at 12 98 1
	xor.b32  	%r665, %r664, %r651;
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	setp.gt.s32 	%p191, %r665, -1;
	@%p191 bra 	$L__BB6_167;

$L__BB6_168:
	.loc	12 109 5, function_name $L__info_string55, inlined_at 11 382 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 109 5
	barrier.sync 	0;
	.loc	1 120 9
	ld.param.u32 	%r110, [%rd79+140];
	setp.ge.s32 	%p192, %r61, %r110;
	@%p192 bra 	$L__BB6_183;

	.loc	1 0 9
	ld.param.v2.u32 	{%r666, %r667}, [%rd79+136];
	ld.param.u64 	%rd258, [%rd79+128];
	cvta.to.global.u64 	%rd59, %rd258;
	ld.param.u64 	%rd259, [%rd79+64];
	cvta.to.global.u64 	%rd60, %rd259;
	ld.param.u64 	%rd260, [%rd79+48];
	cvta.to.global.u64 	%rd61, %rd260;
	ld.param.u64 	%rd261, [%rd79+56];
	cvta.to.global.u64 	%rd62, %rd261;
	ld.param.u64 	%rd262, [%rd79];
	cvta.to.global.u64 	%rd63, %rd262;
	ld.param.u64 	%rd263, [%rd79+32];
	cvta.to.global.u64 	%rd64, %rd263;
	ld.param.u64 	%rd264, [%rd79+40];
	cvta.to.global.u64 	%rd65, %rd264;
	ld.param.u64 	%rd265, [%rd79+8];
	.loc	1 120 9
	cvta.to.global.u64 	%rd66, %rd265;
	mov.u32 	%r113, %nctaid.x;
	.loc	1 120 9
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 120 9
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	max.s32 	%r668, %r71, 768;
	add.s32 	%r669, %r668, 255;
	sub.s32 	%r114, %r669, %r71;
	shr.u32 	%r670, %r114, 8;
	add.s32 	%r671, %r670, 1;
	and.b32  	%r115, %r671, 3;
	add.s32 	%r116, %r71, 256;
	add.s32 	%r117, %r71, 512;
	add.s32 	%r118, %r71, 768;
	mov.u32 	%r716, %r61;

$L__BB6_170:
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 120 9
	add.s32 	%r672, %r110, %r716;
	add.s32 	%r673, %r672, %r666;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	cvt.s64.s32 	%rd67, %r673;
	mul.wide.s32 	%rd266, %r673, 32;
	add.s64 	%rd68, %rd59, %rd266;
	setp.ne.s32 	%p193, %r71, 0;
	@%p193 bra 	$L__BB6_172;

	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd267, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	st.global.u64 	[%rd68], %rd267;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r674, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	st.global.v2.u32 	[%rd68+16], {%r674, %r61};
	shl.b64 	%rd268, %rd67, 5;
	add.s64 	%rd269, %rd59, %rd268;
	add.s64 	%rd270, %rd269, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r675, [%rd270], 1;

$L__BB6_172:
	.loc	8 0 3
	setp.gt.s32 	%p194, %r71, 1023;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	bar.sync 	0;
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 120 9
	mul.wide.s32 	%rd271, %r716, 4;
	add.s64 	%rd272, %rd60, %rd271;
	ld.global.u32 	%r676, [%rd272];
	cvt.s64.s32 	%rd69, %r676;
	mul.wide.s32 	%rd273, %r676, 4;
	add.s64 	%rd274, %rd61, %rd273;
	add.s64 	%rd275, %rd62, %rd273;
	ld.global.u32 	%r120, [%rd275];
	ld.global.u32 	%r121, [%rd274];
	.loc	1 101 5, function_name $L__info_string41, inlined_at 1 120 9
	@%p194 bra 	$L__BB6_180;

	.loc	1 0 5
	setp.eq.s32 	%p195, %r115, 0;
	shl.b64 	%rd276, %rd69, 2;
	add.s64 	%rd70, %rd64, %rd276;
	add.s64 	%rd71, %rd65, %rd276;
	.loc	1 101 5
	mov.u32 	%r717, %r71;
	@%p195 bra 	$L__BB6_177;

	.loc	1 0 5
	setp.eq.s32 	%p196, %r115, 1;
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 120 9
	sub.s32 	%r677, %r716, %r120;
	shl.b32 	%r678, %r677, 10;
	add.s32 	%r679, %r678, %r121;
	.loc	1 101 5, function_name $L__info_string41, inlined_at 1 120 9
	add.s32 	%r680, %r679, %r71;
	mul.wide.s32 	%rd277, %r680, 4;
	add.s64 	%rd72, %rd63, %rd277;
	ld.global.f32 	%f764, [%rd70];
	ld.global.f32 	%f765, [%rd72];
	sub.rn.f32 	%f766, %f765, %f764;
	mov.f32 	%f767, 0f3F000000;
	mov.f32 	%f768, 0f3BBB989D;
	fma.rn.f32 	%f769, %f766, %f768, %f767;
	cvt.sat.f32.f32 	%f770, %f769;
	mov.f32 	%f771, 0f4B400001;
	mov.f32 	%f772, 0f437C0000;
	fma.rm.f32 	%f773, %f770, %f772, %f771;
	add.rn.f32 	%f774, %f773, 0fCB40007F;
	neg.f32 	%f775, %f774;
	mov.f32 	%f776, 0f3FB8AA3B;
	fma.rn.f32 	%f777, %f766, %f776, %f775;
	mov.f32 	%f778, 0f32A57060;
	fma.rn.f32 	%f779, %f766, %f778, %f777;
	mov.b32 	%r681, %f773;
	shl.b32 	%r682, %r681, 23;
	mov.b32 	%f780, %r682;
	ex2.approx.ftz.f32 	%f781, %f779;
	mul.rn.f32 	%f782, %f781, %f780;
	ld.global.f32 	%f783, [%rd71];
	div.rn.f32 	%f784, %f782, %f783;
	add.s64 	%rd73, %rd66, %rd277;
	st.global.f32 	[%rd73], %f784;
	mov.u32 	%r717, %r116;
	@%p196 bra 	$L__BB6_177;

	.loc	1 0 5
	setp.eq.s32 	%p197, %r115, 2;
	.loc	1 101 5
	ld.global.f32 	%f785, [%rd70];
	ld.global.f32 	%f786, [%rd72+1024];
	sub.rn.f32 	%f787, %f786, %f785;
	fma.rn.f32 	%f790, %f787, %f768, %f767;
	cvt.sat.f32.f32 	%f791, %f790;
	fma.rm.f32 	%f794, %f791, %f772, %f771;
	add.rn.f32 	%f795, %f794, 0fCB40007F;
	neg.f32 	%f796, %f795;
	fma.rn.f32 	%f798, %f787, %f776, %f796;
	fma.rn.f32 	%f800, %f787, %f778, %f798;
	mov.b32 	%r683, %f794;
	shl.b32 	%r684, %r683, 23;
	mov.b32 	%f801, %r684;
	ex2.approx.ftz.f32 	%f802, %f800;
	mul.rn.f32 	%f803, %f802, %f801;
	ld.global.f32 	%f804, [%rd71];
	div.rn.f32 	%f805, %f803, %f804;
	st.global.f32 	[%rd73+1024], %f805;
	mov.u32 	%r717, %r117;
	@%p197 bra 	$L__BB6_177;

	ld.global.f32 	%f806, [%rd70];
	ld.global.f32 	%f807, [%rd72+2048];
	sub.rn.f32 	%f808, %f807, %f806;
	mov.f32 	%f809, 0f3F000000;
	mov.f32 	%f810, 0f3BBB989D;
	fma.rn.f32 	%f811, %f808, %f810, %f809;
	cvt.sat.f32.f32 	%f812, %f811;
	mov.f32 	%f813, 0f4B400001;
	mov.f32 	%f814, 0f437C0000;
	fma.rm.f32 	%f815, %f812, %f814, %f813;
	add.rn.f32 	%f816, %f815, 0fCB40007F;
	neg.f32 	%f817, %f816;
	mov.f32 	%f818, 0f3FB8AA3B;
	fma.rn.f32 	%f819, %f808, %f818, %f817;
	mov.f32 	%f820, 0f32A57060;
	fma.rn.f32 	%f821, %f808, %f820, %f819;
	mov.b32 	%r685, %f815;
	shl.b32 	%r686, %r685, 23;
	mov.b32 	%f822, %r686;
	ex2.approx.ftz.f32 	%f823, %f821;
	mul.rn.f32 	%f824, %f823, %f822;
	ld.global.f32 	%f825, [%rd71];
	div.rn.f32 	%f826, %f824, %f825;
	st.global.f32 	[%rd73+2048], %f826;
	mov.u32 	%r717, %r118;

$L__BB6_177:
	.loc	1 0 5
	setp.lt.u32 	%p198, %r114, 768;
	.loc	1 101 5
	@%p198 bra 	$L__BB6_180;

	add.s32 	%r718, %r717, -1024;
	add.s32 	%r687, %r717, %r121;
	shl.b32 	%r688, %r716, 10;
	add.s32 	%r689, %r687, %r688;
	shl.b32 	%r690, %r120, 10;
	sub.s32 	%r691, %r689, %r690;
	mul.wide.s32 	%rd74, %r691, 4;
	mov.u64 	%rd282, %rd63;
	mov.u64 	%rd283, %rd66;

$L__BB6_179:
	add.s64 	%rd278, %rd282, %rd74;
	ld.global.f32 	%f827, [%rd70];
	ld.global.f32 	%f828, [%rd278];
	sub.rn.f32 	%f829, %f828, %f827;
	mov.f32 	%f830, 0f3F000000;
	mov.f32 	%f831, 0f3BBB989D;
	fma.rn.f32 	%f832, %f829, %f831, %f830;
	cvt.sat.f32.f32 	%f833, %f832;
	mov.f32 	%f834, 0f4B400001;
	mov.f32 	%f835, 0f437C0000;
	fma.rm.f32 	%f836, %f833, %f835, %f834;
	add.rn.f32 	%f837, %f836, 0fCB40007F;
	neg.f32 	%f838, %f837;
	mov.f32 	%f839, 0f3FB8AA3B;
	fma.rn.f32 	%f840, %f829, %f839, %f838;
	mov.f32 	%f841, 0f32A57060;
	fma.rn.f32 	%f842, %f829, %f841, %f840;
	mov.b32 	%r692, %f836;
	shl.b32 	%r693, %r692, 23;
	mov.b32 	%f843, %r693;
	ex2.approx.ftz.f32 	%f844, %f842;
	mul.rn.f32 	%f845, %f844, %f843;
	ld.global.f32 	%f846, [%rd71];
	div.rn.f32 	%f847, %f845, %f846;
	add.s64 	%rd279, %rd283, %rd74;
	st.global.f32 	[%rd279], %f847;
	ld.global.f32 	%f848, [%rd70];
	ld.global.f32 	%f849, [%rd278+1024];
	sub.rn.f32 	%f850, %f849, %f848;
	fma.rn.f32 	%f851, %f850, %f831, %f830;
	cvt.sat.f32.f32 	%f852, %f851;
	fma.rm.f32 	%f853, %f852, %f835, %f834;
	add.rn.f32 	%f854, %f853, 0fCB40007F;
	neg.f32 	%f855, %f854;
	fma.rn.f32 	%f856, %f850, %f839, %f855;
	fma.rn.f32 	%f857, %f850, %f841, %f856;
	mov.b32 	%r694, %f853;
	shl.b32 	%r695, %r694, 23;
	mov.b32 	%f858, %r695;
	ex2.approx.ftz.f32 	%f859, %f857;
	mul.rn.f32 	%f860, %f859, %f858;
	ld.global.f32 	%f861, [%rd71];
	div.rn.f32 	%f862, %f860, %f861;
	st.global.f32 	[%rd279+1024], %f862;
	ld.global.f32 	%f863, [%rd70];
	ld.global.f32 	%f864, [%rd278+2048];
	sub.rn.f32 	%f865, %f864, %f863;
	fma.rn.f32 	%f866, %f865, %f831, %f830;
	cvt.sat.f32.f32 	%f867, %f866;
	fma.rm.f32 	%f868, %f867, %f835, %f834;
	add.rn.f32 	%f869, %f868, 0fCB40007F;
	neg.f32 	%f870, %f869;
	fma.rn.f32 	%f871, %f865, %f839, %f870;
	fma.rn.f32 	%f872, %f865, %f841, %f871;
	mov.b32 	%r696, %f868;
	shl.b32 	%r697, %r696, 23;
	mov.b32 	%f873, %r697;
	ex2.approx.ftz.f32 	%f874, %f872;
	mul.rn.f32 	%f875, %f874, %f873;
	ld.global.f32 	%f876, [%rd71];
	div.rn.f32 	%f877, %f875, %f876;
	st.global.f32 	[%rd279+2048], %f877;
	ld.global.f32 	%f878, [%rd70];
	ld.global.f32 	%f879, [%rd278+3072];
	sub.rn.f32 	%f880, %f879, %f878;
	fma.rn.f32 	%f881, %f880, %f831, %f830;
	cvt.sat.f32.f32 	%f882, %f881;
	fma.rm.f32 	%f883, %f882, %f835, %f834;
	add.rn.f32 	%f884, %f883, 0fCB40007F;
	neg.f32 	%f885, %f884;
	fma.rn.f32 	%f886, %f880, %f839, %f885;
	fma.rn.f32 	%f887, %f880, %f841, %f886;
	mov.b32 	%r698, %f883;
	shl.b32 	%r699, %r698, 23;
	mov.b32 	%f888, %r699;
	ex2.approx.ftz.f32 	%f889, %f887;
	mul.rn.f32 	%f890, %f889, %f888;
	ld.global.f32 	%f891, [%rd71];
	div.rn.f32 	%f892, %f890, %f891;
	st.global.f32 	[%rd279+3072], %f892;
	add.s64 	%rd283, %rd283, 4096;
	add.s64 	%rd282, %rd282, 4096;
	add.s32 	%r718, %r718, 1024;
	setp.lt.s32 	%p199, %r718, 0;
	@%p199 bra 	$L__BB6_179;

$L__BB6_180:
	.loc	1 102 5, function_name $L__info_string41, inlined_at 1 120 9
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	bar.sync 	0;
	@%p193 bra 	$L__BB6_182;

	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd280, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	st.global.u64 	[%rd68+8], %rd280;

$L__BB6_182:
	bar.sync 	0;
	.loc	1 120 9
	add.s32 	%r716, %r716, %r113;
	setp.lt.s32 	%p201, %r716, %r667;
	@%p201 bra 	$L__BB6_170;

$L__BB6_183:
	.loc	1 155 1
	ret;

}
	// .globl	_Z7phase_aILb1EEv7Payload
.visible .entry _Z7phase_aILb1EEv7Payload(
	.param .align 8 .b8 _Z7phase_aILb1EEv7Payload_param_0[144]
)
{
	.reg .pred 	%p<32>;
	.reg .f32 	%f<114>;
	.reg .b32 	%r<106>;
	.reg .b64 	%rd<44>;
	.loc	1 104 0


	mov.b64 	%rd5, _Z7phase_aILb1EEv7Payload_param_0;
	.loc	1 104 51
	mov.u32 	%r1, %ctaid.x;
	.loc	1 104 51
	.loc	1 83 5, function_name $L__info_string3, inlined_at 1 104 51
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	mov.u32 	%r2, %tid.x;
	setp.eq.s32 	%p1, %r2, 0;
	@%p1 bra 	$L__BB7_1;
	bra.uni 	$L__BB7_2;

$L__BB7_1:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd6, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	ld.param.u64 	%rd7, [%rd5+128];
	mul.wide.s32 	%rd8, %r1, 32;
	cvta.to.global.u64 	%rd9, %rd7;
	add.s64 	%rd10, %rd9, %rd8;
	st.global.u64 	[%rd10], %rd6;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r4, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	st.global.u32 	[%rd10+16], %r4;
	st.global.u32 	[%rd10+20], %r1;
	add.s64 	%rd11, %rd10, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r5, [%rd11], 1;

$L__BB7_2:
	.loc	1 83 5, function_name $L__info_string3, inlined_at 1 104 51
	cvt.s64.s32 	%rd2, %r1;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	bar.sync 	0;
	.loc	1 83 5, function_name $L__info_string3, inlined_at 1 104 51
	ld.param.u64 	%rd12, [%rd5+64];
	cvta.to.global.u64 	%rd13, %rd12;
	mul.wide.s32 	%rd14, %r1, 4;
	add.s64 	%rd15, %rd13, %rd14;
	ld.param.u64 	%rd16, [%rd5+48];
	cvta.to.global.u64 	%rd17, %rd16;
	ld.global.u32 	%r6, [%rd15];
	mul.wide.s32 	%rd18, %r6, 4;
	add.s64 	%rd19, %rd17, %rd18;
	ld.param.u64 	%rd20, [%rd5+56];
	cvta.to.global.u64 	%rd21, %rd20;
	add.s64 	%rd22, %rd21, %rd18;
	ld.global.u32 	%r7, [%rd22];
	sub.s32 	%r8, %r1, %r7;
	shl.b32 	%r9, %r8, 10;
	ld.param.u64 	%rd23, [%rd5];
	cvta.to.global.u64 	%rd24, %rd23;
	ld.global.u32 	%r10, [%rd19];
	add.s32 	%r11, %r10, %r2;
	add.s32 	%r12, %r11, %r9;
	.loc	1 86 5, function_name $L__info_string3, inlined_at 1 104 51
	mul.wide.u32 	%rd25, %r12, 4;
	add.s64 	%rd26, %rd24, %rd25;
	ld.global.f32 	%f1, [%rd26];
	mov.f32 	%f15, 0fFF800000;
	max.f32 	%f16, %f15, %f1;
	add.s32 	%r13, %r12, 256;
	mul.wide.u32 	%rd27, %r13, 4;
	add.s64 	%rd28, %rd24, %rd27;
	ld.global.f32 	%f2, [%rd28];
	max.f32 	%f17, %f16, %f2;
	add.s32 	%r14, %r12, 512;
	mul.wide.u32 	%rd29, %r14, 4;
	add.s64 	%rd30, %rd24, %rd29;
	ld.global.f32 	%f3, [%rd30];
	max.f32 	%f18, %f17, %f3;
	add.s32 	%r15, %r12, 768;
	mul.wide.u32 	%rd31, %r15, 4;
	add.s64 	%rd32, %rd24, %rd31;
	ld.global.f32 	%f4, [%rd32];
	max.f32 	%f19, %f18, %f4;
	.loc	1 87 5, function_name $L__info_string3, inlined_at 1 104 51
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r16, %f19;
	mov.u32 	%r17, 2;
	mov.u32 	%r18, 31;
	mov.u32 	%r19, 16;
	mov.u32 	%r20, -1;
	shfl.sync.down.b32 	%r21|%p2, %r16, %r19, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f20, %r21;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f21, %f19, %f20;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r22, %f21;
	mov.u32 	%r23, 8;
	shfl.sync.down.b32 	%r24|%p3, %r22, %r23, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f22, %r24;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f23, %f21, %f22;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r25, %f23;
	mov.u32 	%r26, 4;
	shfl.sync.down.b32 	%r27|%p4, %r25, %r26, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f24, %r27;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f25, %f23, %f24;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r28, %f25;
	shfl.sync.down.b32 	%r29|%p5, %r28, %r17, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f26, %r29;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f27, %f25, %f26;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r30, %f27;
	mov.u32 	%r31, 1;
	shfl.sync.down.b32 	%r32|%p6, %r30, %r31, %r18, %r20;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f28, %r32;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f5, %f27, %f28;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 87 5
	and.b32  	%r3, %r2, 31;
	setp.ne.s32 	%p7, %r3, 0;
	@%p7 bra 	$L__BB7_4;

	shr.u32 	%r33, %r2, 3;
	and.b32  	%r34, %r33, 536870908;
	mov.u32 	%r35, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r36, %r35, %r34;
	st.shared.f32 	[%r36], %f5;

$L__BB7_4:
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 87 5
	setp.gt.u32 	%p8, %r2, 31;
	@%p8 bra 	$L__BB7_9;

	setp.gt.u32 	%p9, %r2, 7;
	mov.f32 	%f112, 0fFF800000;
	@%p9 bra 	$L__BB7_7;

	shl.b32 	%r37, %r2, 2;
	mov.u32 	%r38, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r39, %r38, %r37;
	ld.shared.f32 	%f112, [%r39];

$L__BB7_7:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r40, %f112;
	mov.u32 	%r41, 2;
	mov.u32 	%r42, 31;
	mov.u32 	%r43, 16;
	mov.u32 	%r44, -1;
	shfl.sync.down.b32 	%r45|%p10, %r40, %r43, %r42, %r44;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f30, %r45;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f31, %f112, %f30;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r46, %f31;
	mov.u32 	%r47, 8;
	shfl.sync.down.b32 	%r48|%p11, %r46, %r47, %r42, %r44;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f32, %r48;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f33, %f31, %f32;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r49, %f33;
	mov.u32 	%r50, 4;
	shfl.sync.down.b32 	%r51|%p12, %r49, %r50, %r42, %r44;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f34, %r51;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f35, %f33, %f34;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r52, %f35;
	shfl.sync.down.b32 	%r53|%p13, %r52, %r41, %r42, %r44;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f36, %r53;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f37, %f35, %f36;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r54, %f37;
	mov.u32 	%r55, 1;
	shfl.sync.down.b32 	%r56|%p14, %r54, %r55, %r42, %r44;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f38, %r56;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f8, %f37, %f38;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	setp.ne.s32 	%p15, %r2, 0;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 87 5
	@%p15 bra 	$L__BB7_9;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f8;

$L__BB7_9:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	ld.shared.f32 	%f9, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 89 5, function_name $L__info_string3, inlined_at 1 104 51
	sub.rn.f32 	%f39, %f1, %f9;
	mov.f32 	%f40, 0f3F000000;
	mov.f32 	%f41, 0f3BBB989D;
	fma.rn.f32 	%f42, %f39, %f41, %f40;
	cvt.sat.f32.f32 	%f43, %f42;
	mov.f32 	%f44, 0f4B400001;
	mov.f32 	%f45, 0f437C0000;
	fma.rm.f32 	%f46, %f43, %f45, %f44;
	add.rn.f32 	%f47, %f46, 0fCB40007F;
	neg.f32 	%f48, %f47;
	mov.f32 	%f49, 0f3FB8AA3B;
	fma.rn.f32 	%f50, %f39, %f49, %f48;
	mov.f32 	%f51, 0f32A57060;
	fma.rn.f32 	%f52, %f39, %f51, %f50;
	mov.b32 	%r57, %f46;
	shl.b32 	%r58, %r57, 23;
	mov.b32 	%f53, %r58;
	ex2.approx.ftz.f32 	%f54, %f52;
	mul.rn.f32 	%f55, %f54, %f53;
	add.rn.f32 	%f56, %f55, 0f00000000;
	sub.rn.f32 	%f57, %f2, %f9;
	fma.rn.f32 	%f58, %f57, %f41, %f40;
	cvt.sat.f32.f32 	%f59, %f58;
	fma.rm.f32 	%f60, %f59, %f45, %f44;
	add.rn.f32 	%f61, %f60, 0fCB40007F;
	neg.f32 	%f62, %f61;
	fma.rn.f32 	%f63, %f57, %f49, %f62;
	fma.rn.f32 	%f64, %f57, %f51, %f63;
	mov.b32 	%r59, %f60;
	shl.b32 	%r60, %r59, 23;
	mov.b32 	%f65, %r60;
	ex2.approx.ftz.f32 	%f66, %f64;
	mul.rn.f32 	%f67, %f66, %f65;
	add.rn.f32 	%f68, %f56, %f67;
	sub.rn.f32 	%f69, %f3, %f9;
	fma.rn.f32 	%f70, %f69, %f41, %f40;
	cvt.sat.f32.f32 	%f71, %f70;
	fma.rm.f32 	%f72, %f71, %f45, %f44;
	add.rn.f32 	%f73, %f72, 0fCB40007F;
	neg.f32 	%f74, %f73;
	fma.rn.f32 	%f75, %f69, %f49, %f74;
	fma.rn.f32 	%f76, %f69, %f51, %f75;
	mov.b32 	%r61, %f72;
	shl.b32 	%r62, %r61, 23;
	mov.b32 	%f77, %r62;
	ex2.approx.ftz.f32 	%f78, %f76;
	mul.rn.f32 	%f79, %f78, %f77;
	add.rn.f32 	%f80, %f68, %f79;
	sub.rn.f32 	%f81, %f4, %f9;
	fma.rn.f32 	%f82, %f81, %f41, %f40;
	cvt.sat.f32.f32 	%f83, %f82;
	fma.rm.f32 	%f84, %f83, %f45, %f44;
	add.rn.f32 	%f85, %f84, 0fCB40007F;
	neg.f32 	%f86, %f85;
	fma.rn.f32 	%f87, %f81, %f49, %f86;
	fma.rn.f32 	%f88, %f81, %f51, %f87;
	mov.b32 	%r63, %f84;
	shl.b32 	%r64, %r63, 23;
	mov.b32 	%f89, %r64;
	ex2.approx.ftz.f32 	%f90, %f88;
	mul.rn.f32 	%f91, %f90, %f89;
	add.rn.f32 	%f92, %f80, %f91;
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 104 51
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r65, %f92;
	mov.u32 	%r66, 2;
	mov.u32 	%r67, 31;
	mov.u32 	%r68, 16;
	mov.u32 	%r69, -1;
	shfl.sync.down.b32 	%r70|%p17, %r65, %r68, %r67, %r69;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f93, %r70;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f94, %f92, %f93;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r71, %f94;
	mov.u32 	%r72, 8;
	shfl.sync.down.b32 	%r73|%p18, %r71, %r72, %r67, %r69;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f95, %r73;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f96, %f94, %f95;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r74, %f96;
	mov.u32 	%r75, 4;
	shfl.sync.down.b32 	%r76|%p19, %r74, %r75, %r67, %r69;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f97, %r76;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f98, %f96, %f97;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r77, %f98;
	shfl.sync.down.b32 	%r78|%p20, %r77, %r66, %r67, %r69;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f99, %r78;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f100, %f98, %f99;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r79, %f100;
	mov.u32 	%r80, 1;
	shfl.sync.down.b32 	%r81|%p21, %r79, %r80, %r67, %r69;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f101, %r81;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f10, %f100, %f101;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p7 bra 	$L__BB7_11;

	shr.u32 	%r82, %r2, 3;
	and.b32  	%r83, %r82, 536870908;
	mov.u32 	%r84, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r85, %r84, %r83;
	st.shared.f32 	[%r85], %f10;

$L__BB7_11:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p8 bra 	$L__BB7_16;

	setp.gt.u32 	%p23, %r2, 7;
	mov.f32 	%f113, 0f00000000;
	@%p23 bra 	$L__BB7_14;

	shl.b32 	%r86, %r2, 2;
	mov.u32 	%r87, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r88, %r87, %r86;
	ld.shared.f32 	%f113, [%r88];

$L__BB7_14:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r89, %f113;
	mov.u32 	%r90, 2;
	mov.u32 	%r91, 31;
	mov.u32 	%r92, 16;
	mov.u32 	%r93, -1;
	shfl.sync.down.b32 	%r94|%p24, %r89, %r92, %r91, %r93;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f103, %r94;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f104, %f113, %f103;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r95, %f104;
	mov.u32 	%r96, 8;
	shfl.sync.down.b32 	%r97|%p25, %r95, %r96, %r91, %r93;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f105, %r97;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f106, %f104, %f105;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r98, %f106;
	mov.u32 	%r99, 4;
	shfl.sync.down.b32 	%r100|%p26, %r98, %r99, %r91, %r93;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f107, %r100;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f108, %f106, %f107;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r101, %f108;
	shfl.sync.down.b32 	%r102|%p27, %r101, %r90, %r91, %r93;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f109, %r102;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f110, %f108, %f109;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r103, %f110;
	mov.u32 	%r104, 1;
	shfl.sync.down.b32 	%r105|%p28, %r103, %r104, %r91, %r93;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f111, %r105;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f13, %f110, %f111;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	setp.ne.s32 	%p29, %r2, 0;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 90 5
	@%p29 bra 	$L__BB7_16;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f13;

$L__BB7_16:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 83 5
	setp.ne.s32 	%p30, %r2, 0;
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	ld.shared.f32 	%f14, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 104 51
	@%p30 bra 	$L__BB7_18;

	ld.param.u64 	%rd33, [%rd5+16];
	cvta.to.global.u64 	%rd34, %rd33;
	shl.b64 	%rd35, %rd2, 2;
	add.s64 	%rd36, %rd34, %rd35;
	st.global.f32 	[%rd36], %f9;
	ld.param.u64 	%rd37, [%rd5+24];
	cvta.to.global.u64 	%rd38, %rd37;
	add.s64 	%rd39, %rd38, %rd35;
	st.global.f32 	[%rd39], %f14;

$L__BB7_18:
	ld.param.u64 	%rd4, [%rd5+128];
	.loc	1 90 5, function_name $L__info_string3, inlined_at 1 104 51
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	bar.sync 	0;
	@%p30 bra 	$L__BB7_20;

	cvta.to.global.u64 	%rd41, %rd4;
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd40, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 90 5
	shl.b64 	%rd42, %rd2, 5;
	add.s64 	%rd43, %rd41, %rd42;
	st.global.u64 	[%rd43+8], %rd40;

$L__BB7_20:
	bar.sync 	0;
	.loc	1 104 51
	ret;

}
	// .globl	_Z7phase_bILb1EEv7Payload
.visible .entry _Z7phase_bILb1EEv7Payload(
	.param .align 8 .b8 _Z7phase_bILb1EEv7Payload_param_0[144]
)
{
	.reg .pred 	%p<42>;
	.reg .f32 	%f<176>;
	.reg .b32 	%r<150>;
	.reg .b64 	%rd<69>;
	.loc	1 105 0


	mov.b64 	%rd26, _Z7phase_bILb1EEv7Payload_param_0;
	.loc	1 105 51
	.loc	1 93 5, function_name $L__info_string5, inlined_at 1 105 51
	add.s64 	%rd1, %rd26, 140;
	ld.param.u32 	%r1, [_Z7phase_bILb1EEv7Payload_param_0+140];
	.loc	1 105 51
	mov.u32 	%r2, %ctaid.x;
	.loc	1 93 5, function_name $L__info_string5, inlined_at 1 105 51
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	mov.u32 	%r3, %tid.x;
	setp.ne.s32 	%p1, %r3, 0;
	@%p1 bra 	$L__BB8_2;

	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd28, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	ld.param.u64 	%rd29, [%rd1+-12];
	.loc	1 93 5, function_name $L__info_string5, inlined_at 1 105 51
	add.s32 	%r30, %r1, %r2;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	mul.wide.s32 	%rd30, %r30, 32;
	cvta.to.global.u64 	%rd31, %rd29;
	add.s64 	%rd32, %rd31, %rd30;
	st.global.u64 	[%rd32], %rd28;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r29, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	st.global.u32 	[%rd32+16], %r29;
	st.global.u32 	[%rd32+20], %r2;
	add.s64 	%rd33, %rd32, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r31, [%rd33], 1;

$L__BB8_2:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 93 5
	bar.sync 	0;
	.loc	1 94 5, function_name $L__info_string5, inlined_at 1 105 51
	ld.param.u64 	%rd34, [%rd1+-84];
	cvta.to.global.u64 	%rd35, %rd34;
	mul.wide.s32 	%rd36, %r2, 4;
	add.s64 	%rd2, %rd35, %rd36;
	ld.global.u32 	%r4, [%rd2];
	add.s32 	%r144, %r4, %r3;
	ld.global.u32 	%r32, [%rd2+4];
	setp.ge.s32 	%p2, %r144, %r32;
	mov.f32 	%f168, 0fFF800000;
	@%p2 bra 	$L__BB8_9;

	.loc	1 0 5
	ld.param.u64 	%rd3, [%rd1+-124];
	.loc	1 94 5
	add.s32 	%r33, %r144, 256;
	ld.global.u32 	%r6, [%rd2+4];
	max.s32 	%r34, %r6, %r33;
	not.b32 	%r35, %r3;
	add.s32 	%r36, %r34, %r35;
	sub.s32 	%r7, %r36, %r4;
	shr.u32 	%r37, %r7, 8;
	add.s32 	%r38, %r37, 1;
	and.b32  	%r143, %r38, 3;
	setp.eq.s32 	%p3, %r143, 0;
	mov.f32 	%f168, 0fFF800000;
	@%p3 bra 	$L__BB8_6;

	.loc	1 0 5
	cvta.to.global.u64 	%rd37, %rd3;
	.loc	1 94 5
	mul.wide.s32 	%rd38, %r144, 4;
	add.s64 	%rd63, %rd37, %rd38;
	mov.f32 	%f168, 0fFF800000;

$L__BB8_5:
	.pragma "nounroll";
	ld.global.f32 	%f29, [%rd63];
	max.f32 	%f168, %f168, %f29;
	add.s32 	%r144, %r144, 256;
	add.s64 	%rd63, %rd63, 1024;
	add.s32 	%r143, %r143, -1;
	setp.ne.s32 	%p4, %r143, 0;
	@%p4 bra 	$L__BB8_5;

$L__BB8_6:
	setp.lt.u32 	%p5, %r7, 768;
	@%p5 bra 	$L__BB8_9;

	.loc	1 0 5
	cvta.to.global.u64 	%rd39, %rd3;
	.loc	1 94 5
	mul.wide.s32 	%rd40, %r144, 4;
	add.s64 	%rd41, %rd39, %rd40;
	add.s64 	%rd64, %rd41, 2048;

$L__BB8_8:
	ld.global.f32 	%f30, [%rd64+-2048];
	max.f32 	%f31, %f168, %f30;
	ld.global.f32 	%f32, [%rd64+-1024];
	max.f32 	%f33, %f31, %f32;
	ld.global.f32 	%f34, [%rd64];
	max.f32 	%f35, %f33, %f34;
	ld.global.f32 	%f36, [%rd64+1024];
	max.f32 	%f168, %f35, %f36;
	add.s64 	%rd64, %rd64, 4096;
	add.s32 	%r144, %r144, 1024;
	setp.lt.s32 	%p6, %r144, %r6;
	@%p6 bra 	$L__BB8_8;

$L__BB8_9:
	.loc	1 95 5, function_name $L__info_string5, inlined_at 1 105 51
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r39, %f168;
	mov.u32 	%r40, 2;
	mov.u32 	%r41, 31;
	mov.u32 	%r42, 16;
	mov.u32 	%r43, -1;
	shfl.sync.down.b32 	%r44|%p7, %r39, %r42, %r41, %r43;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f37, %r44;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f38, %f168, %f37;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r45, %f38;
	mov.u32 	%r46, 8;
	shfl.sync.down.b32 	%r47|%p8, %r45, %r46, %r41, %r43;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f39, %r47;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f40, %f38, %f39;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r48, %f40;
	mov.u32 	%r49, 4;
	shfl.sync.down.b32 	%r50|%p9, %r48, %r49, %r41, %r43;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f41, %r50;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f42, %f40, %f41;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r51, %f42;
	shfl.sync.down.b32 	%r52|%p10, %r51, %r40, %r41, %r43;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f43, %r52;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f44, %f42, %f43;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r53, %f44;
	mov.u32 	%r54, 1;
	shfl.sync.down.b32 	%r55|%p11, %r53, %r54, %r41, %r43;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f45, %r55;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f8, %f44, %f45;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 95 5
	and.b32  	%r16, %r3, 31;
	setp.ne.s32 	%p12, %r16, 0;
	@%p12 bra 	$L__BB8_11;

	shr.u32 	%r56, %r3, 3;
	and.b32  	%r57, %r56, 536870908;
	mov.u32 	%r58, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r59, %r58, %r57;
	st.shared.f32 	[%r59], %f8;

$L__BB8_11:
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 95 5
	setp.gt.u32 	%p13, %r3, 31;
	@%p13 bra 	$L__BB8_16;

	setp.gt.u32 	%p14, %r3, 7;
	mov.f32 	%f169, 0fFF800000;
	@%p14 bra 	$L__BB8_14;

	shl.b32 	%r60, %r3, 2;
	mov.u32 	%r61, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r62, %r61, %r60;
	ld.shared.f32 	%f169, [%r62];

$L__BB8_14:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r63, %f169;
	mov.u32 	%r64, 2;
	mov.u32 	%r65, 31;
	mov.u32 	%r66, 16;
	mov.u32 	%r67, -1;
	shfl.sync.down.b32 	%r68|%p15, %r63, %r66, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f47, %r68;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f48, %f169, %f47;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r69, %f48;
	mov.u32 	%r70, 8;
	shfl.sync.down.b32 	%r71|%p16, %r69, %r70, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f49, %r71;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f50, %f48, %f49;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r72, %f50;
	mov.u32 	%r73, 4;
	shfl.sync.down.b32 	%r74|%p17, %r72, %r73, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f51, %r74;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f52, %f50, %f51;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r75, %f52;
	shfl.sync.down.b32 	%r76|%p18, %r75, %r64, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f53, %r76;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f54, %f52, %f53;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r77, %f54;
	mov.u32 	%r78, 1;
	shfl.sync.down.b32 	%r79|%p19, %r77, %r78, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f55, %r79;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f11, %f54, %f55;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 95 5
	@%p1 bra 	$L__BB8_16;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f11;

$L__BB8_16:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	ld.shared.f32 	%f12, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 96 5, function_name $L__info_string5, inlined_at 1 105 51
	ld.param.u64 	%rd42, [%rd1+-84];
	cvta.to.global.u64 	%rd43, %rd42;
	add.s64 	%rd10, %rd43, %rd36;
	ld.global.u32 	%r17, [%rd10];
	add.s32 	%r148, %r17, %r3;
	ld.global.u32 	%r81, [%rd10+4];
	setp.ge.s32 	%p21, %r148, %r81;
	mov.f32 	%f174, 0f00000000;
	@%p21 bra 	$L__BB8_23;

	.loc	1 0 5
	ld.param.u64 	%rd11, [%rd1+-116];
	ld.param.u64 	%rd12, [%rd1+-124];
	.loc	1 96 5
	add.s32 	%r82, %r148, 256;
	ld.global.u32 	%r19, [%rd10+4];
	max.s32 	%r83, %r19, %r82;
	not.b32 	%r84, %r3;
	add.s32 	%r85, %r83, %r84;
	sub.s32 	%r20, %r85, %r17;
	shr.u32 	%r86, %r20, 8;
	add.s32 	%r87, %r86, 1;
	and.b32  	%r147, %r87, 3;
	setp.eq.s32 	%p22, %r147, 0;
	mov.f32 	%f174, 0f00000000;
	@%p22 bra 	$L__BB8_20;

	.loc	1 0 5
	cvta.to.global.u64 	%rd45, %rd12;
	.loc	1 96 5
	mul.wide.s32 	%rd46, %r148, 4;
	add.s64 	%rd66, %rd45, %rd46;
	cvta.to.global.u64 	%rd47, %rd11;
	add.s64 	%rd65, %rd47, %rd46;
	mov.f32 	%f174, 0f00000000;

$L__BB8_19:
	.pragma "nounroll";
	ld.global.f32 	%f60, [%rd66];
	sub.rn.f32 	%f61, %f60, %f12;
	mov.f32 	%f62, 0f3F000000;
	mov.f32 	%f63, 0f3BBB989D;
	fma.rn.f32 	%f64, %f61, %f63, %f62;
	cvt.sat.f32.f32 	%f65, %f64;
	mov.f32 	%f66, 0f4B400001;
	mov.f32 	%f67, 0f437C0000;
	fma.rm.f32 	%f68, %f65, %f67, %f66;
	add.rn.f32 	%f69, %f68, 0fCB40007F;
	neg.f32 	%f70, %f69;
	mov.f32 	%f71, 0f3FB8AA3B;
	fma.rn.f32 	%f72, %f61, %f71, %f70;
	mov.f32 	%f73, 0f32A57060;
	fma.rn.f32 	%f74, %f61, %f73, %f72;
	mov.b32 	%r88, %f68;
	shl.b32 	%r89, %r88, 23;
	mov.b32 	%f75, %r89;
	ex2.approx.ftz.f32 	%f76, %f74;
	mul.rn.f32 	%f77, %f76, %f75;
	ld.global.f32 	%f78, [%rd65];
	mul.rn.f32 	%f79, %f78, %f77;
	add.rn.f32 	%f174, %f174, %f79;
	add.s32 	%r148, %r148, 256;
	add.s64 	%rd66, %rd66, 1024;
	add.s64 	%rd65, %rd65, 1024;
	add.s32 	%r147, %r147, -1;
	setp.ne.s32 	%p23, %r147, 0;
	@%p23 bra 	$L__BB8_19;

$L__BB8_20:
	setp.lt.u32 	%p24, %r20, 768;
	@%p24 bra 	$L__BB8_23;

	.loc	1 0 5
	cvta.to.global.u64 	%rd48, %rd11;
	.loc	1 96 5
	mul.wide.s32 	%rd49, %r148, 4;
	add.s64 	%rd50, %rd49, 2048;
	add.s64 	%rd68, %rd48, %rd50;
	cvta.to.global.u64 	%rd51, %rd12;
	add.s64 	%rd67, %rd51, %rd50;

$L__BB8_22:
	ld.global.f32 	%f80, [%rd67+-2048];
	sub.rn.f32 	%f81, %f80, %f12;
	mov.f32 	%f82, 0f3F000000;
	mov.f32 	%f83, 0f3BBB989D;
	fma.rn.f32 	%f84, %f81, %f83, %f82;
	cvt.sat.f32.f32 	%f85, %f84;
	mov.f32 	%f86, 0f4B400001;
	mov.f32 	%f87, 0f437C0000;
	fma.rm.f32 	%f88, %f85, %f87, %f86;
	add.rn.f32 	%f89, %f88, 0fCB40007F;
	neg.f32 	%f90, %f89;
	mov.f32 	%f91, 0f3FB8AA3B;
	fma.rn.f32 	%f92, %f81, %f91, %f90;
	mov.f32 	%f93, 0f32A57060;
	fma.rn.f32 	%f94, %f81, %f93, %f92;
	mov.b32 	%r90, %f88;
	shl.b32 	%r91, %r90, 23;
	mov.b32 	%f95, %r91;
	ex2.approx.ftz.f32 	%f96, %f94;
	mul.rn.f32 	%f97, %f96, %f95;
	ld.global.f32 	%f98, [%rd68+-2048];
	mul.rn.f32 	%f99, %f98, %f97;
	add.rn.f32 	%f100, %f174, %f99;
	ld.global.f32 	%f101, [%rd67+-1024];
	sub.rn.f32 	%f102, %f101, %f12;
	fma.rn.f32 	%f103, %f102, %f83, %f82;
	cvt.sat.f32.f32 	%f104, %f103;
	fma.rm.f32 	%f105, %f104, %f87, %f86;
	add.rn.f32 	%f106, %f105, 0fCB40007F;
	neg.f32 	%f107, %f106;
	fma.rn.f32 	%f108, %f102, %f91, %f107;
	fma.rn.f32 	%f109, %f102, %f93, %f108;
	mov.b32 	%r92, %f105;
	shl.b32 	%r93, %r92, 23;
	mov.b32 	%f110, %r93;
	ex2.approx.ftz.f32 	%f111, %f109;
	mul.rn.f32 	%f112, %f111, %f110;
	ld.global.f32 	%f113, [%rd68+-1024];
	mul.rn.f32 	%f114, %f113, %f112;
	add.rn.f32 	%f115, %f100, %f114;
	ld.global.f32 	%f116, [%rd67];
	sub.rn.f32 	%f117, %f116, %f12;
	fma.rn.f32 	%f118, %f117, %f83, %f82;
	cvt.sat.f32.f32 	%f119, %f118;
	fma.rm.f32 	%f120, %f119, %f87, %f86;
	add.rn.f32 	%f121, %f120, 0fCB40007F;
	neg.f32 	%f122, %f121;
	fma.rn.f32 	%f123, %f117, %f91, %f122;
	fma.rn.f32 	%f124, %f117, %f93, %f123;
	mov.b32 	%r94, %f120;
	shl.b32 	%r95, %r94, 23;
	mov.b32 	%f125, %r95;
	ex2.approx.ftz.f32 	%f126, %f124;
	mul.rn.f32 	%f127, %f126, %f125;
	ld.global.f32 	%f128, [%rd68];
	mul.rn.f32 	%f129, %f128, %f127;
	add.rn.f32 	%f130, %f115, %f129;
	ld.global.f32 	%f131, [%rd67+1024];
	sub.rn.f32 	%f132, %f131, %f12;
	fma.rn.f32 	%f133, %f132, %f83, %f82;
	cvt.sat.f32.f32 	%f134, %f133;
	fma.rm.f32 	%f135, %f134, %f87, %f86;
	add.rn.f32 	%f136, %f135, 0fCB40007F;
	neg.f32 	%f137, %f136;
	fma.rn.f32 	%f138, %f132, %f91, %f137;
	fma.rn.f32 	%f139, %f132, %f93, %f138;
	mov.b32 	%r96, %f135;
	shl.b32 	%r97, %r96, 23;
	mov.b32 	%f140, %r97;
	ex2.approx.ftz.f32 	%f141, %f139;
	mul.rn.f32 	%f142, %f141, %f140;
	ld.global.f32 	%f143, [%rd68+1024];
	mul.rn.f32 	%f144, %f143, %f142;
	add.rn.f32 	%f174, %f130, %f144;
	add.s64 	%rd68, %rd68, 4096;
	add.s64 	%rd67, %rd67, 4096;
	add.s32 	%r148, %r148, 1024;
	setp.lt.s32 	%p25, %r148, %r19;
	@%p25 bra 	$L__BB8_22;

$L__BB8_23:
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 105 51
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r98, %f174;
	mov.u32 	%r99, 2;
	mov.u32 	%r100, 31;
	mov.u32 	%r101, 16;
	mov.u32 	%r102, -1;
	shfl.sync.down.b32 	%r103|%p26, %r98, %r101, %r100, %r102;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f145, %r103;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f146, %f174, %f145;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r104, %f146;
	mov.u32 	%r105, 8;
	shfl.sync.down.b32 	%r106|%p27, %r104, %r105, %r100, %r102;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f147, %r106;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f148, %f146, %f147;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r107, %f148;
	mov.u32 	%r108, 4;
	shfl.sync.down.b32 	%r109|%p28, %r107, %r108, %r100, %r102;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f149, %r109;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f150, %f148, %f149;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r110, %f150;
	shfl.sync.down.b32 	%r111|%p29, %r110, %r99, %r100, %r102;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f151, %r111;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f152, %f150, %f151;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r112, %f152;
	mov.u32 	%r113, 1;
	shfl.sync.down.b32 	%r114|%p30, %r112, %r113, %r100, %r102;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f153, %r114;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f20, %f152, %f153;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p12 bra 	$L__BB8_25;

	shr.u32 	%r115, %r3, 3;
	and.b32  	%r116, %r115, 536870908;
	mov.u32 	%r117, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r118, %r117, %r116;
	st.shared.f32 	[%r118], %f20;

$L__BB8_25:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p13 bra 	$L__BB8_30;

	setp.gt.u32 	%p33, %r3, 7;
	mov.f32 	%f175, 0f00000000;
	@%p33 bra 	$L__BB8_28;

	shl.b32 	%r119, %r3, 2;
	mov.u32 	%r120, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r121, %r120, %r119;
	ld.shared.f32 	%f175, [%r121];

$L__BB8_28:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r122, %f175;
	mov.u32 	%r123, 2;
	mov.u32 	%r124, 31;
	mov.u32 	%r125, 16;
	mov.u32 	%r126, -1;
	shfl.sync.down.b32 	%r127|%p34, %r122, %r125, %r124, %r126;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f155, %r127;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f156, %f175, %f155;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r128, %f156;
	mov.u32 	%r129, 8;
	shfl.sync.down.b32 	%r130|%p35, %r128, %r129, %r124, %r126;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f157, %r130;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f158, %f156, %f157;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r131, %f158;
	mov.u32 	%r132, 4;
	shfl.sync.down.b32 	%r133|%p36, %r131, %r132, %r124, %r126;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f159, %r133;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f160, %f158, %f159;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r134, %f160;
	shfl.sync.down.b32 	%r135|%p37, %r134, %r123, %r124, %r126;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f161, %r135;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f162, %f160, %f161;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r136, %f162;
	mov.u32 	%r137, 1;
	shfl.sync.down.b32 	%r138|%p38, %r136, %r137, %r124, %r126;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f163, %r138;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f23, %f162, %f163;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 97 5
	@%p1 bra 	$L__BB8_30;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f23;

$L__BB8_30:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	ld.shared.f32 	%f24, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 105 51
	@%p1 bra 	$L__BB8_32;

	ld.param.u64 	%rd52, [%rd1+-108];
	cvta.to.global.u64 	%rd53, %rd52;
	add.s64 	%rd55, %rd53, %rd36;
	st.global.f32 	[%rd55], %f12;
	ld.param.u64 	%rd56, [%rd1+-100];
	cvta.to.global.u64 	%rd57, %rd56;
	add.s64 	%rd58, %rd57, %rd36;
	st.global.f32 	[%rd58], %f24;

$L__BB8_32:
	ld.param.u64 	%rd25, [%rd1+-12];
	.loc	1 97 5, function_name $L__info_string5, inlined_at 1 105 51
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	bar.sync 	0;
	@%p1 bra 	$L__BB8_34;

	cvta.to.global.u64 	%rd60, %rd25;
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd59, %globaltimer;
	// end inline asm
	.loc	1 93 5, function_name $L__info_string5, inlined_at 1 105 51
	add.s32 	%r141, %r1, %r2;
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 97 5
	mul.wide.s32 	%rd61, %r141, 32;
	add.s64 	%rd62, %rd60, %rd61;
	st.global.u64 	[%rd62+8], %rd59;

$L__BB8_34:
	bar.sync 	0;
	.loc	1 105 51
	ret;

}
	// .globl	_Z7phase_cILb1EEv7Payload
.visible .entry _Z7phase_cILb1EEv7Payload(
	.param .align 8 .b8 _Z7phase_cILb1EEv7Payload_param_0[144]
)
{
	.reg .pred 	%p<8>;
	.reg .f32 	%f<88>;
	.reg .b32 	%r<52>;
	.reg .b64 	%rd<56>;
	.loc	1 106 0


	mov.b64 	%rd19, _Z7phase_cILb1EEv7Payload_param_0;
	.loc	1 106 51
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 106 51
	add.s64 	%rd1, %rd19, 136;
	ld.param.v2.u32 	{%r16, %r17}, [_Z7phase_cILb1EEv7Payload_param_0+136];
	.loc	1 106 51
	mov.u32 	%r1, %ctaid.x;
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 106 51
	add.s32 	%r20, %r17, %r1;
	add.s32 	%r2, %r20, %r16;
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 106 51
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	mov.u32 	%r50, %tid.x;
	setp.ne.s32 	%p1, %r50, 0;
	@%p1 bra 	$L__BB9_2;

	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 77 5
	// begin inline asm
	mov.u64 %rd21, %globaltimer;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	ld.param.u64 	%rd22, [%rd1+-8];
	mul.wide.s32 	%rd23, %r2, 32;
	cvta.to.global.u64 	%rd24, %rd22;
	add.s64 	%rd25, %rd24, %rd23;
	st.global.u64 	[%rd25], %rd21;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	1 75 34, function_name $L__info_string23, inlined_at 1 77 5
	// begin inline asm
	mov.u32 %r21, %smid;
	// end inline asm
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	st.global.u32 	[%rd25+16], %r21;
	st.global.u32 	[%rd25+20], %r1;
	add.s64 	%rd26, %rd25, 24;
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	.loc	8 107 3, function_name $L__info_string24, inlined_at 1 77 5
	atom.global.add.u32 	%r22, [%rd26], 1;

$L__BB9_2:
	.loc	1 77 5, function_name $L__info_string4, inlined_at 1 100 5
	bar.sync 	0;
	.loc	1 100 5, function_name $L__info_string41, inlined_at 1 106 51
	ld.param.u64 	%rd27, [%rd1+-72];
	cvta.to.global.u64 	%rd28, %rd27;
	mul.wide.s32 	%rd29, %r1, 4;
	add.s64 	%rd30, %rd28, %rd29;
	ld.param.u64 	%rd31, [%rd1+-88];
	cvta.to.global.u64 	%rd32, %rd31;
	ld.global.u32 	%r23, [%rd30];
	cvt.s64.s32 	%rd2, %r23;
	mul.wide.s32 	%rd33, %r23, 4;
	add.s64 	%rd34, %rd32, %rd33;
	ld.global.u32 	%r4, [%rd34];
	ld.param.u64 	%rd35, [%rd1+-80];
	cvta.to.global.u64 	%rd36, %rd35;
	add.s64 	%rd37, %rd36, %rd33;
	ld.global.u32 	%r5, [%rd37];
	.loc	1 101 5, function_name $L__info_string41, inlined_at 1 106 51
	setp.gt.s32 	%p2, %r50, 1023;
	@%p2 bra 	$L__BB9_9;

	.loc	1 0 5
	ld.param.u64 	%rd38, [%rd1+-136];
	cvta.to.global.u64 	%rd54, %rd38;
	ld.param.u64 	%rd39, [%rd1+-104];
	cvta.to.global.u64 	%rd40, %rd39;
	shl.b64 	%rd41, %rd2, 2;
	add.s64 	%rd4, %rd40, %rd41;
	ld.param.u64 	%rd42, [%rd1+-96];
	cvta.to.global.u64 	%rd43, %rd42;
	add.s64 	%rd5, %rd43, %rd41;
	ld.param.u64 	%rd44, [%rd1+-128];
	.loc	1 101 5
	cvta.to.global.u64 	%rd55, %rd44;
	max.s32 	%r24, %r50, 768;
	add.s32 	%r25, %r24, 255;
	sub.s32 	%r6, %r25, %r50;
	shr.u32 	%r26, %r6, 8;
	add.s32 	%r27, %r26, 1;
	and.b32  	%r49, %r27, 3;
	setp.eq.s32 	%p3, %r49, 0;
	@%p3 bra 	$L__BB9_6;

	add.s32 	%r28, %r50, %r4;
	shl.b32 	%r29, %r1, 10;
	add.s32 	%r30, %r28, %r29;
	shl.b32 	%r31, %r5, 10;
	sub.s32 	%r32, %r30, %r31;
	mul.wide.s32 	%rd45, %r32, 4;
	add.s64 	%rd53, %rd55, %rd45;
	add.s64 	%rd52, %rd54, %rd45;

$L__BB9_5:
	.pragma "nounroll";
	ld.global.f32 	%f1, [%rd4];
	ld.global.f32 	%f2, [%rd52];
	sub.rn.f32 	%f3, %f2, %f1;
	mov.f32 	%f4, 0f3F000000;
	mov.f32 	%f5, 0f3BBB989D;
	fma.rn.f32 	%f6, %f3, %f5, %f4;
	cvt.sat.f32.f32 	%f7, %f6;
	mov.f32 	%f8, 0f4B400001;
	mov.f32 	%f9, 0f437C0000;
	fma.rm.f32 	%f10, %f7, %f9, %f8;
	add.rn.f32 	%f11, %f10, 0fCB40007F;
	neg.f32 	%f12, %f11;
	mov.f32 	%f13, 0f3FB8AA3B;
	fma.rn.f32 	%f14, %f3, %f13, %f12;
	mov.f32 	%f15, 0f32A57060;
	fma.rn.f32 	%f16, %f3, %f15, %f14;
	mov.b32 	%r33, %f10;
	shl.b32 	%r34, %r33, 23;
	mov.b32 	%f17, %r34;
	ex2.approx.ftz.f32 	%f18, %f16;
	mul.rn.f32 	%f19, %f18, %f17;
	ld.global.f32 	%f20, [%rd5];
	div.rn.f32 	%f21, %f19, %f20;
	st.global.f32 	[%rd53], %f21;
	add.s32 	%r50, %r50, 256;
	add.s64 	%rd53, %rd53, 1024;
	add.s64 	%rd52, %rd52, 1024;
	add.s32 	%r49, %r49, -1;
	setp.ne.s32 	%p4, %r49, 0;
	@%p4 bra 	$L__BB9_5;

$L__BB9_6:
	setp.lt.u32 	%p5, %r6, 768;
	@%p5 bra 	$L__BB9_9;

	add.s32 	%r51, %r50, -1024;
	shl.b32 	%r35, %r1, 10;
	add.s32 	%r36, %r50, %r4;
	add.s32 	%r37, %r36, %r35;
	shl.b32 	%r38, %r5, 10;
	sub.s32 	%r39, %r37, %r38;
	mul.wide.s32 	%rd13, %r39, 4;

$L__BB9_8:
	add.s64 	%rd46, %rd54, %rd13;
	ld.global.f32 	%f22, [%rd4];
	ld.global.f32 	%f23, [%rd46];
	sub.rn.f32 	%f24, %f23, %f22;
	mov.f32 	%f25, 0f3F000000;
	mov.f32 	%f26, 0f3BBB989D;
	fma.rn.f32 	%f27, %f24, %f26, %f25;
	cvt.sat.f32.f32 	%f28, %f27;
	mov.f32 	%f29, 0f4B400001;
	mov.f32 	%f30, 0f437C0000;
	fma.rm.f32 	%f31, %f28, %f30, %f29;
	add.rn.f32 	%f32, %f31, 0fCB40007F;
	neg.f32 	%f33, %f32;
	mov.f32 	%f34, 0f3FB8AA3B;
	fma.rn.f32 	%f35, %f24, %f34, %f33;
	mov.f32 	%f36, 0f32A57060;
	fma.rn.f32 	%f37, %f24, %f36, %f35;
	mov.b32 	%r40, %f31;
	shl.b32 	%r41, %r40, 23;
	mov.b32 	%f38, %r41;
	ex2.approx.ftz.f32 	%f39, %f37;
	mul.rn.f32 	%f40, %f39, %f38;
	ld.global.f32 	%f41, [%rd5];
	div.rn.f32 	%f42, %f40, %f41;
	add.s64 	%rd47, %rd55, %rd13;
	st.global.f32 	[%rd47], %f42;
	ld.global.f32 	%f43, [%rd4];
	ld.global.f32 	%f44, [%rd46+1024];
	sub.rn.f32 	%f45, %f44, %f43;
	fma.rn.f32 	%f46, %f45, %f26, %f25;
	cvt.sat.f32.f32 	%f47, %f46;
	fma.rm.f32 	%f48, %f47, %f30, %f29;
	add.rn.f32 	%f49, %f48, 0fCB40007F;
	neg.f32 	%f50, %f49;
	fma.rn.f32 	%f51, %f45, %f34, %f50;
	fma.rn.f32 	%f52, %f45, %f36, %f51;
	mov.b32 	%r42, %f48;
	shl.b32 	%r43, %r42, 23;
	mov.b32 	%f53, %r43;
	ex2.approx.ftz.f32 	%f54, %f52;
	mul.rn.f32 	%f55, %f54, %f53;
	ld.global.f32 	%f56, [%rd5];
	div.rn.f32 	%f57, %f55, %f56;
	st.global.f32 	[%rd47+1024], %f57;
	ld.global.f32 	%f58, [%rd4];
	ld.global.f32 	%f59, [%rd46+2048];
	sub.rn.f32 	%f60, %f59, %f58;
	fma.rn.f32 	%f61, %f60, %f26, %f25;
	cvt.sat.f32.f32 	%f62, %f61;
	fma.rm.f32 	%f63, %f62, %f30, %f29;
	add.rn.f32 	%f64, %f63, 0fCB40007F;
	neg.f32 	%f65, %f64;
	fma.rn.f32 	%f66, %f60, %f34, %f65;
	fma.rn.f32 	%f67, %f60, %f36, %f66;
	mov.b32 	%r44, %f63;
	shl.b32 	%r45, %r44, 23;
	mov.b32 	%f68, %r45;
	ex2.approx.ftz.f32 	%f69, %f67;
	mul.rn.f32 	%f70, %f69, %f68;
	ld.global.f32 	%f71, [%rd5];
	div.rn.f32 	%f72, %f70, %f71;
	st.global.f32 	[%rd47+2048], %f72;
	ld.global.f32 	%f73, [%rd4];
	ld.global.f32 	%f74, [%rd46+3072];
	sub.rn.f32 	%f75, %f74, %f73;
	fma.rn.f32 	%f76, %f75, %f26, %f25;
	cvt.sat.f32.f32 	%f77, %f76;
	fma.rm.f32 	%f78, %f77, %f30, %f29;
	add.rn.f32 	%f79, %f78, 0fCB40007F;
	neg.f32 	%f80, %f79;
	fma.rn.f32 	%f81, %f75, %f34, %f80;
	fma.rn.f32 	%f82, %f75, %f36, %f81;
	mov.b32 	%r46, %f78;
	shl.b32 	%r47, %r46, 23;
	mov.b32 	%f83, %r47;
	ex2.approx.ftz.f32 	%f84, %f82;
	mul.rn.f32 	%f85, %f84, %f83;
	ld.global.f32 	%f86, [%rd5];
	div.rn.f32 	%f87, %f85, %f86;
	st.global.f32 	[%rd47+3072], %f87;
	add.s64 	%rd55, %rd55, 4096;
	add.s64 	%rd54, %rd54, 4096;
	add.s32 	%r51, %r51, 1024;
	setp.lt.s32 	%p6, %r51, 0;
	@%p6 bra 	$L__BB9_8;

$L__BB9_9:
	.loc	1 102 5, function_name $L__info_string41, inlined_at 1 106 51
	ld.param.u64 	%rd18, [%rd1+-8];
	.loc	1 102 5, function_name $L__info_string41, inlined_at 1 106 51
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	bar.sync 	0;
	@%p1 bra 	$L__BB9_11;

	cvta.to.global.u64 	%rd49, %rd18;
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	.loc	1 74 44, function_name $L__info_string22, inlined_at 1 80 5
	// begin inline asm
	mov.u64 %rd48, %globaltimer;
	// end inline asm
	.loc	1 80 5, function_name $L__info_string25, inlined_at 1 102 5
	mul.wide.s32 	%rd50, %r2, 32;
	add.s64 	%rd51, %rd49, %rd50;
	st.global.u64 	[%rd51+8], %rd48;

$L__BB9_11:
	bar.sync 	0;
	.loc	1 106 51
	ret;

}
	// .globl	_Z10persistentILb0EEv7Payloadi
.visible .entry _Z10persistentILb0EEv7Payloadi(
	.param .align 8 .b8 _Z10persistentILb0EEv7Payloadi_param_0[144],
	.param .u32 _Z10persistentILb0EEv7Payloadi_param_1
)
{
	.reg .pred 	%p<194>;
	.reg .f32 	%f<917>;
	.reg .b32 	%r<694>;
	.reg .b64 	%rd<229>;
	.loc	1 113 0
	// demoted variable
	.shared .align 4 .u32 _ZZ10persistentILb0EEv7PayloadiE2id;
	// demoted variable
	.shared .align 4 .u32 _ZZ10persistentILb0EEv7PayloadiE4slot;

	mov.b64 	%rd68, _Z10persistentILb0EEv7Payloadi_param_0;
	ld.param.u32 	%r123, [_Z10persistentILb0EEv7Payloadi_param_1];
	.loc	1 114 5
	setp.eq.s32 	%p1, %r123, 0;
	@%p1 bra 	$L__BB10_86;

	.loc	1 125 9
	mov.u32 	%r1, %tid.x;
	ld.param.u64 	%rd2, [%rd68+120];
	ld.param.u64 	%rd3, [%rd68+96];
	ld.param.u64 	%rd4, [%rd68+104];
	ld.param.u64 	%rd5, [%rd68+112];
	ld.param.u64 	%rd69, [%rd68+64];
	cvta.to.global.u64 	%rd6, %rd69;
	ld.param.u64 	%rd70, [%rd68+48];
	cvta.to.global.u64 	%rd7, %rd70;
	ld.param.u64 	%rd71, [%rd68+56];
	cvta.to.global.u64 	%rd8, %rd71;
	ld.param.u64 	%rd72, [%rd68];
	cvta.to.global.u64 	%rd9, %rd72;
	ld.param.v2.u32 	{%r124, %r125}, [%rd68+136];
	ld.param.u32 	%r4, [%rd68+140];
	add.s32 	%r5, %r124, %r4;
	ld.param.u64 	%rd10, [%rd68+80];
	ld.param.u64 	%rd73, [%rd68+16];
	cvta.to.global.u64 	%rd11, %rd73;
	ld.param.u64 	%rd74, [%rd68+32];
	cvta.to.global.u64 	%rd12, %rd74;
	ld.param.u64 	%rd75, [%rd68+40];
	cvta.to.global.u64 	%rd13, %rd75;
	ld.param.u64 	%rd76, [%rd68+8];
	cvta.to.global.u64 	%rd14, %rd76;
	ld.param.u64 	%rd77, [%rd68+72];
	cvta.to.global.u64 	%rd15, %rd77;
	and.b32  	%r6, %r1, 31;
	shr.u32 	%r126, %r1, 3;
	and.b32  	%r127, %r126, 536870908;
	mov.u32 	%r128, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r7, %r128, %r127;
	shl.b32 	%r129, %r1, 2;
	add.s32 	%r8, %r128, %r129;
	ld.param.u64 	%rd78, [%rd68+24];
	cvta.to.global.u64 	%rd16, %rd78;
	mov.u32 	%r130, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r9, %r130, %r127;
	add.s32 	%r10, %r130, %r129;
	ld.param.u64 	%rd17, [%rd68+88];
	max.s32 	%r131, %r1, 768;
	add.s32 	%r132, %r131, 255;
	sub.s32 	%r11, %r132, %r1;
	shr.u32 	%r133, %r11, 8;
	add.s32 	%r134, %r133, 1;
	.loc	1 148 13
	.loc	1 94 5, function_name $L__info_string57, inlined_at 1 148 13
	not.b32 	%r12, %r1;
	add.s32 	%r13, %r1, 256;
	and.b32  	%r14, %r134, 3;
	add.s32 	%r15, %r1, 512;
	add.s32 	%r16, %r1, 768;
	add.s32 	%r135, %r125, %r1;
	ld.param.u32 	%r17, [%rd68+136];
	add.s32 	%r18, %r135, %r17;
	add.s32 	%r136, %r125, %r13;
	add.s32 	%r19, %r136, %r17;
	add.s32 	%r137, %r125, %r15;
	add.s32 	%r20, %r137, %r17;
	bra.uni 	$L__BB10_2;

$L__BB10_85:
	.loc	1 153 9
	bar.sync 	0;

$L__BB10_2:
	.loc	1 0 9
	setp.ne.s32 	%p2, %r1, 0;
	.loc	1 125 9
	@%p2 bra 	$L__BB10_15;

	.loc	1 127 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 127 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string11, inlined_at 6 97 3
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r138,[%rd2];
	// end inline asm
	.loc	1 127 17
	setp.eq.s32 	%p3, %r138, %r4;
	@%p3 bra 	$L__BB10_11;

$L__BB10_4:
	.loc	1 128 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 128 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string13, inlined_at 6 97 3
	.loc	6 302 1, function_name $L__info_string14, inlined_at 6 829 5
	// begin inline asm
	ld.relaxed.gpu.b32 %r139,[%rd3];
	// end inline asm
	.loc	1 129 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 129 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string13, inlined_at 6 97 3
	.loc	6 302 1, function_name $L__info_string14, inlined_at 6 829 5
	// begin inline asm
	ld.relaxed.gpu.b32 %r140,[%rd4];
	// end inline asm
	.loc	1 129 17
	setp.lt.s32 	%p4, %r139, %r140;
	@%p4 bra 	$L__BB10_9;
	bra.uni 	$L__BB10_5;

$L__BB10_9:
	.loc	1 130 21
	add.s32 	%r148, %r139, 1;
	.loc	1 130 21
	.loc	3 80 14, function_name $L__info_string15, inlined_at 1 130 21
	.loc	4 147 3, function_name $L__info_string16, inlined_at 3 80 14
	.loc	6 1724 3, function_name $L__info_string17, inlined_at 4 147 3
	.loc	6 1196 3, function_name $L__info_string18, inlined_at 6 1724 3
	.loc	6 1712 5, function_name $L__info_string19, inlined_at 6 1196 3
	.loc	6 1330 1, function_name $L__info_string20, inlined_at 6 1712 5
	// begin inline asm
	atom.cas.relaxed.gpu.b32 %r146,[%rd3],%r139,%r148;
	// end inline asm
	setp.eq.s32 	%p7, %r146, %r139;
	.loc	1 130 21
	@%p7 bra 	$L__BB10_12;
	bra.uni 	$L__BB10_10;

$L__BB10_5:
	.loc	1 136 17
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 136 17
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string13, inlined_at 6 97 3
	.loc	6 302 1, function_name $L__info_string14, inlined_at 6 829 5
	// begin inline asm
	ld.relaxed.gpu.b32 %r141,[%rd5];
	// end inline asm
	.loc	1 137 17
	setp.ge.s32 	%p5, %r141, %r4;
	@%p5 bra 	$L__BB10_7;

	add.s32 	%r144, %r141, 1;
	.loc	1 137 17
	.loc	3 80 14, function_name $L__info_string15, inlined_at 1 137 17
	.loc	4 147 3, function_name $L__info_string16, inlined_at 3 80 14
	.loc	6 1724 3, function_name $L__info_string17, inlined_at 4 147 3
	.loc	6 1196 3, function_name $L__info_string18, inlined_at 6 1724 3
	.loc	6 1712 5, function_name $L__info_string19, inlined_at 6 1196 3
	.loc	6 1330 1, function_name $L__info_string20, inlined_at 6 1712 5
	// begin inline asm
	atom.cas.relaxed.gpu.b32 %r142,[%rd5],%r141,%r144;
	// end inline asm
	setp.eq.s32 	%p6, %r142, %r141;
	.loc	1 137 17
	@%p6 bra 	$L__BB10_8;

$L__BB10_7:
	.loc	1 138 17
	.loc	7 169 5, function_name $L__info_string21, inlined_at 1 138 17
	mov.u32 	%r145, 32;
	// begin inline asm
	nanosleep.u32 %r145;
	// end inline asm

$L__BB10_10:
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r149,[%rd2];
	// end inline asm
	.loc	1 127 17
	setp.eq.s32 	%p8, %r149, %r4;
	@%p8 bra 	$L__BB10_11;
	bra.uni 	$L__BB10_4;

$L__BB10_11:
	mov.u32 	%r154, -1;
	st.shared.u32 	[_ZZ10persistentILb0EEv7PayloadiE2id], %r154;

$L__BB10_15:
	.loc	1 141 9
	bar.sync 	0;
	ld.shared.s32 	%rd20, [_ZZ10persistentILb0EEv7PayloadiE2id];
	setp.lt.s64 	%p11, %rd20, 0;
	@%p11 bra 	$L__BB10_159;

	.loc	1 0 9
	cvt.u32.u64 	%r155, %rd20;
	.loc	1 142 9
	setp.lt.s32 	%p12, %r155, %r4;
	@%p12 bra 	$L__BB10_66;
	bra.uni 	$L__BB10_17;

$L__BB10_66:
	.loc	1 143 13
	.loc	1 83 5, function_name $L__info_string58, inlined_at 1 143 13
	shl.b64 	%rd142, %rd20, 2;
	add.s64 	%rd143, %rd6, %rd142;
	ld.global.u32 	%r328, [%rd143];
	mul.wide.s32 	%rd144, %r328, 4;
	add.s64 	%rd145, %rd7, %rd144;
	add.s64 	%rd146, %rd8, %rd144;
	ld.global.u32 	%r329, [%rd146];
	sub.s32 	%r330, %r155, %r329;
	shl.b32 	%r331, %r330, 10;
	ld.global.u32 	%r332, [%rd145];
	add.s32 	%r333, %r332, %r1;
	add.s32 	%r334, %r333, %r331;
	.loc	1 86 5, function_name $L__info_string58, inlined_at 1 143 13
	mul.wide.u32 	%rd147, %r334, 4;
	add.s64 	%rd148, %rd9, %rd147;
	ld.global.f32 	%f27, [%rd148];
	mov.f32 	%f390, 0fFF800000;
	max.f32 	%f391, %f390, %f27;
	add.s32 	%r335, %r334, 256;
	mul.wide.u32 	%rd149, %r335, 4;
	add.s64 	%rd150, %rd9, %rd149;
	ld.global.f32 	%f28, [%rd150];
	max.f32 	%f392, %f391, %f28;
	add.s32 	%r336, %r334, 512;
	mul.wide.u32 	%rd151, %r336, 4;
	add.s64 	%rd152, %rd9, %rd151;
	ld.global.f32 	%f29, [%rd152];
	max.f32 	%f393, %f392, %f29;
	add.s32 	%r337, %r334, 768;
	mul.wide.u32 	%rd153, %r337, 4;
	add.s64 	%rd154, %rd9, %rd153;
	ld.global.f32 	%f30, [%rd154];
	max.f32 	%f394, %f393, %f30;
	.loc	1 87 5, function_name $L__info_string58, inlined_at 1 143 13
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r338, %f394;
	mov.u32 	%r339, 2;
	mov.u32 	%r340, 31;
	mov.u32 	%r341, 16;
	mov.u32 	%r342, -1;
	shfl.sync.down.b32 	%r343|%p69, %r338, %r341, %r340, %r342;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f395, %r343;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f396, %f394, %f395;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r344, %f396;
	mov.u32 	%r345, 8;
	shfl.sync.down.b32 	%r346|%p70, %r344, %r345, %r340, %r342;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f397, %r346;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f398, %f396, %f397;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r347, %f398;
	mov.u32 	%r348, 4;
	shfl.sync.down.b32 	%r349|%p71, %r347, %r348, %r340, %r342;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f399, %r349;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f400, %f398, %f399;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r350, %f400;
	shfl.sync.down.b32 	%r351|%p72, %r350, %r339, %r340, %r342;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f401, %r351;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f402, %f400, %f401;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r352, %f402;
	mov.u32 	%r353, 1;
	shfl.sync.down.b32 	%r354|%p73, %r352, %r353, %r340, %r342;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f403, %r354;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f31, %f402, %f403;
	setp.ne.s32 	%p74, %r6, 0;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p74 bra 	$L__BB10_68;

	st.shared.f32 	[%r7], %f31;

$L__BB10_68:
	.loc	1 0 5
	setp.gt.u32 	%p75, %r1, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p75 bra 	$L__BB10_73;

	.loc	1 0 5
	setp.gt.u32 	%p76, %r1, 7;
	mov.f32 	%f903, 0fFF800000;
	.loc	1 36 5
	@%p76 bra 	$L__BB10_71;

	ld.shared.f32 	%f903, [%r8];

$L__BB10_71:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r355, %f903;
	mov.u32 	%r356, 2;
	mov.u32 	%r357, 31;
	mov.u32 	%r358, 16;
	mov.u32 	%r359, -1;
	shfl.sync.down.b32 	%r360|%p77, %r355, %r358, %r357, %r359;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f405, %r360;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f406, %f903, %f405;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r361, %f406;
	mov.u32 	%r362, 8;
	shfl.sync.down.b32 	%r363|%p78, %r361, %r362, %r357, %r359;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f407, %r363;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f408, %f406, %f407;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r364, %f408;
	mov.u32 	%r365, 4;
	shfl.sync.down.b32 	%r366|%p79, %r364, %r365, %r357, %r359;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f409, %r366;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f410, %f408, %f409;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r367, %f410;
	shfl.sync.down.b32 	%r368|%p80, %r367, %r356, %r357, %r359;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f411, %r368;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f412, %f410, %f411;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r369, %f412;
	mov.u32 	%r370, 1;
	shfl.sync.down.b32 	%r371|%p81, %r369, %r370, %r357, %r359;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f413, %r371;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f34, %f412, %f413;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 87 5
	@%p2 bra 	$L__BB10_73;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f34;

$L__BB10_73:
	.loc	1 0 9
	setp.ne.s32 	%p190, %r6, 0;
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	ld.shared.f32 	%f35, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 89 5, function_name $L__info_string58, inlined_at 1 143 13
	sub.rn.f32 	%f414, %f27, %f35;
	mov.f32 	%f415, 0f3F000000;
	mov.f32 	%f416, 0f3BBB989D;
	fma.rn.f32 	%f417, %f414, %f416, %f415;
	cvt.sat.f32.f32 	%f418, %f417;
	mov.f32 	%f419, 0f4B400001;
	mov.f32 	%f420, 0f437C0000;
	fma.rm.f32 	%f421, %f418, %f420, %f419;
	add.rn.f32 	%f422, %f421, 0fCB40007F;
	neg.f32 	%f423, %f422;
	mov.f32 	%f424, 0f3FB8AA3B;
	fma.rn.f32 	%f425, %f414, %f424, %f423;
	mov.f32 	%f426, 0f32A57060;
	fma.rn.f32 	%f427, %f414, %f426, %f425;
	mov.b32 	%r372, %f421;
	shl.b32 	%r373, %r372, 23;
	mov.b32 	%f428, %r373;
	ex2.approx.ftz.f32 	%f429, %f427;
	mul.rn.f32 	%f430, %f429, %f428;
	add.rn.f32 	%f431, %f430, 0f00000000;
	sub.rn.f32 	%f432, %f28, %f35;
	fma.rn.f32 	%f433, %f432, %f416, %f415;
	cvt.sat.f32.f32 	%f434, %f433;
	fma.rm.f32 	%f435, %f434, %f420, %f419;
	add.rn.f32 	%f436, %f435, 0fCB40007F;
	neg.f32 	%f437, %f436;
	fma.rn.f32 	%f438, %f432, %f424, %f437;
	fma.rn.f32 	%f439, %f432, %f426, %f438;
	mov.b32 	%r374, %f435;
	shl.b32 	%r375, %r374, 23;
	mov.b32 	%f440, %r375;
	ex2.approx.ftz.f32 	%f441, %f439;
	mul.rn.f32 	%f442, %f441, %f440;
	add.rn.f32 	%f443, %f431, %f442;
	sub.rn.f32 	%f444, %f29, %f35;
	fma.rn.f32 	%f445, %f444, %f416, %f415;
	cvt.sat.f32.f32 	%f446, %f445;
	fma.rm.f32 	%f447, %f446, %f420, %f419;
	add.rn.f32 	%f448, %f447, 0fCB40007F;
	neg.f32 	%f449, %f448;
	fma.rn.f32 	%f450, %f444, %f424, %f449;
	fma.rn.f32 	%f451, %f444, %f426, %f450;
	mov.b32 	%r376, %f447;
	shl.b32 	%r377, %r376, 23;
	mov.b32 	%f452, %r377;
	ex2.approx.ftz.f32 	%f453, %f451;
	mul.rn.f32 	%f454, %f453, %f452;
	add.rn.f32 	%f455, %f443, %f454;
	sub.rn.f32 	%f456, %f30, %f35;
	fma.rn.f32 	%f457, %f456, %f416, %f415;
	cvt.sat.f32.f32 	%f458, %f457;
	fma.rm.f32 	%f459, %f458, %f420, %f419;
	add.rn.f32 	%f460, %f459, 0fCB40007F;
	neg.f32 	%f461, %f460;
	fma.rn.f32 	%f462, %f456, %f424, %f461;
	fma.rn.f32 	%f463, %f456, %f426, %f462;
	mov.b32 	%r378, %f459;
	shl.b32 	%r379, %r378, 23;
	mov.b32 	%f464, %r379;
	ex2.approx.ftz.f32 	%f465, %f463;
	mul.rn.f32 	%f466, %f465, %f464;
	add.rn.f32 	%f467, %f455, %f466;
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 143 13
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r380, %f467;
	mov.u32 	%r381, 2;
	mov.u32 	%r382, 31;
	mov.u32 	%r383, 16;
	mov.u32 	%r384, -1;
	shfl.sync.down.b32 	%r385|%p84, %r380, %r383, %r382, %r384;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f468, %r385;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f469, %f467, %f468;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r386, %f469;
	mov.u32 	%r387, 8;
	shfl.sync.down.b32 	%r388|%p85, %r386, %r387, %r382, %r384;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f470, %r388;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f471, %f469, %f470;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r389, %f471;
	mov.u32 	%r390, 4;
	shfl.sync.down.b32 	%r391|%p86, %r389, %r390, %r382, %r384;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f472, %r391;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f473, %f471, %f472;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r392, %f473;
	shfl.sync.down.b32 	%r393|%p87, %r392, %r381, %r382, %r384;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f474, %r393;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f475, %f473, %f474;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r394, %f475;
	mov.u32 	%r395, 1;
	shfl.sync.down.b32 	%r396|%p88, %r394, %r395, %r382, %r384;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f476, %r396;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f36, %f475, %f476;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p190 bra 	$L__BB10_75;

	st.shared.f32 	[%r9], %f36;

$L__BB10_75:
	.loc	1 0 5
	setp.gt.u32 	%p193, %r1, 31;
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p193 bra 	$L__BB10_80;

	.loc	1 0 5
	setp.gt.u32 	%p90, %r1, 7;
	mov.f32 	%f904, 0f00000000;
	.loc	1 36 5
	@%p90 bra 	$L__BB10_78;

	ld.shared.f32 	%f904, [%r10];

$L__BB10_78:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r397, %f904;
	mov.u32 	%r398, 2;
	mov.u32 	%r399, 31;
	mov.u32 	%r400, 16;
	mov.u32 	%r401, -1;
	shfl.sync.down.b32 	%r402|%p91, %r397, %r400, %r399, %r401;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f478, %r402;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f479, %f904, %f478;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r403, %f479;
	mov.u32 	%r404, 8;
	shfl.sync.down.b32 	%r405|%p92, %r403, %r404, %r399, %r401;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f480, %r405;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f481, %f479, %f480;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r406, %f481;
	mov.u32 	%r407, 4;
	shfl.sync.down.b32 	%r408|%p93, %r406, %r407, %r399, %r401;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f482, %r408;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f483, %f481, %f482;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r409, %f483;
	shfl.sync.down.b32 	%r410|%p94, %r409, %r398, %r399, %r401;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f484, %r410;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f485, %f483, %f484;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r411, %f485;
	mov.u32 	%r412, 1;
	shfl.sync.down.b32 	%r413|%p95, %r411, %r412, %r399, %r401;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f486, %r413;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f39, %f485, %f486;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 90 5
	@%p2 bra 	$L__BB10_80;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f39;

$L__BB10_80:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	ld.shared.f32 	%f40, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 143 13
	@%p2 bra 	$L__BB10_82;

	add.s64 	%rd156, %rd11, %rd142;
	st.global.f32 	[%rd156], %f35;
	add.s64 	%rd157, %rd16, %rd142;
	st.global.f32 	[%rd157], %f40;

$L__BB10_82:
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 143 13
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 144 13
	@%p2 bra 	$L__BB10_85;

	ld.shared.u32 	%r416, [_ZZ10persistentILb0EEv7PayloadiE2id];
	mul.wide.s32 	%rd159, %r416, 4;
	add.s64 	%rd160, %rd6, %rd159;
	ld.global.u32 	%r58, [%rd160];
	.loc	1 145 17
	mul.wide.s32 	%rd161, %r58, 4;
	add.s64 	%rd158, %rd17, %rd161;
	.loc	1 145 17
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 145 17
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string30, inlined_at 6 2283 3
	.loc	6 2684 1, function_name $L__info_string31, inlined_at 6 2718 5
	mov.u32 	%r415, 1;
	// begin inline asm
	atom.add.acq_rel.gpu.s32 %r414,[%rd158],%r415;
	// end inline asm
	.loc	1 145 17
	add.s64 	%rd162, %rd8, %rd161;
	ld.global.u32 	%r417, [%rd162];
	not.b32 	%r418, %r417;
	ld.global.u32 	%r419, [%rd162+4];
	add.s32 	%r420, %r419, %r418;
	setp.ne.s32 	%p99, %r414, %r420;
	@%p99 bra 	$L__BB10_85;

	.loc	1 146 21
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 146 21
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string32, inlined_at 6 2283 3
	.loc	6 2676 1, function_name $L__info_string33, inlined_at 6 2718 5
	// begin inline asm
	atom.add.relaxed.gpu.s32 %r421,[%rd4],%r415;
	// end inline asm
	.loc	1 146 21
	mul.wide.s32 	%rd165, %r421, 4;
	add.s64 	%rd166, %rd15, %rd165;
	add.s32 	%r424, %r125, %r58;
	st.global.u32 	[%rd166], %r424;
	add.s64 	%rd164, %rd10, %rd165;
	.loc	1 146 21
	.loc	3 80 14, function_name $L__info_string34, inlined_at 1 146 21
	.loc	4 93 3, function_name $L__info_string35, inlined_at 3 80 14
	.loc	5 75 3, function_name $L__info_string36, inlined_at 4 93 3
	.loc	6 1180 3, function_name $L__info_string37, inlined_at 5 75 3
	.loc	6 855 3, function_name $L__info_string38, inlined_at 6 1180 3
	.loc	6 1169 5, function_name $L__info_string39, inlined_at 6 855 3
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd164],%r415;
	// end inline asm
	bra.uni 	$L__BB10_85;

$L__BB10_17:
	.loc	1 147 15
	setp.lt.s32 	%p13, %r155, %r5;
	.loc	1 0 0
	sub.s32 	%r23, %r155, %r4;
	.loc	1 147 15
	@%p13 bra 	$L__BB10_27;
	bra.uni 	$L__BB10_18;

$L__BB10_27:
	.loc	1 94 5, function_name $L__info_string57, inlined_at 1 148 13
	cvt.s64.s32 	%rd26, %r23;
	mul.wide.s32 	%rd108, %r23, 4;
	add.s64 	%rd27, %rd8, %rd108;
	ld.global.u32 	%r28, [%rd27];
	add.s32 	%r29, %r28, %r1;
	add.s32 	%r183, %r23, 1;
	mul.wide.s32 	%rd109, %r183, 4;
	add.s64 	%rd28, %rd8, %rd109;
	ld.global.u32 	%r30, [%rd28];
	setp.ge.s32 	%p21, %r29, %r30;
	mov.f32 	%f896, 0fFF800000;
	@%p21 bra 	$L__BB10_34;

	add.s32 	%r184, %r13, %r28;
	max.s32 	%r185, %r30, %r184;
	add.s32 	%r186, %r185, %r12;
	sub.s32 	%r31, %r186, %r28;
	shr.u32 	%r187, %r31, 8;
	add.s32 	%r188, %r187, 1;
	and.b32  	%r32, %r188, 3;
	setp.eq.s32 	%p22, %r32, 0;
	mov.f32 	%f896, 0fFF800000;
	mov.u32 	%r679, %r29;
	@%p22 bra 	$L__BB10_32;

	mul.wide.s32 	%rd110, %r29, 4;
	add.s64 	%rd29, %rd11, %rd110;
	ld.global.f32 	%f213, [%rd29];
	mov.f32 	%f214, 0fFF800000;
	max.f32 	%f896, %f214, %f213;
	add.s32 	%r679, %r29, 256;
	setp.eq.s32 	%p23, %r32, 1;
	@%p23 bra 	$L__BB10_32;

	ld.global.f32 	%f215, [%rd29+1024];
	max.f32 	%f896, %f896, %f215;
	add.s32 	%r679, %r29, 512;
	setp.eq.s32 	%p24, %r32, 2;
	@%p24 bra 	$L__BB10_32;

	ld.global.f32 	%f216, [%rd29+2048];
	max.f32 	%f896, %f896, %f216;
	add.s32 	%r679, %r29, 768;

$L__BB10_32:
	setp.lt.u32 	%p25, %r31, 768;
	@%p25 bra 	$L__BB10_34;

$L__BB10_33:
	mul.wide.s32 	%rd111, %r679, 4;
	add.s64 	%rd112, %rd11, %rd111;
	ld.global.f32 	%f217, [%rd112];
	max.f32 	%f218, %f896, %f217;
	ld.global.f32 	%f219, [%rd112+1024];
	max.f32 	%f220, %f218, %f219;
	ld.global.f32 	%f221, [%rd112+2048];
	max.f32 	%f222, %f220, %f221;
	ld.global.f32 	%f223, [%rd112+3072];
	max.f32 	%f896, %f222, %f223;
	add.s32 	%r679, %r679, 1024;
	setp.lt.s32 	%p26, %r679, %r30;
	@%p26 bra 	$L__BB10_33;

$L__BB10_34:
	.loc	1 95 5, function_name $L__info_string57, inlined_at 1 148 13
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r189, %f896;
	mov.u32 	%r190, 2;
	mov.u32 	%r191, 31;
	mov.u32 	%r192, 16;
	mov.u32 	%r193, -1;
	shfl.sync.down.b32 	%r194|%p27, %r189, %r192, %r191, %r193;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f224, %r194;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f225, %f896, %f224;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r195, %f225;
	mov.u32 	%r196, 8;
	shfl.sync.down.b32 	%r197|%p28, %r195, %r196, %r191, %r193;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f226, %r197;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f227, %f225, %f226;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r198, %f227;
	mov.u32 	%r199, 4;
	shfl.sync.down.b32 	%r200|%p29, %r198, %r199, %r191, %r193;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f228, %r200;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f229, %f227, %f228;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r201, %f229;
	shfl.sync.down.b32 	%r202|%p30, %r201, %r190, %r191, %r193;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f230, %r202;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f231, %f229, %f230;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r203, %f231;
	mov.u32 	%r204, 1;
	shfl.sync.down.b32 	%r205|%p31, %r203, %r204, %r191, %r193;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f232, %r205;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f9, %f231, %f232;
	setp.ne.s32 	%p32, %r6, 0;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p32 bra 	$L__BB10_36;

	st.shared.f32 	[%r7], %f9;

$L__BB10_36:
	.loc	1 0 5
	setp.gt.u32 	%p33, %r1, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p33 bra 	$L__BB10_41;

	.loc	1 0 5
	setp.gt.u32 	%p34, %r1, 7;
	mov.f32 	%f897, 0fFF800000;
	.loc	1 36 5
	@%p34 bra 	$L__BB10_39;

	ld.shared.f32 	%f897, [%r8];

$L__BB10_39:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r206, %f897;
	mov.u32 	%r207, 2;
	mov.u32 	%r208, 31;
	mov.u32 	%r209, 16;
	mov.u32 	%r210, -1;
	shfl.sync.down.b32 	%r211|%p35, %r206, %r209, %r208, %r210;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f234, %r211;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f235, %f897, %f234;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r212, %f235;
	mov.u32 	%r213, 8;
	shfl.sync.down.b32 	%r214|%p36, %r212, %r213, %r208, %r210;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f236, %r214;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f237, %f235, %f236;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r215, %f237;
	mov.u32 	%r216, 4;
	shfl.sync.down.b32 	%r217|%p37, %r215, %r216, %r208, %r210;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f238, %r217;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f239, %f237, %f238;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r218, %f239;
	shfl.sync.down.b32 	%r219|%p38, %r218, %r207, %r208, %r210;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f240, %r219;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f241, %f239, %f240;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r220, %f241;
	mov.u32 	%r221, 1;
	shfl.sync.down.b32 	%r222|%p39, %r220, %r221, %r208, %r210;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f242, %r222;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f12, %f241, %f242;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 95 5
	@%p2 bra 	$L__BB10_41;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f12;

$L__BB10_41:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	ld.shared.f32 	%f13, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 96 5, function_name $L__info_string57, inlined_at 1 148 13
	ld.global.u32 	%r39, [%rd27];
	add.s32 	%r40, %r39, %r1;
	ld.global.u32 	%r41, [%rd28];
	setp.ge.s32 	%p41, %r40, %r41;
	mov.f32 	%f901, 0f00000000;
	@%p41 bra 	$L__BB10_48;

	add.s32 	%r223, %r13, %r39;
	max.s32 	%r224, %r41, %r223;
	add.s32 	%r225, %r224, %r12;
	sub.s32 	%r42, %r225, %r39;
	shr.u32 	%r226, %r42, 8;
	add.s32 	%r227, %r226, 1;
	and.b32  	%r43, %r227, 3;
	setp.eq.s32 	%p42, %r43, 0;
	mov.f32 	%f901, 0f00000000;
	mov.u32 	%r681, %r40;
	@%p42 bra 	$L__BB10_46;

	mul.wide.s32 	%rd113, %r40, 4;
	add.s64 	%rd30, %rd16, %rd113;
	add.s64 	%rd31, %rd11, %rd113;
	ld.global.f32 	%f246, [%rd31];
	sub.rn.f32 	%f247, %f246, %f13;
	mov.f32 	%f248, 0f3F000000;
	mov.f32 	%f249, 0f3BBB989D;
	fma.rn.f32 	%f250, %f247, %f249, %f248;
	cvt.sat.f32.f32 	%f251, %f250;
	mov.f32 	%f252, 0f4B400001;
	mov.f32 	%f253, 0f437C0000;
	fma.rm.f32 	%f254, %f251, %f253, %f252;
	add.rn.f32 	%f255, %f254, 0fCB40007F;
	neg.f32 	%f256, %f255;
	mov.f32 	%f257, 0f3FB8AA3B;
	fma.rn.f32 	%f258, %f247, %f257, %f256;
	mov.f32 	%f259, 0f32A57060;
	fma.rn.f32 	%f260, %f247, %f259, %f258;
	mov.b32 	%r228, %f254;
	shl.b32 	%r229, %r228, 23;
	mov.b32 	%f261, %r229;
	ex2.approx.ftz.f32 	%f262, %f260;
	mul.rn.f32 	%f263, %f262, %f261;
	ld.global.f32 	%f264, [%rd30];
	mul.rn.f32 	%f265, %f264, %f263;
	add.rn.f32 	%f901, %f265, 0f00000000;
	add.s32 	%r681, %r40, 256;
	setp.eq.s32 	%p43, %r43, 1;
	@%p43 bra 	$L__BB10_46;

	ld.global.f32 	%f266, [%rd31+1024];
	sub.rn.f32 	%f267, %f266, %f13;
	fma.rn.f32 	%f270, %f267, %f249, %f248;
	cvt.sat.f32.f32 	%f271, %f270;
	fma.rm.f32 	%f274, %f271, %f253, %f252;
	add.rn.f32 	%f275, %f274, 0fCB40007F;
	neg.f32 	%f276, %f275;
	fma.rn.f32 	%f278, %f267, %f257, %f276;
	fma.rn.f32 	%f280, %f267, %f259, %f278;
	mov.b32 	%r230, %f274;
	shl.b32 	%r231, %r230, 23;
	mov.b32 	%f281, %r231;
	ex2.approx.ftz.f32 	%f282, %f280;
	mul.rn.f32 	%f283, %f282, %f281;
	ld.global.f32 	%f284, [%rd30+1024];
	mul.rn.f32 	%f285, %f284, %f283;
	add.rn.f32 	%f901, %f901, %f285;
	add.s32 	%r681, %r40, 512;
	setp.eq.s32 	%p44, %r43, 2;
	@%p44 bra 	$L__BB10_46;

	ld.global.f32 	%f286, [%rd31+2048];
	sub.rn.f32 	%f287, %f286, %f13;
	mov.f32 	%f288, 0f3F000000;
	mov.f32 	%f289, 0f3BBB989D;
	fma.rn.f32 	%f290, %f287, %f289, %f288;
	cvt.sat.f32.f32 	%f291, %f290;
	mov.f32 	%f292, 0f4B400001;
	mov.f32 	%f293, 0f437C0000;
	fma.rm.f32 	%f294, %f291, %f293, %f292;
	add.rn.f32 	%f295, %f294, 0fCB40007F;
	neg.f32 	%f296, %f295;
	mov.f32 	%f297, 0f3FB8AA3B;
	fma.rn.f32 	%f298, %f287, %f297, %f296;
	mov.f32 	%f299, 0f32A57060;
	fma.rn.f32 	%f300, %f287, %f299, %f298;
	mov.b32 	%r232, %f294;
	shl.b32 	%r233, %r232, 23;
	mov.b32 	%f301, %r233;
	ex2.approx.ftz.f32 	%f302, %f300;
	mul.rn.f32 	%f303, %f302, %f301;
	ld.global.f32 	%f304, [%rd30+2048];
	mul.rn.f32 	%f305, %f304, %f303;
	add.rn.f32 	%f901, %f901, %f305;
	add.s32 	%r681, %r40, 768;

$L__BB10_46:
	setp.lt.u32 	%p45, %r42, 768;
	@%p45 bra 	$L__BB10_48;

$L__BB10_47:
	mul.wide.s32 	%rd114, %r681, 4;
	add.s64 	%rd115, %rd16, %rd114;
	add.s64 	%rd116, %rd11, %rd114;
	ld.global.f32 	%f306, [%rd116];
	sub.rn.f32 	%f307, %f306, %f13;
	mov.f32 	%f308, 0f3F000000;
	mov.f32 	%f309, 0f3BBB989D;
	fma.rn.f32 	%f310, %f307, %f309, %f308;
	cvt.sat.f32.f32 	%f311, %f310;
	mov.f32 	%f312, 0f4B400001;
	mov.f32 	%f313, 0f437C0000;
	fma.rm.f32 	%f314, %f311, %f313, %f312;
	add.rn.f32 	%f315, %f314, 0fCB40007F;
	neg.f32 	%f316, %f315;
	mov.f32 	%f317, 0f3FB8AA3B;
	fma.rn.f32 	%f318, %f307, %f317, %f316;
	mov.f32 	%f319, 0f32A57060;
	fma.rn.f32 	%f320, %f307, %f319, %f318;
	mov.b32 	%r234, %f314;
	shl.b32 	%r235, %r234, 23;
	mov.b32 	%f321, %r235;
	ex2.approx.ftz.f32 	%f322, %f320;
	mul.rn.f32 	%f323, %f322, %f321;
	ld.global.f32 	%f324, [%rd115];
	mul.rn.f32 	%f325, %f324, %f323;
	add.rn.f32 	%f326, %f901, %f325;
	ld.global.f32 	%f327, [%rd116+1024];
	sub.rn.f32 	%f328, %f327, %f13;
	fma.rn.f32 	%f329, %f328, %f309, %f308;
	cvt.sat.f32.f32 	%f330, %f329;
	fma.rm.f32 	%f331, %f330, %f313, %f312;
	add.rn.f32 	%f332, %f331, 0fCB40007F;
	neg.f32 	%f333, %f332;
	fma.rn.f32 	%f334, %f328, %f317, %f333;
	fma.rn.f32 	%f335, %f328, %f319, %f334;
	mov.b32 	%r236, %f331;
	shl.b32 	%r237, %r236, 23;
	mov.b32 	%f336, %r237;
	ex2.approx.ftz.f32 	%f337, %f335;
	mul.rn.f32 	%f338, %f337, %f336;
	ld.global.f32 	%f339, [%rd115+1024];
	mul.rn.f32 	%f340, %f339, %f338;
	add.rn.f32 	%f341, %f326, %f340;
	ld.global.f32 	%f342, [%rd116+2048];
	sub.rn.f32 	%f343, %f342, %f13;
	fma.rn.f32 	%f344, %f343, %f309, %f308;
	cvt.sat.f32.f32 	%f345, %f344;
	fma.rm.f32 	%f346, %f345, %f313, %f312;
	add.rn.f32 	%f347, %f346, 0fCB40007F;
	neg.f32 	%f348, %f347;
	fma.rn.f32 	%f349, %f343, %f317, %f348;
	fma.rn.f32 	%f350, %f343, %f319, %f349;
	mov.b32 	%r238, %f346;
	shl.b32 	%r239, %r238, 23;
	mov.b32 	%f351, %r239;
	ex2.approx.ftz.f32 	%f352, %f350;
	mul.rn.f32 	%f353, %f352, %f351;
	ld.global.f32 	%f354, [%rd115+2048];
	mul.rn.f32 	%f355, %f354, %f353;
	add.rn.f32 	%f356, %f341, %f355;
	ld.global.f32 	%f357, [%rd116+3072];
	sub.rn.f32 	%f358, %f357, %f13;
	fma.rn.f32 	%f359, %f358, %f309, %f308;
	cvt.sat.f32.f32 	%f360, %f359;
	fma.rm.f32 	%f361, %f360, %f313, %f312;
	add.rn.f32 	%f362, %f361, 0fCB40007F;
	neg.f32 	%f363, %f362;
	fma.rn.f32 	%f364, %f358, %f317, %f363;
	fma.rn.f32 	%f365, %f358, %f319, %f364;
	mov.b32 	%r240, %f361;
	shl.b32 	%r241, %r240, 23;
	mov.b32 	%f366, %r241;
	ex2.approx.ftz.f32 	%f367, %f365;
	mul.rn.f32 	%f368, %f367, %f366;
	ld.global.f32 	%f369, [%rd115+3072];
	mul.rn.f32 	%f370, %f369, %f368;
	add.rn.f32 	%f901, %f356, %f370;
	add.s32 	%r681, %r681, 1024;
	setp.lt.s32 	%p46, %r681, %r41;
	@%p46 bra 	$L__BB10_47;

$L__BB10_48:
	.loc	1 0 5
	setp.ne.s32 	%p191, %r6, 0;
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 148 13
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r242, %f901;
	mov.u32 	%r243, 2;
	mov.u32 	%r244, 31;
	mov.u32 	%r245, 16;
	mov.u32 	%r246, -1;
	shfl.sync.down.b32 	%r247|%p47, %r242, %r245, %r244, %r246;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f371, %r247;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f372, %f901, %f371;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r248, %f372;
	mov.u32 	%r249, 8;
	shfl.sync.down.b32 	%r250|%p48, %r248, %r249, %r244, %r246;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f373, %r250;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f374, %f372, %f373;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r251, %f374;
	mov.u32 	%r252, 4;
	shfl.sync.down.b32 	%r253|%p49, %r251, %r252, %r244, %r246;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f375, %r253;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f376, %f374, %f375;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r254, %f376;
	shfl.sync.down.b32 	%r255|%p50, %r254, %r243, %r244, %r246;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f377, %r255;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f378, %f376, %f377;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r256, %f378;
	mov.u32 	%r257, 1;
	shfl.sync.down.b32 	%r258|%p51, %r256, %r257, %r244, %r246;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f379, %r258;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f22, %f378, %f379;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p191 bra 	$L__BB10_50;

	st.shared.f32 	[%r9], %f22;

$L__BB10_50:
	.loc	1 0 5
	setp.gt.u32 	%p192, %r1, 31;
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p192 bra 	$L__BB10_55;

	.loc	1 0 5
	setp.gt.u32 	%p54, %r1, 7;
	mov.f32 	%f902, 0f00000000;
	.loc	1 36 5
	@%p54 bra 	$L__BB10_53;

	ld.shared.f32 	%f902, [%r10];

$L__BB10_53:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r259, %f902;
	mov.u32 	%r260, 2;
	mov.u32 	%r261, 31;
	mov.u32 	%r262, 16;
	mov.u32 	%r263, -1;
	shfl.sync.down.b32 	%r264|%p55, %r259, %r262, %r261, %r263;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f381, %r264;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f382, %f902, %f381;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r265, %f382;
	mov.u32 	%r266, 8;
	shfl.sync.down.b32 	%r267|%p56, %r265, %r266, %r261, %r263;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f383, %r267;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f384, %f382, %f383;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r268, %f384;
	mov.u32 	%r269, 4;
	shfl.sync.down.b32 	%r270|%p57, %r268, %r269, %r261, %r263;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f385, %r270;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f386, %f384, %f385;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r271, %f386;
	shfl.sync.down.b32 	%r272|%p58, %r271, %r260, %r261, %r263;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f387, %r272;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f388, %f386, %f387;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r273, %f388;
	mov.u32 	%r274, 1;
	shfl.sync.down.b32 	%r275|%p59, %r273, %r274, %r261, %r263;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f389, %r275;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f25, %f388, %f389;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 97 5
	@%p2 bra 	$L__BB10_55;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f25;

$L__BB10_55:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	ld.shared.f32 	%f26, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 148 13
	@%p2 bra 	$L__BB10_57;

	shl.b64 	%rd117, %rd26, 2;
	add.s64 	%rd118, %rd12, %rd117;
	st.global.f32 	[%rd118], %f13;
	add.s64 	%rd119, %rd13, %rd117;
	st.global.f32 	[%rd119], %f26;

$L__BB10_57:
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 148 13
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 148 13
	ld.global.u32 	%r50, [%rd27];
	ld.global.u32 	%r51, [%rd28];
	sub.s32 	%r52, %r51, %r50;
	.loc	1 149 13
	@%p2 bra 	$L__BB10_59;

	.loc	1 149 13
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 149 13
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string32, inlined_at 6 2283 3
	.loc	6 2676 1, function_name $L__info_string33, inlined_at 6 2718 5
	// begin inline asm
	atom.add.relaxed.gpu.s32 %r276,[%rd4],%r52;
	// end inline asm
	.loc	1 149 13
	st.shared.u32 	[_ZZ10persistentILb0EEv7PayloadiE4slot], %r276;

$L__BB10_59:
	.loc	1 150 13
	bar.sync 	0;
	.loc	1 151 13
	setp.ge.s32 	%p63, %r1, %r52;
	@%p63 bra 	$L__BB10_85;

	add.s32 	%r278, %r51, %r12;
	sub.s32 	%r53, %r278, %r50;
	shr.u32 	%r279, %r53, 8;
	add.s32 	%r280, %r279, 1;
	and.b32  	%r54, %r280, 3;
	setp.eq.s32 	%p64, %r54, 0;
	mov.u32 	%r683, %r1;
	@%p64 bra 	$L__BB10_64;

	ld.shared.u32 	%r282, [_ZZ10persistentILb0EEv7PayloadiE4slot];
	add.s32 	%r283, %r282, %r1;
	ld.global.u32 	%r284, [%rd27];
	add.s32 	%r285, %r18, %r284;
	mul.wide.s32 	%rd122, %r283, 4;
	add.s64 	%rd123, %rd15, %rd122;
	st.global.u32 	[%rd123], %r285;
	add.s64 	%rd121, %rd10, %rd122;
	.loc	1 151 13
	.loc	3 80 14, function_name $L__info_string34, inlined_at 1 151 13
	.loc	4 93 3, function_name $L__info_string35, inlined_at 3 80 14
	.loc	5 75 3, function_name $L__info_string36, inlined_at 4 93 3
	.loc	6 1180 3, function_name $L__info_string37, inlined_at 5 75 3
	.loc	6 855 3, function_name $L__info_string38, inlined_at 6 1180 3
	.loc	6 1169 5, function_name $L__info_string39, inlined_at 6 855 3
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	mov.u32 	%r281, 1;
	// begin inline asm
	st.release.gpu.b32 [%rd121],%r281;
	// end inline asm
	.loc	1 151 13
	setp.eq.s32 	%p65, %r54, 1;
	mov.u32 	%r683, %r13;
	@%p65 bra 	$L__BB10_64;

	ld.shared.u32 	%r287, [_ZZ10persistentILb0EEv7PayloadiE4slot];
	add.s32 	%r288, %r287, %r13;
	ld.global.u32 	%r289, [%rd27];
	add.s32 	%r290, %r19, %r289;
	mul.wide.s32 	%rd125, %r288, 4;
	add.s64 	%rd126, %rd15, %rd125;
	st.global.u32 	[%rd126], %r290;
	add.s64 	%rd124, %rd10, %rd125;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd124],%r281;
	// end inline asm
	.loc	1 151 13
	setp.eq.s32 	%p66, %r54, 2;
	mov.u32 	%r683, %r15;
	@%p66 bra 	$L__BB10_64;

	ld.shared.u32 	%r292, [_ZZ10persistentILb0EEv7PayloadiE4slot];
	add.s32 	%r293, %r292, %r15;
	ld.global.u32 	%r294, [%rd27];
	add.s32 	%r295, %r20, %r294;
	mul.wide.s32 	%rd128, %r293, 4;
	add.s64 	%rd129, %rd15, %rd128;
	st.global.u32 	[%rd129], %r295;
	add.s64 	%rd127, %rd10, %rd128;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	mov.u32 	%r291, 1;
	// begin inline asm
	st.release.gpu.b32 [%rd127],%r291;
	// end inline asm
	mov.u32 	%r683, %r16;

$L__BB10_64:
	.loc	1 151 13
	setp.lt.u32 	%p67, %r53, 768;
	@%p67 bra 	$L__BB10_85;

$L__BB10_65:
	ld.shared.u32 	%r300, [_ZZ10persistentILb0EEv7PayloadiE4slot];
	add.s32 	%r301, %r300, %r683;
	add.s32 	%r302, %r125, %r683;
	add.s32 	%r303, %r302, %r17;
	ld.global.u32 	%r304, [%rd27];
	add.s32 	%r305, %r303, %r304;
	mul.wide.s32 	%rd134, %r301, 4;
	add.s64 	%rd135, %rd15, %rd134;
	st.global.u32 	[%rd135], %r305;
	add.s64 	%rd130, %rd10, %rd134;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	mov.u32 	%r299, 1;
	// begin inline asm
	st.release.gpu.b32 [%rd130],%r299;
	// end inline asm
	.loc	1 151 13
	ld.shared.u32 	%r306, [_ZZ10persistentILb0EEv7PayloadiE4slot];
	add.s32 	%r307, %r683, 256;
	add.s32 	%r308, %r306, %r307;
	add.s32 	%r309, %r125, %r307;
	add.s32 	%r310, %r309, %r17;
	ld.global.u32 	%r311, [%rd27];
	add.s32 	%r312, %r310, %r311;
	mul.wide.s32 	%rd136, %r308, 4;
	add.s64 	%rd137, %rd15, %rd136;
	st.global.u32 	[%rd137], %r312;
	add.s64 	%rd131, %rd10, %rd136;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd131],%r299;
	// end inline asm
	.loc	1 151 13
	ld.shared.u32 	%r313, [_ZZ10persistentILb0EEv7PayloadiE4slot];
	add.s32 	%r314, %r683, 512;
	add.s32 	%r315, %r313, %r314;
	add.s32 	%r316, %r125, %r314;
	add.s32 	%r317, %r316, %r17;
	ld.global.u32 	%r318, [%rd27];
	add.s32 	%r319, %r317, %r318;
	mul.wide.s32 	%rd138, %r315, 4;
	add.s64 	%rd139, %rd15, %rd138;
	st.global.u32 	[%rd139], %r319;
	add.s64 	%rd132, %rd10, %rd138;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd132],%r299;
	// end inline asm
	.loc	1 151 13
	ld.shared.u32 	%r320, [_ZZ10persistentILb0EEv7PayloadiE4slot];
	add.s32 	%r321, %r683, 768;
	add.s32 	%r322, %r320, %r321;
	add.s32 	%r323, %r125, %r321;
	add.s32 	%r324, %r323, %r17;
	ld.global.u32 	%r325, [%rd27];
	add.s32 	%r326, %r324, %r325;
	mul.wide.s32 	%rd140, %r322, 4;
	add.s64 	%rd141, %rd15, %rd140;
	st.global.u32 	[%rd141], %r326;
	add.s64 	%rd133, %rd10, %rd140;
	.loc	6 938 1, function_name $L__info_string40, inlined_at 6 1169 5
	// begin inline asm
	st.release.gpu.b32 [%rd133],%r299;
	// end inline asm
	.loc	1 151 13
	add.s32 	%r683, %r683, 1024;
	setp.lt.s32 	%p68, %r683, %r52;
	@%p68 bra 	$L__BB10_65;
	bra.uni 	$L__BB10_85;

$L__BB10_18:
	.loc	1 0 13
	setp.gt.s32 	%p14, %r1, 1023;
	.loc	1 152 14
	sub.s32 	%r157, %r23, %r124;
	.loc	1 152 14
	.loc	1 100 5, function_name $L__info_string60, inlined_at 1 152 14
	mul.wide.s32 	%rd91, %r157, 4;
	add.s64 	%rd92, %rd6, %rd91;
	ld.global.u32 	%r158, [%rd92];
	cvt.s64.s32 	%rd21, %r158;
	mul.wide.s32 	%rd93, %r158, 4;
	add.s64 	%rd94, %rd7, %rd93;
	add.s64 	%rd95, %rd8, %rd93;
	ld.global.u32 	%r159, [%rd95];
	sub.s32 	%r160, %r157, %r159;
	shl.b32 	%r161, %r160, 10;
	ld.global.u32 	%r162, [%rd94];
	add.s32 	%r24, %r161, %r162;
	.loc	1 101 5, function_name $L__info_string60, inlined_at 1 152 14
	@%p14 bra 	$L__BB10_25;

	.loc	1 0 5
	setp.eq.s32 	%p15, %r14, 0;
	shl.b64 	%rd96, %rd21, 2;
	add.s64 	%rd22, %rd12, %rd96;
	add.s64 	%rd23, %rd13, %rd96;
	.loc	1 101 5
	mov.u32 	%r677, %r1;
	@%p15 bra 	$L__BB10_23;

	.loc	1 0 5
	setp.eq.s32 	%p16, %r14, 1;
	.loc	1 101 5
	add.s32 	%r163, %r24, %r1;
	mul.wide.s32 	%rd97, %r163, 4;
	add.s64 	%rd98, %rd9, %rd97;
	ld.global.f32 	%f81, [%rd22];
	ld.global.f32 	%f82, [%rd98];
	sub.rn.f32 	%f83, %f82, %f81;
	mov.f32 	%f84, 0f3F000000;
	mov.f32 	%f85, 0f3BBB989D;
	fma.rn.f32 	%f86, %f83, %f85, %f84;
	cvt.sat.f32.f32 	%f87, %f86;
	mov.f32 	%f88, 0f4B400001;
	mov.f32 	%f89, 0f437C0000;
	fma.rm.f32 	%f90, %f87, %f89, %f88;
	add.rn.f32 	%f91, %f90, 0fCB40007F;
	neg.f32 	%f92, %f91;
	mov.f32 	%f93, 0f3FB8AA3B;
	fma.rn.f32 	%f94, %f83, %f93, %f92;
	mov.f32 	%f95, 0f32A57060;
	fma.rn.f32 	%f96, %f83, %f95, %f94;
	mov.b32 	%r164, %f90;
	shl.b32 	%r165, %r164, 23;
	mov.b32 	%f97, %r165;
	ex2.approx.ftz.f32 	%f98, %f96;
	mul.rn.f32 	%f99, %f98, %f97;
	ld.global.f32 	%f100, [%rd23];
	div.rn.f32 	%f101, %f99, %f100;
	add.s64 	%rd99, %rd14, %rd97;
	st.global.f32 	[%rd99], %f101;
	mov.u32 	%r677, %r13;
	@%p16 bra 	$L__BB10_23;

	.loc	1 0 5
	setp.eq.s32 	%p17, %r14, 2;
	.loc	1 101 5
	add.s32 	%r166, %r24, %r13;
	mul.wide.s32 	%rd100, %r166, 4;
	add.s64 	%rd24, %rd9, %rd100;
	ld.global.f32 	%f102, [%rd22];
	ld.global.f32 	%f103, [%rd24];
	sub.rn.f32 	%f104, %f103, %f102;
	fma.rn.f32 	%f107, %f104, %f85, %f84;
	cvt.sat.f32.f32 	%f108, %f107;
	fma.rm.f32 	%f111, %f108, %f89, %f88;
	add.rn.f32 	%f112, %f111, 0fCB40007F;
	neg.f32 	%f113, %f112;
	fma.rn.f32 	%f115, %f104, %f93, %f113;
	fma.rn.f32 	%f117, %f104, %f95, %f115;
	mov.b32 	%r167, %f111;
	shl.b32 	%r168, %r167, 23;
	mov.b32 	%f118, %r168;
	ex2.approx.ftz.f32 	%f119, %f117;
	mul.rn.f32 	%f120, %f119, %f118;
	ld.global.f32 	%f121, [%rd23];
	div.rn.f32 	%f122, %f120, %f121;
	add.s64 	%rd25, %rd14, %rd100;
	st.global.f32 	[%rd25], %f122;
	mov.u32 	%r677, %r15;
	@%p17 bra 	$L__BB10_23;

	ld.global.f32 	%f123, [%rd22];
	ld.global.f32 	%f124, [%rd24+1024];
	sub.rn.f32 	%f125, %f124, %f123;
	mov.f32 	%f126, 0f3F000000;
	mov.f32 	%f127, 0f3BBB989D;
	fma.rn.f32 	%f128, %f125, %f127, %f126;
	cvt.sat.f32.f32 	%f129, %f128;
	mov.f32 	%f130, 0f4B400001;
	mov.f32 	%f131, 0f437C0000;
	fma.rm.f32 	%f132, %f129, %f131, %f130;
	add.rn.f32 	%f133, %f132, 0fCB40007F;
	neg.f32 	%f134, %f133;
	mov.f32 	%f135, 0f3FB8AA3B;
	fma.rn.f32 	%f136, %f125, %f135, %f134;
	mov.f32 	%f137, 0f32A57060;
	fma.rn.f32 	%f138, %f125, %f137, %f136;
	mov.b32 	%r169, %f132;
	shl.b32 	%r170, %r169, 23;
	mov.b32 	%f139, %r170;
	ex2.approx.ftz.f32 	%f140, %f138;
	mul.rn.f32 	%f141, %f140, %f139;
	ld.global.f32 	%f142, [%rd23];
	div.rn.f32 	%f143, %f141, %f142;
	st.global.f32 	[%rd25+1024], %f143;
	mov.u32 	%r677, %r16;

$L__BB10_23:
	.loc	1 0 5
	setp.lt.u32 	%p18, %r11, 768;
	.loc	1 101 5
	@%p18 bra 	$L__BB10_25;

$L__BB10_24:
	add.s32 	%r171, %r24, %r677;
	mul.wide.s32 	%rd101, %r171, 4;
	add.s64 	%rd102, %rd9, %rd101;
	ld.global.f32 	%f144, [%rd22];
	ld.global.f32 	%f145, [%rd102];
	sub.rn.f32 	%f146, %f145, %f144;
	mov.f32 	%f147, 0f3F000000;
	mov.f32 	%f148, 0f3BBB989D;
	fma.rn.f32 	%f149, %f146, %f148, %f147;
	cvt.sat.f32.f32 	%f150, %f149;
	mov.f32 	%f151, 0f4B400001;
	mov.f32 	%f152, 0f437C0000;
	fma.rm.f32 	%f153, %f150, %f152, %f151;
	add.rn.f32 	%f154, %f153, 0fCB40007F;
	neg.f32 	%f155, %f154;
	mov.f32 	%f156, 0f3FB8AA3B;
	fma.rn.f32 	%f157, %f146, %f156, %f155;
	mov.f32 	%f158, 0f32A57060;
	fma.rn.f32 	%f159, %f146, %f158, %f157;
	mov.b32 	%r172, %f153;
	shl.b32 	%r173, %r172, 23;
	mov.b32 	%f160, %r173;
	ex2.approx.ftz.f32 	%f161, %f159;
	mul.rn.f32 	%f162, %f161, %f160;
	ld.global.f32 	%f163, [%rd23];
	div.rn.f32 	%f164, %f162, %f163;
	add.s64 	%rd103, %rd14, %rd101;
	st.global.f32 	[%rd103], %f164;
	add.s32 	%r174, %r171, 256;
	mul.wide.s32 	%rd104, %r174, 4;
	add.s64 	%rd105, %rd9, %rd104;
	ld.global.f32 	%f165, [%rd22];
	ld.global.f32 	%f166, [%rd105];
	sub.rn.f32 	%f167, %f166, %f165;
	fma.rn.f32 	%f168, %f167, %f148, %f147;
	cvt.sat.f32.f32 	%f169, %f168;
	fma.rm.f32 	%f170, %f169, %f152, %f151;
	add.rn.f32 	%f171, %f170, 0fCB40007F;
	neg.f32 	%f172, %f171;
	fma.rn.f32 	%f173, %f167, %f156, %f172;
	fma.rn.f32 	%f174, %f167, %f158, %f173;
	mov.b32 	%r175, %f170;
	shl.b32 	%r176, %r175, 23;
	mov.b32 	%f175, %r176;
	ex2.approx.ftz.f32 	%f176, %f174;
	mul.rn.f32 	%f177, %f176, %f175;
	ld.global.f32 	%f178, [%rd23];
	div.rn.f32 	%f179, %f177, %f178;
	add.s64 	%rd106, %rd14, %rd104;
	st.global.f32 	[%rd106], %f179;
	ld.global.f32 	%f180, [%rd22];
	ld.global.f32 	%f181, [%rd105+1024];
	sub.rn.f32 	%f182, %f181, %f180;
	fma.rn.f32 	%f183, %f182, %f148, %f147;
	cvt.sat.f32.f32 	%f184, %f183;
	fma.rm.f32 	%f185, %f184, %f152, %f151;
	add.rn.f32 	%f186, %f185, 0fCB40007F;
	neg.f32 	%f187, %f186;
	fma.rn.f32 	%f188, %f182, %f156, %f187;
	fma.rn.f32 	%f189, %f182, %f158, %f188;
	mov.b32 	%r177, %f185;
	shl.b32 	%r178, %r177, 23;
	mov.b32 	%f190, %r178;
	ex2.approx.ftz.f32 	%f191, %f189;
	mul.rn.f32 	%f192, %f191, %f190;
	ld.global.f32 	%f193, [%rd23];
	div.rn.f32 	%f194, %f192, %f193;
	st.global.f32 	[%rd106+1024], %f194;
	ld.global.f32 	%f195, [%rd22];
	ld.global.f32 	%f196, [%rd105+2048];
	sub.rn.f32 	%f197, %f196, %f195;
	fma.rn.f32 	%f198, %f197, %f148, %f147;
	cvt.sat.f32.f32 	%f199, %f198;
	fma.rm.f32 	%f200, %f199, %f152, %f151;
	add.rn.f32 	%f201, %f200, 0fCB40007F;
	neg.f32 	%f202, %f201;
	fma.rn.f32 	%f203, %f197, %f156, %f202;
	fma.rn.f32 	%f204, %f197, %f158, %f203;
	mov.b32 	%r179, %f200;
	shl.b32 	%r180, %r179, 23;
	mov.b32 	%f205, %r180;
	ex2.approx.ftz.f32 	%f206, %f204;
	mul.rn.f32 	%f207, %f206, %f205;
	ld.global.f32 	%f208, [%rd23];
	div.rn.f32 	%f209, %f207, %f208;
	st.global.f32 	[%rd106+2048], %f209;
	add.s32 	%r27, %r677, 1024;
	setp.lt.s32 	%p19, %r677, 0;
	mov.u32 	%r677, %r27;
	@%p19 bra 	$L__BB10_24;

$L__BB10_25:
	.loc	1 102 5, function_name $L__info_string60, inlined_at 1 152 14
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 102 5
	bar.sync 	0;
	.loc	1 152 14
	@%p2 bra 	$L__BB10_85;

	.loc	1 152 14
	.loc	3 81 13, function_name $L__info_string26, inlined_at 1 152 14
	.loc	4 166 3, function_name $L__info_string27, inlined_at 3 81 13
	.loc	6 2733 3, function_name $L__info_string28, inlined_at 4 166 3
	.loc	6 2283 3, function_name $L__info_string29, inlined_at 6 2733 3
	.loc	6 2718 5, function_name $L__info_string42, inlined_at 6 2283 3
	.loc	6 2680 1, function_name $L__info_string43, inlined_at 6 2718 5
	mov.u32 	%r182, 1;
	// begin inline asm
	atom.add.release.gpu.s32 %r181,[%rd2],%r182;
	// end inline asm
	.loc	1 152 14
	bra.uni 	$L__BB10_85;

$L__BB10_12:
	.loc	1 131 25
	cvt.s64.s32 	%rd18, %r139;
	mul.wide.s32 	%rd87, %r139, 4;
	add.s64 	%rd86, %rd10, %rd87;
	.loc	1 131 25
	.loc	3 80 13, function_name $L__info_string6, inlined_at 1 131 25
	.loc	4 104 3, function_name $L__info_string7, inlined_at 3 80 13
	.loc	5 61 3, function_name $L__info_string8, inlined_at 4 104 3
	.loc	6 840 3, function_name $L__info_string9, inlined_at 5 61 3
	.loc	6 97 3, function_name $L__info_string10, inlined_at 6 840 3
	.loc	6 829 5, function_name $L__info_string11, inlined_at 6 97 3
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r150,[%rd86];
	// end inline asm
	.loc	1 131 25
	setp.ne.s32 	%p9, %r150, 0;
	@%p9 bra 	$L__BB10_14;

$L__BB10_13:
	.loc	1 131 25
	.loc	7 169 5, function_name $L__info_string21, inlined_at 1 131 25
	mov.u32 	%r151, 32;
	// begin inline asm
	nanosleep.u32 %r151;
	// end inline asm
	.loc	6 286 1, function_name $L__info_string12, inlined_at 6 829 5
	// begin inline asm
	ld.acquire.gpu.b32 %r152,[%rd86];
	// end inline asm
	.loc	1 131 25
	setp.eq.s32 	%p10, %r152, 0;
	@%p10 bra 	$L__BB10_13;

$L__BB10_14:
	.loc	1 132 25
	shl.b64 	%rd89, %rd18, 2;
	add.s64 	%rd90, %rd15, %rd89;
	ld.global.u32 	%r153, [%rd90];
	st.shared.u32 	[_ZZ10persistentILb0EEv7PayloadiE2id], %r153;
	bra.uni 	$L__BB10_15;

$L__BB10_8:
	.loc	1 137 17
	st.shared.u32 	[_ZZ10persistentILb0EEv7PayloadiE2id], %r141;
	bra.uni 	$L__BB10_15;

$L__BB10_86:
	.loc	1 115 9
	.loc	9 421 5, function_name $L__info_string44, inlined_at 1 115 9
	.loc	10 92 9, function_name $L__info_string45, inlined_at 9 421 5
	.loc	10 66 9, function_name $L__info_string46, inlined_at 10 92 9
	.loc	10 83 96, function_name $L__info_string47, inlined_at 10 66 9
	// begin inline asm
	mov.u32 %r425, %envreg2;
	// end inline asm
	.loc	10 66 9, function_name $L__info_string46, inlined_at 10 92 9
	cvt.u64.u32 	%rd167, %r425;
	.loc	10 67 9, function_name $L__info_string46, inlined_at 10 92 9
	.loc	10 82 96, function_name $L__info_string48, inlined_at 10 67 9
	// begin inline asm
	mov.u32 %r426, %envreg1;
	// end inline asm
	.loc	10 67 9, function_name $L__info_string46, inlined_at 10 92 9
	cvt.u64.u32 	%rd168, %r426;
	.loc	10 69 9, function_name $L__info_string46, inlined_at 10 92 9
	bfi.b64 	%rd32, %rd168, %rd167, 32, 32;
	.loc	1 116 9
	ld.param.u32 	%r59, [%rd68+140];
	mov.u32 	%r691, %ctaid.x;
	setp.ge.s32 	%p100, %r691, %r59;
	@%p100 bra 	$L__BB10_105;

	.loc	1 0 9
	ld.param.u64 	%rd169, [%rd68+64];
	cvta.to.global.u64 	%rd33, %rd169;
	ld.param.u64 	%rd170, [%rd68+48];
	cvta.to.global.u64 	%rd34, %rd170;
	ld.param.u64 	%rd171, [%rd68+56];
	cvta.to.global.u64 	%rd35, %rd171;
	ld.param.u64 	%rd172, [%rd68];
	.loc	1 116 9
	.loc	1 86 5, function_name $L__info_string58, inlined_at 1 116 9
	cvta.to.global.u64 	%rd36, %rd172;
	mov.u32 	%r61, %tid.x;
	and.b32  	%r62, %r61, 31;
	shr.u32 	%r427, %r61, 3;
	and.b32  	%r428, %r427, 536870908;
	mov.u32 	%r429, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r63, %r429, %r428;
	shl.b32 	%r430, %r61, 2;
	add.s32 	%r64, %r429, %r430;
	mov.u32 	%r431, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r65, %r431, %r428;
	add.s32 	%r66, %r431, %r430;
	ld.param.u64 	%rd173, [%rd68+16];
	cvta.to.global.u64 	%rd37, %rd173;
	ld.param.u64 	%rd174, [%rd68+24];
	.loc	1 116 9
	cvta.to.global.u64 	%rd38, %rd174;
	mov.u32 	%r67, %nctaid.x;
	mov.u32 	%r685, %r691;

$L__BB10_88:
	.loc	1 83 5, function_name $L__info_string58, inlined_at 1 116 9
	cvt.s64.s32 	%rd39, %r685;
	mul.wide.s32 	%rd175, %r685, 4;
	add.s64 	%rd176, %rd33, %rd175;
	ld.global.u32 	%r432, [%rd176];
	mul.wide.s32 	%rd177, %r432, 4;
	add.s64 	%rd178, %rd34, %rd177;
	add.s64 	%rd179, %rd35, %rd177;
	ld.global.u32 	%r433, [%rd179];
	sub.s32 	%r434, %r685, %r433;
	shl.b32 	%r435, %r434, 10;
	ld.global.u32 	%r436, [%rd178];
	add.s32 	%r437, %r436, %r61;
	add.s32 	%r438, %r437, %r435;
	.loc	1 86 5, function_name $L__info_string58, inlined_at 1 116 9
	mul.wide.u32 	%rd180, %r438, 4;
	add.s64 	%rd181, %rd36, %rd180;
	ld.global.f32 	%f41, [%rd181];
	mov.f32 	%f487, 0fFF800000;
	max.f32 	%f488, %f487, %f41;
	add.s32 	%r439, %r438, 256;
	mul.wide.u32 	%rd182, %r439, 4;
	add.s64 	%rd183, %rd36, %rd182;
	ld.global.f32 	%f42, [%rd183];
	max.f32 	%f489, %f488, %f42;
	add.s32 	%r440, %r438, 512;
	mul.wide.u32 	%rd184, %r440, 4;
	add.s64 	%rd185, %rd36, %rd184;
	ld.global.f32 	%f43, [%rd185];
	max.f32 	%f490, %f489, %f43;
	add.s32 	%r441, %r438, 768;
	mul.wide.u32 	%rd186, %r441, 4;
	add.s64 	%rd187, %rd36, %rd186;
	ld.global.f32 	%f44, [%rd187];
	max.f32 	%f491, %f490, %f44;
	.loc	1 87 5, function_name $L__info_string58, inlined_at 1 116 9
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r442, %f491;
	mov.u32 	%r443, 2;
	mov.u32 	%r444, 31;
	mov.u32 	%r445, 16;
	mov.u32 	%r446, -1;
	shfl.sync.down.b32 	%r447|%p101, %r442, %r445, %r444, %r446;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f492, %r447;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f493, %f491, %f492;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r448, %f493;
	mov.u32 	%r449, 8;
	shfl.sync.down.b32 	%r450|%p102, %r448, %r449, %r444, %r446;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f494, %r450;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f495, %f493, %f494;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r451, %f495;
	mov.u32 	%r452, 4;
	shfl.sync.down.b32 	%r453|%p103, %r451, %r452, %r444, %r446;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f496, %r453;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f497, %f495, %f496;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r454, %f497;
	shfl.sync.down.b32 	%r455|%p104, %r454, %r443, %r444, %r446;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f498, %r455;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f499, %f497, %f498;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r456, %f499;
	mov.u32 	%r457, 1;
	shfl.sync.down.b32 	%r458|%p105, %r456, %r457, %r444, %r446;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f500, %r458;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f45, %f499, %f500;
	setp.ne.s32 	%p106, %r62, 0;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p106 bra 	$L__BB10_90;

	st.shared.f32 	[%r63], %f45;

$L__BB10_90:
	.loc	1 0 5
	setp.gt.u32 	%p107, %r61, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 87 5
	@%p107 bra 	$L__BB10_95;

	.loc	1 0 5
	setp.gt.u32 	%p108, %r61, 7;
	mov.f32 	%f905, 0fFF800000;
	.loc	1 36 5
	@%p108 bra 	$L__BB10_93;

	ld.shared.f32 	%f905, [%r64];

$L__BB10_93:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r459, %f905;
	mov.u32 	%r460, 2;
	mov.u32 	%r461, 31;
	mov.u32 	%r462, 16;
	mov.u32 	%r463, -1;
	shfl.sync.down.b32 	%r464|%p109, %r459, %r462, %r461, %r463;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f502, %r464;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f503, %f905, %f502;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r465, %f503;
	mov.u32 	%r466, 8;
	shfl.sync.down.b32 	%r467|%p110, %r465, %r466, %r461, %r463;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f504, %r467;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f505, %f503, %f504;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r468, %f505;
	mov.u32 	%r469, 4;
	shfl.sync.down.b32 	%r470|%p111, %r468, %r469, %r461, %r463;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f506, %r470;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f507, %f505, %f506;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r471, %f507;
	shfl.sync.down.b32 	%r472|%p112, %r471, %r460, %r461, %r463;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f508, %r472;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f509, %f507, %f508;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r473, %f509;
	mov.u32 	%r474, 1;
	shfl.sync.down.b32 	%r475|%p113, %r473, %r474, %r461, %r463;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f510, %r475;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f48, %f509, %f510;
	setp.ne.s32 	%p114, %r61, 0;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 87 5
	@%p114 bra 	$L__BB10_95;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f48;

$L__BB10_95:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	ld.shared.f32 	%f49, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 89 5, function_name $L__info_string58, inlined_at 1 116 9
	sub.rn.f32 	%f511, %f41, %f49;
	mov.f32 	%f512, 0f3F000000;
	mov.f32 	%f513, 0f3BBB989D;
	fma.rn.f32 	%f514, %f511, %f513, %f512;
	cvt.sat.f32.f32 	%f515, %f514;
	mov.f32 	%f516, 0f4B400001;
	mov.f32 	%f517, 0f437C0000;
	fma.rm.f32 	%f518, %f515, %f517, %f516;
	add.rn.f32 	%f519, %f518, 0fCB40007F;
	neg.f32 	%f520, %f519;
	mov.f32 	%f521, 0f3FB8AA3B;
	fma.rn.f32 	%f522, %f511, %f521, %f520;
	mov.f32 	%f523, 0f32A57060;
	fma.rn.f32 	%f524, %f511, %f523, %f522;
	mov.b32 	%r476, %f518;
	shl.b32 	%r477, %r476, 23;
	mov.b32 	%f525, %r477;
	ex2.approx.ftz.f32 	%f526, %f524;
	mul.rn.f32 	%f527, %f526, %f525;
	add.rn.f32 	%f528, %f527, 0f00000000;
	sub.rn.f32 	%f529, %f42, %f49;
	fma.rn.f32 	%f530, %f529, %f513, %f512;
	cvt.sat.f32.f32 	%f531, %f530;
	fma.rm.f32 	%f532, %f531, %f517, %f516;
	add.rn.f32 	%f533, %f532, 0fCB40007F;
	neg.f32 	%f534, %f533;
	fma.rn.f32 	%f535, %f529, %f521, %f534;
	fma.rn.f32 	%f536, %f529, %f523, %f535;
	mov.b32 	%r478, %f532;
	shl.b32 	%r479, %r478, 23;
	mov.b32 	%f537, %r479;
	ex2.approx.ftz.f32 	%f538, %f536;
	mul.rn.f32 	%f539, %f538, %f537;
	add.rn.f32 	%f540, %f528, %f539;
	sub.rn.f32 	%f541, %f43, %f49;
	fma.rn.f32 	%f542, %f541, %f513, %f512;
	cvt.sat.f32.f32 	%f543, %f542;
	fma.rm.f32 	%f544, %f543, %f517, %f516;
	add.rn.f32 	%f545, %f544, 0fCB40007F;
	neg.f32 	%f546, %f545;
	fma.rn.f32 	%f547, %f541, %f521, %f546;
	fma.rn.f32 	%f548, %f541, %f523, %f547;
	mov.b32 	%r480, %f544;
	shl.b32 	%r481, %r480, 23;
	mov.b32 	%f549, %r481;
	ex2.approx.ftz.f32 	%f550, %f548;
	mul.rn.f32 	%f551, %f550, %f549;
	add.rn.f32 	%f552, %f540, %f551;
	sub.rn.f32 	%f553, %f44, %f49;
	fma.rn.f32 	%f554, %f553, %f513, %f512;
	cvt.sat.f32.f32 	%f555, %f554;
	fma.rm.f32 	%f556, %f555, %f517, %f516;
	add.rn.f32 	%f557, %f556, 0fCB40007F;
	neg.f32 	%f558, %f557;
	fma.rn.f32 	%f559, %f553, %f521, %f558;
	fma.rn.f32 	%f560, %f553, %f523, %f559;
	mov.b32 	%r482, %f556;
	shl.b32 	%r483, %r482, 23;
	mov.b32 	%f561, %r483;
	ex2.approx.ftz.f32 	%f562, %f560;
	mul.rn.f32 	%f563, %f562, %f561;
	add.rn.f32 	%f564, %f552, %f563;
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 116 9
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r484, %f564;
	mov.u32 	%r485, 2;
	mov.u32 	%r486, 31;
	mov.u32 	%r487, 16;
	mov.u32 	%r488, -1;
	shfl.sync.down.b32 	%r489|%p116, %r484, %r487, %r486, %r488;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f565, %r489;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f566, %f564, %f565;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r490, %f566;
	mov.u32 	%r491, 8;
	shfl.sync.down.b32 	%r492|%p117, %r490, %r491, %r486, %r488;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f567, %r492;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f568, %f566, %f567;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r493, %f568;
	mov.u32 	%r494, 4;
	shfl.sync.down.b32 	%r495|%p118, %r493, %r494, %r486, %r488;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f569, %r495;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f570, %f568, %f569;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r496, %f570;
	shfl.sync.down.b32 	%r497|%p119, %r496, %r485, %r486, %r488;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f571, %r497;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f572, %f570, %f571;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r498, %f572;
	mov.u32 	%r499, 1;
	shfl.sync.down.b32 	%r500|%p120, %r498, %r499, %r486, %r488;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f573, %r500;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f50, %f572, %f573;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p106 bra 	$L__BB10_97;

	st.shared.f32 	[%r65], %f50;

$L__BB10_97:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p107 bra 	$L__BB10_102;

	.loc	1 0 5
	setp.gt.u32 	%p122, %r61, 7;
	mov.f32 	%f906, 0f00000000;
	.loc	1 36 5
	@%p122 bra 	$L__BB10_100;

	ld.shared.f32 	%f906, [%r66];

$L__BB10_100:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r501, %f906;
	mov.u32 	%r502, 2;
	mov.u32 	%r503, 31;
	mov.u32 	%r504, 16;
	mov.u32 	%r505, -1;
	shfl.sync.down.b32 	%r506|%p123, %r501, %r504, %r503, %r505;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f575, %r506;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f576, %f906, %f575;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r507, %f576;
	mov.u32 	%r508, 8;
	shfl.sync.down.b32 	%r509|%p124, %r507, %r508, %r503, %r505;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f577, %r509;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f578, %f576, %f577;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r510, %f578;
	mov.u32 	%r511, 4;
	shfl.sync.down.b32 	%r512|%p125, %r510, %r511, %r503, %r505;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f579, %r512;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f580, %f578, %f579;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r513, %f580;
	shfl.sync.down.b32 	%r514|%p126, %r513, %r502, %r503, %r505;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f581, %r514;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f582, %f580, %f581;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r515, %f582;
	mov.u32 	%r516, 1;
	shfl.sync.down.b32 	%r517|%p127, %r515, %r516, %r503, %r505;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f583, %r517;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f53, %f582, %f583;
	setp.ne.s32 	%p128, %r61, 0;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 90 5
	@%p128 bra 	$L__BB10_102;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f53;

$L__BB10_102:
	.loc	1 0 9
	setp.ne.s32 	%p129, %r61, 0;
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	ld.shared.f32 	%f54, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 116 9
	@%p129 bra 	$L__BB10_104;

	shl.b64 	%rd188, %rd39, 2;
	add.s64 	%rd189, %rd37, %rd188;
	st.global.f32 	[%rd189], %f49;
	add.s64 	%rd190, %rd38, %rd188;
	st.global.f32 	[%rd190], %f54;

$L__BB10_104:
	.loc	1 0 5
	cvt.u32.u64 	%r518, %rd39;
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 116 9
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 116 9
	add.s32 	%r685, %r518, %r67;
	setp.lt.s32 	%p130, %r685, %r59;
	@%p130 bra 	$L__BB10_88;

$L__BB10_105:
	.loc	1 117 9
	.loc	9 339 9, function_name $L__info_string49, inlined_at 1 117 9
	.loc	9 335 37, function_name $L__info_string50, inlined_at 9 339 9
	setp.ne.s64 	%p131, %rd32, 0;
	.loc	9 339 9, function_name $L__info_string49, inlined_at 1 117 9
	@%p131 bra 	$L__BB10_107;

	.loc	9 340 13, function_name $L__info_string49, inlined_at 1 117 9
	// begin inline asm
	trap;
	// end inline asm

$L__BB10_107:
	.loc	9 342 9, function_name $L__info_string49, inlined_at 1 117 9
	add.s64 	%rd40, %rd32, 4;
	.loc	9 342 9, function_name $L__info_string49, inlined_at 1 117 9
	.loc	11 381 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 71 5, function_name $L__info_string52, inlined_at 11 381 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 71 5
	barrier.sync 	0;
	.loc	12 73 5, function_name $L__info_string52, inlined_at 11 381 13
	.loc	12 65 5, function_name $L__info_string54, inlined_at 12 73 5
	mov.u32 	%r519, %tid.y;
	mov.u32 	%r70, %tid.x;
	add.s32 	%r71, %r70, %r519;
	mov.u32 	%r520, %tid.z;
	neg.s32 	%r72, %r520;
	setp.ne.s32 	%p132, %r71, %r72;
	.loc	12 73 5, function_name $L__info_string52, inlined_at 11 381 13
	@%p132 bra 	$L__BB10_110;

	.loc	12 74 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r523, %nctaid.x;
	mov.u32 	%r524, %nctaid.y;
	mul.lo.s32 	%r525, %r523, %r524;
	mov.u32 	%r526, %nctaid.z;
	mul.lo.s32 	%r527, %r525, %r526;
	.loc	12 75 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r528, %ctaid.y;
	add.s32 	%r529, %r691, %r528;
	mov.u32 	%r530, %ctaid.z;
	neg.s32 	%r531, %r530;
	setp.eq.s32 	%p133, %r529, %r531;
	.loc	12 79 13, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r532, -2147483647;
	sub.s32 	%r533, %r532, %r527;
	.loc	12 78 9, function_name $L__info_string52, inlined_at 11 381 13
	selp.b32 	%r522, %r533, 1, %p133;
	.loc	12 82 1, function_name $L__info_string52, inlined_at 11 381 13
	// begin inline asm
	atom.add.release.gpu.u32 %r521,[%rd40],%r522;
	// end inline asm

$L__BB10_109:
	.loc	11 382 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	// begin inline asm
	ld.acquire.gpu.u32 %r534,[%rd40];
	// end inline asm
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	.loc	12 61 5, function_name $L__info_string56, inlined_at 12 98 1
	xor.b32  	%r535, %r534, %r521;
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	setp.gt.s32 	%p134, %r535, -1;
	@%p134 bra 	$L__BB10_109;

$L__BB10_110:
	.loc	12 109 5, function_name $L__info_string55, inlined_at 11 382 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 109 5
	barrier.sync 	0;
	.loc	1 118 9
	ld.param.u32 	%r74, [%rd68+136];
	setp.ge.s32 	%p135, %r691, %r74;
	@%p135 bra 	$L__BB10_143;

	.loc	1 0 9
	ld.param.u64 	%rd193, [%rd68+56];
	cvta.to.global.u64 	%rd41, %rd193;
	ld.param.u64 	%rd194, [%rd68+16];
	cvta.to.global.u64 	%rd42, %rd194;
	and.b32  	%r75, %r70, 31;
	shr.u32 	%r536, %r70, 3;
	and.b32  	%r537, %r536, 536870908;
	mov.u32 	%r538, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r76, %r538, %r537;
	shl.b32 	%r539, %r70, 2;
	add.s32 	%r77, %r538, %r539;
	ld.param.u64 	%rd195, [%rd68+24];
	cvta.to.global.u64 	%rd43, %rd195;
	mov.u32 	%r540, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r78, %r540, %r537;
	add.s32 	%r79, %r540, %r539;
	ld.param.u64 	%rd196, [%rd68+32];
	cvta.to.global.u64 	%rd44, %rd196;
	ld.param.u64 	%rd197, [%rd68+40];
	.loc	1 118 9
	cvta.to.global.u64 	%rd45, %rd197;
	mov.u32 	%r80, %nctaid.x;
	.loc	1 118 9
	.loc	1 94 5, function_name $L__info_string57, inlined_at 1 118 9
	not.b32 	%r81, %r70;
	add.s32 	%r82, %r70, 256;
	mov.u32 	%r686, %r691;

$L__BB10_112:
	cvt.s64.s32 	%rd46, %r686;
	mul.wide.s32 	%rd198, %r686, 4;
	add.s64 	%rd47, %rd41, %rd198;
	ld.global.u32 	%r84, [%rd47];
	add.s32 	%r85, %r84, %r70;
	ld.global.u32 	%r86, [%rd47+4];
	setp.ge.s32 	%p136, %r85, %r86;
	mov.f32 	%f910, 0fFF800000;
	@%p136 bra 	$L__BB10_119;

	add.s32 	%r541, %r82, %r84;
	max.s32 	%r542, %r86, %r541;
	add.s32 	%r543, %r542, %r81;
	sub.s32 	%r87, %r543, %r84;
	shr.u32 	%r544, %r87, 8;
	add.s32 	%r545, %r544, 1;
	and.b32  	%r88, %r545, 3;
	setp.eq.s32 	%p137, %r88, 0;
	mov.f32 	%f910, 0fFF800000;
	mov.u32 	%r687, %r85;
	@%p137 bra 	$L__BB10_117;

	mul.wide.s32 	%rd199, %r85, 4;
	add.s64 	%rd48, %rd42, %rd199;
	ld.global.f32 	%f587, [%rd48];
	mov.f32 	%f588, 0fFF800000;
	max.f32 	%f910, %f588, %f587;
	add.s32 	%r687, %r85, 256;
	setp.eq.s32 	%p138, %r88, 1;
	@%p138 bra 	$L__BB10_117;

	ld.global.f32 	%f589, [%rd48+1024];
	max.f32 	%f910, %f910, %f589;
	add.s32 	%r687, %r85, 512;
	setp.eq.s32 	%p139, %r88, 2;
	@%p139 bra 	$L__BB10_117;

	ld.global.f32 	%f590, [%rd48+2048];
	max.f32 	%f910, %f910, %f590;
	add.s32 	%r687, %r85, 768;

$L__BB10_117:
	setp.lt.u32 	%p140, %r87, 768;
	@%p140 bra 	$L__BB10_119;

$L__BB10_118:
	mul.wide.s32 	%rd200, %r687, 4;
	add.s64 	%rd201, %rd42, %rd200;
	ld.global.f32 	%f591, [%rd201];
	max.f32 	%f592, %f910, %f591;
	ld.global.f32 	%f593, [%rd201+1024];
	max.f32 	%f594, %f592, %f593;
	ld.global.f32 	%f595, [%rd201+2048];
	max.f32 	%f596, %f594, %f595;
	ld.global.f32 	%f597, [%rd201+3072];
	max.f32 	%f910, %f596, %f597;
	add.s32 	%r687, %r687, 1024;
	setp.lt.s32 	%p141, %r687, %r86;
	@%p141 bra 	$L__BB10_118;

$L__BB10_119:
	.loc	1 95 5, function_name $L__info_string57, inlined_at 1 118 9
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r546, %f910;
	mov.u32 	%r547, 2;
	mov.u32 	%r548, 31;
	mov.u32 	%r549, 16;
	mov.u32 	%r550, -1;
	shfl.sync.down.b32 	%r551|%p142, %r546, %r549, %r548, %r550;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f598, %r551;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f599, %f910, %f598;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r552, %f599;
	mov.u32 	%r553, 8;
	shfl.sync.down.b32 	%r554|%p143, %r552, %r553, %r548, %r550;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f600, %r554;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f601, %f599, %f600;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r555, %f601;
	mov.u32 	%r556, 4;
	shfl.sync.down.b32 	%r557|%p144, %r555, %r556, %r548, %r550;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f602, %r557;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f603, %f601, %f602;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r558, %f603;
	shfl.sync.down.b32 	%r559|%p145, %r558, %r547, %r548, %r550;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f604, %r559;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f605, %f603, %f604;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r560, %f605;
	mov.u32 	%r561, 1;
	shfl.sync.down.b32 	%r562|%p146, %r560, %r561, %r548, %r550;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f606, %r562;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f63, %f605, %f606;
	setp.ne.s32 	%p147, %r75, 0;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p147 bra 	$L__BB10_121;

	st.shared.f32 	[%r76], %f63;

$L__BB10_121:
	.loc	1 0 5
	setp.gt.u32 	%p148, %r70, 31;
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 95 5
	@%p148 bra 	$L__BB10_126;

	.loc	1 0 5
	setp.gt.u32 	%p149, %r70, 7;
	mov.f32 	%f911, 0fFF800000;
	.loc	1 36 5
	@%p149 bra 	$L__BB10_124;

	ld.shared.f32 	%f911, [%r77];

$L__BB10_124:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r563, %f911;
	mov.u32 	%r564, 2;
	mov.u32 	%r565, 31;
	mov.u32 	%r566, 16;
	mov.u32 	%r567, -1;
	shfl.sync.down.b32 	%r568|%p150, %r563, %r566, %r565, %r567;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f608, %r568;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f609, %f911, %f608;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r569, %f609;
	mov.u32 	%r570, 8;
	shfl.sync.down.b32 	%r571|%p151, %r569, %r570, %r565, %r567;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f610, %r571;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f611, %f609, %f610;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r572, %f611;
	mov.u32 	%r573, 4;
	shfl.sync.down.b32 	%r574|%p152, %r572, %r573, %r565, %r567;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f612, %r574;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f613, %f611, %f612;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r575, %f613;
	shfl.sync.down.b32 	%r576|%p153, %r575, %r564, %r565, %r567;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f614, %r576;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f615, %f613, %f614;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r577, %f615;
	mov.u32 	%r578, 1;
	shfl.sync.down.b32 	%r579|%p154, %r577, %r578, %r565, %r567;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f616, %r579;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f66, %f615, %f616;
	setp.ne.s32 	%p155, %r70, 0;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 95 5
	@%p155 bra 	$L__BB10_126;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f66;

$L__BB10_126:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	ld.shared.f32 	%f67, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 96 5, function_name $L__info_string57, inlined_at 1 118 9
	ld.global.u32 	%r95, [%rd47];
	add.s32 	%r96, %r95, %r70;
	ld.global.u32 	%r97, [%rd47+4];
	setp.ge.s32 	%p156, %r96, %r97;
	mov.f32 	%f915, 0f00000000;
	@%p156 bra 	$L__BB10_133;

	add.s32 	%r580, %r82, %r95;
	max.s32 	%r581, %r97, %r580;
	add.s32 	%r582, %r581, %r81;
	sub.s32 	%r98, %r582, %r95;
	shr.u32 	%r583, %r98, 8;
	add.s32 	%r584, %r583, 1;
	and.b32  	%r99, %r584, 3;
	setp.eq.s32 	%p157, %r99, 0;
	mov.f32 	%f915, 0f00000000;
	mov.u32 	%r689, %r96;
	@%p157 bra 	$L__BB10_131;

	mul.wide.s32 	%rd202, %r96, 4;
	add.s64 	%rd49, %rd43, %rd202;
	add.s64 	%rd50, %rd42, %rd202;
	ld.global.f32 	%f620, [%rd50];
	sub.rn.f32 	%f621, %f620, %f67;
	mov.f32 	%f622, 0f3F000000;
	mov.f32 	%f623, 0f3BBB989D;
	fma.rn.f32 	%f624, %f621, %f623, %f622;
	cvt.sat.f32.f32 	%f625, %f624;
	mov.f32 	%f626, 0f4B400001;
	mov.f32 	%f627, 0f437C0000;
	fma.rm.f32 	%f628, %f625, %f627, %f626;
	add.rn.f32 	%f629, %f628, 0fCB40007F;
	neg.f32 	%f630, %f629;
	mov.f32 	%f631, 0f3FB8AA3B;
	fma.rn.f32 	%f632, %f621, %f631, %f630;
	mov.f32 	%f633, 0f32A57060;
	fma.rn.f32 	%f634, %f621, %f633, %f632;
	mov.b32 	%r585, %f628;
	shl.b32 	%r586, %r585, 23;
	mov.b32 	%f635, %r586;
	ex2.approx.ftz.f32 	%f636, %f634;
	mul.rn.f32 	%f637, %f636, %f635;
	ld.global.f32 	%f638, [%rd49];
	mul.rn.f32 	%f639, %f638, %f637;
	add.rn.f32 	%f915, %f639, 0f00000000;
	add.s32 	%r689, %r96, 256;
	setp.eq.s32 	%p158, %r99, 1;
	@%p158 bra 	$L__BB10_131;

	ld.global.f32 	%f640, [%rd50+1024];
	sub.rn.f32 	%f641, %f640, %f67;
	fma.rn.f32 	%f644, %f641, %f623, %f622;
	cvt.sat.f32.f32 	%f645, %f644;
	fma.rm.f32 	%f648, %f645, %f627, %f626;
	add.rn.f32 	%f649, %f648, 0fCB40007F;
	neg.f32 	%f650, %f649;
	fma.rn.f32 	%f652, %f641, %f631, %f650;
	fma.rn.f32 	%f654, %f641, %f633, %f652;
	mov.b32 	%r587, %f648;
	shl.b32 	%r588, %r587, 23;
	mov.b32 	%f655, %r588;
	ex2.approx.ftz.f32 	%f656, %f654;
	mul.rn.f32 	%f657, %f656, %f655;
	ld.global.f32 	%f658, [%rd49+1024];
	mul.rn.f32 	%f659, %f658, %f657;
	add.rn.f32 	%f915, %f915, %f659;
	add.s32 	%r689, %r96, 512;
	setp.eq.s32 	%p159, %r99, 2;
	@%p159 bra 	$L__BB10_131;

	ld.global.f32 	%f660, [%rd50+2048];
	sub.rn.f32 	%f661, %f660, %f67;
	mov.f32 	%f662, 0f3F000000;
	mov.f32 	%f663, 0f3BBB989D;
	fma.rn.f32 	%f664, %f661, %f663, %f662;
	cvt.sat.f32.f32 	%f665, %f664;
	mov.f32 	%f666, 0f4B400001;
	mov.f32 	%f667, 0f437C0000;
	fma.rm.f32 	%f668, %f665, %f667, %f666;
	add.rn.f32 	%f669, %f668, 0fCB40007F;
	neg.f32 	%f670, %f669;
	mov.f32 	%f671, 0f3FB8AA3B;
	fma.rn.f32 	%f672, %f661, %f671, %f670;
	mov.f32 	%f673, 0f32A57060;
	fma.rn.f32 	%f674, %f661, %f673, %f672;
	mov.b32 	%r589, %f668;
	shl.b32 	%r590, %r589, 23;
	mov.b32 	%f675, %r590;
	ex2.approx.ftz.f32 	%f676, %f674;
	mul.rn.f32 	%f677, %f676, %f675;
	ld.global.f32 	%f678, [%rd49+2048];
	mul.rn.f32 	%f679, %f678, %f677;
	add.rn.f32 	%f915, %f915, %f679;
	add.s32 	%r689, %r96, 768;

$L__BB10_131:
	setp.lt.u32 	%p160, %r98, 768;
	@%p160 bra 	$L__BB10_133;

$L__BB10_132:
	mul.wide.s32 	%rd203, %r689, 4;
	add.s64 	%rd204, %rd43, %rd203;
	add.s64 	%rd205, %rd42, %rd203;
	ld.global.f32 	%f680, [%rd205];
	sub.rn.f32 	%f681, %f680, %f67;
	mov.f32 	%f682, 0f3F000000;
	mov.f32 	%f683, 0f3BBB989D;
	fma.rn.f32 	%f684, %f681, %f683, %f682;
	cvt.sat.f32.f32 	%f685, %f684;
	mov.f32 	%f686, 0f4B400001;
	mov.f32 	%f687, 0f437C0000;
	fma.rm.f32 	%f688, %f685, %f687, %f686;
	add.rn.f32 	%f689, %f688, 0fCB40007F;
	neg.f32 	%f690, %f689;
	mov.f32 	%f691, 0f3FB8AA3B;
	fma.rn.f32 	%f692, %f681, %f691, %f690;
	mov.f32 	%f693, 0f32A57060;
	fma.rn.f32 	%f694, %f681, %f693, %f692;
	mov.b32 	%r591, %f688;
	shl.b32 	%r592, %r591, 23;
	mov.b32 	%f695, %r592;
	ex2.approx.ftz.f32 	%f696, %f694;
	mul.rn.f32 	%f697, %f696, %f695;
	ld.global.f32 	%f698, [%rd204];
	mul.rn.f32 	%f699, %f698, %f697;
	add.rn.f32 	%f700, %f915, %f699;
	ld.global.f32 	%f701, [%rd205+1024];
	sub.rn.f32 	%f702, %f701, %f67;
	fma.rn.f32 	%f703, %f702, %f683, %f682;
	cvt.sat.f32.f32 	%f704, %f703;
	fma.rm.f32 	%f705, %f704, %f687, %f686;
	add.rn.f32 	%f706, %f705, 0fCB40007F;
	neg.f32 	%f707, %f706;
	fma.rn.f32 	%f708, %f702, %f691, %f707;
	fma.rn.f32 	%f709, %f702, %f693, %f708;
	mov.b32 	%r593, %f705;
	shl.b32 	%r594, %r593, 23;
	mov.b32 	%f710, %r594;
	ex2.approx.ftz.f32 	%f711, %f709;
	mul.rn.f32 	%f712, %f711, %f710;
	ld.global.f32 	%f713, [%rd204+1024];
	mul.rn.f32 	%f714, %f713, %f712;
	add.rn.f32 	%f715, %f700, %f714;
	ld.global.f32 	%f716, [%rd205+2048];
	sub.rn.f32 	%f717, %f716, %f67;
	fma.rn.f32 	%f718, %f717, %f683, %f682;
	cvt.sat.f32.f32 	%f719, %f718;
	fma.rm.f32 	%f720, %f719, %f687, %f686;
	add.rn.f32 	%f721, %f720, 0fCB40007F;
	neg.f32 	%f722, %f721;
	fma.rn.f32 	%f723, %f717, %f691, %f722;
	fma.rn.f32 	%f724, %f717, %f693, %f723;
	mov.b32 	%r595, %f720;
	shl.b32 	%r596, %r595, 23;
	mov.b32 	%f725, %r596;
	ex2.approx.ftz.f32 	%f726, %f724;
	mul.rn.f32 	%f727, %f726, %f725;
	ld.global.f32 	%f728, [%rd204+2048];
	mul.rn.f32 	%f729, %f728, %f727;
	add.rn.f32 	%f730, %f715, %f729;
	ld.global.f32 	%f731, [%rd205+3072];
	sub.rn.f32 	%f732, %f731, %f67;
	fma.rn.f32 	%f733, %f732, %f683, %f682;
	cvt.sat.f32.f32 	%f734, %f733;
	fma.rm.f32 	%f735, %f734, %f687, %f686;
	add.rn.f32 	%f736, %f735, 0fCB40007F;
	neg.f32 	%f737, %f736;
	fma.rn.f32 	%f738, %f732, %f691, %f737;
	fma.rn.f32 	%f739, %f732, %f693, %f738;
	mov.b32 	%r597, %f735;
	shl.b32 	%r598, %r597, 23;
	mov.b32 	%f740, %r598;
	ex2.approx.ftz.f32 	%f741, %f739;
	mul.rn.f32 	%f742, %f741, %f740;
	ld.global.f32 	%f743, [%rd204+3072];
	mul.rn.f32 	%f744, %f743, %f742;
	add.rn.f32 	%f915, %f730, %f744;
	add.s32 	%r689, %r689, 1024;
	setp.lt.s32 	%p161, %r689, %r97;
	@%p161 bra 	$L__BB10_132;

$L__BB10_133:
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 118 9
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r599, %f915;
	mov.u32 	%r600, 2;
	mov.u32 	%r601, 31;
	mov.u32 	%r602, 16;
	mov.u32 	%r603, -1;
	shfl.sync.down.b32 	%r604|%p162, %r599, %r602, %r601, %r603;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f745, %r604;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f746, %f915, %f745;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r605, %f746;
	mov.u32 	%r606, 8;
	shfl.sync.down.b32 	%r607|%p163, %r605, %r606, %r601, %r603;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f747, %r607;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f748, %f746, %f747;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r608, %f748;
	mov.u32 	%r609, 4;
	shfl.sync.down.b32 	%r610|%p164, %r608, %r609, %r601, %r603;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f749, %r610;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f750, %f748, %f749;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r611, %f750;
	shfl.sync.down.b32 	%r612|%p165, %r611, %r600, %r601, %r603;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f751, %r612;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f752, %f750, %f751;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r613, %f752;
	mov.u32 	%r614, 1;
	shfl.sync.down.b32 	%r615|%p166, %r613, %r614, %r601, %r603;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f753, %r615;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f76, %f752, %f753;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p147 bra 	$L__BB10_135;

	st.shared.f32 	[%r78], %f76;

$L__BB10_135:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p148 bra 	$L__BB10_140;

	.loc	1 0 5
	setp.gt.u32 	%p169, %r70, 7;
	mov.f32 	%f916, 0f00000000;
	.loc	1 36 5
	@%p169 bra 	$L__BB10_138;

	ld.shared.f32 	%f916, [%r79];

$L__BB10_138:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r616, %f916;
	mov.u32 	%r617, 2;
	mov.u32 	%r618, 31;
	mov.u32 	%r619, 16;
	mov.u32 	%r620, -1;
	shfl.sync.down.b32 	%r621|%p170, %r616, %r619, %r618, %r620;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f755, %r621;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f756, %f916, %f755;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r622, %f756;
	mov.u32 	%r623, 8;
	shfl.sync.down.b32 	%r624|%p171, %r622, %r623, %r618, %r620;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f757, %r624;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f758, %f756, %f757;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r625, %f758;
	mov.u32 	%r626, 4;
	shfl.sync.down.b32 	%r627|%p172, %r625, %r626, %r618, %r620;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f759, %r627;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f760, %f758, %f759;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r628, %f760;
	shfl.sync.down.b32 	%r629|%p173, %r628, %r617, %r618, %r620;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f761, %r629;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f762, %f760, %f761;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r630, %f762;
	mov.u32 	%r631, 1;
	shfl.sync.down.b32 	%r632|%p174, %r630, %r631, %r618, %r620;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f763, %r632;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f79, %f762, %f763;
	setp.ne.s32 	%p175, %r70, 0;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 97 5
	@%p175 bra 	$L__BB10_140;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f79;

$L__BB10_140:
	.loc	1 0 9
	setp.ne.s32 	%p176, %r70, 0;
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	ld.shared.f32 	%f80, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 118 9
	@%p176 bra 	$L__BB10_142;

	shl.b64 	%rd206, %rd46, 2;
	add.s64 	%rd207, %rd44, %rd206;
	st.global.f32 	[%rd207], %f67;
	add.s64 	%rd208, %rd45, %rd206;
	st.global.f32 	[%rd208], %f80;

$L__BB10_142:
	.loc	1 0 5
	cvt.u32.u64 	%r633, %rd46;
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 118 9
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 118 9
	add.s32 	%r686, %r633, %r80;
	setp.lt.s32 	%p177, %r686, %r74;
	@%p177 bra 	$L__BB10_112;

$L__BB10_143:
	.loc	1 119 9
	.loc	9 339 9, function_name $L__info_string49, inlined_at 1 119 9
	@%p131 bra 	$L__BB10_145;

	.loc	9 340 13, function_name $L__info_string49, inlined_at 1 119 9
	// begin inline asm
	trap;
	// end inline asm

$L__BB10_145:
	.loc	9 342 9, function_name $L__info_string49, inlined_at 1 119 9
	.loc	11 381 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 71 5, function_name $L__info_string52, inlined_at 11 381 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 71 5
	barrier.sync 	0;
	.loc	12 73 5, function_name $L__info_string52, inlined_at 11 381 13
	@%p132 bra 	$L__BB10_148;

	.loc	12 74 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r636, %nctaid.x;
	mov.u32 	%r637, %nctaid.y;
	mul.lo.s32 	%r638, %r636, %r637;
	mov.u32 	%r639, %nctaid.z;
	mul.lo.s32 	%r640, %r638, %r639;
	.loc	12 75 9, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r641, %ctaid.y;
	add.s32 	%r642, %r691, %r641;
	mov.u32 	%r643, %ctaid.z;
	neg.s32 	%r644, %r643;
	setp.eq.s32 	%p180, %r642, %r644;
	.loc	12 79 13, function_name $L__info_string52, inlined_at 11 381 13
	mov.u32 	%r645, -2147483647;
	sub.s32 	%r646, %r645, %r640;
	.loc	12 78 9, function_name $L__info_string52, inlined_at 11 381 13
	selp.b32 	%r635, %r646, 1, %p180;
	.loc	12 82 1, function_name $L__info_string52, inlined_at 11 381 13
	// begin inline asm
	atom.add.release.gpu.u32 %r634,[%rd40],%r635;
	// end inline asm

$L__BB10_147:
	.loc	11 382 13, function_name $L__info_string51, inlined_at 9 342 9
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	// begin inline asm
	ld.acquire.gpu.u32 %r647,[%rd40];
	// end inline asm
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	.loc	12 61 5, function_name $L__info_string56, inlined_at 12 98 1
	xor.b32  	%r648, %r647, %r634;
	.loc	12 98 1, function_name $L__info_string55, inlined_at 11 382 13
	setp.gt.s32 	%p181, %r648, -1;
	@%p181 bra 	$L__BB10_147;

$L__BB10_148:
	.loc	12 109 5, function_name $L__info_string55, inlined_at 11 382 13
	.loc	2 98 3, function_name $L__info_string53, inlined_at 12 109 5
	barrier.sync 	0;
	.loc	1 120 9
	ld.param.u32 	%r108, [%rd68+140];
	setp.ge.s32 	%p182, %r691, %r108;
	@%p182 bra 	$L__BB10_159;

	.loc	1 0 9
	ld.param.u64 	%rd211, [%rd68+64];
	cvta.to.global.u64 	%rd51, %rd211;
	ld.param.u64 	%rd212, [%rd68+48];
	cvta.to.global.u64 	%rd52, %rd212;
	ld.param.u64 	%rd213, [%rd68+56];
	cvta.to.global.u64 	%rd53, %rd213;
	.loc	1 120 9
	mov.u32 	%r109, %nctaid.x;
	ld.param.u64 	%rd214, [%rd68];
	cvta.to.global.u64 	%rd54, %rd214;
	ld.param.u64 	%rd215, [%rd68+32];
	cvta.to.global.u64 	%rd55, %rd215;
	ld.param.u64 	%rd216, [%rd68+40];
	cvta.to.global.u64 	%rd56, %rd216;
	ld.param.u64 	%rd217, [%rd68+8];
	.loc	1 120 9
	.loc	1 101 5, function_name $L__info_string60, inlined_at 1 120 9
	cvta.to.global.u64 	%rd57, %rd217;
	max.s32 	%r649, %r70, 768;
	add.s32 	%r650, %r649, 255;
	sub.s32 	%r110, %r650, %r70;
	shr.u32 	%r651, %r110, 8;
	add.s32 	%r652, %r651, 1;
	and.b32  	%r111, %r652, 3;
	add.s32 	%r112, %r70, 256;
	add.s32 	%r113, %r70, 512;
	add.s32 	%r114, %r70, 768;

$L__BB10_150:
	.loc	1 100 5, function_name $L__info_string60, inlined_at 1 120 9
	mul.wide.s32 	%rd218, %r691, 4;
	add.s64 	%rd219, %rd51, %rd218;
	ld.global.u32 	%r653, [%rd219];
	cvt.s64.s32 	%rd58, %r653;
	mul.wide.s32 	%rd220, %r653, 4;
	add.s64 	%rd221, %rd52, %rd220;
	add.s64 	%rd222, %rd53, %rd220;
	ld.global.u32 	%r116, [%rd222];
	ld.global.u32 	%r117, [%rd221];
	setp.gt.s32 	%p183, %r70, 1023;
	.loc	1 101 5, function_name $L__info_string60, inlined_at 1 120 9
	@%p183 bra 	$L__BB10_158;

	.loc	1 0 5
	setp.eq.s32 	%p184, %r111, 0;
	shl.b64 	%rd223, %rd58, 2;
	add.s64 	%rd59, %rd55, %rd223;
	add.s64 	%rd60, %rd56, %rd223;
	.loc	1 101 5
	mov.u32 	%r692, %r70;
	@%p184 bra 	$L__BB10_155;

	.loc	1 0 5
	setp.eq.s32 	%p185, %r111, 1;
	.loc	1 100 5, function_name $L__info_string60, inlined_at 1 120 9
	sub.s32 	%r654, %r691, %r116;
	shl.b32 	%r655, %r654, 10;
	add.s32 	%r656, %r655, %r117;
	.loc	1 101 5, function_name $L__info_string60, inlined_at 1 120 9
	add.s32 	%r657, %r656, %r70;
	mul.wide.s32 	%rd224, %r657, 4;
	add.s64 	%rd61, %rd54, %rd224;
	ld.global.f32 	%f764, [%rd59];
	ld.global.f32 	%f765, [%rd61];
	sub.rn.f32 	%f766, %f765, %f764;
	mov.f32 	%f767, 0f3F000000;
	mov.f32 	%f768, 0f3BBB989D;
	fma.rn.f32 	%f769, %f766, %f768, %f767;
	cvt.sat.f32.f32 	%f770, %f769;
	mov.f32 	%f771, 0f4B400001;
	mov.f32 	%f772, 0f437C0000;
	fma.rm.f32 	%f773, %f770, %f772, %f771;
	add.rn.f32 	%f774, %f773, 0fCB40007F;
	neg.f32 	%f775, %f774;
	mov.f32 	%f776, 0f3FB8AA3B;
	fma.rn.f32 	%f777, %f766, %f776, %f775;
	mov.f32 	%f778, 0f32A57060;
	fma.rn.f32 	%f779, %f766, %f778, %f777;
	mov.b32 	%r658, %f773;
	shl.b32 	%r659, %r658, 23;
	mov.b32 	%f780, %r659;
	ex2.approx.ftz.f32 	%f781, %f779;
	mul.rn.f32 	%f782, %f781, %f780;
	ld.global.f32 	%f783, [%rd60];
	div.rn.f32 	%f784, %f782, %f783;
	add.s64 	%rd62, %rd57, %rd224;
	st.global.f32 	[%rd62], %f784;
	mov.u32 	%r692, %r112;
	@%p185 bra 	$L__BB10_155;

	.loc	1 0 5
	setp.eq.s32 	%p186, %r111, 2;
	.loc	1 101 5
	ld.global.f32 	%f785, [%rd59];
	ld.global.f32 	%f786, [%rd61+1024];
	sub.rn.f32 	%f787, %f786, %f785;
	fma.rn.f32 	%f790, %f787, %f768, %f767;
	cvt.sat.f32.f32 	%f791, %f790;
	fma.rm.f32 	%f794, %f791, %f772, %f771;
	add.rn.f32 	%f795, %f794, 0fCB40007F;
	neg.f32 	%f796, %f795;
	fma.rn.f32 	%f798, %f787, %f776, %f796;
	fma.rn.f32 	%f800, %f787, %f778, %f798;
	mov.b32 	%r660, %f794;
	shl.b32 	%r661, %r660, 23;
	mov.b32 	%f801, %r661;
	ex2.approx.ftz.f32 	%f802, %f800;
	mul.rn.f32 	%f803, %f802, %f801;
	ld.global.f32 	%f804, [%rd60];
	div.rn.f32 	%f805, %f803, %f804;
	st.global.f32 	[%rd62+1024], %f805;
	mov.u32 	%r692, %r113;
	@%p186 bra 	$L__BB10_155;

	ld.global.f32 	%f806, [%rd59];
	ld.global.f32 	%f807, [%rd61+2048];
	sub.rn.f32 	%f808, %f807, %f806;
	mov.f32 	%f809, 0f3F000000;
	mov.f32 	%f810, 0f3BBB989D;
	fma.rn.f32 	%f811, %f808, %f810, %f809;
	cvt.sat.f32.f32 	%f812, %f811;
	mov.f32 	%f813, 0f4B400001;
	mov.f32 	%f814, 0f437C0000;
	fma.rm.f32 	%f815, %f812, %f814, %f813;
	add.rn.f32 	%f816, %f815, 0fCB40007F;
	neg.f32 	%f817, %f816;
	mov.f32 	%f818, 0f3FB8AA3B;
	fma.rn.f32 	%f819, %f808, %f818, %f817;
	mov.f32 	%f820, 0f32A57060;
	fma.rn.f32 	%f821, %f808, %f820, %f819;
	mov.b32 	%r662, %f815;
	shl.b32 	%r663, %r662, 23;
	mov.b32 	%f822, %r663;
	ex2.approx.ftz.f32 	%f823, %f821;
	mul.rn.f32 	%f824, %f823, %f822;
	ld.global.f32 	%f825, [%rd60];
	div.rn.f32 	%f826, %f824, %f825;
	st.global.f32 	[%rd62+2048], %f826;
	mov.u32 	%r692, %r114;

$L__BB10_155:
	.loc	1 0 5
	setp.lt.u32 	%p187, %r110, 768;
	.loc	1 101 5
	@%p187 bra 	$L__BB10_158;

	add.s32 	%r693, %r692, -1024;
	add.s32 	%r664, %r692, %r117;
	shl.b32 	%r665, %r691, 10;
	add.s32 	%r666, %r664, %r665;
	shl.b32 	%r667, %r116, 10;
	sub.s32 	%r668, %r666, %r667;
	mul.wide.s32 	%rd63, %r668, 4;
	mov.u64 	%rd227, %rd54;
	mov.u64 	%rd228, %rd57;

$L__BB10_157:
	add.s64 	%rd225, %rd227, %rd63;
	ld.global.f32 	%f827, [%rd59];
	ld.global.f32 	%f828, [%rd225];
	sub.rn.f32 	%f829, %f828, %f827;
	mov.f32 	%f830, 0f3F000000;
	mov.f32 	%f831, 0f3BBB989D;
	fma.rn.f32 	%f832, %f829, %f831, %f830;
	cvt.sat.f32.f32 	%f833, %f832;
	mov.f32 	%f834, 0f4B400001;
	mov.f32 	%f835, 0f437C0000;
	fma.rm.f32 	%f836, %f833, %f835, %f834;
	add.rn.f32 	%f837, %f836, 0fCB40007F;
	neg.f32 	%f838, %f837;
	mov.f32 	%f839, 0f3FB8AA3B;
	fma.rn.f32 	%f840, %f829, %f839, %f838;
	mov.f32 	%f841, 0f32A57060;
	fma.rn.f32 	%f842, %f829, %f841, %f840;
	mov.b32 	%r669, %f836;
	shl.b32 	%r670, %r669, 23;
	mov.b32 	%f843, %r670;
	ex2.approx.ftz.f32 	%f844, %f842;
	mul.rn.f32 	%f845, %f844, %f843;
	ld.global.f32 	%f846, [%rd60];
	div.rn.f32 	%f847, %f845, %f846;
	add.s64 	%rd226, %rd228, %rd63;
	st.global.f32 	[%rd226], %f847;
	ld.global.f32 	%f848, [%rd59];
	ld.global.f32 	%f849, [%rd225+1024];
	sub.rn.f32 	%f850, %f849, %f848;
	fma.rn.f32 	%f851, %f850, %f831, %f830;
	cvt.sat.f32.f32 	%f852, %f851;
	fma.rm.f32 	%f853, %f852, %f835, %f834;
	add.rn.f32 	%f854, %f853, 0fCB40007F;
	neg.f32 	%f855, %f854;
	fma.rn.f32 	%f856, %f850, %f839, %f855;
	fma.rn.f32 	%f857, %f850, %f841, %f856;
	mov.b32 	%r671, %f853;
	shl.b32 	%r672, %r671, 23;
	mov.b32 	%f858, %r672;
	ex2.approx.ftz.f32 	%f859, %f857;
	mul.rn.f32 	%f860, %f859, %f858;
	ld.global.f32 	%f861, [%rd60];
	div.rn.f32 	%f862, %f860, %f861;
	st.global.f32 	[%rd226+1024], %f862;
	ld.global.f32 	%f863, [%rd59];
	ld.global.f32 	%f864, [%rd225+2048];
	sub.rn.f32 	%f865, %f864, %f863;
	fma.rn.f32 	%f866, %f865, %f831, %f830;
	cvt.sat.f32.f32 	%f867, %f866;
	fma.rm.f32 	%f868, %f867, %f835, %f834;
	add.rn.f32 	%f869, %f868, 0fCB40007F;
	neg.f32 	%f870, %f869;
	fma.rn.f32 	%f871, %f865, %f839, %f870;
	fma.rn.f32 	%f872, %f865, %f841, %f871;
	mov.b32 	%r673, %f868;
	shl.b32 	%r674, %r673, 23;
	mov.b32 	%f873, %r674;
	ex2.approx.ftz.f32 	%f874, %f872;
	mul.rn.f32 	%f875, %f874, %f873;
	ld.global.f32 	%f876, [%rd60];
	div.rn.f32 	%f877, %f875, %f876;
	st.global.f32 	[%rd226+2048], %f877;
	ld.global.f32 	%f878, [%rd59];
	ld.global.f32 	%f879, [%rd225+3072];
	sub.rn.f32 	%f880, %f879, %f878;
	fma.rn.f32 	%f881, %f880, %f831, %f830;
	cvt.sat.f32.f32 	%f882, %f881;
	fma.rm.f32 	%f883, %f882, %f835, %f834;
	add.rn.f32 	%f884, %f883, 0fCB40007F;
	neg.f32 	%f885, %f884;
	fma.rn.f32 	%f886, %f880, %f839, %f885;
	fma.rn.f32 	%f887, %f880, %f841, %f886;
	mov.b32 	%r675, %f883;
	shl.b32 	%r676, %r675, 23;
	mov.b32 	%f888, %r676;
	ex2.approx.ftz.f32 	%f889, %f887;
	mul.rn.f32 	%f890, %f889, %f888;
	ld.global.f32 	%f891, [%rd60];
	div.rn.f32 	%f892, %f890, %f891;
	st.global.f32 	[%rd226+3072], %f892;
	add.s64 	%rd228, %rd228, 4096;
	add.s64 	%rd227, %rd227, 4096;
	add.s32 	%r693, %r693, 1024;
	setp.lt.s32 	%p188, %r693, 0;
	@%p188 bra 	$L__BB10_157;

$L__BB10_158:
	.loc	1 102 5, function_name $L__info_string60, inlined_at 1 120 9
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 102 5
	bar.sync 	0;
	.loc	1 120 9
	add.s32 	%r691, %r691, %r109;
	setp.lt.s32 	%p189, %r691, %r108;
	@%p189 bra 	$L__BB10_150;

$L__BB10_159:
	.loc	1 155 1
	ret;

}
	// .globl	_Z7phase_aILb0EEv7Payload
.visible .entry _Z7phase_aILb0EEv7Payload(
	.param .align 8 .b8 _Z7phase_aILb0EEv7Payload_param_0[144]
)
{
	.reg .pred 	%p<30>;
	.reg .f32 	%f<114>;
	.reg .b32 	%r<104>;
	.reg .b64 	%rd<33>;
	.loc	1 104 0


	mov.b64 	%rd3, _Z7phase_aILb0EEv7Payload_param_0;
	.loc	1 104 51
	.loc	1 83 5, function_name $L__info_string58, inlined_at 1 104 51
	add.s64 	%rd1, %rd3, 64;
	ld.param.u64 	%rd5, [_Z7phase_aILb0EEv7Payload_param_0+64];
	cvta.to.global.u64 	%rd6, %rd5;
	.loc	1 104 51
	mov.u32 	%r3, %ctaid.x;
	.loc	1 83 5, function_name $L__info_string58, inlined_at 1 104 51
	cvt.s64.s32 	%rd2, %r3;
	mul.wide.s32 	%rd7, %r3, 4;
	add.s64 	%rd8, %rd6, %rd7;
	ld.param.u64 	%rd9, [_Z7phase_aILb0EEv7Payload_param_0+48];
	cvta.to.global.u64 	%rd10, %rd9;
	ld.global.u32 	%r4, [%rd8];
	mul.wide.s32 	%rd11, %r4, 4;
	add.s64 	%rd12, %rd10, %rd11;
	ld.param.u64 	%rd13, [_Z7phase_aILb0EEv7Payload_param_0+56];
	cvta.to.global.u64 	%rd14, %rd13;
	add.s64 	%rd15, %rd14, %rd11;
	ld.global.u32 	%r5, [%rd15];
	sub.s32 	%r6, %r3, %r5;
	shl.b32 	%r7, %r6, 10;
	ld.param.u64 	%rd16, [_Z7phase_aILb0EEv7Payload_param_0];
	.loc	1 86 5, function_name $L__info_string58, inlined_at 1 104 51
	cvta.to.global.u64 	%rd17, %rd16;
	mov.u32 	%r1, %tid.x;
	.loc	1 83 5, function_name $L__info_string58, inlined_at 1 104 51
	ld.global.u32 	%r8, [%rd12];
	add.s32 	%r9, %r8, %r1;
	add.s32 	%r10, %r9, %r7;
	.loc	1 86 5, function_name $L__info_string58, inlined_at 1 104 51
	mul.wide.u32 	%rd18, %r10, 4;
	add.s64 	%rd19, %rd17, %rd18;
	ld.global.f32 	%f1, [%rd19];
	mov.f32 	%f15, 0fFF800000;
	max.f32 	%f16, %f15, %f1;
	add.s32 	%r11, %r10, 256;
	mul.wide.u32 	%rd20, %r11, 4;
	add.s64 	%rd21, %rd17, %rd20;
	ld.global.f32 	%f2, [%rd21];
	max.f32 	%f17, %f16, %f2;
	add.s32 	%r12, %r10, 512;
	mul.wide.u32 	%rd22, %r12, 4;
	add.s64 	%rd23, %rd17, %rd22;
	ld.global.f32 	%f3, [%rd23];
	max.f32 	%f18, %f17, %f3;
	add.s32 	%r13, %r10, 768;
	mul.wide.u32 	%rd24, %r13, 4;
	add.s64 	%rd25, %rd17, %rd24;
	ld.global.f32 	%f4, [%rd25];
	max.f32 	%f19, %f18, %f4;
	.loc	1 87 5, function_name $L__info_string58, inlined_at 1 104 51
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r14, %f19;
	mov.u32 	%r15, 2;
	mov.u32 	%r16, 31;
	mov.u32 	%r17, 16;
	mov.u32 	%r18, -1;
	shfl.sync.down.b32 	%r19|%p1, %r14, %r17, %r16, %r18;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f20, %r19;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f21, %f19, %f20;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r20, %f21;
	mov.u32 	%r21, 8;
	shfl.sync.down.b32 	%r22|%p2, %r20, %r21, %r16, %r18;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f22, %r22;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f23, %f21, %f22;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r23, %f23;
	mov.u32 	%r24, 4;
	shfl.sync.down.b32 	%r25|%p3, %r23, %r24, %r16, %r18;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f24, %r25;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f25, %f23, %f24;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r26, %f25;
	shfl.sync.down.b32 	%r27|%p4, %r26, %r15, %r16, %r18;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f26, %r27;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f27, %f25, %f26;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r28, %f27;
	mov.u32 	%r29, 1;
	shfl.sync.down.b32 	%r30|%p5, %r28, %r29, %r16, %r18;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f28, %r30;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f5, %f27, %f28;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 87 5
	and.b32  	%r2, %r1, 31;
	setp.ne.s32 	%p6, %r2, 0;
	@%p6 bra 	$L__BB11_2;

	shr.u32 	%r31, %r1, 3;
	and.b32  	%r32, %r31, 536870908;
	mov.u32 	%r33, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r34, %r33, %r32;
	st.shared.f32 	[%r34], %f5;

$L__BB11_2:
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 87 5
	setp.gt.u32 	%p7, %r1, 31;
	@%p7 bra 	$L__BB11_7;

	setp.gt.u32 	%p8, %r1, 7;
	mov.f32 	%f112, 0fFF800000;
	@%p8 bra 	$L__BB11_5;

	shl.b32 	%r35, %r1, 2;
	mov.u32 	%r36, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r37, %r36, %r35;
	ld.shared.f32 	%f112, [%r37];

$L__BB11_5:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r38, %f112;
	mov.u32 	%r39, 2;
	mov.u32 	%r40, 31;
	mov.u32 	%r41, 16;
	mov.u32 	%r42, -1;
	shfl.sync.down.b32 	%r43|%p9, %r38, %r41, %r40, %r42;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f30, %r43;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f31, %f112, %f30;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r44, %f31;
	mov.u32 	%r45, 8;
	shfl.sync.down.b32 	%r46|%p10, %r44, %r45, %r40, %r42;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f32, %r46;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f33, %f31, %f32;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r47, %f33;
	mov.u32 	%r48, 4;
	shfl.sync.down.b32 	%r49|%p11, %r47, %r48, %r40, %r42;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f34, %r49;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f35, %f33, %f34;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r50, %f35;
	shfl.sync.down.b32 	%r51|%p12, %r50, %r39, %r40, %r42;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f36, %r51;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f37, %f35, %f36;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r52, %f37;
	mov.u32 	%r53, 1;
	shfl.sync.down.b32 	%r54|%p13, %r52, %r53, %r40, %r42;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f38, %r54;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 87 5
	max.f32 	%f8, %f37, %f38;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 87 5
	setp.ne.s32 	%p14, %r1, 0;
	@%p14 bra 	$L__BB11_7;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f8;

$L__BB11_7:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 87 5
	bar.sync 	0;
	ld.shared.f32 	%f9, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 89 5, function_name $L__info_string58, inlined_at 1 104 51
	sub.rn.f32 	%f39, %f1, %f9;
	mov.f32 	%f40, 0f3F000000;
	mov.f32 	%f41, 0f3BBB989D;
	fma.rn.f32 	%f42, %f39, %f41, %f40;
	cvt.sat.f32.f32 	%f43, %f42;
	mov.f32 	%f44, 0f4B400001;
	mov.f32 	%f45, 0f437C0000;
	fma.rm.f32 	%f46, %f43, %f45, %f44;
	add.rn.f32 	%f47, %f46, 0fCB40007F;
	neg.f32 	%f48, %f47;
	mov.f32 	%f49, 0f3FB8AA3B;
	fma.rn.f32 	%f50, %f39, %f49, %f48;
	mov.f32 	%f51, 0f32A57060;
	fma.rn.f32 	%f52, %f39, %f51, %f50;
	mov.b32 	%r55, %f46;
	shl.b32 	%r56, %r55, 23;
	mov.b32 	%f53, %r56;
	ex2.approx.ftz.f32 	%f54, %f52;
	mul.rn.f32 	%f55, %f54, %f53;
	add.rn.f32 	%f56, %f55, 0f00000000;
	sub.rn.f32 	%f57, %f2, %f9;
	fma.rn.f32 	%f58, %f57, %f41, %f40;
	cvt.sat.f32.f32 	%f59, %f58;
	fma.rm.f32 	%f60, %f59, %f45, %f44;
	add.rn.f32 	%f61, %f60, 0fCB40007F;
	neg.f32 	%f62, %f61;
	fma.rn.f32 	%f63, %f57, %f49, %f62;
	fma.rn.f32 	%f64, %f57, %f51, %f63;
	mov.b32 	%r57, %f60;
	shl.b32 	%r58, %r57, 23;
	mov.b32 	%f65, %r58;
	ex2.approx.ftz.f32 	%f66, %f64;
	mul.rn.f32 	%f67, %f66, %f65;
	add.rn.f32 	%f68, %f56, %f67;
	sub.rn.f32 	%f69, %f3, %f9;
	fma.rn.f32 	%f70, %f69, %f41, %f40;
	cvt.sat.f32.f32 	%f71, %f70;
	fma.rm.f32 	%f72, %f71, %f45, %f44;
	add.rn.f32 	%f73, %f72, 0fCB40007F;
	neg.f32 	%f74, %f73;
	fma.rn.f32 	%f75, %f69, %f49, %f74;
	fma.rn.f32 	%f76, %f69, %f51, %f75;
	mov.b32 	%r59, %f72;
	shl.b32 	%r60, %r59, 23;
	mov.b32 	%f77, %r60;
	ex2.approx.ftz.f32 	%f78, %f76;
	mul.rn.f32 	%f79, %f78, %f77;
	add.rn.f32 	%f80, %f68, %f79;
	sub.rn.f32 	%f81, %f4, %f9;
	fma.rn.f32 	%f82, %f81, %f41, %f40;
	cvt.sat.f32.f32 	%f83, %f82;
	fma.rm.f32 	%f84, %f83, %f45, %f44;
	add.rn.f32 	%f85, %f84, 0fCB40007F;
	neg.f32 	%f86, %f85;
	fma.rn.f32 	%f87, %f81, %f49, %f86;
	fma.rn.f32 	%f88, %f81, %f51, %f87;
	mov.b32 	%r61, %f84;
	shl.b32 	%r62, %r61, 23;
	mov.b32 	%f89, %r62;
	ex2.approx.ftz.f32 	%f90, %f88;
	mul.rn.f32 	%f91, %f90, %f89;
	add.rn.f32 	%f92, %f80, %f91;
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 104 51
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r63, %f92;
	mov.u32 	%r64, 2;
	mov.u32 	%r65, 31;
	mov.u32 	%r66, 16;
	mov.u32 	%r67, -1;
	shfl.sync.down.b32 	%r68|%p16, %r63, %r66, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f93, %r68;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f94, %f92, %f93;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r69, %f94;
	mov.u32 	%r70, 8;
	shfl.sync.down.b32 	%r71|%p17, %r69, %r70, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f95, %r71;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f96, %f94, %f95;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r72, %f96;
	mov.u32 	%r73, 4;
	shfl.sync.down.b32 	%r74|%p18, %r72, %r73, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f97, %r74;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f98, %f96, %f97;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r75, %f98;
	shfl.sync.down.b32 	%r76|%p19, %r75, %r64, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f99, %r76;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f100, %f98, %f99;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r77, %f100;
	mov.u32 	%r78, 1;
	shfl.sync.down.b32 	%r79|%p20, %r77, %r78, %r65, %r67;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f101, %r79;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f10, %f100, %f101;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p6 bra 	$L__BB11_9;

	shr.u32 	%r80, %r1, 3;
	and.b32  	%r81, %r80, 536870908;
	mov.u32 	%r82, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r83, %r82, %r81;
	st.shared.f32 	[%r83], %f10;

$L__BB11_9:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 90 5
	@%p7 bra 	$L__BB11_14;

	setp.gt.u32 	%p22, %r1, 7;
	mov.f32 	%f113, 0f00000000;
	@%p22 bra 	$L__BB11_12;

	shl.b32 	%r84, %r1, 2;
	mov.u32 	%r85, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r86, %r85, %r84;
	ld.shared.f32 	%f113, [%r86];

$L__BB11_12:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r87, %f113;
	mov.u32 	%r88, 2;
	mov.u32 	%r89, 31;
	mov.u32 	%r90, 16;
	mov.u32 	%r91, -1;
	shfl.sync.down.b32 	%r92|%p23, %r87, %r90, %r89, %r91;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f103, %r92;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f104, %f113, %f103;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r93, %f104;
	mov.u32 	%r94, 8;
	shfl.sync.down.b32 	%r95|%p24, %r93, %r94, %r89, %r91;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f105, %r95;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f106, %f104, %f105;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r96, %f106;
	mov.u32 	%r97, 4;
	shfl.sync.down.b32 	%r98|%p25, %r96, %r97, %r89, %r91;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f107, %r98;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f108, %f106, %f107;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r99, %f108;
	shfl.sync.down.b32 	%r100|%p26, %r99, %r88, %r89, %r91;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f109, %r100;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f110, %f108, %f109;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r101, %f110;
	mov.u32 	%r102, 1;
	shfl.sync.down.b32 	%r103|%p27, %r101, %r102, %r89, %r91;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f111, %r103;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 90 5
	add.rn.f32 	%f13, %f110, %f111;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 90 5
	setp.ne.s32 	%p28, %r1, 0;
	@%p28 bra 	$L__BB11_14;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f13;

$L__BB11_14:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 90 5
	bar.sync 	0;
	ld.shared.f32 	%f14, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 104 51
	setp.ne.s32 	%p29, %r1, 0;
	@%p29 bra 	$L__BB11_16;

	ld.param.u64 	%rd26, [%rd1+-48];
	cvta.to.global.u64 	%rd27, %rd26;
	shl.b64 	%rd28, %rd2, 2;
	add.s64 	%rd29, %rd27, %rd28;
	st.global.f32 	[%rd29], %f9;
	ld.param.u64 	%rd30, [%rd1+-40];
	cvta.to.global.u64 	%rd31, %rd30;
	add.s64 	%rd32, %rd31, %rd28;
	st.global.f32 	[%rd32], %f14;

$L__BB11_16:
	.loc	1 90 5, function_name $L__info_string58, inlined_at 1 104 51
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 90 5
	bar.sync 	0;
	.loc	1 104 51
	ret;

}
	// .globl	_Z7phase_bILb0EEv7Payload
.visible .entry _Z7phase_bILb0EEv7Payload(
	.param .align 8 .b8 _Z7phase_bILb0EEv7Payload_param_0[144]
)
{
	.reg .pred 	%p<40>;
	.reg .f32 	%f<176>;
	.reg .b32 	%r<143>;
	.reg .b64 	%rd<59>;
	.loc	1 105 0


	mov.b64 	%rd26, _Z7phase_bILb0EEv7Payload_param_0;
	.loc	1 105 51
	.loc	1 94 5, function_name $L__info_string57, inlined_at 1 105 51
	add.s64 	%rd1, %rd26, 56;
	ld.param.u64 	%rd28, [_Z7phase_bILb0EEv7Payload_param_0+56];
	cvta.to.global.u64 	%rd29, %rd28;
	.loc	1 105 51
	mov.u32 	%r27, %ctaid.x;
	.loc	1 94 5, function_name $L__info_string57, inlined_at 1 105 51
	cvt.s64.s32 	%rd2, %r27;
	mul.wide.s32 	%rd30, %r27, 4;
	add.s64 	%rd3, %rd29, %rd30;
	mov.u32 	%r1, %tid.x;
	ld.global.u32 	%r2, [%rd3];
	add.s32 	%r137, %r2, %r1;
	ld.global.u32 	%r28, [%rd3+4];
	setp.ge.s32 	%p1, %r137, %r28;
	mov.f32 	%f168, 0fFF800000;
	@%p1 bra 	$L__BB12_7;

	.loc	1 0 5
	ld.param.u64 	%rd4, [%rd1+-40];
	.loc	1 94 5
	add.s32 	%r29, %r137, 256;
	ld.global.u32 	%r4, [%rd3+4];
	max.s32 	%r30, %r4, %r29;
	not.b32 	%r31, %r1;
	add.s32 	%r32, %r30, %r31;
	sub.s32 	%r5, %r32, %r2;
	shr.u32 	%r33, %r5, 8;
	add.s32 	%r34, %r33, 1;
	and.b32  	%r136, %r34, 3;
	setp.eq.s32 	%p2, %r136, 0;
	mov.f32 	%f168, 0fFF800000;
	@%p2 bra 	$L__BB12_4;

	.loc	1 0 5
	cvta.to.global.u64 	%rd31, %rd4;
	.loc	1 94 5
	mul.wide.s32 	%rd32, %r137, 4;
	add.s64 	%rd53, %rd31, %rd32;
	mov.f32 	%f168, 0fFF800000;

$L__BB12_3:
	.pragma "nounroll";
	ld.global.f32 	%f29, [%rd53];
	max.f32 	%f168, %f168, %f29;
	add.s32 	%r137, %r137, 256;
	add.s64 	%rd53, %rd53, 1024;
	add.s32 	%r136, %r136, -1;
	setp.ne.s32 	%p3, %r136, 0;
	@%p3 bra 	$L__BB12_3;

$L__BB12_4:
	setp.lt.u32 	%p4, %r5, 768;
	@%p4 bra 	$L__BB12_7;

	.loc	1 0 5
	cvta.to.global.u64 	%rd33, %rd4;
	.loc	1 94 5
	mul.wide.s32 	%rd34, %r137, 4;
	add.s64 	%rd35, %rd33, %rd34;
	add.s64 	%rd54, %rd35, 2048;

$L__BB12_6:
	ld.global.f32 	%f30, [%rd54+-2048];
	max.f32 	%f31, %f168, %f30;
	ld.global.f32 	%f32, [%rd54+-1024];
	max.f32 	%f33, %f31, %f32;
	ld.global.f32 	%f34, [%rd54];
	max.f32 	%f35, %f33, %f34;
	ld.global.f32 	%f36, [%rd54+1024];
	max.f32 	%f168, %f35, %f36;
	add.s64 	%rd54, %rd54, 4096;
	add.s32 	%r137, %r137, 1024;
	setp.lt.s32 	%p5, %r137, %r4;
	@%p5 bra 	$L__BB12_6;

$L__BB12_7:
	.loc	1 95 5, function_name $L__info_string57, inlined_at 1 105 51
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r35, %f168;
	mov.u32 	%r36, 2;
	mov.u32 	%r37, 31;
	mov.u32 	%r38, 16;
	mov.u32 	%r39, -1;
	shfl.sync.down.b32 	%r40|%p6, %r35, %r38, %r37, %r39;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f37, %r40;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f38, %f168, %f37;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r41, %f38;
	mov.u32 	%r42, 8;
	shfl.sync.down.b32 	%r43|%p7, %r41, %r42, %r37, %r39;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f39, %r43;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f40, %f38, %f39;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r44, %f40;
	mov.u32 	%r45, 4;
	shfl.sync.down.b32 	%r46|%p8, %r44, %r45, %r37, %r39;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f41, %r46;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f42, %f40, %f41;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r47, %f42;
	shfl.sync.down.b32 	%r48|%p9, %r47, %r36, %r37, %r39;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f43, %r48;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f44, %f42, %f43;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r49, %f44;
	mov.u32 	%r50, 1;
	shfl.sync.down.b32 	%r51|%p10, %r49, %r50, %r37, %r39;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f45, %r51;
	.loc	1 33 5, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f8, %f44, %f45;
	.loc	1 34 5, function_name $L__info_string0, inlined_at 1 95 5
	and.b32  	%r14, %r1, 31;
	setp.ne.s32 	%p11, %r14, 0;
	@%p11 bra 	$L__BB12_9;

	shr.u32 	%r52, %r1, 3;
	and.b32  	%r53, %r52, 536870908;
	mov.u32 	%r54, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r55, %r54, %r53;
	st.shared.f32 	[%r55], %f8;

$L__BB12_9:
	.loc	1 35 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string0, inlined_at 1 95 5
	setp.gt.u32 	%p12, %r1, 31;
	@%p12 bra 	$L__BB12_14;

	setp.gt.u32 	%p13, %r1, 7;
	mov.f32 	%f169, 0fFF800000;
	@%p13 bra 	$L__BB12_12;

	shl.b32 	%r56, %r1, 2;
	mov.u32 	%r57, _ZZ6reduceILb1EEffE7scratch;
	add.s32 	%r58, %r57, %r56;
	ld.shared.f32 	%f169, [%r58];

$L__BB12_12:
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r59, %f169;
	mov.u32 	%r60, 2;
	mov.u32 	%r61, 31;
	mov.u32 	%r62, 16;
	mov.u32 	%r63, -1;
	shfl.sync.down.b32 	%r64|%p14, %r59, %r62, %r61, %r63;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f47, %r64;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f48, %f169, %f47;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r65, %f48;
	mov.u32 	%r66, 8;
	shfl.sync.down.b32 	%r67|%p15, %r65, %r66, %r61, %r63;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f49, %r67;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f50, %f48, %f49;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r68, %f50;
	mov.u32 	%r69, 4;
	shfl.sync.down.b32 	%r70|%p16, %r68, %r69, %r61, %r63;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f51, %r70;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f52, %f50, %f51;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r71, %f52;
	shfl.sync.down.b32 	%r72|%p17, %r71, %r60, %r61, %r63;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f53, %r72;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f54, %f52, %f53;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r73, %f54;
	mov.u32 	%r74, 1;
	shfl.sync.down.b32 	%r75|%p18, %r73, %r74, %r61, %r63;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f55, %r75;
	.loc	1 37 9, function_name $L__info_string0, inlined_at 1 95 5
	max.f32 	%f11, %f54, %f55;
	.loc	1 38 9, function_name $L__info_string0, inlined_at 1 95 5
	setp.ne.s32 	%p19, %r1, 0;
	@%p19 bra 	$L__BB12_14;

	st.shared.f32 	[_ZZ6reduceILb1EEffE7scratch], %f11;

$L__BB12_14:
	.loc	1 39 5, function_name $L__info_string0, inlined_at 1 95 5
	bar.sync 	0;
	ld.shared.f32 	%f12, [_ZZ6reduceILb1EEffE7scratch];
	bar.sync 	0;
	.loc	1 96 5, function_name $L__info_string57, inlined_at 1 105 51
	ld.param.u64 	%rd36, [%rd1];
	cvta.to.global.u64 	%rd37, %rd36;
	shl.b64 	%rd38, %rd2, 2;
	add.s64 	%rd11, %rd37, %rd38;
	ld.global.u32 	%r15, [%rd11];
	add.s32 	%r141, %r15, %r1;
	ld.global.u32 	%r76, [%rd11+4];
	setp.ge.s32 	%p20, %r141, %r76;
	mov.f32 	%f174, 0f00000000;
	@%p20 bra 	$L__BB12_21;

	.loc	1 0 5
	ld.param.u64 	%rd12, [%rd1+-32];
	ld.param.u64 	%rd39, [%rd1+-40];
	cvta.to.global.u64 	%rd13, %rd39;
	.loc	1 96 5
	add.s32 	%r77, %r141, 256;
	ld.global.u32 	%r17, [%rd11+4];
	max.s32 	%r78, %r17, %r77;
	not.b32 	%r79, %r1;
	add.s32 	%r80, %r78, %r79;
	sub.s32 	%r18, %r80, %r15;
	shr.u32 	%r81, %r18, 8;
	add.s32 	%r82, %r81, 1;
	and.b32  	%r140, %r82, 3;
	setp.eq.s32 	%p21, %r140, 0;
	mov.f32 	%f174, 0f00000000;
	@%p21 bra 	$L__BB12_18;

	mul.wide.s32 	%rd40, %r141, 4;
	add.s64 	%rd56, %rd13, %rd40;
	cvta.to.global.u64 	%rd41, %rd12;
	add.s64 	%rd55, %rd41, %rd40;
	mov.f32 	%f174, 0f00000000;

$L__BB12_17:
	.pragma "nounroll";
	ld.global.f32 	%f60, [%rd56];
	sub.rn.f32 	%f61, %f60, %f12;
	mov.f32 	%f62, 0f3F000000;
	mov.f32 	%f63, 0f3BBB989D;
	fma.rn.f32 	%f64, %f61, %f63, %f62;
	cvt.sat.f32.f32 	%f65, %f64;
	mov.f32 	%f66, 0f4B400001;
	mov.f32 	%f67, 0f437C0000;
	fma.rm.f32 	%f68, %f65, %f67, %f66;
	add.rn.f32 	%f69, %f68, 0fCB40007F;
	neg.f32 	%f70, %f69;
	mov.f32 	%f71, 0f3FB8AA3B;
	fma.rn.f32 	%f72, %f61, %f71, %f70;
	mov.f32 	%f73, 0f32A57060;
	fma.rn.f32 	%f74, %f61, %f73, %f72;
	mov.b32 	%r83, %f68;
	shl.b32 	%r84, %r83, 23;
	mov.b32 	%f75, %r84;
	ex2.approx.ftz.f32 	%f76, %f74;
	mul.rn.f32 	%f77, %f76, %f75;
	ld.global.f32 	%f78, [%rd55];
	mul.rn.f32 	%f79, %f78, %f77;
	add.rn.f32 	%f174, %f174, %f79;
	add.s32 	%r141, %r141, 256;
	add.s64 	%rd56, %rd56, 1024;
	add.s64 	%rd55, %rd55, 1024;
	add.s32 	%r140, %r140, -1;
	setp.ne.s32 	%p22, %r140, 0;
	@%p22 bra 	$L__BB12_17;

$L__BB12_18:
	setp.lt.u32 	%p23, %r18, 768;
	@%p23 bra 	$L__BB12_21;

	.loc	1 0 5
	cvta.to.global.u64 	%rd42, %rd12;
	.loc	1 96 5
	mul.wide.s32 	%rd43, %r141, 4;
	add.s64 	%rd44, %rd43, 2048;
	add.s64 	%rd58, %rd42, %rd44;
	add.s64 	%rd57, %rd13, %rd44;

$L__BB12_20:
	ld.global.f32 	%f80, [%rd57+-2048];
	sub.rn.f32 	%f81, %f80, %f12;
	mov.f32 	%f82, 0f3F000000;
	mov.f32 	%f83, 0f3BBB989D;
	fma.rn.f32 	%f84, %f81, %f83, %f82;
	cvt.sat.f32.f32 	%f85, %f84;
	mov.f32 	%f86, 0f4B400001;
	mov.f32 	%f87, 0f437C0000;
	fma.rm.f32 	%f88, %f85, %f87, %f86;
	add.rn.f32 	%f89, %f88, 0fCB40007F;
	neg.f32 	%f90, %f89;
	mov.f32 	%f91, 0f3FB8AA3B;
	fma.rn.f32 	%f92, %f81, %f91, %f90;
	mov.f32 	%f93, 0f32A57060;
	fma.rn.f32 	%f94, %f81, %f93, %f92;
	mov.b32 	%r85, %f88;
	shl.b32 	%r86, %r85, 23;
	mov.b32 	%f95, %r86;
	ex2.approx.ftz.f32 	%f96, %f94;
	mul.rn.f32 	%f97, %f96, %f95;
	ld.global.f32 	%f98, [%rd58+-2048];
	mul.rn.f32 	%f99, %f98, %f97;
	add.rn.f32 	%f100, %f174, %f99;
	ld.global.f32 	%f101, [%rd57+-1024];
	sub.rn.f32 	%f102, %f101, %f12;
	fma.rn.f32 	%f103, %f102, %f83, %f82;
	cvt.sat.f32.f32 	%f104, %f103;
	fma.rm.f32 	%f105, %f104, %f87, %f86;
	add.rn.f32 	%f106, %f105, 0fCB40007F;
	neg.f32 	%f107, %f106;
	fma.rn.f32 	%f108, %f102, %f91, %f107;
	fma.rn.f32 	%f109, %f102, %f93, %f108;
	mov.b32 	%r87, %f105;
	shl.b32 	%r88, %r87, 23;
	mov.b32 	%f110, %r88;
	ex2.approx.ftz.f32 	%f111, %f109;
	mul.rn.f32 	%f112, %f111, %f110;
	ld.global.f32 	%f113, [%rd58+-1024];
	mul.rn.f32 	%f114, %f113, %f112;
	add.rn.f32 	%f115, %f100, %f114;
	ld.global.f32 	%f116, [%rd57];
	sub.rn.f32 	%f117, %f116, %f12;
	fma.rn.f32 	%f118, %f117, %f83, %f82;
	cvt.sat.f32.f32 	%f119, %f118;
	fma.rm.f32 	%f120, %f119, %f87, %f86;
	add.rn.f32 	%f121, %f120, 0fCB40007F;
	neg.f32 	%f122, %f121;
	fma.rn.f32 	%f123, %f117, %f91, %f122;
	fma.rn.f32 	%f124, %f117, %f93, %f123;
	mov.b32 	%r89, %f120;
	shl.b32 	%r90, %r89, 23;
	mov.b32 	%f125, %r90;
	ex2.approx.ftz.f32 	%f126, %f124;
	mul.rn.f32 	%f127, %f126, %f125;
	ld.global.f32 	%f128, [%rd58];
	mul.rn.f32 	%f129, %f128, %f127;
	add.rn.f32 	%f130, %f115, %f129;
	ld.global.f32 	%f131, [%rd57+1024];
	sub.rn.f32 	%f132, %f131, %f12;
	fma.rn.f32 	%f133, %f132, %f83, %f82;
	cvt.sat.f32.f32 	%f134, %f133;
	fma.rm.f32 	%f135, %f134, %f87, %f86;
	add.rn.f32 	%f136, %f135, 0fCB40007F;
	neg.f32 	%f137, %f136;
	fma.rn.f32 	%f138, %f132, %f91, %f137;
	fma.rn.f32 	%f139, %f132, %f93, %f138;
	mov.b32 	%r91, %f135;
	shl.b32 	%r92, %r91, 23;
	mov.b32 	%f140, %r92;
	ex2.approx.ftz.f32 	%f141, %f139;
	mul.rn.f32 	%f142, %f141, %f140;
	ld.global.f32 	%f143, [%rd58+1024];
	mul.rn.f32 	%f144, %f143, %f142;
	add.rn.f32 	%f174, %f130, %f144;
	add.s64 	%rd58, %rd58, 4096;
	add.s64 	%rd57, %rd57, 4096;
	add.s32 	%r141, %r141, 1024;
	setp.lt.s32 	%p24, %r141, %r17;
	@%p24 bra 	$L__BB12_20;

$L__BB12_21:
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 105 51
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r93, %f174;
	mov.u32 	%r94, 2;
	mov.u32 	%r95, 31;
	mov.u32 	%r96, 16;
	mov.u32 	%r97, -1;
	shfl.sync.down.b32 	%r98|%p25, %r93, %r96, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f145, %r98;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f146, %f174, %f145;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r99, %f146;
	mov.u32 	%r100, 8;
	shfl.sync.down.b32 	%r101|%p26, %r99, %r100, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f147, %r101;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f148, %f146, %f147;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r102, %f148;
	mov.u32 	%r103, 4;
	shfl.sync.down.b32 	%r104|%p27, %r102, %r103, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f149, %r104;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f150, %f148, %f149;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r105, %f150;
	shfl.sync.down.b32 	%r106|%p28, %r105, %r94, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f151, %r106;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f152, %f150, %f151;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%r107, %f152;
	mov.u32 	%r108, 1;
	shfl.sync.down.b32 	%r109|%p29, %r107, %r108, %r95, %r97;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 33 5
	mov.b32 	%f153, %r109;
	.loc	1 33 5, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f20, %f152, %f153;
	.loc	1 34 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p11 bra 	$L__BB12_23;

	shr.u32 	%r110, %r1, 3;
	and.b32  	%r111, %r110, 536870908;
	mov.u32 	%r112, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r113, %r112, %r111;
	st.shared.f32 	[%r113], %f20;

$L__BB12_23:
	.loc	1 35 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 36 5, function_name $L__info_string2, inlined_at 1 97 5
	@%p12 bra 	$L__BB12_28;

	setp.gt.u32 	%p32, %r1, 7;
	mov.f32 	%f175, 0f00000000;
	@%p32 bra 	$L__BB12_26;

	shl.b32 	%r114, %r1, 2;
	mov.u32 	%r115, _ZZ6reduceILb0EEffE7scratch;
	add.s32 	%r116, %r115, %r114;
	ld.shared.f32 	%f175, [%r116];

$L__BB12_26:
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r117, %f175;
	mov.u32 	%r118, 2;
	mov.u32 	%r119, 31;
	mov.u32 	%r120, 16;
	mov.u32 	%r121, -1;
	shfl.sync.down.b32 	%r122|%p33, %r117, %r120, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f155, %r122;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f156, %f175, %f155;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r123, %f156;
	mov.u32 	%r124, 8;
	shfl.sync.down.b32 	%r125|%p34, %r123, %r124, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f157, %r125;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f158, %f156, %f157;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r126, %f158;
	mov.u32 	%r127, 4;
	shfl.sync.down.b32 	%r128|%p35, %r126, %r127, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f159, %r128;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f160, %f158, %f159;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r129, %f160;
	shfl.sync.down.b32 	%r130|%p36, %r129, %r118, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f161, %r130;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f162, %f160, %f161;
	.loc	2 440 9, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%r131, %f162;
	mov.u32 	%r132, 1;
	shfl.sync.down.b32 	%r133|%p37, %r131, %r132, %r119, %r121;
	.loc	2 441 2, function_name $L__info_string1, inlined_at 1 37 9
	mov.b32 	%f163, %r133;
	.loc	1 37 9, function_name $L__info_string2, inlined_at 1 97 5
	add.rn.f32 	%f23, %f162, %f163;
	.loc	1 38 9, function_name $L__info_string2, inlined_at 1 97 5
	setp.ne.s32 	%p38, %r1, 0;
	@%p38 bra 	$L__BB12_28;

	st.shared.f32 	[_ZZ6reduceILb0EEffE7scratch], %f23;

$L__BB12_28:
	.loc	1 39 5, function_name $L__info_string2, inlined_at 1 97 5
	bar.sync 	0;
	ld.shared.f32 	%f24, [_ZZ6reduceILb0EEffE7scratch];
	bar.sync 	0;
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 105 51
	setp.ne.s32 	%p39, %r1, 0;
	@%p39 bra 	$L__BB12_30;

	ld.param.u64 	%rd46, [%rd26+32];
	cvta.to.global.u64 	%rd47, %rd46;
	add.s64 	%rd49, %rd47, %rd30;
	st.global.f32 	[%rd49], %f12;
	ld.param.u64 	%rd50, [%rd26+40];
	cvta.to.global.u64 	%rd51, %rd50;
	add.s64 	%rd52, %rd51, %rd30;
	st.global.f32 	[%rd52], %f24;

$L__BB12_30:
	.loc	1 97 5, function_name $L__info_string57, inlined_at 1 105 51
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 97 5
	bar.sync 	0;
	.loc	1 105 51
	ret;

}
	// .globl	_Z7phase_cILb0EEv7Payload
.visible .entry _Z7phase_cILb0EEv7Payload(
	.param .align 8 .b8 _Z7phase_cILb0EEv7Payload_param_0[144]
)
{
	.reg .pred 	%p<6>;
	.reg .f32 	%f<88>;
	.reg .b32 	%r<44>;
	.reg .b64 	%rd<45>;
	.loc	1 106 0


	mov.b64 	%rd18, _Z7phase_cILb0EEv7Payload_param_0;
	.loc	1 106 51
	.loc	1 100 5, function_name $L__info_string60, inlined_at 1 106 51
	add.s64 	%rd1, %rd18, 64;
	ld.param.u64 	%rd20, [_Z7phase_cILb0EEv7Payload_param_0+64];
	cvta.to.global.u64 	%rd21, %rd20;
	.loc	1 106 51
	mov.u32 	%r1, %ctaid.x;
	.loc	1 100 5, function_name $L__info_string60, inlined_at 1 106 51
	mul.wide.s32 	%rd22, %r1, 4;
	add.s64 	%rd23, %rd21, %rd22;
	ld.param.u64 	%rd24, [_Z7phase_cILb0EEv7Payload_param_0+48];
	cvta.to.global.u64 	%rd25, %rd24;
	ld.global.u32 	%r15, [%rd23];
	cvt.s64.s32 	%rd2, %r15;
	mul.wide.s32 	%rd26, %r15, 4;
	add.s64 	%rd27, %rd25, %rd26;
	ld.global.u32 	%r2, [%rd27];
	ld.param.u64 	%rd28, [_Z7phase_cILb0EEv7Payload_param_0+56];
	cvta.to.global.u64 	%rd29, %rd28;
	add.s64 	%rd30, %rd29, %rd26;
	ld.global.u32 	%r3, [%rd30];
	.loc	1 101 5, function_name $L__info_string60, inlined_at 1 106 51
	mov.u32 	%r42, %tid.x;
	setp.gt.s32 	%p1, %r42, 1023;
	@%p1 bra 	$L__BB13_7;

	.loc	1 0 5
	ld.param.u64 	%rd31, [%rd1+-64];
	cvta.to.global.u64 	%rd43, %rd31;
	ld.param.u64 	%rd32, [%rd1+-32];
	cvta.to.global.u64 	%rd33, %rd32;
	shl.b64 	%rd34, %rd2, 2;
	add.s64 	%rd4, %rd33, %rd34;
	ld.param.u64 	%rd35, [%rd1+-24];
	cvta.to.global.u64 	%rd36, %rd35;
	add.s64 	%rd5, %rd36, %rd34;
	ld.param.u64 	%rd37, [%rd1+-56];
	.loc	1 101 5
	cvta.to.global.u64 	%rd44, %rd37;
	max.s32 	%r16, %r42, 768;
	add.s32 	%r17, %r16, 255;
	sub.s32 	%r5, %r17, %r42;
	shr.u32 	%r18, %r5, 8;
	add.s32 	%r19, %r18, 1;
	and.b32  	%r41, %r19, 3;
	setp.eq.s32 	%p2, %r41, 0;
	@%p2 bra 	$L__BB13_4;

	add.s32 	%r20, %r42, %r2;
	shl.b32 	%r21, %r1, 10;
	add.s32 	%r22, %r20, %r21;
	shl.b32 	%r23, %r3, 10;
	sub.s32 	%r24, %r22, %r23;
	mul.wide.s32 	%rd38, %r24, 4;
	add.s64 	%rd42, %rd44, %rd38;
	add.s64 	%rd41, %rd43, %rd38;

$L__BB13_3:
	.pragma "nounroll";
	ld.global.f32 	%f1, [%rd4];
	ld.global.f32 	%f2, [%rd41];
	sub.rn.f32 	%f3, %f2, %f1;
	mov.f32 	%f4, 0f3F000000;
	mov.f32 	%f5, 0f3BBB989D;
	fma.rn.f32 	%f6, %f3, %f5, %f4;
	cvt.sat.f32.f32 	%f7, %f6;
	mov.f32 	%f8, 0f4B400001;
	mov.f32 	%f9, 0f437C0000;
	fma.rm.f32 	%f10, %f7, %f9, %f8;
	add.rn.f32 	%f11, %f10, 0fCB40007F;
	neg.f32 	%f12, %f11;
	mov.f32 	%f13, 0f3FB8AA3B;
	fma.rn.f32 	%f14, %f3, %f13, %f12;
	mov.f32 	%f15, 0f32A57060;
	fma.rn.f32 	%f16, %f3, %f15, %f14;
	mov.b32 	%r25, %f10;
	shl.b32 	%r26, %r25, 23;
	mov.b32 	%f17, %r26;
	ex2.approx.ftz.f32 	%f18, %f16;
	mul.rn.f32 	%f19, %f18, %f17;
	ld.global.f32 	%f20, [%rd5];
	div.rn.f32 	%f21, %f19, %f20;
	st.global.f32 	[%rd42], %f21;
	add.s32 	%r42, %r42, 256;
	add.s64 	%rd42, %rd42, 1024;
	add.s64 	%rd41, %rd41, 1024;
	add.s32 	%r41, %r41, -1;
	setp.ne.s32 	%p3, %r41, 0;
	@%p3 bra 	$L__BB13_3;

$L__BB13_4:
	setp.lt.u32 	%p4, %r5, 768;
	@%p4 bra 	$L__BB13_7;

	add.s32 	%r43, %r42, -1024;
	shl.b32 	%r27, %r1, 10;
	add.s32 	%r28, %r42, %r2;
	add.s32 	%r29, %r28, %r27;
	shl.b32 	%r30, %r3, 10;
	sub.s32 	%r31, %r29, %r30;
	mul.wide.s32 	%rd13, %r31, 4;

$L__BB13_6:
	add.s64 	%rd39, %rd43, %rd13;
	ld.global.f32 	%f22, [%rd4];
	ld.global.f32 	%f23, [%rd39];
	sub.rn.f32 	%f24, %f23, %f22;
	mov.f32 	%f25, 0f3F000000;
	mov.f32 	%f26, 0f3BBB989D;
	fma.rn.f32 	%f27, %f24, %f26, %f25;
	cvt.sat.f32.f32 	%f28, %f27;
	mov.f32 	%f29, 0f4B400001;
	mov.f32 	%f30, 0f437C0000;
	fma.rm.f32 	%f31, %f28, %f30, %f29;
	add.rn.f32 	%f32, %f31, 0fCB40007F;
	neg.f32 	%f33, %f32;
	mov.f32 	%f34, 0f3FB8AA3B;
	fma.rn.f32 	%f35, %f24, %f34, %f33;
	mov.f32 	%f36, 0f32A57060;
	fma.rn.f32 	%f37, %f24, %f36, %f35;
	mov.b32 	%r32, %f31;
	shl.b32 	%r33, %r32, 23;
	mov.b32 	%f38, %r33;
	ex2.approx.ftz.f32 	%f39, %f37;
	mul.rn.f32 	%f40, %f39, %f38;
	ld.global.f32 	%f41, [%rd5];
	div.rn.f32 	%f42, %f40, %f41;
	add.s64 	%rd40, %rd44, %rd13;
	st.global.f32 	[%rd40], %f42;
	ld.global.f32 	%f43, [%rd4];
	ld.global.f32 	%f44, [%rd39+1024];
	sub.rn.f32 	%f45, %f44, %f43;
	fma.rn.f32 	%f46, %f45, %f26, %f25;
	cvt.sat.f32.f32 	%f47, %f46;
	fma.rm.f32 	%f48, %f47, %f30, %f29;
	add.rn.f32 	%f49, %f48, 0fCB40007F;
	neg.f32 	%f50, %f49;
	fma.rn.f32 	%f51, %f45, %f34, %f50;
	fma.rn.f32 	%f52, %f45, %f36, %f51;
	mov.b32 	%r34, %f48;
	shl.b32 	%r35, %r34, 23;
	mov.b32 	%f53, %r35;
	ex2.approx.ftz.f32 	%f54, %f52;
	mul.rn.f32 	%f55, %f54, %f53;
	ld.global.f32 	%f56, [%rd5];
	div.rn.f32 	%f57, %f55, %f56;
	st.global.f32 	[%rd40+1024], %f57;
	ld.global.f32 	%f58, [%rd4];
	ld.global.f32 	%f59, [%rd39+2048];
	sub.rn.f32 	%f60, %f59, %f58;
	fma.rn.f32 	%f61, %f60, %f26, %f25;
	cvt.sat.f32.f32 	%f62, %f61;
	fma.rm.f32 	%f63, %f62, %f30, %f29;
	add.rn.f32 	%f64, %f63, 0fCB40007F;
	neg.f32 	%f65, %f64;
	fma.rn.f32 	%f66, %f60, %f34, %f65;
	fma.rn.f32 	%f67, %f60, %f36, %f66;
	mov.b32 	%r36, %f63;
	shl.b32 	%r37, %r36, 23;
	mov.b32 	%f68, %r37;
	ex2.approx.ftz.f32 	%f69, %f67;
	mul.rn.f32 	%f70, %f69, %f68;
	ld.global.f32 	%f71, [%rd5];
	div.rn.f32 	%f72, %f70, %f71;
	st.global.f32 	[%rd40+2048], %f72;
	ld.global.f32 	%f73, [%rd4];
	ld.global.f32 	%f74, [%rd39+3072];
	sub.rn.f32 	%f75, %f74, %f73;
	fma.rn.f32 	%f76, %f75, %f26, %f25;
	cvt.sat.f32.f32 	%f77, %f76;
	fma.rm.f32 	%f78, %f77, %f30, %f29;
	add.rn.f32 	%f79, %f78, 0fCB40007F;
	neg.f32 	%f80, %f79;
	fma.rn.f32 	%f81, %f75, %f34, %f80;
	fma.rn.f32 	%f82, %f75, %f36, %f81;
	mov.b32 	%r38, %f78;
	shl.b32 	%r39, %r38, 23;
	mov.b32 	%f83, %r39;
	ex2.approx.ftz.f32 	%f84, %f82;
	mul.rn.f32 	%f85, %f84, %f83;
	ld.global.f32 	%f86, [%rd5];
	div.rn.f32 	%f87, %f85, %f86;
	st.global.f32 	[%rd40+3072], %f87;
	add.s64 	%rd44, %rd44, 4096;
	add.s64 	%rd43, %rd43, 4096;
	add.s32 	%r43, %r43, 1024;
	setp.lt.s32 	%p5, %r43, 0;
	@%p5 bra 	$L__BB13_6;

$L__BB13_7:
	.loc	1 102 5, function_name $L__info_string60, inlined_at 1 106 51
	.loc	1 80 5, function_name $L__info_string59, inlined_at 1 102 5
	bar.sync 	0;
	.loc	1 106 51
	ret;

}
	.file	1 "/workspace/bench.cu"
	.file	2 "/usr/local/cuda/bin/../targets/x86_64-linux/include/sm_30_intrinsics.hpp"
	.file	3 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda/std/__atomic/api/reference.h"
	.file	4 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda/std/__atomic/types/base.h"
	.file	5 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda/std/__atomic/functions/cuda_ptx_derived.h"
	.file	6 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cuda/std/__atomic/functions/cuda_ptx_generated.h"
	.file	7 "/usr/local/cuda/bin/../targets/x86_64-linux/include/crt/sm_70_rt.hpp"
	.file	8 "/usr/local/cuda/bin/../targets/x86_64-linux/include/device_atomic_functions.hpp"
	.file	9 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cooperative_groups.h"
	.file	10 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cooperative_groups/details/driver_abi.h"
	.file	11 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cooperative_groups/details/helpers.h"
	.file	12 "/usr/local/cuda/bin/../targets/x86_64-linux/include/cooperative_groups/details/sync.h"
	.section	.debug_str
	{
$L__info_string0:
.b8 95,90,54,114,101,100,117,99,101,73,76,98,49,69,69,102,102,0
$L__info_string1:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,54,95,95,115,104,102,108,95,100,111,119,110,95,115,121,110,99,69,106,102,106,105,0
$L__info_string2:
.b8 95,90,54,114,101,100,117,99,101,73,76,98,48,69,69,102,102,0
$L__info_string3:
.b8 95,90,54,116,97,115,107,95,97,73,76,98,49,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string4:
.b8 95,90,49,48,98,101,103,105,110,95,116,97,115,107,73,76,98,49,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string5:
.b8 95,90,54,116,97,115,107,95,98,73,76,98,49,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string6:
.b8 95,90,78,75,52,99,117,100,97,51,115,116,100,51,95,95,52,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,98,105,116,119,105,115,101,73
.b8 105,78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,52,108,111,97,100,69
.b8 78,83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101,114,69,0
$L__info_string7:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,50,95,95,97,116,111,109,105,99,95,108,111,97,100,95,100,105,115,112,97,116,99,104
.b8 73,78,83,49,95,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,115,116,111,114,97,103,101,73,105,69,69,78,83,49,95,50,53,95,95,116
.b8 104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,76,105,48,69,69,69,78,84,95,49,52,95,95,117,110,100,101
.b8 114,108,121,105,110,103,95,116,69,80,75,83,54,95,78,83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101,114,69,84,48,95,0
$L__info_string8:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,48,95,95,97,116,111,109,105,99,95,108,111,97,100,95,110,95,99,117,100,97,73,105
.b8 78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,69,84,95,80,75,83,52
.b8 95,105,84,48,95,0
$L__info_string9:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,49,56,95,95,97,116,111,109,105,99,95,108,111,97,100,95,99,117,100,97,73,105,78,83
.b8 50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,69,118,80,75,84,95,82,83,53
.b8 95,105,84,48,95,0
$L__info_string10:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,52,48,95,95,99,117,100,97,95,97,116,111,109,105,99,95,108,111,97,100,95,109,101,109
.b8 111,114,121,95,111,114,100,101,114,95,100,105,115,112,97,116,99,104,73,78,83,50,95,50,51,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98
.b8 105,110,100,95,108,111,97,100,73,106,78,83,50,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97
.b8 103,73,76,78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69
.b8 78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,78,83,50,95,49,55,105,110
.b8 116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,98,76,98,48,69,69,69,69,69,83,56,95,69,69,118,82,84,95,105,84,48,95,0
$L__info_string11:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,51,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98,105,110,100,95,108,111,97
.b8 100,73,106,78,83,49,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,49,95
.b8 50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,49,95,50,53,95
.b8 95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,78,83,49,95,49,55,105,110,116,101,103,114,97,108,95
.b8 99,111,110,115,116,97,110,116,73,98,76,98,48,69,69,69,69,99,108,73,78,83,55,95,73,78,83,49,95,50,50,95,95,97,116,111,109,105,99,95
.b8 99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,66,95,50,69,69,69,69,69,118,84,95,0
$L__info_string12:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,49,56,95,95,99,117,100,97,95,97,116,111,109,105,99,95,108,111,97,100,73,106,69,69
.b8 118,80,75,84,95,82,83,52,95,78,83,50,95,49,55,105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,78,83,50,95,50,50,95
.b8 95,97,116,111,109,105,99,95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,57,95,50,69,69,69,78,83,50,95,50,53,95,95,97,116
.b8 111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117
.b8 100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101
.b8 95,100,101,118,105,99,101,95,116,97,103,69,78,83,56,95,73,98,76,98,48,69,69,69,0
$L__info_string13:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,51,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98,105,110,100,95,108,111,97
.b8 100,73,106,78,83,49,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,49,95
.b8 50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,49,95,50,53,95
.b8 95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,78,83,49,95,49,55,105,110,116,101,103,114,97,108,95
.b8 99,111,110,115,116,97,110,116,73,98,76,98,48,69,69,69,69,99,108,73,78,83,55,95,73,78,83,49,95,50,50,95,95,97,116,111,109,105,99,95
.b8 99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,66,95,48,69,69,69,69,69,118,84,95,0
$L__info_string14:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,49,56,95,95,99,117,100,97,95,97,116,111,109,105,99,95,108,111,97,100,73,106,69,69
.b8 118,80,75,84,95,82,83,52,95,78,83,50,95,49,55,105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,78,83,50,95,50,50,95
.b8 95,97,116,111,109,105,99,95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,57,95,48,69,69,69,78,83,50,95,50,53,95,95,97,116
.b8 111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117
.b8 100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101
.b8 95,100,101,118,105,99,101,95,116,97,103,69,78,83,56,95,73,98,76,98,48,69,69,69,0
$L__info_string15:
.b8 95,90,78,75,52,99,117,100,97,51,115,116,100,51,95,95,52,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,98,105,116,119,105,115,101,73
.b8 105,78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,50,49,99,111,109,112
.b8 97,114,101,95,101,120,99,104,97,110,103,101,95,119,101,97,107,69,82,105,105,78,83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101,114,69
.b8 0
$L__info_string16:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,51,57,95,95,97,116,111,109,105,99,95,99,111,109,112,97,114,101,95,101,120,99,104,97
.b8 110,103,101,95,119,101,97,107,95,100,105,115,112,97,116,99,104,73,75,78,83,49,95,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,115,116
.b8 111,114,97,103,101,73,105,69,69,105,78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97
.b8 103,69,76,105,48,69,69,69,98,80,84,95,80,84,48,95,83,57,95,78,83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101,114,69,83,66
.b8 95,84,49,95,0
$L__info_string17:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,51,48,95,95,97,116,111,109,105,99,95,99,111,109,112,97,114,101,95,101,120,99,104,97
.b8 110,103,101,95,99,117,100,97,73,105,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97
.b8 103,69,69,69,98,80,84,95,83,54,95,83,53,95,98,105,105,84,48,95,0
$L__info_string18:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,52,56,95,95,99,117,100,97,95,97,116,111,109,105,99,95,99,111,109,112,97,114,101,95
.b8 115,119,97,112,95,109,101,109,111,114,121,95,111,114,100,101,114,95,100,105,115,112,97,116,99,104,73,78,83,50,95,51,53,95,95,99,117,100,97,95
.b8 97,116,111,109,105,99,95,98,105,110,100,95,99,111,109,112,97,114,101,95,101,120,99,104,97,110,103,101,73,106,78,83,50,95,50,53,95,95,97,116
.b8 111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117
.b8 100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101
.b8 95,100,101,118,105,99,101,95,116,97,103,69,69,69,83,56,95,69,69,98,82,84,95,105,105,84,48,95,0
$L__info_string19:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,51,53,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98,105,110,100,95,99,111,109
.b8 112,97,114,101,95,101,120,99,104,97,110,103,101,73,106,78,83,49,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97
.b8 110,100,95,116,97,103,73,76,78,83,49,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,51,69,76,109
.b8 51,50,69,69,69,78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,99,108
.b8 73,78,83,49,95,49,55,105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,78,83,49,95,50,50,95,95,97,116,111,109,105,99,95
.b8 99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,65,95,48,69,69,69,69,69,98,84,95,0
$L__info_string20:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,51,48,95,95,99,117,100,97,95,97,116,111,109,105,99,95,99,111,109,112,97,114,101,95
.b8 101,120,99,104,97,110,103,101,73,106,69,69,98,80,84,95,82,83,52,95,83,52,95,83,52,95,78,83,50,95,49,55,105,110,116,101,103,114,97,108
.b8 95,99,111,110,115,116,97,110,116,73,78,83,50,95,50,50,95,95,97,116,111,109,105,99,95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76
.b8 83,56,95,48,69,69,69,78,83,50,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76
.b8 78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,50
.b8 95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,0
$L__info_string21:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,49,95,95,110,97,110,111,115,108,101,101,112,69,106,0
$L__info_string22:
.b8 95,90,53,116,105,109,101,114,118,0
$L__info_string23:
.b8 95,90,57,97,99,116,117,97,108,95,115,109,118,0
$L__info_string24:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,57,97,116,111,109,105,99,65,100,100,69,80,105,105,0
$L__info_string25:
.b8 95,90,56,101,110,100,95,116,97,115,107,73,76,98,49,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string26:
.b8 95,90,78,75,52,99,117,100,97,51,115,116,100,51,95,95,52,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,98,105,116,119,105,115,101,73
.b8 105,78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,57,102,101,116,99,104
.b8 95,97,100,100,69,105,78,83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101,114,69,0
$L__info_string27:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,55,95,95,97,116,111,109,105,99,95,102,101,116,99,104,95,97,100,100,95,100,105,115
.b8 112,97,116,99,104,73,75,78,83,49,95,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,115,116,111,114,97,103,101,73,105,69,69,105,78,83
.b8 49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,76,105,48,69,69,69,78,84,95,49
.b8 52,95,95,117,110,100,101,114,108,121,105,110,103,95,116,69,80,83,55,95,84,48,95,78,83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101
.b8 114,69,84,49,95,0
$L__info_string28:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,50,51,95,95,97,116,111,109,105,99,95,102,101,116,99,104,95,97,100,100,95,99,117,100
.b8 97,73,105,105,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,76,98,48,69
.b8 69,69,84,95,80,83,53,95,84,48,95,105,84,49,95,0
$L__info_string29:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,52,49,95,95,99,117,100,97,95,97,116,111,109,105,99,95,102,101,116,99,104,95,109,101
.b8 109,111,114,121,95,111,114,100,101,114,95,100,105,115,112,97,116,99,104,73,78,83,50,95,50,56,95,95,99,117,100,97,95,97,116,111,109,105,99,95
.b8 98,105,110,100,95,102,101,116,99,104,95,97,100,100,73,105,78,83,50,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114
.b8 97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,49,69,76
.b8 109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,69
.b8 83,56,95,69,69,118,82,84,95,105,84,48,95,0
$L__info_string30:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,56,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98,105,110,100,95,102,101,116
.b8 99,104,95,97,100,100,73,105,78,83,49,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73
.b8 76,78,83,49,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,49,69,76,109,51,50,69,69,69,78,83
.b8 49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,99,108,73,78,83,49,95,49,55
.b8 105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,78,83,49,95,50,50,95,95,97,116,111,109,105,99,95,99,117,100,97,95,109,101
.b8 109,111,114,100,101,114,69,76,83,65,95,51,69,69,69,69,69,118,84,95,0
$L__info_string31:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,50,51,95,95,99,117,100,97,95,97,116,111,109,105,99,95,102,101,116,99,104,95,97,100
.b8 100,73,105,69,69,118,80,84,95,82,83,52,95,83,52,95,78,83,50,95,49,55,105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73
.b8 78,83,50,95,50,50,95,95,97,116,111,109,105,99,95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,56,95,51,69,69,69,78,83,50
.b8 95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116
.b8 111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,49,69,76,109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97
.b8 100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,0
$L__info_string32:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,56,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98,105,110,100,95,102,101,116
.b8 99,104,95,97,100,100,73,105,78,83,49,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73
.b8 76,78,83,49,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,49,69,76,109,51,50,69,69,69,78,83
.b8 49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,99,108,73,78,83,49,95,49,55
.b8 105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,78,83,49,95,50,50,95,95,97,116,111,109,105,99,95,99,117,100,97,95,109,101
.b8 109,111,114,100,101,114,69,76,83,65,95,48,69,69,69,69,69,118,84,95,0
$L__info_string33:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,50,51,95,95,99,117,100,97,95,97,116,111,109,105,99,95,102,101,116,99,104,95,97,100
.b8 100,73,105,69,69,118,80,84,95,82,83,52,95,83,52,95,78,83,50,95,49,55,105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73
.b8 78,83,50,95,50,50,95,95,97,116,111,109,105,99,95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,56,95,48,69,69,69,78,83,50
.b8 95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116
.b8 111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,49,69,76,109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97
.b8 100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,0
$L__info_string34:
.b8 95,90,78,75,52,99,117,100,97,51,115,116,100,51,95,95,52,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,98,105,116,119,105,115,101,73
.b8 105,78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,53,115,116,111,114,101
.b8 69,105,78,83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101,114,69,0
$L__info_string35:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,51,95,95,97,116,111,109,105,99,95,115,116,111,114,101,95,100,105,115,112,97,116,99
.b8 104,73,75,78,83,49,95,50,48,95,95,97,116,111,109,105,99,95,114,101,102,95,115,116,111,114,97,103,101,73,105,69,69,105,78,83,49,95,50,53
.b8 95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,76,105,48,69,69,69,118,80,84,95,84,48,95,78
.b8 83,49,95,49,50,109,101,109,111,114,121,95,111,114,100,101,114,69,84,49,95,0
$L__info_string36:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,49,95,95,97,116,111,109,105,99,95,115,116,111,114,101,95,110,95,99,117,100,97,73
.b8 105,78,83,49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,69,118,80,84,95,83
.b8 52,95,105,84,48,95,0
$L__info_string37:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,49,57,95,95,97,116,111,109,105,99,95,115,116,111,114,101,95,99,117,100,97,73,105,78
.b8 83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,69,118,80,84,95,82,83,53
.b8 95,105,84,48,95,0
$L__info_string38:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,52,49,95,95,99,117,100,97,95,97,116,111,109,105,99,95,115,116,111,114,101,95,109,101
.b8 109,111,114,121,95,111,114,100,101,114,95,100,105,115,112,97,116,99,104,73,78,83,50,95,50,52,95,95,99,117,100,97,95,97,116,111,109,105,99,95
.b8 98,105,110,100,95,115,116,111,114,101,73,106,78,83,50,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95
.b8 116,97,103,73,76,78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69
.b8 69,69,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,78,83,50,95,49,55
.b8 105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,98,76,98,48,69,69,69,69,69,83,56,95,69,69,118,82,84,95,105,84,48,95
.b8 0
$L__info_string39:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,52,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98,105,110,100,95,115,116,111
.b8 114,101,73,106,78,83,49,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,49
.b8 95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,49,95,50,53
.b8 95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,78,83,49,95,49,55,105,110,116,101,103,114,97,108
.b8 95,99,111,110,115,116,97,110,116,73,98,76,98,48,69,69,69,69,99,108,73,78,83,55,95,73,78,83,49,95,50,50,95,95,97,116,111,109,105,99
.b8 95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,66,95,49,69,69,69,69,69,118,84,95,0
$L__info_string40:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,49,57,95,95,99,117,100,97,95,97,116,111,109,105,99,95,115,116,111,114,101,73,106,69
.b8 69,118,80,84,95,82,83,52,95,78,83,50,95,49,55,105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,78,83,50,95,50,50,95
.b8 95,97,116,111,109,105,99,95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,56,95,49,69,69,69,78,83,50,95,50,53,95,95,97,116
.b8 111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116,111,109,105,99,95,99,117
.b8 100,97,95,111,112,101,114,97,110,100,69,51,69,76,109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101
.b8 95,100,101,118,105,99,101,95,116,97,103,69,78,83,55,95,73,98,76,98,48,69,69,69,0
$L__info_string41:
.b8 95,90,54,116,97,115,107,95,99,73,76,98,49,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string42:
.b8 95,90,78,52,99,117,100,97,51,115,116,100,51,95,95,52,50,56,95,95,99,117,100,97,95,97,116,111,109,105,99,95,98,105,110,100,95,102,101,116
.b8 99,104,95,97,100,100,73,105,78,83,49,95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73
.b8 76,78,83,49,95,50,49,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,49,69,76,109,51,50,69,69,69,78,83
.b8 49,95,50,53,95,95,116,104,114,101,97,100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,69,99,108,73,78,83,49,95,49,55
.b8 105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73,78,83,49,95,50,50,95,95,97,116,111,109,105,99,95,99,117,100,97,95,109,101
.b8 109,111,114,100,101,114,69,76,83,65,95,49,69,69,69,69,69,118,84,95,0
$L__info_string43:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,52,99,117,100,97,51,115,116,100,51,95,95,52,50,51,95,95,99,117,100,97,95,97,116,111,109,105,99,95,102,101,116,99,104,95,97,100
.b8 100,73,105,69,69,118,80,84,95,82,83,52,95,83,52,95,78,83,50,95,49,55,105,110,116,101,103,114,97,108,95,99,111,110,115,116,97,110,116,73
.b8 78,83,50,95,50,50,95,95,97,116,111,109,105,99,95,99,117,100,97,95,109,101,109,111,114,100,101,114,69,76,83,56,95,49,69,69,69,78,83,50
.b8 95,50,53,95,95,97,116,111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,95,116,97,103,73,76,78,83,50,95,50,49,95,95,97,116
.b8 111,109,105,99,95,99,117,100,97,95,111,112,101,114,97,110,100,69,49,69,76,109,51,50,69,69,69,78,83,50,95,50,53,95,95,116,104,114,101,97
.b8 100,95,115,99,111,112,101,95,100,101,118,105,99,101,95,116,97,103,69,0
$L__info_string44:
.b8 95,90,78,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,57,116,104,105,115,95,103,114,105,100,69,118
.b8 0
$L__info_string45:
.b8 95,90,78,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,56,103,101
.b8 116,95,103,114,105,100,95,119,111,114,107,115,112,97,99,101,69,118,0
$L__info_string46:
.b8 95,90,78,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,52,108,111
.b8 97,100,95,101,110,118,95,114,101,103,54,52,73,76,106,49,69,76,106,50,69,69,69,121,118,0
$L__info_string47:
.b8 95,90,78,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,50,108,111
.b8 97,100,95,101,110,118,95,114,101,103,73,76,106,50,69,69,69,106,118,0
$L__info_string48:
.b8 95,90,78,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,50,108,111
.b8 97,100,95,101,110,118,95,114,101,103,73,76,106,49,69,69,69,106,118,0
$L__info_string49:
.b8 95,90,78,75,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,49,48,103,114,105,100,95,103,114,111,117
.b8 112,52,115,121,110,99,69,118,0
$L__info_string50:
.b8 95,90,78,75,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,49,48,103,114,105,100,95,103,114,111,117
.b8 112,56,105,115,95,118,97,108,105,100,69,118,0
$L__info_string51:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,52,103,114,105
.b8 100,52,115,121,110,99,69,80,106,0
$L__info_string52:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,55,115,121
.b8 110,99,95,103,114,105,100,115,95,97,114,114,105,118,101,69,80,86,106,0
$L__info_string53:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,52,95,95,98,97,114,114,105,101,114,95,115,121,110,99,69,106,0
$L__info_string54:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,51,105,115
.b8 95,99,116,97,95,109,97,115,116,101,114,69,118,0
$L__info_string55:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,53,115,121
.b8 110,99,95,103,114,105,100,115,95,119,97,105,116,69,106,80,86,106,0
$L__info_string56:
.b8 95,90,78,51,56,95,73,78,84,69,82,78,65,76,95,100,102,53,49,98,48,99,53,95,56,95,98,101,110,99,104,95,99,117,95,100,56,51,55,52
.b8 98,54,99,49,56,99,111,111,112,101,114,97,116,105,118,101,95,103,114,111,117,112,115,52,95,95,118,49,55,100,101,116,97,105,108,115,49,53,98,97
.b8 114,95,104,97,115,95,102,108,105,112,112,101,100,69,106,106,0
$L__info_string57:
.b8 95,90,54,116,97,115,107,95,98,73,76,98,48,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string58:
.b8 95,90,54,116,97,115,107,95,97,73,76,98,48,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string59:
.b8 95,90,56,101,110,100,95,116,97,115,107,73,76,98,48,69,69,118,55,80,97,121,108,111,97,100,105,0
$L__info_string60:
.b8 95,90,54,116,97,115,107,95,99,73,76,98,48,69,69,118,55,80,97,121,108,111,97,100,105,0

	}
