// BEGIN PREAMBLE
	.version	3.1
	.target	sm_30
	.address_size 64
// END PREAMBLE

// BEGIN FUNCTION DEF: clock
.func (.param.u32 %out_retval)clock
{
.reg.u32 %retval;
	.reg.u64 %hr10;
	.reg.u32 %r22;
	.reg.u32 %r23;
	.reg.u32 %r24;
	.local.align 8 .b8 %frame[8];
	// #APP 
// 7 "subr.c" 1
	mov.u32 %r24, %clock;
// 0 "" 2
	// #NO_APP 
		st.local.u32	[%frame], %r24;
		ld.local.u32	%r22, [%frame];
		mov.u32	%r23, %r22;
		mov.u32	%retval, %r23;
	st.param.u32	[%out_retval], %retval;
	ret;
	}
// END FUNCTION DEF
// BEGIN GLOBAL FUNCTION DEF: delay
.visible .entry delay(.param.u64 %in_ar1, .param.u64 %in_ar2)
{
	.reg.u64 %ar1;
	.reg.u64 %ar2;
	.reg.u64 %hr10;
	.reg.u64 %r22;
	.reg.u32 %r23;
	.reg.u64 %r24;
	.reg.u64 %r25;
	.reg.u32 %r26;
	.reg.u32 %r27;
	.reg.u32 %r28;
	.reg.u32 %r29;
	.reg.u32 %r30;
	.reg.u64 %r31;
	.reg.pred %r32;
	.local.align 8 .b8 %frame[24];
	ld.param.u64 %ar1, [%in_ar1];
	ld.param.u64 %ar2, [%in_ar2];
		mov.u64	%r24, %ar1;
		st.u64	[%frame+8], %r24;
		mov.u64	%r25, %ar2;
		st.local.u64	[%frame+16], %r25;
	{
		.param.u32 %retval_in;
	{
		call (%retval_in), clock;
	}
		ld.param.u32	%r26, [%retval_in];
}
		st.local.u32	[%frame+4], %r26;
		mov.u32	%r27, 0;
		st.local.u32	[%frame], %r27;
		bra	$L4;
$L5:
	{
		.param.u32 %retval_in;
	{
		call (%retval_in), clock;
	}
		ld.param.u32	%r28, [%retval_in];
}
		mov.u32	%r23, %r28;
		ld.local.u32	%r30, [%frame+4];
		sub.u32	%r29, %r23, %r30;
		st.local.u32	[%frame], %r29;
$L4:
		ld.local.s32	%r22, [%frame];
		ld.local.u64	%r31, [%frame+16];
		setp.lo.u64 %r32,%r22,%r31;
	@%r32	bra	$L5;
	ret;
	}
// END FUNCTION DEF
// BEGIN GLOBAL FUNCTION DEF: delay2
.visible .entry delay2(.param.u64 %in_ar1, .param.u64 %in_ar2, .param.u64 %in_ar3)
{
	.reg.u64 %ar1;
	.reg.u64 %ar2;
	.reg.u64 %ar3;
	.reg.u64 %hr10;
	.reg.u64 %r22;
	.reg.u32 %r23;
	.reg.u64 %r24;
	.reg.u64 %r25;
	.reg.u64 %r26;
	.reg.u32 %r27;
	.reg.u32 %r28;
	.reg.u32 %r29;
	.reg.u32 %r30;
	.reg.u32 %r31;
	.reg.u64 %r32;
	.reg.pred %r33;
	.reg.u64 %r34;
	.reg.u64 %r35;
	.local.align 8 .b8 %frame[32];
	ld.param.u64 %ar1, [%in_ar1];
	ld.param.u64 %ar2, [%in_ar2];
	ld.param.u64 %ar3, [%in_ar3];
		mov.u64	%r24, %ar1;
		st.local.u64	[%frame+8], %r24;
		mov.u64	%r25, %ar2;
		st.local.u64	[%frame+16], %r25;
		mov.u64	%r26, %ar3;
		st.local.u64	[%frame+24], %r26;
	{
		.param.u32 %retval_in;
	{
		call (%retval_in), clock;
	}
		ld.param.u32	%r27, [%retval_in];
}
		st.local.u32	[%frame+4], %r27;
		mov.u32	%r28, 0;
		st.local.u32	[%frame], %r28;
		bra	$L8;
$L9:
	{
		.param.u32 %retval_in;
	{
		call (%retval_in), clock;
	}
		ld.param.u32	%r29, [%retval_in];
}
		mov.u32	%r23, %r29;
		ld.local.u32	%r31, [%frame+4];
		sub.u32	%r30, %r23, %r31;
		st.local.u32	[%frame], %r30;
$L8:
		ld.local.s32	%r22, [%frame];
		ld.local.u64	%r32, [%frame+16];
		setp.lo.u64 %r33,%r22,%r32;
	@%r33	bra	$L9;
		ld.local.u64	%r34, [%frame+8];
		ld.local.u64	%r35, [%frame+24];
		st.u64	[%r34], %r35;
	ret;
	}
// END FUNCTION DEF
