All Downloads are FREE. Search and download functionalities are using the official Maven repository.

kernels.JCudaVec_kernels_double_64_cc20.ptx Maven / Gradle / Ivy

The newest version!
//
// Generated by NVIDIA NVVM Compiler
//
// Compiler Build ID: CL-19805474
// Cuda compilation tools, release 7.5, V7.5.16
// Based on LLVM 3.4svn
//

.version 4.3
.target sm_20
.address_size 64

	// .globl	vec_set
.func  (.param .b64 func_retval0) __internal_trig_reduction_slowpathd
(
	.param .b64 __internal_trig_reduction_slowpathd_param_0,
	.param .b64 __internal_trig_reduction_slowpathd_param_1
)
;
.func  (.param .b64 func_retval0) __internal_accurate_pow
(
	.param .b64 __internal_accurate_pow_param_0,
	.param .b64 __internal_accurate_pow_param_1
)
;
.func  (.param .b64 func_retval0) __internal_lgamma_pos
(
	.param .b64 __internal_lgamma_pos_param_0
)
;
.const .align 8 .b8 __cudart_i2opi_d[144] = {8, 93, 141, 31, 177, 95, 251, 107, 234, 146, 82, 138, 247, 57, 7, 61, 123, 241, 229, 235, 199, 186, 39, 117, 45, 234, 95, 158, 102, 63, 70, 79, 183, 9, 203, 39, 207, 126, 54, 109, 31, 109, 10, 90, 139, 17, 47, 239, 15, 152, 5, 222, 255, 151, 248, 31, 59, 40, 249, 189, 139, 95, 132, 156, 244, 57, 83, 131, 57, 214, 145, 57, 65, 126, 95, 180, 38, 112, 156, 233, 132, 68, 187, 46, 245, 53, 130, 232, 62, 167, 41, 177, 28, 235, 29, 254, 28, 146, 209, 9, 234, 46, 73, 6, 224, 210, 77, 66, 58, 110, 36, 183, 97, 197, 187, 222, 171, 99, 81, 254, 65, 144, 67, 60, 153, 149, 98, 219, 192, 221, 52, 245, 209, 87, 39, 252, 41, 21, 68, 78, 110, 131, 249, 162};
.const .align 8 .b8 __cudart_sin_cos_coeffs[128] = {186, 94, 120, 249, 101, 219, 229, 61, 70, 210, 176, 44, 241, 229, 90, 190, 146, 227, 172, 105, 227, 29, 199, 62, 161, 98, 219, 25, 160, 1, 42, 191, 24, 8, 17, 17, 17, 17, 129, 63, 84, 85, 85, 85, 85, 85, 197, 191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 129, 253, 32, 131, 255, 168, 189, 40, 133, 239, 193, 167, 238, 33, 62, 217, 230, 6, 142, 79, 126, 146, 190, 233, 188, 221, 25, 160, 1, 250, 62, 71, 93, 193, 22, 108, 193, 86, 191, 81, 85, 85, 85, 85, 85, 165, 63, 0, 0, 0, 0, 0, 0, 224, 191, 0, 0, 0, 0, 0, 0, 240, 63};

.visible .entry vec_set(
	.param .u64 vec_set_param_0,
	.param .u64 vec_set_param_1,
	.param .f64 vec_set_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<2>;
	.reg .b64 	%rd<7>;


	ld.param.u64 	%rd2, [vec_set_param_0];
	ld.param.u64 	%rd1, [vec_set_param_1];
	ld.param.f64 	%fd1, [vec_set_param_2];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd3, %r1;
	setp.ge.u64	%p1, %rd3, %rd2;
	@%p1 bra 	BB0_2;

	cvta.to.global.u64 	%rd4, %rd1;
	mul.wide.s32 	%rd5, %r1, 8;
	add.s64 	%rd6, %rd4, %rd5;
	st.global.f64 	[%rd6], %fd1;

BB0_2:
	ret;
}

	// .globl	vec_add
.visible .entry vec_add(
	.param .u64 vec_add_param_0,
	.param .u64 vec_add_param_1,
	.param .u64 vec_add_param_2,
	.param .u64 vec_add_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_add_param_0];
	ld.param.u64 	%rd1, [vec_add_param_1];
	ld.param.u64 	%rd2, [vec_add_param_2];
	ld.param.u64 	%rd3, [vec_add_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB1_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	add.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB1_2:
	ret;
}

	// .globl	vec_sub
.visible .entry vec_sub(
	.param .u64 vec_sub_param_0,
	.param .u64 vec_sub_param_1,
	.param .u64 vec_sub_param_2,
	.param .u64 vec_sub_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_sub_param_0];
	ld.param.u64 	%rd1, [vec_sub_param_1];
	ld.param.u64 	%rd2, [vec_sub_param_2];
	ld.param.u64 	%rd3, [vec_sub_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB2_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	sub.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB2_2:
	ret;
}

	// .globl	vec_mul
.visible .entry vec_mul(
	.param .u64 vec_mul_param_0,
	.param .u64 vec_mul_param_1,
	.param .u64 vec_mul_param_2,
	.param .u64 vec_mul_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_mul_param_0];
	ld.param.u64 	%rd1, [vec_mul_param_1];
	ld.param.u64 	%rd2, [vec_mul_param_2];
	ld.param.u64 	%rd3, [vec_mul_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB3_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	mul.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB3_2:
	ret;
}

	// .globl	vec_div
.visible .entry vec_div(
	.param .u64 vec_div_param_0,
	.param .u64 vec_div_param_1,
	.param .u64 vec_div_param_2,
	.param .u64 vec_div_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd5, [vec_div_param_0];
	ld.param.u64 	%rd2, [vec_div_param_1];
	ld.param.u64 	%rd3, [vec_div_param_2];
	ld.param.u64 	%rd4, [vec_div_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB4_2;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	div.rn.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB4_2:
	ret;
}

	// .globl	vec_negate
.visible .entry vec_negate(
	.param .u64 vec_negate_param_0,
	.param .u64 vec_negate_param_1,
	.param .u64 vec_negate_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_negate_param_0];
	ld.param.u64 	%rd1, [vec_negate_param_1];
	ld.param.u64 	%rd2, [vec_negate_param_2];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB5_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	neg.f64 	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB5_2:
	ret;
}

	// .globl	vec_addScalar
.visible .entry vec_addScalar(
	.param .u64 vec_addScalar_param_0,
	.param .u64 vec_addScalar_param_1,
	.param .u64 vec_addScalar_param_2,
	.param .f64 vec_addScalar_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_addScalar_param_0];
	ld.param.u64 	%rd1, [vec_addScalar_param_1];
	ld.param.u64 	%rd2, [vec_addScalar_param_2];
	ld.param.f64 	%fd1, [vec_addScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB6_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	add.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB6_2:
	ret;
}

	// .globl	vec_subScalar
.visible .entry vec_subScalar(
	.param .u64 vec_subScalar_param_0,
	.param .u64 vec_subScalar_param_1,
	.param .u64 vec_subScalar_param_2,
	.param .f64 vec_subScalar_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_subScalar_param_0];
	ld.param.u64 	%rd1, [vec_subScalar_param_1];
	ld.param.u64 	%rd2, [vec_subScalar_param_2];
	ld.param.f64 	%fd1, [vec_subScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB7_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	sub.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB7_2:
	ret;
}

	// .globl	vec_mulScalar
.visible .entry vec_mulScalar(
	.param .u64 vec_mulScalar_param_0,
	.param .u64 vec_mulScalar_param_1,
	.param .u64 vec_mulScalar_param_2,
	.param .f64 vec_mulScalar_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_mulScalar_param_0];
	ld.param.u64 	%rd1, [vec_mulScalar_param_1];
	ld.param.u64 	%rd2, [vec_mulScalar_param_2];
	ld.param.f64 	%fd1, [vec_mulScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB8_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	mul.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB8_2:
	ret;
}

	// .globl	vec_divScalar
.visible .entry vec_divScalar(
	.param .u64 vec_divScalar_param_0,
	.param .u64 vec_divScalar_param_1,
	.param .u64 vec_divScalar_param_2,
	.param .f64 vec_divScalar_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_divScalar_param_0];
	ld.param.u64 	%rd2, [vec_divScalar_param_1];
	ld.param.u64 	%rd3, [vec_divScalar_param_2];
	ld.param.f64 	%fd1, [vec_divScalar_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB9_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	div.rn.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB9_2:
	ret;
}

	// .globl	vec_scalarAdd
.visible .entry vec_scalarAdd(
	.param .u64 vec_scalarAdd_param_0,
	.param .u64 vec_scalarAdd_param_1,
	.param .f64 vec_scalarAdd_param_2,
	.param .u64 vec_scalarAdd_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_scalarAdd_param_0];
	ld.param.u64 	%rd1, [vec_scalarAdd_param_1];
	ld.param.f64 	%fd1, [vec_scalarAdd_param_2];
	ld.param.u64 	%rd2, [vec_scalarAdd_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB10_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	add.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB10_2:
	ret;
}

	// .globl	vec_scalarSub
.visible .entry vec_scalarSub(
	.param .u64 vec_scalarSub_param_0,
	.param .u64 vec_scalarSub_param_1,
	.param .f64 vec_scalarSub_param_2,
	.param .u64 vec_scalarSub_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_scalarSub_param_0];
	ld.param.u64 	%rd1, [vec_scalarSub_param_1];
	ld.param.f64 	%fd1, [vec_scalarSub_param_2];
	ld.param.u64 	%rd2, [vec_scalarSub_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB11_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	sub.f64 	%fd3, %fd1, %fd2;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB11_2:
	ret;
}

	// .globl	vec_scalarMul
.visible .entry vec_scalarMul(
	.param .u64 vec_scalarMul_param_0,
	.param .u64 vec_scalarMul_param_1,
	.param .f64 vec_scalarMul_param_2,
	.param .u64 vec_scalarMul_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_scalarMul_param_0];
	ld.param.u64 	%rd1, [vec_scalarMul_param_1];
	ld.param.f64 	%fd1, [vec_scalarMul_param_2];
	ld.param.u64 	%rd2, [vec_scalarMul_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB12_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	mul.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB12_2:
	ret;
}

	// .globl	vec_scalarDiv
.visible .entry vec_scalarDiv(
	.param .u64 vec_scalarDiv_param_0,
	.param .u64 vec_scalarDiv_param_1,
	.param .f64 vec_scalarDiv_param_2,
	.param .u64 vec_scalarDiv_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_scalarDiv_param_0];
	ld.param.u64 	%rd2, [vec_scalarDiv_param_1];
	ld.param.f64 	%fd1, [vec_scalarDiv_param_2];
	ld.param.u64 	%rd3, [vec_scalarDiv_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB13_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	div.rn.f64 	%fd3, %fd1, %fd2;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB13_2:
	ret;
}

	// .globl	vec_lt
.visible .entry vec_lt(
	.param .u64 vec_lt_param_0,
	.param .u64 vec_lt_param_1,
	.param .u64 vec_lt_param_2,
	.param .u64 vec_lt_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_lt_param_0];
	ld.param.u64 	%rd1, [vec_lt_param_1];
	ld.param.u64 	%rd2, [vec_lt_param_2];
	ld.param.u64 	%rd3, [vec_lt_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB14_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	setp.lt.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB14_2:
	ret;
}

	// .globl	vec_lte
.visible .entry vec_lte(
	.param .u64 vec_lte_param_0,
	.param .u64 vec_lte_param_1,
	.param .u64 vec_lte_param_2,
	.param .u64 vec_lte_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_lte_param_0];
	ld.param.u64 	%rd1, [vec_lte_param_1];
	ld.param.u64 	%rd2, [vec_lte_param_2];
	ld.param.u64 	%rd3, [vec_lte_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB15_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	setp.gtu.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d0000000000000000, 0d3FF0000000000000, %p2;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB15_2:
	ret;
}

	// .globl	vec_eq
.visible .entry vec_eq(
	.param .u64 vec_eq_param_0,
	.param .u64 vec_eq_param_1,
	.param .u64 vec_eq_param_2,
	.param .u64 vec_eq_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_eq_param_0];
	ld.param.u64 	%rd1, [vec_eq_param_1];
	ld.param.u64 	%rd2, [vec_eq_param_2];
	ld.param.u64 	%rd3, [vec_eq_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB16_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	setp.eq.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB16_2:
	ret;
}

	// .globl	vec_gte
.visible .entry vec_gte(
	.param .u64 vec_gte_param_0,
	.param .u64 vec_gte_param_1,
	.param .u64 vec_gte_param_2,
	.param .u64 vec_gte_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_gte_param_0];
	ld.param.u64 	%rd1, [vec_gte_param_1];
	ld.param.u64 	%rd2, [vec_gte_param_2];
	ld.param.u64 	%rd3, [vec_gte_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB17_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	setp.ltu.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d0000000000000000, 0d3FF0000000000000, %p2;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB17_2:
	ret;
}

	// .globl	vec_gt
.visible .entry vec_gt(
	.param .u64 vec_gt_param_0,
	.param .u64 vec_gt_param_1,
	.param .u64 vec_gt_param_2,
	.param .u64 vec_gt_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_gt_param_0];
	ld.param.u64 	%rd1, [vec_gt_param_1];
	ld.param.u64 	%rd2, [vec_gt_param_2];
	ld.param.u64 	%rd3, [vec_gt_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB18_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	setp.gt.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB18_2:
	ret;
}

	// .globl	vec_ne
.visible .entry vec_ne(
	.param .u64 vec_ne_param_0,
	.param .u64 vec_ne_param_1,
	.param .u64 vec_ne_param_2,
	.param .u64 vec_ne_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd4, [vec_ne_param_0];
	ld.param.u64 	%rd1, [vec_ne_param_1];
	ld.param.u64 	%rd2, [vec_ne_param_2];
	ld.param.u64 	%rd3, [vec_ne_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd5, %r1;
	setp.ge.u64	%p1, %rd5, %rd4;
	@%p1 bra 	BB19_2;

	cvta.to.global.u64 	%rd6, %rd2;
	mul.wide.s32 	%rd7, %r1, 8;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd3;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	setp.neu.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd11, %rd1;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB19_2:
	ret;
}

	// .globl	vec_ltScalar
.visible .entry vec_ltScalar(
	.param .u64 vec_ltScalar_param_0,
	.param .u64 vec_ltScalar_param_1,
	.param .u64 vec_ltScalar_param_2,
	.param .f64 vec_ltScalar_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_ltScalar_param_0];
	ld.param.u64 	%rd1, [vec_ltScalar_param_1];
	ld.param.u64 	%rd2, [vec_ltScalar_param_2];
	ld.param.f64 	%fd1, [vec_ltScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB20_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	setp.lt.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB20_2:
	ret;
}

	// .globl	vec_lteScalar
.visible .entry vec_lteScalar(
	.param .u64 vec_lteScalar_param_0,
	.param .u64 vec_lteScalar_param_1,
	.param .u64 vec_lteScalar_param_2,
	.param .f64 vec_lteScalar_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_lteScalar_param_0];
	ld.param.u64 	%rd1, [vec_lteScalar_param_1];
	ld.param.u64 	%rd2, [vec_lteScalar_param_2];
	ld.param.f64 	%fd1, [vec_lteScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB21_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	setp.gtu.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d0000000000000000, 0d3FF0000000000000, %p2;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB21_2:
	ret;
}

	// .globl	vec_eqScalar
.visible .entry vec_eqScalar(
	.param .u64 vec_eqScalar_param_0,
	.param .u64 vec_eqScalar_param_1,
	.param .u64 vec_eqScalar_param_2,
	.param .f64 vec_eqScalar_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_eqScalar_param_0];
	ld.param.u64 	%rd1, [vec_eqScalar_param_1];
	ld.param.u64 	%rd2, [vec_eqScalar_param_2];
	ld.param.f64 	%fd1, [vec_eqScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB22_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	setp.eq.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB22_2:
	ret;
}

	// .globl	vec_gteScalar
.visible .entry vec_gteScalar(
	.param .u64 vec_gteScalar_param_0,
	.param .u64 vec_gteScalar_param_1,
	.param .u64 vec_gteScalar_param_2,
	.param .f64 vec_gteScalar_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_gteScalar_param_0];
	ld.param.u64 	%rd1, [vec_gteScalar_param_1];
	ld.param.u64 	%rd2, [vec_gteScalar_param_2];
	ld.param.f64 	%fd1, [vec_gteScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB23_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	setp.ltu.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d0000000000000000, 0d3FF0000000000000, %p2;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB23_2:
	ret;
}

	// .globl	vec_gtScalar
.visible .entry vec_gtScalar(
	.param .u64 vec_gtScalar_param_0,
	.param .u64 vec_gtScalar_param_1,
	.param .u64 vec_gtScalar_param_2,
	.param .f64 vec_gtScalar_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_gtScalar_param_0];
	ld.param.u64 	%rd1, [vec_gtScalar_param_1];
	ld.param.u64 	%rd2, [vec_gtScalar_param_2];
	ld.param.f64 	%fd1, [vec_gtScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB24_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	setp.gt.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB24_2:
	ret;
}

	// .globl	vec_neScalar
.visible .entry vec_neScalar(
	.param .u64 vec_neScalar_param_0,
	.param .u64 vec_neScalar_param_1,
	.param .u64 vec_neScalar_param_2,
	.param .f64 vec_neScalar_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd3, [vec_neScalar_param_0];
	ld.param.u64 	%rd1, [vec_neScalar_param_1];
	ld.param.u64 	%rd2, [vec_neScalar_param_2];
	ld.param.f64 	%fd1, [vec_neScalar_param_3];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r2;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB25_2;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd2, [%rd7];
	setp.neu.f64	%p2, %fd2, %fd1;
	selp.f64	%fd3, 0d3FF0000000000000, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd8, %rd1;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd3;

BB25_2:
	ret;
}

	// .globl	vec_acos
.visible .entry vec_acos(
	.param .u64 vec_acos_param_0,
	.param .u64 vec_acos_param_1,
	.param .u64 vec_acos_param_2
)
{
	.reg .pred 	%p<7>;
	.reg .b32 	%r<16>;
	.reg .f64 	%fd<95>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_acos_param_0];
	ld.param.u64 	%rd2, [vec_acos_param_1];
	ld.param.u64 	%rd3, [vec_acos_param_2];
	mov.u32 	%r3, %tid.x;
	mov.u32 	%r4, %ntid.x;
	mov.u32 	%r5, %ctaid.x;
	mad.lo.s32 	%r6, %r4, %r5, %r3;
	cvt.s64.s32	%rd1, %r6;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB26_14;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd16, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd16;
	}
	abs.f64 	%fd1, %fd16;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r7}, %fd1;
	}
	setp.lt.s32	%p2, %r7, 1071801958;
	@%p2 bra 	BB26_9;
	bra.uni 	BB26_2;

BB26_9:
	mul.f64 	%fd62, %fd1, %fd1;
	mov.f64 	%fd63, 0dBFB3823B180754AF;
	mov.f64 	%fd64, 0d3FB0066BDC1895E9;
	fma.rn.f64 	%fd65, %fd64, %fd62, %fd63;
	mov.f64 	%fd66, 0d3FB11E52CC2F79AE;
	fma.rn.f64 	%fd67, %fd65, %fd62, %fd66;
	mov.f64 	%fd68, 0dBF924EAF3526861B;
	fma.rn.f64 	%fd69, %fd67, %fd62, %fd68;
	mov.f64 	%fd70, 0d3F91DF02A31E6CB7;
	fma.rn.f64 	%fd71, %fd69, %fd62, %fd70;
	mov.f64 	%fd72, 0d3F847D18B0EEC6CC;
	fma.rn.f64 	%fd73, %fd71, %fd62, %fd72;
	mov.f64 	%fd74, 0d3F8D0AF961BA53B0;
	fma.rn.f64 	%fd75, %fd73, %fd62, %fd74;
	mov.f64 	%fd76, 0d3F91BF7734CF1C48;
	fma.rn.f64 	%fd77, %fd75, %fd62, %fd76;
	mov.f64 	%fd78, 0d3F96E91483144EF7;
	fma.rn.f64 	%fd79, %fd77, %fd62, %fd78;
	mov.f64 	%fd80, 0d3F9F1C6E0A4F9F81;
	fma.rn.f64 	%fd81, %fd79, %fd62, %fd80;
	mov.f64 	%fd82, 0d3FA6DB6DC27FA92B;
	fma.rn.f64 	%fd83, %fd81, %fd62, %fd82;
	mov.f64 	%fd84, 0d3FB333333320F91B;
	fma.rn.f64 	%fd85, %fd83, %fd62, %fd84;
	mov.f64 	%fd86, 0d3FC5555555555F4D;
	fma.rn.f64 	%fd87, %fd85, %fd62, %fd86;
	mul.f64 	%fd88, %fd62, %fd87;
	fma.rn.f64 	%fd10, %fd88, %fd1, %fd1;
	setp.lt.s32	%p6, %r1, 0;
	@%p6 bra 	BB26_11;

	mov.f64 	%fd89, 0dBC91A62633145C07;
	add.rn.f64 	%fd90, %fd10, %fd89;
	neg.f64 	%fd93, %fd90;
	bra.uni 	BB26_12;

BB26_2:
	mov.f64 	%fd19, 0d3FF0000000000000;
	sub.f64 	%fd2, %fd19, %fd1;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r8, %temp}, %fd2;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r2}, %fd2;
	}
	add.s32 	%r9, %r2, -1048576;
	mov.b64 	%fd18, {%r8, %r9};
	// inline asm
	rsqrt.approx.ftz.f64 %fd17, %fd18;
	// inline asm
	{
	.reg .b32 %temp; 
	mov.b64 	{%r10, %temp}, %fd17;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r11}, %fd17;
	}
	add.s32 	%r12, %r11, -1048576;
	mov.b64 	%fd20, {%r10, %r12};
	mul.f64 	%fd21, %fd18, %fd17;
	neg.f64 	%fd22, %fd21;
	fma.rn.f64 	%fd23, %fd21, %fd22, %fd18;
	fma.rn.f64 	%fd24, %fd23, %fd20, %fd21;
	neg.f64 	%fd25, %fd24;
	fma.rn.f64 	%fd26, %fd17, %fd25, %fd19;
	fma.rn.f64 	%fd27, %fd26, %fd20, %fd20;
	fma.rn.f64 	%fd28, %fd24, %fd25, %fd18;
	fma.rn.f64 	%fd3, %fd28, %fd27, %fd24;
	setp.lt.s32	%p3, %r2, 1;
	@%p3 bra 	BB26_4;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r13, %temp}, %fd3;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r14}, %fd3;
	}
	add.s32 	%r15, %r14, 1048576;
	mov.b64 	%fd29, {%r13, %r15};
	mov.f64 	%fd30, 0dBEBAC2FE66FAAC4B;
	mov.f64 	%fd31, 0d3EC715B371155F70;
	fma.rn.f64 	%fd32, %fd31, %fd2, %fd30;
	mov.f64 	%fd33, 0d3ED9A9B88EFCD9B8;
	fma.rn.f64 	%fd34, %fd32, %fd2, %fd33;
	mov.f64 	%fd35, 0d3EDD0F40A8A0C4C3;
	fma.rn.f64 	%fd36, %fd34, %fd2, %fd35;
	mov.f64 	%fd37, 0d3EF46D4CFA9E0E1F;
	fma.rn.f64 	%fd38, %fd36, %fd2, %fd37;
	mov.f64 	%fd39, 0d3F079C168D1E2422;
	fma.rn.f64 	%fd40, %fd38, %fd2, %fd39;
	mov.f64 	%fd41, 0d3F1C9A88C3BCA540;
	fma.rn.f64 	%fd42, %fd40, %fd2, %fd41;
	mov.f64 	%fd43, 0d3F31C4E64BD476DF;
	fma.rn.f64 	%fd44, %fd42, %fd2, %fd43;
	mov.f64 	%fd45, 0d3F46E8BA60009C8F;
	fma.rn.f64 	%fd46, %fd44, %fd2, %fd45;
	mov.f64 	%fd47, 0d3F5F1C71C62B05A2;
	fma.rn.f64 	%fd48, %fd46, %fd2, %fd47;
	mov.f64 	%fd49, 0d3F76DB6DB6DC9F2C;
	fma.rn.f64 	%fd50, %fd48, %fd2, %fd49;
	mov.f64 	%fd51, 0d3F9333333333329C;
	fma.rn.f64 	%fd52, %fd50, %fd2, %fd51;
	mov.f64 	%fd53, 0d3FB5555555555555;
	fma.rn.f64 	%fd54, %fd52, %fd2, %fd53;
	mul.f64 	%fd55, %fd2, %fd54;
	fma.rn.f64 	%fd94, %fd55, %fd29, %fd29;
	bra.uni 	BB26_5;

BB26_11:
	mov.f64 	%fd91, 0d3C91A62633145C07;
	add.rn.f64 	%fd93, %fd10, %fd91;

BB26_12:
	mov.f64 	%fd92, 0d3FF921FB54442D18;
	add.rn.f64 	%fd94, %fd92, %fd93;
	bra.uni 	BB26_13;

BB26_4:
	mov.f64 	%fd56, 0d0000000000000000;
	mul.rn.f64 	%fd94, %fd1, %fd56;

BB26_5:
	setp.gt.s32	%p4, %r2, -1;
	@%p4 bra 	BB26_7;

	mov.f64 	%fd57, 0d7FF0000000000000;
	mul.rn.f64 	%fd94, %fd94, %fd57;

BB26_7:
	setp.gt.s32	%p5, %r1, -1;
	@%p5 bra 	BB26_13;

	mov.f64 	%fd58, 0dBCA1A62633145C07;
	add.rn.f64 	%fd59, %fd94, %fd58;
	neg.f64 	%fd60, %fd59;
	mov.f64 	%fd61, 0d400921FB54442D18;
	add.rn.f64 	%fd94, %fd61, %fd60;

BB26_13:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd94;

BB26_14:
	ret;
}

	// .globl	vec_acosh
.visible .entry vec_acosh(
	.param .u64 vec_acosh_param_0,
	.param .u64 vec_acosh_param_1,
	.param .u64 vec_acosh_param_2
)
{
	.reg .pred 	%p<23>;
	.reg .b32 	%r<59>;
	.reg .f64 	%fd<158>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_acosh_param_0];
	ld.param.u64 	%rd2, [vec_acosh_param_1];
	ld.param.u64 	%rd3, [vec_acosh_param_2];
	mov.u32 	%r21, %tid.x;
	mov.u32 	%r22, %ntid.x;
	mov.u32 	%r23, %ctaid.x;
	mad.lo.s32 	%r24, %r22, %r23, %r21;
	cvt.s64.s32	%rd1, %r24;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB27_27;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	add.f64 	%fd2, %fd1, 0dBFF0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r55}, %fd2;
	}
	setp.gt.u32	%p2, %r55, 1127219199;
	@%p2 bra 	BB27_15;
	bra.uni 	BB27_2;

BB27_15:
	setp.gt.f64	%p15, %fd2, 0d0000000000000000;
	setp.lt.s32	%p16, %r55, 2146435072;
	and.pred  	%p17, %p15, %p16;
	@%p17 bra 	BB27_20;
	bra.uni 	BB27_16;

BB27_20:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r56, %temp}, %fd2;
	}
	mov.u32 	%r57, -1023;
	setp.gt.s32	%p21, %r55, 1048575;
	@%p21 bra 	BB27_22;

	mul.f64 	%fd108, %fd2, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r55}, %fd108;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r56, %temp}, %fd108;
	}
	mov.u32 	%r57, -1077;

BB27_22:
	shr.u32 	%r42, %r55, 20;
	add.s32 	%r58, %r57, %r42;
	and.b32  	%r43, %r55, -2146435073;
	or.b32  	%r44, %r43, 1072693248;
	mov.b64 	%fd155, {%r56, %r44};
	setp.lt.s32	%p22, %r44, 1073127583;
	@%p22 bra 	BB27_24;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r45, %temp}, %fd155;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r46}, %fd155;
	}
	add.s32 	%r47, %r46, -1048576;
	mov.b64 	%fd155, {%r45, %r47};
	add.s32 	%r58, %r58, 1;

BB27_24:
	add.f64 	%fd110, %fd155, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd109,%fd110;
	// inline asm
	neg.f64 	%fd111, %fd110;
	mov.f64 	%fd112, 0d3FF0000000000000;
	fma.rn.f64 	%fd113, %fd111, %fd109, %fd112;
	fma.rn.f64 	%fd114, %fd113, %fd113, %fd113;
	fma.rn.f64 	%fd115, %fd114, %fd109, %fd109;
	add.f64 	%fd116, %fd155, 0dBFF0000000000000;
	mul.f64 	%fd117, %fd116, %fd115;
	fma.rn.f64 	%fd118, %fd116, %fd115, %fd117;
	mul.f64 	%fd119, %fd118, %fd118;
	mov.f64 	%fd120, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd121, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd122, %fd121, %fd119, %fd120;
	mov.f64 	%fd123, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd124, %fd122, %fd119, %fd123;
	mov.f64 	%fd125, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd126, %fd124, %fd119, %fd125;
	mov.f64 	%fd127, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd128, %fd126, %fd119, %fd127;
	mov.f64 	%fd129, 0d3F624924923BE72D;
	fma.rn.f64 	%fd130, %fd128, %fd119, %fd129;
	mov.f64 	%fd131, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd132, %fd130, %fd119, %fd131;
	mov.f64 	%fd133, 0d3FB5555555555554;
	fma.rn.f64 	%fd134, %fd132, %fd119, %fd133;
	sub.f64 	%fd135, %fd116, %fd118;
	add.f64 	%fd136, %fd135, %fd135;
	neg.f64 	%fd137, %fd118;
	fma.rn.f64 	%fd138, %fd137, %fd116, %fd136;
	mul.f64 	%fd139, %fd115, %fd138;
	mul.f64 	%fd140, %fd119, %fd134;
	fma.rn.f64 	%fd141, %fd140, %fd118, %fd139;
	xor.b32  	%r48, %r58, -2147483648;
	mov.u32 	%r49, 1127219200;
	mov.b64 	%fd142, {%r48, %r49};
	mov.u32 	%r50, -2147483648;
	mov.b64 	%fd143, {%r50, %r49};
	sub.f64 	%fd144, %fd142, %fd143;
	mov.f64 	%fd145, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd146, %fd144, %fd145, %fd118;
	neg.f64 	%fd147, %fd144;
	fma.rn.f64 	%fd148, %fd147, %fd145, %fd146;
	sub.f64 	%fd149, %fd148, %fd118;
	sub.f64 	%fd150, %fd141, %fd149;
	mov.f64 	%fd151, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd152, %fd144, %fd151, %fd150;
	add.f64 	%fd156, %fd146, %fd152;
	bra.uni 	BB27_25;

BB27_2:
	fma.rn.f64 	%fd24, %fd1, %fd2, %fd2;
	// inline asm
	rsqrt.approx.ftz.f64 %fd23, %fd24;
	// inline asm
	{
	.reg .b32 %temp; 
	mov.b64 	{%r25, %temp}, %fd23;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd23;
	}
	add.s32 	%r27, %r26, -1048576;
	mov.b64 	%fd25, {%r25, %r27};
	mul.f64 	%fd26, %fd24, %fd23;
	neg.f64 	%fd27, %fd26;
	fma.rn.f64 	%fd28, %fd26, %fd27, %fd24;
	fma.rn.f64 	%fd29, %fd28, %fd25, %fd26;
	neg.f64 	%fd30, %fd29;
	mov.f64 	%fd31, 0d3FF0000000000000;
	fma.rn.f64 	%fd32, %fd23, %fd30, %fd31;
	fma.rn.f64 	%fd33, %fd32, %fd25, %fd25;
	fma.rn.f64 	%fd34, %fd29, %fd30, %fd24;
	fma.rn.f64 	%fd35, %fd34, %fd33, %fd29;
	add.f64 	%fd3, %fd2, %fd35;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r28}, %fd3;
	}
	setp.lt.u32	%p3, %r28, 1071994197;
	setp.lt.s32	%p4, %r28, -1076258407;
	or.pred  	%p5, %p3, %p4;
	@%p5 bra 	BB27_13;
	bra.uni 	BB27_3;

BB27_13:
	add.f64 	%fd83, %fd3, 0d4000000000000000;
	div.rn.f64 	%fd84, %fd3, %fd83;
	mul.f64 	%fd85, %fd3, %fd84;
	neg.f64 	%fd86, %fd85;
	sub.f64 	%fd87, %fd3, %fd85;
	mul.f64 	%fd88, %fd87, %fd87;
	mov.f64 	%fd89, 0d3ED087FFCEB2DC44;
	mov.f64 	%fd90, 0d3EB372FB2FBE14B5;
	fma.rn.f64 	%fd91, %fd90, %fd88, %fd89;
	mov.f64 	%fd92, 0d3EF3B9FF890F468C;
	fma.rn.f64 	%fd93, %fd91, %fd88, %fd92;
	mov.f64 	%fd94, 0d3F17457EFD51BAF8;
	fma.rn.f64 	%fd95, %fd93, %fd88, %fd94;
	mov.f64 	%fd96, 0d3F3C71C8DE3CE825;
	fma.rn.f64 	%fd97, %fd95, %fd88, %fd96;
	mov.f64 	%fd98, 0d3F6249248FA4661F;
	fma.rn.f64 	%fd99, %fd97, %fd88, %fd98;
	mov.f64 	%fd100, 0d3F899999999D70C4;
	fma.rn.f64 	%fd101, %fd99, %fd88, %fd100;
	mov.f64 	%fd102, 0d3FB5555555555462;
	fma.rn.f64 	%fd103, %fd101, %fd88, %fd102;
	mul.f64 	%fd104, %fd88, %fd103;
	fma.rn.f64 	%fd105, %fd104, %fd87, %fd86;
	add.f64 	%fd154, %fd3, %fd105;
	bra.uni 	BB27_14;

BB27_16:
	abs.f64 	%fd106, %fd2;
	setp.gtu.f64	%p18, %fd106, 0d7FF0000000000000;
	@%p18 bra 	BB27_19;
	bra.uni 	BB27_17;

BB27_19:
	add.f64 	%fd156, %fd2, %fd2;
	bra.uni 	BB27_25;

BB27_3:
	add.f64 	%fd4, %fd3, 0d3FF0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r51}, %fd4;
	}
	setp.gt.f64	%p6, %fd4, 0d0000000000000000;
	setp.lt.s32	%p7, %r51, 2146435072;
	and.pred  	%p8, %p6, %p7;
	@%p8 bra 	BB27_8;
	bra.uni 	BB27_4;

BB27_8:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r52, %temp}, %fd4;
	}
	mov.u32 	%r53, -1023;
	setp.gt.s32	%p12, %r51, 1048575;
	@%p12 bra 	BB27_10;

	mul.f64 	%fd38, %fd4, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r51}, %fd38;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r52, %temp}, %fd38;
	}
	mov.u32 	%r53, -1077;

BB27_10:
	shr.u32 	%r31, %r51, 20;
	add.s32 	%r54, %r53, %r31;
	and.b32  	%r32, %r51, -2146435073;
	or.b32  	%r33, %r32, 1072693248;
	mov.b64 	%fd153, {%r52, %r33};
	setp.lt.s32	%p13, %r33, 1073127583;
	@%p13 bra 	BB27_12;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r34, %temp}, %fd153;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r35}, %fd153;
	}
	add.s32 	%r36, %r35, -1048576;
	mov.b64 	%fd153, {%r34, %r36};
	add.s32 	%r54, %r54, 1;

BB27_12:
	add.f64 	%fd40, %fd153, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd39,%fd40;
	// inline asm
	neg.f64 	%fd41, %fd40;
	fma.rn.f64 	%fd43, %fd41, %fd39, %fd31;
	fma.rn.f64 	%fd44, %fd43, %fd43, %fd43;
	fma.rn.f64 	%fd45, %fd44, %fd39, %fd39;
	add.f64 	%fd46, %fd153, 0dBFF0000000000000;
	mul.f64 	%fd47, %fd46, %fd45;
	fma.rn.f64 	%fd48, %fd46, %fd45, %fd47;
	mul.f64 	%fd49, %fd48, %fd48;
	mov.f64 	%fd50, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd51, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd52, %fd51, %fd49, %fd50;
	mov.f64 	%fd53, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd54, %fd52, %fd49, %fd53;
	mov.f64 	%fd55, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd56, %fd54, %fd49, %fd55;
	mov.f64 	%fd57, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd58, %fd56, %fd49, %fd57;
	mov.f64 	%fd59, 0d3F624924923BE72D;
	fma.rn.f64 	%fd60, %fd58, %fd49, %fd59;
	mov.f64 	%fd61, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd62, %fd60, %fd49, %fd61;
	mov.f64 	%fd63, 0d3FB5555555555554;
	fma.rn.f64 	%fd64, %fd62, %fd49, %fd63;
	sub.f64 	%fd65, %fd46, %fd48;
	add.f64 	%fd66, %fd65, %fd65;
	neg.f64 	%fd67, %fd48;
	fma.rn.f64 	%fd68, %fd67, %fd46, %fd66;
	mul.f64 	%fd69, %fd45, %fd68;
	mul.f64 	%fd70, %fd49, %fd64;
	fma.rn.f64 	%fd71, %fd70, %fd48, %fd69;
	xor.b32  	%r37, %r54, -2147483648;
	mov.u32 	%r38, 1127219200;
	mov.b64 	%fd72, {%r37, %r38};
	mov.u32 	%r39, -2147483648;
	mov.b64 	%fd73, {%r39, %r38};
	sub.f64 	%fd74, %fd72, %fd73;
	mov.f64 	%fd75, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd76, %fd74, %fd75, %fd48;
	neg.f64 	%fd77, %fd74;
	fma.rn.f64 	%fd78, %fd77, %fd75, %fd76;
	sub.f64 	%fd79, %fd78, %fd48;
	sub.f64 	%fd80, %fd71, %fd79;
	mov.f64 	%fd81, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd82, %fd74, %fd81, %fd80;
	add.f64 	%fd154, %fd76, %fd82;
	bra.uni 	BB27_14;

BB27_17:
	setp.eq.f64	%p19, %fd2, 0d0000000000000000;
	mov.f64 	%fd156, 0dFFF0000000000000;
	@%p19 bra 	BB27_25;

	setp.eq.f64	%p20, %fd2, 0d7FF0000000000000;
	selp.f64	%fd156, %fd2, 0dFFF8000000000000, %p20;

BB27_25:
	add.f64 	%fd157, %fd156, 0d3FE62E42FEFA39EF;
	bra.uni 	BB27_26;

BB27_4:
	abs.f64 	%fd36, %fd4;
	setp.gtu.f64	%p9, %fd36, 0d7FF0000000000000;
	@%p9 bra 	BB27_7;
	bra.uni 	BB27_5;

BB27_7:
	add.f64 	%fd154, %fd4, %fd4;
	bra.uni 	BB27_14;

BB27_5:
	setp.eq.f64	%p10, %fd4, 0d0000000000000000;
	mov.f64 	%fd154, 0dFFF0000000000000;
	@%p10 bra 	BB27_14;

	setp.eq.f64	%p11, %fd4, 0d7FF0000000000000;
	selp.f64	%fd154, %fd4, 0dFFF8000000000000, %p11;

BB27_14:
	setp.eq.s32	%p14, %r55, 0;
	selp.f64	%fd157, %fd2, %fd154, %p14;

BB27_26:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd157;

BB27_27:
	ret;
}

	// .globl	vec_asin
.visible .entry vec_asin(
	.param .u64 vec_asin_param_0,
	.param .u64 vec_asin_param_1,
	.param .u64 vec_asin_param_2
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<3>;
	.reg .b32 	%r<14>;
	.reg .f64 	%fd<83>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_asin_param_0];
	ld.param.u64 	%rd2, [vec_asin_param_1];
	ld.param.u64 	%rd3, [vec_asin_param_2];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r5, %r3, %r4, %r2;
	cvt.s64.s32	%rd1, %r5;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB28_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	mov.b32 	 %f1, %r1;
	abs.f32 	%f2, %f1;
	setp.lt.f32	%p2, %f2, 0f3FE26666;
	@%p2 bra 	BB28_3;
	bra.uni 	BB28_2;

BB28_3:
	mul.f64 	%fd55, %fd1, %fd1;
	mov.f64 	%fd56, 0dBFB3823B180754AF;
	mov.f64 	%fd57, 0d3FB0066BDC1895E9;
	fma.rn.f64 	%fd58, %fd57, %fd55, %fd56;
	mov.f64 	%fd59, 0d3FB11E52CC2F79AE;
	fma.rn.f64 	%fd60, %fd58, %fd55, %fd59;
	mov.f64 	%fd61, 0dBF924EAF3526861B;
	fma.rn.f64 	%fd62, %fd60, %fd55, %fd61;
	mov.f64 	%fd63, 0d3F91DF02A31E6CB7;
	fma.rn.f64 	%fd64, %fd62, %fd55, %fd63;
	mov.f64 	%fd65, 0d3F847D18B0EEC6CC;
	fma.rn.f64 	%fd66, %fd64, %fd55, %fd65;
	mov.f64 	%fd67, 0d3F8D0AF961BA53B0;
	fma.rn.f64 	%fd68, %fd66, %fd55, %fd67;
	mov.f64 	%fd69, 0d3F91BF7734CF1C48;
	fma.rn.f64 	%fd70, %fd68, %fd55, %fd69;
	mov.f64 	%fd71, 0d3F96E91483144EF7;
	fma.rn.f64 	%fd72, %fd70, %fd55, %fd71;
	mov.f64 	%fd73, 0d3F9F1C6E0A4F9F81;
	fma.rn.f64 	%fd74, %fd72, %fd55, %fd73;
	mov.f64 	%fd75, 0d3FA6DB6DC27FA92B;
	fma.rn.f64 	%fd76, %fd74, %fd55, %fd75;
	mov.f64 	%fd77, 0d3FB333333320F91B;
	fma.rn.f64 	%fd78, %fd76, %fd55, %fd77;
	mov.f64 	%fd79, 0d3FC5555555555F4D;
	fma.rn.f64 	%fd80, %fd78, %fd55, %fd79;
	mul.f64 	%fd81, %fd55, %fd80;
	fma.rn.f64 	%fd82, %fd81, %fd1, %fd1;
	bra.uni 	BB28_4;

BB28_2:
	abs.f64 	%fd7, %fd1;
	mov.f64 	%fd8, 0d3FE0000000000000;
	mov.f64 	%fd9, 0dBFE0000000000000;
	fma.rn.f64 	%fd6, %fd9, %fd7, %fd8;
	// inline asm
	rsqrt.approx.ftz.f64 %fd5, %fd6;
	// inline asm
	{
	.reg .b32 %temp; 
	mov.b64 	{%r6, %temp}, %fd5;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r7}, %fd5;
	}
	add.s32 	%r8, %r7, -1048576;
	mov.b64 	%fd10, {%r6, %r8};
	mul.f64 	%fd11, %fd6, %fd5;
	neg.f64 	%fd12, %fd11;
	fma.rn.f64 	%fd13, %fd11, %fd12, %fd6;
	fma.rn.f64 	%fd14, %fd13, %fd10, %fd11;
	neg.f64 	%fd15, %fd14;
	mov.f64 	%fd16, 0d3FF0000000000000;
	fma.rn.f64 	%fd17, %fd5, %fd15, %fd16;
	fma.rn.f64 	%fd18, %fd17, %fd10, %fd10;
	fma.rn.f64 	%fd19, %fd14, %fd15, %fd6;
	fma.rn.f64 	%fd20, %fd19, %fd18, %fd14;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r9}, %fd6;
	}
	setp.lt.s32	%p3, %r9, 0;
	selp.f64	%fd21, 0dFFF8000000000000, %fd20, %p3;
	setp.equ.f64	%p4, %fd6, 0d0000000000000000;
	selp.f64	%fd22, %fd6, %fd21, %p4;
	mov.f64 	%fd23, 0dBFB3823B180754AF;
	mov.f64 	%fd24, 0d3FB0066BDC1895E9;
	fma.rn.f64 	%fd25, %fd24, %fd6, %fd23;
	mov.f64 	%fd26, 0d3FB11E52CC2F79AE;
	fma.rn.f64 	%fd27, %fd25, %fd6, %fd26;
	mov.f64 	%fd28, 0dBF924EAF3526861B;
	fma.rn.f64 	%fd29, %fd27, %fd6, %fd28;
	mov.f64 	%fd30, 0d3F91DF02A31E6CB7;
	fma.rn.f64 	%fd31, %fd29, %fd6, %fd30;
	mov.f64 	%fd32, 0d3F847D18B0EEC6CC;
	fma.rn.f64 	%fd33, %fd31, %fd6, %fd32;
	mov.f64 	%fd34, 0d3F8D0AF961BA53B0;
	fma.rn.f64 	%fd35, %fd33, %fd6, %fd34;
	mov.f64 	%fd36, 0d3F91BF7734CF1C48;
	fma.rn.f64 	%fd37, %fd35, %fd6, %fd36;
	mov.f64 	%fd38, 0d3F96E91483144EF7;
	fma.rn.f64 	%fd39, %fd37, %fd6, %fd38;
	mov.f64 	%fd40, 0d3F9F1C6E0A4F9F81;
	fma.rn.f64 	%fd41, %fd39, %fd6, %fd40;
	mov.f64 	%fd42, 0d3FA6DB6DC27FA92B;
	fma.rn.f64 	%fd43, %fd41, %fd6, %fd42;
	mov.f64 	%fd44, 0d3FB333333320F91B;
	fma.rn.f64 	%fd45, %fd43, %fd6, %fd44;
	mov.f64 	%fd46, 0d3FC5555555555F4D;
	fma.rn.f64 	%fd47, %fd45, %fd6, %fd46;
	mul.f64 	%fd48, %fd6, %fd47;
	mul.f64 	%fd49, %fd22, 0dC000000000000000;
	mov.f64 	%fd50, 0d3C91A62633145C07;
	fma.rn.f64 	%fd51, %fd49, %fd48, %fd50;
	add.f64 	%fd52, %fd49, 0d3FE921FB54442D18;
	add.f64 	%fd53, %fd52, %fd51;
	add.f64 	%fd54, %fd53, 0d3FE921FB54442D18;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r10, %temp}, %fd54;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r11}, %fd54;
	}
	and.b32  	%r12, %r1, -2147483648;
	or.b32  	%r13, %r11, %r12;
	mov.b64 	%fd82, {%r10, %r13};

BB28_4:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd82;

BB28_5:
	ret;
}

	// .globl	vec_asinh
.visible .entry vec_asinh(
	.param .u64 vec_asinh_param_0,
	.param .u64 vec_asinh_param_1,
	.param .u64 vec_asinh_param_2
)
{
	.reg .pred 	%p<22>;
	.reg .b32 	%r<66>;
	.reg .f64 	%fd<159>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_asinh_param_0];
	ld.param.u64 	%rd2, [vec_asinh_param_1];
	ld.param.u64 	%rd3, [vec_asinh_param_2];
	mov.u32 	%r22, %tid.x;
	mov.u32 	%r23, %ntid.x;
	mov.u32 	%r24, %ctaid.x;
	mad.lo.s32 	%r25, %r23, %r24, %r22;
	cvt.s64.s32	%rd1, %r25;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB29_26;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r26, %temp}, %fd1;
	}
	and.b32  	%r27, %r1, 2147483647;
	mov.b64 	%fd2, {%r26, %r27};
	setp.gt.u32	%p2, %r27, 1138753535;
	@%p2 bra 	BB29_14;
	bra.uni 	BB29_2;

BB29_14:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r62}, %fd2;
	}
	setp.lt.s32	%p14, %r62, 2146435072;
	setp.gt.f64	%p15, %fd2, 0d0000000000000000;
	and.pred  	%p16, %p15, %p14;
	@%p16 bra 	BB29_19;
	bra.uni 	BB29_15;

BB29_19:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r63, %temp}, %fd2;
	}
	mov.u32 	%r64, -1023;
	setp.gt.s32	%p20, %r62, 1048575;
	@%p20 bra 	BB29_21;

	mul.f64 	%fd109, %fd2, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r62}, %fd109;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r63, %temp}, %fd109;
	}
	mov.u32 	%r64, -1077;

BB29_21:
	shr.u32 	%r45, %r62, 20;
	add.s32 	%r65, %r64, %r45;
	and.b32  	%r46, %r62, -2146435073;
	or.b32  	%r47, %r46, 1072693248;
	mov.b64 	%fd156, {%r63, %r47};
	setp.lt.s32	%p21, %r47, 1073127583;
	@%p21 bra 	BB29_23;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r48, %temp}, %fd156;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r49}, %fd156;
	}
	add.s32 	%r50, %r49, -1048576;
	mov.b64 	%fd156, {%r48, %r50};
	add.s32 	%r65, %r65, 1;

BB29_23:
	add.f64 	%fd111, %fd156, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd110,%fd111;
	// inline asm
	neg.f64 	%fd112, %fd111;
	mov.f64 	%fd113, 0d3FF0000000000000;
	fma.rn.f64 	%fd114, %fd112, %fd110, %fd113;
	fma.rn.f64 	%fd115, %fd114, %fd114, %fd114;
	fma.rn.f64 	%fd116, %fd115, %fd110, %fd110;
	add.f64 	%fd117, %fd156, 0dBFF0000000000000;
	mul.f64 	%fd118, %fd117, %fd116;
	fma.rn.f64 	%fd119, %fd117, %fd116, %fd118;
	mul.f64 	%fd120, %fd119, %fd119;
	mov.f64 	%fd121, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd122, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd123, %fd122, %fd120, %fd121;
	mov.f64 	%fd124, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd125, %fd123, %fd120, %fd124;
	mov.f64 	%fd126, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd127, %fd125, %fd120, %fd126;
	mov.f64 	%fd128, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd129, %fd127, %fd120, %fd128;
	mov.f64 	%fd130, 0d3F624924923BE72D;
	fma.rn.f64 	%fd131, %fd129, %fd120, %fd130;
	mov.f64 	%fd132, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd133, %fd131, %fd120, %fd132;
	mov.f64 	%fd134, 0d3FB5555555555554;
	fma.rn.f64 	%fd135, %fd133, %fd120, %fd134;
	sub.f64 	%fd136, %fd117, %fd119;
	add.f64 	%fd137, %fd136, %fd136;
	neg.f64 	%fd138, %fd119;
	fma.rn.f64 	%fd139, %fd138, %fd117, %fd137;
	mul.f64 	%fd140, %fd116, %fd139;
	mul.f64 	%fd141, %fd120, %fd135;
	fma.rn.f64 	%fd142, %fd141, %fd119, %fd140;
	xor.b32  	%r51, %r65, -2147483648;
	mov.u32 	%r52, 1127219200;
	mov.b64 	%fd143, {%r51, %r52};
	mov.u32 	%r53, -2147483648;
	mov.b64 	%fd144, {%r53, %r52};
	sub.f64 	%fd145, %fd143, %fd144;
	mov.f64 	%fd146, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd147, %fd145, %fd146, %fd119;
	neg.f64 	%fd148, %fd145;
	fma.rn.f64 	%fd149, %fd148, %fd146, %fd147;
	sub.f64 	%fd150, %fd149, %fd119;
	sub.f64 	%fd151, %fd142, %fd150;
	mov.f64 	%fd152, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd153, %fd145, %fd152, %fd151;
	add.f64 	%fd157, %fd147, %fd153;
	bra.uni 	BB29_24;

BB29_2:
	mul.rn.f64 	%fd23, %fd1, %fd1;
	mov.f64 	%fd24, 0d3FF0000000000000;
	fma.rn.f64 	%fd22, %fd1, %fd1, %fd24;
	// inline asm
	rsqrt.approx.ftz.f64 %fd21, %fd22;
	// inline asm
	{
	.reg .b32 %temp; 
	mov.b64 	{%r28, %temp}, %fd21;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r29}, %fd21;
	}
	add.s32 	%r30, %r29, -1048576;
	mov.b64 	%fd25, {%r28, %r30};
	mul.f64 	%fd26, %fd22, %fd21;
	neg.f64 	%fd27, %fd26;
	fma.rn.f64 	%fd28, %fd26, %fd27, %fd22;
	fma.rn.f64 	%fd29, %fd28, %fd25, %fd26;
	neg.f64 	%fd30, %fd29;
	fma.rn.f64 	%fd31, %fd21, %fd30, %fd24;
	fma.rn.f64 	%fd32, %fd31, %fd25, %fd25;
	fma.rn.f64 	%fd33, %fd29, %fd30, %fd22;
	fma.rn.f64 	%fd34, %fd33, %fd32, %fd29;
	add.f64 	%fd35, %fd34, 0d3FF0000000000000;
	div.rn.f64 	%fd36, %fd23, %fd35;
	add.f64 	%fd3, %fd2, %fd36;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r31}, %fd3;
	}
	setp.lt.u32	%p3, %r31, 1071994197;
	setp.lt.s32	%p4, %r31, -1076258407;
	or.pred  	%p5, %p3, %p4;
	@%p5 bra 	BB29_13;
	bra.uni 	BB29_3;

BB29_13:
	add.f64 	%fd84, %fd3, 0d4000000000000000;
	div.rn.f64 	%fd85, %fd3, %fd84;
	mul.f64 	%fd86, %fd3, %fd85;
	neg.f64 	%fd87, %fd86;
	sub.f64 	%fd88, %fd3, %fd86;
	mul.f64 	%fd89, %fd88, %fd88;
	mov.f64 	%fd90, 0d3ED087FFCEB2DC44;
	mov.f64 	%fd91, 0d3EB372FB2FBE14B5;
	fma.rn.f64 	%fd92, %fd91, %fd89, %fd90;
	mov.f64 	%fd93, 0d3EF3B9FF890F468C;
	fma.rn.f64 	%fd94, %fd92, %fd89, %fd93;
	mov.f64 	%fd95, 0d3F17457EFD51BAF8;
	fma.rn.f64 	%fd96, %fd94, %fd89, %fd95;
	mov.f64 	%fd97, 0d3F3C71C8DE3CE825;
	fma.rn.f64 	%fd98, %fd96, %fd89, %fd97;
	mov.f64 	%fd99, 0d3F6249248FA4661F;
	fma.rn.f64 	%fd100, %fd98, %fd89, %fd99;
	mov.f64 	%fd101, 0d3F899999999D70C4;
	fma.rn.f64 	%fd102, %fd100, %fd89, %fd101;
	mov.f64 	%fd103, 0d3FB5555555555462;
	fma.rn.f64 	%fd104, %fd102, %fd89, %fd103;
	mul.f64 	%fd105, %fd89, %fd104;
	fma.rn.f64 	%fd106, %fd105, %fd88, %fd87;
	add.f64 	%fd158, %fd3, %fd106;
	bra.uni 	BB29_25;

BB29_15:
	abs.f64 	%fd107, %fd2;
	setp.gtu.f64	%p17, %fd107, 0d7FF0000000000000;
	@%p17 bra 	BB29_18;
	bra.uni 	BB29_16;

BB29_18:
	add.f64 	%fd157, %fd2, %fd2;
	bra.uni 	BB29_24;

BB29_3:
	add.f64 	%fd4, %fd3, 0d3FF0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r58}, %fd4;
	}
	setp.gt.f64	%p6, %fd4, 0d0000000000000000;
	setp.lt.s32	%p7, %r58, 2146435072;
	and.pred  	%p8, %p6, %p7;
	@%p8 bra 	BB29_8;
	bra.uni 	BB29_4;

BB29_8:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r59, %temp}, %fd4;
	}
	mov.u32 	%r60, -1023;
	setp.gt.s32	%p12, %r58, 1048575;
	@%p12 bra 	BB29_10;

	mul.f64 	%fd39, %fd4, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r58}, %fd39;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r59, %temp}, %fd39;
	}
	mov.u32 	%r60, -1077;

BB29_10:
	shr.u32 	%r34, %r58, 20;
	add.s32 	%r61, %r60, %r34;
	and.b32  	%r35, %r58, -2146435073;
	or.b32  	%r36, %r35, 1072693248;
	mov.b64 	%fd155, {%r59, %r36};
	setp.lt.s32	%p13, %r36, 1073127583;
	@%p13 bra 	BB29_12;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r37, %temp}, %fd155;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r38}, %fd155;
	}
	add.s32 	%r39, %r38, -1048576;
	mov.b64 	%fd155, {%r37, %r39};
	add.s32 	%r61, %r61, 1;

BB29_12:
	add.f64 	%fd41, %fd155, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd40,%fd41;
	// inline asm
	neg.f64 	%fd42, %fd41;
	fma.rn.f64 	%fd44, %fd42, %fd40, %fd24;
	fma.rn.f64 	%fd45, %fd44, %fd44, %fd44;
	fma.rn.f64 	%fd46, %fd45, %fd40, %fd40;
	add.f64 	%fd47, %fd155, 0dBFF0000000000000;
	mul.f64 	%fd48, %fd47, %fd46;
	fma.rn.f64 	%fd49, %fd47, %fd46, %fd48;
	mul.f64 	%fd50, %fd49, %fd49;
	mov.f64 	%fd51, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd52, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd53, %fd52, %fd50, %fd51;
	mov.f64 	%fd54, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd55, %fd53, %fd50, %fd54;
	mov.f64 	%fd56, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd57, %fd55, %fd50, %fd56;
	mov.f64 	%fd58, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd59, %fd57, %fd50, %fd58;
	mov.f64 	%fd60, 0d3F624924923BE72D;
	fma.rn.f64 	%fd61, %fd59, %fd50, %fd60;
	mov.f64 	%fd62, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd63, %fd61, %fd50, %fd62;
	mov.f64 	%fd64, 0d3FB5555555555554;
	fma.rn.f64 	%fd65, %fd63, %fd50, %fd64;
	sub.f64 	%fd66, %fd47, %fd49;
	add.f64 	%fd67, %fd66, %fd66;
	neg.f64 	%fd68, %fd49;
	fma.rn.f64 	%fd69, %fd68, %fd47, %fd67;
	mul.f64 	%fd70, %fd46, %fd69;
	mul.f64 	%fd71, %fd50, %fd65;
	fma.rn.f64 	%fd72, %fd71, %fd49, %fd70;
	xor.b32  	%r40, %r61, -2147483648;
	mov.u32 	%r41, 1127219200;
	mov.b64 	%fd73, {%r40, %r41};
	mov.u32 	%r42, -2147483648;
	mov.b64 	%fd74, {%r42, %r41};
	sub.f64 	%fd75, %fd73, %fd74;
	mov.f64 	%fd76, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd77, %fd75, %fd76, %fd49;
	neg.f64 	%fd78, %fd75;
	fma.rn.f64 	%fd79, %fd78, %fd76, %fd77;
	sub.f64 	%fd80, %fd79, %fd49;
	sub.f64 	%fd81, %fd72, %fd80;
	mov.f64 	%fd82, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd83, %fd75, %fd82, %fd81;
	add.f64 	%fd158, %fd77, %fd83;
	bra.uni 	BB29_25;

BB29_16:
	setp.eq.f64	%p18, %fd2, 0d0000000000000000;
	mov.f64 	%fd157, 0dFFF0000000000000;
	@%p18 bra 	BB29_24;

	setp.eq.f64	%p19, %fd2, 0d7FF0000000000000;
	selp.f64	%fd157, %fd2, 0dFFF8000000000000, %p19;

BB29_24:
	add.f64 	%fd158, %fd157, 0d3FE62E42FEFA39EF;

BB29_25:
	cvta.to.global.u64 	%rd8, %rd2;
	and.b32  	%r54, %r1, -2147483648;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r55}, %fd158;
	}
	or.b32  	%r56, %r55, %r54;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r57, %temp}, %fd158;
	}
	mov.b64 	%fd154, {%r57, %r56};
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd154;

BB29_26:
	ret;

BB29_4:
	abs.f64 	%fd37, %fd4;
	setp.gtu.f64	%p9, %fd37, 0d7FF0000000000000;
	@%p9 bra 	BB29_7;
	bra.uni 	BB29_5;

BB29_7:
	add.f64 	%fd158, %fd4, %fd4;
	bra.uni 	BB29_25;

BB29_5:
	setp.eq.f64	%p10, %fd4, 0d0000000000000000;
	mov.f64 	%fd158, 0dFFF0000000000000;
	@%p10 bra 	BB29_25;

	setp.eq.f64	%p11, %fd4, 0d7FF0000000000000;
	selp.f64	%fd158, %fd4, 0dFFF8000000000000, %p11;
	bra.uni 	BB29_25;
}

	// .globl	vec_atan
.visible .entry vec_atan(
	.param .u64 vec_atan_param_0,
	.param .u64 vec_atan_param_1,
	.param .u64 vec_atan_param_2
)
{
	.reg .pred 	%p<5>;
	.reg .b32 	%r<10>;
	.reg .f64 	%fd<57>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_atan_param_0];
	ld.param.u64 	%rd2, [vec_atan_param_1];
	ld.param.u64 	%rd3, [vec_atan_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB30_4;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	abs.f64 	%fd2, %fd1;
	setp.leu.f64	%p2, %fd2, 0d3FF0000000000000;
	mov.f64 	%fd56, %fd2;
	@%p2 bra 	BB30_3;

	// inline asm
	rcp.approx.ftz.f64 %fd5,%fd2;
	// inline asm
	neg.f64 	%fd7, %fd2;
	mov.f64 	%fd8, 0d3FF0000000000000;
	fma.rn.f64 	%fd9, %fd7, %fd5, %fd8;
	fma.rn.f64 	%fd10, %fd9, %fd9, %fd9;
	fma.rn.f64 	%fd11, %fd10, %fd5, %fd5;
	setp.eq.f64	%p3, %fd2, 0d7FF0000000000000;
	selp.f64	%fd3, 0d0000000000000000, %fd11, %p3;
	mov.f64 	%fd56, %fd3;

BB30_3:
	mov.f64 	%fd4, %fd56;
	cvta.to.global.u64 	%rd8, %rd2;
	mul.f64 	%fd12, %fd4, %fd4;
	mov.f64 	%fd13, 0d3F2D3B63DBB65B49;
	mov.f64 	%fd14, 0dBEF53E1D2A25FF7E;
	fma.rn.f64 	%fd15, %fd14, %fd12, %fd13;
	mov.f64 	%fd16, 0dBF5312788DDE082E;
	fma.rn.f64 	%fd17, %fd15, %fd12, %fd16;
	mov.f64 	%fd18, 0d3F6F9690C8249315;
	fma.rn.f64 	%fd19, %fd17, %fd12, %fd18;
	mov.f64 	%fd20, 0dBF82CF5AABC7CF0D;
	fma.rn.f64 	%fd21, %fd19, %fd12, %fd20;
	mov.f64 	%fd22, 0d3F9162B0B2A3BFDE;
	fma.rn.f64 	%fd23, %fd21, %fd12, %fd22;
	mov.f64 	%fd24, 0dBF9A7256FEB6FC6B;
	fma.rn.f64 	%fd25, %fd23, %fd12, %fd24;
	mov.f64 	%fd26, 0d3FA171560CE4A489;
	fma.rn.f64 	%fd27, %fd25, %fd12, %fd26;
	mov.f64 	%fd28, 0dBFA4F44D841450E4;
	fma.rn.f64 	%fd29, %fd27, %fd12, %fd28;
	mov.f64 	%fd30, 0d3FA7EE3D3F36BB95;
	fma.rn.f64 	%fd31, %fd29, %fd12, %fd30;
	mov.f64 	%fd32, 0dBFAAD32AE04A9FD1;
	fma.rn.f64 	%fd33, %fd31, %fd12, %fd32;
	mov.f64 	%fd34, 0d3FAE17813D66954F;
	fma.rn.f64 	%fd35, %fd33, %fd12, %fd34;
	mov.f64 	%fd36, 0dBFB11089CA9A5BCD;
	fma.rn.f64 	%fd37, %fd35, %fd12, %fd36;
	mov.f64 	%fd38, 0d3FB3B12B2DB51738;
	fma.rn.f64 	%fd39, %fd37, %fd12, %fd38;
	mov.f64 	%fd40, 0dBFB745D022F8DC5C;
	fma.rn.f64 	%fd41, %fd39, %fd12, %fd40;
	mov.f64 	%fd42, 0d3FBC71C709DFE927;
	fma.rn.f64 	%fd43, %fd41, %fd12, %fd42;
	mov.f64 	%fd44, 0dBFC2492491FA1744;
	fma.rn.f64 	%fd45, %fd43, %fd12, %fd44;
	mov.f64 	%fd46, 0d3FC99999999840D2;
	fma.rn.f64 	%fd47, %fd45, %fd12, %fd46;
	mov.f64 	%fd48, 0dBFD555555555544C;
	fma.rn.f64 	%fd49, %fd47, %fd12, %fd48;
	mul.f64 	%fd50, %fd12, %fd49;
	fma.rn.f64 	%fd51, %fd50, %fd4, %fd4;
	mov.f64 	%fd52, 0d3FF921FB54442D18;
	sub.f64 	%fd53, %fd52, %fd51;
	setp.gt.f64	%p4, %fd2, 0d3FF0000000000000;
	selp.f64	%fd54, %fd53, %fd51, %p4;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r5, %temp}, %fd54;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r6}, %fd54;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r7}, %fd1;
	}
	and.b32  	%r8, %r7, -2147483648;
	or.b32  	%r9, %r6, %r8;
	mov.b64 	%fd55, {%r5, %r9};
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd55;

BB30_4:
	ret;
}

	// .globl	vec_atanh
.visible .entry vec_atanh(
	.param .u64 vec_atanh_param_0,
	.param .u64 vec_atanh_param_1,
	.param .u64 vec_atanh_param_2
)
{
	.reg .pred 	%p<13>;
	.reg .b32 	%r<36>;
	.reg .f64 	%fd<90>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_atanh_param_0];
	ld.param.u64 	%rd2, [vec_atanh_param_1];
	ld.param.u64 	%rd3, [vec_atanh_param_2];
	mov.u32 	%r11, %tid.x;
	mov.u32 	%r12, %ntid.x;
	mov.u32 	%r13, %ctaid.x;
	mad.lo.s32 	%r14, %r12, %r13, %r11;
	cvt.s64.s32	%rd1, %r14;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB31_14;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	abs.f64 	%fd12, %fd1;
	add.f64 	%fd13, %fd12, %fd12;
	mov.f64 	%fd14, 0d3FF0000000000000;
	sub.f64 	%fd15, %fd14, %fd12;
	div.rn.f64 	%fd2, %fd13, %fd15;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd2;
	}
	setp.lt.u32	%p2, %r15, 1071994197;
	setp.lt.s32	%p3, %r15, -1076258407;
	or.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB31_12;
	bra.uni 	BB31_2;

BB31_12:
	add.f64 	%fd63, %fd2, 0d4000000000000000;
	div.rn.f64 	%fd64, %fd2, %fd63;
	mul.f64 	%fd65, %fd2, %fd64;
	neg.f64 	%fd66, %fd65;
	sub.f64 	%fd67, %fd2, %fd65;
	mul.f64 	%fd68, %fd67, %fd67;
	mov.f64 	%fd69, 0d3ED087FFCEB2DC44;
	mov.f64 	%fd70, 0d3EB372FB2FBE14B5;
	fma.rn.f64 	%fd71, %fd70, %fd68, %fd69;
	mov.f64 	%fd72, 0d3EF3B9FF890F468C;
	fma.rn.f64 	%fd73, %fd71, %fd68, %fd72;
	mov.f64 	%fd74, 0d3F17457EFD51BAF8;
	fma.rn.f64 	%fd75, %fd73, %fd68, %fd74;
	mov.f64 	%fd76, 0d3F3C71C8DE3CE825;
	fma.rn.f64 	%fd77, %fd75, %fd68, %fd76;
	mov.f64 	%fd78, 0d3F6249248FA4661F;
	fma.rn.f64 	%fd79, %fd77, %fd68, %fd78;
	mov.f64 	%fd80, 0d3F899999999D70C4;
	fma.rn.f64 	%fd81, %fd79, %fd68, %fd80;
	mov.f64 	%fd82, 0d3FB5555555555462;
	fma.rn.f64 	%fd83, %fd81, %fd68, %fd82;
	mul.f64 	%fd84, %fd68, %fd83;
	fma.rn.f64 	%fd85, %fd84, %fd67, %fd66;
	add.f64 	%fd89, %fd2, %fd85;
	bra.uni 	BB31_13;

BB31_2:
	add.f64 	%fd3, %fd2, 0d3FF0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r32}, %fd3;
	}
	setp.gt.f64	%p5, %fd3, 0d0000000000000000;
	setp.lt.s32	%p6, %r32, 2146435072;
	and.pred  	%p7, %p5, %p6;
	@%p7 bra 	BB31_7;
	bra.uni 	BB31_3;

BB31_7:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r33, %temp}, %fd3;
	}
	mov.u32 	%r34, -1023;
	setp.gt.s32	%p11, %r32, 1048575;
	@%p11 bra 	BB31_9;

	mul.f64 	%fd18, %fd3, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r32}, %fd18;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r33, %temp}, %fd18;
	}
	mov.u32 	%r34, -1077;

BB31_9:
	shr.u32 	%r18, %r32, 20;
	add.s32 	%r35, %r34, %r18;
	and.b32  	%r19, %r32, -2146435073;
	or.b32  	%r20, %r19, 1072693248;
	mov.b64 	%fd88, {%r33, %r20};
	setp.lt.s32	%p12, %r20, 1073127583;
	@%p12 bra 	BB31_11;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r21, %temp}, %fd88;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r22}, %fd88;
	}
	add.s32 	%r23, %r22, -1048576;
	mov.b64 	%fd88, {%r21, %r23};
	add.s32 	%r35, %r35, 1;

BB31_11:
	add.f64 	%fd20, %fd88, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd19,%fd20;
	// inline asm
	neg.f64 	%fd21, %fd20;
	fma.rn.f64 	%fd23, %fd21, %fd19, %fd14;
	fma.rn.f64 	%fd24, %fd23, %fd23, %fd23;
	fma.rn.f64 	%fd25, %fd24, %fd19, %fd19;
	add.f64 	%fd26, %fd88, 0dBFF0000000000000;
	mul.f64 	%fd27, %fd26, %fd25;
	fma.rn.f64 	%fd28, %fd26, %fd25, %fd27;
	mul.f64 	%fd29, %fd28, %fd28;
	mov.f64 	%fd30, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd31, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd32, %fd31, %fd29, %fd30;
	mov.f64 	%fd33, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd34, %fd32, %fd29, %fd33;
	mov.f64 	%fd35, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd36, %fd34, %fd29, %fd35;
	mov.f64 	%fd37, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd38, %fd36, %fd29, %fd37;
	mov.f64 	%fd39, 0d3F624924923BE72D;
	fma.rn.f64 	%fd40, %fd38, %fd29, %fd39;
	mov.f64 	%fd41, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd42, %fd40, %fd29, %fd41;
	mov.f64 	%fd43, 0d3FB5555555555554;
	fma.rn.f64 	%fd44, %fd42, %fd29, %fd43;
	sub.f64 	%fd45, %fd26, %fd28;
	add.f64 	%fd46, %fd45, %fd45;
	neg.f64 	%fd47, %fd28;
	fma.rn.f64 	%fd48, %fd47, %fd26, %fd46;
	mul.f64 	%fd49, %fd25, %fd48;
	mul.f64 	%fd50, %fd29, %fd44;
	fma.rn.f64 	%fd51, %fd50, %fd28, %fd49;
	xor.b32  	%r24, %r35, -2147483648;
	mov.u32 	%r25, 1127219200;
	mov.b64 	%fd52, {%r24, %r25};
	mov.u32 	%r26, -2147483648;
	mov.b64 	%fd53, {%r26, %r25};
	sub.f64 	%fd54, %fd52, %fd53;
	mov.f64 	%fd55, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd56, %fd54, %fd55, %fd28;
	neg.f64 	%fd57, %fd54;
	fma.rn.f64 	%fd58, %fd57, %fd55, %fd56;
	sub.f64 	%fd59, %fd58, %fd28;
	sub.f64 	%fd60, %fd51, %fd59;
	mov.f64 	%fd61, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd62, %fd54, %fd61, %fd60;
	add.f64 	%fd89, %fd56, %fd62;
	bra.uni 	BB31_13;

BB31_3:
	abs.f64 	%fd16, %fd3;
	setp.gtu.f64	%p8, %fd16, 0d7FF0000000000000;
	@%p8 bra 	BB31_6;
	bra.uni 	BB31_4;

BB31_6:
	add.f64 	%fd89, %fd3, %fd3;
	bra.uni 	BB31_13;

BB31_4:
	setp.eq.f64	%p9, %fd3, 0d0000000000000000;
	mov.f64 	%fd89, 0dFFF0000000000000;
	@%p9 bra 	BB31_13;

	setp.eq.f64	%p10, %fd3, 0d7FF0000000000000;
	selp.f64	%fd89, %fd3, 0dFFF8000000000000, %p10;

BB31_13:
	cvta.to.global.u64 	%rd8, %rd2;
	mul.f64 	%fd86, %fd89, 0d3FE0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r27, %temp}, %fd86;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r28}, %fd86;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r29}, %fd1;
	}
	and.b32  	%r30, %r29, -2147483648;
	or.b32  	%r31, %r28, %r30;
	mov.b64 	%fd87, {%r27, %r31};
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd87;

BB31_14:
	ret;
}

	// .globl	vec_cbrt
.visible .entry vec_cbrt(
	.param .u64 vec_cbrt_param_0,
	.param .u64 vec_cbrt_param_1,
	.param .u64 vec_cbrt_param_2
)
{
	.reg .pred 	%p<6>;
	.reg .f32 	%f<7>;
	.reg .b32 	%r<37>;
	.reg .f64 	%fd<24>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_cbrt_param_0];
	ld.param.u64 	%rd2, [vec_cbrt_param_1];
	ld.param.u64 	%rd3, [vec_cbrt_param_2];
	mov.u32 	%r12, %tid.x;
	mov.u32 	%r13, %ntid.x;
	mov.u32 	%r14, %ctaid.x;
	mad.lo.s32 	%r15, %r13, %r14, %r12;
	cvt.s64.s32	%rd1, %r15;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB32_7;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%r33, %temp}, %fd1;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r2}, %fd1;
	}
	and.b32  	%r34, %r2, 2147483647;
	setp.neu.f64	%p2, %fd1, 0d0000000000000000;
	setp.lt.u32	%p3, %r34, 2146435072;
	and.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB32_3;
	bra.uni 	BB32_2;

BB32_3:
	shr.u32 	%r35, %r34, 20;
	mov.u32 	%r36, 0;
	setp.ne.s32	%p5, %r35, 0;
	@%p5 bra 	BB32_5;

	mov.b64 	%fd5, {%r33, %r34};
	mul.f64 	%fd6, %fd5, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r33, %temp}, %fd6;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r34}, %fd6;
	}
	shr.u32 	%r35, %r34, 20;
	mov.u32 	%r36, 18;

BB32_5:
	add.s32 	%r18, %r35, -1022;
	cvt.rn.f32.s32	%f5, %r18;
	mul.f32 	%f6, %f5, 0f3EAAAAAB;
	cvt.rni.s32.f32	%r19, %f6;
	mad.lo.s32 	%r20, %r19, -3145728, %r34;
	mov.b64 	%fd9, {%r33, %r20};
	cvt.rn.f32.f64	%f2, %fd9;
	// inline asm
	lg2.approx.ftz.f32 %f1,%f2;
	// inline asm
	mul.f32 	%f4, %f1, 0f3EAAAAAB;
	// inline asm
	ex2.approx.ftz.f32 %f3,%f4;
	// inline asm
	cvt.f64.f32	%fd10, %f3;
	mul.f64 	%fd11, %fd10, %fd10;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r21, %temp}, %fd11;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r22}, %fd11;
	}
	add.s32 	%r23, %r22, 1048576;
	mov.b64 	%fd12, {%r21, %r23};
	fma.rn.f64 	%fd8, %fd12, %fd10, %fd9;
	// inline asm
	rcp.approx.ftz.f64 %fd7,%fd8;
	// inline asm
	neg.f64 	%fd13, %fd8;
	mov.f64 	%fd14, 0d3FF0000000000000;
	fma.rn.f64 	%fd15, %fd13, %fd7, %fd14;
	fma.rn.f64 	%fd16, %fd15, %fd15, %fd15;
	fma.rn.f64 	%fd17, %fd16, %fd7, %fd7;
	neg.f64 	%fd18, %fd10;
	fma.rn.f64 	%fd19, %fd11, %fd18, %fd9;
	mul.f64 	%fd20, %fd17, %fd19;
	fma.rn.f64 	%fd21, %fd10, %fd20, %fd10;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r24, %temp}, %fd21;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r25}, %fd21;
	}
	sub.s32 	%r26, %r19, %r36;
	shl.b32 	%r27, %r26, 20;
	add.s32 	%r28, %r25, %r27;
	mov.b64 	%fd22, {%r24, %r28};
	{
	.reg .b32 %temp; 
	mov.b64 	{%r29, %temp}, %fd22;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r30}, %fd22;
	}
	and.b32  	%r31, %r2, -2147483648;
	or.b32  	%r32, %r30, %r31;
	mov.b64 	%fd23, {%r29, %r32};
	bra.uni 	BB32_6;

BB32_2:
	add.f64 	%fd23, %fd1, %fd1;

BB32_6:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd23;

BB32_7:
	ret;
}

	// .globl	vec_ceil
.visible .entry vec_ceil(
	.param .u64 vec_ceil_param_0,
	.param .u64 vec_ceil_param_1,
	.param .u64 vec_ceil_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_ceil_param_0];
	ld.param.u64 	%rd2, [vec_ceil_param_1];
	ld.param.u64 	%rd3, [vec_ceil_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB33_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	cvt.rpi.f64.f64	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB33_2:
	ret;
}

	// .globl	vec_cos
.visible .entry vec_cos(
	.param .u64 vec_cos_param_0,
	.param .u64 vec_cos_param_1,
	.param .u64 vec_cos_param_2
)
{
	.local .align 4 .b8 	__local_depot34[4];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<6>;
	.reg .b32 	%r<15>;
	.reg .f64 	%fd<42>;
	.reg .b64 	%rd<18>;


	mov.u64 	%rd17, __local_depot34;
	cvta.local.u64 	%SP, %rd17;
	ld.param.u64 	%rd5, [vec_cos_param_0];
	ld.param.u64 	%rd3, [vec_cos_param_1];
	ld.param.u64 	%rd4, [vec_cos_param_2];
	add.u64 	%rd6, %SP, 0;
	cvta.to.local.u64 	%rd1, %rd6;
	mov.u32 	%r5, %ntid.x;
	mov.u32 	%r6, %ctaid.x;
	mov.u32 	%r7, %tid.x;
	mad.lo.s32 	%r8, %r5, %r6, %r7;
	cvt.s64.s32	%rd2, %r8;
	setp.ge.u64	%p1, %rd2, %rd5;
	@%p1 bra 	BB34_10;

	cvta.to.global.u64 	%rd7, %rd4;
	shl.b64 	%rd8, %rd2, 3;
	add.s64 	%rd9, %rd7, %rd8;
	ld.global.f64 	%fd39, [%rd9];
	abs.f64 	%fd14, %fd39;
	setp.neu.f64	%p2, %fd14, 0d7FF0000000000000;
	@%p2 bra 	BB34_3;

	mov.f64 	%fd15, 0d0000000000000000;
	mul.rn.f64 	%fd39, %fd39, %fd15;

BB34_3:
	mul.f64 	%fd16, %fd39, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r14, %fd16;
	st.local.u32 	[%rd1], %r14;
	cvt.rn.f64.s32	%fd17, %r14;
	neg.f64 	%fd18, %fd17;
	mov.f64 	%fd19, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd20, %fd18, %fd19, %fd39;
	mov.f64 	%fd21, 0d3C91A62633145C00;
	fma.rn.f64 	%fd22, %fd18, %fd21, %fd20;
	mov.f64 	%fd23, 0d397B839A252049C0;
	fma.rn.f64 	%fd40, %fd18, %fd23, %fd22;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r9}, %fd39;
	}
	and.b32  	%r10, %r9, 2145386496;
	setp.lt.u32	%p3, %r10, 1105199104;
	@%p3 bra 	BB34_5;

	// Callseq Start 0
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd39;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd6;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd40, [retval0+0];
	
	//{
	}// Callseq End 0
	ld.local.u32 	%r14, [%rd1];

BB34_5:
	add.s32 	%r4, %r14, 1;
	and.b32  	%r11, %r4, 1;
	shl.b32 	%r12, %r11, 3;
	setp.eq.s32	%p4, %r11, 0;
	selp.f64	%fd24, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p4;
	mul.wide.u32 	%rd11, %r12, 8;
	mov.u64 	%rd12, __cudart_sin_cos_coeffs;
	add.s64 	%rd13, %rd11, %rd12;
	ld.const.f64 	%fd25, [%rd13+8];
	mul.rn.f64 	%fd7, %fd40, %fd40;
	fma.rn.f64 	%fd26, %fd24, %fd7, %fd25;
	ld.const.f64 	%fd27, [%rd13+16];
	fma.rn.f64 	%fd28, %fd26, %fd7, %fd27;
	ld.const.f64 	%fd29, [%rd13+24];
	fma.rn.f64 	%fd30, %fd28, %fd7, %fd29;
	ld.const.f64 	%fd31, [%rd13+32];
	fma.rn.f64 	%fd32, %fd30, %fd7, %fd31;
	ld.const.f64 	%fd33, [%rd13+40];
	fma.rn.f64 	%fd34, %fd32, %fd7, %fd33;
	ld.const.f64 	%fd35, [%rd13+48];
	fma.rn.f64 	%fd8, %fd34, %fd7, %fd35;
	fma.rn.f64 	%fd41, %fd8, %fd40, %fd40;
	@%p4 bra 	BB34_7;

	mov.f64 	%fd36, 0d3FF0000000000000;
	fma.rn.f64 	%fd41, %fd8, %fd7, %fd36;

BB34_7:
	and.b32  	%r13, %r4, 2;
	setp.eq.s32	%p5, %r13, 0;
	@%p5 bra 	BB34_9;

	mov.f64 	%fd37, 0d0000000000000000;
	mov.f64 	%fd38, 0dBFF0000000000000;
	fma.rn.f64 	%fd41, %fd41, %fd38, %fd37;

BB34_9:
	cvta.to.global.u64 	%rd14, %rd3;
	add.s64 	%rd16, %rd14, %rd8;
	st.global.f64 	[%rd16], %fd41;

BB34_10:
	ret;
}

	// .globl	vec_cosh
.visible .entry vec_cosh(
	.param .u64 vec_cosh_param_0,
	.param .u64 vec_cosh_param_1,
	.param .u64 vec_cosh_param_2
)
{
	.reg .pred 	%p<4>;
	.reg .b32 	%r<15>;
	.reg .f64 	%fd<47>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_cosh_param_0];
	ld.param.u64 	%rd2, [vec_cosh_param_1];
	ld.param.u64 	%rd3, [vec_cosh_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB35_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r5}, %fd1;
	}
	and.b32  	%r6, %r5, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r7, %temp}, %fd1;
	}
	mov.b64 	%fd2, {%r7, %r6};
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r8}, %fd2;
	}
	setp.lt.u32	%p2, %r8, 1082536911;
	@%p2 bra 	BB35_3;
	bra.uni 	BB35_2;

BB35_3:
	mov.f64 	%fd8, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd9, %fd2, %fd8;
	mov.f64 	%fd10, 0d4338000000000000;
	add.rn.f64 	%fd11, %fd9, %fd10;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r9, %temp}, %fd11;
	}
	mov.f64 	%fd12, 0dC338000000000000;
	add.rn.f64 	%fd13, %fd11, %fd12;
	mov.f64 	%fd14, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd15, %fd13, %fd14, %fd2;
	mov.f64 	%fd16, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd17, %fd13, %fd16, %fd15;
	mov.f64 	%fd18, 0d3E928AF3FCA213EA;
	mov.f64 	%fd19, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd20, %fd19, %fd17, %fd18;
	mov.f64 	%fd21, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd22, %fd20, %fd17, %fd21;
	mov.f64 	%fd23, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd24, %fd22, %fd17, %fd23;
	mov.f64 	%fd25, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd26, %fd24, %fd17, %fd25;
	mov.f64 	%fd27, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd28, %fd26, %fd17, %fd27;
	mov.f64 	%fd29, 0d3F81111111122322;
	fma.rn.f64 	%fd30, %fd28, %fd17, %fd29;
	mov.f64 	%fd31, 0d3FA55555555502A1;
	fma.rn.f64 	%fd32, %fd30, %fd17, %fd31;
	mov.f64 	%fd33, 0d3FC5555555555511;
	fma.rn.f64 	%fd34, %fd32, %fd17, %fd33;
	mov.f64 	%fd35, 0d3FE000000000000B;
	fma.rn.f64 	%fd36, %fd34, %fd17, %fd35;
	mov.f64 	%fd37, 0d3FF0000000000000;
	fma.rn.f64 	%fd38, %fd36, %fd17, %fd37;
	fma.rn.f64 	%fd39, %fd38, %fd17, %fd37;
	shl.b32 	%r10, %r9, 20;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r11, %temp}, %fd39;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r12}, %fd39;
	}
	add.s32 	%r13, %r10, %r12;
	add.s32 	%r14, %r13, -2097152;
	mov.b64 	%fd7, {%r11, %r14};
	// inline asm
	rcp.approx.ftz.f64 %fd6,%fd7;
	// inline asm
	neg.f64 	%fd40, %fd7;
	fma.rn.f64 	%fd41, %fd40, %fd6, %fd37;
	fma.rn.f64 	%fd42, %fd41, %fd41, %fd41;
	fma.rn.f64 	%fd43, %fd42, %fd6, %fd6;
	mov.f64 	%fd44, 0d3FB0000000000000;
	fma.rn.f64 	%fd46, %fd43, %fd44, %fd7;
	bra.uni 	BB35_4;

BB35_2:
	setp.gtu.f64	%p3, %fd1, 0d7FF0000000000000;
	selp.f64	%fd46, %fd1, 0d7FF0000000000000, %p3;

BB35_4:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	add.f64 	%fd45, %fd46, %fd46;
	st.global.f64 	[%rd10], %fd45;

BB35_5:
	ret;
}

	// .globl	vec_cospi
.visible .entry vec_cospi(
	.param .u64 vec_cospi_param_0,
	.param .u64 vec_cospi_param_1,
	.param .u64 vec_cospi_param_2
)
{
	.reg .pred 	%p<5>;
	.reg .b32 	%r<16>;
	.reg .f64 	%fd<37>;
	.reg .b64 	%rd<15>;


	ld.param.u64 	%rd3, [vec_cospi_param_0];
	ld.param.u64 	%rd1, [vec_cospi_param_1];
	ld.param.u64 	%rd2, [vec_cospi_param_2];
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mov.u32 	%r5, %tid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r5;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB36_8;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd35, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r6}, %fd35;
	}
	add.s32 	%r7, %r6, %r6;
	setp.lt.u32	%p2, %r7, -2038431743;
	@%p2 bra 	BB36_3;

	mov.f64 	%fd11, 0d0000000000000000;
	mul.rn.f64 	%fd35, %fd35, %fd11;

BB36_3:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r8}, %fd35;
	}
	add.s32 	%r9, %r8, 1048576;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r10, %temp}, %fd35;
	}
	mov.b64 	%fd12, {%r10, %r9};
	cvt.rni.f64.f64	%fd13, %fd12;
	cvt.rzi.s64.f64	%rd8, %fd13;
	cvt.u32.u64	%r11, %rd8;
	neg.f64 	%fd14, %fd13;
	mov.f64 	%fd15, 0d3FE0000000000000;
	fma.rn.f64 	%fd16, %fd14, %fd15, %fd35;
	mul.f64 	%fd17, %fd16, 0d3CA1A62633145C07;
	mov.f64 	%fd18, 0d400921FB54442D18;
	fma.rn.f64 	%fd19, %fd16, %fd18, %fd17;
	add.s32 	%r2, %r11, 1;
	and.b32  	%r12, %r2, 1;
	shl.b32 	%r13, %r12, 3;
	mul.rn.f64 	%fd4, %fd19, %fd19;
	setp.eq.s32	%p3, %r12, 0;
	selp.f64	%fd20, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p3;
	add.s32 	%r14, %r13, 1;
	mul.wide.s32 	%rd9, %r14, 8;
	mov.u64 	%rd10, __cudart_sin_cos_coeffs;
	add.s64 	%rd11, %rd10, %rd9;
	ld.const.f64 	%fd21, [%rd11];
	fma.rn.f64 	%fd22, %fd20, %fd4, %fd21;
	ld.const.f64 	%fd23, [%rd11+8];
	fma.rn.f64 	%fd24, %fd22, %fd4, %fd23;
	ld.const.f64 	%fd25, [%rd11+16];
	fma.rn.f64 	%fd26, %fd24, %fd4, %fd25;
	ld.const.f64 	%fd27, [%rd11+24];
	fma.rn.f64 	%fd28, %fd26, %fd4, %fd27;
	ld.const.f64 	%fd29, [%rd11+32];
	fma.rn.f64 	%fd30, %fd28, %fd4, %fd29;
	ld.const.f64 	%fd31, [%rd11+40];
	fma.rn.f64 	%fd5, %fd30, %fd4, %fd31;
	fma.rn.f64 	%fd36, %fd5, %fd19, %fd19;
	@%p3 bra 	BB36_5;

	mov.f64 	%fd32, 0d3FF0000000000000;
	fma.rn.f64 	%fd36, %fd5, %fd4, %fd32;

BB36_5:
	and.b32  	%r15, %r2, 2;
	setp.eq.s32	%p4, %r15, 0;
	@%p4 bra 	BB36_7;

	mov.f64 	%fd33, 0d0000000000000000;
	mov.f64 	%fd34, 0dBFF0000000000000;
	fma.rn.f64 	%fd36, %fd36, %fd34, %fd33;

BB36_7:
	cvta.to.global.u64 	%rd12, %rd1;
	add.s64 	%rd14, %rd12, %rd6;
	st.global.f64 	[%rd14], %fd36;

BB36_8:
	ret;
}

	// .globl	vec_erfc
.visible .entry vec_erfc(
	.param .u64 vec_erfc_param_0,
	.param .u64 vec_erfc_param_1,
	.param .u64 vec_erfc_param_2
)
{
	.reg .pred 	%p<9>;
	.reg .b32 	%r<20>;
	.reg .f64 	%fd<124>;
	.reg .b64 	%rd<12>;


	ld.param.u64 	%rd4, [vec_erfc_param_0];
	ld.param.u64 	%rd3, [vec_erfc_param_2];
	mov.u32 	%r4, %tid.x;
	mov.u32 	%r5, %ntid.x;
	mov.u32 	%r6, %ctaid.x;
	mad.lo.s32 	%r7, %r5, %r6, %r4;
	cvt.s64.s32	%rd1, %r7;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB37_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	and.b32  	%r2, %r1, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r3, %temp}, %fd1;
	}
	setp.lt.u32	%p2, %r2, 2146435072;
	@%p2 bra 	BB37_3;
	bra.uni 	BB37_2;

BB37_3:
	setp.lt.s32	%p7, %r1, 0;
	mov.b64 	%fd11, {%r3, %r2};
	add.f64 	%fd12, %fd11, 0dC010000000000000;
	add.f64 	%fd8, %fd11, 0d4010000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd7,%fd8;
	// inline asm
	neg.f64 	%fd13, %fd8;
	mov.f64 	%fd14, 0d3FF0000000000000;
	fma.rn.f64 	%fd15, %fd13, %fd7, %fd14;
	fma.rn.f64 	%fd16, %fd15, %fd15, %fd15;
	fma.rn.f64 	%fd17, %fd16, %fd7, %fd7;
	mul.f64 	%fd18, %fd12, %fd17;
	add.rn.f64 	%fd19, %fd18, %fd14;
	mov.f64 	%fd20, 0dC010000000000000;
	fma.rn.f64 	%fd21, %fd20, %fd19, %fd11;
	neg.f64 	%fd22, %fd18;
	fma.rn.f64 	%fd23, %fd22, %fd11, %fd21;
	fma.rn.f64 	%fd24, %fd17, %fd23, %fd18;
	mov.f64 	%fd25, 0dBE44E1C6FD03D328;
	mov.f64 	%fd26, 0dBDF8774AD4E0BFD7;
	fma.rn.f64 	%fd27, %fd26, %fd24, %fd25;
	mov.f64 	%fd28, 0dBE4330149F7A56B6;
	fma.rn.f64 	%fd29, %fd27, %fd24, %fd28;
	mov.f64 	%fd30, 0d3E7BEDDED8376273;
	fma.rn.f64 	%fd31, %fd29, %fd24, %fd30;
	mov.f64 	%fd32, 0d3E6F9254C3ABF22B;
	fma.rn.f64 	%fd33, %fd31, %fd24, %fd32;
	mov.f64 	%fd34, 0dBEAB9068C2148CF0;
	fma.rn.f64 	%fd35, %fd33, %fd24, %fd34;
	mov.f64 	%fd36, 0d3E94C6454DB34009;
	fma.rn.f64 	%fd37, %fd35, %fd24, %fd36;
	mov.f64 	%fd38, 0d3ED7F1C378F2311D;
	fma.rn.f64 	%fd39, %fd37, %fd24, %fd38;
	mov.f64 	%fd40, 0dBEE78E051C6D5C58;
	fma.rn.f64 	%fd41, %fd39, %fd24, %fd40;
	mov.f64 	%fd42, 0dBEF995B4EAD14A90;
	fma.rn.f64 	%fd43, %fd41, %fd24, %fd42;
	mov.f64 	%fd44, 0d3F23BE27CF0A29B2;
	fma.rn.f64 	%fd45, %fd43, %fd24, %fd44;
	mov.f64 	%fd46, 0dBF2A1DEF3E81672E;
	fma.rn.f64 	%fd47, %fd45, %fd24, %fd46;
	mov.f64 	%fd48, 0dBF48D4ABE68C1713;
	fma.rn.f64 	%fd49, %fd47, %fd24, %fd48;
	mov.f64 	%fd50, 0d3F749C67210DD6B4;
	fma.rn.f64 	%fd51, %fd49, %fd24, %fd50;
	mov.f64 	%fd52, 0dBF9096238568E357;
	fma.rn.f64 	%fd53, %fd51, %fd24, %fd52;
	mov.f64 	%fd54, 0d3FA3079EDF8C2DC9;
	fma.rn.f64 	%fd55, %fd53, %fd24, %fd54;
	mov.f64 	%fd56, 0dBFB0FB06DFF601FC;
	fma.rn.f64 	%fd57, %fd55, %fd24, %fd56;
	mov.f64 	%fd58, 0d3FB7FEE004DFBCDC;
	fma.rn.f64 	%fd59, %fd57, %fd24, %fd58;
	mov.f64 	%fd60, 0dBFB9DDB23C3DB8C6;
	fma.rn.f64 	%fd61, %fd59, %fd24, %fd60;
	mov.f64 	%fd62, 0d3FB16ECEFCFA5FDA;
	fma.rn.f64 	%fd63, %fd61, %fd24, %fd62;
	mov.f64 	%fd64, 0d3F8F7F5DF66FB6D6;
	fma.rn.f64 	%fd65, %fd63, %fd24, %fd64;
	mov.f64 	%fd66, 0dBFC1DF1AD154A29D;
	fma.rn.f64 	%fd67, %fd65, %fd24, %fd66;
	mov.f64 	%fd68, 0d3FF3BA5916E9FD7F;
	fma.rn.f64 	%fd69, %fd67, %fd24, %fd68;
	mov.f64 	%fd70, 0d4000000000000000;
	fma.rn.f64 	%fd10, %fd70, %fd11, %fd14;
	// inline asm
	rcp.approx.ftz.f64 %fd9,%fd10;
	// inline asm
	neg.f64 	%fd71, %fd10;
	fma.rn.f64 	%fd72, %fd71, %fd9, %fd14;
	fma.rn.f64 	%fd73, %fd72, %fd72, %fd72;
	fma.rn.f64 	%fd74, %fd73, %fd9, %fd9;
	mul.f64 	%fd75, %fd69, %fd74;
	mul.f64 	%fd76, %fd75, 0dC000000000000000;
	fma.rn.f64 	%fd77, %fd11, %fd76, %fd69;
	neg.f64 	%fd78, %fd75;
	add.rn.f64 	%fd79, %fd77, %fd78;
	fma.rn.f64 	%fd80, %fd79, %fd74, %fd75;
	mul.f64 	%fd81, %fd11, %fd11;
	neg.f64 	%fd82, %fd81;
	mov.f64 	%fd83, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd84, %fd82, %fd83;
	mov.f64 	%fd85, 0d4338000000000000;
	add.rn.f64 	%fd86, %fd84, %fd85;
	mov.f64 	%fd87, 0dC338000000000000;
	add.rn.f64 	%fd88, %fd86, %fd87;
	mov.f64 	%fd89, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd90, %fd88, %fd89, %fd82;
	mov.f64 	%fd91, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd92, %fd88, %fd91, %fd90;
	mov.f64 	%fd93, 0d3E928AF3FCA213EA;
	mov.f64 	%fd94, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd95, %fd94, %fd92, %fd93;
	mov.f64 	%fd96, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd97, %fd95, %fd92, %fd96;
	mov.f64 	%fd98, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd99, %fd97, %fd92, %fd98;
	mov.f64 	%fd100, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd101, %fd99, %fd92, %fd100;
	mov.f64 	%fd102, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd103, %fd101, %fd92, %fd102;
	mov.f64 	%fd104, 0d3F81111111122322;
	fma.rn.f64 	%fd105, %fd103, %fd92, %fd104;
	mov.f64 	%fd106, 0d3FA55555555502A1;
	fma.rn.f64 	%fd107, %fd105, %fd92, %fd106;
	mov.f64 	%fd108, 0d3FC5555555555511;
	fma.rn.f64 	%fd109, %fd107, %fd92, %fd108;
	mov.f64 	%fd110, 0d3FE000000000000B;
	fma.rn.f64 	%fd111, %fd109, %fd92, %fd110;
	fma.rn.f64 	%fd112, %fd111, %fd92, %fd14;
	fma.rn.f64 	%fd113, %fd112, %fd92, %fd14;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r8, %temp}, %fd86;
	}
	shr.u32 	%r9, %r8, 31;
	add.s32 	%r10, %r8, %r9;
	shr.s32 	%r11, %r10, 1;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r12, %temp}, %fd113;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r13}, %fd113;
	}
	shl.b32 	%r14, %r11, 20;
	add.s32 	%r15, %r13, %r14;
	mov.b64 	%fd114, {%r12, %r15};
	sub.s32 	%r16, %r8, %r11;
	shl.b32 	%r17, %r16, 20;
	add.s32 	%r18, %r17, 1072693248;
	mov.u32 	%r19, 0;
	mov.b64 	%fd115, {%r19, %r18};
	mul.f64 	%fd116, %fd114, %fd115;
	neg.f64 	%fd117, %fd11;
	fma.rn.f64 	%fd118, %fd117, %fd11, %fd81;
	fma.rn.f64 	%fd119, %fd116, %fd118, %fd116;
	mul.f64 	%fd120, %fd80, %fd119;
	setp.gt.u32	%p8, %r2, 1077624832;
	selp.f64	%fd121, 0d0000000000000000, %fd120, %p8;
	sub.f64 	%fd122, %fd70, %fd121;
	selp.f64	%fd123, %fd122, %fd121, %p7;
	bra.uni 	BB37_4;

BB37_2:
	setp.lt.s32	%p3, %r1, 0;
	setp.eq.s32	%p4, %r3, 0;
	setp.eq.s32	%p5, %r2, 2146435072;
	and.pred  	%p6, %p5, %p4;
	selp.f64	%fd5, 0d4000000000000000, 0d0000000000000000, %p3;
	add.f64 	%fd6, %fd1, %fd1;
	selp.f64	%fd123, %fd5, %fd6, %p6;

BB37_4:
	ld.param.u64 	%rd11, [vec_erfc_param_1];
	cvta.to.global.u64 	%rd8, %rd11;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd123;

BB37_5:
	ret;
}

	// .globl	vec_erfcinv
.visible .entry vec_erfcinv(
	.param .u64 vec_erfcinv_param_0,
	.param .u64 vec_erfcinv_param_1,
	.param .u64 vec_erfcinv_param_2
)
{
	.reg .pred 	%p<16>;
	.reg .f32 	%f<2>;
	.reg .b32 	%r<51>;
	.reg .f64 	%fd<267>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd4, [vec_erfcinv_param_0];
	ld.param.u64 	%rd3, [vec_erfcinv_param_2];
	mov.u32 	%r12, %tid.x;
	mov.u32 	%r13, %ntid.x;
	mov.u32 	%r14, %ctaid.x;
	mad.lo.s32 	%r15, %r13, %r14, %r12;
	cvt.s64.s32	%rd1, %r15;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB38_18;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	neg.f64 	%fd2, %fd1;
	mov.f64 	%fd18, 0d4000000000000000;
	add.rn.f64 	%fd3, %fd18, %fd2;
	setp.le.f64	%p2, %fd1, 0d3FFFFC0B65AA4E0E;
	setp.ge.f64	%p3, %fd1, 0d3F4FA4D2AD8F904D;
	and.pred  	%p4, %p3, %p2;
	@%p4 bra 	BB38_16;
	bra.uni 	BB38_2;

BB38_16:
	mul.rn.f64 	%fd174, %fd3, %fd1;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r34}, %fd174;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r35, %temp}, %fd174;
	}
	shr.u32 	%r36, %r34, 20;
	and.b32  	%r37, %r36, 2046;
	add.s32 	%r38, %r37, 2147482626;
	mov.u32 	%r39, 1127219200;
	mov.b64 	%fd175, {%r38, %r39};
	mov.u32 	%r40, -2147483648;
	mov.b64 	%fd176, {%r40, %r39};
	sub.f64 	%fd177, %fd175, %fd176;
	and.b32  	%r41, %r34, -2145386497;
	add.s32 	%r42, %r41, 1071644672;
	mov.b64 	%fd178, {%r35, %r42};
	add.f64 	%fd179, %fd178, 0dBFF0000000000000;
	add.f64 	%fd173, %fd178, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd172,%fd173;
	// inline asm
	neg.f64 	%fd180, %fd173;
	mov.f64 	%fd181, 0d3FF0000000000000;
	fma.rn.f64 	%fd182, %fd180, %fd172, %fd181;
	fma.rn.f64 	%fd183, %fd182, %fd182, %fd182;
	fma.rn.f64 	%fd184, %fd183, %fd172, %fd172;
	mul.f64 	%fd185, %fd179, %fd184;
	mov.f64 	%fd186, 0dC000000000000000;
	fma.rn.f64 	%fd187, %fd186, %fd185, %fd179;
	neg.f64 	%fd188, %fd185;
	fma.rn.f64 	%fd189, %fd188, %fd179, %fd187;
	fma.rn.f64 	%fd190, %fd189, %fd184, %fd185;
	mul.f64 	%fd191, %fd190, %fd190;
	mov.f64 	%fd192, 0d3FA55CF59CDC5D89;
	mov.f64 	%fd193, 0d3FB5C5C218C775C9;
	fma.rn.f64 	%fd194, %fd193, %fd191, %fd192;
	mov.f64 	%fd195, 0d3FAEFD18CF6EBB9C;
	fma.rn.f64 	%fd196, %fd194, %fd191, %fd195;
	mov.f64 	%fd197, 0d3FB10682EDCB8D1B;
	fma.rn.f64 	%fd198, %fd196, %fd191, %fd197;
	mov.f64 	%fd199, 0d3FB3B1DD3AC7FC96;
	fma.rn.f64 	%fd200, %fd198, %fd191, %fd199;
	mov.f64 	%fd201, 0d3FB745CB459B54A6;
	fma.rn.f64 	%fd202, %fd200, %fd191, %fd201;
	mov.f64 	%fd203, 0d3FBC71C741A0669F;
	fma.rn.f64 	%fd204, %fd202, %fd191, %fd203;
	mov.f64 	%fd205, 0d3FC249249209112E;
	fma.rn.f64 	%fd206, %fd204, %fd191, %fd205;
	mov.f64 	%fd207, 0d3FC99999999A06C1;
	fma.rn.f64 	%fd208, %fd206, %fd191, %fd207;
	mov.f64 	%fd209, 0d3FD5555555555535;
	fma.rn.f64 	%fd210, %fd208, %fd191, %fd209;
	mul.f64 	%fd211, %fd191, %fd210;
	fma.rn.f64 	%fd212, %fd211, %fd190, %fd190;
	add.f64 	%fd213, %fd212, %fd212;
	mov.f64 	%fd214, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd215, %fd177, %fd214, %fd213;
	mov.f64 	%fd216, 0dC009000000000000;
	sub.f64 	%fd217, %fd216, %fd215;
	mov.f64 	%fd218, 0dBC08DDF93324D327;
	mov.f64 	%fd219, 0dBBB135D2E746E627;
	fma.rn.f64 	%fd220, %fd219, %fd217, %fd218;
	mov.f64 	%fd221, 0d3C37B83EEF0B7C9F;
	fma.rn.f64 	%fd222, %fd220, %fd217, %fd221;
	mov.f64 	%fd223, 0d3C69BA72CD589B91;
	fma.rn.f64 	%fd224, %fd222, %fd217, %fd223;
	mov.f64 	%fd225, 0dBCA33689090A6B96;
	fma.rn.f64 	%fd226, %fd224, %fd217, %fd225;
	mov.f64 	%fd227, 0d3C782E11898132E0;
	fma.rn.f64 	%fd228, %fd226, %fd217, %fd227;
	mov.f64 	%fd229, 0d3CFDE4ACFD9E26BA;
	fma.rn.f64 	%fd230, %fd228, %fd217, %fd229;
	mov.f64 	%fd231, 0dBD26D33EED66C487;
	fma.rn.f64 	%fd232, %fd230, %fd217, %fd231;
	mov.f64 	%fd233, 0dBD36F2167040D8E2;
	fma.rn.f64 	%fd234, %fd232, %fd217, %fd233;
	mov.f64 	%fd235, 0d3D872A22C2D77E20;
	fma.rn.f64 	%fd236, %fd234, %fd217, %fd235;
	mov.f64 	%fd237, 0dBDAC8859C4E5C0AF;
	fma.rn.f64 	%fd238, %fd236, %fd217, %fd237;
	mov.f64 	%fd239, 0dBDCDC583D118A561;
	fma.rn.f64 	%fd240, %fd238, %fd217, %fd239;
	mov.f64 	%fd241, 0d3E120F47CCF46B3C;
	fma.rn.f64 	%fd242, %fd240, %fd217, %fd241;
	mov.f64 	%fd243, 0dBE31A9E38DC84D60;
	fma.rn.f64 	%fd244, %fd242, %fd217, %fd243;
	mov.f64 	%fd245, 0dBE5F36CD6D3D46A9;
	fma.rn.f64 	%fd246, %fd244, %fd217, %fd245;
	mov.f64 	%fd247, 0d3E9C6B4F5D03B787;
	fma.rn.f64 	%fd248, %fd246, %fd217, %fd247;
	mov.f64 	%fd249, 0dBEB6E8A5434AE8A2;
	fma.rn.f64 	%fd250, %fd248, %fd217, %fd249;
	mov.f64 	%fd251, 0dBEED1D1F7B8736F6;
	fma.rn.f64 	%fd252, %fd250, %fd217, %fd251;
	mov.f64 	%fd253, 0d3F2879C2A212F024;
	fma.rn.f64 	%fd254, %fd252, %fd217, %fd253;
	mov.f64 	%fd255, 0dBF4845769484FCA8;
	fma.rn.f64 	%fd256, %fd254, %fd217, %fd255;
	mov.f64 	%fd257, 0dBF78B6C33114F909;
	fma.rn.f64 	%fd258, %fd256, %fd217, %fd257;
	mov.f64 	%fd259, 0d3FCEBD80D9B13E28;
	fma.rn.f64 	%fd260, %fd258, %fd217, %fd259;
	mov.f64 	%fd261, 0d3FFA755E7C99AE86;
	fma.rn.f64 	%fd262, %fd260, %fd217, %fd261;
	fma.rn.f64 	%fd266, %fd262, %fd2, %fd262;
	bra.uni 	BB38_17;

BB38_2:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	setp.gt.s32	%p5, %r1, 1072693247;
	selp.f64	%fd4, %fd3, %fd1, %p5;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r47}, %fd4;
	}
	mov.b32 	 %f1, %r47;
	setp.ltu.f32	%p6, %f1, 0f2B2BFF2F;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r48, %temp}, %fd4;
	}
	@%p6 bra 	BB38_4;
	bra.uni 	BB38_3;

BB38_4:
	setp.gt.f64	%p7, %fd4, 0d0000000000000000;
	setp.lt.s32	%p8, %r47, 2146435072;
	and.pred  	%p9, %p7, %p8;
	@%p9 bra 	BB38_9;
	bra.uni 	BB38_5;

BB38_9:
	mov.u32 	%r49, -1023;
	setp.gt.s32	%p13, %r47, 1048575;
	@%p13 bra 	BB38_11;

	mul.f64 	%fd105, %fd4, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r47}, %fd105;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r48, %temp}, %fd105;
	}
	mov.u32 	%r49, -1077;

BB38_11:
	shr.u32 	%r25, %r47, 20;
	add.s32 	%r50, %r49, %r25;
	and.b32  	%r26, %r47, -2146435073;
	or.b32  	%r27, %r26, 1072693248;
	mov.b64 	%fd263, {%r48, %r27};
	setp.lt.s32	%p14, %r27, 1073127583;
	@%p14 bra 	BB38_13;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r28, %temp}, %fd263;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r29}, %fd263;
	}
	add.s32 	%r30, %r29, -1048576;
	mov.b64 	%fd263, {%r28, %r30};
	add.s32 	%r50, %r50, 1;

BB38_13:
	add.f64 	%fd107, %fd263, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd106,%fd107;
	// inline asm
	neg.f64 	%fd108, %fd107;
	mov.f64 	%fd109, 0d3FF0000000000000;
	fma.rn.f64 	%fd110, %fd108, %fd106, %fd109;
	fma.rn.f64 	%fd111, %fd110, %fd110, %fd110;
	fma.rn.f64 	%fd112, %fd111, %fd106, %fd106;
	add.f64 	%fd113, %fd263, 0dBFF0000000000000;
	mul.f64 	%fd114, %fd113, %fd112;
	fma.rn.f64 	%fd115, %fd113, %fd112, %fd114;
	mul.f64 	%fd116, %fd115, %fd115;
	mov.f64 	%fd117, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd118, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd119, %fd118, %fd116, %fd117;
	mov.f64 	%fd120, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd121, %fd119, %fd116, %fd120;
	mov.f64 	%fd122, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd123, %fd121, %fd116, %fd122;
	mov.f64 	%fd124, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd125, %fd123, %fd116, %fd124;
	mov.f64 	%fd126, 0d3F624924923BE72D;
	fma.rn.f64 	%fd127, %fd125, %fd116, %fd126;
	mov.f64 	%fd128, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd129, %fd127, %fd116, %fd128;
	mov.f64 	%fd130, 0d3FB5555555555554;
	fma.rn.f64 	%fd131, %fd129, %fd116, %fd130;
	sub.f64 	%fd132, %fd113, %fd115;
	add.f64 	%fd133, %fd132, %fd132;
	neg.f64 	%fd134, %fd115;
	fma.rn.f64 	%fd135, %fd134, %fd113, %fd133;
	mul.f64 	%fd136, %fd112, %fd135;
	mul.f64 	%fd137, %fd116, %fd131;
	fma.rn.f64 	%fd138, %fd137, %fd115, %fd136;
	xor.b32  	%r31, %r50, -2147483648;
	mov.u32 	%r32, 1127219200;
	mov.b64 	%fd139, {%r31, %r32};
	mov.u32 	%r33, -2147483648;
	mov.b64 	%fd140, {%r33, %r32};
	sub.f64 	%fd141, %fd139, %fd140;
	mov.f64 	%fd142, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd143, %fd141, %fd142, %fd115;
	neg.f64 	%fd144, %fd141;
	fma.rn.f64 	%fd145, %fd144, %fd142, %fd143;
	sub.f64 	%fd146, %fd145, %fd115;
	sub.f64 	%fd147, %fd138, %fd146;
	mov.f64 	%fd148, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd149, %fd141, %fd148, %fd147;
	add.f64 	%fd264, %fd143, %fd149;
	bra.uni 	BB38_14;

BB38_3:
	shr.u32 	%r16, %r47, 20;
	and.b32  	%r17, %r16, 2046;
	add.s32 	%r18, %r17, 2147482626;
	mov.u32 	%r19, 1127219200;
	mov.b64 	%fd23, {%r18, %r19};
	mov.u32 	%r20, -2147483648;
	mov.b64 	%fd24, {%r20, %r19};
	sub.f64 	%fd25, %fd23, %fd24;
	and.b32  	%r21, %r47, -2145386497;
	add.s32 	%r22, %r21, 1071644672;
	mov.b64 	%fd26, {%r48, %r22};
	add.f64 	%fd27, %fd26, 0dBFF0000000000000;
	add.f64 	%fd20, %fd26, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd19,%fd20;
	// inline asm
	neg.f64 	%fd28, %fd20;
	mov.f64 	%fd29, 0d3FF0000000000000;
	fma.rn.f64 	%fd30, %fd28, %fd19, %fd29;
	fma.rn.f64 	%fd31, %fd30, %fd30, %fd30;
	fma.rn.f64 	%fd32, %fd31, %fd19, %fd19;
	mul.f64 	%fd33, %fd27, %fd32;
	mov.f64 	%fd34, 0dC000000000000000;
	fma.rn.f64 	%fd35, %fd34, %fd33, %fd27;
	neg.f64 	%fd36, %fd33;
	fma.rn.f64 	%fd37, %fd36, %fd27, %fd35;
	fma.rn.f64 	%fd38, %fd37, %fd32, %fd33;
	mul.f64 	%fd39, %fd38, %fd38;
	mov.f64 	%fd40, 0d3FA55CF59CDC5D89;
	mov.f64 	%fd41, 0d3FB5C5C218C775C9;
	fma.rn.f64 	%fd42, %fd41, %fd39, %fd40;
	mov.f64 	%fd43, 0d3FAEFD18CF6EBB9C;
	fma.rn.f64 	%fd44, %fd42, %fd39, %fd43;
	mov.f64 	%fd45, 0d3FB10682EDCB8D1B;
	fma.rn.f64 	%fd46, %fd44, %fd39, %fd45;
	mov.f64 	%fd47, 0d3FB3B1DD3AC7FC96;
	fma.rn.f64 	%fd48, %fd46, %fd39, %fd47;
	mov.f64 	%fd49, 0d3FB745CB459B54A6;
	fma.rn.f64 	%fd50, %fd48, %fd39, %fd49;
	mov.f64 	%fd51, 0d3FBC71C741A0669F;
	fma.rn.f64 	%fd52, %fd50, %fd39, %fd51;
	mov.f64 	%fd53, 0d3FC249249209112E;
	fma.rn.f64 	%fd54, %fd52, %fd39, %fd53;
	mov.f64 	%fd55, 0d3FC99999999A06C1;
	fma.rn.f64 	%fd56, %fd54, %fd39, %fd55;
	mov.f64 	%fd57, 0d3FD5555555555535;
	fma.rn.f64 	%fd58, %fd56, %fd39, %fd57;
	mul.f64 	%fd59, %fd39, %fd58;
	fma.rn.f64 	%fd60, %fd59, %fd38, %fd38;
	add.f64 	%fd61, %fd60, %fd60;
	mov.f64 	%fd62, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd63, %fd25, %fd62, %fd61;
	neg.f64 	%fd22, %fd63;
	// inline asm
	rsqrt.approx.ftz.f64 %fd21, %fd22;
	// inline asm
	mul.rn.f64 	%fd64, %fd21, %fd21;
	neg.f64 	%fd65, %fd64;
	fma.rn.f64 	%fd66, %fd22, %fd65, %fd29;
	mov.f64 	%fd67, 0d3FE0000000000000;
	mov.f64 	%fd68, 0d3FD8000000000000;
	fma.rn.f64 	%fd69, %fd68, %fd66, %fd67;
	mul.rn.f64 	%fd70, %fd66, %fd21;
	fma.rn.f64 	%fd71, %fd69, %fd70, %fd21;
	mov.f64 	%fd72, 0d4000A0E7333839AA;
	mov.f64 	%fd73, 0d3FEBE9222591AFAB;
	fma.rn.f64 	%fd74, %fd73, %fd71, %fd72;
	mov.f64 	%fd75, 0d4008768CF7E57D5C;
	fma.rn.f64 	%fd76, %fd74, %fd71, %fd75;
	mov.f64 	%fd77, 0d400B77E7E28DA583;
	fma.rn.f64 	%fd78, %fd76, %fd71, %fd77;
	mov.f64 	%fd79, 0d3FF34F26A4F99CF9;
	fma.rn.f64 	%fd80, %fd78, %fd71, %fd79;
	mov.f64 	%fd81, 0d3FC1F674ADB019ED;
	fma.rn.f64 	%fd82, %fd80, %fd71, %fd81;
	mov.f64 	%fd83, 0d3F75DDAE9506431D;
	fma.rn.f64 	%fd84, %fd82, %fd71, %fd83;
	mov.f64 	%fd85, 0d3F0ADA49AA32489C;
	fma.rn.f64 	%fd86, %fd84, %fd71, %fd85;
	add.f64 	%fd87, %fd71, 0d4001E90FF51C2197;
	mov.f64 	%fd88, 0d40111EA3A7CF3820;
	fma.rn.f64 	%fd89, %fd87, %fd71, %fd88;
	mov.f64 	%fd90, 0d4011A0E4A4749594;
	fma.rn.f64 	%fd91, %fd89, %fd71, %fd90;
	mov.f64 	%fd92, 0d400D4E977D38C14D;
	fma.rn.f64 	%fd93, %fd91, %fd71, %fd92;
	mov.f64 	%fd94, 0d3FF37FD567EC0D5F;
	fma.rn.f64 	%fd95, %fd93, %fd71, %fd94;
	mov.f64 	%fd96, 0d3FC1FB9D7F676033;
	fma.rn.f64 	%fd97, %fd95, %fd71, %fd96;
	mov.f64 	%fd98, 0d3F75DDCDF98946E4;
	fma.rn.f64 	%fd99, %fd97, %fd71, %fd98;
	mov.f64 	%fd100, 0d3F0ADA42D79D8DBB;
	fma.rn.f64 	%fd101, %fd99, %fd71, %fd100;
	mul.f64 	%fd102, %fd71, %fd101;
	div.rn.f64 	%fd265, %fd86, %fd102;
	bra.uni 	BB38_15;

BB38_5:
	abs.f64 	%fd103, %fd4;
	setp.gtu.f64	%p10, %fd103, 0d7FF0000000000000;
	@%p10 bra 	BB38_8;
	bra.uni 	BB38_6;

BB38_8:
	add.f64 	%fd264, %fd4, %fd4;
	bra.uni 	BB38_14;

BB38_6:
	setp.eq.f64	%p11, %fd4, 0d0000000000000000;
	mov.f64 	%fd264, 0dFFF0000000000000;
	@%p11 bra 	BB38_14;

	setp.eq.f64	%p12, %fd4, 0d7FF0000000000000;
	selp.f64	%fd264, %fd4, 0dFFF8000000000000, %p12;

BB38_14:
	neg.f64 	%fd150, %fd264;
	rsqrt.approx.f64 	%fd151, %fd150;
	mov.f64 	%fd152, 0d3FFA2013964E259C;
	mov.f64 	%fd153, 0d3FE8E2101C71B0BF;
	fma.rn.f64 	%fd154, %fd153, %fd151, %fd152;
	mov.f64 	%fd155, 0d3FDABFE90921BE68;
	fma.rn.f64 	%fd156, %fd154, %fd151, %fd155;
	mov.f64 	%fd157, 0d3F97E41314DE00D4;
	fma.rn.f64 	%fd158, %fd156, %fd151, %fd157;
	mov.f64 	%fd159, 0d3F311BD487102E94;
	fma.rn.f64 	%fd160, %fd158, %fd151, %fd159;
	add.f64 	%fd161, %fd151, 0d3FF59895C30BAA54;
	mov.f64 	%fd162, 0d3FFAE8E5956A143F;
	fma.rn.f64 	%fd163, %fd161, %fd151, %fd162;
	mov.f64 	%fd164, 0d3FDACCE85FF7383D;
	fma.rn.f64 	%fd165, %fd163, %fd151, %fd164;
	mov.f64 	%fd166, 0d3F97E43B6CAC34FE;
	fma.rn.f64 	%fd167, %fd165, %fd151, %fd166;
	mov.f64 	%fd168, 0d3F311BD08289EB12;
	fma.rn.f64 	%fd169, %fd167, %fd151, %fd168;
	mul.f64 	%fd170, %fd151, %fd169;
	div.rn.f64 	%fd265, %fd160, %fd170;

BB38_15:
	neg.f64 	%fd171, %fd265;
	selp.f64	%fd266, %fd171, %fd265, %p5;

BB38_17:
	mov.u32 	%r46, %tid.x;
	mov.u32 	%r45, %ctaid.x;
	mov.u32 	%r44, %ntid.x;
	mad.lo.s32 	%r43, %r44, %r45, %r46;
	cvt.s64.s32	%rd13, %r43;
	shl.b64 	%rd12, %rd13, 3;
	ld.param.u64 	%rd11, [vec_erfcinv_param_1];
	cvta.to.global.u64 	%rd8, %rd11;
	add.s64 	%rd10, %rd8, %rd12;
	st.global.f64 	[%rd10], %fd266;

BB38_18:
	ret;
}

	// .globl	vec_erfcx
.visible .entry vec_erfcx(
	.param .u64 vec_erfcx_param_0,
	.param .u64 vec_erfcx_param_1,
	.param .u64 vec_erfcx_param_2
)
{
	.reg .pred 	%p<8>;
	.reg .f32 	%f<5>;
	.reg .b32 	%r<28>;
	.reg .f64 	%fd<141>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd4, [vec_erfcx_param_0];
	ld.param.u64 	%rd3, [vec_erfcx_param_2];
	mov.u32 	%r5, %tid.x;
	mov.u32 	%r6, %ntid.x;
	mov.u32 	%r7, %ctaid.x;
	mad.lo.s32 	%r8, %r6, %r7, %r5;
	cvt.s64.s32	%rd1, %r8;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB39_10;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	mov.b32 	 %f2, %r1;
	abs.f32 	%f3, %f2;
	setp.lt.f32	%p2, %f3, 0f40400000;
	@%p2 bra 	BB39_3;
	bra.uni 	BB39_2;

BB39_3:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r9, %temp}, %fd1;
	}
	and.b32  	%r10, %r1, 2147483647;
	mov.b64 	%fd31, {%r9, %r10};
	add.f64 	%fd32, %fd31, 0dC010000000000000;
	add.f64 	%fd28, %fd31, 0d4010000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd27,%fd28;
	// inline asm
	neg.f64 	%fd33, %fd28;
	mov.f64 	%fd34, 0d3FF0000000000000;
	fma.rn.f64 	%fd35, %fd33, %fd27, %fd34;
	fma.rn.f64 	%fd36, %fd35, %fd35, %fd35;
	fma.rn.f64 	%fd37, %fd36, %fd27, %fd27;
	mul.f64 	%fd38, %fd32, %fd37;
	add.rn.f64 	%fd39, %fd38, %fd34;
	mov.f64 	%fd40, 0dC010000000000000;
	fma.rn.f64 	%fd41, %fd40, %fd39, %fd31;
	neg.f64 	%fd42, %fd38;
	fma.rn.f64 	%fd43, %fd42, %fd31, %fd41;
	fma.rn.f64 	%fd44, %fd37, %fd43, %fd38;
	mov.f64 	%fd45, 0dBE44E1C6FD03D328;
	mov.f64 	%fd46, 0dBDF8774AD4E0BFD7;
	fma.rn.f64 	%fd47, %fd46, %fd44, %fd45;
	mov.f64 	%fd48, 0dBE4330149F7A56B6;
	fma.rn.f64 	%fd49, %fd47, %fd44, %fd48;
	mov.f64 	%fd50, 0d3E7BEDDED8376273;
	fma.rn.f64 	%fd51, %fd49, %fd44, %fd50;
	mov.f64 	%fd52, 0d3E6F9254C3ABF22B;
	fma.rn.f64 	%fd53, %fd51, %fd44, %fd52;
	mov.f64 	%fd54, 0dBEAB9068C2148CF0;
	fma.rn.f64 	%fd55, %fd53, %fd44, %fd54;
	mov.f64 	%fd56, 0d3E94C6454DB34009;
	fma.rn.f64 	%fd57, %fd55, %fd44, %fd56;
	mov.f64 	%fd58, 0d3ED7F1C378F2311D;
	fma.rn.f64 	%fd59, %fd57, %fd44, %fd58;
	mov.f64 	%fd60, 0dBEE78E051C6D5C58;
	fma.rn.f64 	%fd61, %fd59, %fd44, %fd60;
	mov.f64 	%fd62, 0dBEF995B4EAD14A90;
	fma.rn.f64 	%fd63, %fd61, %fd44, %fd62;
	mov.f64 	%fd64, 0d3F23BE27CF0A29B2;
	fma.rn.f64 	%fd65, %fd63, %fd44, %fd64;
	mov.f64 	%fd66, 0dBF2A1DEF3E81672E;
	fma.rn.f64 	%fd67, %fd65, %fd44, %fd66;
	mov.f64 	%fd68, 0dBF48D4ABE68C1713;
	fma.rn.f64 	%fd69, %fd67, %fd44, %fd68;
	mov.f64 	%fd70, 0d3F749C67210DD6B4;
	fma.rn.f64 	%fd71, %fd69, %fd44, %fd70;
	mov.f64 	%fd72, 0dBF9096238568E357;
	fma.rn.f64 	%fd73, %fd71, %fd44, %fd72;
	mov.f64 	%fd74, 0d3FA3079EDF8C2DC9;
	fma.rn.f64 	%fd75, %fd73, %fd44, %fd74;
	mov.f64 	%fd76, 0dBFB0FB06DFF601FC;
	fma.rn.f64 	%fd77, %fd75, %fd44, %fd76;
	mov.f64 	%fd78, 0d3FB7FEE004DFBCDC;
	fma.rn.f64 	%fd79, %fd77, %fd44, %fd78;
	mov.f64 	%fd80, 0dBFB9DDB23C3DB8C6;
	fma.rn.f64 	%fd81, %fd79, %fd44, %fd80;
	mov.f64 	%fd82, 0d3FB16ECEFCFA5FDA;
	fma.rn.f64 	%fd83, %fd81, %fd44, %fd82;
	mov.f64 	%fd84, 0d3F8F7F5DF66FB6D6;
	fma.rn.f64 	%fd85, %fd83, %fd44, %fd84;
	mov.f64 	%fd86, 0dBFC1DF1AD154A29D;
	fma.rn.f64 	%fd87, %fd85, %fd44, %fd86;
	mov.f64 	%fd88, 0d3FF3BA5916E9FD7F;
	fma.rn.f64 	%fd89, %fd87, %fd44, %fd88;
	mov.f64 	%fd90, 0d4000000000000000;
	fma.rn.f64 	%fd30, %fd90, %fd31, %fd34;
	// inline asm
	rcp.approx.ftz.f64 %fd29,%fd30;
	// inline asm
	neg.f64 	%fd91, %fd30;
	fma.rn.f64 	%fd92, %fd91, %fd29, %fd34;
	fma.rn.f64 	%fd93, %fd92, %fd92, %fd92;
	fma.rn.f64 	%fd94, %fd93, %fd29, %fd29;
	mul.f64 	%fd95, %fd89, %fd94;
	mul.f64 	%fd96, %fd95, 0dC000000000000000;
	fma.rn.f64 	%fd97, %fd31, %fd96, %fd89;
	neg.f64 	%fd98, %fd95;
	add.rn.f64 	%fd99, %fd97, %fd98;
	fma.rn.f64 	%fd140, %fd99, %fd94, %fd95;
	bra.uni 	BB39_4;

BB39_2:
	rcp.rn.f64 	%fd13, %fd1;
	mul.f64 	%fd14, %fd13, %fd13;
	mov.f64 	%fd15, 0d401A400000000000;
	mov.f64 	%fd16, 0dC03D880000000000;
	fma.rn.f64 	%fd17, %fd16, %fd14, %fd15;
	mov.f64 	%fd18, 0dBFFE000000000000;
	fma.rn.f64 	%fd19, %fd17, %fd14, %fd18;
	mov.f64 	%fd20, 0d3FE8000000000000;
	fma.rn.f64 	%fd21, %fd19, %fd14, %fd20;
	mov.f64 	%fd22, 0dBFE0000000000000;
	fma.rn.f64 	%fd23, %fd21, %fd14, %fd22;
	mov.f64 	%fd24, 0d3FF0000000000000;
	fma.rn.f64 	%fd25, %fd23, %fd14, %fd24;
	mul.f64 	%fd26, %fd13, 0d3FE20DD750429B6D;
	mul.f64 	%fd140, %fd26, %fd25;

BB39_4:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r23}, %fd1;
	}
	setp.gt.s32	%p3, %r23, -1;
	@%p3 bra 	BB39_9;

	mul.f64 	%fd5, %fd1, %fd1;
	neg.f64 	%fd100, %fd5;
	fma.rn.f64 	%fd6, %fd1, %fd1, %fd100;
	mov.f64 	%fd101, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd102, %fd5, %fd101;
	mov.f64 	%fd103, 0d4338000000000000;
	add.rn.f64 	%fd104, %fd102, %fd103;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r2, %temp}, %fd104;
	}
	mov.f64 	%fd105, 0dC338000000000000;
	add.rn.f64 	%fd106, %fd104, %fd105;
	mov.f64 	%fd107, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd108, %fd106, %fd107, %fd5;
	mov.f64 	%fd109, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd110, %fd106, %fd109, %fd108;
	mov.f64 	%fd111, 0d3E928AF3FCA213EA;
	mov.f64 	%fd112, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd113, %fd112, %fd110, %fd111;
	mov.f64 	%fd114, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd115, %fd113, %fd110, %fd114;
	mov.f64 	%fd116, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd117, %fd115, %fd110, %fd116;
	mov.f64 	%fd118, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd119, %fd117, %fd110, %fd118;
	mov.f64 	%fd120, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd121, %fd119, %fd110, %fd120;
	mov.f64 	%fd122, 0d3F81111111122322;
	fma.rn.f64 	%fd123, %fd121, %fd110, %fd122;
	mov.f64 	%fd124, 0d3FA55555555502A1;
	fma.rn.f64 	%fd125, %fd123, %fd110, %fd124;
	mov.f64 	%fd126, 0d3FC5555555555511;
	fma.rn.f64 	%fd127, %fd125, %fd110, %fd126;
	mov.f64 	%fd128, 0d3FE000000000000B;
	fma.rn.f64 	%fd129, %fd127, %fd110, %fd128;
	mov.f64 	%fd130, 0d3FF0000000000000;
	fma.rn.f64 	%fd131, %fd129, %fd110, %fd130;
	fma.rn.f64 	%fd132, %fd131, %fd110, %fd130;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r3, %temp}, %fd132;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r4}, %fd132;
	}
	shl.b32 	%r11, %r2, 20;
	add.s32 	%r12, %r4, %r11;
	mov.b64 	%fd139, {%r3, %r12};
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r13}, %fd5;
	}
	mov.b32 	 %f4, %r13;
	abs.f32 	%f1, %f4;
	setp.lt.f32	%p4, %f1, 0f4086232B;
	@%p4 bra 	BB39_8;

	setp.lt.f64	%p5, %fd5, 0d0000000000000000;
	add.f64 	%fd133, %fd5, 0d7FF0000000000000;
	selp.f64	%fd139, 0d0000000000000000, %fd133, %p5;
	setp.geu.f32	%p6, %f1, 0f40874800;
	@%p6 bra 	BB39_8;

	shr.u32 	%r14, %r2, 31;
	add.s32 	%r15, %r2, %r14;
	shr.s32 	%r16, %r15, 1;
	shl.b32 	%r17, %r16, 20;
	add.s32 	%r18, %r17, %r4;
	mov.b64 	%fd134, {%r3, %r18};
	sub.s32 	%r19, %r2, %r16;
	shl.b32 	%r20, %r19, 20;
	add.s32 	%r21, %r20, 1072693248;
	mov.u32 	%r22, 0;
	mov.b64 	%fd135, {%r22, %r21};
	mul.f64 	%fd139, %fd134, %fd135;

BB39_8:
	add.f64 	%fd136, %fd139, %fd139;
	fma.rn.f64 	%fd137, %fd136, %fd6, %fd136;
	sub.f64 	%fd138, %fd137, %fd140;
	setp.eq.f64	%p7, %fd136, 0d7FF0000000000000;
	selp.f64	%fd140, %fd136, %fd138, %p7;

BB39_9:
	mov.u32 	%r27, %tid.x;
	mov.u32 	%r26, %ctaid.x;
	mov.u32 	%r25, %ntid.x;
	mad.lo.s32 	%r24, %r25, %r26, %r27;
	cvt.s64.s32	%rd13, %r24;
	shl.b64 	%rd12, %rd13, 3;
	ld.param.u64 	%rd11, [vec_erfcx_param_1];
	cvta.to.global.u64 	%rd8, %rd11;
	add.s64 	%rd10, %rd8, %rd12;
	st.global.f64 	[%rd10], %fd140;

BB39_10:
	ret;
}

	// .globl	vec_erf
.visible .entry vec_erf(
	.param .u64 vec_erf_param_0,
	.param .u64 vec_erf_param_1,
	.param .u64 vec_erf_param_2
)
{
	.reg .pred 	%p<8>;
	.reg .b32 	%r<25>;
	.reg .f64 	%fd<112>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd4, [vec_erf_param_0];
	ld.param.u64 	%rd3, [vec_erf_param_2];
	mov.u32 	%r4, %tid.x;
	mov.u32 	%r5, %ntid.x;
	mov.u32 	%r6, %ctaid.x;
	mad.lo.s32 	%r7, %r5, %r6, %r4;
	cvt.s64.s32	%rd1, %r7;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB40_9;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	and.b32  	%r2, %r1, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r3, %temp}, %fd1;
	}
	setp.lt.u32	%p2, %r2, 1072693248;
	@%p2 bra 	BB40_7;
	bra.uni 	BB40_2;

BB40_7:
	mul.f64 	%fd87, %fd1, %fd1;
	mov.f64 	%fd88, 0d3E4D5F4BB7A316F6;
	mov.f64 	%fd89, 0dBE0A83AA3B08FBC2;
	fma.rn.f64 	%fd90, %fd89, %fd87, %fd88;
	mov.f64 	%fd91, 0dBE85BDCE301B3CDF;
	fma.rn.f64 	%fd92, %fd90, %fd87, %fd91;
	mov.f64 	%fd93, 0d3EBB978FADB81BC9;
	fma.rn.f64 	%fd94, %fd92, %fd87, %fd93;
	mov.f64 	%fd95, 0dBEEF4C99D6AE5FB8;
	fma.rn.f64 	%fd96, %fd94, %fd87, %fd95;
	mov.f64 	%fd97, 0d3F1F9A2AF549012E;
	fma.rn.f64 	%fd98, %fd96, %fd87, %fd97;
	mov.f64 	%fd99, 0dBF4C02DAFC636A47;
	fma.rn.f64 	%fd100, %fd98, %fd87, %fd99;
	mov.f64 	%fd101, 0d3F7565BCCF619AC0;
	fma.rn.f64 	%fd102, %fd100, %fd87, %fd101;
	mov.f64 	%fd103, 0dBF9B82CE311E321A;
	fma.rn.f64 	%fd104, %fd102, %fd87, %fd103;
	mov.f64 	%fd105, 0d3FBCE2F21A04075C;
	fma.rn.f64 	%fd106, %fd104, %fd87, %fd105;
	mov.f64 	%fd107, 0dBFD812746B0379B4;
	fma.rn.f64 	%fd108, %fd106, %fd87, %fd107;
	mov.f64 	%fd109, 0d3FF20DD750429B6D;
	fma.rn.f64 	%fd110, %fd108, %fd87, %fd109;
	mul.f64 	%fd111, %fd1, %fd110;
	bra.uni 	BB40_8;

BB40_2:
	setp.lt.u32	%p3, %r2, 2146435072;
	@%p3 bra 	BB40_6;
	bra.uni 	BB40_3;

BB40_6:
	mov.b64 	%fd8, {%r3, %r2};
	mov.f64 	%fd9, 0dBCF1384CE38C616A;
	mov.f64 	%fd10, 0d3C8B9C2B870030E8;
	fma.rn.f64 	%fd11, %fd10, %fd8, %fd9;
	mov.f64 	%fd12, 0d3D4458AE9746C2FD;
	fma.rn.f64 	%fd13, %fd11, %fd8, %fd12;
	mov.f64 	%fd14, 0dBD8E4A44D4F1AB56;
	fma.rn.f64 	%fd15, %fd13, %fd8, %fd14;
	mov.f64 	%fd16, 0d3DCFDF15265C58EE;
	fma.rn.f64 	%fd17, %fd15, %fd8, %fd16;
	mov.f64 	%fd18, 0dBE0933832F358D51;
	fma.rn.f64 	%fd19, %fd17, %fd8, %fd18;
	mov.f64 	%fd20, 0d3E3F136D3F719446;
	fma.rn.f64 	%fd21, %fd19, %fd8, %fd20;
	mov.f64 	%fd22, 0dBE6E94C2FE151B3B;
	fma.rn.f64 	%fd23, %fd21, %fd8, %fd22;
	mov.f64 	%fd24, 0d3E985A70310EE0A8;
	fma.rn.f64 	%fd25, %fd23, %fd8, %fd24;
	mov.f64 	%fd26, 0dBEBF944DA1520B74;
	fma.rn.f64 	%fd27, %fd25, %fd8, %fd26;
	mov.f64 	%fd28, 0d3EE09F503825C543;
	fma.rn.f64 	%fd29, %fd27, %fd8, %fd28;
	mov.f64 	%fd30, 0dBEFBEEFE9F949E59;
	fma.rn.f64 	%fd31, %fd29, %fd8, %fd30;
	mov.f64 	%fd32, 0d3F11D785C6E28857;
	fma.rn.f64 	%fd33, %fd31, %fd8, %fd32;
	mov.f64 	%fd34, 0dBF1D866B223048C7;
	fma.rn.f64 	%fd35, %fd33, %fd8, %fd34;
	mov.f64 	%fd36, 0d3EF258F0847E8908;
	fma.rn.f64 	%fd37, %fd35, %fd8, %fd36;
	mov.f64 	%fd38, 0d3F429CFC58DBB776;
	fma.rn.f64 	%fd39, %fd37, %fd8, %fd38;
	mov.f64 	%fd40, 0dBF5BE16D3F71F3C5;
	fma.rn.f64 	%fd41, %fd39, %fd8, %fd40;
	mov.f64 	%fd42, 0d3F2E8BDA60326B1A;
	fma.rn.f64 	%fd43, %fd41, %fd8, %fd42;
	mov.f64 	%fd44, 0d3F938FB20B0988A6;
	fma.rn.f64 	%fd45, %fd43, %fd8, %fd44;
	mov.f64 	%fd46, 0dBFBA4E3A80F64E33;
	fma.rn.f64 	%fd47, %fd45, %fd8, %fd46;
	mov.f64 	%fd48, 0dBFE45F3E88093928;
	fma.rn.f64 	%fd49, %fd47, %fd8, %fd48;
	mov.f64 	%fd50, 0dBFF20DD599CAEEA0;
	fma.rn.f64 	%fd51, %fd49, %fd8, %fd50;
	mov.f64 	%fd52, 0dBE883BE1E31CE133;
	fma.rn.f64 	%fd53, %fd51, %fd8, %fd52;
	mov.f64 	%fd54, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd55, %fd53, %fd54;
	mov.f64 	%fd56, 0d4338000000000000;
	add.rn.f64 	%fd57, %fd55, %fd56;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r12, %temp}, %fd57;
	}
	mov.f64 	%fd58, 0dC338000000000000;
	add.rn.f64 	%fd59, %fd57, %fd58;
	mov.f64 	%fd60, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd61, %fd59, %fd60, %fd53;
	mov.f64 	%fd62, 0d3E928AF3FCA213EA;
	mov.f64 	%fd63, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd64, %fd63, %fd61, %fd62;
	mov.f64 	%fd65, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd66, %fd64, %fd61, %fd65;
	mov.f64 	%fd67, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd68, %fd66, %fd61, %fd67;
	mov.f64 	%fd69, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd70, %fd68, %fd61, %fd69;
	mov.f64 	%fd71, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd72, %fd70, %fd61, %fd71;
	mov.f64 	%fd73, 0d3F81111111122322;
	fma.rn.f64 	%fd74, %fd72, %fd61, %fd73;
	mov.f64 	%fd75, 0d3FA55555555502A1;
	fma.rn.f64 	%fd76, %fd74, %fd61, %fd75;
	mov.f64 	%fd77, 0d3FC5555555555511;
	fma.rn.f64 	%fd78, %fd76, %fd61, %fd77;
	mov.f64 	%fd79, 0d3FE000000000000B;
	fma.rn.f64 	%fd80, %fd78, %fd61, %fd79;
	mov.f64 	%fd81, 0d3FF0000000000000;
	fma.rn.f64 	%fd82, %fd80, %fd61, %fd81;
	fma.rn.f64 	%fd83, %fd82, %fd61, %fd81;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r13}, %fd83;
	}
	shl.b32 	%r14, %r12, 20;
	add.s32 	%r15, %r13, %r14;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r16, %temp}, %fd83;
	}
	mov.b64 	%fd84, {%r16, %r15};
	sub.f64 	%fd85, %fd81, %fd84;
	setp.gt.u32	%p7, %r2, 1075294207;
	selp.f64	%fd86, 0d3FF0000000000000, %fd85, %p7;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r17, %temp}, %fd86;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r18}, %fd86;
	}
	and.b32  	%r19, %r1, -2147483648;
	or.b32  	%r20, %r18, %r19;
	mov.b64 	%fd111, {%r17, %r20};
	bra.uni 	BB40_8;

BB40_3:
	setp.eq.s32	%p4, %r2, 2146435072;
	setp.eq.s32	%p5, %r3, 0;
	and.pred  	%p6, %p4, %p5;
	@%p6 bra 	BB40_5;
	bra.uni 	BB40_4;

BB40_5:
	mov.f64 	%fd7, 0d3FF0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r8, %temp}, %fd7;
	}
	and.b32  	%r9, %r1, -2147483648;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r10}, %fd7;
	}
	or.b32  	%r11, %r10, %r9;
	mov.b64 	%fd111, {%r8, %r11};
	bra.uni 	BB40_8;

BB40_4:
	add.f64 	%fd111, %fd1, %fd1;

BB40_8:
	mov.u32 	%r24, %tid.x;
	mov.u32 	%r23, %ctaid.x;
	mov.u32 	%r22, %ntid.x;
	mad.lo.s32 	%r21, %r22, %r23, %r24;
	cvt.s64.s32	%rd13, %r21;
	shl.b64 	%rd12, %rd13, 3;
	ld.param.u64 	%rd11, [vec_erf_param_1];
	cvta.to.global.u64 	%rd8, %rd11;
	add.s64 	%rd10, %rd8, %rd12;
	st.global.f64 	[%rd10], %fd111;

BB40_9:
	ret;
}

	// .globl	vec_erfinv
.visible .entry vec_erfinv(
	.param .u64 vec_erfinv_param_0,
	.param .u64 vec_erfinv_param_1,
	.param .u64 vec_erfinv_param_2
)
{
	.reg .pred 	%p<7>;
	.reg .f32 	%f<3>;
	.reg .b32 	%r<21>;
	.reg .f64 	%fd<173>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd4, [vec_erfinv_param_0];
	ld.param.u64 	%rd3, [vec_erfinv_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB41_10;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r5}, %fd1;
	}
	mov.b32 	 %f1, %r5;
	abs.f32 	%f2, %f1;
	setp.lt.f32	%p2, %f2, 0f3FF00000;
	@%p2 bra 	BB41_4;
	bra.uni 	BB41_2;

BB41_4:
	neg.f64 	%fd12, %fd1;
	mov.f64 	%fd13, 0d3FF0000000000000;
	fma.rn.f64 	%fd14, %fd1, %fd12, %fd13;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r6}, %fd14;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r7, %temp}, %fd14;
	}
	shr.u32 	%r8, %r6, 20;
	and.b32  	%r9, %r8, 2046;
	add.s32 	%r10, %r9, 2147482626;
	mov.u32 	%r11, 1127219200;
	mov.b64 	%fd15, {%r10, %r11};
	mov.u32 	%r12, -2147483648;
	mov.b64 	%fd16, {%r12, %r11};
	sub.f64 	%fd17, %fd15, %fd16;
	and.b32  	%r13, %r6, -2145386497;
	add.s32 	%r14, %r13, 1071644672;
	mov.b64 	%fd18, {%r7, %r14};
	add.f64 	%fd19, %fd18, 0dBFF0000000000000;
	add.f64 	%fd11, %fd18, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd10,%fd11;
	// inline asm
	neg.f64 	%fd20, %fd11;
	fma.rn.f64 	%fd21, %fd20, %fd10, %fd13;
	fma.rn.f64 	%fd22, %fd21, %fd21, %fd21;
	fma.rn.f64 	%fd23, %fd22, %fd10, %fd10;
	mul.f64 	%fd24, %fd19, %fd23;
	mov.f64 	%fd25, 0dC000000000000000;
	fma.rn.f64 	%fd26, %fd25, %fd24, %fd19;
	neg.f64 	%fd27, %fd24;
	fma.rn.f64 	%fd28, %fd27, %fd19, %fd26;
	fma.rn.f64 	%fd29, %fd28, %fd23, %fd24;
	mul.f64 	%fd30, %fd29, %fd29;
	mov.f64 	%fd31, 0d3FA55CF59CDC5D89;
	mov.f64 	%fd32, 0d3FB5C5C218C775C9;
	fma.rn.f64 	%fd33, %fd32, %fd30, %fd31;
	mov.f64 	%fd34, 0d3FAEFD18CF6EBB9C;
	fma.rn.f64 	%fd35, %fd33, %fd30, %fd34;
	mov.f64 	%fd36, 0d3FB10682EDCB8D1B;
	fma.rn.f64 	%fd37, %fd35, %fd30, %fd36;
	mov.f64 	%fd38, 0d3FB3B1DD3AC7FC96;
	fma.rn.f64 	%fd39, %fd37, %fd30, %fd38;
	mov.f64 	%fd40, 0d3FB745CB459B54A6;
	fma.rn.f64 	%fd41, %fd39, %fd30, %fd40;
	mov.f64 	%fd42, 0d3FBC71C741A0669F;
	fma.rn.f64 	%fd43, %fd41, %fd30, %fd42;
	mov.f64 	%fd44, 0d3FC249249209112E;
	fma.rn.f64 	%fd45, %fd43, %fd30, %fd44;
	mov.f64 	%fd46, 0d3FC99999999A06C1;
	fma.rn.f64 	%fd47, %fd45, %fd30, %fd46;
	mov.f64 	%fd48, 0d3FD5555555555535;
	fma.rn.f64 	%fd49, %fd47, %fd30, %fd48;
	mul.f64 	%fd50, %fd30, %fd49;
	fma.rn.f64 	%fd51, %fd50, %fd29, %fd29;
	add.f64 	%fd52, %fd51, %fd51;
	mov.f64 	%fd53, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd4, %fd17, %fd53, %fd52;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd4;
	}
	setp.lt.u32	%p5, %r15, -1072103424;
	@%p5 bra 	BB41_8;
	bra.uni 	BB41_5;

BB41_8:
	mov.f64 	%fd125, 0dC009000000000000;
	sub.f64 	%fd126, %fd125, %fd4;
	mov.f64 	%fd127, 0dBC08DDF93324D327;
	mov.f64 	%fd128, 0dBBB135D2E746E627;
	fma.rn.f64 	%fd129, %fd128, %fd126, %fd127;
	mov.f64 	%fd130, 0d3C37B83EEF0B7C9F;
	fma.rn.f64 	%fd131, %fd129, %fd126, %fd130;
	mov.f64 	%fd132, 0d3C69BA72CD589B91;
	fma.rn.f64 	%fd133, %fd131, %fd126, %fd132;
	mov.f64 	%fd134, 0dBCA33689090A6B96;
	fma.rn.f64 	%fd135, %fd133, %fd126, %fd134;
	mov.f64 	%fd136, 0d3C782E11898132E0;
	fma.rn.f64 	%fd137, %fd135, %fd126, %fd136;
	mov.f64 	%fd138, 0d3CFDE4ACFD9E26BA;
	fma.rn.f64 	%fd139, %fd137, %fd126, %fd138;
	mov.f64 	%fd140, 0dBD26D33EED66C487;
	fma.rn.f64 	%fd141, %fd139, %fd126, %fd140;
	mov.f64 	%fd142, 0dBD36F2167040D8E2;
	fma.rn.f64 	%fd143, %fd141, %fd126, %fd142;
	mov.f64 	%fd144, 0d3D872A22C2D77E20;
	fma.rn.f64 	%fd145, %fd143, %fd126, %fd144;
	mov.f64 	%fd146, 0dBDAC8859C4E5C0AF;
	fma.rn.f64 	%fd147, %fd145, %fd126, %fd146;
	mov.f64 	%fd148, 0dBDCDC583D118A561;
	fma.rn.f64 	%fd149, %fd147, %fd126, %fd148;
	mov.f64 	%fd150, 0d3E120F47CCF46B3C;
	fma.rn.f64 	%fd151, %fd149, %fd126, %fd150;
	mov.f64 	%fd152, 0dBE31A9E38DC84D60;
	fma.rn.f64 	%fd153, %fd151, %fd126, %fd152;
	mov.f64 	%fd154, 0dBE5F36CD6D3D46A9;
	fma.rn.f64 	%fd155, %fd153, %fd126, %fd154;
	mov.f64 	%fd156, 0d3E9C6B4F5D03B787;
	fma.rn.f64 	%fd157, %fd155, %fd126, %fd156;
	mov.f64 	%fd158, 0dBEB6E8A5434AE8A2;
	fma.rn.f64 	%fd159, %fd157, %fd126, %fd158;
	mov.f64 	%fd160, 0dBEED1D1F7B8736F6;
	fma.rn.f64 	%fd161, %fd159, %fd126, %fd160;
	mov.f64 	%fd162, 0d3F2879C2A212F024;
	fma.rn.f64 	%fd163, %fd161, %fd126, %fd162;
	mov.f64 	%fd164, 0dBF4845769484FCA8;
	fma.rn.f64 	%fd165, %fd163, %fd126, %fd164;
	mov.f64 	%fd166, 0dBF78B6C33114F909;
	fma.rn.f64 	%fd167, %fd165, %fd126, %fd166;
	mov.f64 	%fd168, 0d3FCEBD80D9B13E28;
	fma.rn.f64 	%fd169, %fd167, %fd126, %fd168;
	mov.f64 	%fd170, 0d3FFA755E7C99AE86;
	fma.rn.f64 	%fd8, %fd169, %fd126, %fd170;
	mov.f64 	%fd172, %fd8;
	bra.uni 	BB41_9;

BB41_2:
	abs.f64 	%fd2, %fd1;
	setp.gtu.f64	%p3, %fd2, 0d7FF0000000000000;
	mov.f64 	%fd172, %fd1;
	@%p3 bra 	BB41_9;

	setp.eq.f64	%p4, %fd2, 0d3FF0000000000000;
	selp.f64	%fd3, 0d7FF0000000000000, 0dFFF8000000000000, %p4;
	mov.f64 	%fd172, %fd3;
	bra.uni 	BB41_9;

BB41_5:
	neg.f64 	%fd54, %fd4;
	sqrt.rn.f64 	%fd5, %fd54;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r16}, %fd5;
	}
	setp.lt.s32	%p6, %r16, 1074790400;
	@%p6 bra 	BB41_7;
	bra.uni 	BB41_6;

BB41_7:
	add.f64 	%fd88, %fd5, 0dC00A000000000000;
	mov.f64 	%fd89, 0d3E785CBE52878635;
	mov.f64 	%fd90, 0d3E23040F87DBD932;
	fma.rn.f64 	%fd91, %fd90, %fd88, %fd89;
	mov.f64 	%fd92, 0dBE92777453DD3955;
	fma.rn.f64 	%fd93, %fd91, %fd88, %fd92;
	mov.f64 	%fd94, 0d3E5395ABCD554C6C;
	fma.rn.f64 	%fd95, %fd93, %fd88, %fd94;
	mov.f64 	%fd96, 0d3EB936388A3790AD;
	fma.rn.f64 	%fd97, %fd95, %fd88, %fd96;
	mov.f64 	%fd98, 0dBED0D5DB812B5083;
	fma.rn.f64 	%fd99, %fd97, %fd88, %fd98;
	mov.f64 	%fd100, 0d3EC8860CD5D652F6;
	fma.rn.f64 	%fd101, %fd99, %fd88, %fd100;
	mov.f64 	%fd102, 0d3EEA29A0CACDFB23;
	fma.rn.f64 	%fd103, %fd101, %fd88, %fd102;
	mov.f64 	%fd104, 0dBF08CEF1F80281F2;
	fma.rn.f64 	%fd105, %fd103, %fd88, %fd104;
	mov.f64 	%fd106, 0d3F11E684D0B9188A;
	fma.rn.f64 	%fd107, %fd105, %fd88, %fd106;
	mov.f64 	%fd108, 0d3EF932CD54C8A222;
	fma.rn.f64 	%fd109, %fd107, %fd88, %fd108;
	mov.f64 	%fd110, 0dBF37448A89EF8AA3;
	fma.rn.f64 	%fd111, %fd109, %fd88, %fd110;
	mov.f64 	%fd112, 0d3F4F3CC55AD40C25;
	fma.rn.f64 	%fd113, %fd111, %fd88, %fd112;
	mov.f64 	%fd114, 0dBF5BA924132F38B1;
	fma.rn.f64 	%fd115, %fd113, %fd88, %fd114;
	mov.f64 	%fd116, 0d3F6468EECA533CF8;
	fma.rn.f64 	%fd117, %fd115, %fd88, %fd116;
	mov.f64 	%fd118, 0dBF6EBADABB891BBD;
	fma.rn.f64 	%fd119, %fd117, %fd88, %fd118;
	mov.f64 	%fd120, 0d3F75FFCFE5B76AFC;
	fma.rn.f64 	%fd121, %fd119, %fd88, %fd120;
	mov.f64 	%fd122, 0d3FF0158A6D641D39;
	fma.rn.f64 	%fd123, %fd121, %fd88, %fd122;
	mov.f64 	%fd124, 0d4008ABCC380D5A48;
	fma.rn.f64 	%fd7, %fd123, %fd88, %fd124;
	mov.f64 	%fd172, %fd7;
	bra.uni 	BB41_9;

BB41_6:
	add.f64 	%fd55, %fd5, 0dC014000000000000;
	mov.f64 	%fd56, 0dBDF18FEEC0E38727;
	mov.f64 	%fd57, 0dBDBDCEC3A7785389;
	fma.rn.f64 	%fd58, %fd57, %fd55, %fd56;
	mov.f64 	%fd59, 0d3E19E6BF2DDA45E3;
	fma.rn.f64 	%fd60, %fd58, %fd55, %fd59;
	mov.f64 	%fd61, 0dBE30468FB24E2F5F;
	fma.rn.f64 	%fd62, %fd60, %fd55, %fd61;
	mov.f64 	%fd63, 0d3E405AC6A8FBA182;
	fma.rn.f64 	%fd64, %fd62, %fd55, %fd63;
	mov.f64 	%fd65, 0dBE50102E495FB9C0;
	fma.rn.f64 	%fd66, %fd64, %fd55, %fd65;
	mov.f64 	%fd67, 0d3E5F4C20E1334AF8;
	fma.rn.f64 	%fd68, %fd66, %fd55, %fd67;
	mov.f64 	%fd69, 0dBE722D220FDF9C3E;
	fma.rn.f64 	%fd70, %fd68, %fd55, %fd69;
	mov.f64 	%fd71, 0d3E8EBC8BB824CB54;
	fma.rn.f64 	%fd72, %fd70, %fd55, %fd71;
	mov.f64 	%fd73, 0dBEB0A8D40EA372CC;
	fma.rn.f64 	%fd74, %fd72, %fd55, %fd73;
	mov.f64 	%fd75, 0d3ED2FBD29D093D2B;
	fma.rn.f64 	%fd76, %fd74, %fd55, %fd75;
	mov.f64 	%fd77, 0dBEF4A3497E1E0FAC;
	fma.rn.f64 	%fd78, %fd76, %fd55, %fd77;
	mov.f64 	%fd79, 0d3F13EBF4EB00938F;
	fma.rn.f64 	%fd80, %fd78, %fd55, %fd79;
	mov.f64 	%fd81, 0dBF2C2F36A8FC5D53;
	fma.rn.f64 	%fd82, %fd80, %fd55, %fd81;
	mov.f64 	%fd83, 0dBF222EA5DF04047C;
	fma.rn.f64 	%fd84, %fd82, %fd55, %fd83;
	mov.f64 	%fd85, 0d3FF02A30D1FBA0DC;
	fma.rn.f64 	%fd86, %fd84, %fd55, %fd85;
	mov.f64 	%fd87, 0d4013664DDD1AD7FB;
	fma.rn.f64 	%fd6, %fd86, %fd55, %fd87;
	mov.f64 	%fd172, %fd6;

BB41_9:
	mov.f64 	%fd9, %fd172;
	mov.u32 	%r20, %tid.x;
	mov.u32 	%r19, %ctaid.x;
	mov.u32 	%r18, %ntid.x;
	mad.lo.s32 	%r17, %r18, %r19, %r20;
	cvt.s64.s32	%rd13, %r17;
	shl.b64 	%rd12, %rd13, 3;
	ld.param.u64 	%rd11, [vec_erfinv_param_1];
	cvta.to.global.u64 	%rd8, %rd11;
	add.s64 	%rd10, %rd8, %rd12;
	mul.f64 	%fd171, %fd1, %fd9;
	st.global.f64 	[%rd10], %fd171;

BB41_10:
	ret;
}

	// .globl	vec_exp10
.visible .entry vec_exp10(
	.param .u64 vec_exp10_param_0,
	.param .u64 vec_exp10_param_1,
	.param .u64 vec_exp10_param_2
)
{
	.reg .pred 	%p<6>;
	.reg .f32 	%f<3>;
	.reg .b32 	%r<20>;
	.reg .f64 	%fd<47>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_exp10_param_0];
	ld.param.u64 	%rd2, [vec_exp10_param_1];
	ld.param.u64 	%rd3, [vec_exp10_param_2];
	mov.u32 	%r5, %tid.x;
	mov.u32 	%r6, %ntid.x;
	mov.u32 	%r7, %ctaid.x;
	mad.lo.s32 	%r8, %r6, %r7, %r5;
	cvt.s64.s32	%rd1, %r8;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB42_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	mov.f64 	%fd6, 0d400A934F0979A371;
	mul.rn.f64 	%fd7, %fd1, %fd6;
	mov.f64 	%fd8, 0d4338000000000000;
	add.rn.f64 	%fd9, %fd7, %fd8;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r1, %temp}, %fd9;
	}
	mov.f64 	%fd10, 0dC338000000000000;
	add.rn.f64 	%fd11, %fd9, %fd10;
	mov.f64 	%fd12, 0dBFD34413509F79FF;
	fma.rn.f64 	%fd13, %fd11, %fd12, %fd1;
	mov.f64 	%fd14, 0d3C49DC1DA994FD21;
	fma.rn.f64 	%fd15, %fd11, %fd14, %fd13;
	mul.f64 	%fd16, %fd15, 0dBCAF48AD494EA3E9;
	mov.f64 	%fd17, 0d40026BB1BBB55516;
	fma.rn.f64 	%fd18, %fd15, %fd17, %fd16;
	mov.f64 	%fd19, 0d3E928AF3FCA213EA;
	mov.f64 	%fd20, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd21, %fd20, %fd18, %fd19;
	mov.f64 	%fd22, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd23, %fd21, %fd18, %fd22;
	mov.f64 	%fd24, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd25, %fd23, %fd18, %fd24;
	mov.f64 	%fd26, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd27, %fd25, %fd18, %fd26;
	mov.f64 	%fd28, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd29, %fd27, %fd18, %fd28;
	mov.f64 	%fd30, 0d3F81111111122322;
	fma.rn.f64 	%fd31, %fd29, %fd18, %fd30;
	mov.f64 	%fd32, 0d3FA55555555502A1;
	fma.rn.f64 	%fd33, %fd31, %fd18, %fd32;
	mov.f64 	%fd34, 0d3FC5555555555511;
	fma.rn.f64 	%fd35, %fd33, %fd18, %fd34;
	mov.f64 	%fd36, 0d3FE000000000000B;
	fma.rn.f64 	%fd37, %fd35, %fd18, %fd36;
	mov.f64 	%fd38, 0d3FF0000000000000;
	fma.rn.f64 	%fd39, %fd37, %fd18, %fd38;
	fma.rn.f64 	%fd40, %fd39, %fd18, %fd38;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r2, %temp}, %fd40;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r3}, %fd40;
	}
	shl.b32 	%r9, %r1, 20;
	add.s32 	%r10, %r3, %r9;
	mov.b64 	%fd46, {%r2, %r10};
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r4}, %fd1;
	}
	mov.b32 	 %f2, %r4;
	abs.f32 	%f1, %f2;
	setp.lt.f32	%p2, %f1, 0f40733A71;
	@%p2 bra 	BB42_4;

	setp.lt.s32	%p3, %r4, 0;
	selp.f64	%fd41, 0d0000000000000000, 0d7FF0000000000000, %p3;
	abs.f64 	%fd42, %fd1;
	setp.gtu.f64	%p4, %fd42, 0d7FF0000000000000;
	add.f64 	%fd43, %fd1, %fd1;
	selp.f64	%fd46, %fd43, %fd41, %p4;
	setp.geu.f32	%p5, %f1, 0f407439B8;
	@%p5 bra 	BB42_4;

	shr.u32 	%r11, %r1, 31;
	add.s32 	%r12, %r1, %r11;
	shr.s32 	%r13, %r12, 1;
	shl.b32 	%r14, %r13, 20;
	add.s32 	%r15, %r14, %r3;
	mov.b64 	%fd44, {%r2, %r15};
	sub.s32 	%r16, %r1, %r13;
	shl.b32 	%r17, %r16, 20;
	add.s32 	%r18, %r17, 1072693248;
	mov.u32 	%r19, 0;
	mov.b64 	%fd45, {%r19, %r18};
	mul.f64 	%fd46, %fd44, %fd45;

BB42_4:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd46;

BB42_5:
	ret;
}

	// .globl	vec_exp2
.visible .entry vec_exp2(
	.param .u64 vec_exp2_param_0,
	.param .u64 vec_exp2_param_1,
	.param .u64 vec_exp2_param_2
)
{
	.reg .pred 	%p<6>;
	.reg .f32 	%f<3>;
	.reg .b32 	%r<20>;
	.reg .f64 	%fd<42>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_exp2_param_0];
	ld.param.u64 	%rd2, [vec_exp2_param_1];
	ld.param.u64 	%rd3, [vec_exp2_param_2];
	mov.u32 	%r5, %tid.x;
	mov.u32 	%r6, %ntid.x;
	mov.u32 	%r7, %ctaid.x;
	mad.lo.s32 	%r8, %r6, %r7, %r5;
	cvt.s64.s32	%rd1, %r8;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB43_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	mov.f64 	%fd6, 0d4338000000000000;
	add.rn.f64 	%fd7, %fd1, %fd6;
	mov.f64 	%fd8, 0dC338000000000000;
	add.rn.f64 	%fd9, %fd7, %fd8;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r1, %temp}, %fd7;
	}
	sub.f64 	%fd10, %fd1, %fd9;
	mul.f64 	%fd11, %fd10, 0d3C7ABC9E3B39803F;
	mov.f64 	%fd12, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd13, %fd10, %fd12, %fd11;
	mov.f64 	%fd14, 0d3E928AF3FCA213EA;
	mov.f64 	%fd15, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd16, %fd15, %fd13, %fd14;
	mov.f64 	%fd17, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd18, %fd16, %fd13, %fd17;
	mov.f64 	%fd19, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd20, %fd18, %fd13, %fd19;
	mov.f64 	%fd21, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd22, %fd20, %fd13, %fd21;
	mov.f64 	%fd23, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd24, %fd22, %fd13, %fd23;
	mov.f64 	%fd25, 0d3F81111111122322;
	fma.rn.f64 	%fd26, %fd24, %fd13, %fd25;
	mov.f64 	%fd27, 0d3FA55555555502A1;
	fma.rn.f64 	%fd28, %fd26, %fd13, %fd27;
	mov.f64 	%fd29, 0d3FC5555555555511;
	fma.rn.f64 	%fd30, %fd28, %fd13, %fd29;
	mov.f64 	%fd31, 0d3FE000000000000B;
	fma.rn.f64 	%fd32, %fd30, %fd13, %fd31;
	mov.f64 	%fd33, 0d3FF0000000000000;
	fma.rn.f64 	%fd34, %fd32, %fd13, %fd33;
	fma.rn.f64 	%fd35, %fd34, %fd13, %fd33;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r2, %temp}, %fd35;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r3}, %fd35;
	}
	shl.b32 	%r9, %r1, 20;
	add.s32 	%r10, %r3, %r9;
	mov.b64 	%fd41, {%r2, %r10};
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r4}, %fd1;
	}
	mov.b32 	 %f2, %r4;
	abs.f32 	%f1, %f2;
	setp.lt.f32	%p2, %f1, 0f408FF000;
	@%p2 bra 	BB43_4;

	setp.lt.s32	%p3, %r4, 0;
	selp.f64	%fd36, 0d0000000000000000, 0d7FF0000000000000, %p3;
	abs.f64 	%fd37, %fd1;
	setp.gtu.f64	%p4, %fd37, 0d7FF0000000000000;
	add.f64 	%fd38, %fd1, %fd1;
	selp.f64	%fd41, %fd38, %fd36, %p4;
	setp.geu.f32	%p5, %f1, 0f4090CC00;
	@%p5 bra 	BB43_4;

	shr.u32 	%r11, %r1, 31;
	add.s32 	%r12, %r1, %r11;
	shr.s32 	%r13, %r12, 1;
	shl.b32 	%r14, %r13, 20;
	add.s32 	%r15, %r14, %r3;
	mov.b64 	%fd39, {%r2, %r15};
	sub.s32 	%r16, %r1, %r13;
	shl.b32 	%r17, %r16, 20;
	add.s32 	%r18, %r17, 1072693248;
	mov.u32 	%r19, 0;
	mov.b64 	%fd40, {%r19, %r18};
	mul.f64 	%fd41, %fd39, %fd40;

BB43_4:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd41;

BB43_5:
	ret;
}

	// .globl	vec_exp
.visible .entry vec_exp(
	.param .u64 vec_exp_param_0,
	.param .u64 vec_exp_param_1,
	.param .u64 vec_exp_param_2
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<3>;
	.reg .b32 	%r<20>;
	.reg .f64 	%fd<42>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_exp_param_0];
	ld.param.u64 	%rd2, [vec_exp_param_1];
	ld.param.u64 	%rd3, [vec_exp_param_2];
	mov.u32 	%r4, %tid.x;
	mov.u32 	%r5, %ntid.x;
	mov.u32 	%r6, %ctaid.x;
	mad.lo.s32 	%r7, %r5, %r6, %r4;
	cvt.s64.s32	%rd1, %r7;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB44_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	mov.f64 	%fd6, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd7, %fd1, %fd6;
	mov.f64 	%fd8, 0d4338000000000000;
	add.rn.f64 	%fd9, %fd7, %fd8;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r1, %temp}, %fd9;
	}
	mov.f64 	%fd10, 0dC338000000000000;
	add.rn.f64 	%fd11, %fd9, %fd10;
	mov.f64 	%fd12, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd13, %fd11, %fd12, %fd1;
	mov.f64 	%fd14, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd15, %fd11, %fd14, %fd13;
	mov.f64 	%fd16, 0d3E928AF3FCA213EA;
	mov.f64 	%fd17, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd18, %fd17, %fd15, %fd16;
	mov.f64 	%fd19, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd20, %fd18, %fd15, %fd19;
	mov.f64 	%fd21, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd22, %fd20, %fd15, %fd21;
	mov.f64 	%fd23, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd24, %fd22, %fd15, %fd23;
	mov.f64 	%fd25, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd26, %fd24, %fd15, %fd25;
	mov.f64 	%fd27, 0d3F81111111122322;
	fma.rn.f64 	%fd28, %fd26, %fd15, %fd27;
	mov.f64 	%fd29, 0d3FA55555555502A1;
	fma.rn.f64 	%fd30, %fd28, %fd15, %fd29;
	mov.f64 	%fd31, 0d3FC5555555555511;
	fma.rn.f64 	%fd32, %fd30, %fd15, %fd31;
	mov.f64 	%fd33, 0d3FE000000000000B;
	fma.rn.f64 	%fd34, %fd32, %fd15, %fd33;
	mov.f64 	%fd35, 0d3FF0000000000000;
	fma.rn.f64 	%fd36, %fd34, %fd15, %fd35;
	fma.rn.f64 	%fd37, %fd36, %fd15, %fd35;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r2, %temp}, %fd37;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r3}, %fd37;
	}
	shl.b32 	%r8, %r1, 20;
	add.s32 	%r9, %r3, %r8;
	mov.b64 	%fd41, {%r2, %r9};
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r10}, %fd1;
	}
	mov.b32 	 %f2, %r10;
	abs.f32 	%f1, %f2;
	setp.lt.f32	%p2, %f1, 0f4086232B;
	@%p2 bra 	BB44_4;

	setp.lt.f64	%p3, %fd1, 0d0000000000000000;
	add.f64 	%fd38, %fd1, 0d7FF0000000000000;
	selp.f64	%fd41, 0d0000000000000000, %fd38, %p3;
	setp.geu.f32	%p4, %f1, 0f40874800;
	@%p4 bra 	BB44_4;

	shr.u32 	%r11, %r1, 31;
	add.s32 	%r12, %r1, %r11;
	shr.s32 	%r13, %r12, 1;
	shl.b32 	%r14, %r13, 20;
	add.s32 	%r15, %r14, %r3;
	mov.b64 	%fd39, {%r2, %r15};
	sub.s32 	%r16, %r1, %r13;
	shl.b32 	%r17, %r16, 20;
	add.s32 	%r18, %r17, 1072693248;
	mov.u32 	%r19, 0;
	mov.b64 	%fd40, {%r19, %r18};
	mul.f64 	%fd41, %fd39, %fd40;

BB44_4:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd41;

BB44_5:
	ret;
}

	// .globl	vec_expm1
.visible .entry vec_expm1(
	.param .u64 vec_expm1_param_0,
	.param .u64 vec_expm1_param_1,
	.param .u64 vec_expm1_param_2
)
{
	.reg .pred 	%p<10>;
	.reg .b32 	%r<15>;
	.reg .f64 	%fd<49>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_expm1_param_0];
	ld.param.u64 	%rd2, [vec_expm1_param_1];
	ld.param.u64 	%rd3, [vec_expm1_param_2];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r5, %r3, %r4, %r2;
	cvt.s64.s32	%rd1, %r5;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB45_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	setp.lt.u32	%p2, %r1, 1082535491;
	setp.lt.s32	%p3, %r1, -1068859392;
	or.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB45_3;
	bra.uni 	BB45_2;

BB45_3:
	mov.f64 	%fd8, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd9, %fd1, %fd8;
	mov.f64 	%fd10, 0d4338000000000000;
	add.rn.f64 	%fd11, %fd9, %fd10;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r6, %temp}, %fd11;
	}
	mov.f64 	%fd12, 0dC338000000000000;
	add.rn.f64 	%fd13, %fd11, %fd12;
	mov.f64 	%fd14, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd15, %fd13, %fd14, %fd1;
	mov.f64 	%fd16, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd17, %fd13, %fd16, %fd15;
	add.s32 	%r7, %r1, %r1;
	setp.lt.u32	%p7, %r7, 2142496327;
	selp.b32	%r8, 0, %r6, %p7;
	selp.f64	%fd18, %fd1, %fd17, %p7;
	mov.f64 	%fd19, 0d3E5AF86D8EBD13CD;
	mov.f64 	%fd20, 0d3E21F4076ACD15B6;
	fma.rn.f64 	%fd21, %fd20, %fd18, %fd19;
	mov.f64 	%fd22, 0d3E927E5092BA033D;
	fma.rn.f64 	%fd23, %fd21, %fd18, %fd22;
	mov.f64 	%fd24, 0d3EC71DDE6C5F9DA1;
	fma.rn.f64 	%fd25, %fd23, %fd18, %fd24;
	mov.f64 	%fd26, 0d3EFA01A018D034E6;
	fma.rn.f64 	%fd27, %fd25, %fd18, %fd26;
	mov.f64 	%fd28, 0d3F2A01A01B3B6940;
	fma.rn.f64 	%fd29, %fd27, %fd18, %fd28;
	mov.f64 	%fd30, 0d3F56C16C16C1B5DD;
	fma.rn.f64 	%fd31, %fd29, %fd18, %fd30;
	mov.f64 	%fd32, 0d3F8111111110F74D;
	fma.rn.f64 	%fd33, %fd31, %fd18, %fd32;
	mov.f64 	%fd34, 0d3FA555555555554D;
	fma.rn.f64 	%fd35, %fd33, %fd18, %fd34;
	mov.f64 	%fd36, 0d3FC5555555555557;
	fma.rn.f64 	%fd37, %fd35, %fd18, %fd36;
	mov.f64 	%fd38, 0d3FE0000000000000;
	fma.rn.f64 	%fd39, %fd37, %fd18, %fd38;
	mul.f64 	%fd40, %fd18, %fd39;
	fma.rn.f64 	%fd41, %fd40, %fd18, %fd18;
	setp.eq.s32	%p8, %r8, 1024;
	selp.b32	%r9, -1, 0, %p8;
	add.s32 	%r10, %r9, %r8;
	shl.b32 	%r11, %r10, 20;
	add.s32 	%r12, %r11, 1072693248;
	mov.u32 	%r13, 0;
	mov.b64 	%fd42, {%r13, %r12};
	mov.u32 	%r14, 1072693248;
	mov.b64 	%fd43, {%r13, %r14};
	sub.f64 	%fd44, %fd42, %fd43;
	fma.rn.f64 	%fd45, %fd41, %fd42, %fd44;
	add.f64 	%fd46, %fd45, %fd45;
	selp.f64	%fd47, %fd46, %fd45, %p8;
	setp.eq.s32	%p9, %r7, 0;
	selp.f64	%fd48, %fd18, %fd47, %p9;
	bra.uni 	BB45_4;

BB45_2:
	setp.lt.s32	%p5, %r1, 0;
	selp.f64	%fd5, 0dBFF0000000000000, 0d7FF0000000000000, %p5;
	abs.f64 	%fd6, %fd1;
	setp.gtu.f64	%p6, %fd6, 0d7FF0000000000000;
	add.f64 	%fd7, %fd1, %fd1;
	selp.f64	%fd48, %fd7, %fd5, %p6;

BB45_4:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd48;

BB45_5:
	ret;
}

	// .globl	vec_fabs
.visible .entry vec_fabs(
	.param .u64 vec_fabs_param_0,
	.param .u64 vec_fabs_param_1,
	.param .u64 vec_fabs_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_fabs_param_0];
	ld.param.u64 	%rd2, [vec_fabs_param_1];
	ld.param.u64 	%rd3, [vec_fabs_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB46_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	abs.f64 	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB46_2:
	ret;
}

	// .globl	vec_floor
.visible .entry vec_floor(
	.param .u64 vec_floor_param_0,
	.param .u64 vec_floor_param_1,
	.param .u64 vec_floor_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_floor_param_0];
	ld.param.u64 	%rd2, [vec_floor_param_1];
	ld.param.u64 	%rd3, [vec_floor_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB47_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	cvt.rmi.f64.f64	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB47_2:
	ret;
}

	// .globl	vec_j0
.visible .entry vec_j0(
	.param .u64 vec_j0_param_0,
	.param .u64 vec_j0_param_1,
	.param .u64 vec_j0_param_2
)
{
	.local .align 4 .b8 	__local_depot48[8];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<11>;
	.reg .b32 	%r<22>;
	.reg .f64 	%fd<218>;
	.reg .b64 	%rd<23>;


	mov.u64 	%rd22, __local_depot48;
	cvta.local.u64 	%SP, %rd22;
	ld.param.u64 	%rd6, [vec_j0_param_0];
	ld.param.u64 	%rd4, [vec_j0_param_1];
	ld.param.u64 	%rd5, [vec_j0_param_2];
	add.u64 	%rd7, %SP, 0;
	cvta.to.local.u64 	%rd1, %rd7;
	add.u64 	%rd8, %SP, 4;
	cvta.to.local.u64 	%rd2, %rd8;
	mov.u32 	%r8, %ntid.x;
	mov.u32 	%r9, %ctaid.x;
	mov.u32 	%r10, %tid.x;
	mad.lo.s32 	%r11, %r8, %r9, %r10;
	cvt.s64.s32	%rd3, %r11;
	setp.ge.u64	%p1, %rd3, %rd6;
	@%p1 bra 	BB48_20;

	cvta.to.global.u64 	%rd9, %rd5;
	shl.b64 	%rd10, %rd3, 3;
	add.s64 	%rd11, %rd9, %rd10;
	ld.global.f64 	%fd25, [%rd11];
	abs.f64 	%fd1, %fd25;
	setp.gtu.f64	%p2, %fd1, 0d400FB319F277BBE5;
	@%p2 bra 	BB48_3;
	bra.uni 	BB48_2;

BB48_3:
	setp.gtu.f64	%p3, %fd1, 0d401C58FD1A62F5EC;
	@%p3 bra 	BB48_5;
	bra.uni 	BB48_4;

BB48_5:
	setp.gtu.f64	%p4, %fd1, 0d402471FCB6A7A8C0;
	@%p4 bra 	BB48_7;
	bra.uni 	BB48_6;

BB48_7:
	abs.f64 	%fd132, %fd1;
	mov.f64 	%fd217, 0d0000000000000000;
	setp.eq.f64	%p5, %fd132, 0d7FF0000000000000;
	@%p5 bra 	BB48_19;

	// inline asm
	rcp.approx.ftz.f64 %fd133,%fd1;
	// inline asm
	neg.f64 	%fd135, %fd1;
	mov.f64 	%fd136, 0d3FF0000000000000;
	fma.rn.f64 	%fd137, %fd135, %fd133, %fd136;
	fma.rn.f64 	%fd138, %fd137, %fd137, %fd137;
	fma.rn.f64 	%fd139, %fd138, %fd133, %fd133;
	mul.f64 	%fd140, %fd139, %fd139;
	mov.f64 	%fd141, 0d409927467A655012;
	mov.f64 	%fd142, 0dC0D115CB8C11A9DC;
	fma.rn.f64 	%fd143, %fd142, %fd140, %fd141;
	mov.f64 	%fd144, 0dC05751787E247BD4;
	fma.rn.f64 	%fd145, %fd143, %fd140, %fd144;
	mov.f64 	%fd146, 0d401704C4E5FC36B2;
	fma.rn.f64 	%fd147, %fd145, %fd140, %fd146;
	mov.f64 	%fd148, 0dBFE15B747A2FD531;
	fma.rn.f64 	%fd149, %fd147, %fd140, %fd148;
	mov.f64 	%fd150, 0d3FBA7FEACF6CB79B;
	fma.rn.f64 	%fd151, %fd149, %fd140, %fd150;
	mov.f64 	%fd152, 0dBFAFFFFFEDDCF548;
	fma.rn.f64 	%fd153, %fd151, %fd140, %fd152;
	mov.f64 	%fd154, 0d3FEFFFFFFFFFC9E5;
	fma.rn.f64 	%fd155, %fd153, %fd140, %fd154;
	mov.f64 	%fd156, 0d410ECD4523B12B84;
	mov.f64 	%fd157, 0dC14602FE1C34685E;
	fma.rn.f64 	%fd158, %fd157, %fd140, %fd156;
	mov.f64 	%fd159, 0dC0C7A2FC1972F05A;
	fma.rn.f64 	%fd160, %fd158, %fd140, %fd159;
	mov.f64 	%fd161, 0d407EBA131F7E5BEB;
	fma.rn.f64 	%fd162, %fd160, %fd140, %fd161;
	mov.f64 	%fd163, 0dC0373B92E6E7CC7D;
	fma.rn.f64 	%fd164, %fd162, %fd140, %fd163;
	mov.f64 	%fd165, 0d3FFA31BEE63A2F08;
	fma.rn.f64 	%fd166, %fd164, %fd140, %fd165;
	mov.f64 	%fd167, 0dBFCAD320104D5D05;
	fma.rn.f64 	%fd168, %fd166, %fd140, %fd167;
	mov.f64 	%fd169, 0d3FB0AAAA9C76D07E;
	fma.rn.f64 	%fd170, %fd168, %fd140, %fd169;
	mov.f64 	%fd171, 0dBFBFFFFFFFFDACEC;
	fma.rn.f64 	%fd172, %fd170, %fd140, %fd171;
	fma.rn.f64 	%fd5, %fd172, %fd139, %fd1;
	rsqrt.approx.f64 	%fd173, %fd1;
	mul.f64 	%fd174, %fd173, 0d3FE9884533D43651;
	mul.f64 	%fd6, %fd155, %fd174;
	mul.f64 	%fd175, %fd5, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r20, %fd175;
	st.local.u32 	[%rd2], %r20;
	cvt.rn.f64.s32	%fd176, %r20;
	neg.f64 	%fd177, %fd176;
	mov.f64 	%fd178, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd179, %fd177, %fd178, %fd5;
	mov.f64 	%fd180, 0d3C91A62633145C00;
	fma.rn.f64 	%fd181, %fd177, %fd180, %fd179;
	mov.f64 	%fd182, 0d397B839A252049C0;
	fma.rn.f64 	%fd213, %fd177, %fd182, %fd181;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r12}, %fd5;
	}
	and.b32  	%r13, %r12, 2145386496;
	setp.lt.u32	%p6, %r13, 1105199104;
	@%p6 bra 	BB48_10;

	add.u64 	%rd21, %SP, 4;
	// Callseq Start 1
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd5;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd21;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd213, [retval0+0];
	
	//{
	}// Callseq End 1
	ld.local.u32 	%r20, [%rd2];

BB48_10:
	and.b32  	%r14, %r20, 3;
	cvt.rn.f64.s32	%fd183, %r14;
	add.f64 	%fd184, %fd213, 0dBFE921FB54442D18;
	fma.rn.f64 	%fd214, %fd183, 0d3FF921FB54442D18, %fd184;
	abs.f64 	%fd185, %fd214;
	setp.neu.f64	%p7, %fd185, 0d7FF0000000000000;
	@%p7 bra 	BB48_12;

	mov.f64 	%fd186, 0d0000000000000000;
	mul.rn.f64 	%fd214, %fd214, %fd186;

BB48_12:
	mov.f64 	%fd212, 0d397B839A252049C0;
	mov.f64 	%fd211, 0d3C91A62633145C00;
	mov.f64 	%fd210, 0d3FF921FB54442D18;
	mul.f64 	%fd187, %fd214, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r21, %fd187;
	st.local.u32 	[%rd1], %r21;
	cvt.rn.f64.s32	%fd188, %r21;
	neg.f64 	%fd189, %fd188;
	fma.rn.f64 	%fd191, %fd189, %fd210, %fd214;
	fma.rn.f64 	%fd193, %fd189, %fd211, %fd191;
	fma.rn.f64 	%fd215, %fd189, %fd212, %fd193;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd214;
	}
	and.b32  	%r16, %r15, 2145386496;
	setp.lt.u32	%p8, %r16, 1105199104;
	@%p8 bra 	BB48_14;

	add.u64 	%rd20, %SP, 0;
	// Callseq Start 2
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd214;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd20;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd215, [retval0+0];
	
	//{
	}// Callseq End 2
	ld.local.u32 	%r21, [%rd1];

BB48_14:
	add.s32 	%r7, %r21, 1;
	and.b32  	%r17, %r7, 1;
	shl.b32 	%r18, %r17, 3;
	setp.eq.s32	%p9, %r17, 0;
	selp.f64	%fd195, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p9;
	mul.wide.u32 	%rd14, %r18, 8;
	mov.u64 	%rd15, __cudart_sin_cos_coeffs;
	add.s64 	%rd16, %rd14, %rd15;
	ld.const.f64 	%fd196, [%rd16+8];
	mul.rn.f64 	%fd16, %fd215, %fd215;
	fma.rn.f64 	%fd197, %fd195, %fd16, %fd196;
	ld.const.f64 	%fd198, [%rd16+16];
	fma.rn.f64 	%fd199, %fd197, %fd16, %fd198;
	ld.const.f64 	%fd200, [%rd16+24];
	fma.rn.f64 	%fd201, %fd199, %fd16, %fd200;
	ld.const.f64 	%fd202, [%rd16+32];
	fma.rn.f64 	%fd203, %fd201, %fd16, %fd202;
	ld.const.f64 	%fd204, [%rd16+40];
	fma.rn.f64 	%fd205, %fd203, %fd16, %fd204;
	ld.const.f64 	%fd206, [%rd16+48];
	fma.rn.f64 	%fd17, %fd205, %fd16, %fd206;
	fma.rn.f64 	%fd216, %fd17, %fd215, %fd215;
	@%p9 bra 	BB48_16;

	fma.rn.f64 	%fd216, %fd17, %fd16, %fd136;

BB48_16:
	and.b32  	%r19, %r7, 2;
	setp.eq.s32	%p10, %r19, 0;
	@%p10 bra 	BB48_18;

	mov.f64 	%fd208, 0d0000000000000000;
	mov.f64 	%fd209, 0dBFF0000000000000;
	fma.rn.f64 	%fd216, %fd216, %fd209, %fd208;

BB48_18:
	mul.f64 	%fd217, %fd6, %fd216;
	bra.uni 	BB48_19;

BB48_2:
	add.f64 	%fd26, %fd1, 0dC0033D152E971B40;
	add.f64 	%fd27, %fd26, 0d3CA0F539D7DA258E;
	mov.f64 	%fd28, 0dBCFCF8F9A8C294BC;
	mov.f64 	%fd29, 0dBCC0D18564C48C61;
	fma.rn.f64 	%fd30, %fd29, %fd27, %fd28;
	mov.f64 	%fd31, 0d3D3FAB983CAE498B;
	fma.rn.f64 	%fd32, %fd30, %fd27, %fd31;
	mov.f64 	%fd33, 0d3D7CD7C018579B88;
	fma.rn.f64 	%fd34, %fd32, %fd27, %fd33;
	mov.f64 	%fd35, 0dBDBBDD2342D64FDD;
	fma.rn.f64 	%fd36, %fd34, %fd27, %fd35;
	mov.f64 	%fd37, 0dBDF5C2D9416B1E2B;
	fma.rn.f64 	%fd38, %fd36, %fd27, %fd37;
	mov.f64 	%fd39, 0d3E32951D73174DD5;
	fma.rn.f64 	%fd40, %fd38, %fd27, %fd39;
	mov.f64 	%fd41, 0d3E67FF99802CAEB5;
	fma.rn.f64 	%fd42, %fd40, %fd27, %fd41;
	mov.f64 	%fd43, 0dBEA1CCE305C4C9F7;
	fma.rn.f64 	%fd44, %fd42, %fd27, %fd43;
	mov.f64 	%fd45, 0dBED232C77E29E1BB;
	fma.rn.f64 	%fd46, %fd44, %fd27, %fd45;
	mov.f64 	%fd47, 0d3F06ED3B9F0EF757;
	fma.rn.f64 	%fd48, %fd46, %fd27, %fd47;
	mov.f64 	%fd49, 0d3F315382BA096A62;
	fma.rn.f64 	%fd50, %fd48, %fd27, %fd49;
	mov.f64 	%fd51, 0dBF61F992590D1AE4;
	fma.rn.f64 	%fd52, %fd50, %fd27, %fd51;
	mov.f64 	%fd53, 0dBF81BB1CBE1A465F;
	fma.rn.f64 	%fd54, %fd52, %fd27, %fd53;
	mov.f64 	%fd55, 0d3FACFAE864368D84;
	fma.rn.f64 	%fd56, %fd54, %fd27, %fd55;
	mov.f64 	%fd57, 0d3FBBA1DEEA0294A3;
	fma.rn.f64 	%fd58, %fd56, %fd27, %fd57;
	mov.f64 	%fd59, 0dBFE09CDB36551280;
	fma.rn.f64 	%fd60, %fd58, %fd27, %fd59;
	mul.f64 	%fd217, %fd27, %fd60;
	bra.uni 	BB48_19;

BB48_4:
	add.f64 	%fd61, %fd1, 0dC016148F5B2C2E45;
	add.f64 	%fd62, %fd61, 0dBC975054CD60A517;
	mov.f64 	%fd63, 0d3CF83FD1F333EB61;
	mov.f64 	%fd64, 0d3CBCB0A8F126B343;
	fma.rn.f64 	%fd65, %fd64, %fd62, %fd63;
	mov.f64 	%fd66, 0dBD4100E33E3FB413;
	fma.rn.f64 	%fd67, %fd65, %fd62, %fd66;
	mov.f64 	%fd68, 0dBD7846076D004627;
	fma.rn.f64 	%fd69, %fd67, %fd62, %fd68;
	mov.f64 	%fd70, 0d3DBE2F1D4F90720D;
	fma.rn.f64 	%fd71, %fd69, %fd62, %fd70;
	mov.f64 	%fd72, 0d3DF1D03B1E4A119B;
	fma.rn.f64 	%fd73, %fd71, %fd62, %fd72;
	mov.f64 	%fd74, 0dBE341D72B1B3BCE9;
	fma.rn.f64 	%fd75, %fd73, %fd62, %fd74;
	mov.f64 	%fd76, 0dBE62DA37CE2A9EF8;
	fma.rn.f64 	%fd77, %fd75, %fd62, %fd76;
	mov.f64 	%fd78, 0d3EA32E6D9974F763;
	fma.rn.f64 	%fd79, %fd77, %fd62, %fd78;
	mov.f64 	%fd80, 0d3ECAD77D744A1879;
	fma.rn.f64 	%fd81, %fd79, %fd62, %fd80;
	mov.f64 	%fd82, 0dBF0863F481A37337;
	fma.rn.f64 	%fd83, %fd81, %fd62, %fd82;
	mov.f64 	%fd84, 0dBF26F641F418F0F4;
	fma.rn.f64 	%fd85, %fd83, %fd62, %fd84;
	mov.f64 	%fd86, 0d3F627E31FE9A969E;
	fma.rn.f64 	%fd87, %fd85, %fd62, %fd86;
	mov.f64 	%fd88, 0d3F72F7FFE9025628;
	fma.rn.f64 	%fd89, %fd87, %fd62, %fd88;
	mov.f64 	%fd90, 0dBFAB2150CB41E8BF;
	fma.rn.f64 	%fd91, %fd89, %fd62, %fd90;
	mov.f64 	%fd92, 0dBF9F8F72E7A848DE;
	fma.rn.f64 	%fd93, %fd91, %fd62, %fd92;
	mov.f64 	%fd94, 0d3FD5C6E60A097823;
	fma.rn.f64 	%fd95, %fd93, %fd62, %fd94;
	mul.f64 	%fd217, %fd62, %fd95;
	bra.uni 	BB48_19;

BB48_6:
	add.f64 	%fd96, %fd1, 0dC0214EB56CCCDECA;
	add.f64 	%fd97, %fd96, 0d3CB51970714C7C25;
	mov.f64 	%fd98, 0dBCF4B3A71AAAC629;
	mov.f64 	%fd99, 0dBCBDB7FFCF659E24;
	fma.rn.f64 	%fd100, %fd99, %fd97, %fd98;
	mov.f64 	%fd101, 0d3D417EC150ECDCE7;
	fma.rn.f64 	%fd102, %fd100, %fd97, %fd101;
	mov.f64 	%fd103, 0d3D7438F5EA1D10B2;
	fma.rn.f64 	%fd104, %fd102, %fd97, %fd103;
	mov.f64 	%fd105, 0dBDBEDAE7EC2C9E87;
	fma.rn.f64 	%fd106, %fd104, %fd97, %fd105;
	mov.f64 	%fd107, 0dBDECADD2C4B91F58;
	fma.rn.f64 	%fd108, %fd106, %fd97, %fd107;
	mov.f64 	%fd109, 0d3E34582C8EE12204;
	fma.rn.f64 	%fd110, %fd108, %fd97, %fd109;
	mov.f64 	%fd111, 0d3E5CEDA451DD20F8;
	fma.rn.f64 	%fd112, %fd110, %fd97, %fd111;
	mov.f64 	%fd113, 0dBEA30E8CC3165E2F;
	fma.rn.f64 	%fd114, %fd112, %fd97, %fd113;
	mov.f64 	%fd115, 0dBEC3324842BB1A2E;
	fma.rn.f64 	%fd116, %fd114, %fd97, %fd115;
	mov.f64 	%fd117, 0d3F07800BC54FBDDB;
	fma.rn.f64 	%fd118, %fd116, %fd97, %fd117;
	mov.f64 	%fd119, 0d3F1D79605276949A;
	fma.rn.f64 	%fd120, %fd118, %fd97, %fd119;
	mov.f64 	%fd121, 0dBF60E0D60385A629;
	fma.rn.f64 	%fd122, %fd120, %fd97, %fd121;
	mov.f64 	%fd123, 0dBF648E63600D82F3;
	fma.rn.f64 	%fd124, %fd122, %fd97, %fd123;
	mov.f64 	%fd125, 0d3FA68B984EC6493A;
	fma.rn.f64 	%fd126, %fd124, %fd97, %fd125;
	mov.f64 	%fd127, 0d3F900F7FCF183E0B;
	fma.rn.f64 	%fd128, %fd126, %fd97, %fd127;
	mov.f64 	%fd129, 0dBFD15F7977A772D4;
	fma.rn.f64 	%fd130, %fd128, %fd97, %fd129;
	mul.f64 	%fd217, %fd97, %fd130;

BB48_19:
	cvta.to.global.u64 	%rd17, %rd4;
	add.s64 	%rd19, %rd17, %rd10;
	st.global.f64 	[%rd19], %fd217;

BB48_20:
	ret;
}

	// .globl	vec_j1
.visible .entry vec_j1(
	.param .u64 vec_j1_param_0,
	.param .u64 vec_j1_param_1,
	.param .u64 vec_j1_param_2
)
{
	.local .align 4 .b8 	__local_depot49[8];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<13>;
	.reg .b32 	%r<22>;
	.reg .f64 	%fd<217>;
	.reg .b64 	%rd<23>;


	mov.u64 	%rd22, __local_depot49;
	cvta.local.u64 	%SP, %rd22;
	ld.param.u64 	%rd5, [vec_j1_param_0];
	ld.param.u64 	%rd3, [vec_j1_param_1];
	ld.param.u64 	%rd4, [vec_j1_param_2];
	add.u64 	%rd6, %SP, 0;
	cvta.to.local.u64 	%rd1, %rd6;
	mov.u32 	%r8, %ntid.x;
	mov.u32 	%r9, %ctaid.x;
	mov.u32 	%r10, %tid.x;
	mad.lo.s32 	%r11, %r8, %r9, %r10;
	cvt.s64.s32	%rd2, %r11;
	setp.ge.u64	%p1, %rd2, %rd5;
	@%p1 bra 	BB49_20;

	cvta.to.global.u64 	%rd7, %rd4;
	shl.b64 	%rd8, %rd2, 3;
	add.s64 	%rd9, %rd7, %rd8;
	ld.global.f64 	%fd1, [%rd9];
	abs.f64 	%fd2, %fd1;
	setp.gtu.f64	%p2, %fd2, 0d400353AABAD7B784;
	@%p2 bra 	BB49_3;
	bra.uni 	BB49_2;

BB49_3:
	setp.gtu.f64	%p3, %fd2, 0d4015B1D0574614EA;
	@%p3 bra 	BB49_5;
	bra.uni 	BB49_4;

BB49_5:
	setp.gtu.f64	%p4, %fd2, 0d40213065E54C1AA9;
	@%p4 bra 	BB49_7;
	bra.uni 	BB49_6;

BB49_7:
	abs.f64 	%fd124, %fd2;
	mov.f64 	%fd216, 0d0000000000000000;
	setp.eq.f64	%p5, %fd124, 0d7FF0000000000000;
	@%p5 bra 	BB49_19;

	add.u64 	%rd10, %SP, 4;
	cvta.to.local.u64 	%rd11, %rd10;
	// inline asm
	rcp.approx.ftz.f64 %fd125,%fd2;
	// inline asm
	neg.f64 	%fd127, %fd2;
	mov.f64 	%fd128, 0d3FF0000000000000;
	fma.rn.f64 	%fd129, %fd127, %fd125, %fd128;
	fma.rn.f64 	%fd130, %fd129, %fd129, %fd129;
	fma.rn.f64 	%fd131, %fd130, %fd125, %fd125;
	mul.f64 	%fd132, %fd131, %fd131;
	mov.f64 	%fd133, 0dC099C06322A3F8BE;
	mov.f64 	%fd134, 0d40CD02EA3F2F6751;
	fma.rn.f64 	%fd135, %fd134, %fd132, %fd133;
	mov.f64 	%fd136, 0d405B89354DA77324;
	fma.rn.f64 	%fd137, %fd135, %fd132, %fd136;
	mov.f64 	%fd138, 0dC01E352294653188;
	fma.rn.f64 	%fd139, %fd137, %fd132, %fd138;
	mov.f64 	%fd140, 0d3FE9BC7DB16BD7A7;
	fma.rn.f64 	%fd141, %fd139, %fd132, %fd140;
	mov.f64 	%fd142, 0dBFC8BFE1C3A4F741;
	fma.rn.f64 	%fd143, %fd141, %fd132, %fd142;
	mov.f64 	%fd144, 0d3FC7FFFFF0D00BE2;
	fma.rn.f64 	%fd145, %fd143, %fd132, %fd144;
	mov.f64 	%fd146, 0d3FF00000000068CC;
	fma.rn.f64 	%fd147, %fd145, %fd132, %fd146;
	mov.f64 	%fd148, 0d415A30AC6857BEE0;
	mov.f64 	%fd149, 0dC18DA26B212FDC9A;
	fma.rn.f64 	%fd150, %fd149, %fd132, %fd148;
	mov.f64 	%fd151, 0dC11764222AD7C910;
	fma.rn.f64 	%fd152, %fd150, %fd132, %fd151;
	mov.f64 	%fd153, 0d40CEB02E0C306857;
	fma.rn.f64 	%fd154, %fd152, %fd132, %fd153;
	mov.f64 	%fd155, 0dC08351859FA2B23B;
	fma.rn.f64 	%fd156, %fd154, %fd132, %fd155;
	mov.f64 	%fd157, 0d403E65A07AF51F42;
	fma.rn.f64 	%fd158, %fd156, %fd132, %fd157;
	mov.f64 	%fd159, 0dC002F2B817F77A57;
	fma.rn.f64 	%fd160, %fd158, %fd132, %fd159;
	mov.f64 	%fd161, 0d3FD7BCC34DA069FD;
	fma.rn.f64 	%fd162, %fd160, %fd132, %fd161;
	mov.f64 	%fd163, 0dBFC4FFFFF8A44463;
	fma.rn.f64 	%fd164, %fd162, %fd132, %fd163;
	mov.f64 	%fd165, 0d3FD7FFFFFFFF5CD7;
	fma.rn.f64 	%fd166, %fd164, %fd132, %fd165;
	fma.rn.f64 	%fd6, %fd166, %fd131, %fd2;
	rsqrt.approx.f64 	%fd167, %fd2;
	mul.f64 	%fd168, %fd167, 0d3FE9884533D43651;
	mul.f64 	%fd7, %fd147, %fd168;
	mul.f64 	%fd169, %fd6, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r20, %fd169;
	st.local.u32 	[%rd11], %r20;
	cvt.rn.f64.s32	%fd170, %r20;
	neg.f64 	%fd171, %fd170;
	mov.f64 	%fd172, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd173, %fd171, %fd172, %fd6;
	mov.f64 	%fd174, 0d3C91A62633145C00;
	fma.rn.f64 	%fd175, %fd171, %fd174, %fd173;
	mov.f64 	%fd176, 0d397B839A252049C0;
	fma.rn.f64 	%fd212, %fd171, %fd176, %fd175;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r12}, %fd6;
	}
	and.b32  	%r13, %r12, 2145386496;
	setp.lt.u32	%p6, %r13, 1105199104;
	@%p6 bra 	BB49_10;

	// Callseq Start 3
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd6;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd10;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd212, [retval0+0];
	
	//{
	}// Callseq End 3
	ld.local.u32 	%r20, [%rd11];

BB49_10:
	and.b32  	%r14, %r20, 3;
	cvt.rn.f64.s32	%fd177, %r14;
	add.f64 	%fd178, %fd212, 0dC002D97C7F3321D2;
	fma.rn.f64 	%fd213, %fd177, 0d3FF921FB54442D18, %fd178;
	abs.f64 	%fd179, %fd213;
	setp.neu.f64	%p7, %fd179, 0d7FF0000000000000;
	@%p7 bra 	BB49_12;

	mov.f64 	%fd180, 0d0000000000000000;
	mul.rn.f64 	%fd213, %fd213, %fd180;

BB49_12:
	mov.f64 	%fd210, 0d397B839A252049C0;
	mov.f64 	%fd209, 0d3C91A62633145C00;
	mov.f64 	%fd208, 0d3FF921FB54442D18;
	mul.f64 	%fd181, %fd213, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r21, %fd181;
	st.local.u32 	[%rd1], %r21;
	cvt.rn.f64.s32	%fd182, %r21;
	neg.f64 	%fd183, %fd182;
	fma.rn.f64 	%fd185, %fd183, %fd208, %fd213;
	fma.rn.f64 	%fd187, %fd183, %fd209, %fd185;
	fma.rn.f64 	%fd214, %fd183, %fd210, %fd187;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd213;
	}
	and.b32  	%r16, %r15, 2145386496;
	setp.lt.u32	%p8, %r16, 1105199104;
	@%p8 bra 	BB49_14;

	add.u64 	%rd21, %SP, 0;
	// Callseq Start 4
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd213;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd21;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd214, [retval0+0];
	
	//{
	}// Callseq End 4
	ld.local.u32 	%r21, [%rd1];

BB49_14:
	add.s32 	%r7, %r21, 1;
	and.b32  	%r17, %r7, 1;
	shl.b32 	%r18, %r17, 3;
	setp.eq.s32	%p9, %r17, 0;
	selp.f64	%fd189, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p9;
	mul.wide.u32 	%rd15, %r18, 8;
	mov.u64 	%rd16, __cudart_sin_cos_coeffs;
	add.s64 	%rd17, %rd15, %rd16;
	ld.const.f64 	%fd190, [%rd17+8];
	mul.rn.f64 	%fd17, %fd214, %fd214;
	fma.rn.f64 	%fd191, %fd189, %fd17, %fd190;
	ld.const.f64 	%fd192, [%rd17+16];
	fma.rn.f64 	%fd193, %fd191, %fd17, %fd192;
	ld.const.f64 	%fd194, [%rd17+24];
	fma.rn.f64 	%fd195, %fd193, %fd17, %fd194;
	ld.const.f64 	%fd196, [%rd17+32];
	fma.rn.f64 	%fd197, %fd195, %fd17, %fd196;
	ld.const.f64 	%fd198, [%rd17+40];
	fma.rn.f64 	%fd199, %fd197, %fd17, %fd198;
	ld.const.f64 	%fd200, [%rd17+48];
	fma.rn.f64 	%fd18, %fd199, %fd17, %fd200;
	fma.rn.f64 	%fd215, %fd18, %fd214, %fd214;
	@%p9 bra 	BB49_16;

	mov.f64 	%fd211, 0d3FF0000000000000;
	fma.rn.f64 	%fd215, %fd18, %fd17, %fd211;

BB49_16:
	and.b32  	%r19, %r7, 2;
	setp.eq.s32	%p10, %r19, 0;
	@%p10 bra 	BB49_18;

	mov.f64 	%fd202, 0d0000000000000000;
	mov.f64 	%fd203, 0dBFF0000000000000;
	fma.rn.f64 	%fd215, %fd215, %fd203, %fd202;

BB49_18:
	mul.f64 	%fd216, %fd7, %fd215;
	bra.uni 	BB49_19;

BB49_2:
	mov.f64 	%fd26, 0dBD4DD167A0DC3F55;
	mov.f64 	%fd27, 0d3D020E4ADCDE2AD3;
	fma.rn.f64 	%fd28, %fd27, %fd2, %fd26;
	mov.f64 	%fd29, 0d3D5503F5A491E487;
	fma.rn.f64 	%fd30, %fd28, %fd2, %fd29;
	mov.f64 	%fd31, 0d3DC1F29940C2403A;
	fma.rn.f64 	%fd32, %fd30, %fd2, %fd31;
	mov.f64 	%fd33, 0d3D84CF9302EACDEF;
	fma.rn.f64 	%fd34, %fd32, %fd2, %fd33;
	mov.f64 	%fd35, 0dBE384A53DBBCA436;
	fma.rn.f64 	%fd36, %fd34, %fd2, %fd35;
	mov.f64 	%fd37, 0d3D9779BEE4F63BCC;
	fma.rn.f64 	%fd38, %fd36, %fd2, %fd37;
	mov.f64 	%fd39, 0d3EA6C160E414F3F0;
	fma.rn.f64 	%fd40, %fd38, %fd2, %fd39;
	mov.f64 	%fd41, 0d3D8F3D2F12430699;
	fma.rn.f64 	%fd42, %fd40, %fd2, %fd41;
	mov.f64 	%fd43, 0dBF0C71C72C0CED04;
	fma.rn.f64 	%fd44, %fd42, %fd2, %fd43;
	mov.f64 	%fd45, 0d3D659BCA506F1128;
	fma.rn.f64 	%fd46, %fd44, %fd2, %fd45;
	mov.f64 	%fd47, 0d3F65555555506982;
	fma.rn.f64 	%fd48, %fd46, %fd2, %fd47;
	mov.f64 	%fd49, 0d3D15BA0B425F1BFB;
	fma.rn.f64 	%fd50, %fd48, %fd2, %fd49;
	mov.f64 	%fd51, 0dBFB0000000000065;
	fma.rn.f64 	%fd52, %fd50, %fd2, %fd51;
	mov.f64 	%fd53, 0d3C8729A7253FB679;
	fma.rn.f64 	%fd54, %fd52, %fd2, %fd53;
	mov.f64 	%fd55, 0d3FE0000000000000;
	fma.rn.f64 	%fd56, %fd54, %fd2, %fd55;
	mul.f64 	%fd216, %fd2, %fd56;
	bra.uni 	BB49_19;

BB49_4:
	add.f64 	%fd57, %fd2, 0dC00EA75575AF6F09;
	add.f64 	%fd58, %fd57, 0d3CA60155A9D1B256;
	mov.f64 	%fd59, 0d3D41011A1DF02DAD;
	mov.f64 	%fd60, 0dBCF8D3CDBB60175E;
	fma.rn.f64 	%fd61, %fd60, %fd58, %fd59;
	mov.f64 	%fd62, 0d3D76013AC1E5E222;
	fma.rn.f64 	%fd63, %fd61, %fd58, %fd62;
	mov.f64 	%fd64, 0dBDBEC315D96D5F03;
	fma.rn.f64 	%fd65, %fd63, %fd58, %fd64;
	mov.f64 	%fd66, 0dBDF03BE1B4B57207;
	fma.rn.f64 	%fd67, %fd65, %fd58, %fd66;
	mov.f64 	%fd68, 0d3E345695F8B660F7;
	fma.rn.f64 	%fd69, %fd67, %fd58, %fd68;
	mov.f64 	%fd70, 0d3E617069FCFCFFF4;
	fma.rn.f64 	%fd71, %fd69, %fd58, %fd70;
	mov.f64 	%fd72, 0dBEA33825C36745EB;
	fma.rn.f64 	%fd73, %fd71, %fd58, %fd72;
	mov.f64 	%fd74, 0dBEC9799D4F90931B;
	fma.rn.f64 	%fd75, %fd73, %fd58, %fd74;
	mov.f64 	%fd76, 0d3F083A06E2F7DF13;
	fma.rn.f64 	%fd77, %fd75, %fd58, %fd76;
	mov.f64 	%fd78, 0d3F26E4C2D53A7CF6;
	fma.rn.f64 	%fd79, %fd77, %fd58, %fd78;
	mov.f64 	%fd80, 0dBF624B3409957B1C;
	fma.rn.f64 	%fd81, %fd79, %fd58, %fd80;
	mov.f64 	%fd82, 0dBF7537544C3325DF;
	fma.rn.f64 	%fd83, %fd81, %fd58, %fd82;
	mov.f64 	%fd84, 0d3FAB589D1DA138E2;
	fma.rn.f64 	%fd85, %fd83, %fd58, %fd84;
	mov.f64 	%fd86, 0d3FAAE8A39F51AD13;
	fma.rn.f64 	%fd87, %fd85, %fd58, %fd86;
	mov.f64 	%fd88, 0dBFD9C6CF582CBF7F;
	fma.rn.f64 	%fd89, %fd87, %fd58, %fd88;
	mul.f64 	%fd216, %fd58, %fd89;
	bra.uni 	BB49_19;

BB49_6:
	add.f64 	%fd90, %fd2, 0dC01C0FF5F3B47250;
	add.f64 	%fd91, %fd90, 0d3C9B226D9D243827;
	mov.f64 	%fd92, 0dBD40E8363DB649A9;
	mov.f64 	%fd93, 0d3CF3EB867515FAD6;
	fma.rn.f64 	%fd94, %fd93, %fd91, %fd92;
	mov.f64 	%fd95, 0dBD73B7DD4A6608FB;
	fma.rn.f64 	%fd96, %fd94, %fd91, %fd95;
	mov.f64 	%fd97, 0d3DBEC5E01482C750;
	fma.rn.f64 	%fd98, %fd96, %fd91, %fd97;
	mov.f64 	%fd99, 0d3DEC62BB9E882103;
	fma.rn.f64 	%fd100, %fd98, %fd91, %fd99;
	mov.f64 	%fd101, 0dBE34462EED732A23;
	fma.rn.f64 	%fd102, %fd100, %fd91, %fd101;
	mov.f64 	%fd103, 0dBE5D48DCAD7DC59B;
	fma.rn.f64 	%fd104, %fd102, %fd91, %fd103;
	mov.f64 	%fd105, 0d3EA3026DF29167E9;
	fma.rn.f64 	%fd106, %fd104, %fd91, %fd105;
	mov.f64 	%fd107, 0d3EC4255B0119666C;
	fma.rn.f64 	%fd108, %fd106, %fd91, %fd107;
	mov.f64 	%fd109, 0dBF0796A751B32693;
	fma.rn.f64 	%fd110, %fd108, %fd91, %fd109;
	mov.f64 	%fd111, 0dBF207358BBDBA284;
	fma.rn.f64 	%fd112, %fd110, %fd91, %fd111;
	mov.f64 	%fd113, 0d3F613FBC7D6927B1;
	fma.rn.f64 	%fd114, %fd112, %fd91, %fd113;
	mov.f64 	%fd115, 0d3F69A4B292E3DD75;
	fma.rn.f64 	%fd116, %fd114, %fd91, %fd115;
	mov.f64 	%fd117, 0dBFA80C83BDEEE4FB;
	fma.rn.f64 	%fd118, %fd116, %fd91, %fd117;
	mov.f64 	%fd119, 0dBF95E70DC60362BF;
	fma.rn.f64 	%fd120, %fd118, %fd91, %fd119;
	mov.f64 	%fd121, 0d3FD33518B3874E8A;
	fma.rn.f64 	%fd122, %fd120, %fd91, %fd121;
	mul.f64 	%fd216, %fd91, %fd122;

BB49_19:
	cvta.to.global.u64 	%rd18, %rd3;
	neg.f64 	%fd204, %fd216;
	setp.lt.f64	%p11, %fd1, 0d0000000000000000;
	selp.f64	%fd205, %fd204, %fd216, %p11;
	mul.f64 	%fd206, %fd1, 0d3FE0000000000000;
	setp.lt.f64	%p12, %fd2, 0d39B4484BFEEBC2A0;
	selp.f64	%fd207, %fd206, %fd205, %p12;
	add.s64 	%rd20, %rd18, %rd8;
	st.global.f64 	[%rd20], %fd207;

BB49_20:
	ret;
}

	// .globl	vec_lgamma
.visible .entry vec_lgamma(
	.param .u64 vec_lgamma_param_0,
	.param .u64 vec_lgamma_param_1,
	.param .u64 vec_lgamma_param_2
)
{
	.reg .pred 	%p<18>;
	.reg .b32 	%r<36>;
	.reg .f64 	%fd<105>;
	.reg .b64 	%rd<16>;


	ld.param.u64 	%rd4, [vec_lgamma_param_0];
	ld.param.u64 	%rd2, [vec_lgamma_param_1];
	ld.param.u64 	%rd3, [vec_lgamma_param_2];
	mov.u32 	%r13, %ntid.x;
	mov.u32 	%r14, %ctaid.x;
	mov.u32 	%r15, %tid.x;
	mad.lo.s32 	%r16, %r13, %r14, %r15;
	cvt.s64.s32	%rd1, %r16;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB50_23;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	abs.f64 	%fd101, %fd1;
	setp.gtu.f64	%p2, %fd101, 0d7FF0000000000000;
	@%p2 bra 	BB50_21;
	bra.uni 	BB50_2;

BB50_21:
	add.f64 	%fd104, %fd1, %fd1;
	bra.uni 	BB50_22;

BB50_2:
	// Callseq Start 5
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd101;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_lgamma_pos, 
	(
	param0
	);
	ld.param.f64	%fd3, [retval0+0];
	
	//{
	}// Callseq End 5
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r17}, %fd1;
	}
	setp.gt.s32	%p3, %r17, -1;
	mov.f64 	%fd104, %fd3;
	@%p3 bra 	BB50_22;

	cvt.rzi.f64.f64	%fd24, %fd101;
	setp.eq.f64	%p4, %fd101, %fd24;
	mov.f64 	%fd23, 0d7FF0000000000000;
	mov.f64 	%fd104, %fd23;
	@%p4 bra 	BB50_22;

	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd101;
	}
	setp.lt.s32	%p5, %r1, 1006632960;
	@%p5 bra 	BB50_10;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r18, %temp}, %fd101;
	}
	add.s32 	%r19, %r1, 1048576;
	mov.b64 	%fd25, {%r18, %r19};
	cvt.rni.f64.f64	%fd26, %fd25;
	cvt.rzi.s64.f64	%rd8, %fd26;
	cvt.u32.u64	%r2, %rd8;
	neg.f64 	%fd27, %fd26;
	mov.f64 	%fd28, 0d3FE0000000000000;
	fma.rn.f64 	%fd29, %fd27, %fd28, %fd101;
	mul.f64 	%fd30, %fd29, 0d3CA1A62633145C07;
	mov.f64 	%fd31, 0d400921FB54442D18;
	fma.rn.f64 	%fd32, %fd29, %fd31, %fd30;
	and.b64  	%rd9, %rd8, 1;
	mul.rn.f64 	%fd4, %fd32, %fd32;
	setp.eq.b64	%p6, %rd9, 1;
	not.pred 	%p7, %p6;
	selp.f64	%fd33, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p7;
	shl.b64 	%rd10, %rd9, 6;
	mov.u64 	%rd11, __cudart_sin_cos_coeffs;
	add.s64 	%rd12, %rd10, %rd11;
	ld.const.f64 	%fd34, [%rd12+8];
	fma.rn.f64 	%fd35, %fd33, %fd4, %fd34;
	ld.const.f64 	%fd36, [%rd12+16];
	fma.rn.f64 	%fd37, %fd35, %fd4, %fd36;
	ld.const.f64 	%fd38, [%rd12+24];
	fma.rn.f64 	%fd39, %fd37, %fd4, %fd38;
	ld.const.f64 	%fd40, [%rd12+32];
	fma.rn.f64 	%fd41, %fd39, %fd4, %fd40;
	ld.const.f64 	%fd42, [%rd12+40];
	fma.rn.f64 	%fd43, %fd41, %fd4, %fd42;
	ld.const.f64 	%fd44, [%rd12+48];
	fma.rn.f64 	%fd5, %fd43, %fd4, %fd44;
	fma.rn.f64 	%fd100, %fd5, %fd32, %fd32;
	@%p7 bra 	BB50_7;

	mov.f64 	%fd45, 0d3FF0000000000000;
	fma.rn.f64 	%fd100, %fd5, %fd4, %fd45;

BB50_7:
	and.b32  	%r20, %r2, 2;
	setp.eq.s32	%p8, %r20, 0;
	@%p8 bra 	BB50_9;

	mov.f64 	%fd46, 0d0000000000000000;
	mov.f64 	%fd47, 0dBFF0000000000000;
	fma.rn.f64 	%fd100, %fd100, %fd47, %fd46;

BB50_9:
	abs.f64 	%fd48, %fd100;
	mul.f64 	%fd49, %fd101, %fd48;
	div.rn.f64 	%fd101, %fd31, %fd49;

BB50_10:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r32}, %fd101;
	}
	setp.lt.s32	%p9, %r32, 2146435072;
	setp.gt.f64	%p10, %fd101, 0d0000000000000000;
	and.pred  	%p11, %p10, %p9;
	@%p11 bra 	BB50_15;
	bra.uni 	BB50_11;

BB50_15:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r33, %temp}, %fd101;
	}
	mov.u32 	%r34, -1023;
	setp.gt.s32	%p15, %r32, 1048575;
	@%p15 bra 	BB50_17;

	mul.f64 	%fd53, %fd101, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r32}, %fd53;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r33, %temp}, %fd53;
	}
	mov.u32 	%r34, -1077;

BB50_17:
	shr.u32 	%r23, %r32, 20;
	add.s32 	%r35, %r34, %r23;
	and.b32  	%r24, %r32, -2146435073;
	or.b32  	%r25, %r24, 1072693248;
	mov.b64 	%fd102, {%r33, %r25};
	setp.lt.s32	%p16, %r25, 1073127583;
	@%p16 bra 	BB50_19;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r26, %temp}, %fd102;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r27}, %fd102;
	}
	add.s32 	%r28, %r27, -1048576;
	mov.b64 	%fd102, {%r26, %r28};
	add.s32 	%r35, %r35, 1;

BB50_19:
	add.f64 	%fd55, %fd102, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd54,%fd55;
	// inline asm
	neg.f64 	%fd56, %fd55;
	mov.f64 	%fd57, 0d3FF0000000000000;
	fma.rn.f64 	%fd58, %fd56, %fd54, %fd57;
	fma.rn.f64 	%fd59, %fd58, %fd58, %fd58;
	fma.rn.f64 	%fd60, %fd59, %fd54, %fd54;
	add.f64 	%fd61, %fd102, 0dBFF0000000000000;
	mul.f64 	%fd62, %fd61, %fd60;
	fma.rn.f64 	%fd63, %fd61, %fd60, %fd62;
	mul.f64 	%fd64, %fd63, %fd63;
	mov.f64 	%fd65, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd66, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd67, %fd66, %fd64, %fd65;
	mov.f64 	%fd68, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd69, %fd67, %fd64, %fd68;
	mov.f64 	%fd70, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd71, %fd69, %fd64, %fd70;
	mov.f64 	%fd72, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd73, %fd71, %fd64, %fd72;
	mov.f64 	%fd74, 0d3F624924923BE72D;
	fma.rn.f64 	%fd75, %fd73, %fd64, %fd74;
	mov.f64 	%fd76, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd77, %fd75, %fd64, %fd76;
	mov.f64 	%fd78, 0d3FB5555555555554;
	fma.rn.f64 	%fd79, %fd77, %fd64, %fd78;
	sub.f64 	%fd80, %fd61, %fd63;
	add.f64 	%fd81, %fd80, %fd80;
	neg.f64 	%fd82, %fd63;
	fma.rn.f64 	%fd83, %fd82, %fd61, %fd81;
	mul.f64 	%fd84, %fd60, %fd83;
	mul.f64 	%fd85, %fd64, %fd79;
	fma.rn.f64 	%fd86, %fd85, %fd63, %fd84;
	xor.b32  	%r29, %r35, -2147483648;
	mov.u32 	%r30, 1127219200;
	mov.b64 	%fd87, {%r29, %r30};
	mov.u32 	%r31, -2147483648;
	mov.b64 	%fd88, {%r31, %r30};
	sub.f64 	%fd89, %fd87, %fd88;
	mov.f64 	%fd90, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd91, %fd89, %fd90, %fd63;
	neg.f64 	%fd92, %fd89;
	fma.rn.f64 	%fd93, %fd92, %fd90, %fd91;
	sub.f64 	%fd94, %fd93, %fd63;
	sub.f64 	%fd95, %fd86, %fd94;
	mov.f64 	%fd96, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd97, %fd89, %fd96, %fd95;
	add.f64 	%fd103, %fd91, %fd97;
	bra.uni 	BB50_20;

BB50_11:
	abs.f64 	%fd51, %fd101;
	setp.gtu.f64	%p12, %fd51, 0d7FF0000000000000;
	@%p12 bra 	BB50_14;
	bra.uni 	BB50_12;

BB50_14:
	add.f64 	%fd103, %fd101, %fd101;
	bra.uni 	BB50_20;

BB50_12:
	setp.eq.f64	%p13, %fd101, 0d0000000000000000;
	mov.f64 	%fd103, 0dFFF0000000000000;
	@%p13 bra 	BB50_20;

	setp.eq.f64	%p14, %fd101, 0d7FF0000000000000;
	selp.f64	%fd103, %fd101, 0dFFF8000000000000, %p14;

BB50_20:
	sub.f64 	%fd98, %fd103, %fd3;
	neg.f64 	%fd99, %fd103;
	selp.f64	%fd104, %fd99, %fd98, %p5;

BB50_22:
	cvta.to.global.u64 	%rd13, %rd2;
	add.s64 	%rd15, %rd13, %rd6;
	st.global.f64 	[%rd15], %fd104;

BB50_23:
	ret;
}

	// .globl	vec_log10
.visible .entry vec_log10(
	.param .u64 vec_log10_param_0,
	.param .u64 vec_log10_param_1,
	.param .u64 vec_log10_param_2
)
{
	.reg .pred 	%p<10>;
	.reg .b32 	%r<30>;
	.reg .f64 	%fd<61>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_log10_param_0];
	ld.param.u64 	%rd2, [vec_log10_param_1];
	ld.param.u64 	%rd3, [vec_log10_param_2];
	mov.u32 	%r11, %tid.x;
	mov.u32 	%r12, %ntid.x;
	mov.u32 	%r13, %ctaid.x;
	mad.lo.s32 	%r14, %r12, %r13, %r11;
	cvt.s64.s32	%rd1, %r14;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB51_12;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd1;
	}
	setp.gt.f64	%p2, %fd1, 0d0000000000000000;
	setp.lt.s32	%p3, %r26, 2146435072;
	and.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB51_6;
	bra.uni 	BB51_2;

BB51_6:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r27, %temp}, %fd1;
	}
	mov.u32 	%r28, -1023;
	setp.gt.s32	%p8, %r26, 1048575;
	@%p8 bra 	BB51_8;

	mul.f64 	%fd11, %fd1, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd11;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r27, %temp}, %fd11;
	}
	mov.u32 	%r28, -1077;

BB51_8:
	shr.u32 	%r17, %r26, 20;
	add.s32 	%r29, %r28, %r17;
	and.b32  	%r18, %r26, -2146435073;
	or.b32  	%r19, %r18, 1072693248;
	mov.b64 	%fd59, {%r27, %r19};
	setp.lt.s32	%p9, %r19, 1073127583;
	@%p9 bra 	BB51_10;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r20, %temp}, %fd59;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r21}, %fd59;
	}
	add.s32 	%r22, %r21, -1048576;
	mov.b64 	%fd59, {%r20, %r22};
	add.s32 	%r29, %r29, 1;

BB51_10:
	add.f64 	%fd13, %fd59, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd12,%fd13;
	// inline asm
	neg.f64 	%fd14, %fd13;
	mov.f64 	%fd15, 0d3FF0000000000000;
	fma.rn.f64 	%fd16, %fd14, %fd12, %fd15;
	fma.rn.f64 	%fd17, %fd16, %fd16, %fd16;
	fma.rn.f64 	%fd18, %fd17, %fd12, %fd12;
	add.f64 	%fd19, %fd59, 0dBFF0000000000000;
	mul.f64 	%fd20, %fd19, %fd18;
	fma.rn.f64 	%fd21, %fd19, %fd18, %fd20;
	mul.f64 	%fd22, %fd21, %fd21;
	mov.f64 	%fd23, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd24, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd25, %fd24, %fd22, %fd23;
	mov.f64 	%fd26, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd27, %fd25, %fd22, %fd26;
	mov.f64 	%fd28, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd29, %fd27, %fd22, %fd28;
	mov.f64 	%fd30, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd31, %fd29, %fd22, %fd30;
	mov.f64 	%fd32, 0d3F624924923BE72D;
	fma.rn.f64 	%fd33, %fd31, %fd22, %fd32;
	mov.f64 	%fd34, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd35, %fd33, %fd22, %fd34;
	mov.f64 	%fd36, 0d3FB5555555555554;
	fma.rn.f64 	%fd37, %fd35, %fd22, %fd36;
	sub.f64 	%fd38, %fd19, %fd21;
	add.f64 	%fd39, %fd38, %fd38;
	neg.f64 	%fd40, %fd21;
	fma.rn.f64 	%fd41, %fd40, %fd19, %fd39;
	mul.f64 	%fd42, %fd18, %fd41;
	mul.f64 	%fd43, %fd22, %fd37;
	fma.rn.f64 	%fd44, %fd43, %fd21, %fd42;
	xor.b32  	%r23, %r29, -2147483648;
	mov.u32 	%r24, 1127219200;
	mov.b64 	%fd45, {%r23, %r24};
	mov.u32 	%r25, -2147483648;
	mov.b64 	%fd46, {%r25, %r24};
	sub.f64 	%fd47, %fd45, %fd46;
	mov.f64 	%fd48, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd49, %fd47, %fd48, %fd21;
	neg.f64 	%fd50, %fd47;
	fma.rn.f64 	%fd51, %fd50, %fd48, %fd49;
	sub.f64 	%fd52, %fd51, %fd21;
	sub.f64 	%fd53, %fd44, %fd52;
	mov.f64 	%fd54, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd55, %fd47, %fd54, %fd53;
	add.f64 	%fd60, %fd49, %fd55;
	bra.uni 	BB51_11;

BB51_2:
	abs.f64 	%fd9, %fd1;
	setp.gtu.f64	%p5, %fd9, 0d7FF0000000000000;
	@%p5 bra 	BB51_5;
	bra.uni 	BB51_3;

BB51_5:
	add.f64 	%fd60, %fd1, %fd1;
	bra.uni 	BB51_11;

BB51_3:
	setp.eq.f64	%p6, %fd1, 0d0000000000000000;
	mov.f64 	%fd60, 0dFFF0000000000000;
	@%p6 bra 	BB51_11;

	setp.eq.f64	%p7, %fd1, 0d7FF0000000000000;
	selp.f64	%fd60, %fd1, 0dFFF8000000000000, %p7;

BB51_11:
	cvta.to.global.u64 	%rd8, %rd2;
	mul.f64 	%fd56, %fd60, 0d3C695355BAAAFAD3;
	mov.f64 	%fd57, 0d3FDBCB7B1526E50E;
	fma.rn.f64 	%fd58, %fd60, %fd57, %fd56;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd58;

BB51_12:
	ret;
}

	// .globl	vec_log1p
.visible .entry vec_log1p(
	.param .u64 vec_log1p_param_0,
	.param .u64 vec_log1p_param_1,
	.param .u64 vec_log1p_param_2
)
{
	.reg .pred 	%p<13>;
	.reg .b32 	%r<31>;
	.reg .f64 	%fd<83>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_log1p_param_0];
	ld.param.u64 	%rd2, [vec_log1p_param_1];
	ld.param.u64 	%rd3, [vec_log1p_param_2];
	mov.u32 	%r11, %tid.x;
	mov.u32 	%r12, %ntid.x;
	mov.u32 	%r13, %ctaid.x;
	mad.lo.s32 	%r14, %r12, %r13, %r11;
	cvt.s64.s32	%rd1, %r14;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB52_14;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd1;
	}
	setp.lt.u32	%p2, %r15, 1071994197;
	setp.lt.s32	%p3, %r15, -1076258407;
	or.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB52_12;
	bra.uni 	BB52_2;

BB52_12:
	add.f64 	%fd58, %fd1, 0d4000000000000000;
	div.rn.f64 	%fd59, %fd1, %fd58;
	mul.f64 	%fd60, %fd1, %fd59;
	neg.f64 	%fd61, %fd60;
	sub.f64 	%fd62, %fd1, %fd60;
	mul.f64 	%fd63, %fd62, %fd62;
	mov.f64 	%fd64, 0d3ED087FFCEB2DC44;
	mov.f64 	%fd65, 0d3EB372FB2FBE14B5;
	fma.rn.f64 	%fd66, %fd65, %fd63, %fd64;
	mov.f64 	%fd67, 0d3EF3B9FF890F468C;
	fma.rn.f64 	%fd68, %fd66, %fd63, %fd67;
	mov.f64 	%fd69, 0d3F17457EFD51BAF8;
	fma.rn.f64 	%fd70, %fd68, %fd63, %fd69;
	mov.f64 	%fd71, 0d3F3C71C8DE3CE825;
	fma.rn.f64 	%fd72, %fd70, %fd63, %fd71;
	mov.f64 	%fd73, 0d3F6249248FA4661F;
	fma.rn.f64 	%fd74, %fd72, %fd63, %fd73;
	mov.f64 	%fd75, 0d3F899999999D70C4;
	fma.rn.f64 	%fd76, %fd74, %fd63, %fd75;
	mov.f64 	%fd77, 0d3FB5555555555462;
	fma.rn.f64 	%fd78, %fd76, %fd63, %fd77;
	mul.f64 	%fd79, %fd63, %fd78;
	fma.rn.f64 	%fd80, %fd79, %fd62, %fd61;
	add.f64 	%fd82, %fd1, %fd80;
	bra.uni 	BB52_13;

BB52_2:
	add.f64 	%fd2, %fd1, 0d3FF0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r27}, %fd2;
	}
	setp.gt.f64	%p5, %fd2, 0d0000000000000000;
	setp.lt.s32	%p6, %r27, 2146435072;
	and.pred  	%p7, %p5, %p6;
	@%p7 bra 	BB52_7;
	bra.uni 	BB52_3;

BB52_7:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r28, %temp}, %fd2;
	}
	mov.u32 	%r29, -1023;
	setp.gt.s32	%p11, %r27, 1048575;
	@%p11 bra 	BB52_9;

	mul.f64 	%fd13, %fd2, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r27}, %fd13;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r28, %temp}, %fd13;
	}
	mov.u32 	%r29, -1077;

BB52_9:
	shr.u32 	%r18, %r27, 20;
	add.s32 	%r30, %r29, %r18;
	and.b32  	%r19, %r27, -2146435073;
	or.b32  	%r20, %r19, 1072693248;
	mov.b64 	%fd81, {%r28, %r20};
	setp.lt.s32	%p12, %r20, 1073127583;
	@%p12 bra 	BB52_11;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r21, %temp}, %fd81;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r22}, %fd81;
	}
	add.s32 	%r23, %r22, -1048576;
	mov.b64 	%fd81, {%r21, %r23};
	add.s32 	%r30, %r30, 1;

BB52_11:
	add.f64 	%fd15, %fd81, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd14,%fd15;
	// inline asm
	neg.f64 	%fd16, %fd15;
	mov.f64 	%fd17, 0d3FF0000000000000;
	fma.rn.f64 	%fd18, %fd16, %fd14, %fd17;
	fma.rn.f64 	%fd19, %fd18, %fd18, %fd18;
	fma.rn.f64 	%fd20, %fd19, %fd14, %fd14;
	add.f64 	%fd21, %fd81, 0dBFF0000000000000;
	mul.f64 	%fd22, %fd21, %fd20;
	fma.rn.f64 	%fd23, %fd21, %fd20, %fd22;
	mul.f64 	%fd24, %fd23, %fd23;
	mov.f64 	%fd25, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd26, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd27, %fd26, %fd24, %fd25;
	mov.f64 	%fd28, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd29, %fd27, %fd24, %fd28;
	mov.f64 	%fd30, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd31, %fd29, %fd24, %fd30;
	mov.f64 	%fd32, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd33, %fd31, %fd24, %fd32;
	mov.f64 	%fd34, 0d3F624924923BE72D;
	fma.rn.f64 	%fd35, %fd33, %fd24, %fd34;
	mov.f64 	%fd36, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd37, %fd35, %fd24, %fd36;
	mov.f64 	%fd38, 0d3FB5555555555554;
	fma.rn.f64 	%fd39, %fd37, %fd24, %fd38;
	sub.f64 	%fd40, %fd21, %fd23;
	add.f64 	%fd41, %fd40, %fd40;
	neg.f64 	%fd42, %fd23;
	fma.rn.f64 	%fd43, %fd42, %fd21, %fd41;
	mul.f64 	%fd44, %fd20, %fd43;
	mul.f64 	%fd45, %fd24, %fd39;
	fma.rn.f64 	%fd46, %fd45, %fd23, %fd44;
	xor.b32  	%r24, %r30, -2147483648;
	mov.u32 	%r25, 1127219200;
	mov.b64 	%fd47, {%r24, %r25};
	mov.u32 	%r26, -2147483648;
	mov.b64 	%fd48, {%r26, %r25};
	sub.f64 	%fd49, %fd47, %fd48;
	mov.f64 	%fd50, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd51, %fd49, %fd50, %fd23;
	neg.f64 	%fd52, %fd49;
	fma.rn.f64 	%fd53, %fd52, %fd50, %fd51;
	sub.f64 	%fd54, %fd53, %fd23;
	sub.f64 	%fd55, %fd46, %fd54;
	mov.f64 	%fd56, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd57, %fd49, %fd56, %fd55;
	add.f64 	%fd82, %fd51, %fd57;
	bra.uni 	BB52_13;

BB52_3:
	abs.f64 	%fd11, %fd2;
	setp.gtu.f64	%p8, %fd11, 0d7FF0000000000000;
	@%p8 bra 	BB52_6;
	bra.uni 	BB52_4;

BB52_6:
	add.f64 	%fd82, %fd2, %fd2;
	bra.uni 	BB52_13;

BB52_4:
	setp.eq.f64	%p9, %fd2, 0d0000000000000000;
	mov.f64 	%fd82, 0dFFF0000000000000;
	@%p9 bra 	BB52_13;

	setp.eq.f64	%p10, %fd2, 0d7FF0000000000000;
	selp.f64	%fd82, %fd2, 0dFFF8000000000000, %p10;

BB52_13:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd82;

BB52_14:
	ret;
}

	// .globl	vec_log2
.visible .entry vec_log2(
	.param .u64 vec_log2_param_0,
	.param .u64 vec_log2_param_1,
	.param .u64 vec_log2_param_2
)
{
	.reg .pred 	%p<10>;
	.reg .b32 	%r<30>;
	.reg .f64 	%fd<61>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_log2_param_0];
	ld.param.u64 	%rd2, [vec_log2_param_1];
	ld.param.u64 	%rd3, [vec_log2_param_2];
	mov.u32 	%r11, %tid.x;
	mov.u32 	%r12, %ntid.x;
	mov.u32 	%r13, %ctaid.x;
	mad.lo.s32 	%r14, %r12, %r13, %r11;
	cvt.s64.s32	%rd1, %r14;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB53_12;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd1;
	}
	setp.gt.f64	%p2, %fd1, 0d0000000000000000;
	setp.lt.s32	%p3, %r26, 2146435072;
	and.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB53_6;
	bra.uni 	BB53_2;

BB53_6:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r27, %temp}, %fd1;
	}
	mov.u32 	%r28, -1023;
	setp.gt.s32	%p8, %r26, 1048575;
	@%p8 bra 	BB53_8;

	mul.f64 	%fd11, %fd1, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd11;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r27, %temp}, %fd11;
	}
	mov.u32 	%r28, -1077;

BB53_8:
	shr.u32 	%r17, %r26, 20;
	add.s32 	%r29, %r28, %r17;
	and.b32  	%r18, %r26, -2146435073;
	or.b32  	%r19, %r18, 1072693248;
	mov.b64 	%fd59, {%r27, %r19};
	setp.lt.s32	%p9, %r19, 1073127583;
	@%p9 bra 	BB53_10;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r20, %temp}, %fd59;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r21}, %fd59;
	}
	add.s32 	%r22, %r21, -1048576;
	mov.b64 	%fd59, {%r20, %r22};
	add.s32 	%r29, %r29, 1;

BB53_10:
	add.f64 	%fd13, %fd59, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd12,%fd13;
	// inline asm
	neg.f64 	%fd14, %fd13;
	mov.f64 	%fd15, 0d3FF0000000000000;
	fma.rn.f64 	%fd16, %fd14, %fd12, %fd15;
	fma.rn.f64 	%fd17, %fd16, %fd16, %fd16;
	fma.rn.f64 	%fd18, %fd17, %fd12, %fd12;
	add.f64 	%fd19, %fd59, 0dBFF0000000000000;
	mul.f64 	%fd20, %fd19, %fd18;
	fma.rn.f64 	%fd21, %fd19, %fd18, %fd20;
	mul.f64 	%fd22, %fd21, %fd21;
	mov.f64 	%fd23, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd24, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd25, %fd24, %fd22, %fd23;
	mov.f64 	%fd26, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd27, %fd25, %fd22, %fd26;
	mov.f64 	%fd28, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd29, %fd27, %fd22, %fd28;
	mov.f64 	%fd30, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd31, %fd29, %fd22, %fd30;
	mov.f64 	%fd32, 0d3F624924923BE72D;
	fma.rn.f64 	%fd33, %fd31, %fd22, %fd32;
	mov.f64 	%fd34, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd35, %fd33, %fd22, %fd34;
	mov.f64 	%fd36, 0d3FB5555555555554;
	fma.rn.f64 	%fd37, %fd35, %fd22, %fd36;
	sub.f64 	%fd38, %fd19, %fd21;
	add.f64 	%fd39, %fd38, %fd38;
	neg.f64 	%fd40, %fd21;
	fma.rn.f64 	%fd41, %fd40, %fd19, %fd39;
	mul.f64 	%fd42, %fd18, %fd41;
	mul.f64 	%fd43, %fd22, %fd37;
	fma.rn.f64 	%fd44, %fd43, %fd21, %fd42;
	xor.b32  	%r23, %r29, -2147483648;
	mov.u32 	%r24, 1127219200;
	mov.b64 	%fd45, {%r23, %r24};
	mov.u32 	%r25, -2147483648;
	mov.b64 	%fd46, {%r25, %r24};
	sub.f64 	%fd47, %fd45, %fd46;
	mov.f64 	%fd48, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd49, %fd47, %fd48, %fd21;
	neg.f64 	%fd50, %fd47;
	fma.rn.f64 	%fd51, %fd50, %fd48, %fd49;
	sub.f64 	%fd52, %fd51, %fd21;
	sub.f64 	%fd53, %fd44, %fd52;
	mov.f64 	%fd54, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd55, %fd47, %fd54, %fd53;
	add.f64 	%fd60, %fd49, %fd55;
	bra.uni 	BB53_11;

BB53_2:
	abs.f64 	%fd9, %fd1;
	setp.gtu.f64	%p5, %fd9, 0d7FF0000000000000;
	@%p5 bra 	BB53_5;
	bra.uni 	BB53_3;

BB53_5:
	add.f64 	%fd60, %fd1, %fd1;
	bra.uni 	BB53_11;

BB53_3:
	setp.eq.f64	%p6, %fd1, 0d0000000000000000;
	mov.f64 	%fd60, 0dFFF0000000000000;
	@%p6 bra 	BB53_11;

	setp.eq.f64	%p7, %fd1, 0d7FF0000000000000;
	selp.f64	%fd60, %fd1, 0dFFF8000000000000, %p7;

BB53_11:
	cvta.to.global.u64 	%rd8, %rd2;
	mul.f64 	%fd56, %fd60, 0d3C7777D0FFDA0D24;
	mov.f64 	%fd57, 0d3FF71547652B82FE;
	fma.rn.f64 	%fd58, %fd60, %fd57, %fd56;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd58;

BB53_12:
	ret;
}

	// .globl	vec_logb
.visible .entry vec_logb(
	.param .u64 vec_logb_param_0,
	.param .u64 vec_logb_param_1,
	.param .u64 vec_logb_param_2
)
{
	.reg .pred 	%p<6>;
	.reg .b32 	%r<12>;
	.reg .f64 	%fd<9>;
	.reg .b64 	%rd<15>;


	ld.param.u64 	%rd4, [vec_logb_param_0];
	ld.param.u64 	%rd2, [vec_logb_param_1];
	ld.param.u64 	%rd3, [vec_logb_param_2];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r5, %r3, %r4, %r2;
	cvt.s64.s32	%rd1, %r5;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB54_9;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	abs.f64 	%fd2, %fd1;
	setp.gtu.f64	%p2, %fd2, 0d7FF0000000000000;
	@%p2 bra 	BB54_7;
	bra.uni 	BB54_2;

BB54_7:
	add.f64 	%fd8, %fd1, %fd1;
	bra.uni 	BB54_8;

BB54_2:
	setp.eq.f64	%p3, %fd2, 0d7FF0000000000000;
	mov.f64 	%fd8, %fd2;
	@%p3 bra 	BB54_8;

	setp.eq.f64	%p4, %fd2, 0d0000000000000000;
	mov.f64 	%fd7, 0dFFF0000000000000;
	mov.f64 	%fd8, %fd7;
	@%p4 bra 	BB54_8;

	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd2;
	}
	setp.gt.u32	%p5, %r1, 1048575;
	@%p5 bra 	BB54_6;
	bra.uni 	BB54_5;

BB54_6:
	shr.u32 	%r10, %r1, 20;
	add.s32 	%r11, %r10, -1023;
	cvt.rn.f64.s32	%fd8, %r11;
	bra.uni 	BB54_8;

BB54_5:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r6, %temp}, %fd2;
	}
	cvt.u64.u32	%rd8, %r1;
	shl.b64 	%rd9, %rd8, 32;
	cvt.u64.u32	%rd10, %r6;
	or.b64  	%rd11, %rd9, %rd10;
	clz.b64 	%r7, %rd11;
	mov.u32 	%r8, -1011;
	sub.s32 	%r9, %r8, %r7;
	cvt.rn.f64.s32	%fd8, %r9;

BB54_8:
	cvta.to.global.u64 	%rd12, %rd2;
	add.s64 	%rd14, %rd12, %rd6;
	st.global.f64 	[%rd14], %fd8;

BB54_9:
	ret;
}

	// .globl	vec_log
.visible .entry vec_log(
	.param .u64 vec_log_param_0,
	.param .u64 vec_log_param_1,
	.param .u64 vec_log_param_2
)
{
	.reg .pred 	%p<10>;
	.reg .b32 	%r<30>;
	.reg .f64 	%fd<58>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_log_param_0];
	ld.param.u64 	%rd2, [vec_log_param_1];
	ld.param.u64 	%rd3, [vec_log_param_2];
	mov.u32 	%r11, %tid.x;
	mov.u32 	%r12, %ntid.x;
	mov.u32 	%r13, %ctaid.x;
	mad.lo.s32 	%r14, %r12, %r13, %r11;
	cvt.s64.s32	%rd1, %r14;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB55_12;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd1;
	}
	setp.gt.f64	%p2, %fd1, 0d0000000000000000;
	setp.lt.s32	%p3, %r26, 2146435072;
	and.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB55_6;
	bra.uni 	BB55_2;

BB55_6:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r27, %temp}, %fd1;
	}
	mov.u32 	%r28, -1023;
	setp.gt.s32	%p8, %r26, 1048575;
	@%p8 bra 	BB55_8;

	mul.f64 	%fd11, %fd1, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd11;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r27, %temp}, %fd11;
	}
	mov.u32 	%r28, -1077;

BB55_8:
	shr.u32 	%r17, %r26, 20;
	add.s32 	%r29, %r28, %r17;
	and.b32  	%r18, %r26, -2146435073;
	or.b32  	%r19, %r18, 1072693248;
	mov.b64 	%fd56, {%r27, %r19};
	setp.lt.s32	%p9, %r19, 1073127583;
	@%p9 bra 	BB55_10;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r20, %temp}, %fd56;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r21}, %fd56;
	}
	add.s32 	%r22, %r21, -1048576;
	mov.b64 	%fd56, {%r20, %r22};
	add.s32 	%r29, %r29, 1;

BB55_10:
	add.f64 	%fd13, %fd56, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd12,%fd13;
	// inline asm
	neg.f64 	%fd14, %fd13;
	mov.f64 	%fd15, 0d3FF0000000000000;
	fma.rn.f64 	%fd16, %fd14, %fd12, %fd15;
	fma.rn.f64 	%fd17, %fd16, %fd16, %fd16;
	fma.rn.f64 	%fd18, %fd17, %fd12, %fd12;
	add.f64 	%fd19, %fd56, 0dBFF0000000000000;
	mul.f64 	%fd20, %fd19, %fd18;
	fma.rn.f64 	%fd21, %fd19, %fd18, %fd20;
	mul.f64 	%fd22, %fd21, %fd21;
	mov.f64 	%fd23, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd24, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd25, %fd24, %fd22, %fd23;
	mov.f64 	%fd26, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd27, %fd25, %fd22, %fd26;
	mov.f64 	%fd28, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd29, %fd27, %fd22, %fd28;
	mov.f64 	%fd30, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd31, %fd29, %fd22, %fd30;
	mov.f64 	%fd32, 0d3F624924923BE72D;
	fma.rn.f64 	%fd33, %fd31, %fd22, %fd32;
	mov.f64 	%fd34, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd35, %fd33, %fd22, %fd34;
	mov.f64 	%fd36, 0d3FB5555555555554;
	fma.rn.f64 	%fd37, %fd35, %fd22, %fd36;
	sub.f64 	%fd38, %fd19, %fd21;
	add.f64 	%fd39, %fd38, %fd38;
	neg.f64 	%fd40, %fd21;
	fma.rn.f64 	%fd41, %fd40, %fd19, %fd39;
	mul.f64 	%fd42, %fd18, %fd41;
	mul.f64 	%fd43, %fd22, %fd37;
	fma.rn.f64 	%fd44, %fd43, %fd21, %fd42;
	xor.b32  	%r23, %r29, -2147483648;
	mov.u32 	%r24, 1127219200;
	mov.b64 	%fd45, {%r23, %r24};
	mov.u32 	%r25, -2147483648;
	mov.b64 	%fd46, {%r25, %r24};
	sub.f64 	%fd47, %fd45, %fd46;
	mov.f64 	%fd48, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd49, %fd47, %fd48, %fd21;
	neg.f64 	%fd50, %fd47;
	fma.rn.f64 	%fd51, %fd50, %fd48, %fd49;
	sub.f64 	%fd52, %fd51, %fd21;
	sub.f64 	%fd53, %fd44, %fd52;
	mov.f64 	%fd54, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd55, %fd47, %fd54, %fd53;
	add.f64 	%fd57, %fd49, %fd55;
	bra.uni 	BB55_11;

BB55_2:
	abs.f64 	%fd9, %fd1;
	setp.gtu.f64	%p5, %fd9, 0d7FF0000000000000;
	@%p5 bra 	BB55_5;
	bra.uni 	BB55_3;

BB55_5:
	add.f64 	%fd57, %fd1, %fd1;
	bra.uni 	BB55_11;

BB55_3:
	setp.eq.f64	%p6, %fd1, 0d0000000000000000;
	mov.f64 	%fd57, 0dFFF0000000000000;
	@%p6 bra 	BB55_11;

	setp.eq.f64	%p7, %fd1, 0d7FF0000000000000;
	selp.f64	%fd57, %fd1, 0dFFF8000000000000, %p7;

BB55_11:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd57;

BB55_12:
	ret;
}

	// .globl	vec_normcdf
.visible .entry vec_normcdf(
	.param .u64 vec_normcdf_param_0,
	.param .u64 vec_normcdf_param_1,
	.param .u64 vec_normcdf_param_2
)
{
	.reg .pred 	%p<11>;
	.reg .b32 	%r<31>;
	.reg .f64 	%fd<145>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd4, [vec_normcdf_param_0];
	ld.param.u64 	%rd3, [vec_normcdf_param_2];
	mov.u32 	%r4, %tid.x;
	mov.u32 	%r5, %ntid.x;
	mov.u32 	%r6, %ctaid.x;
	mad.lo.s32 	%r7, %r5, %r6, %r4;
	cvt.s64.s32	%rd1, %r7;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB56_9;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd143, [%rd7];
	abs.f64 	%fd12, %fd143;
	setp.leu.f64	%p2, %fd12, 0d4043400000000000;
	@%p2 bra 	BB56_3;

	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r8}, %fd143;
	}
	and.b32  	%r9, %r8, -2147483648;
	mov.f64 	%fd13, 0d4043400000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r10}, %fd13;
	}
	and.b32  	%r11, %r10, 2147483647;
	or.b32  	%r12, %r11, %r9;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r13, %temp}, %fd13;
	}
	mov.b64 	%fd143, {%r13, %r12};

BB56_3:
	mov.f64 	%fd14, 0dBFE6A09E667F3BCD;
	mul.rn.f64 	%fd4, %fd143, %fd14;
	neg.f64 	%fd15, %fd4;
	fma.rn.f64 	%fd16, %fd143, %fd14, %fd15;
	mov.f64 	%fd17, 0d3C8BDD3413B26456;
	fma.rn.f64 	%fd5, %fd143, %fd17, %fd16;
	add.rn.f64 	%fd6, %fd4, %fd5;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd6;
	}
	and.b32  	%r2, %r1, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r3, %temp}, %fd6;
	}
	setp.lt.u32	%p3, %r2, 2146435072;
	@%p3 bra 	BB56_5;
	bra.uni 	BB56_4;

BB56_5:
	setp.lt.s32	%p8, %r1, 0;
	mov.b64 	%fd24, {%r3, %r2};
	add.f64 	%fd25, %fd24, 0dC010000000000000;
	add.f64 	%fd21, %fd24, 0d4010000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd20,%fd21;
	// inline asm
	neg.f64 	%fd26, %fd21;
	mov.f64 	%fd27, 0d3FF0000000000000;
	fma.rn.f64 	%fd28, %fd26, %fd20, %fd27;
	fma.rn.f64 	%fd29, %fd28, %fd28, %fd28;
	fma.rn.f64 	%fd30, %fd29, %fd20, %fd20;
	mul.f64 	%fd31, %fd25, %fd30;
	add.rn.f64 	%fd32, %fd31, %fd27;
	mov.f64 	%fd33, 0dC010000000000000;
	fma.rn.f64 	%fd34, %fd33, %fd32, %fd24;
	neg.f64 	%fd35, %fd31;
	fma.rn.f64 	%fd36, %fd35, %fd24, %fd34;
	fma.rn.f64 	%fd37, %fd30, %fd36, %fd31;
	mov.f64 	%fd38, 0dBE44E1C6FD03D328;
	mov.f64 	%fd39, 0dBDF8774AD4E0BFD7;
	fma.rn.f64 	%fd40, %fd39, %fd37, %fd38;
	mov.f64 	%fd41, 0dBE4330149F7A56B6;
	fma.rn.f64 	%fd42, %fd40, %fd37, %fd41;
	mov.f64 	%fd43, 0d3E7BEDDED8376273;
	fma.rn.f64 	%fd44, %fd42, %fd37, %fd43;
	mov.f64 	%fd45, 0d3E6F9254C3ABF22B;
	fma.rn.f64 	%fd46, %fd44, %fd37, %fd45;
	mov.f64 	%fd47, 0dBEAB9068C2148CF0;
	fma.rn.f64 	%fd48, %fd46, %fd37, %fd47;
	mov.f64 	%fd49, 0d3E94C6454DB34009;
	fma.rn.f64 	%fd50, %fd48, %fd37, %fd49;
	mov.f64 	%fd51, 0d3ED7F1C378F2311D;
	fma.rn.f64 	%fd52, %fd50, %fd37, %fd51;
	mov.f64 	%fd53, 0dBEE78E051C6D5C58;
	fma.rn.f64 	%fd54, %fd52, %fd37, %fd53;
	mov.f64 	%fd55, 0dBEF995B4EAD14A90;
	fma.rn.f64 	%fd56, %fd54, %fd37, %fd55;
	mov.f64 	%fd57, 0d3F23BE27CF0A29B2;
	fma.rn.f64 	%fd58, %fd56, %fd37, %fd57;
	mov.f64 	%fd59, 0dBF2A1DEF3E81672E;
	fma.rn.f64 	%fd60, %fd58, %fd37, %fd59;
	mov.f64 	%fd61, 0dBF48D4ABE68C1713;
	fma.rn.f64 	%fd62, %fd60, %fd37, %fd61;
	mov.f64 	%fd63, 0d3F749C67210DD6B4;
	fma.rn.f64 	%fd64, %fd62, %fd37, %fd63;
	mov.f64 	%fd65, 0dBF9096238568E357;
	fma.rn.f64 	%fd66, %fd64, %fd37, %fd65;
	mov.f64 	%fd67, 0d3FA3079EDF8C2DC9;
	fma.rn.f64 	%fd68, %fd66, %fd37, %fd67;
	mov.f64 	%fd69, 0dBFB0FB06DFF601FC;
	fma.rn.f64 	%fd70, %fd68, %fd37, %fd69;
	mov.f64 	%fd71, 0d3FB7FEE004DFBCDC;
	fma.rn.f64 	%fd72, %fd70, %fd37, %fd71;
	mov.f64 	%fd73, 0dBFB9DDB23C3DB8C6;
	fma.rn.f64 	%fd74, %fd72, %fd37, %fd73;
	mov.f64 	%fd75, 0d3FB16ECEFCFA5FDA;
	fma.rn.f64 	%fd76, %fd74, %fd37, %fd75;
	mov.f64 	%fd77, 0d3F8F7F5DF66FB6D6;
	fma.rn.f64 	%fd78, %fd76, %fd37, %fd77;
	mov.f64 	%fd79, 0dBFC1DF1AD154A29D;
	fma.rn.f64 	%fd80, %fd78, %fd37, %fd79;
	mov.f64 	%fd81, 0d3FF3BA5916E9FD7F;
	fma.rn.f64 	%fd82, %fd80, %fd37, %fd81;
	mov.f64 	%fd83, 0d4000000000000000;
	fma.rn.f64 	%fd23, %fd83, %fd24, %fd27;
	// inline asm
	rcp.approx.ftz.f64 %fd22,%fd23;
	// inline asm
	neg.f64 	%fd84, %fd23;
	fma.rn.f64 	%fd85, %fd84, %fd22, %fd27;
	fma.rn.f64 	%fd86, %fd85, %fd85, %fd85;
	fma.rn.f64 	%fd87, %fd86, %fd22, %fd22;
	mul.f64 	%fd88, %fd82, %fd87;
	mul.f64 	%fd89, %fd88, 0dC000000000000000;
	fma.rn.f64 	%fd90, %fd24, %fd89, %fd82;
	neg.f64 	%fd91, %fd88;
	add.rn.f64 	%fd92, %fd90, %fd91;
	fma.rn.f64 	%fd93, %fd92, %fd87, %fd88;
	mul.f64 	%fd94, %fd24, %fd24;
	neg.f64 	%fd95, %fd94;
	mov.f64 	%fd96, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd97, %fd95, %fd96;
	mov.f64 	%fd98, 0d4338000000000000;
	add.rn.f64 	%fd99, %fd97, %fd98;
	mov.f64 	%fd100, 0dC338000000000000;
	add.rn.f64 	%fd101, %fd99, %fd100;
	mov.f64 	%fd102, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd103, %fd101, %fd102, %fd95;
	mov.f64 	%fd104, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd105, %fd101, %fd104, %fd103;
	mov.f64 	%fd106, 0d3E928AF3FCA213EA;
	mov.f64 	%fd107, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd108, %fd107, %fd105, %fd106;
	mov.f64 	%fd109, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd110, %fd108, %fd105, %fd109;
	mov.f64 	%fd111, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd112, %fd110, %fd105, %fd111;
	mov.f64 	%fd113, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd114, %fd112, %fd105, %fd113;
	mov.f64 	%fd115, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd116, %fd114, %fd105, %fd115;
	mov.f64 	%fd117, 0d3F81111111122322;
	fma.rn.f64 	%fd118, %fd116, %fd105, %fd117;
	mov.f64 	%fd119, 0d3FA55555555502A1;
	fma.rn.f64 	%fd120, %fd118, %fd105, %fd119;
	mov.f64 	%fd121, 0d3FC5555555555511;
	fma.rn.f64 	%fd122, %fd120, %fd105, %fd121;
	mov.f64 	%fd123, 0d3FE000000000000B;
	fma.rn.f64 	%fd124, %fd122, %fd105, %fd123;
	fma.rn.f64 	%fd125, %fd124, %fd105, %fd27;
	fma.rn.f64 	%fd126, %fd125, %fd105, %fd27;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r14, %temp}, %fd99;
	}
	shr.u32 	%r15, %r14, 31;
	add.s32 	%r16, %r14, %r15;
	shr.s32 	%r17, %r16, 1;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r18, %temp}, %fd126;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r19}, %fd126;
	}
	shl.b32 	%r20, %r17, 20;
	add.s32 	%r21, %r19, %r20;
	mov.b64 	%fd127, {%r18, %r21};
	sub.s32 	%r22, %r14, %r17;
	shl.b32 	%r23, %r22, 20;
	add.s32 	%r24, %r23, 1072693248;
	mov.u32 	%r25, 0;
	mov.b64 	%fd128, {%r25, %r24};
	mul.f64 	%fd129, %fd127, %fd128;
	neg.f64 	%fd130, %fd24;
	fma.rn.f64 	%fd131, %fd130, %fd24, %fd94;
	fma.rn.f64 	%fd132, %fd129, %fd131, %fd129;
	mul.f64 	%fd133, %fd93, %fd132;
	setp.gt.u32	%p9, %r2, 1077624832;
	selp.f64	%fd134, 0d0000000000000000, %fd133, %p9;
	sub.f64 	%fd135, %fd83, %fd134;
	selp.f64	%fd144, %fd135, %fd134, %p8;
	bra.uni 	BB56_6;

BB56_4:
	setp.lt.s32	%p4, %r1, 0;
	setp.eq.s32	%p5, %r3, 0;
	setp.eq.s32	%p6, %r2, 2146435072;
	and.pred  	%p7, %p6, %p5;
	selp.f64	%fd18, 0d4000000000000000, 0d0000000000000000, %p4;
	add.f64 	%fd19, %fd6, %fd6;
	selp.f64	%fd144, %fd18, %fd19, %p7;

BB56_6:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r26}, %fd143;
	}
	setp.lt.u32	%p10, %r26, -1074790399;
	@%p10 bra 	BB56_8;

	mov.f64 	%fd142, 0dBFE6A09E667F3BCD;
	mul.rn.f64 	%fd141, %fd143, %fd142;
	sub.f64 	%fd136, %fd141, %fd6;
	add.rn.f64 	%fd137, %fd136, %fd5;
	mul.f64 	%fd138, %fd6, 0dC000000000000000;
	mul.f64 	%fd139, %fd138, %fd144;
	fma.rn.f64 	%fd144, %fd139, %fd137, %fd144;

BB56_8:
	mov.u32 	%r30, %tid.x;
	mov.u32 	%r29, %ctaid.x;
	mov.u32 	%r28, %ntid.x;
	mad.lo.s32 	%r27, %r28, %r29, %r30;
	cvt.s64.s32	%rd13, %r27;
	shl.b64 	%rd12, %rd13, 3;
	ld.param.u64 	%rd11, [vec_normcdf_param_1];
	cvta.to.global.u64 	%rd8, %rd11;
	add.s64 	%rd10, %rd8, %rd12;
	mul.f64 	%fd140, %fd144, 0d3FE0000000000000;
	st.global.f64 	[%rd10], %fd140;

BB56_9:
	ret;
}

	// .globl	vec_normcdfinv
.visible .entry vec_normcdfinv(
	.param .u64 vec_normcdfinv_param_0,
	.param .u64 vec_normcdfinv_param_1,
	.param .u64 vec_normcdfinv_param_2
)
{
	.reg .pred 	%p<16>;
	.reg .f32 	%f<2>;
	.reg .b32 	%r<51>;
	.reg .f64 	%fd<273>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd4, [vec_normcdfinv_param_0];
	ld.param.u64 	%rd3, [vec_normcdfinv_param_2];
	mov.u32 	%r12, %tid.x;
	mov.u32 	%r13, %ntid.x;
	mov.u32 	%r14, %ctaid.x;
	mad.lo.s32 	%r15, %r13, %r14, %r12;
	cvt.s64.s32	%rd1, %r15;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB57_18;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd18, [%rd7];
	add.f64 	%fd1, %fd18, %fd18;
	neg.f64 	%fd2, %fd1;
	mov.f64 	%fd19, 0d4000000000000000;
	add.rn.f64 	%fd3, %fd19, %fd2;
	setp.le.f64	%p2, %fd1, 0d3FFFFC0B65AA4E0E;
	setp.ge.f64	%p3, %fd1, 0d3F4FA4D2AD8F904D;
	and.pred  	%p4, %p3, %p2;
	@%p4 bra 	BB57_16;
	bra.uni 	BB57_2;

BB57_16:
	mul.rn.f64 	%fd175, %fd3, %fd1;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r34}, %fd175;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r35, %temp}, %fd175;
	}
	shr.u32 	%r36, %r34, 20;
	and.b32  	%r37, %r36, 2046;
	add.s32 	%r38, %r37, 2147482626;
	mov.u32 	%r39, 1127219200;
	mov.b64 	%fd176, {%r38, %r39};
	mov.u32 	%r40, -2147483648;
	mov.b64 	%fd177, {%r40, %r39};
	sub.f64 	%fd178, %fd176, %fd177;
	and.b32  	%r41, %r34, -2145386497;
	add.s32 	%r42, %r41, 1071644672;
	mov.b64 	%fd179, {%r35, %r42};
	add.f64 	%fd180, %fd179, 0dBFF0000000000000;
	add.f64 	%fd174, %fd179, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd173,%fd174;
	// inline asm
	neg.f64 	%fd181, %fd174;
	mov.f64 	%fd182, 0d3FF0000000000000;
	fma.rn.f64 	%fd183, %fd181, %fd173, %fd182;
	fma.rn.f64 	%fd184, %fd183, %fd183, %fd183;
	fma.rn.f64 	%fd185, %fd184, %fd173, %fd173;
	mul.f64 	%fd186, %fd180, %fd185;
	mov.f64 	%fd187, 0dC000000000000000;
	fma.rn.f64 	%fd188, %fd187, %fd186, %fd180;
	neg.f64 	%fd189, %fd186;
	fma.rn.f64 	%fd190, %fd189, %fd180, %fd188;
	fma.rn.f64 	%fd191, %fd190, %fd185, %fd186;
	mul.f64 	%fd192, %fd191, %fd191;
	mov.f64 	%fd193, 0d3FA55CF59CDC5D89;
	mov.f64 	%fd194, 0d3FB5C5C218C775C9;
	fma.rn.f64 	%fd195, %fd194, %fd192, %fd193;
	mov.f64 	%fd196, 0d3FAEFD18CF6EBB9C;
	fma.rn.f64 	%fd197, %fd195, %fd192, %fd196;
	mov.f64 	%fd198, 0d3FB10682EDCB8D1B;
	fma.rn.f64 	%fd199, %fd197, %fd192, %fd198;
	mov.f64 	%fd200, 0d3FB3B1DD3AC7FC96;
	fma.rn.f64 	%fd201, %fd199, %fd192, %fd200;
	mov.f64 	%fd202, 0d3FB745CB459B54A6;
	fma.rn.f64 	%fd203, %fd201, %fd192, %fd202;
	mov.f64 	%fd204, 0d3FBC71C741A0669F;
	fma.rn.f64 	%fd205, %fd203, %fd192, %fd204;
	mov.f64 	%fd206, 0d3FC249249209112E;
	fma.rn.f64 	%fd207, %fd205, %fd192, %fd206;
	mov.f64 	%fd208, 0d3FC99999999A06C1;
	fma.rn.f64 	%fd209, %fd207, %fd192, %fd208;
	mov.f64 	%fd210, 0d3FD5555555555535;
	fma.rn.f64 	%fd211, %fd209, %fd192, %fd210;
	mul.f64 	%fd212, %fd192, %fd211;
	fma.rn.f64 	%fd213, %fd212, %fd191, %fd191;
	add.f64 	%fd214, %fd213, %fd213;
	mov.f64 	%fd215, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd216, %fd178, %fd215, %fd214;
	mov.f64 	%fd217, 0dC009000000000000;
	sub.f64 	%fd218, %fd217, %fd216;
	mov.f64 	%fd219, 0dBC08DDF93324D327;
	mov.f64 	%fd220, 0dBBB135D2E746E627;
	fma.rn.f64 	%fd221, %fd220, %fd218, %fd219;
	mov.f64 	%fd222, 0d3C37B83EEF0B7C9F;
	fma.rn.f64 	%fd223, %fd221, %fd218, %fd222;
	mov.f64 	%fd224, 0d3C69BA72CD589B91;
	fma.rn.f64 	%fd225, %fd223, %fd218, %fd224;
	mov.f64 	%fd226, 0dBCA33689090A6B96;
	fma.rn.f64 	%fd227, %fd225, %fd218, %fd226;
	mov.f64 	%fd228, 0d3C782E11898132E0;
	fma.rn.f64 	%fd229, %fd227, %fd218, %fd228;
	mov.f64 	%fd230, 0d3CFDE4ACFD9E26BA;
	fma.rn.f64 	%fd231, %fd229, %fd218, %fd230;
	mov.f64 	%fd232, 0dBD26D33EED66C487;
	fma.rn.f64 	%fd233, %fd231, %fd218, %fd232;
	mov.f64 	%fd234, 0dBD36F2167040D8E2;
	fma.rn.f64 	%fd235, %fd233, %fd218, %fd234;
	mov.f64 	%fd236, 0d3D872A22C2D77E20;
	fma.rn.f64 	%fd237, %fd235, %fd218, %fd236;
	mov.f64 	%fd238, 0dBDAC8859C4E5C0AF;
	fma.rn.f64 	%fd239, %fd237, %fd218, %fd238;
	mov.f64 	%fd240, 0dBDCDC583D118A561;
	fma.rn.f64 	%fd241, %fd239, %fd218, %fd240;
	mov.f64 	%fd242, 0d3E120F47CCF46B3C;
	fma.rn.f64 	%fd243, %fd241, %fd218, %fd242;
	mov.f64 	%fd244, 0dBE31A9E38DC84D60;
	fma.rn.f64 	%fd245, %fd243, %fd218, %fd244;
	mov.f64 	%fd246, 0dBE5F36CD6D3D46A9;
	fma.rn.f64 	%fd247, %fd245, %fd218, %fd246;
	mov.f64 	%fd248, 0d3E9C6B4F5D03B787;
	fma.rn.f64 	%fd249, %fd247, %fd218, %fd248;
	mov.f64 	%fd250, 0dBEB6E8A5434AE8A2;
	fma.rn.f64 	%fd251, %fd249, %fd218, %fd250;
	mov.f64 	%fd252, 0dBEED1D1F7B8736F6;
	fma.rn.f64 	%fd253, %fd251, %fd218, %fd252;
	mov.f64 	%fd254, 0d3F2879C2A212F024;
	fma.rn.f64 	%fd255, %fd253, %fd218, %fd254;
	mov.f64 	%fd256, 0dBF4845769484FCA8;
	fma.rn.f64 	%fd257, %fd255, %fd218, %fd256;
	mov.f64 	%fd258, 0dBF78B6C33114F909;
	fma.rn.f64 	%fd259, %fd257, %fd218, %fd258;
	mov.f64 	%fd260, 0d3FCEBD80D9B13E28;
	fma.rn.f64 	%fd261, %fd259, %fd218, %fd260;
	mov.f64 	%fd262, 0d3FFA755E7C99AE86;
	fma.rn.f64 	%fd263, %fd261, %fd218, %fd262;
	fma.rn.f64 	%fd272, %fd263, %fd2, %fd263;
	bra.uni 	BB57_17;

BB57_2:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	setp.gt.s32	%p5, %r1, 1072693247;
	selp.f64	%fd4, %fd3, %fd1, %p5;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r47}, %fd4;
	}
	mov.b32 	 %f1, %r47;
	setp.ltu.f32	%p6, %f1, 0f2B2BFF2F;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r48, %temp}, %fd4;
	}
	@%p6 bra 	BB57_4;
	bra.uni 	BB57_3;

BB57_4:
	setp.gt.f64	%p7, %fd4, 0d0000000000000000;
	setp.lt.s32	%p8, %r47, 2146435072;
	and.pred  	%p9, %p7, %p8;
	@%p9 bra 	BB57_9;
	bra.uni 	BB57_5;

BB57_9:
	mov.u32 	%r49, -1023;
	setp.gt.s32	%p13, %r47, 1048575;
	@%p13 bra 	BB57_11;

	mul.f64 	%fd106, %fd4, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r47}, %fd106;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r48, %temp}, %fd106;
	}
	mov.u32 	%r49, -1077;

BB57_11:
	shr.u32 	%r25, %r47, 20;
	add.s32 	%r50, %r49, %r25;
	and.b32  	%r26, %r47, -2146435073;
	or.b32  	%r27, %r26, 1072693248;
	mov.b64 	%fd269, {%r48, %r27};
	setp.lt.s32	%p14, %r27, 1073127583;
	@%p14 bra 	BB57_13;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r28, %temp}, %fd269;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r29}, %fd269;
	}
	add.s32 	%r30, %r29, -1048576;
	mov.b64 	%fd269, {%r28, %r30};
	add.s32 	%r50, %r50, 1;

BB57_13:
	add.f64 	%fd108, %fd269, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd107,%fd108;
	// inline asm
	neg.f64 	%fd109, %fd108;
	mov.f64 	%fd110, 0d3FF0000000000000;
	fma.rn.f64 	%fd111, %fd109, %fd107, %fd110;
	fma.rn.f64 	%fd112, %fd111, %fd111, %fd111;
	fma.rn.f64 	%fd113, %fd112, %fd107, %fd107;
	add.f64 	%fd114, %fd269, 0dBFF0000000000000;
	mul.f64 	%fd115, %fd114, %fd113;
	fma.rn.f64 	%fd116, %fd114, %fd113, %fd115;
	mul.f64 	%fd117, %fd116, %fd116;
	mov.f64 	%fd118, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd119, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd120, %fd119, %fd117, %fd118;
	mov.f64 	%fd121, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd122, %fd120, %fd117, %fd121;
	mov.f64 	%fd123, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd124, %fd122, %fd117, %fd123;
	mov.f64 	%fd125, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd126, %fd124, %fd117, %fd125;
	mov.f64 	%fd127, 0d3F624924923BE72D;
	fma.rn.f64 	%fd128, %fd126, %fd117, %fd127;
	mov.f64 	%fd129, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd130, %fd128, %fd117, %fd129;
	mov.f64 	%fd131, 0d3FB5555555555554;
	fma.rn.f64 	%fd132, %fd130, %fd117, %fd131;
	sub.f64 	%fd133, %fd114, %fd116;
	add.f64 	%fd134, %fd133, %fd133;
	neg.f64 	%fd135, %fd116;
	fma.rn.f64 	%fd136, %fd135, %fd114, %fd134;
	mul.f64 	%fd137, %fd113, %fd136;
	mul.f64 	%fd138, %fd117, %fd132;
	fma.rn.f64 	%fd139, %fd138, %fd116, %fd137;
	xor.b32  	%r31, %r50, -2147483648;
	mov.u32 	%r32, 1127219200;
	mov.b64 	%fd140, {%r31, %r32};
	mov.u32 	%r33, -2147483648;
	mov.b64 	%fd141, {%r33, %r32};
	sub.f64 	%fd142, %fd140, %fd141;
	mov.f64 	%fd143, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd144, %fd142, %fd143, %fd116;
	neg.f64 	%fd145, %fd142;
	fma.rn.f64 	%fd146, %fd145, %fd143, %fd144;
	sub.f64 	%fd147, %fd146, %fd116;
	sub.f64 	%fd148, %fd139, %fd147;
	mov.f64 	%fd149, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd150, %fd142, %fd149, %fd148;
	add.f64 	%fd270, %fd144, %fd150;
	bra.uni 	BB57_14;

BB57_3:
	shr.u32 	%r16, %r47, 20;
	and.b32  	%r17, %r16, 2046;
	add.s32 	%r18, %r17, 2147482626;
	mov.u32 	%r19, 1127219200;
	mov.b64 	%fd24, {%r18, %r19};
	mov.u32 	%r20, -2147483648;
	mov.b64 	%fd25, {%r20, %r19};
	sub.f64 	%fd26, %fd24, %fd25;
	and.b32  	%r21, %r47, -2145386497;
	add.s32 	%r22, %r21, 1071644672;
	mov.b64 	%fd27, {%r48, %r22};
	add.f64 	%fd28, %fd27, 0dBFF0000000000000;
	add.f64 	%fd21, %fd27, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd20,%fd21;
	// inline asm
	neg.f64 	%fd29, %fd21;
	mov.f64 	%fd30, 0d3FF0000000000000;
	fma.rn.f64 	%fd31, %fd29, %fd20, %fd30;
	fma.rn.f64 	%fd32, %fd31, %fd31, %fd31;
	fma.rn.f64 	%fd33, %fd32, %fd20, %fd20;
	mul.f64 	%fd34, %fd28, %fd33;
	mov.f64 	%fd35, 0dC000000000000000;
	fma.rn.f64 	%fd36, %fd35, %fd34, %fd28;
	neg.f64 	%fd37, %fd34;
	fma.rn.f64 	%fd38, %fd37, %fd28, %fd36;
	fma.rn.f64 	%fd39, %fd38, %fd33, %fd34;
	mul.f64 	%fd40, %fd39, %fd39;
	mov.f64 	%fd41, 0d3FA55CF59CDC5D89;
	mov.f64 	%fd42, 0d3FB5C5C218C775C9;
	fma.rn.f64 	%fd43, %fd42, %fd40, %fd41;
	mov.f64 	%fd44, 0d3FAEFD18CF6EBB9C;
	fma.rn.f64 	%fd45, %fd43, %fd40, %fd44;
	mov.f64 	%fd46, 0d3FB10682EDCB8D1B;
	fma.rn.f64 	%fd47, %fd45, %fd40, %fd46;
	mov.f64 	%fd48, 0d3FB3B1DD3AC7FC96;
	fma.rn.f64 	%fd49, %fd47, %fd40, %fd48;
	mov.f64 	%fd50, 0d3FB745CB459B54A6;
	fma.rn.f64 	%fd51, %fd49, %fd40, %fd50;
	mov.f64 	%fd52, 0d3FBC71C741A0669F;
	fma.rn.f64 	%fd53, %fd51, %fd40, %fd52;
	mov.f64 	%fd54, 0d3FC249249209112E;
	fma.rn.f64 	%fd55, %fd53, %fd40, %fd54;
	mov.f64 	%fd56, 0d3FC99999999A06C1;
	fma.rn.f64 	%fd57, %fd55, %fd40, %fd56;
	mov.f64 	%fd58, 0d3FD5555555555535;
	fma.rn.f64 	%fd59, %fd57, %fd40, %fd58;
	mul.f64 	%fd60, %fd40, %fd59;
	fma.rn.f64 	%fd61, %fd60, %fd39, %fd39;
	add.f64 	%fd62, %fd61, %fd61;
	mov.f64 	%fd63, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd64, %fd26, %fd63, %fd62;
	neg.f64 	%fd23, %fd64;
	// inline asm
	rsqrt.approx.ftz.f64 %fd22, %fd23;
	// inline asm
	mul.rn.f64 	%fd65, %fd22, %fd22;
	neg.f64 	%fd66, %fd65;
	fma.rn.f64 	%fd67, %fd23, %fd66, %fd30;
	mov.f64 	%fd68, 0d3FE0000000000000;
	mov.f64 	%fd69, 0d3FD8000000000000;
	fma.rn.f64 	%fd70, %fd69, %fd67, %fd68;
	mul.rn.f64 	%fd71, %fd67, %fd22;
	fma.rn.f64 	%fd72, %fd70, %fd71, %fd22;
	mov.f64 	%fd73, 0d4000A0E7333839AA;
	mov.f64 	%fd74, 0d3FEBE9222591AFAB;
	fma.rn.f64 	%fd75, %fd74, %fd72, %fd73;
	mov.f64 	%fd76, 0d4008768CF7E57D5C;
	fma.rn.f64 	%fd77, %fd75, %fd72, %fd76;
	mov.f64 	%fd78, 0d400B77E7E28DA583;
	fma.rn.f64 	%fd79, %fd77, %fd72, %fd78;
	mov.f64 	%fd80, 0d3FF34F26A4F99CF9;
	fma.rn.f64 	%fd81, %fd79, %fd72, %fd80;
	mov.f64 	%fd82, 0d3FC1F674ADB019ED;
	fma.rn.f64 	%fd83, %fd81, %fd72, %fd82;
	mov.f64 	%fd84, 0d3F75DDAE9506431D;
	fma.rn.f64 	%fd85, %fd83, %fd72, %fd84;
	mov.f64 	%fd86, 0d3F0ADA49AA32489C;
	fma.rn.f64 	%fd87, %fd85, %fd72, %fd86;
	add.f64 	%fd88, %fd72, 0d4001E90FF51C2197;
	mov.f64 	%fd89, 0d40111EA3A7CF3820;
	fma.rn.f64 	%fd90, %fd88, %fd72, %fd89;
	mov.f64 	%fd91, 0d4011A0E4A4749594;
	fma.rn.f64 	%fd92, %fd90, %fd72, %fd91;
	mov.f64 	%fd93, 0d400D4E977D38C14D;
	fma.rn.f64 	%fd94, %fd92, %fd72, %fd93;
	mov.f64 	%fd95, 0d3FF37FD567EC0D5F;
	fma.rn.f64 	%fd96, %fd94, %fd72, %fd95;
	mov.f64 	%fd97, 0d3FC1FB9D7F676033;
	fma.rn.f64 	%fd98, %fd96, %fd72, %fd97;
	mov.f64 	%fd99, 0d3F75DDCDF98946E4;
	fma.rn.f64 	%fd100, %fd98, %fd72, %fd99;
	mov.f64 	%fd101, 0d3F0ADA42D79D8DBB;
	fma.rn.f64 	%fd102, %fd100, %fd72, %fd101;
	mul.f64 	%fd103, %fd72, %fd102;
	div.rn.f64 	%fd271, %fd87, %fd103;
	bra.uni 	BB57_15;

BB57_5:
	abs.f64 	%fd104, %fd4;
	setp.gtu.f64	%p10, %fd104, 0d7FF0000000000000;
	@%p10 bra 	BB57_8;
	bra.uni 	BB57_6;

BB57_8:
	add.f64 	%fd270, %fd4, %fd4;
	bra.uni 	BB57_14;

BB57_6:
	setp.eq.f64	%p11, %fd4, 0d0000000000000000;
	mov.f64 	%fd270, 0dFFF0000000000000;
	@%p11 bra 	BB57_14;

	setp.eq.f64	%p12, %fd4, 0d7FF0000000000000;
	selp.f64	%fd270, %fd4, 0dFFF8000000000000, %p12;

BB57_14:
	neg.f64 	%fd151, %fd270;
	rsqrt.approx.f64 	%fd152, %fd151;
	mov.f64 	%fd153, 0d3FFA2013964E259C;
	mov.f64 	%fd154, 0d3FE8E2101C71B0BF;
	fma.rn.f64 	%fd155, %fd154, %fd152, %fd153;
	mov.f64 	%fd156, 0d3FDABFE90921BE68;
	fma.rn.f64 	%fd157, %fd155, %fd152, %fd156;
	mov.f64 	%fd158, 0d3F97E41314DE00D4;
	fma.rn.f64 	%fd159, %fd157, %fd152, %fd158;
	mov.f64 	%fd160, 0d3F311BD487102E94;
	fma.rn.f64 	%fd161, %fd159, %fd152, %fd160;
	add.f64 	%fd162, %fd152, 0d3FF59895C30BAA54;
	mov.f64 	%fd163, 0d3FFAE8E5956A143F;
	fma.rn.f64 	%fd164, %fd162, %fd152, %fd163;
	mov.f64 	%fd165, 0d3FDACCE85FF7383D;
	fma.rn.f64 	%fd166, %fd164, %fd152, %fd165;
	mov.f64 	%fd167, 0d3F97E43B6CAC34FE;
	fma.rn.f64 	%fd168, %fd166, %fd152, %fd167;
	mov.f64 	%fd169, 0d3F311BD08289EB12;
	fma.rn.f64 	%fd170, %fd168, %fd152, %fd169;
	mul.f64 	%fd171, %fd152, %fd170;
	div.rn.f64 	%fd271, %fd161, %fd171;

BB57_15:
	neg.f64 	%fd172, %fd271;
	selp.f64	%fd272, %fd172, %fd271, %p5;

BB57_17:
	mov.u32 	%r46, %tid.x;
	mov.u32 	%r45, %ctaid.x;
	mov.u32 	%r44, %ntid.x;
	mad.lo.s32 	%r43, %r44, %r45, %r46;
	cvt.s64.s32	%rd13, %r43;
	shl.b64 	%rd12, %rd13, 3;
	ld.param.u64 	%rd11, [vec_normcdfinv_param_1];
	cvta.to.global.u64 	%rd8, %rd11;
	mul.f64 	%fd264, %fd272, 0dBCA21165F626CDD5;
	mov.f64 	%fd265, 0dBFF6A09E667F3BCC;
	fma.rn.f64 	%fd266, %fd265, %fd272, %fd264;
	mov.f64 	%fd267, 0d0000000000000000;
	add.rn.f64 	%fd268, %fd266, %fd267;
	add.s64 	%rd10, %rd8, %rd12;
	st.global.f64 	[%rd10], %fd268;

BB57_18:
	ret;
}

	// .globl	vec_rcbrt
.visible .entry vec_rcbrt(
	.param .u64 vec_rcbrt_param_0,
	.param .u64 vec_rcbrt_param_1,
	.param .u64 vec_rcbrt_param_2
)
{
	.reg .pred 	%p<7>;
	.reg .f32 	%f<7>;
	.reg .b32 	%r<35>;
	.reg .f64 	%fd<31>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_rcbrt_param_0];
	ld.param.u64 	%rd2, [vec_rcbrt_param_1];
	ld.param.u64 	%rd3, [vec_rcbrt_param_2];
	mov.u32 	%r12, %tid.x;
	mov.u32 	%r13, %ntid.x;
	mov.u32 	%r14, %ctaid.x;
	mad.lo.s32 	%r15, %r13, %r14, %r12;
	cvt.s64.s32	%rd1, %r15;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB58_7;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%r31, %temp}, %fd1;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r2}, %fd1;
	}
	and.b32  	%r32, %r2, 2147483647;
	setp.neu.f64	%p2, %fd1, 0d0000000000000000;
	setp.lt.u32	%p3, %r32, 2146435072;
	and.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB58_3;
	bra.uni 	BB58_2;

BB58_3:
	shr.u32 	%r33, %r32, 20;
	mov.u32 	%r34, 0;
	setp.ne.s32	%p6, %r33, 0;
	@%p6 bra 	BB58_5;

	mov.b64 	%fd8, {%r31, %r32};
	mul.f64 	%fd9, %fd8, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r31, %temp}, %fd9;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r32}, %fd9;
	}
	shr.u32 	%r33, %r32, 20;
	mov.u32 	%r34, 18;

BB58_5:
	add.s32 	%r19, %r33, -1022;
	cvt.rn.f32.s32	%f5, %r19;
	mul.f32 	%f6, %f5, 0f3EAAAAAB;
	cvt.rni.s32.f32	%r20, %f6;
	mad.lo.s32 	%r21, %r20, -3145728, %r32;
	mov.b64 	%fd10, {%r31, %r21};
	cvt.rn.f32.f64	%f2, %fd10;
	// inline asm
	lg2.approx.ftz.f32 %f1,%f2;
	// inline asm
	mul.f32 	%f4, %f1, 0fBEAAAAAB;
	// inline asm
	ex2.approx.ftz.f32 %f3,%f4;
	// inline asm
	cvt.f64.f32	%fd11, %f3;
	mul.rn.f64 	%fd12, %fd11, %fd11;
	mul.rn.f64 	%fd13, %fd10, %fd11;
	neg.f64 	%fd14, %fd13;
	mov.f64 	%fd15, 0d3FF0000000000000;
	fma.rn.f64 	%fd16, %fd12, %fd14, %fd15;
	fma.rn.f64 	%fd17, %fd10, %fd11, %fd14;
	neg.f64 	%fd18, %fd17;
	fma.rn.f64 	%fd19, %fd12, %fd18, %fd16;
	neg.f64 	%fd20, %fd12;
	fma.rn.f64 	%fd21, %fd11, %fd11, %fd20;
	neg.f64 	%fd22, %fd21;
	fma.rn.f64 	%fd23, %fd13, %fd22, %fd19;
	mov.f64 	%fd24, 0d3FD5555555555555;
	mov.f64 	%fd25, 0d3FCC71C71C71C71C;
	fma.rn.f64 	%fd26, %fd25, %fd23, %fd24;
	mul.rn.f64 	%fd27, %fd23, %fd11;
	fma.rn.f64 	%fd28, %fd26, %fd27, %fd11;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r22, %temp}, %fd28;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r23}, %fd28;
	}
	sub.s32 	%r24, %r34, %r20;
	shl.b32 	%r25, %r24, 20;
	add.s32 	%r26, %r23, %r25;
	mov.b64 	%fd30, {%r22, %r26};
	bra.uni 	BB58_6;

BB58_2:
	xor.b32  	%r16, %r32, 2146435072;
	mov.b64 	%fd5, {%r31, %r16};
	abs.f64 	%fd6, %fd1;
	setp.gtu.f64	%p5, %fd6, 0d7FF0000000000000;
	add.f64 	%fd7, %fd1, %fd1;
	selp.f64	%fd30, %fd7, %fd5, %p5;

BB58_6:
	cvta.to.global.u64 	%rd8, %rd2;
	and.b32  	%r27, %r2, -2147483648;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r28}, %fd30;
	}
	or.b32  	%r29, %r28, %r27;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r30, %temp}, %fd30;
	}
	mov.b64 	%fd29, {%r30, %r29};
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd29;

BB58_7:
	ret;
}

	// .globl	vec_rint
.visible .entry vec_rint(
	.param .u64 vec_rint_param_0,
	.param .u64 vec_rint_param_1,
	.param .u64 vec_rint_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_rint_param_0];
	ld.param.u64 	%rd2, [vec_rint_param_1];
	ld.param.u64 	%rd3, [vec_rint_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB59_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	cvt.rni.f64.f64	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB59_2:
	ret;
}

	// .globl	vec_round
.visible .entry vec_round(
	.param .u64 vec_round_param_0,
	.param .u64 vec_round_param_1,
	.param .u64 vec_round_param_2
)
{
	.reg .pred 	%p<4>;
	.reg .b32 	%r<10>;
	.reg .f64 	%fd<9>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_round_param_0];
	ld.param.u64 	%rd2, [vec_round_param_1];
	ld.param.u64 	%rd3, [vec_round_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB60_4;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd8, [%rd7];
	abs.f64 	%fd2, %fd8;
	setp.ge.f64	%p2, %fd2, 0d4330000000000000;
	@%p2 bra 	BB60_3;

	add.f64 	%fd5, %fd2, 0d3FE0000000000000;
	cvt.rzi.f64.f64	%fd6, %fd5;
	setp.lt.f64	%p3, %fd2, 0d3FE0000000000000;
	selp.f64	%fd7, 0d0000000000000000, %fd6, %p3;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r5, %temp}, %fd7;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r6}, %fd7;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r7}, %fd8;
	}
	and.b32  	%r8, %r7, -2147483648;
	or.b32  	%r9, %r6, %r8;
	mov.b64 	%fd8, {%r5, %r9};

BB60_3:
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd8;

BB60_4:
	ret;
}

	// .globl	vec_rsqrt
.visible .entry vec_rsqrt(
	.param .u64 vec_rsqrt_param_0,
	.param .u64 vec_rsqrt_param_1,
	.param .u64 vec_rsqrt_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_rsqrt_param_0];
	ld.param.u64 	%rd2, [vec_rsqrt_param_1];
	ld.param.u64 	%rd3, [vec_rsqrt_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB61_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	rsqrt.approx.f64 	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB61_2:
	ret;
}

	// .globl	vec_sin
.visible .entry vec_sin(
	.param .u64 vec_sin_param_0,
	.param .u64 vec_sin_param_1,
	.param .u64 vec_sin_param_2
)
{
	.local .align 4 .b8 	__local_depot62[4];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<6>;
	.reg .b32 	%r<14>;
	.reg .f64 	%fd<42>;
	.reg .b64 	%rd<18>;


	mov.u64 	%rd17, __local_depot62;
	cvta.local.u64 	%SP, %rd17;
	ld.param.u64 	%rd5, [vec_sin_param_0];
	ld.param.u64 	%rd3, [vec_sin_param_1];
	ld.param.u64 	%rd4, [vec_sin_param_2];
	add.u64 	%rd6, %SP, 0;
	cvta.to.local.u64 	%rd1, %rd6;
	mov.u32 	%r4, %ntid.x;
	mov.u32 	%r5, %ctaid.x;
	mov.u32 	%r6, %tid.x;
	mad.lo.s32 	%r7, %r4, %r5, %r6;
	cvt.s64.s32	%rd2, %r7;
	setp.ge.u64	%p1, %rd2, %rd5;
	@%p1 bra 	BB62_10;

	cvta.to.global.u64 	%rd7, %rd4;
	shl.b64 	%rd8, %rd2, 3;
	add.s64 	%rd9, %rd7, %rd8;
	ld.global.f64 	%fd39, [%rd9];
	abs.f64 	%fd14, %fd39;
	setp.neu.f64	%p2, %fd14, 0d7FF0000000000000;
	@%p2 bra 	BB62_3;

	mov.f64 	%fd15, 0d0000000000000000;
	mul.rn.f64 	%fd39, %fd39, %fd15;

BB62_3:
	mul.f64 	%fd16, %fd39, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r13, %fd16;
	st.local.u32 	[%rd1], %r13;
	cvt.rn.f64.s32	%fd17, %r13;
	neg.f64 	%fd18, %fd17;
	mov.f64 	%fd19, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd20, %fd18, %fd19, %fd39;
	mov.f64 	%fd21, 0d3C91A62633145C00;
	fma.rn.f64 	%fd22, %fd18, %fd21, %fd20;
	mov.f64 	%fd23, 0d397B839A252049C0;
	fma.rn.f64 	%fd40, %fd18, %fd23, %fd22;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r8}, %fd39;
	}
	and.b32  	%r9, %r8, 2145386496;
	setp.lt.u32	%p3, %r9, 1105199104;
	@%p3 bra 	BB62_5;

	// Callseq Start 6
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd39;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd6;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd40, [retval0+0];
	
	//{
	}// Callseq End 6
	ld.local.u32 	%r13, [%rd1];

BB62_5:
	and.b32  	%r10, %r13, 1;
	shl.b32 	%r11, %r10, 3;
	setp.eq.s32	%p4, %r10, 0;
	selp.f64	%fd24, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p4;
	mul.wide.u32 	%rd11, %r11, 8;
	mov.u64 	%rd12, __cudart_sin_cos_coeffs;
	add.s64 	%rd13, %rd11, %rd12;
	ld.const.f64 	%fd25, [%rd13+8];
	mul.rn.f64 	%fd7, %fd40, %fd40;
	fma.rn.f64 	%fd26, %fd24, %fd7, %fd25;
	ld.const.f64 	%fd27, [%rd13+16];
	fma.rn.f64 	%fd28, %fd26, %fd7, %fd27;
	ld.const.f64 	%fd29, [%rd13+24];
	fma.rn.f64 	%fd30, %fd28, %fd7, %fd29;
	ld.const.f64 	%fd31, [%rd13+32];
	fma.rn.f64 	%fd32, %fd30, %fd7, %fd31;
	ld.const.f64 	%fd33, [%rd13+40];
	fma.rn.f64 	%fd34, %fd32, %fd7, %fd33;
	ld.const.f64 	%fd35, [%rd13+48];
	fma.rn.f64 	%fd8, %fd34, %fd7, %fd35;
	fma.rn.f64 	%fd41, %fd8, %fd40, %fd40;
	@%p4 bra 	BB62_7;

	mov.f64 	%fd36, 0d3FF0000000000000;
	fma.rn.f64 	%fd41, %fd8, %fd7, %fd36;

BB62_7:
	and.b32  	%r12, %r13, 2;
	setp.eq.s32	%p5, %r12, 0;
	@%p5 bra 	BB62_9;

	mov.f64 	%fd37, 0d0000000000000000;
	mov.f64 	%fd38, 0dBFF0000000000000;
	fma.rn.f64 	%fd41, %fd41, %fd38, %fd37;

BB62_9:
	cvta.to.global.u64 	%rd14, %rd3;
	add.s64 	%rd16, %rd14, %rd8;
	st.global.f64 	[%rd16], %fd41;

BB62_10:
	ret;
}

	// .globl	vec_sinh
.visible .entry vec_sinh(
	.param .u64 vec_sinh_param_0,
	.param .u64 vec_sinh_param_1,
	.param .u64 vec_sinh_param_2
)
{
	.reg .pred 	%p<7>;
	.reg .b32 	%r<23>;
	.reg .f64 	%fd<69>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_sinh_param_0];
	ld.param.u64 	%rd2, [vec_sinh_param_1];
	ld.param.u64 	%rd3, [vec_sinh_param_2];
	mov.u32 	%r2, %tid.x;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mad.lo.s32 	%r5, %r3, %r4, %r2;
	cvt.s64.s32	%rd1, %r5;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB63_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd5, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd5;
	}
	and.b32  	%r6, %r1, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r7, %temp}, %fd5;
	}
	mov.b64 	%fd1, {%r7, %r6};
	setp.lt.u32	%p2, %r6, 1072693248;
	@%p2 bra 	BB63_3;
	bra.uni 	BB63_2;

BB63_3:
	mul.f64 	%fd52, %fd1, %fd1;
	mov.f64 	%fd53, 0d3DE611A561D87DEF;
	mov.f64 	%fd54, 0d3D6B4C75AB274C53;
	fma.rn.f64 	%fd55, %fd54, %fd52, %fd53;
	mov.f64 	%fd56, 0d3E5AE64671B18F5C;
	fma.rn.f64 	%fd57, %fd55, %fd52, %fd56;
	mov.f64 	%fd58, 0d3EC71DE3A465B1E4;
	fma.rn.f64 	%fd59, %fd57, %fd52, %fd58;
	mov.f64 	%fd60, 0d3F2A01A01A02899D;
	fma.rn.f64 	%fd61, %fd59, %fd52, %fd60;
	mov.f64 	%fd62, 0d3F811111111110A6;
	fma.rn.f64 	%fd63, %fd61, %fd52, %fd62;
	mov.f64 	%fd64, 0d3FC5555555555556;
	fma.rn.f64 	%fd65, %fd63, %fd52, %fd64;
	mul.f64 	%fd66, %fd52, %fd65;
	fma.rn.f64 	%fd68, %fd66, %fd1, %fd1;
	bra.uni 	BB63_4;

BB63_2:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r8}, %fd1;
	}
	mov.f64 	%fd6, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd7, %fd1, %fd6;
	mov.f64 	%fd8, 0d4338000000000000;
	add.rn.f64 	%fd9, %fd7, %fd8;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r9, %temp}, %fd9;
	}
	add.s32 	%r10, %r9, -1;
	mov.f64 	%fd10, 0dC338000000000000;
	add.rn.f64 	%fd11, %fd9, %fd10;
	mov.f64 	%fd12, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd13, %fd11, %fd12, %fd1;
	mov.f64 	%fd14, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd15, %fd11, %fd14, %fd13;
	add.s32 	%r11, %r8, %r8;
	setp.lt.u32	%p3, %r11, 2142496327;
	selp.b32	%r12, 0, %r10, %p3;
	selp.f64	%fd16, %fd1, %fd15, %p3;
	mov.f64 	%fd17, 0d3E5AF86D8EBD13CD;
	mov.f64 	%fd18, 0d3E21F4076ACD15B6;
	fma.rn.f64 	%fd19, %fd18, %fd16, %fd17;
	mov.f64 	%fd20, 0d3E927E5092BA033D;
	fma.rn.f64 	%fd21, %fd19, %fd16, %fd20;
	mov.f64 	%fd22, 0d3EC71DDE6C5F9DA1;
	fma.rn.f64 	%fd23, %fd21, %fd16, %fd22;
	mov.f64 	%fd24, 0d3EFA01A018D034E6;
	fma.rn.f64 	%fd25, %fd23, %fd16, %fd24;
	mov.f64 	%fd26, 0d3F2A01A01B3B6940;
	fma.rn.f64 	%fd27, %fd25, %fd16, %fd26;
	mov.f64 	%fd28, 0d3F56C16C16C1B5DD;
	fma.rn.f64 	%fd29, %fd27, %fd16, %fd28;
	mov.f64 	%fd30, 0d3F8111111110F74D;
	fma.rn.f64 	%fd31, %fd29, %fd16, %fd30;
	mov.f64 	%fd32, 0d3FA555555555554D;
	fma.rn.f64 	%fd33, %fd31, %fd16, %fd32;
	mov.f64 	%fd34, 0d3FC5555555555557;
	fma.rn.f64 	%fd35, %fd33, %fd16, %fd34;
	mov.f64 	%fd36, 0d3FE0000000000000;
	fma.rn.f64 	%fd37, %fd35, %fd16, %fd36;
	mul.f64 	%fd38, %fd16, %fd37;
	fma.rn.f64 	%fd39, %fd38, %fd16, %fd16;
	setp.eq.s32	%p4, %r12, 1024;
	selp.b32	%r13, -1, 0, %p4;
	add.s32 	%r14, %r13, %r12;
	shl.b32 	%r15, %r14, 20;
	add.s32 	%r16, %r15, 1072693248;
	mov.u32 	%r17, 0;
	mov.b64 	%fd40, {%r17, %r16};
	mov.u32 	%r18, 1071644672;
	mov.b64 	%fd41, {%r17, %r18};
	sub.f64 	%fd42, %fd40, %fd41;
	fma.rn.f64 	%fd43, %fd39, %fd40, %fd42;
	add.f64 	%fd44, %fd43, %fd43;
	selp.f64	%fd45, %fd44, %fd43, %p4;
	setp.eq.s32	%p5, %r11, 0;
	selp.f64	%fd46, %fd16, %fd45, %p5;
	mov.f64 	%fd47, 0d3FF0000000000000;
	mov.f64 	%fd48, 0d4000000000000000;
	fma.rn.f64 	%fd49, %fd48, %fd46, %fd47;
	div.rn.f64 	%fd50, %fd46, %fd49;
	add.f64 	%fd51, %fd50, %fd46;
	setp.ltu.f64	%p6, %fd1, 0d408633CE8FB9F87E;
	selp.f64	%fd68, %fd51, 0d7FF0000000000000, %p6;

BB63_4:
	cvta.to.global.u64 	%rd8, %rd2;
	and.b32  	%r19, %r1, -2147483648;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r20}, %fd68;
	}
	or.b32  	%r21, %r20, %r19;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r22, %temp}, %fd68;
	}
	mov.b64 	%fd67, {%r22, %r21};
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd67;

BB63_5:
	ret;
}

	// .globl	vec_sinpi
.visible .entry vec_sinpi(
	.param .u64 vec_sinpi_param_0,
	.param .u64 vec_sinpi_param_1,
	.param .u64 vec_sinpi_param_2
)
{
	.reg .pred 	%p<6>;
	.reg .b32 	%r<10>;
	.reg .f64 	%fd<37>;
	.reg .b64 	%rd<16>;


	ld.param.u64 	%rd3, [vec_sinpi_param_0];
	ld.param.u64 	%rd1, [vec_sinpi_param_1];
	ld.param.u64 	%rd2, [vec_sinpi_param_2];
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mov.u32 	%r5, %tid.x;
	mad.lo.s32 	%r1, %r3, %r4, %r5;
	cvt.s64.s32	%rd4, %r1;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB64_8;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r1, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%r6, %temp}, %fd1;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r7}, %fd1;
	}
	add.s32 	%r8, %r7, 1048576;
	mov.b64 	%fd11, {%r6, %r8};
	cvt.rni.f64.f64	%fd12, %fd11;
	cvt.rzi.s64.f64	%rd8, %fd12;
	cvt.u32.u64	%r2, %rd8;
	neg.f64 	%fd13, %fd12;
	mov.f64 	%fd14, 0d3FE0000000000000;
	fma.rn.f64 	%fd15, %fd13, %fd14, %fd1;
	mul.f64 	%fd16, %fd15, 0d3CA1A62633145C07;
	mov.f64 	%fd17, 0d400921FB54442D18;
	fma.rn.f64 	%fd18, %fd15, %fd17, %fd16;
	and.b64  	%rd9, %rd8, 1;
	mul.rn.f64 	%fd2, %fd18, %fd18;
	setp.eq.b64	%p2, %rd9, 1;
	not.pred 	%p3, %p2;
	selp.f64	%fd19, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p3;
	shl.b64 	%rd10, %rd9, 6;
	mov.u64 	%rd11, __cudart_sin_cos_coeffs;
	add.s64 	%rd12, %rd10, %rd11;
	ld.const.f64 	%fd20, [%rd12+8];
	fma.rn.f64 	%fd21, %fd19, %fd2, %fd20;
	ld.const.f64 	%fd22, [%rd12+16];
	fma.rn.f64 	%fd23, %fd21, %fd2, %fd22;
	ld.const.f64 	%fd24, [%rd12+24];
	fma.rn.f64 	%fd25, %fd23, %fd2, %fd24;
	ld.const.f64 	%fd26, [%rd12+32];
	fma.rn.f64 	%fd27, %fd25, %fd2, %fd26;
	ld.const.f64 	%fd28, [%rd12+40];
	fma.rn.f64 	%fd29, %fd27, %fd2, %fd28;
	ld.const.f64 	%fd30, [%rd12+48];
	fma.rn.f64 	%fd3, %fd29, %fd2, %fd30;
	fma.rn.f64 	%fd36, %fd3, %fd18, %fd18;
	@%p3 bra 	BB64_3;

	mov.f64 	%fd31, 0d3FF0000000000000;
	fma.rn.f64 	%fd36, %fd3, %fd2, %fd31;

BB64_3:
	and.b32  	%r9, %r2, 2;
	setp.eq.s32	%p4, %r9, 0;
	@%p4 bra 	BB64_5;

	mov.f64 	%fd32, 0d0000000000000000;
	mov.f64 	%fd33, 0dBFF0000000000000;
	fma.rn.f64 	%fd36, %fd36, %fd33, %fd32;

BB64_5:
	cvt.rzi.f64.f64	%fd34, %fd1;
	setp.neu.f64	%p5, %fd1, %fd34;
	@%p5 bra 	BB64_7;

	mov.f64 	%fd35, 0d0000000000000000;
	mul.rn.f64 	%fd36, %fd1, %fd35;

BB64_7:
	cvta.to.global.u64 	%rd13, %rd1;
	add.s64 	%rd15, %rd13, %rd6;
	st.global.f64 	[%rd15], %fd36;

BB64_8:
	ret;
}

	// .globl	vec_sqrt
.visible .entry vec_sqrt(
	.param .u64 vec_sqrt_param_0,
	.param .u64 vec_sqrt_param_1,
	.param .u64 vec_sqrt_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_sqrt_param_0];
	ld.param.u64 	%rd2, [vec_sqrt_param_1];
	ld.param.u64 	%rd3, [vec_sqrt_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB65_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	sqrt.rn.f64 	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB65_2:
	ret;
}

	// .globl	vec_tan
.visible .entry vec_tan(
	.param .u64 vec_tan_param_0,
	.param .u64 vec_tan_param_1,
	.param .u64 vec_tan_param_2
)
{
	.local .align 4 .b8 	__local_depot66[4];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<5>;
	.reg .b32 	%r<12>;
	.reg .f64 	%fd<67>;
	.reg .b64 	%rd<15>;


	mov.u64 	%rd14, __local_depot66;
	cvta.local.u64 	%SP, %rd14;
	ld.param.u64 	%rd5, [vec_tan_param_0];
	ld.param.u64 	%rd3, [vec_tan_param_1];
	ld.param.u64 	%rd4, [vec_tan_param_2];
	add.u64 	%rd6, %SP, 0;
	cvta.to.local.u64 	%rd1, %rd6;
	mov.u32 	%r4, %ntid.x;
	mov.u32 	%r5, %ctaid.x;
	mov.u32 	%r6, %tid.x;
	mad.lo.s32 	%r7, %r4, %r5, %r6;
	cvt.s64.s32	%rd2, %r7;
	setp.ge.u64	%p1, %rd2, %rd5;
	@%p1 bra 	BB66_8;

	cvta.to.global.u64 	%rd7, %rd4;
	shl.b64 	%rd8, %rd2, 3;
	add.s64 	%rd9, %rd7, %rd8;
	ld.global.f64 	%fd64, [%rd9];
	abs.f64 	%fd11, %fd64;
	setp.neu.f64	%p2, %fd11, 0d7FF0000000000000;
	@%p2 bra 	BB66_3;

	mov.f64 	%fd12, 0d0000000000000000;
	mul.rn.f64 	%fd64, %fd64, %fd12;

BB66_3:
	mul.f64 	%fd13, %fd64, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r11, %fd13;
	st.local.u32 	[%rd1], %r11;
	cvt.rn.f64.s32	%fd14, %r11;
	neg.f64 	%fd15, %fd14;
	mov.f64 	%fd16, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd17, %fd15, %fd16, %fd64;
	mov.f64 	%fd18, 0d3C91A62633145C00;
	fma.rn.f64 	%fd19, %fd15, %fd18, %fd17;
	mov.f64 	%fd20, 0d397B839A252049C0;
	fma.rn.f64 	%fd65, %fd15, %fd20, %fd19;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r8}, %fd64;
	}
	and.b32  	%r9, %r8, 2145386496;
	setp.lt.u32	%p3, %r9, 1105199104;
	@%p3 bra 	BB66_5;

	// Callseq Start 7
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd64;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd6;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd65, [retval0+0];
	
	//{
	}// Callseq End 7
	ld.local.u32 	%r11, [%rd1];

BB66_5:
	mul.f64 	%fd21, %fd65, %fd65;
	mov.f64 	%fd22, 0dBEF9757C5B27EBB1;
	mov.f64 	%fd23, 0d3EE48DAC2799BCB9;
	fma.rn.f64 	%fd24, %fd23, %fd21, %fd22;
	mov.f64 	%fd25, 0d3F0980E90FD91E04;
	fma.rn.f64 	%fd26, %fd24, %fd21, %fd25;
	mov.f64 	%fd27, 0dBEFAE2B0417D7E1D;
	fma.rn.f64 	%fd28, %fd26, %fd21, %fd27;
	mov.f64 	%fd29, 0d3F119F5341BFBA57;
	fma.rn.f64 	%fd30, %fd28, %fd21, %fd29;
	mov.f64 	%fd31, 0d3F15E791A00F6919;
	fma.rn.f64 	%fd32, %fd30, %fd21, %fd31;
	mov.f64 	%fd33, 0d3F2FF2E7FADEC73A;
	fma.rn.f64 	%fd34, %fd32, %fd21, %fd33;
	mov.f64 	%fd35, 0d3F434BC1B206DA62;
	fma.rn.f64 	%fd36, %fd34, %fd21, %fd35;
	mov.f64 	%fd37, 0d3F57DB18EF2F83F9;
	fma.rn.f64 	%fd38, %fd36, %fd21, %fd37;
	mov.f64 	%fd39, 0d3F6D6D2E7AE49FBC;
	fma.rn.f64 	%fd40, %fd38, %fd21, %fd39;
	mov.f64 	%fd41, 0d3F8226E3A816A776;
	fma.rn.f64 	%fd42, %fd40, %fd21, %fd41;
	mov.f64 	%fd43, 0d3F9664F485D25660;
	fma.rn.f64 	%fd44, %fd42, %fd21, %fd43;
	mov.f64 	%fd45, 0d3FABA1BA1BABF31D;
	fma.rn.f64 	%fd46, %fd44, %fd21, %fd45;
	mov.f64 	%fd47, 0d3FC11111111105D2;
	fma.rn.f64 	%fd48, %fd46, %fd21, %fd47;
	mov.f64 	%fd49, 0d3FD555555555555E;
	fma.rn.f64 	%fd50, %fd48, %fd21, %fd49;
	mul.f64 	%fd7, %fd21, %fd50;
	fma.rn.f64 	%fd66, %fd7, %fd65, %fd65;
	and.b32  	%r10, %r11, 1;
	setp.eq.b32	%p4, %r10, 1;
	@!%p4 bra 	BB66_7;
	bra.uni 	BB66_6;

BB66_6:
	sub.f64 	%fd53, %fd66, %fd65;
	neg.f64 	%fd54, %fd53;
	fma.rn.f64 	%fd55, %fd7, %fd65, %fd54;
	// inline asm
	rcp.approx.ftz.f64 %fd51,%fd66;
	// inline asm
	neg.f64 	%fd56, %fd66;
	mov.f64 	%fd57, 0d3FF0000000000000;
	fma.rn.f64 	%fd58, %fd56, %fd51, %fd57;
	fma.rn.f64 	%fd59, %fd58, %fd58, %fd58;
	fma.rn.f64 	%fd60, %fd59, %fd51, %fd51;
	neg.f64 	%fd61, %fd60;
	fma.rn.f64 	%fd62, %fd66, %fd61, %fd57;
	fma.rn.f64 	%fd63, %fd61, %fd55, %fd62;
	fma.rn.f64 	%fd66, %fd63, %fd61, %fd61;

BB66_7:
	cvta.to.global.u64 	%rd11, %rd3;
	add.s64 	%rd13, %rd11, %rd8;
	st.global.f64 	[%rd13], %fd66;

BB66_8:
	ret;
}

	// .globl	vec_tanh
.visible .entry vec_tanh(
	.param .u64 vec_tanh_param_0,
	.param .u64 vec_tanh_param_1,
	.param .u64 vec_tanh_param_2
)
{
	.reg .pred 	%p<4>;
	.reg .b32 	%r<16>;
	.reg .f64 	%fd<75>;
	.reg .b64 	%rd<11>;


	ld.param.u64 	%rd4, [vec_tanh_param_0];
	ld.param.u64 	%rd2, [vec_tanh_param_1];
	ld.param.u64 	%rd3, [vec_tanh_param_2];
	mov.u32 	%r3, %tid.x;
	mov.u32 	%r4, %ntid.x;
	mov.u32 	%r5, %ctaid.x;
	mad.lo.s32 	%r6, %r4, %r5, %r3;
	cvt.s64.s32	%rd1, %r6;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB67_5;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	and.b32  	%r2, %r1, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r7, %temp}, %fd1;
	}
	mov.b64 	%fd2, {%r7, %r2};
	setp.ltu.f64	%p2, %fd2, 0d3FE1C7A398201CD6;
	@%p2 bra 	BB67_3;
	bra.uni 	BB67_2;

BB67_3:
	mul.f64 	%fd52, %fd1, %fd1;
	mov.f64 	%fd53, 0dBF2B9093D89F0E23;
	mov.f64 	%fd54, 0d3F0ABFFC9B5786C4;
	fma.rn.f64 	%fd55, %fd54, %fd52, %fd53;
	mov.f64 	%fd56, 0d3F42FA2744C30B61;
	fma.rn.f64 	%fd57, %fd55, %fd52, %fd56;
	mov.f64 	%fd58, 0dBF57CF3B9C1E491D;
	fma.rn.f64 	%fd59, %fd57, %fd52, %fd58;
	mov.f64 	%fd60, 0d3F6D6C61D450119A;
	fma.rn.f64 	%fd61, %fd59, %fd52, %fd60;
	mov.f64 	%fd62, 0dBF8226DDD44294F5;
	fma.rn.f64 	%fd63, %fd61, %fd52, %fd62;
	mov.f64 	%fd64, 0d3F9664F45C2B04A6;
	fma.rn.f64 	%fd65, %fd63, %fd52, %fd64;
	mov.f64 	%fd66, 0dBFABA1BA1AD70754;
	fma.rn.f64 	%fd67, %fd65, %fd52, %fd66;
	mov.f64 	%fd68, 0d3FC111111110295E;
	fma.rn.f64 	%fd69, %fd67, %fd52, %fd68;
	mov.f64 	%fd70, 0dBFD555555555549F;
	fma.rn.f64 	%fd71, %fd69, %fd52, %fd70;
	mul.f64 	%fd72, %fd52, %fd71;
	fma.rn.f64 	%fd74, %fd72, %fd1, %fd1;
	bra.uni 	BB67_4;

BB67_2:
	add.f64 	%fd8, %fd2, %fd2;
	mov.f64 	%fd9, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd10, %fd8, %fd9;
	mov.f64 	%fd11, 0d4338000000000000;
	add.rn.f64 	%fd12, %fd10, %fd11;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r8, %temp}, %fd12;
	}
	mov.f64 	%fd13, 0dC338000000000000;
	add.rn.f64 	%fd14, %fd12, %fd13;
	mov.f64 	%fd15, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd16, %fd14, %fd15, %fd8;
	mov.f64 	%fd17, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd18, %fd14, %fd17, %fd16;
	mov.f64 	%fd19, 0d3E5AF86D8EBD13CD;
	mov.f64 	%fd20, 0d3E21F4076ACD15B6;
	fma.rn.f64 	%fd21, %fd20, %fd18, %fd19;
	mov.f64 	%fd22, 0d3E927E5092BA033D;
	fma.rn.f64 	%fd23, %fd21, %fd18, %fd22;
	mov.f64 	%fd24, 0d3EC71DDE6C5F9DA1;
	fma.rn.f64 	%fd25, %fd23, %fd18, %fd24;
	mov.f64 	%fd26, 0d3EFA01A018D034E6;
	fma.rn.f64 	%fd27, %fd25, %fd18, %fd26;
	mov.f64 	%fd28, 0d3F2A01A01B3B6940;
	fma.rn.f64 	%fd29, %fd27, %fd18, %fd28;
	mov.f64 	%fd30, 0d3F56C16C16C1B5DD;
	fma.rn.f64 	%fd31, %fd29, %fd18, %fd30;
	mov.f64 	%fd32, 0d3F8111111110F74D;
	fma.rn.f64 	%fd33, %fd31, %fd18, %fd32;
	mov.f64 	%fd34, 0d3FA555555555554D;
	fma.rn.f64 	%fd35, %fd33, %fd18, %fd34;
	mov.f64 	%fd36, 0d3FC5555555555557;
	fma.rn.f64 	%fd37, %fd35, %fd18, %fd36;
	mov.f64 	%fd38, 0d3FE0000000000000;
	fma.rn.f64 	%fd39, %fd37, %fd18, %fd38;
	mul.f64 	%fd40, %fd18, %fd39;
	fma.rn.f64 	%fd41, %fd40, %fd18, %fd18;
	shl.b32 	%r9, %r8, 20;
	add.s32 	%r10, %r9, 1072693248;
	mov.u32 	%r11, 0;
	mov.b64 	%fd42, {%r11, %r10};
	fma.rn.f64 	%fd43, %fd41, %fd42, %fd42;
	add.f64 	%fd7, %fd43, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd6,%fd7;
	// inline asm
	neg.f64 	%fd44, %fd7;
	mov.f64 	%fd45, 0d3FF0000000000000;
	fma.rn.f64 	%fd46, %fd44, %fd6, %fd45;
	fma.rn.f64 	%fd47, %fd46, %fd46, %fd46;
	fma.rn.f64 	%fd48, %fd47, %fd6, %fd6;
	neg.f64 	%fd49, %fd48;
	mov.f64 	%fd50, 0d4000000000000000;
	fma.rn.f64 	%fd51, %fd50, %fd49, %fd45;
	setp.gt.u32	%p3, %r2, 1077936127;
	selp.f64	%fd74, 0d3FF0000000000000, %fd51, %p3;

BB67_4:
	cvta.to.global.u64 	%rd8, %rd2;
	and.b32  	%r12, %r1, -2147483648;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r13}, %fd74;
	}
	or.b32  	%r14, %r13, %r12;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r15, %temp}, %fd74;
	}
	mov.b64 	%fd73, {%r15, %r14};
	add.s64 	%rd10, %rd8, %rd6;
	st.global.f64 	[%rd10], %fd73;

BB67_5:
	ret;
}

	// .globl	vec_tgamma
.visible .entry vec_tgamma(
	.param .u64 vec_tgamma_param_0,
	.param .u64 vec_tgamma_param_1,
	.param .u64 vec_tgamma_param_2
)
{
	.reg .pred 	%p<30>;
	.reg .f32 	%f<3>;
	.reg .b32 	%r<82>;
	.reg .f64 	%fd<429>;
	.reg .b64 	%rd<18>;


	ld.param.u64 	%rd3, [vec_tgamma_param_0];
	ld.param.u64 	%rd2, [vec_tgamma_param_2];
	mov.u32 	%r23, %tid.x;
	mov.u32 	%r24, %ntid.x;
	mov.u32 	%r25, %ctaid.x;
	mad.lo.s32 	%r26, %r24, %r25, %r23;
	cvt.s64.s32	%rd4, %r26;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB68_44;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r26, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	setp.ltu.f64	%p2, %fd1, 0d0000000000000000;
	@%p2 bra 	BB68_18;
	bra.uni 	BB68_2;

BB68_18:
	setp.lt.f64	%p15, %fd1, 0d0000000000000000;
	@%p15 bra 	BB68_20;
	bra.uni 	BB68_19;

BB68_20:
	cvt.rzi.f64.f64	%fd267, %fd1;
	setp.eq.f64	%p16, %fd1, %fd267;
	mov.f64 	%fd428, 0dFFF8000000000000;
	@%p16 bra 	BB68_43;

	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r16}, %fd1;
	}
	setp.lt.u32	%p17, %r16, -1072693248;
	@%p17 bra 	BB68_34;
	bra.uni 	BB68_22;

BB68_34:
	setp.lt.u32	%p26, %r16, -1072955392;
	mov.f64 	%fd424, %fd1;
	mov.f64 	%fd423, %fd1;
	@%p26 bra 	BB68_36;

	fma.rn.f64 	%fd424, %fd1, %fd1, %fd1;
	add.f64 	%fd423, %fd1, 0d3FF0000000000000;

BB68_36:
	mov.f64 	%fd421, %fd423;
	mov.f64 	%fd422, %fd424;
	setp.lt.u32	%p27, %r16, -1073479680;
	@%p27 bra 	BB68_38;

	fma.rn.f64 	%fd422, %fd421, %fd422, %fd422;
	add.f64 	%fd421, %fd421, 0d3FF0000000000000;

BB68_38:
	mov.f64 	%fd419, %fd421;
	mov.f64 	%fd420, %fd422;
	setp.lt.u32	%p28, %r16, -1074266112;
	@%p28 bra 	BB68_40;

	fma.rn.f64 	%fd420, %fd419, %fd420, %fd420;
	add.f64 	%fd419, %fd419, 0d3FF0000000000000;

BB68_40:
	mov.f64 	%fd417, %fd419;
	mov.f64 	%fd418, %fd420;
	setp.lt.u32	%p29, %r16, -1075838976;
	@%p29 bra 	BB68_42;

	fma.rn.f64 	%fd418, %fd417, %fd418, %fd418;
	add.f64 	%fd417, %fd417, 0d3FF0000000000000;

BB68_42:
	mov.f64 	%fd369, 0dBE8AF7049AE8A594;
	mov.f64 	%fd370, 0d3E381B4960FCF5C9;
	fma.rn.f64 	%fd371, %fd370, %fd417, %fd369;
	mov.f64 	%fd372, 0d3EB301D46D4B22F5;
	fma.rn.f64 	%fd373, %fd371, %fd417, %fd372;
	mov.f64 	%fd374, 0dBEB50272AEED0FC4;
	fma.rn.f64 	%fd375, %fd373, %fd417, %fd374;
	mov.f64 	%fd376, 0dBEF51CE1A40516F8;
	fma.rn.f64 	%fd377, %fd375, %fd417, %fd376;
	mov.f64 	%fd378, 0d3F20C8AA7419084C;
	fma.rn.f64 	%fd379, %fd377, %fd417, %fd378;
	mov.f64 	%fd380, 0dBF2C3650196BAD8A;
	fma.rn.f64 	%fd381, %fd379, %fd417, %fd380;
	mov.f64 	%fd382, 0dBF531711365A3E26;
	fma.rn.f64 	%fd383, %fd381, %fd417, %fd382;
	mov.f64 	%fd384, 0d3F7D919C52A7DF35;
	fma.rn.f64 	%fd385, %fd383, %fd417, %fd384;
	mov.f64 	%fd386, 0dBF83B4AF28386F4D;
	fma.rn.f64 	%fd387, %fd385, %fd417, %fd386;
	mov.f64 	%fd388, 0dBFA59AF103C37B4D;
	fma.rn.f64 	%fd389, %fd387, %fd417, %fd388;
	mov.f64 	%fd390, 0d3FC5512320B439EF;
	fma.rn.f64 	%fd391, %fd389, %fd417, %fd390;
	mov.f64 	%fd392, 0dBFA5815E8FA26F4F;
	fma.rn.f64 	%fd393, %fd391, %fd417, %fd392;
	mov.f64 	%fd394, 0dBFE4FCF4026AFA2B;
	fma.rn.f64 	%fd395, %fd393, %fd417, %fd394;
	mov.f64 	%fd396, 0d3FE2788CFC6FB619;
	fma.rn.f64 	%fd397, %fd395, %fd417, %fd396;
	mov.f64 	%fd398, 0d3FF0000000000000;
	fma.rn.f64 	%fd399, %fd397, %fd417, %fd398;
	mul.f64 	%fd400, %fd418, %fd399;
	rcp.rn.f64 	%fd428, %fd400;
	bra.uni 	BB68_43;

BB68_2:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r78}, %fd1;
	}
	setp.lt.s32	%p3, %r78, 1074790400;
	@%p3 bra 	BB68_11;
	bra.uni 	BB68_3;

BB68_11:
	mov.f64 	%fd403, 0d3FF0000000000000;
	setp.lt.s32	%p10, %r78, 1074528256;
	mov.f64 	%fd427, %fd1;
	@%p10 bra 	BB68_13;

	mov.f64 	%fd227, 0dBFF0000000000000;
	mov.f64 	%fd228, 0d3FF0000000000000;
	fma.rn.f64 	%fd403, %fd1, %fd228, %fd227;
	add.f64 	%fd13, %fd1, 0dBFF0000000000000;
	mov.f64 	%fd427, %fd13;

BB68_13:
	mov.f64 	%fd409, %fd427;
	mov.f64 	%fd426, %fd409;
	setp.lt.s32	%p11, %r78, 1074003968;
	@%p11 bra 	BB68_15;

	neg.f64 	%fd229, %fd403;
	fma.rn.f64 	%fd403, %fd426, %fd403, %fd229;
	add.f64 	%fd426, %fd426, 0dBFF0000000000000;

BB68_15:
	mov.f64 	%fd425, %fd426;
	setp.lt.s32	%p12, %r78, 1073217536;
	@%p12 bra 	BB68_17;

	neg.f64 	%fd230, %fd403;
	fma.rn.f64 	%fd403, %fd425, %fd403, %fd230;
	add.f64 	%fd425, %fd425, 0dBFF0000000000000;

BB68_17:
	add.f64 	%fd231, %fd425, 0dBFF0000000000000;
	setp.gt.s32	%p13, %r78, 1071644671;
	selp.f64	%fd232, %fd231, %fd425, %p13;
	mov.f64 	%fd233, 0dBE8AF7049AE8A594;
	mov.f64 	%fd234, 0d3E381B4960FCF5C9;
	fma.rn.f64 	%fd235, %fd234, %fd232, %fd233;
	mov.f64 	%fd236, 0d3EB301D46D4B22F5;
	fma.rn.f64 	%fd237, %fd235, %fd232, %fd236;
	mov.f64 	%fd238, 0dBEB50272AEED0FC4;
	fma.rn.f64 	%fd239, %fd237, %fd232, %fd238;
	mov.f64 	%fd240, 0dBEF51CE1A40516F8;
	fma.rn.f64 	%fd241, %fd239, %fd232, %fd240;
	mov.f64 	%fd242, 0d3F20C8AA7419084C;
	fma.rn.f64 	%fd243, %fd241, %fd232, %fd242;
	mov.f64 	%fd244, 0dBF2C3650196BAD8A;
	fma.rn.f64 	%fd245, %fd243, %fd232, %fd244;
	mov.f64 	%fd246, 0dBF531711365A3E26;
	fma.rn.f64 	%fd247, %fd245, %fd232, %fd246;
	mov.f64 	%fd248, 0d3F7D919C52A7DF35;
	fma.rn.f64 	%fd249, %fd247, %fd232, %fd248;
	mov.f64 	%fd250, 0dBF83B4AF28386F4D;
	fma.rn.f64 	%fd251, %fd249, %fd232, %fd250;
	mov.f64 	%fd252, 0dBFA59AF103C37B4D;
	fma.rn.f64 	%fd253, %fd251, %fd232, %fd252;
	mov.f64 	%fd254, 0d3FC5512320B439EF;
	fma.rn.f64 	%fd255, %fd253, %fd232, %fd254;
	mov.f64 	%fd256, 0dBFA5815E8FA26F4F;
	fma.rn.f64 	%fd257, %fd255, %fd232, %fd256;
	mov.f64 	%fd258, 0dBFE4FCF4026AFA2B;
	fma.rn.f64 	%fd259, %fd257, %fd232, %fd258;
	mov.f64 	%fd260, 0d3FE2788CFC6FB619;
	fma.rn.f64 	%fd261, %fd259, %fd232, %fd260;
	mov.f64 	%fd262, 0d3FF0000000000000;
	fma.rn.f64 	%fd263, %fd261, %fd232, %fd262;
	mul.f64 	%fd264, %fd1, %fd263;
	setp.lt.s32	%p14, %r78, 1071644672;
	selp.f64	%fd265, %fd264, %fd263, %p14;
	div.rn.f64 	%fd428, %fd403, %fd265;
	bra.uni 	BB68_43;

BB68_19:
	add.f64 	%fd428, %fd1, %fd1;
	bra.uni 	BB68_43;

BB68_3:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r77, %temp}, %fd1;
	}
	shr.u32 	%r79, %r78, 20;
	setp.ne.s32	%p4, %r79, 0;
	@%p4 bra 	BB68_5;

	mul.f64 	%fd62, %fd1, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r78}, %fd62;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r77, %temp}, %fd62;
	}
	shr.u32 	%r31, %r78, 20;
	add.s32 	%r79, %r31, -54;

BB68_5:
	add.s32 	%r80, %r79, -1023;
	and.b32  	%r32, %r78, -2146435073;
	or.b32  	%r33, %r32, 1072693248;
	mov.b64 	%fd401, {%r77, %r33};
	setp.lt.u32	%p5, %r33, 1073127583;
	@%p5 bra 	BB68_7;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r34, %temp}, %fd401;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r35}, %fd401;
	}
	add.s32 	%r36, %r35, -1048576;
	mov.b64 	%fd401, {%r34, %r36};
	add.s32 	%r80, %r79, -1022;

BB68_7:
	add.f64 	%fd64, %fd401, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd63,%fd64;
	// inline asm
	neg.f64 	%fd65, %fd64;
	mov.f64 	%fd66, 0d3FF0000000000000;
	fma.rn.f64 	%fd67, %fd65, %fd63, %fd66;
	fma.rn.f64 	%fd68, %fd67, %fd67, %fd67;
	fma.rn.f64 	%fd69, %fd68, %fd63, %fd63;
	add.f64 	%fd70, %fd401, 0dBFF0000000000000;
	mul.f64 	%fd71, %fd70, %fd69;
	fma.rn.f64 	%fd72, %fd70, %fd69, %fd71;
	mul.f64 	%fd73, %fd72, %fd72;
	mov.f64 	%fd74, 0d3ED0F5D241AD3B5A;
	mov.f64 	%fd75, 0d3EB0F5FF7D2CAFE2;
	fma.rn.f64 	%fd76, %fd75, %fd73, %fd74;
	mov.f64 	%fd77, 0d3EF3B20A75488A3F;
	fma.rn.f64 	%fd78, %fd76, %fd73, %fd77;
	mov.f64 	%fd79, 0d3F1745CDE4FAECD5;
	fma.rn.f64 	%fd80, %fd78, %fd73, %fd79;
	mov.f64 	%fd81, 0d3F3C71C7258A578B;
	fma.rn.f64 	%fd82, %fd80, %fd73, %fd81;
	mov.f64 	%fd83, 0d3F6249249242B910;
	fma.rn.f64 	%fd84, %fd82, %fd73, %fd83;
	mov.f64 	%fd85, 0d3F89999999999DFB;
	fma.rn.f64 	%fd86, %fd84, %fd73, %fd85;
	sub.f64 	%fd87, %fd70, %fd72;
	add.f64 	%fd88, %fd87, %fd87;
	neg.f64 	%fd89, %fd72;
	fma.rn.f64 	%fd90, %fd89, %fd70, %fd88;
	mul.f64 	%fd91, %fd69, %fd90;
	fma.rn.f64 	%fd92, %fd73, %fd86, 0d3FB5555555555555;
	mov.f64 	%fd93, 0d3FB5555555555555;
	sub.f64 	%fd94, %fd93, %fd92;
	fma.rn.f64 	%fd95, %fd73, %fd86, %fd94;
	add.f64 	%fd96, %fd95, 0d0000000000000000;
	add.f64 	%fd97, %fd96, 0dBC46A4CB00B9E7B0;
	add.f64 	%fd98, %fd92, %fd97;
	sub.f64 	%fd99, %fd92, %fd98;
	add.f64 	%fd100, %fd97, %fd99;
	mul.rn.f64 	%fd101, %fd72, %fd72;
	neg.f64 	%fd102, %fd101;
	fma.rn.f64 	%fd103, %fd72, %fd72, %fd102;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r37, %temp}, %fd91;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r38}, %fd91;
	}
	add.s32 	%r39, %r38, 1048576;
	mov.b64 	%fd104, {%r37, %r39};
	fma.rn.f64 	%fd105, %fd72, %fd104, %fd103;
	mul.rn.f64 	%fd106, %fd101, %fd72;
	neg.f64 	%fd107, %fd106;
	fma.rn.f64 	%fd108, %fd101, %fd72, %fd107;
	fma.rn.f64 	%fd109, %fd101, %fd91, %fd108;
	fma.rn.f64 	%fd110, %fd105, %fd72, %fd109;
	mul.rn.f64 	%fd111, %fd98, %fd106;
	neg.f64 	%fd112, %fd111;
	fma.rn.f64 	%fd113, %fd98, %fd106, %fd112;
	fma.rn.f64 	%fd114, %fd98, %fd110, %fd113;
	fma.rn.f64 	%fd115, %fd100, %fd106, %fd114;
	add.f64 	%fd116, %fd111, %fd115;
	sub.f64 	%fd117, %fd111, %fd116;
	add.f64 	%fd118, %fd115, %fd117;
	add.f64 	%fd119, %fd72, %fd116;
	sub.f64 	%fd120, %fd72, %fd119;
	add.f64 	%fd121, %fd116, %fd120;
	add.f64 	%fd122, %fd118, %fd121;
	add.f64 	%fd123, %fd91, %fd122;
	add.f64 	%fd124, %fd119, %fd123;
	sub.f64 	%fd125, %fd119, %fd124;
	add.f64 	%fd126, %fd123, %fd125;
	xor.b32  	%r40, %r80, -2147483648;
	mov.u32 	%r41, 1127219200;
	mov.b64 	%fd127, {%r40, %r41};
	mov.u32 	%r42, -2147483648;
	mov.b64 	%fd128, {%r42, %r41};
	sub.f64 	%fd129, %fd127, %fd128;
	mov.f64 	%fd130, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd131, %fd129, %fd130, %fd124;
	neg.f64 	%fd132, %fd129;
	fma.rn.f64 	%fd133, %fd132, %fd130, %fd131;
	sub.f64 	%fd134, %fd133, %fd124;
	sub.f64 	%fd135, %fd126, %fd134;
	mov.f64 	%fd136, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd137, %fd129, %fd136, %fd135;
	add.f64 	%fd138, %fd131, %fd137;
	sub.f64 	%fd139, %fd131, %fd138;
	add.f64 	%fd140, %fd137, %fd139;
	add.f64 	%fd141, %fd1, 0dBFE0000000000000;
	mul.rn.f64 	%fd142, %fd138, %fd141;
	neg.f64 	%fd143, %fd142;
	fma.rn.f64 	%fd144, %fd138, %fd141, %fd143;
	fma.rn.f64 	%fd145, %fd140, %fd141, %fd144;
	add.f64 	%fd146, %fd142, %fd145;
	sub.f64 	%fd147, %fd142, %fd146;
	add.f64 	%fd148, %fd145, %fd147;
	sub.f64 	%fd149, %fd146, %fd1;
	sub.f64 	%fd150, %fd146, %fd149;
	sub.f64 	%fd151, %fd150, %fd1;
	add.f64 	%fd152, %fd148, %fd151;
	add.f64 	%fd5, %fd149, %fd152;
	sub.f64 	%fd153, %fd149, %fd5;
	add.f64 	%fd6, %fd152, %fd153;
	mov.f64 	%fd154, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd155, %fd5, %fd154;
	mov.f64 	%fd156, 0d4338000000000000;
	add.rn.f64 	%fd157, %fd155, %fd156;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r13, %temp}, %fd157;
	}
	mov.f64 	%fd158, 0dC338000000000000;
	add.rn.f64 	%fd159, %fd157, %fd158;
	mov.f64 	%fd160, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd161, %fd159, %fd160, %fd5;
	mov.f64 	%fd162, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd163, %fd159, %fd162, %fd161;
	mov.f64 	%fd164, 0d3E928AF3FCA213EA;
	mov.f64 	%fd165, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd166, %fd165, %fd163, %fd164;
	mov.f64 	%fd167, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd168, %fd166, %fd163, %fd167;
	mov.f64 	%fd169, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd170, %fd168, %fd163, %fd169;
	mov.f64 	%fd171, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd172, %fd170, %fd163, %fd171;
	mov.f64 	%fd173, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd174, %fd172, %fd163, %fd173;
	mov.f64 	%fd175, 0d3F81111111122322;
	fma.rn.f64 	%fd176, %fd174, %fd163, %fd175;
	mov.f64 	%fd177, 0d3FA55555555502A1;
	fma.rn.f64 	%fd178, %fd176, %fd163, %fd177;
	mov.f64 	%fd179, 0d3FC5555555555511;
	fma.rn.f64 	%fd180, %fd178, %fd163, %fd179;
	mov.f64 	%fd181, 0d3FE000000000000B;
	fma.rn.f64 	%fd182, %fd180, %fd163, %fd181;
	fma.rn.f64 	%fd183, %fd182, %fd163, %fd66;
	fma.rn.f64 	%fd184, %fd183, %fd163, %fd66;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r14, %temp}, %fd184;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd184;
	}
	shl.b32 	%r43, %r13, 20;
	add.s32 	%r44, %r15, %r43;
	mov.b64 	%fd402, {%r14, %r44};
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r45}, %fd5;
	}
	mov.b32 	 %f2, %r45;
	abs.f32 	%f1, %f2;
	setp.lt.f32	%p6, %f1, 0f4086232B;
	@%p6 bra 	BB68_10;

	setp.lt.f64	%p7, %fd5, 0d0000000000000000;
	add.f64 	%fd185, %fd5, 0d7FF0000000000000;
	selp.f64	%fd402, 0d0000000000000000, %fd185, %p7;
	setp.geu.f32	%p8, %f1, 0f40874800;
	@%p8 bra 	BB68_10;

	shr.u32 	%r46, %r13, 31;
	add.s32 	%r47, %r13, %r46;
	shr.s32 	%r48, %r47, 1;
	shl.b32 	%r49, %r48, 20;
	add.s32 	%r50, %r49, %r15;
	mov.b64 	%fd186, {%r14, %r50};
	sub.s32 	%r51, %r13, %r48;
	shl.b32 	%r52, %r51, 20;
	add.s32 	%r53, %r52, 1072693248;
	mov.u32 	%r54, 0;
	mov.b64 	%fd187, {%r54, %r53};
	mul.f64 	%fd402, %fd186, %fd187;

BB68_10:
	fma.rn.f64 	%fd190, %fd6, %fd402, %fd402;
	mul.f64 	%fd191, %fd190, 0dBCAA6A0D6F814637;
	mov.f64 	%fd192, 0d40040D931FF62706;
	fma.rn.f64 	%fd193, %fd190, %fd192, %fd191;
	// inline asm
	rcp.approx.ftz.f64 %fd188,%fd1;
	// inline asm
	neg.f64 	%fd194, %fd1;
	fma.rn.f64 	%fd196, %fd194, %fd188, %fd66;
	fma.rn.f64 	%fd197, %fd196, %fd196, %fd196;
	fma.rn.f64 	%fd198, %fd197, %fd188, %fd188;
	mov.f64 	%fd199, 0d3F73C25DA81303D5;
	mov.f64 	%fd200, 0dBF64BEE47C38A637;
	fma.rn.f64 	%fd201, %fd200, %fd198, %fd199;
	mov.f64 	%fd202, 0dBF6B7C37A96CFC72;
	fma.rn.f64 	%fd203, %fd201, %fd198, %fd202;
	mov.f64 	%fd204, 0d3F35A85ABDE1E324;
	fma.rn.f64 	%fd205, %fd203, %fd198, %fd204;
	mov.f64 	%fd206, 0d3F4A8B28F07B3F05;
	fma.rn.f64 	%fd207, %fd205, %fd198, %fd206;
	mov.f64 	%fd208, 0dBF0A15D1D45A282F;
	fma.rn.f64 	%fd209, %fd207, %fd198, %fd208;
	mov.f64 	%fd210, 0dBF4367D3468CB5BE;
	fma.rn.f64 	%fd211, %fd209, %fd198, %fd210;
	mov.f64 	%fd212, 0d3F12471B0E9F1005;
	fma.rn.f64 	%fd213, %fd211, %fd198, %fd212;
	mov.f64 	%fd214, 0d3F49B1004744D5C4;
	fma.rn.f64 	%fd215, %fd213, %fd198, %fd214;
	mov.f64 	%fd216, 0dBF2E13CE69AB4B7F;
	fma.rn.f64 	%fd217, %fd215, %fd198, %fd216;
	mov.f64 	%fd218, 0dBF65F7268ECF8A01;
	fma.rn.f64 	%fd219, %fd217, %fd198, %fd218;
	mov.f64 	%fd220, 0d3F6C71C71C71ACE0;
	fma.rn.f64 	%fd221, %fd219, %fd198, %fd220;
	mov.f64 	%fd222, 0d3FB5555555555556;
	fma.rn.f64 	%fd223, %fd221, %fd198, %fd222;
	mul.f64 	%fd224, %fd198, %fd223;
	fma.rn.f64 	%fd225, %fd224, %fd193, %fd193;
	setp.ltu.f64	%p9, %fd1, 0d406573FAE561F648;
	selp.f64	%fd428, %fd225, 0d7FF0000000000000, %p9;

BB68_43:
	mov.u32 	%r76, %tid.x;
	mov.u32 	%r75, %ctaid.x;
	mov.u32 	%r74, %ntid.x;
	mad.lo.s32 	%r73, %r74, %r75, %r76;
	mul.wide.s32 	%rd17, %r73, 8;
	ld.param.u64 	%rd16, [vec_tgamma_param_1];
	cvta.to.global.u64 	%rd13, %rd16;
	add.s64 	%rd15, %rd13, %rd17;
	st.global.f64 	[%rd15], %fd428;

BB68_44:
	ret;

BB68_22:
	setp.lt.u32	%p18, %r16, -1066983424;
	@%p18 bra 	BB68_24;
	bra.uni 	BB68_23;

BB68_24:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r55, %temp}, %fd1;
	}
	add.s32 	%r56, %r16, 1048576;
	mov.b64 	%fd272, {%r55, %r56};
	cvt.rni.f64.f64	%fd273, %fd272;
	cvt.rzi.s64.f64	%rd8, %fd273;
	cvt.u32.u64	%r17, %rd8;
	neg.f64 	%fd274, %fd273;
	mov.f64 	%fd275, 0d3FE0000000000000;
	fma.rn.f64 	%fd276, %fd274, %fd275, %fd1;
	mul.f64 	%fd277, %fd276, 0d3CA1A62633145C07;
	mov.f64 	%fd278, 0d400921FB54442D18;
	fma.rn.f64 	%fd279, %fd276, %fd278, %fd277;
	and.b64  	%rd9, %rd8, 1;
	mul.rn.f64 	%fd27, %fd279, %fd279;
	setp.eq.b64	%p20, %rd9, 1;
	not.pred 	%p21, %p20;
	selp.f64	%fd280, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p21;
	shl.b64 	%rd10, %rd9, 6;
	mov.u64 	%rd11, __cudart_sin_cos_coeffs;
	add.s64 	%rd12, %rd10, %rd11;
	ld.const.f64 	%fd281, [%rd12+8];
	fma.rn.f64 	%fd282, %fd280, %fd27, %fd281;
	ld.const.f64 	%fd283, [%rd12+16];
	fma.rn.f64 	%fd284, %fd282, %fd27, %fd283;
	ld.const.f64 	%fd285, [%rd12+24];
	fma.rn.f64 	%fd286, %fd284, %fd27, %fd285;
	ld.const.f64 	%fd287, [%rd12+32];
	fma.rn.f64 	%fd288, %fd286, %fd27, %fd287;
	ld.const.f64 	%fd289, [%rd12+40];
	fma.rn.f64 	%fd290, %fd288, %fd27, %fd289;
	ld.const.f64 	%fd291, [%rd12+48];
	fma.rn.f64 	%fd28, %fd290, %fd27, %fd291;
	fma.rn.f64 	%fd404, %fd28, %fd279, %fd279;
	@%p21 bra 	BB68_26;

	mov.f64 	%fd292, 0d3FF0000000000000;
	fma.rn.f64 	%fd404, %fd28, %fd27, %fd292;

BB68_26:
	and.b32  	%r57, %r17, 2;
	setp.eq.s32	%p22, %r57, 0;
	@%p22 bra 	BB68_28;

	mov.f64 	%fd293, 0d0000000000000000;
	mov.f64 	%fd294, 0dBFF0000000000000;
	fma.rn.f64 	%fd404, %fd404, %fd294, %fd293;

BB68_28:
	abs.f64 	%fd296, %fd1;
	// inline asm
	rcp.approx.ftz.f64 %fd295,%fd296;
	// inline asm
	neg.f64 	%fd297, %fd296;
	mov.f64 	%fd298, 0d3FF0000000000000;
	fma.rn.f64 	%fd299, %fd297, %fd295, %fd298;
	fma.rn.f64 	%fd300, %fd299, %fd299, %fd299;
	fma.rn.f64 	%fd301, %fd300, %fd295, %fd295;
	mov.f64 	%fd302, 0d3F73C25DA81303D5;
	mov.f64 	%fd303, 0dBF64BEE47C38A637;
	fma.rn.f64 	%fd304, %fd303, %fd301, %fd302;
	mov.f64 	%fd305, 0dBF6B7C37A96CFC72;
	fma.rn.f64 	%fd306, %fd304, %fd301, %fd305;
	mov.f64 	%fd307, 0d3F35A85ABDE1E324;
	fma.rn.f64 	%fd308, %fd306, %fd301, %fd307;
	mov.f64 	%fd309, 0d3F4A8B28F07B3F05;
	fma.rn.f64 	%fd310, %fd308, %fd301, %fd309;
	mov.f64 	%fd311, 0dBF0A15D1D45A282F;
	fma.rn.f64 	%fd312, %fd310, %fd301, %fd311;
	mov.f64 	%fd313, 0dBF4367D3468CB5BE;
	fma.rn.f64 	%fd314, %fd312, %fd301, %fd313;
	mov.f64 	%fd315, 0d3F12471B0E9F1005;
	fma.rn.f64 	%fd316, %fd314, %fd301, %fd315;
	mov.f64 	%fd317, 0d3F49B1004744D5C4;
	fma.rn.f64 	%fd318, %fd316, %fd301, %fd317;
	mov.f64 	%fd319, 0dBF2E13CE69AB4B7F;
	fma.rn.f64 	%fd320, %fd318, %fd301, %fd319;
	mov.f64 	%fd321, 0dBF65F7268ECF8A01;
	fma.rn.f64 	%fd322, %fd320, %fd301, %fd321;
	mov.f64 	%fd323, 0d3F6C71C71C71ACE0;
	fma.rn.f64 	%fd324, %fd322, %fd301, %fd323;
	mov.f64 	%fd325, 0d3FB5555555555556;
	fma.rn.f64 	%fd326, %fd324, %fd301, %fd325;
	mul.f64 	%fd327, %fd301, %fd326;
	fma.rn.f64 	%fd35, %fd327, %fd404, %fd404;
	mov.f64 	%fd328, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd329, %fd296, %fd328;
	mov.f64 	%fd330, 0d4338000000000000;
	add.rn.f64 	%fd331, %fd329, %fd330;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r18, %temp}, %fd331;
	}
	mov.f64 	%fd332, 0dC338000000000000;
	add.rn.f64 	%fd333, %fd331, %fd332;
	mov.f64 	%fd334, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd335, %fd333, %fd334, %fd296;
	mov.f64 	%fd336, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd337, %fd333, %fd336, %fd335;
	mov.f64 	%fd338, 0d3E928AF3FCA213EA;
	mov.f64 	%fd339, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd340, %fd339, %fd337, %fd338;
	mov.f64 	%fd341, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd342, %fd340, %fd337, %fd341;
	mov.f64 	%fd343, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd344, %fd342, %fd337, %fd343;
	mov.f64 	%fd345, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd346, %fd344, %fd337, %fd345;
	mov.f64 	%fd347, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd348, %fd346, %fd337, %fd347;
	mov.f64 	%fd349, 0d3F81111111122322;
	fma.rn.f64 	%fd350, %fd348, %fd337, %fd349;
	mov.f64 	%fd351, 0d3FA55555555502A1;
	fma.rn.f64 	%fd352, %fd350, %fd337, %fd351;
	mov.f64 	%fd353, 0d3FC5555555555511;
	fma.rn.f64 	%fd354, %fd352, %fd337, %fd353;
	mov.f64 	%fd355, 0d3FE000000000000B;
	fma.rn.f64 	%fd356, %fd354, %fd337, %fd355;
	fma.rn.f64 	%fd357, %fd356, %fd337, %fd298;
	fma.rn.f64 	%fd405, %fd357, %fd337, %fd298;
	abs.s32 	%r58, %r18;
	setp.lt.s32	%p23, %r58, 1023;
	@%p23 bra 	BB68_30;
	bra.uni 	BB68_29;

BB68_30:
	shl.b32 	%r64, %r18, 20;
	add.s32 	%r81, %r64, 1072693248;
	bra.uni 	BB68_31;

BB68_23:
	cvt.rmi.f64.f64	%fd268, %fd1;
	mul.f64 	%fd269, %fd268, 0d3FE0000000000000;
	cvt.rmi.f64.f64	%fd270, %fd269;
	fma.rn.f64 	%fd271, %fd270, 0dC000000000000000, %fd268;
	setp.eq.f64	%p19, %fd271, 0d3FF0000000000000;
	selp.f64	%fd428, 0d8000000000000000, 0d0000000000000000, %p19;
	bra.uni 	BB68_43;

BB68_29:
	add.s32 	%r59, %r18, 2046;
	shl.b32 	%r60, %r59, 19;
	and.b32  	%r61, %r60, -1048576;
	shl.b32 	%r62, %r59, 20;
	sub.s32 	%r81, %r62, %r61;
	mov.u32 	%r63, 0;
	mov.b64 	%fd358, {%r63, %r61};
	mul.f64 	%fd405, %fd405, %fd358;

BB68_31:
	mul.f64 	%fd359, %fd296, %fd35;
	mov.u32 	%r65, 0;
	mov.b64 	%fd360, {%r65, %r81};
	mul.f64 	%fd361, %fd405, %fd360;
	mul.f64 	%fd362, %fd361, 0dBC9A6A0D6F814637;
	mov.f64 	%fd363, 0d3FF40D931FF62706;
	fma.rn.f64 	%fd364, %fd361, %fd363, %fd362;
	div.rn.f64 	%fd39, %fd364, %fd359;
	add.f64 	%fd406, %fd296, 0dBFE0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r22}, %fd296;
	}
	setp.lt.s32	%p24, %r22, 1080157184;
	@%p24 bra 	BB68_33;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r66, %temp}, %fd406;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r67}, %fd406;
	}
	add.s32 	%r68, %r67, -1048576;
	mov.b64 	%fd406, {%r66, %r68};

BB68_33:
	neg.f64 	%fd365, %fd406;
	// Callseq Start 8
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd296;
	.param .b64 param1;
	st.param.f64	[param1+0], %fd365;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_accurate_pow, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd366, [retval0+0];
	
	//{
	}// Callseq End 8
	mul.f64 	%fd367, %fd39, %fd366;
	setp.gt.s32	%p25, %r22, 1080157183;
	selp.f64	%fd368, %fd367, %fd39, %p25;
	mul.f64 	%fd428, %fd366, %fd368;
	bra.uni 	BB68_43;
}

	// .globl	vec_trunc
.visible .entry vec_trunc(
	.param .u64 vec_trunc_param_0,
	.param .u64 vec_trunc_param_1,
	.param .u64 vec_trunc_param_2
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<3>;
	.reg .b64 	%rd<10>;


	ld.param.u64 	%rd4, [vec_trunc_param_0];
	ld.param.u64 	%rd2, [vec_trunc_param_1];
	ld.param.u64 	%rd3, [vec_trunc_param_2];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd4;
	@%p1 bra 	BB69_2;

	cvta.to.global.u64 	%rd5, %rd3;
	shl.b64 	%rd6, %rd1, 3;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	cvt.rzi.f64.f64	%fd2, %fd1;
	cvta.to.global.u64 	%rd8, %rd2;
	add.s64 	%rd9, %rd8, %rd6;
	st.global.f64 	[%rd9], %fd2;

BB69_2:
	ret;
}

	// .globl	vec_y0
.visible .entry vec_y0(
	.param .u64 vec_y0_param_0,
	.param .u64 vec_y0_param_1,
	.param .u64 vec_y0_param_2
)
{
	.local .align 4 .b8 	__local_depot70[4];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<30>;
	.reg .b32 	%r<64>;
	.reg .f64 	%fd<546>;
	.reg .b64 	%rd<31>;


	mov.u64 	%rd30, __local_depot70;
	cvta.local.u64 	%SP, %rd30;
	ld.param.u64 	%rd7, [vec_y0_param_0];
	ld.param.u64 	%rd5, [vec_y0_param_1];
	ld.param.u64 	%rd6, [vec_y0_param_2];
	add.u64 	%rd8, %SP, 0;
	cvta.to.local.u64 	%rd1, %rd8;
	mov.u32 	%r25, %ntid.x;
	mov.u32 	%r26, %ctaid.x;
	mov.u32 	%r27, %tid.x;
	mad.lo.s32 	%r28, %r25, %r26, %r27;
	cvt.s64.s32	%rd4, %r28;
	setp.ge.u64	%p1, %rd4, %rd7;
	@%p1 bra 	BB70_50;

	cvta.to.global.u64 	%rd11, %rd6;
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd11, %rd12;
	ld.global.f64 	%fd1, [%rd13];
	abs.f64 	%fd2, %fd1;
	setp.gtu.f64	%p2, %fd2, 0d3FE97F4A8F9D3F28;
	@%p2 bra 	BB70_31;
	bra.uni 	BB70_2;

BB70_31:
	setp.gtu.f64	%p20, %fd2, 0d4000347C4AB37B18;
	@%p20 bra 	BB70_33;
	bra.uni 	BB70_32;

BB70_33:
	setp.gtu.f64	%p21, %fd2, 0d40161663B5D9A628;
	@%p21 bra 	BB70_35;
	bra.uni 	BB70_34;

BB70_35:
	setp.gtu.f64	%p22, %fd2, 0d40214EF30C0C06ED;
	@%p22 bra 	BB70_37;
	bra.uni 	BB70_36;

BB70_37:
	abs.f64 	%fd444, %fd2;
	mov.f64 	%fd545, 0d0000000000000000;
	setp.eq.f64	%p23, %fd444, 0d7FF0000000000000;
	@%p23 bra 	BB70_49;

	// inline asm
	rcp.approx.ftz.f64 %fd445,%fd2;
	// inline asm
	neg.f64 	%fd447, %fd2;
	mov.f64 	%fd448, 0d3FF0000000000000;
	fma.rn.f64 	%fd449, %fd447, %fd445, %fd448;
	fma.rn.f64 	%fd450, %fd449, %fd449, %fd449;
	fma.rn.f64 	%fd451, %fd450, %fd445, %fd445;
	mul.f64 	%fd452, %fd451, %fd451;
	mov.f64 	%fd453, 0d4093F56A049CDDE7;
	mov.f64 	%fd454, 0dC0C5E91E6AC3AD03;
	fma.rn.f64 	%fd455, %fd454, %fd452, %fd453;
	mov.f64 	%fd456, 0dC05572D39DFB8433;
	fma.rn.f64 	%fd457, %fd455, %fd452, %fd456;
	mov.f64 	%fd458, 0d4016A6041CAA59E5;
	fma.rn.f64 	%fd459, %fd457, %fd452, %fd458;
	mov.f64 	%fd460, 0dBFE155E3A0493880;
	fma.rn.f64 	%fd461, %fd459, %fd452, %fd460;
	mov.f64 	%fd462, 0d3FBA7FB92F417F7F;
	fma.rn.f64 	%fd463, %fd461, %fd452, %fd462;
	mov.f64 	%fd464, 0dBFAFFFFFB12E32F5;
	fma.rn.f64 	%fd465, %fd463, %fd452, %fd464;
	mov.f64 	%fd466, 0d3FEFFFFFFFFECED5;
	fma.rn.f64 	%fd467, %fd465, %fd452, %fd466;
	mov.f64 	%fd468, 0dC15709C79AAC5813;
	mov.f64 	%fd469, 0d418A86A64BE101DC;
	fma.rn.f64 	%fd470, %fd469, %fd452, %fd468;
	mov.f64 	%fd471, 0d41142A31C980A287;
	fma.rn.f64 	%fd472, %fd470, %fd452, %fd471;
	mov.f64 	%fd473, 0dC0C9CBE68930485D;
	fma.rn.f64 	%fd474, %fd472, %fd452, %fd473;
	mov.f64 	%fd475, 0d407F583E14E8A4E8;
	fma.rn.f64 	%fd476, %fd474, %fd452, %fd475;
	mov.f64 	%fd477, 0dC0374A629C650680;
	fma.rn.f64 	%fd478, %fd476, %fd452, %fd477;
	mov.f64 	%fd479, 0d3FFA32A7AF17FAE9;
	fma.rn.f64 	%fd480, %fd478, %fd452, %fd479;
	mov.f64 	%fd481, 0dBFCAD32497785CD6;
	fma.rn.f64 	%fd482, %fd480, %fd452, %fd481;
	mov.f64 	%fd483, 0d3FB0AAAA9FB75F7B;
	fma.rn.f64 	%fd484, %fd482, %fd452, %fd483;
	mov.f64 	%fd485, 0dBFBFFFFFFFFE320F;
	fma.rn.f64 	%fd486, %fd484, %fd452, %fd485;
	fma.rn.f64 	%fd41, %fd486, %fd451, %fd2;
	rsqrt.approx.f64 	%fd487, %fd2;
	mul.f64 	%fd488, %fd487, 0d3FE9884533D43651;
	mul.f64 	%fd42, %fd467, %fd488;
	mul.f64 	%fd489, %fd41, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r62, %fd489;
	st.local.u32 	[%rd1], %r62;
	cvt.rn.f64.s32	%fd490, %r62;
	neg.f64 	%fd491, %fd490;
	mov.f64 	%fd492, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd493, %fd491, %fd492, %fd41;
	mov.f64 	%fd494, 0d3C91A62633145C00;
	fma.rn.f64 	%fd495, %fd491, %fd494, %fd493;
	mov.f64 	%fd496, 0d397B839A252049C0;
	fma.rn.f64 	%fd541, %fd491, %fd496, %fd495;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r48}, %fd41;
	}
	and.b32  	%r49, %r48, 2145386496;
	setp.lt.u32	%p24, %r49, 1105199104;
	@%p24 bra 	BB70_40;

	// Callseq Start 11
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd41;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd8;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd541, [retval0+0];
	
	//{
	}// Callseq End 11
	ld.local.u32 	%r62, [%rd1];

BB70_40:
	and.b32  	%r50, %r62, 3;
	cvt.rn.f64.s32	%fd497, %r50;
	add.f64 	%fd498, %fd541, 0dC002D97C7F3321D2;
	fma.rn.f64 	%fd542, %fd497, 0d3FF921FB54442D18, %fd498;
	abs.f64 	%fd499, %fd542;
	setp.neu.f64	%p25, %fd499, 0d7FF0000000000000;
	@%p25 bra 	BB70_42;

	mov.f64 	%fd500, 0d0000000000000000;
	mul.rn.f64 	%fd542, %fd542, %fd500;

BB70_42:
	mov.f64 	%fd531, 0d397B839A252049C0;
	mov.f64 	%fd530, 0d3C91A62633145C00;
	mov.f64 	%fd529, 0d3FF921FB54442D18;
	mul.f64 	%fd501, %fd542, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r63, %fd501;
	st.local.u32 	[%rd1], %r63;
	cvt.rn.f64.s32	%fd502, %r63;
	neg.f64 	%fd503, %fd502;
	fma.rn.f64 	%fd505, %fd503, %fd529, %fd542;
	fma.rn.f64 	%fd507, %fd503, %fd530, %fd505;
	fma.rn.f64 	%fd543, %fd503, %fd531, %fd507;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r51}, %fd542;
	}
	and.b32  	%r52, %r51, 2145386496;
	setp.lt.u32	%p26, %r52, 1105199104;
	@%p26 bra 	BB70_44;

	// Callseq Start 12
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd542;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd8;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd543, [retval0+0];
	
	//{
	}// Callseq End 12
	ld.local.u32 	%r63, [%rd1];

BB70_44:
	add.s32 	%r24, %r63, 1;
	and.b32  	%r53, %r24, 1;
	shl.b32 	%r54, %r53, 3;
	setp.eq.s32	%p27, %r53, 0;
	selp.f64	%fd509, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p27;
	mul.wide.u32 	%rd24, %r54, 8;
	mov.u64 	%rd25, __cudart_sin_cos_coeffs;
	add.s64 	%rd26, %rd24, %rd25;
	ld.const.f64 	%fd510, [%rd26+8];
	mul.rn.f64 	%fd52, %fd543, %fd543;
	fma.rn.f64 	%fd511, %fd509, %fd52, %fd510;
	ld.const.f64 	%fd512, [%rd26+16];
	fma.rn.f64 	%fd513, %fd511, %fd52, %fd512;
	ld.const.f64 	%fd514, [%rd26+24];
	fma.rn.f64 	%fd515, %fd513, %fd52, %fd514;
	ld.const.f64 	%fd516, [%rd26+32];
	fma.rn.f64 	%fd517, %fd515, %fd52, %fd516;
	ld.const.f64 	%fd518, [%rd26+40];
	fma.rn.f64 	%fd519, %fd517, %fd52, %fd518;
	ld.const.f64 	%fd520, [%rd26+48];
	fma.rn.f64 	%fd53, %fd519, %fd52, %fd520;
	fma.rn.f64 	%fd544, %fd53, %fd543, %fd543;
	@%p27 bra 	BB70_46;

	mov.f64 	%fd532, 0d3FF0000000000000;
	fma.rn.f64 	%fd544, %fd53, %fd52, %fd532;

BB70_46:
	and.b32  	%r55, %r24, 2;
	setp.eq.s32	%p28, %r55, 0;
	@%p28 bra 	BB70_48;

	mov.f64 	%fd522, 0d0000000000000000;
	mov.f64 	%fd523, 0dBFF0000000000000;
	fma.rn.f64 	%fd544, %fd544, %fd523, %fd522;

BB70_48:
	mul.f64 	%fd545, %fd42, %fd544;
	bra.uni 	BB70_49;

BB70_2:
	mul.f64 	%fd61, %fd2, %fd2;
	mov.f64 	%fd62, 0dBD13098C51C18514;
	mov.f64 	%fd63, 0d3C8EFBD0A1B77C65;
	fma.rn.f64 	%fd64, %fd63, %fd61, %fd62;
	mov.f64 	%fd65, 0d3D923102D2F5F2F5;
	fma.rn.f64 	%fd66, %fd64, %fd61, %fd65;
	mov.f64 	%fd67, 0dBE0A5F2DEE7D526E;
	fma.rn.f64 	%fd68, %fd66, %fd61, %fd67;
	mov.f64 	%fd69, 0d3E7BB77E758B38AF;
	fma.rn.f64 	%fd70, %fd68, %fd61, %fd69;
	mov.f64 	%fd71, 0dBEE3D1A206EC4F36;
	fma.rn.f64 	%fd72, %fd70, %fd61, %fd71;
	mov.f64 	%fd73, 0d3F4183DCD3ED6294;
	fma.rn.f64 	%fd74, %fd72, %fd61, %fd73;
	mov.f64 	%fd75, 0dBF903921CF04F123;
	fma.rn.f64 	%fd76, %fd74, %fd61, %fd75;
	mov.f64 	%fd77, 0d3FC5DB69D7753176;
	fma.rn.f64 	%fd78, %fd76, %fd61, %fd77;
	add.f64 	%fd79, %fd61, 0dBFDBA96740000000;
	add.f64 	%fd80, %fd79, 0d3E15A30C80000000;
	mul.f64 	%fd3, %fd80, %fd78;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r56}, %fd2;
	}
	setp.lt.s32	%p3, %r56, 2146435072;
	setp.gt.f64	%p4, %fd2, 0d0000000000000000;
	and.pred  	%p5, %p4, %p3;
	@%p5 bra 	BB70_7;
	bra.uni 	BB70_3;

BB70_7:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r57, %temp}, %fd2;
	}
	mov.u32 	%r58, -1023;
	setp.gt.s32	%p9, %r56, 1048575;
	@%p9 bra 	BB70_9;

	mul.f64 	%fd82, %fd2, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r56}, %fd82;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r57, %temp}, %fd82;
	}
	mov.u32 	%r58, -1077;

BB70_9:
	shr.u32 	%r31, %r56, 20;
	add.s32 	%r59, %r58, %r31;
	and.b32  	%r32, %r56, -2146435073;
	or.b32  	%r33, %r32, 1072693248;
	mov.b64 	%fd533, {%r57, %r33};
	setp.lt.s32	%p10, %r33, 1073127583;
	@%p10 bra 	BB70_11;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r34, %temp}, %fd533;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r35}, %fd533;
	}
	add.s32 	%r36, %r35, -1048576;
	mov.b64 	%fd533, {%r34, %r36};
	add.s32 	%r59, %r59, 1;

BB70_11:
	add.f64 	%fd84, %fd533, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd83,%fd84;
	// inline asm
	neg.f64 	%fd85, %fd84;
	mov.f64 	%fd86, 0d3FF0000000000000;
	fma.rn.f64 	%fd87, %fd85, %fd83, %fd86;
	fma.rn.f64 	%fd88, %fd87, %fd87, %fd87;
	fma.rn.f64 	%fd89, %fd88, %fd83, %fd83;
	add.f64 	%fd90, %fd533, 0dBFF0000000000000;
	mul.f64 	%fd91, %fd90, %fd89;
	fma.rn.f64 	%fd92, %fd90, %fd89, %fd91;
	mul.f64 	%fd93, %fd92, %fd92;
	mov.f64 	%fd94, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd95, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd96, %fd95, %fd93, %fd94;
	mov.f64 	%fd97, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd98, %fd96, %fd93, %fd97;
	mov.f64 	%fd99, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd100, %fd98, %fd93, %fd99;
	mov.f64 	%fd101, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd102, %fd100, %fd93, %fd101;
	mov.f64 	%fd103, 0d3F624924923BE72D;
	fma.rn.f64 	%fd104, %fd102, %fd93, %fd103;
	mov.f64 	%fd105, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd106, %fd104, %fd93, %fd105;
	mov.f64 	%fd107, 0d3FB5555555555554;
	fma.rn.f64 	%fd108, %fd106, %fd93, %fd107;
	sub.f64 	%fd109, %fd90, %fd92;
	add.f64 	%fd110, %fd109, %fd109;
	neg.f64 	%fd111, %fd92;
	fma.rn.f64 	%fd112, %fd111, %fd90, %fd110;
	mul.f64 	%fd113, %fd89, %fd112;
	mul.f64 	%fd114, %fd93, %fd108;
	fma.rn.f64 	%fd115, %fd114, %fd92, %fd113;
	xor.b32  	%r37, %r59, -2147483648;
	mov.u32 	%r38, 1127219200;
	mov.b64 	%fd116, {%r37, %r38};
	mov.u32 	%r39, -2147483648;
	mov.b64 	%fd117, {%r39, %r38};
	sub.f64 	%fd118, %fd116, %fd117;
	mov.f64 	%fd119, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd120, %fd118, %fd119, %fd92;
	neg.f64 	%fd121, %fd118;
	fma.rn.f64 	%fd122, %fd121, %fd119, %fd120;
	sub.f64 	%fd123, %fd122, %fd92;
	sub.f64 	%fd124, %fd115, %fd123;
	mov.f64 	%fd125, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd126, %fd118, %fd125, %fd124;
	add.f64 	%fd535, %fd120, %fd126;
	abs.f64 	%fd534, %fd2;
	bra.uni 	BB70_12;

BB70_32:
	add.f64 	%fd312, %fd2, 0dBFEC982EB8D417EA;
	add.f64 	%fd313, %fd312, 0dBC7EA9D270347F83;
	mov.f64 	%fd314, 0d3F3D054B05D3C52D;
	mov.f64 	%fd315, 0dBF01630132D75FC3;
	fma.rn.f64 	%fd316, %fd315, %fd313, %fd314;
	mov.f64 	%fd317, 0dBF66DAC0B314B2E5;
	fma.rn.f64 	%fd318, %fd316, %fd313, %fd317;
	mov.f64 	%fd319, 0d3F86A5D1DE76263F;
	fma.rn.f64 	%fd320, %fd318, %fd313, %fd319;
	mov.f64 	%fd321, 0dBF9FD16652824592;
	fma.rn.f64 	%fd322, %fd320, %fd313, %fd321;
	mov.f64 	%fd323, 0d3FB0F69A9CC79FBD;
	fma.rn.f64 	%fd324, %fd322, %fd313, %fd323;
	mov.f64 	%fd325, 0dBFBCCE40EF15583E;
	fma.rn.f64 	%fd326, %fd324, %fd313, %fd325;
	mov.f64 	%fd327, 0d3FC446B11780E4FC;
	fma.rn.f64 	%fd328, %fd326, %fd313, %fd327;
	mov.f64 	%fd329, 0dBFC89AE7E19621F7;
	fma.rn.f64 	%fd330, %fd328, %fd313, %fd329;
	mov.f64 	%fd331, 0d3FCACBA1B38EF7B8;
	fma.rn.f64 	%fd332, %fd330, %fd313, %fd331;
	mov.f64 	%fd333, 0dBFCB4166A03BBFA5;
	fma.rn.f64 	%fd334, %fd332, %fd313, %fd333;
	mov.f64 	%fd335, 0d3FCACCA4D5D4889A;
	fma.rn.f64 	%fd336, %fd334, %fd313, %fd335;
	mov.f64 	%fd337, 0dBFCA1455932B9392;
	fma.rn.f64 	%fd338, %fd336, %fd313, %fd337;
	mov.f64 	%fd339, 0d3FC96D8DB8D844EC;
	fma.rn.f64 	%fd340, %fd338, %fd313, %fd339;
	mov.f64 	%fd341, 0dBFC8F7FB77522EDF;
	fma.rn.f64 	%fd342, %fd340, %fd313, %fd341;
	mov.f64 	%fd343, 0d3FC8C0926ABC9AB0;
	fma.rn.f64 	%fd344, %fd342, %fd313, %fd343;
	mov.f64 	%fd345, 0dBFC8D35B8FEA468C;
	fma.rn.f64 	%fd346, %fd344, %fd313, %fd345;
	mov.f64 	%fd347, 0d3FC9424B8A0C8F94;
	fma.rn.f64 	%fd348, %fd346, %fd313, %fd347;
	mov.f64 	%fd349, 0dBFCA396A7F3403EF;
	fma.rn.f64 	%fd350, %fd348, %fd313, %fd349;
	mov.f64 	%fd351, 0d3FCC068086C37055;
	fma.rn.f64 	%fd352, %fd350, %fd313, %fd351;
	mov.f64 	%fd353, 0dBFCCF18E6A4C5C4E;
	fma.rn.f64 	%fd354, %fd352, %fd313, %fd353;
	mov.f64 	%fd355, 0d3FCC3B1338AF4239;
	fma.rn.f64 	%fd356, %fd354, %fd313, %fd355;
	mov.f64 	%fd357, 0dBFDF7E38A46D70DB;
	fma.rn.f64 	%fd358, %fd356, %fd313, %fd357;
	mov.f64 	%fd359, 0d3FEC24371844B88A;
	fma.rn.f64 	%fd360, %fd358, %fd313, %fd359;
	mul.f64 	%fd545, %fd313, %fd360;
	bra.uni 	BB70_49;

BB70_3:
	abs.f64 	%fd534, %fd2;
	setp.gtu.f64	%p6, %fd534, 0d7FF0000000000000;
	@%p6 bra 	BB70_6;
	bra.uni 	BB70_4;

BB70_6:
	add.f64 	%fd535, %fd2, %fd2;
	bra.uni 	BB70_12;

BB70_34:
	add.f64 	%fd361, %fd2, 0dC00FA9534D98569C;
	add.f64 	%fd362, %fd361, 0d3C9F06AE7804384E;
	mov.f64 	%fd363, 0dBCD2434958151AC7;
	mov.f64 	%fd364, 0dBCDAEA62AC8BDA68;
	fma.rn.f64 	%fd365, %fd364, %fd362, %fd363;
	mov.f64 	%fd366, 0d3D11C24A40D33FE1;
	fma.rn.f64 	%fd367, %fd365, %fd362, %fd366;
	mov.f64 	%fd368, 0d3D237CD62FA08CA4;
	fma.rn.f64 	%fd369, %fd367, %fd362, %fd368;
	mov.f64 	%fd370, 0dBD43902E0298C52A;
	fma.rn.f64 	%fd371, %fd369, %fd362, %fd370;
	mov.f64 	%fd372, 0dBD1DDAAD11CAB40F;
	fma.rn.f64 	%fd373, %fd371, %fd362, %fd372;
	mov.f64 	%fd374, 0dBD5209D9F06D7DE4;
	fma.rn.f64 	%fd375, %fd373, %fd362, %fd374;
	mov.f64 	%fd376, 0d3D8BB9F464468E1A;
	fma.rn.f64 	%fd377, %fd375, %fd362, %fd376;
	mov.f64 	%fd378, 0dBDA8F67B07D1B440;
	fma.rn.f64 	%fd379, %fd377, %fd362, %fd378;
	mov.f64 	%fd380, 0d3DC7C8D60F9EAECF;
	fma.rn.f64 	%fd381, %fd379, %fd362, %fd380;
	mov.f64 	%fd382, 0dBDE9703405B49A8D;
	fma.rn.f64 	%fd383, %fd381, %fd362, %fd382;
	mov.f64 	%fd384, 0d3E0A6B64E76417E4;
	fma.rn.f64 	%fd385, %fd383, %fd362, %fd384;
	mov.f64 	%fd386, 0dBE2F6B5AFB2F1359;
	fma.rn.f64 	%fd387, %fd385, %fd362, %fd386;
	mov.f64 	%fd388, 0d3E54526B71C21EC1;
	fma.rn.f64 	%fd389, %fd387, %fd362, %fd388;
	mov.f64 	%fd390, 0dBE5776DBCBBC8E1D;
	fma.rn.f64 	%fd391, %fd389, %fd362, %fd390;
	mov.f64 	%fd392, 0dBE93B211FC2DF90E;
	fma.rn.f64 	%fd393, %fd391, %fd362, %fd392;
	mov.f64 	%fd394, 0dBED486372E8562DC;
	fma.rn.f64 	%fd395, %fd393, %fd362, %fd394;
	mov.f64 	%fd396, 0d3F0AB2C1FBC3A254;
	fma.rn.f64 	%fd397, %fd395, %fd362, %fd396;
	mov.f64 	%fd398, 0d3F299827653353B8;
	fma.rn.f64 	%fd399, %fd397, %fd362, %fd398;
	mov.f64 	%fd400, 0dBF61E32BC4ED7084;
	fma.rn.f64 	%fd401, %fd399, %fd362, %fd400;
	mov.f64 	%fd402, 0dBF7C116FDC599A09;
	fma.rn.f64 	%fd403, %fd401, %fd362, %fd402;
	mov.f64 	%fd404, 0d3FADF6D59BF50C77;
	fma.rn.f64 	%fd405, %fd403, %fd362, %fd404;
	mov.f64 	%fd406, 0d3FAA09C92903680B;
	fma.rn.f64 	%fd407, %fd405, %fd362, %fd406;
	mov.f64 	%fd408, 0dBFD9C34256A12A0B;
	fma.rn.f64 	%fd409, %fd407, %fd362, %fd408;
	mul.f64 	%fd545, %fd362, %fd409;
	bra.uni 	BB70_49;

BB70_4:
	setp.eq.f64	%p7, %fd2, 0d0000000000000000;
	mov.f64 	%fd535, 0dFFF0000000000000;
	@%p7 bra 	BB70_12;

	setp.eq.f64	%p8, %fd2, 0d7FF0000000000000;
	selp.f64	%fd535, %fd2, 0dFFF8000000000000, %p8;

BB70_12:
	setp.gtu.f64	%p11, %fd534, 0d400FB319F277BBE5;
	@%p11 bra 	BB70_14;
	bra.uni 	BB70_13;

BB70_14:
	setp.gtu.f64	%p12, %fd534, 0d401C58FD1A62F5EC;
	@%p12 bra 	BB70_16;
	bra.uni 	BB70_15;

BB70_16:
	setp.gtu.f64	%p13, %fd534, 0d402471FCB6A7A8C0;
	@%p13 bra 	BB70_18;
	bra.uni 	BB70_17;

BB70_18:
	abs.f64 	%fd233, %fd534;
	mov.f64 	%fd540, 0d0000000000000000;
	setp.eq.f64	%p14, %fd233, 0d7FF0000000000000;
	@%p14 bra 	BB70_30;

	// inline asm
	rcp.approx.ftz.f64 %fd234,%fd534;
	// inline asm
	neg.f64 	%fd236, %fd534;
	mov.f64 	%fd237, 0d3FF0000000000000;
	fma.rn.f64 	%fd238, %fd236, %fd234, %fd237;
	fma.rn.f64 	%fd239, %fd238, %fd238, %fd238;
	fma.rn.f64 	%fd240, %fd239, %fd234, %fd234;
	mul.f64 	%fd241, %fd240, %fd240;
	mov.f64 	%fd242, 0d409927467A655012;
	mov.f64 	%fd243, 0dC0D115CB8C11A9DC;
	fma.rn.f64 	%fd244, %fd243, %fd241, %fd242;
	mov.f64 	%fd245, 0dC05751787E247BD4;
	fma.rn.f64 	%fd246, %fd244, %fd241, %fd245;
	mov.f64 	%fd247, 0d401704C4E5FC36B2;
	fma.rn.f64 	%fd248, %fd246, %fd241, %fd247;
	mov.f64 	%fd249, 0dBFE15B747A2FD531;
	fma.rn.f64 	%fd250, %fd248, %fd241, %fd249;
	mov.f64 	%fd251, 0d3FBA7FEACF6CB79B;
	fma.rn.f64 	%fd252, %fd250, %fd241, %fd251;
	mov.f64 	%fd253, 0dBFAFFFFFEDDCF548;
	fma.rn.f64 	%fd254, %fd252, %fd241, %fd253;
	mov.f64 	%fd255, 0d3FEFFFFFFFFFC9E5;
	fma.rn.f64 	%fd256, %fd254, %fd241, %fd255;
	mov.f64 	%fd257, 0d410ECD4523B12B84;
	mov.f64 	%fd258, 0dC14602FE1C34685E;
	fma.rn.f64 	%fd259, %fd258, %fd241, %fd257;
	mov.f64 	%fd260, 0dC0C7A2FC1972F05A;
	fma.rn.f64 	%fd261, %fd259, %fd241, %fd260;
	mov.f64 	%fd262, 0d407EBA131F7E5BEB;
	fma.rn.f64 	%fd263, %fd261, %fd241, %fd262;
	mov.f64 	%fd264, 0dC0373B92E6E7CC7D;
	fma.rn.f64 	%fd265, %fd263, %fd241, %fd264;
	mov.f64 	%fd266, 0d3FFA31BEE63A2F08;
	fma.rn.f64 	%fd267, %fd265, %fd241, %fd266;
	mov.f64 	%fd268, 0dBFCAD320104D5D05;
	fma.rn.f64 	%fd269, %fd267, %fd241, %fd268;
	mov.f64 	%fd270, 0d3FB0AAAA9C76D07E;
	fma.rn.f64 	%fd271, %fd269, %fd241, %fd270;
	mov.f64 	%fd272, 0dBFBFFFFFFFFDACEC;
	fma.rn.f64 	%fd273, %fd271, %fd241, %fd272;
	fma.rn.f64 	%fd17, %fd273, %fd240, %fd534;
	rsqrt.approx.f64 	%fd274, %fd534;
	mul.f64 	%fd275, %fd274, 0d3FE9884533D43651;
	mul.f64 	%fd18, %fd256, %fd275;
	mul.f64 	%fd276, %fd17, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r60, %fd276;
	st.local.u32 	[%rd1], %r60;
	cvt.rn.f64.s32	%fd277, %r60;
	neg.f64 	%fd278, %fd277;
	mov.f64 	%fd279, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd280, %fd278, %fd279, %fd17;
	mov.f64 	%fd281, 0d3C91A62633145C00;
	fma.rn.f64 	%fd282, %fd278, %fd281, %fd280;
	mov.f64 	%fd283, 0d397B839A252049C0;
	fma.rn.f64 	%fd536, %fd278, %fd283, %fd282;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r40}, %fd17;
	}
	and.b32  	%r41, %r40, 2145386496;
	setp.lt.u32	%p15, %r41, 1105199104;
	@%p15 bra 	BB70_21;

	// Callseq Start 9
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd17;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd8;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd536, [retval0+0];
	
	//{
	}// Callseq End 9
	ld.local.u32 	%r60, [%rd1];

BB70_21:
	and.b32  	%r42, %r60, 3;
	cvt.rn.f64.s32	%fd284, %r42;
	add.f64 	%fd285, %fd536, 0dBFE921FB54442D18;
	fma.rn.f64 	%fd537, %fd284, 0d3FF921FB54442D18, %fd285;
	abs.f64 	%fd286, %fd537;
	setp.neu.f64	%p16, %fd286, 0d7FF0000000000000;
	@%p16 bra 	BB70_23;

	mov.f64 	%fd287, 0d0000000000000000;
	mul.rn.f64 	%fd537, %fd537, %fd287;

BB70_23:
	mov.f64 	%fd527, 0d397B839A252049C0;
	mov.f64 	%fd526, 0d3C91A62633145C00;
	mov.f64 	%fd525, 0d3FF921FB54442D18;
	mul.f64 	%fd288, %fd537, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r61, %fd288;
	st.local.u32 	[%rd1], %r61;
	cvt.rn.f64.s32	%fd289, %r61;
	neg.f64 	%fd290, %fd289;
	fma.rn.f64 	%fd292, %fd290, %fd525, %fd537;
	fma.rn.f64 	%fd294, %fd290, %fd526, %fd292;
	fma.rn.f64 	%fd538, %fd290, %fd527, %fd294;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r43}, %fd537;
	}
	and.b32  	%r44, %r43, 2145386496;
	setp.lt.u32	%p17, %r44, 1105199104;
	@%p17 bra 	BB70_25;

	// Callseq Start 10
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd537;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd8;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd538, [retval0+0];
	
	//{
	}// Callseq End 10
	ld.local.u32 	%r61, [%rd1];

BB70_25:
	add.s32 	%r17, %r61, 1;
	and.b32  	%r45, %r17, 1;
	shl.b32 	%r46, %r45, 3;
	setp.eq.s32	%p18, %r45, 0;
	selp.f64	%fd296, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p18;
	mul.wide.u32 	%rd19, %r46, 8;
	mov.u64 	%rd20, __cudart_sin_cos_coeffs;
	add.s64 	%rd21, %rd19, %rd20;
	ld.const.f64 	%fd297, [%rd21+8];
	mul.rn.f64 	%fd28, %fd538, %fd538;
	fma.rn.f64 	%fd298, %fd296, %fd28, %fd297;
	ld.const.f64 	%fd299, [%rd21+16];
	fma.rn.f64 	%fd300, %fd298, %fd28, %fd299;
	ld.const.f64 	%fd301, [%rd21+24];
	fma.rn.f64 	%fd302, %fd300, %fd28, %fd301;
	ld.const.f64 	%fd303, [%rd21+32];
	fma.rn.f64 	%fd304, %fd302, %fd28, %fd303;
	ld.const.f64 	%fd305, [%rd21+40];
	fma.rn.f64 	%fd306, %fd304, %fd28, %fd305;
	ld.const.f64 	%fd307, [%rd21+48];
	fma.rn.f64 	%fd29, %fd306, %fd28, %fd307;
	fma.rn.f64 	%fd539, %fd29, %fd538, %fd538;
	@%p18 bra 	BB70_27;

	mov.f64 	%fd528, 0d3FF0000000000000;
	fma.rn.f64 	%fd539, %fd29, %fd28, %fd528;

BB70_27:
	and.b32  	%r47, %r17, 2;
	setp.eq.s32	%p19, %r47, 0;
	@%p19 bra 	BB70_29;

	mov.f64 	%fd309, 0d0000000000000000;
	mov.f64 	%fd310, 0dBFF0000000000000;
	fma.rn.f64 	%fd539, %fd539, %fd310, %fd309;

BB70_29:
	mul.f64 	%fd540, %fd18, %fd539;
	bra.uni 	BB70_30;

BB70_13:
	add.f64 	%fd127, %fd534, 0dC0033D152E971B40;
	add.f64 	%fd128, %fd127, 0d3CA0F539D7DA258E;
	mov.f64 	%fd129, 0dBCFCF8F9A8C294BC;
	mov.f64 	%fd130, 0dBCC0D18564C48C61;
	fma.rn.f64 	%fd131, %fd130, %fd128, %fd129;
	mov.f64 	%fd132, 0d3D3FAB983CAE498B;
	fma.rn.f64 	%fd133, %fd131, %fd128, %fd132;
	mov.f64 	%fd134, 0d3D7CD7C018579B88;
	fma.rn.f64 	%fd135, %fd133, %fd128, %fd134;
	mov.f64 	%fd136, 0dBDBBDD2342D64FDD;
	fma.rn.f64 	%fd137, %fd135, %fd128, %fd136;
	mov.f64 	%fd138, 0dBDF5C2D9416B1E2B;
	fma.rn.f64 	%fd139, %fd137, %fd128, %fd138;
	mov.f64 	%fd140, 0d3E32951D73174DD5;
	fma.rn.f64 	%fd141, %fd139, %fd128, %fd140;
	mov.f64 	%fd142, 0d3E67FF99802CAEB5;
	fma.rn.f64 	%fd143, %fd141, %fd128, %fd142;
	mov.f64 	%fd144, 0dBEA1CCE305C4C9F7;
	fma.rn.f64 	%fd145, %fd143, %fd128, %fd144;
	mov.f64 	%fd146, 0dBED232C77E29E1BB;
	fma.rn.f64 	%fd147, %fd145, %fd128, %fd146;
	mov.f64 	%fd148, 0d3F06ED3B9F0EF757;
	fma.rn.f64 	%fd149, %fd147, %fd128, %fd148;
	mov.f64 	%fd150, 0d3F315382BA096A62;
	fma.rn.f64 	%fd151, %fd149, %fd128, %fd150;
	mov.f64 	%fd152, 0dBF61F992590D1AE4;
	fma.rn.f64 	%fd153, %fd151, %fd128, %fd152;
	mov.f64 	%fd154, 0dBF81BB1CBE1A465F;
	fma.rn.f64 	%fd155, %fd153, %fd128, %fd154;
	mov.f64 	%fd156, 0d3FACFAE864368D84;
	fma.rn.f64 	%fd157, %fd155, %fd128, %fd156;
	mov.f64 	%fd158, 0d3FBBA1DEEA0294A3;
	fma.rn.f64 	%fd159, %fd157, %fd128, %fd158;
	mov.f64 	%fd160, 0dBFE09CDB36551280;
	fma.rn.f64 	%fd161, %fd159, %fd128, %fd160;
	mul.f64 	%fd540, %fd128, %fd161;
	bra.uni 	BB70_30;

BB70_15:
	add.f64 	%fd162, %fd534, 0dC016148F5B2C2E45;
	add.f64 	%fd163, %fd162, 0dBC975054CD60A517;
	mov.f64 	%fd164, 0d3CF83FD1F333EB61;
	mov.f64 	%fd165, 0d3CBCB0A8F126B343;
	fma.rn.f64 	%fd166, %fd165, %fd163, %fd164;
	mov.f64 	%fd167, 0dBD4100E33E3FB413;
	fma.rn.f64 	%fd168, %fd166, %fd163, %fd167;
	mov.f64 	%fd169, 0dBD7846076D004627;
	fma.rn.f64 	%fd170, %fd168, %fd163, %fd169;
	mov.f64 	%fd171, 0d3DBE2F1D4F90720D;
	fma.rn.f64 	%fd172, %fd170, %fd163, %fd171;
	mov.f64 	%fd173, 0d3DF1D03B1E4A119B;
	fma.rn.f64 	%fd174, %fd172, %fd163, %fd173;
	mov.f64 	%fd175, 0dBE341D72B1B3BCE9;
	fma.rn.f64 	%fd176, %fd174, %fd163, %fd175;
	mov.f64 	%fd177, 0dBE62DA37CE2A9EF8;
	fma.rn.f64 	%fd178, %fd176, %fd163, %fd177;
	mov.f64 	%fd179, 0d3EA32E6D9974F763;
	fma.rn.f64 	%fd180, %fd178, %fd163, %fd179;
	mov.f64 	%fd181, 0d3ECAD77D744A1879;
	fma.rn.f64 	%fd182, %fd180, %fd163, %fd181;
	mov.f64 	%fd183, 0dBF0863F481A37337;
	fma.rn.f64 	%fd184, %fd182, %fd163, %fd183;
	mov.f64 	%fd185, 0dBF26F641F418F0F4;
	fma.rn.f64 	%fd186, %fd184, %fd163, %fd185;
	mov.f64 	%fd187, 0d3F627E31FE9A969E;
	fma.rn.f64 	%fd188, %fd186, %fd163, %fd187;
	mov.f64 	%fd189, 0d3F72F7FFE9025628;
	fma.rn.f64 	%fd190, %fd188, %fd163, %fd189;
	mov.f64 	%fd191, 0dBFAB2150CB41E8BF;
	fma.rn.f64 	%fd192, %fd190, %fd163, %fd191;
	mov.f64 	%fd193, 0dBF9F8F72E7A848DE;
	fma.rn.f64 	%fd194, %fd192, %fd163, %fd193;
	mov.f64 	%fd195, 0d3FD5C6E60A097823;
	fma.rn.f64 	%fd196, %fd194, %fd163, %fd195;
	mul.f64 	%fd540, %fd163, %fd196;
	bra.uni 	BB70_30;

BB70_36:
	add.f64 	%fd410, %fd2, 0dC01C581DC4E72103;
	add.f64 	%fd411, %fd410, 0d3C99774A495F56CF;
	mov.f64 	%fd412, 0dBD3F443BB4F53D75;
	mov.f64 	%fd413, 0d3CF1CB3ABA718B8E;
	fma.rn.f64 	%fd414, %fd413, %fd411, %fd412;
	mov.f64 	%fd415, 0dBD770F737BD6A786;
	fma.rn.f64 	%fd416, %fd414, %fd411, %fd415;
	mov.f64 	%fd417, 0d3DBF0E9A20459E14;
	fma.rn.f64 	%fd418, %fd416, %fd411, %fd417;
	mov.f64 	%fd419, 0d3DEFA6B137D5E108;
	fma.rn.f64 	%fd420, %fd418, %fd411, %fd419;
	mov.f64 	%fd421, 0dBE344296729FB7FA;
	fma.rn.f64 	%fd422, %fd420, %fd411, %fd421;
	mov.f64 	%fd423, 0dBE60A2813A80DFAA;
	fma.rn.f64 	%fd424, %fd422, %fd411, %fd423;
	mov.f64 	%fd425, 0d3EA34AA737A83EB4;
	fma.rn.f64 	%fd426, %fd424, %fd411, %fd425;
	mov.f64 	%fd427, 0d3EC6A9227332D03C;
	fma.rn.f64 	%fd428, %fd426, %fd411, %fd427;
	mov.f64 	%fd429, 0dBF08177E4F93C81E;
	fma.rn.f64 	%fd430, %fd428, %fd411, %fd429;
	mov.f64 	%fd431, 0dBF226DD71E391775;
	fma.rn.f64 	%fd432, %fd430, %fd411, %fd431;
	mov.f64 	%fd433, 0d3F61D35E85FD7B22;
	fma.rn.f64 	%fd434, %fd432, %fd411, %fd433;
	mov.f64 	%fd435, 0d3F6B2F14A955285C;
	fma.rn.f64 	%fd436, %fd434, %fd411, %fd435;
	mov.f64 	%fd437, 0dBFA8969C64CBF388;
	fma.rn.f64 	%fd438, %fd436, %fd411, %fd437;
	mov.f64 	%fd439, 0dBF95AEF611FC4D5A;
	fma.rn.f64 	%fd440, %fd438, %fd411, %fd439;
	mov.f64 	%fd441, 0d3FD334CCA0697A5A;
	fma.rn.f64 	%fd442, %fd440, %fd411, %fd441;
	mul.f64 	%fd545, %fd411, %fd442;
	bra.uni 	BB70_49;

BB70_17:
	add.f64 	%fd197, %fd534, 0dC0214EB56CCCDECA;
	add.f64 	%fd198, %fd197, 0d3CB51970714C7C25;
	mov.f64 	%fd199, 0dBCF4B3A71AAAC629;
	mov.f64 	%fd200, 0dBCBDB7FFCF659E24;
	fma.rn.f64 	%fd201, %fd200, %fd198, %fd199;
	mov.f64 	%fd202, 0d3D417EC150ECDCE7;
	fma.rn.f64 	%fd203, %fd201, %fd198, %fd202;
	mov.f64 	%fd204, 0d3D7438F5EA1D10B2;
	fma.rn.f64 	%fd205, %fd203, %fd198, %fd204;
	mov.f64 	%fd206, 0dBDBEDAE7EC2C9E87;
	fma.rn.f64 	%fd207, %fd205, %fd198, %fd206;
	mov.f64 	%fd208, 0dBDECADD2C4B91F58;
	fma.rn.f64 	%fd209, %fd207, %fd198, %fd208;
	mov.f64 	%fd210, 0d3E34582C8EE12204;
	fma.rn.f64 	%fd211, %fd209, %fd198, %fd210;
	mov.f64 	%fd212, 0d3E5CEDA451DD20F8;
	fma.rn.f64 	%fd213, %fd211, %fd198, %fd212;
	mov.f64 	%fd214, 0dBEA30E8CC3165E2F;
	fma.rn.f64 	%fd215, %fd213, %fd198, %fd214;
	mov.f64 	%fd216, 0dBEC3324842BB1A2E;
	fma.rn.f64 	%fd217, %fd215, %fd198, %fd216;
	mov.f64 	%fd218, 0d3F07800BC54FBDDB;
	fma.rn.f64 	%fd219, %fd217, %fd198, %fd218;
	mov.f64 	%fd220, 0d3F1D79605276949A;
	fma.rn.f64 	%fd221, %fd219, %fd198, %fd220;
	mov.f64 	%fd222, 0dBF60E0D60385A629;
	fma.rn.f64 	%fd223, %fd221, %fd198, %fd222;
	mov.f64 	%fd224, 0dBF648E63600D82F3;
	fma.rn.f64 	%fd225, %fd223, %fd198, %fd224;
	mov.f64 	%fd226, 0d3FA68B984EC6493A;
	fma.rn.f64 	%fd227, %fd225, %fd198, %fd226;
	mov.f64 	%fd228, 0d3F900F7FCF183E0B;
	fma.rn.f64 	%fd229, %fd227, %fd198, %fd228;
	mov.f64 	%fd230, 0dBFD15F7977A772D4;
	fma.rn.f64 	%fd231, %fd229, %fd198, %fd230;
	mul.f64 	%fd540, %fd198, %fd231;

BB70_30:
	mul.f64 	%fd311, %fd535, 0d3FE45F306DC9C883;
	fma.rn.f64 	%fd545, %fd311, %fd540, %fd3;

BB70_49:
	setp.lt.f64	%p29, %fd1, 0d0000000000000000;
	selp.f64	%fd524, 0dFFF8000000000000, %fd545, %p29;
	cvta.to.global.u64 	%rd27, %rd5;
	add.s64 	%rd29, %rd27, %rd12;
	st.global.f64 	[%rd29], %fd524;

BB70_50:
	ret;
}

	// .globl	vec_y1
.visible .entry vec_y1(
	.param .u64 vec_y1_param_0,
	.param .u64 vec_y1_param_1,
	.param .u64 vec_y1_param_2
)
{
	.local .align 4 .b8 	__local_depot71[4];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<34>;
	.reg .b32 	%r<72>;
	.reg .f64 	%fd<540>;
	.reg .b64 	%rd<36>;


	mov.u64 	%rd35, __local_depot71;
	cvta.local.u64 	%SP, %rd35;
	ld.param.u64 	%rd3, [vec_y1_param_0];
	ld.param.u64 	%rd1, [vec_y1_param_1];
	ld.param.u64 	%rd2, [vec_y1_param_2];
	mov.u32 	%r25, %ntid.x;
	mov.u32 	%r26, %ctaid.x;
	mov.u32 	%r27, %tid.x;
	mad.lo.s32 	%r28, %r25, %r26, %r27;
	cvt.s64.s32	%rd4, %r28;
	setp.ge.u64	%p1, %rd4, %rd3;
	@%p1 bra 	BB71_54;

	cvta.to.global.u64 	%rd5, %rd2;
	mul.wide.s32 	%rd6, %r28, 8;
	add.s64 	%rd7, %rd5, %rd6;
	ld.global.f64 	%fd1, [%rd7];
	abs.f64 	%fd2, %fd1;
	setp.lt.f64	%p2, %fd2, 0d000730D67819E8D2;
	@%p2 bra 	BB71_50;
	bra.uni 	BB71_2;

BB71_50:
	mov.f64 	%fd517, 0dBFE45F306DC9C883;
	div.rn.f64 	%fd539, %fd517, %fd2;
	bra.uni 	BB71_51;

BB71_2:
	setp.gtu.f64	%p3, %fd2, 0d3FF4C6F208132576;
	@%p3 bra 	BB71_32;
	bra.uni 	BB71_3;

BB71_32:
	setp.gtu.f64	%p23, %fd2, 0d4009B510EC2ADC83;
	@%p23 bra 	BB71_34;
	bra.uni 	BB71_33;

BB71_34:
	setp.gtu.f64	%p24, %fd2, 0d401C0D26D5A541CB;
	@%p24 bra 	BB71_36;
	bra.uni 	BB71_35;

BB71_36:
	setp.gtu.f64	%p25, %fd2, 0d4022585C739ACDDD;
	@%p25 bra 	BB71_38;
	bra.uni 	BB71_37;

BB71_38:
	abs.f64 	%fd437, %fd2;
	mov.f64 	%fd539, 0d0000000000000000;
	setp.eq.f64	%p26, %fd437, 0d7FF0000000000000;
	@%p26 bra 	BB71_51;

	// inline asm
	rcp.approx.ftz.f64 %fd438,%fd2;
	// inline asm
	neg.f64 	%fd440, %fd2;
	mov.f64 	%fd441, 0d3FF0000000000000;
	fma.rn.f64 	%fd442, %fd440, %fd438, %fd441;
	fma.rn.f64 	%fd443, %fd442, %fd442, %fd442;
	fma.rn.f64 	%fd444, %fd443, %fd438, %fd438;
	mul.f64 	%fd445, %fd444, %fd444;
	mov.f64 	%fd446, 0dC09C26E89385D5B1;
	mov.f64 	%fd447, 0d40D13DB326ECEBFE;
	fma.rn.f64 	%fd448, %fd447, %fd445, %fd446;
	mov.f64 	%fd449, 0d405C6AB923C6F55E;
	fma.rn.f64 	%fd450, %fd448, %fd445, %fd449;
	mov.f64 	%fd451, 0dC01E61EAF3BD2FA1;
	fma.rn.f64 	%fd452, %fd450, %fd445, %fd451;
	mov.f64 	%fd453, 0d3FE9BF15D9B97DD1;
	fma.rn.f64 	%fd454, %fd452, %fd445, %fd453;
	mov.f64 	%fd455, 0dBFC8BFECF93D7D19;
	fma.rn.f64 	%fd456, %fd454, %fd445, %fd455;
	mov.f64 	%fd457, 0d3FC7FFFFF756AA6C;
	fma.rn.f64 	%fd458, %fd456, %fd445, %fd457;
	mov.f64 	%fd459, 0d3FF0000000003646;
	fma.rn.f64 	%fd460, %fd458, %fd445, %fd459;
	mov.f64 	%fd461, 0d416024E99BA46E7B;
	mov.f64 	%fd462, 0dC1943281A050209C;
	fma.rn.f64 	%fd463, %fd462, %fd445, %fd461;
	mov.f64 	%fd464, 0dC11A6875D7DFBD65;
	fma.rn.f64 	%fd465, %fd463, %fd445, %fd464;
	mov.f64 	%fd466, 0d40D032C041790233;
	fma.rn.f64 	%fd467, %fd465, %fd445, %fd466;
	mov.f64 	%fd468, 0dC0839F895BC22946;
	fma.rn.f64 	%fd469, %fd467, %fd445, %fd468;
	mov.f64 	%fd470, 0d403E77CC78ECD2D8;
	fma.rn.f64 	%fd471, %fd469, %fd445, %fd470;
	mov.f64 	%fd472, 0dC002F368D0117BE9;
	fma.rn.f64 	%fd473, %fd471, %fd445, %fd472;
	mov.f64 	%fd474, 0d3FD7BCC786009A25;
	fma.rn.f64 	%fd475, %fd473, %fd445, %fd474;
	mov.f64 	%fd476, 0dBFC4FFFFFC51BC7A;
	fma.rn.f64 	%fd477, %fd475, %fd445, %fd476;
	mov.f64 	%fd478, 0d3FD7FFFFFFFFB5EA;
	fma.rn.f64 	%fd479, %fd477, %fd445, %fd478;
	fma.rn.f64 	%fd41, %fd479, %fd444, %fd2;
	rsqrt.approx.f64 	%fd480, %fd2;
	mul.f64 	%fd481, %fd480, 0d3FE9884533D43651;
	mul.f64 	%fd42, %fd460, %fd481;
	mul.f64 	%fd482, %fd41, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r70, %fd482;
	add.u64 	%rd19, %SP, 0;
	cvta.to.local.u64 	%rd20, %rd19;
	st.local.u32 	[%rd20], %r70;
	cvt.rn.f64.s32	%fd483, %r70;
	neg.f64 	%fd484, %fd483;
	mov.f64 	%fd485, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd486, %fd484, %fd485, %fd41;
	mov.f64 	%fd487, 0d3C91A62633145C00;
	fma.rn.f64 	%fd488, %fd484, %fd487, %fd486;
	mov.f64 	%fd489, 0d397B839A252049C0;
	fma.rn.f64 	%fd535, %fd484, %fd489, %fd488;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r52}, %fd41;
	}
	and.b32  	%r53, %r52, 2145386496;
	setp.lt.u32	%p27, %r53, 1105199104;
	@%p27 bra 	BB71_41;

	// Callseq Start 15
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd41;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd19;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd535, [retval0+0];
	
	//{
	}// Callseq End 15
	ld.local.u32 	%r70, [%rd20];

BB71_41:
	and.b32  	%r54, %r70, 3;
	cvt.rn.f64.s32	%fd490, %r54;
	add.f64 	%fd491, %fd535, 0dC00F6A7A2955385E;
	fma.rn.f64 	%fd536, %fd490, 0d3FF921FB54442D18, %fd491;
	abs.f64 	%fd492, %fd536;
	setp.neu.f64	%p28, %fd492, 0d7FF0000000000000;
	@%p28 bra 	BB71_43;

	mov.f64 	%fd493, 0d0000000000000000;
	mul.rn.f64 	%fd536, %fd536, %fd493;

BB71_43:
	mov.f64 	%fd525, 0d397B839A252049C0;
	mov.f64 	%fd524, 0d3C91A62633145C00;
	mov.f64 	%fd523, 0d3FF921FB54442D18;
	mul.f64 	%fd494, %fd536, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r71, %fd494;
	st.local.u32 	[%rd20], %r71;
	cvt.rn.f64.s32	%fd495, %r71;
	neg.f64 	%fd496, %fd495;
	fma.rn.f64 	%fd498, %fd496, %fd523, %fd536;
	fma.rn.f64 	%fd500, %fd496, %fd524, %fd498;
	fma.rn.f64 	%fd537, %fd496, %fd525, %fd500;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r55}, %fd536;
	}
	and.b32  	%r56, %r55, 2145386496;
	setp.lt.u32	%p29, %r56, 1105199104;
	@%p29 bra 	BB71_45;

	// Callseq Start 16
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd536;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd19;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd537, [retval0+0];
	
	//{
	}// Callseq End 16
	ld.local.u32 	%r71, [%rd20];

BB71_45:
	add.s32 	%r24, %r71, 1;
	and.b32  	%r57, %r24, 1;
	shl.b32 	%r58, %r57, 3;
	setp.eq.s32	%p30, %r57, 0;
	selp.f64	%fd502, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p30;
	mul.wide.u32 	%rd27, %r58, 8;
	mov.u64 	%rd28, __cudart_sin_cos_coeffs;
	add.s64 	%rd29, %rd27, %rd28;
	ld.const.f64 	%fd503, [%rd29+8];
	mul.rn.f64 	%fd52, %fd537, %fd537;
	fma.rn.f64 	%fd504, %fd502, %fd52, %fd503;
	ld.const.f64 	%fd505, [%rd29+16];
	fma.rn.f64 	%fd506, %fd504, %fd52, %fd505;
	ld.const.f64 	%fd507, [%rd29+24];
	fma.rn.f64 	%fd508, %fd506, %fd52, %fd507;
	ld.const.f64 	%fd509, [%rd29+32];
	fma.rn.f64 	%fd510, %fd508, %fd52, %fd509;
	ld.const.f64 	%fd511, [%rd29+40];
	fma.rn.f64 	%fd512, %fd510, %fd52, %fd511;
	ld.const.f64 	%fd513, [%rd29+48];
	fma.rn.f64 	%fd53, %fd512, %fd52, %fd513;
	fma.rn.f64 	%fd538, %fd53, %fd537, %fd537;
	@%p30 bra 	BB71_47;

	mov.f64 	%fd526, 0d3FF0000000000000;
	fma.rn.f64 	%fd538, %fd53, %fd52, %fd526;

BB71_47:
	and.b32  	%r59, %r24, 2;
	setp.eq.s32	%p31, %r59, 0;
	@%p31 bra 	BB71_49;

	mov.f64 	%fd515, 0d0000000000000000;
	mov.f64 	%fd516, 0dBFF0000000000000;
	fma.rn.f64 	%fd538, %fd538, %fd516, %fd515;

BB71_49:
	mul.f64 	%fd539, %fd42, %fd538;
	bra.uni 	BB71_51;

BB71_3:
	mul.f64 	%fd64, %fd2, %fd2;
	mov.f64 	%fd65, 0dBDCF0B5B1FB7B95E;
	mov.f64 	%fd66, 0d3D5249F90687428C;
	fma.rn.f64 	%fd67, %fd66, %fd64, %fd65;
	mov.f64 	%fd68, 0d3E432E589311FA14;
	fma.rn.f64 	%fd69, %fd67, %fd64, %fd68;
	mov.f64 	%fd70, 0dBEB0A780AA4A92E9;
	fma.rn.f64 	%fd71, %fd69, %fd64, %fd70;
	mov.f64 	%fd72, 0d3F12C7DBFFCAEC2B;
	fma.rn.f64 	%fd73, %fd71, %fd64, %fd72;
	mov.f64 	%fd74, 0dBF6835B97894BA4A;
	fma.rn.f64 	%fd75, %fd73, %fd64, %fd74;
	mov.f64 	%fd76, 0d3FABD3975C75B4A3;
	fma.rn.f64 	%fd77, %fd75, %fd64, %fd76;
	mov.f64 	%fd78, 0dBFC91866143CBC8A;
	fma.rn.f64 	%fd3, %fd77, %fd64, %fd78;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r64}, %fd2;
	}
	setp.lt.s32	%p4, %r64, 2146435072;
	setp.gt.f64	%p5, %fd2, 0d0000000000000000;
	and.pred  	%p6, %p5, %p4;
	@%p6 bra 	BB71_8;
	bra.uni 	BB71_4;

BB71_8:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r65, %temp}, %fd2;
	}
	mov.u32 	%r66, -1023;
	setp.gt.s32	%p10, %r64, 1048575;
	@%p10 bra 	BB71_10;

	mul.f64 	%fd80, %fd2, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r64}, %fd80;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r65, %temp}, %fd80;
	}
	mov.u32 	%r66, -1077;

BB71_10:
	shr.u32 	%r35, %r64, 20;
	add.s32 	%r67, %r66, %r35;
	and.b32  	%r36, %r64, -2146435073;
	or.b32  	%r37, %r36, 1072693248;
	mov.b64 	%fd527, {%r65, %r37};
	setp.lt.s32	%p11, %r37, 1073127583;
	@%p11 bra 	BB71_12;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r38, %temp}, %fd527;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r39}, %fd527;
	}
	add.s32 	%r40, %r39, -1048576;
	mov.b64 	%fd527, {%r38, %r40};
	add.s32 	%r67, %r67, 1;

BB71_12:
	add.f64 	%fd82, %fd527, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd81,%fd82;
	// inline asm
	neg.f64 	%fd83, %fd82;
	mov.f64 	%fd84, 0d3FF0000000000000;
	fma.rn.f64 	%fd85, %fd83, %fd81, %fd84;
	fma.rn.f64 	%fd86, %fd85, %fd85, %fd85;
	fma.rn.f64 	%fd87, %fd86, %fd81, %fd81;
	add.f64 	%fd88, %fd527, 0dBFF0000000000000;
	mul.f64 	%fd89, %fd88, %fd87;
	fma.rn.f64 	%fd90, %fd88, %fd87, %fd89;
	mul.f64 	%fd91, %fd90, %fd90;
	mov.f64 	%fd92, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd93, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd94, %fd93, %fd91, %fd92;
	mov.f64 	%fd95, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd96, %fd94, %fd91, %fd95;
	mov.f64 	%fd97, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd98, %fd96, %fd91, %fd97;
	mov.f64 	%fd99, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd100, %fd98, %fd91, %fd99;
	mov.f64 	%fd101, 0d3F624924923BE72D;
	fma.rn.f64 	%fd102, %fd100, %fd91, %fd101;
	mov.f64 	%fd103, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd104, %fd102, %fd91, %fd103;
	mov.f64 	%fd105, 0d3FB5555555555554;
	fma.rn.f64 	%fd106, %fd104, %fd91, %fd105;
	sub.f64 	%fd107, %fd88, %fd90;
	add.f64 	%fd108, %fd107, %fd107;
	neg.f64 	%fd109, %fd90;
	fma.rn.f64 	%fd110, %fd109, %fd88, %fd108;
	mul.f64 	%fd111, %fd87, %fd110;
	mul.f64 	%fd112, %fd91, %fd106;
	fma.rn.f64 	%fd113, %fd112, %fd90, %fd111;
	xor.b32  	%r41, %r67, -2147483648;
	mov.u32 	%r42, 1127219200;
	mov.b64 	%fd114, {%r41, %r42};
	mov.u32 	%r43, -2147483648;
	mov.b64 	%fd115, {%r43, %r42};
	sub.f64 	%fd116, %fd114, %fd115;
	mov.f64 	%fd117, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd118, %fd116, %fd117, %fd90;
	neg.f64 	%fd119, %fd116;
	fma.rn.f64 	%fd120, %fd119, %fd117, %fd118;
	sub.f64 	%fd121, %fd120, %fd90;
	sub.f64 	%fd122, %fd113, %fd121;
	mov.f64 	%fd123, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd124, %fd116, %fd123, %fd122;
	add.f64 	%fd529, %fd118, %fd124;
	abs.f64 	%fd528, %fd2;
	bra.uni 	BB71_13;

BB71_33:
	add.f64 	%fd311, %fd2, 0dC00193BED4DFF243;
	add.f64 	%fd312, %fd311, 0d3C8BD1E50D219BFD;
	mov.f64 	%fd313, 0d3E4833AAE4D8B975;
	mov.f64 	%fd314, 0dBE2B87B0BE2AA150;
	fma.rn.f64 	%fd315, %fd314, %fd312, %fd313;
	mov.f64 	%fd316, 0dBE44E279B423E68F;
	fma.rn.f64 	%fd317, %fd315, %fd312, %fd316;
	mov.f64 	%fd318, 0d3E129DC6A747EB4F;
	fma.rn.f64 	%fd319, %fd317, %fd312, %fd318;
	mov.f64 	%fd320, 0dBE61D15534496CD8;
	fma.rn.f64 	%fd321, %fd319, %fd312, %fd320;
	mov.f64 	%fd322, 0d3E7EEC8D48FECE00;
	fma.rn.f64 	%fd323, %fd321, %fd312, %fd322;
	mov.f64 	%fd324, 0dBE8D1180AF70A134;
	fma.rn.f64 	%fd325, %fd323, %fd312, %fd324;
	mov.f64 	%fd326, 0d3E9C8386A0EA1388;
	fma.rn.f64 	%fd327, %fd325, %fd312, %fd326;
	mov.f64 	%fd328, 0dBEB01A014E7F3250;
	fma.rn.f64 	%fd329, %fd327, %fd312, %fd328;
	mov.f64 	%fd330, 0d3EC1FB752010A320;
	fma.rn.f64 	%fd331, %fd329, %fd312, %fd330;
	mov.f64 	%fd332, 0dBED3AA0AFF4E332B;
	fma.rn.f64 	%fd333, %fd331, %fd312, %fd332;
	mov.f64 	%fd334, 0d3EE584A6C77F6700;
	fma.rn.f64 	%fd335, %fd333, %fd312, %fd334;
	mov.f64 	%fd336, 0dBEF794C520FC2EBB;
	fma.rn.f64 	%fd337, %fd335, %fd312, %fd336;
	mov.f64 	%fd338, 0d3F09D18D2D35CC71;
	fma.rn.f64 	%fd339, %fd337, %fd312, %fd338;
	mov.f64 	%fd340, 0dBF1C3FB7315C4599;
	fma.rn.f64 	%fd341, %fd339, %fd312, %fd340;
	mov.f64 	%fd342, 0d3F2EEA7ADECCE927;
	fma.rn.f64 	%fd343, %fd341, %fd312, %fd342;
	mov.f64 	%fd344, 0dBF40B2D85257446F;
	fma.rn.f64 	%fd345, %fd343, %fd312, %fd344;
	mov.f64 	%fd346, 0d3F517AB4B1FE5D5B;
	fma.rn.f64 	%fd347, %fd345, %fd312, %fd346;
	mov.f64 	%fd348, 0dBF65429DC6516C0D;
	fma.rn.f64 	%fd349, %fd347, %fd312, %fd348;
	mov.f64 	%fd350, 0d3F7E671C7D0B090B;
	fma.rn.f64 	%fd351, %fd349, %fd312, %fd350;
	mov.f64 	%fd352, 0dBF73A6DEC36FB27C;
	fma.rn.f64 	%fd353, %fd351, %fd312, %fd352;
	mov.f64 	%fd354, 0dBFA0D2AF4E931FD1;
	fma.rn.f64 	%fd355, %fd353, %fd312, %fd354;
	mov.f64 	%fd356, 0dBFBE56F82217B964;
	fma.rn.f64 	%fd357, %fd355, %fd312, %fd356;
	mov.f64 	%fd358, 0d3FE0AA48442F014B;
	fma.rn.f64 	%fd359, %fd357, %fd312, %fd358;
	mul.f64 	%fd539, %fd312, %fd359;
	bra.uni 	BB71_51;

BB71_4:
	abs.f64 	%fd528, %fd2;
	setp.gtu.f64	%p7, %fd528, 0d7FF0000000000000;
	@%p7 bra 	BB71_7;
	bra.uni 	BB71_5;

BB71_7:
	add.f64 	%fd529, %fd2, %fd2;
	bra.uni 	BB71_13;

BB71_35:
	add.f64 	%fd360, %fd2, 0dC015B7FE4E87B02E;
	add.f64 	%fd361, %fd360, 0dBCBDFE7BAC228E8C;
	mov.f64 	%fd362, 0d3CC69A30996793E2;
	mov.f64 	%fd363, 0d3CBA3C76069F1D8C;
	fma.rn.f64 	%fd364, %fd363, %fd361, %fd362;
	mov.f64 	%fd365, 0dBCDDD8432FE756E7;
	fma.rn.f64 	%fd366, %fd364, %fd361, %fd365;
	mov.f64 	%fd367, 0dBD143158EEE220F7;
	fma.rn.f64 	%fd368, %fd366, %fd361, %fd367;
	mov.f64 	%fd369, 0d3D28D44491230F5A;
	fma.rn.f64 	%fd370, %fd368, %fd361, %fd369;
	mov.f64 	%fd371, 0dBD438842EAF4EDBC;
	fma.rn.f64 	%fd372, %fd370, %fd361, %fd371;
	mov.f64 	%fd373, 0d3D74958DAFBFAF5A;
	fma.rn.f64 	%fd374, %fd372, %fd361, %fd373;
	mov.f64 	%fd375, 0dBD9449A60E664848;
	fma.rn.f64 	%fd376, %fd374, %fd361, %fd375;
	mov.f64 	%fd377, 0d3D838BC8CD594A76;
	fma.rn.f64 	%fd378, %fd376, %fd361, %fd377;
	mov.f64 	%fd379, 0dBDFA798002141323;
	fma.rn.f64 	%fd380, %fd378, %fd361, %fd379;
	mov.f64 	%fd381, 0d3E380B4198956AAA;
	fma.rn.f64 	%fd382, %fd380, %fd361, %fd381;
	mov.f64 	%fd383, 0d3E5B62B5F21BACD4;
	fma.rn.f64 	%fd384, %fd382, %fd361, %fd383;
	mov.f64 	%fd385, 0dBEA255E729FB6AAE;
	fma.rn.f64 	%fd386, %fd384, %fd361, %fd385;
	mov.f64 	%fd387, 0dBEC80618F6BAE5AA;
	fma.rn.f64 	%fd388, %fd386, %fd361, %fd387;
	mov.f64 	%fd389, 0d3F085B940F8E8D36;
	fma.rn.f64 	%fd390, %fd388, %fd361, %fd389;
	mov.f64 	%fd391, 0d3F2337C7E10E14E8;
	fma.rn.f64 	%fd392, %fd390, %fd361, %fd391;
	mov.f64 	%fd393, 0dBF61BE6DB99332CA;
	fma.rn.f64 	%fd394, %fd392, %fd361, %fd393;
	mov.f64 	%fd395, 0dBF710A329E2BE9B8;
	fma.rn.f64 	%fd396, %fd394, %fd361, %fd395;
	mov.f64 	%fd397, 0d3FAA15D92DFE3FCF;
	fma.rn.f64 	%fd398, %fd396, %fd361, %fd397;
	mov.f64 	%fd399, 0d3FA00B9F8571C9BE;
	fma.rn.f64 	%fd400, %fd398, %fd361, %fd399;
	mov.f64 	%fd401, 0dBFD5C7C556F0C19A;
	fma.rn.f64 	%fd402, %fd400, %fd361, %fd401;
	mul.f64 	%fd539, %fd361, %fd402;
	bra.uni 	BB71_51;

BB71_5:
	setp.eq.f64	%p8, %fd2, 0d0000000000000000;
	mov.f64 	%fd529, 0dFFF0000000000000;
	@%p8 bra 	BB71_13;

	setp.eq.f64	%p9, %fd2, 0d7FF0000000000000;
	selp.f64	%fd529, %fd2, 0dFFF8000000000000, %p9;

BB71_13:
	setp.gtu.f64	%p12, %fd528, 0d400353AABAD7B784;
	@%p12 bra 	BB71_15;
	bra.uni 	BB71_14;

BB71_15:
	setp.gtu.f64	%p13, %fd528, 0d4015B1D0574614EA;
	@%p13 bra 	BB71_17;
	bra.uni 	BB71_16;

BB71_17:
	setp.gtu.f64	%p14, %fd528, 0d40213065E54C1AA9;
	@%p14 bra 	BB71_19;
	bra.uni 	BB71_18;

BB71_19:
	abs.f64 	%fd223, %fd528;
	mov.f64 	%fd534, 0d0000000000000000;
	setp.eq.f64	%p15, %fd223, 0d7FF0000000000000;
	@%p15 bra 	BB71_31;

	// inline asm
	rcp.approx.ftz.f64 %fd224,%fd528;
	// inline asm
	neg.f64 	%fd226, %fd528;
	mov.f64 	%fd227, 0d3FF0000000000000;
	fma.rn.f64 	%fd228, %fd226, %fd224, %fd227;
	fma.rn.f64 	%fd229, %fd228, %fd228, %fd228;
	fma.rn.f64 	%fd230, %fd229, %fd224, %fd224;
	mul.f64 	%fd231, %fd230, %fd230;
	mov.f64 	%fd232, 0dC099C06322A3F8BE;
	mov.f64 	%fd233, 0d40CD02EA3F2F6751;
	fma.rn.f64 	%fd234, %fd233, %fd231, %fd232;
	mov.f64 	%fd235, 0d405B89354DA77324;
	fma.rn.f64 	%fd236, %fd234, %fd231, %fd235;
	mov.f64 	%fd237, 0dC01E352294653188;
	fma.rn.f64 	%fd238, %fd236, %fd231, %fd237;
	mov.f64 	%fd239, 0d3FE9BC7DB16BD7A7;
	fma.rn.f64 	%fd240, %fd238, %fd231, %fd239;
	mov.f64 	%fd241, 0dBFC8BFE1C3A4F741;
	fma.rn.f64 	%fd242, %fd240, %fd231, %fd241;
	mov.f64 	%fd243, 0d3FC7FFFFF0D00BE2;
	fma.rn.f64 	%fd244, %fd242, %fd231, %fd243;
	mov.f64 	%fd245, 0d3FF00000000068CC;
	fma.rn.f64 	%fd246, %fd244, %fd231, %fd245;
	mov.f64 	%fd247, 0d415A30AC6857BEE0;
	mov.f64 	%fd248, 0dC18DA26B212FDC9A;
	fma.rn.f64 	%fd249, %fd248, %fd231, %fd247;
	mov.f64 	%fd250, 0dC11764222AD7C910;
	fma.rn.f64 	%fd251, %fd249, %fd231, %fd250;
	mov.f64 	%fd252, 0d40CEB02E0C306857;
	fma.rn.f64 	%fd253, %fd251, %fd231, %fd252;
	mov.f64 	%fd254, 0dC08351859FA2B23B;
	fma.rn.f64 	%fd255, %fd253, %fd231, %fd254;
	mov.f64 	%fd256, 0d403E65A07AF51F42;
	fma.rn.f64 	%fd257, %fd255, %fd231, %fd256;
	mov.f64 	%fd258, 0dC002F2B817F77A57;
	fma.rn.f64 	%fd259, %fd257, %fd231, %fd258;
	mov.f64 	%fd260, 0d3FD7BCC34DA069FD;
	fma.rn.f64 	%fd261, %fd259, %fd231, %fd260;
	mov.f64 	%fd262, 0dBFC4FFFFF8A44463;
	fma.rn.f64 	%fd263, %fd261, %fd231, %fd262;
	mov.f64 	%fd264, 0d3FD7FFFFFFFF5CD7;
	fma.rn.f64 	%fd265, %fd263, %fd231, %fd264;
	fma.rn.f64 	%fd17, %fd265, %fd230, %fd528;
	rsqrt.approx.f64 	%fd266, %fd528;
	mul.f64 	%fd267, %fd266, 0d3FE9884533D43651;
	mul.f64 	%fd18, %fd246, %fd267;
	mul.f64 	%fd268, %fd17, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r68, %fd268;
	add.u64 	%rd8, %SP, 0;
	cvta.to.local.u64 	%rd9, %rd8;
	st.local.u32 	[%rd9], %r68;
	cvt.rn.f64.s32	%fd269, %r68;
	neg.f64 	%fd270, %fd269;
	mov.f64 	%fd271, 0d3FF921FB54442D18;
	fma.rn.f64 	%fd272, %fd270, %fd271, %fd17;
	mov.f64 	%fd273, 0d3C91A62633145C00;
	fma.rn.f64 	%fd274, %fd270, %fd273, %fd272;
	mov.f64 	%fd275, 0d397B839A252049C0;
	fma.rn.f64 	%fd530, %fd270, %fd275, %fd274;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r44}, %fd17;
	}
	and.b32  	%r45, %r44, 2145386496;
	setp.lt.u32	%p16, %r45, 1105199104;
	@%p16 bra 	BB71_22;

	add.u64 	%rd34, %SP, 0;
	// Callseq Start 13
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd17;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd34;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd530, [retval0+0];
	
	//{
	}// Callseq End 13
	ld.local.u32 	%r68, [%rd9];

BB71_22:
	and.b32  	%r46, %r68, 3;
	cvt.rn.f64.s32	%fd276, %r46;
	add.f64 	%fd277, %fd530, 0dC002D97C7F3321D2;
	fma.rn.f64 	%fd531, %fd276, 0d3FF921FB54442D18, %fd277;
	abs.f64 	%fd278, %fd531;
	setp.neu.f64	%p17, %fd278, 0d7FF0000000000000;
	@%p17 bra 	BB71_24;

	mov.f64 	%fd279, 0d0000000000000000;
	mul.rn.f64 	%fd531, %fd531, %fd279;

BB71_24:
	mov.f64 	%fd520, 0d397B839A252049C0;
	mov.f64 	%fd519, 0d3C91A62633145C00;
	mov.f64 	%fd518, 0d3FF921FB54442D18;
	mul.f64 	%fd280, %fd531, 0d3FE45F306DC9C883;
	cvt.rni.s32.f64	%r69, %fd280;
	st.local.u32 	[%rd9], %r69;
	cvt.rn.f64.s32	%fd281, %r69;
	neg.f64 	%fd282, %fd281;
	fma.rn.f64 	%fd284, %fd282, %fd518, %fd531;
	fma.rn.f64 	%fd286, %fd282, %fd519, %fd284;
	fma.rn.f64 	%fd532, %fd282, %fd520, %fd286;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r47}, %fd531;
	}
	and.b32  	%r48, %r47, 2145386496;
	setp.lt.u32	%p18, %r48, 1105199104;
	@%p18 bra 	BB71_26;

	add.u64 	%rd33, %SP, 0;
	// Callseq Start 14
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd531;
	.param .b64 param1;
	st.param.b64	[param1+0], %rd33;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_trig_reduction_slowpathd, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd532, [retval0+0];
	
	//{
	}// Callseq End 14
	ld.local.u32 	%r69, [%rd9];

BB71_26:
	add.s32 	%r17, %r69, 1;
	and.b32  	%r49, %r17, 1;
	shl.b32 	%r50, %r49, 3;
	setp.eq.s32	%p19, %r49, 0;
	selp.f64	%fd288, 0d3DE5DB65F9785EBA, 0dBDA8FF8320FD8164, %p19;
	mul.wide.u32 	%rd16, %r50, 8;
	mov.u64 	%rd17, __cudart_sin_cos_coeffs;
	add.s64 	%rd18, %rd16, %rd17;
	ld.const.f64 	%fd289, [%rd18+8];
	mul.rn.f64 	%fd28, %fd532, %fd532;
	fma.rn.f64 	%fd290, %fd288, %fd28, %fd289;
	ld.const.f64 	%fd291, [%rd18+16];
	fma.rn.f64 	%fd292, %fd290, %fd28, %fd291;
	ld.const.f64 	%fd293, [%rd18+24];
	fma.rn.f64 	%fd294, %fd292, %fd28, %fd293;
	ld.const.f64 	%fd295, [%rd18+32];
	fma.rn.f64 	%fd296, %fd294, %fd28, %fd295;
	ld.const.f64 	%fd297, [%rd18+40];
	fma.rn.f64 	%fd298, %fd296, %fd28, %fd297;
	ld.const.f64 	%fd299, [%rd18+48];
	fma.rn.f64 	%fd29, %fd298, %fd28, %fd299;
	fma.rn.f64 	%fd533, %fd29, %fd532, %fd532;
	@%p19 bra 	BB71_28;

	mov.f64 	%fd521, 0d3FF0000000000000;
	fma.rn.f64 	%fd533, %fd29, %fd28, %fd521;

BB71_28:
	and.b32  	%r51, %r17, 2;
	setp.eq.s32	%p20, %r51, 0;
	@%p20 bra 	BB71_30;

	mov.f64 	%fd301, 0d0000000000000000;
	mov.f64 	%fd302, 0dBFF0000000000000;
	fma.rn.f64 	%fd533, %fd533, %fd302, %fd301;

BB71_30:
	mul.f64 	%fd534, %fd18, %fd533;
	bra.uni 	BB71_31;

BB71_14:
	mov.f64 	%fd125, 0dBD4DD167A0DC3F55;
	mov.f64 	%fd126, 0d3D020E4ADCDE2AD3;
	fma.rn.f64 	%fd127, %fd126, %fd528, %fd125;
	mov.f64 	%fd128, 0d3D5503F5A491E487;
	fma.rn.f64 	%fd129, %fd127, %fd528, %fd128;
	mov.f64 	%fd130, 0d3DC1F29940C2403A;
	fma.rn.f64 	%fd131, %fd129, %fd528, %fd130;
	mov.f64 	%fd132, 0d3D84CF9302EACDEF;
	fma.rn.f64 	%fd133, %fd131, %fd528, %fd132;
	mov.f64 	%fd134, 0dBE384A53DBBCA436;
	fma.rn.f64 	%fd135, %fd133, %fd528, %fd134;
	mov.f64 	%fd136, 0d3D9779BEE4F63BCC;
	fma.rn.f64 	%fd137, %fd135, %fd528, %fd136;
	mov.f64 	%fd138, 0d3EA6C160E414F3F0;
	fma.rn.f64 	%fd139, %fd137, %fd528, %fd138;
	mov.f64 	%fd140, 0d3D8F3D2F12430699;
	fma.rn.f64 	%fd141, %fd139, %fd528, %fd140;
	mov.f64 	%fd142, 0dBF0C71C72C0CED04;
	fma.rn.f64 	%fd143, %fd141, %fd528, %fd142;
	mov.f64 	%fd144, 0d3D659BCA506F1128;
	fma.rn.f64 	%fd145, %fd143, %fd528, %fd144;
	mov.f64 	%fd146, 0d3F65555555506982;
	fma.rn.f64 	%fd147, %fd145, %fd528, %fd146;
	mov.f64 	%fd148, 0d3D15BA0B425F1BFB;
	fma.rn.f64 	%fd149, %fd147, %fd528, %fd148;
	mov.f64 	%fd150, 0dBFB0000000000065;
	fma.rn.f64 	%fd151, %fd149, %fd528, %fd150;
	mov.f64 	%fd152, 0d3C8729A7253FB679;
	fma.rn.f64 	%fd153, %fd151, %fd528, %fd152;
	mov.f64 	%fd154, 0d3FE0000000000000;
	fma.rn.f64 	%fd155, %fd153, %fd528, %fd154;
	mul.f64 	%fd534, %fd528, %fd155;
	bra.uni 	BB71_31;

BB71_16:
	add.f64 	%fd156, %fd528, 0dC00EA75575AF6F09;
	add.f64 	%fd157, %fd156, 0d3CA60155A9D1B256;
	mov.f64 	%fd158, 0d3D41011A1DF02DAD;
	mov.f64 	%fd159, 0dBCF8D3CDBB60175E;
	fma.rn.f64 	%fd160, %fd159, %fd157, %fd158;
	mov.f64 	%fd161, 0d3D76013AC1E5E222;
	fma.rn.f64 	%fd162, %fd160, %fd157, %fd161;
	mov.f64 	%fd163, 0dBDBEC315D96D5F03;
	fma.rn.f64 	%fd164, %fd162, %fd157, %fd163;
	mov.f64 	%fd165, 0dBDF03BE1B4B57207;
	fma.rn.f64 	%fd166, %fd164, %fd157, %fd165;
	mov.f64 	%fd167, 0d3E345695F8B660F7;
	fma.rn.f64 	%fd168, %fd166, %fd157, %fd167;
	mov.f64 	%fd169, 0d3E617069FCFCFFF4;
	fma.rn.f64 	%fd170, %fd168, %fd157, %fd169;
	mov.f64 	%fd171, 0dBEA33825C36745EB;
	fma.rn.f64 	%fd172, %fd170, %fd157, %fd171;
	mov.f64 	%fd173, 0dBEC9799D4F90931B;
	fma.rn.f64 	%fd174, %fd172, %fd157, %fd173;
	mov.f64 	%fd175, 0d3F083A06E2F7DF13;
	fma.rn.f64 	%fd176, %fd174, %fd157, %fd175;
	mov.f64 	%fd177, 0d3F26E4C2D53A7CF6;
	fma.rn.f64 	%fd178, %fd176, %fd157, %fd177;
	mov.f64 	%fd179, 0dBF624B3409957B1C;
	fma.rn.f64 	%fd180, %fd178, %fd157, %fd179;
	mov.f64 	%fd181, 0dBF7537544C3325DF;
	fma.rn.f64 	%fd182, %fd180, %fd157, %fd181;
	mov.f64 	%fd183, 0d3FAB589D1DA138E2;
	fma.rn.f64 	%fd184, %fd182, %fd157, %fd183;
	mov.f64 	%fd185, 0d3FAAE8A39F51AD13;
	fma.rn.f64 	%fd186, %fd184, %fd157, %fd185;
	mov.f64 	%fd187, 0dBFD9C6CF582CBF7F;
	fma.rn.f64 	%fd188, %fd186, %fd157, %fd187;
	mul.f64 	%fd534, %fd157, %fd188;
	bra.uni 	BB71_31;

BB71_37:
	add.f64 	%fd403, %fd2, 0dC0213127AE6169B4;
	add.f64 	%fd404, %fd403, 0dBCB479CC068D9046;
	mov.f64 	%fd405, 0dBD43515F67644276;
	mov.f64 	%fd406, 0d3CB09CCC22945996;
	fma.rn.f64 	%fd407, %fd406, %fd404, %fd405;
	mov.f64 	%fd408, 0dBD72C5B978E9F5C7;
	fma.rn.f64 	%fd409, %fd407, %fd404, %fd408;
	mov.f64 	%fd410, 0d3DBEC1151613913C;
	fma.rn.f64 	%fd411, %fd409, %fd404, %fd410;
	mov.f64 	%fd412, 0d3DE9E38D13C4A824;
	fma.rn.f64 	%fd413, %fd411, %fd404, %fd412;
	mov.f64 	%fd414, 0dBE341E75E1088EB5;
	fma.rn.f64 	%fd415, %fd413, %fd404, %fd414;
	mov.f64 	%fd416, 0dBE5A384EBB13CFE1;
	fma.rn.f64 	%fd417, %fd415, %fd404, %fd416;
	mov.f64 	%fd418, 0d3EA2BECB27F8C8F8;
	fma.rn.f64 	%fd419, %fd417, %fd404, %fd418;
	mov.f64 	%fd420, 0d3EC176E72B989FD8;
	fma.rn.f64 	%fd421, %fd419, %fd404, %fd420;
	mov.f64 	%fd422, 0dBF06F7BAB102F822;
	fma.rn.f64 	%fd423, %fd421, %fd404, %fd422;
	mov.f64 	%fd424, 0dBF1B50D7E1D278E1;
	fma.rn.f64 	%fd425, %fd423, %fd404, %fd424;
	mov.f64 	%fd426, 0d3F607A678D60004F;
	fma.rn.f64 	%fd427, %fd425, %fd404, %fd426;
	mov.f64 	%fd428, 0d3F63CED2A2E69115;
	fma.rn.f64 	%fd429, %fd427, %fd404, %fd428;
	mov.f64 	%fd430, 0dBFA6395DFE49FCD4;
	fma.rn.f64 	%fd431, %fd429, %fd404, %fd430;
	mov.f64 	%fd432, 0dBF902B3933CF21B1;
	fma.rn.f64 	%fd433, %fd431, %fd404, %fd432;
	mov.f64 	%fd434, 0d3FD15F993FCEAB5C;
	fma.rn.f64 	%fd435, %fd433, %fd404, %fd434;
	mul.f64 	%fd539, %fd404, %fd435;
	bra.uni 	BB71_51;

BB71_18:
	add.f64 	%fd189, %fd528, 0dC01C0FF5F3B47250;
	add.f64 	%fd190, %fd189, 0d3C9B226D9D243827;
	mov.f64 	%fd191, 0dBD40E8363DB649A9;
	mov.f64 	%fd192, 0d3CF3EB867515FAD6;
	fma.rn.f64 	%fd193, %fd192, %fd190, %fd191;
	mov.f64 	%fd194, 0dBD73B7DD4A6608FB;
	fma.rn.f64 	%fd195, %fd193, %fd190, %fd194;
	mov.f64 	%fd196, 0d3DBEC5E01482C750;
	fma.rn.f64 	%fd197, %fd195, %fd190, %fd196;
	mov.f64 	%fd198, 0d3DEC62BB9E882103;
	fma.rn.f64 	%fd199, %fd197, %fd190, %fd198;
	mov.f64 	%fd200, 0dBE34462EED732A23;
	fma.rn.f64 	%fd201, %fd199, %fd190, %fd200;
	mov.f64 	%fd202, 0dBE5D48DCAD7DC59B;
	fma.rn.f64 	%fd203, %fd201, %fd190, %fd202;
	mov.f64 	%fd204, 0d3EA3026DF29167E9;
	fma.rn.f64 	%fd205, %fd203, %fd190, %fd204;
	mov.f64 	%fd206, 0d3EC4255B0119666C;
	fma.rn.f64 	%fd207, %fd205, %fd190, %fd206;
	mov.f64 	%fd208, 0dBF0796A751B32693;
	fma.rn.f64 	%fd209, %fd207, %fd190, %fd208;
	mov.f64 	%fd210, 0dBF207358BBDBA284;
	fma.rn.f64 	%fd211, %fd209, %fd190, %fd210;
	mov.f64 	%fd212, 0d3F613FBC7D6927B1;
	fma.rn.f64 	%fd213, %fd211, %fd190, %fd212;
	mov.f64 	%fd214, 0d3F69A4B292E3DD75;
	fma.rn.f64 	%fd215, %fd213, %fd190, %fd214;
	mov.f64 	%fd216, 0dBFA80C83BDEEE4FB;
	fma.rn.f64 	%fd217, %fd215, %fd190, %fd216;
	mov.f64 	%fd218, 0dBF95E70DC60362BF;
	fma.rn.f64 	%fd219, %fd217, %fd190, %fd218;
	mov.f64 	%fd220, 0d3FD33518B3874E8A;
	fma.rn.f64 	%fd221, %fd219, %fd190, %fd220;
	mul.f64 	%fd534, %fd190, %fd221;

BB71_31:
	abs.f64 	%fd522, %fd1;
	neg.f64 	%fd303, %fd534;
	setp.lt.f64	%p21, %fd522, 0d0000000000000000;
	selp.f64	%fd304, %fd303, %fd534, %p21;
	mul.f64 	%fd305, %fd522, 0d3FE0000000000000;
	setp.lt.f64	%p22, %fd528, 0d39B4484BFEEBC2A0;
	selp.f64	%fd306, %fd305, %fd304, %p22;
	mov.f64 	%fd307, 0dBFF0000000000000;
	div.rn.f64 	%fd308, %fd307, %fd522;
	fma.rn.f64 	%fd309, %fd529, %fd306, %fd308;
	mul.f64 	%fd310, %fd309, 0d3FE45F306DC9C883;
	fma.rn.f64 	%fd539, %fd522, %fd3, %fd310;

BB71_51:
	setp.gtu.f64	%p32, %fd1, 0d0000000000000000;
	@%p32 bra 	BB71_53;

	setp.eq.f64	%p33, %fd1, 0d0000000000000000;
	selp.f64	%fd539, 0dFFF0000000000000, 0dFFF8000000000000, %p33;

BB71_53:
	cvta.to.global.u64 	%rd30, %rd1;
	add.s64 	%rd32, %rd30, %rd6;
	st.global.f64 	[%rd32], %fd539;

BB71_54:
	ret;
}

	// .globl	vec_copysign
.visible .entry vec_copysign(
	.param .u64 vec_copysign_param_0,
	.param .u64 vec_copysign_param_1,
	.param .u64 vec_copysign_param_2,
	.param .u64 vec_copysign_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<11>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd5, [vec_copysign_param_0];
	ld.param.u64 	%rd2, [vec_copysign_param_1];
	ld.param.u64 	%rd3, [vec_copysign_param_2];
	ld.param.u64 	%rd4, [vec_copysign_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB72_2;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r5}, %fd1;
	}
	ld.global.f64 	%fd2, [%rd8];
	{
	.reg .b32 %temp; 
	mov.b64 	{%r6, %temp}, %fd2;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r7}, %fd2;
	}
	and.b32  	%r8, %r5, -2147483648;
	and.b32  	%r9, %r7, 2147483647;
	or.b32  	%r10, %r9, %r8;
	mov.b64 	%fd3, {%r6, %r10};
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB72_2:
	ret;
}

	// .globl	vec_fdim
.visible .entry vec_fdim(
	.param .u64 vec_fdim_param_0,
	.param .u64 vec_fdim_param_1,
	.param .u64 vec_fdim_param_2,
	.param .u64 vec_fdim_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<5>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd5, [vec_fdim_param_0];
	ld.param.u64 	%rd2, [vec_fdim_param_1];
	ld.param.u64 	%rd3, [vec_fdim_param_2];
	ld.param.u64 	%rd4, [vec_fdim_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB73_2;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	sub.f64 	%fd3, %fd2, %fd1;
	setp.gtu.f64	%p2, %fd2, %fd1;
	selp.f64	%fd4, %fd3, 0d0000000000000000, %p2;
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd4;

BB73_2:
	ret;
}

	// .globl	vec_fdivide
.visible .entry vec_fdivide(
	.param .u64 vec_fdivide_param_0,
	.param .u64 vec_fdivide_param_1,
	.param .u64 vec_fdivide_param_2,
	.param .u64 vec_fdivide_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd5, [vec_fdivide_param_0];
	ld.param.u64 	%rd2, [vec_fdivide_param_1];
	ld.param.u64 	%rd3, [vec_fdivide_param_2];
	ld.param.u64 	%rd4, [vec_fdivide_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB74_2;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	div.rn.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB74_2:
	ret;
}

	// .globl	vec_fmax
.visible .entry vec_fmax(
	.param .u64 vec_fmax_param_0,
	.param .u64 vec_fmax_param_1,
	.param .u64 vec_fmax_param_2,
	.param .u64 vec_fmax_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd5, [vec_fmax_param_0];
	ld.param.u64 	%rd2, [vec_fmax_param_1];
	ld.param.u64 	%rd3, [vec_fmax_param_2];
	ld.param.u64 	%rd4, [vec_fmax_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB75_2;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	max.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB75_2:
	ret;
}

	// .globl	vec_fmin
.visible .entry vec_fmin(
	.param .u64 vec_fmin_param_0,
	.param .u64 vec_fmin_param_1,
	.param .u64 vec_fmin_param_2,
	.param .u64 vec_fmin_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .b32 	%r<5>;
	.reg .f64 	%fd<4>;
	.reg .b64 	%rd<13>;


	ld.param.u64 	%rd5, [vec_fmin_param_0];
	ld.param.u64 	%rd2, [vec_fmin_param_1];
	ld.param.u64 	%rd3, [vec_fmin_param_2];
	ld.param.u64 	%rd4, [vec_fmin_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB76_2;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd10];
	ld.global.f64 	%fd2, [%rd8];
	min.f64 	%fd3, %fd2, %fd1;
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd12, %rd11, %rd7;
	st.global.f64 	[%rd12], %fd3;

BB76_2:
	ret;
}

	// .globl	vec_fmod
.visible .entry vec_fmod(
	.param .u64 vec_fmod_param_0,
	.param .u64 vec_fmod_param_1,
	.param .u64 vec_fmod_param_2,
	.param .u64 vec_fmod_param_3
)
{
	.reg .pred 	%p<21>;
	.reg .b32 	%r<27>;
	.reg .f64 	%fd<36>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd5, [vec_fmod_param_0];
	ld.param.u64 	%rd2, [vec_fmod_param_1];
	ld.param.u64 	%rd3, [vec_fmod_param_2];
	ld.param.u64 	%rd4, [vec_fmod_param_3];
	mov.u32 	%r8, %tid.x;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mad.lo.s32 	%r11, %r9, %r10, %r8;
	cvt.s64.s32	%rd1, %r11;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB77_18;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd8];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	and.b32  	%r12, %r1, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r13, %temp}, %fd1;
	}
	ld.global.f64 	%fd2, [%rd10];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r14}, %fd2;
	}
	and.b32  	%r25, %r14, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r26, %temp}, %fd2;
	}
	mov.b64 	%fd34, {%r13, %r12};
	mov.b64 	%fd4, {%r26, %r25};
	setp.gt.u32	%p2, %r12, 2146435071;
	setp.gt.u32	%p3, %r25, 2146435071;
	or.pred  	%p4, %p2, %p3;
	@%p4 bra 	BB77_14;
	bra.uni 	BB77_2;

BB77_14:
	setp.gtu.f64	%p17, %fd34, 0d7FF0000000000000;
	setp.gtu.f64	%p18, %fd4, 0d7FF0000000000000;
	or.pred  	%p19, %p17, %p18;
	@%p19 bra 	BB77_16;
	bra.uni 	BB77_15;

BB77_16:
	add.f64 	%fd35, %fd1, %fd2;
	bra.uni 	BB77_17;

BB77_2:
	setp.eq.f64	%p5, %fd4, 0d0000000000000000;
	mov.f64 	%fd21, 0dFFF8000000000000;
	mov.f64 	%fd35, %fd21;
	@%p5 bra 	BB77_17;

	setp.ltu.f64	%p6, %fd34, %fd4;
	mov.f64 	%fd35, %fd1;
	@%p6 bra 	BB77_17;

	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd4;
	}
	mov.f64 	%fd30, 0d0000000000000000;
	setp.gt.s32	%p7, %r15, 1048575;
	@%p7 bra 	BB77_9;

	setp.geu.f64	%p8, %fd4, %fd34;
	mov.f64 	%fd31, %fd4;
	@%p8 bra 	BB77_8;

	mov.f64 	%fd32, %fd4;

BB77_7:
	add.f64 	%fd32, %fd32, %fd32;
	setp.lt.f64	%p9, %fd32, %fd34;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r16}, %fd32;
	}
	setp.lt.s32	%p10, %r16, 1048576;
	and.pred  	%p11, %p9, %p10;
	mov.f64 	%fd26, %fd32;
	mov.f64 	%fd31, %fd26;
	@%p11 bra 	BB77_7;

BB77_8:
	mov.f64 	%fd27, %fd31;
	mov.f64 	%fd30, %fd27;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r25}, %fd30;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r26, %temp}, %fd30;
	}

BB77_9:
	mov.f64 	%fd29, %fd30;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r17}, %fd34;
	}
	setp.lt.s32	%p12, %r17, 1048576;
	@%p12 bra 	BB77_11;

	and.b32  	%r18, %r25, 1048575;
	and.b32  	%r19, %r1, 2146435072;
	or.b32  	%r20, %r18, %r19;
	mov.b64 	%fd29, {%r26, %r20};

BB77_11:
	mul.f64 	%fd23, %fd29, 0d3FE0000000000000;
	setp.gt.f64	%p13, %fd29, %fd34;
	selp.f64	%fd33, %fd23, %fd29, %p13;
	setp.ltu.f64	%p14, %fd33, %fd4;
	@%p14 bra 	BB77_13;

BB77_12:
	sub.f64 	%fd24, %fd34, %fd33;
	setp.ltu.f64	%p15, %fd34, %fd33;
	selp.f64	%fd34, %fd34, %fd24, %p15;
	mul.f64 	%fd33, %fd33, 0d3FE0000000000000;
	setp.ge.f64	%p16, %fd33, %fd4;
	@%p16 bra 	BB77_12;

BB77_13:
	and.b32  	%r21, %r1, -2147483648;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r22}, %fd34;
	}
	or.b32  	%r23, %r22, %r21;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r24, %temp}, %fd34;
	}
	mov.b64 	%fd35, {%r24, %r23};
	bra.uni 	BB77_17;

BB77_15:
	setp.eq.f64	%p20, %fd34, 0d7FF0000000000000;
	selp.f64	%fd35, 0dFFF8000000000000, %fd1, %p20;

BB77_17:
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd13, %rd11, %rd7;
	st.global.f64 	[%rd13], %fd35;

BB77_18:
	ret;
}

	// .globl	vec_hypot
.visible .entry vec_hypot(
	.param .u64 vec_hypot_param_0,
	.param .u64 vec_hypot_param_1,
	.param .u64 vec_hypot_param_2,
	.param .u64 vec_hypot_param_3
)
{
	.reg .pred 	%p<4>;
	.reg .b32 	%r<13>;
	.reg .f64 	%fd<30>;
	.reg .b64 	%rd<17>;


	ld.param.u64 	%rd5, [vec_hypot_param_0];
	ld.param.u64 	%rd2, [vec_hypot_param_1];
	ld.param.u64 	%rd3, [vec_hypot_param_2];
	ld.param.u64 	%rd4, [vec_hypot_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd5;
	@%p1 bra 	BB78_2;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd3, [%rd8];
	abs.f64 	%fd4, %fd3;
	ld.global.f64 	%fd5, [%rd10];
	abs.f64 	%fd6, %fd5;
	mov.b64 	 %rd11, %fd6;
	mov.b64 	 %rd12, %fd4;
	min.u64 	%rd13, %rd11, %rd12;
	mov.b64 	 %fd7, %rd13;
	max.u64 	%rd14, %rd12, %rd11;
	mov.b64 	 %fd8, %rd14;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r5}, %fd8;
	}
	and.b32  	%r6, %r5, -4194304;
	mov.u32 	%r7, 2144337920;
	sub.s32 	%r8, %r7, %r6;
	mov.u32 	%r9, 0;
	mov.b64 	%fd9, {%r9, %r8};
	mul.f64 	%fd10, %fd7, %fd9;
	mul.f64 	%fd11, %fd8, %fd9;
	mul.f64 	%fd12, %fd10, %fd10;
	fma.rn.f64 	%fd13, %fd11, %fd11, %fd12;
	mov.f64 	%fd14, 0d7FEFFFFFFFFFFFFF;
	min.f64 	%fd2, %fd13, %fd14;
	// inline asm
	rsqrt.approx.ftz.f64 %fd1, %fd2;
	// inline asm
	mul.rn.f64 	%fd15, %fd1, %fd1;
	neg.f64 	%fd16, %fd15;
	mov.f64 	%fd17, 0d3FF0000000000000;
	fma.rn.f64 	%fd18, %fd2, %fd16, %fd17;
	mov.f64 	%fd19, 0d3FE0000000000000;
	mov.f64 	%fd20, 0d3FD8000000000000;
	fma.rn.f64 	%fd21, %fd20, %fd18, %fd19;
	mul.rn.f64 	%fd22, %fd18, %fd1;
	fma.rn.f64 	%fd23, %fd21, %fd22, %fd1;
	mul.f64 	%fd24, %fd13, %fd23;
	add.s32 	%r10, %r6, 1048576;
	mov.b64 	%fd25, {%r9, %r10};
	mul.f64 	%fd26, %fd24, %fd25;
	setp.eq.f64	%p2, %fd7, 0d0000000000000000;
	selp.f64	%fd27, %fd8, %fd26, %p2;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r11}, %fd7;
	}
	mov.f64 	%fd28, 0d7FF0000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r12}, %fd28;
	}
	setp.lt.u32	%p3, %r11, %r12;
	selp.f64	%fd29, %fd27, %fd7, %p3;
	cvta.to.global.u64 	%rd15, %rd2;
	add.s64 	%rd16, %rd15, %rd7;
	st.global.f64 	[%rd16], %fd29;

BB78_2:
	ret;
}

	// .globl	vec_nextafter
.visible .entry vec_nextafter(
	.param .u64 vec_nextafter_param_0,
	.param .u64 vec_nextafter_param_1,
	.param .u64 vec_nextafter_param_2,
	.param .u64 vec_nextafter_param_3
)
{
	.reg .pred 	%p<14>;
	.reg .b32 	%r<10>;
	.reg .f64 	%fd<11>;
	.reg .b64 	%rd<27>;


	ld.param.u64 	%rd6, [vec_nextafter_param_0];
	ld.param.u64 	%rd3, [vec_nextafter_param_1];
	ld.param.u64 	%rd4, [vec_nextafter_param_2];
	ld.param.u64 	%rd5, [vec_nextafter_param_3];
	mov.u32 	%r1, %tid.x;
	mov.u32 	%r2, %ntid.x;
	mov.u32 	%r3, %ctaid.x;
	mad.lo.s32 	%r4, %r2, %r3, %r1;
	cvt.s64.s32	%rd1, %r4;
	setp.ge.u64	%p1, %rd1, %rd6;
	@%p1 bra 	BB79_9;

	cvta.to.global.u64 	%rd7, %rd4;
	shl.b64 	%rd8, %rd1, 3;
	add.s64 	%rd9, %rd7, %rd8;
	cvta.to.global.u64 	%rd10, %rd5;
	add.s64 	%rd11, %rd10, %rd8;
	ld.global.f64 	%fd1, [%rd9];
	mov.b64 	 %rd2, %fd1;
	ld.global.f64 	%fd10, [%rd11];
	abs.f64 	%fd7, %fd1;
	setp.gtu.f64	%p2, %fd7, 0d7FF0000000000000;
	@%p2 bra 	BB79_7;

	abs.f64 	%fd8, %fd10;
	setp.gtu.f64	%p3, %fd8, 0d7FF0000000000000;
	@%p3 bra 	BB79_7;
	bra.uni 	BB79_3;

BB79_7:
	add.f64 	%fd10, %fd1, %fd10;

BB79_8:
	cvta.to.global.u64 	%rd24, %rd3;
	add.s64 	%rd26, %rd24, %rd8;
	st.global.f64 	[%rd26], %fd10;

BB79_9:
	ret;

BB79_3:
	mov.b64 	 %rd12, %fd10;
	or.b64  	%rd13, %rd12, %rd2;
	and.b64  	%rd14, %rd13, 9223372036854775807;
	setp.eq.s64	%p4, %rd14, 0;
	@%p4 bra 	BB79_8;

	shl.b64 	%rd15, %rd2, 1;
	setp.eq.s64	%p5, %rd15, 0;
	@%p5 bra 	BB79_6;
	bra.uni 	BB79_5;

BB79_6:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r5}, %fd10;
	}
	and.b32  	%r6, %r5, -2147483648;
	mov.f64 	%fd9, 0d0000000000000001;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r7}, %fd9;
	}
	or.b32  	%r8, %r7, %r6;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r9, %temp}, %fd9;
	}
	mov.b64 	%fd10, {%r9, %r8};
	bra.uni 	BB79_8;

BB79_5:
	setp.lt.f64	%p6, %fd1, %fd10;
	setp.lt.f64	%p7, %fd1, 0d0000000000000000;
	and.pred  	%p8, %p6, %p7;
	selp.s64	%rd16, -1, 0, %p8;
	add.s64 	%rd17, %rd16, %rd2;
	setp.gt.f64	%p9, %fd1, 0d0000000000000000;
	and.pred  	%p10, %p6, %p9;
	selp.u64	%rd18, 1, 0, %p10;
	add.s64 	%rd19, %rd17, %rd18;
	setp.gt.f64	%p11, %fd1, %fd10;
	and.pred  	%p12, %p11, %p7;
	selp.u64	%rd20, 1, 0, %p12;
	add.s64 	%rd21, %rd19, %rd20;
	and.pred  	%p13, %p11, %p9;
	selp.s64	%rd22, -1, 0, %p13;
	add.s64 	%rd23, %rd21, %rd22;
	mov.b64 	 %fd10, %rd23;
	bra.uni 	BB79_8;
}

	// .globl	vec_pow
.visible .entry vec_pow(
	.param .u64 vec_pow_param_0,
	.param .u64 vec_pow_param_1,
	.param .u64 vec_pow_param_2,
	.param .u64 vec_pow_param_3
)
{
	.reg .pred 	%p<21>;
	.reg .b32 	%r<29>;
	.reg .f64 	%fd<24>;
	.reg .b64 	%rd<16>;


	ld.param.u64 	%rd6, [vec_pow_param_0];
	ld.param.u64 	%rd3, [vec_pow_param_1];
	ld.param.u64 	%rd4, [vec_pow_param_2];
	ld.param.u64 	%rd5, [vec_pow_param_3];
	mov.u32 	%r3, %tid.x;
	mov.u32 	%r4, %ntid.x;
	mov.u32 	%r5, %ctaid.x;
	mad.lo.s32 	%r6, %r4, %r5, %r3;
	cvt.s64.s32	%rd1, %r6;
	setp.ge.u64	%p2, %rd1, %rd6;
	@%p2 bra 	BB80_15;

	cvta.to.global.u64 	%rd7, %rd4;
	shl.b64 	%rd8, %rd1, 3;
	add.s64 	%rd9, %rd7, %rd8;
	cvta.to.global.u64 	%rd10, %rd5;
	add.s64 	%rd11, %rd10, %rd8;
	ld.global.f64 	%fd1, [%rd9];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	ld.global.f64 	%fd2, [%rd11];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r2}, %fd2;
	}
	bfe.u32 	%r7, %r2, 20, 11;
	add.s32 	%r8, %r7, -1012;
	mov.b64 	 %rd12, %fd2;
	shl.b64 	%rd2, %rd12, %r8;
	setp.eq.s64	%p3, %rd2, -9223372036854775808;
	abs.f64 	%fd3, %fd1;
	// Callseq Start 17
	{
	.reg .b32 temp_param_reg;
	// }
	.param .b64 param0;
	st.param.f64	[param0+0], %fd3;
	.param .b64 param1;
	st.param.f64	[param1+0], %fd2;
	.param .b64 retval0;
	call.uni (retval0), 
	__internal_accurate_pow, 
	(
	param0, 
	param1
	);
	ld.param.f64	%fd23, [retval0+0];
	
	//{
	}// Callseq End 17
	setp.lt.s32	%p4, %r1, 0;
	and.pred  	%p1, %p4, %p3;
	@!%p1 bra 	BB80_3;
	bra.uni 	BB80_2;

BB80_2:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r9}, %fd23;
	}
	xor.b32  	%r10, %r9, -2147483648;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r11, %temp}, %fd23;
	}
	mov.b64 	%fd23, {%r11, %r10};

BB80_3:
	mov.f64 	%fd22, %fd23;
	setp.eq.f64	%p5, %fd1, 0d0000000000000000;
	@%p5 bra 	BB80_6;
	bra.uni 	BB80_4;

BB80_6:
	selp.b32	%r12, %r1, 0, %p3;
	or.b32  	%r13, %r12, 2146435072;
	setp.lt.s32	%p9, %r2, 0;
	selp.b32	%r14, %r13, %r12, %p9;
	mov.u32 	%r15, 0;
	mov.b64 	%fd22, {%r15, %r14};
	bra.uni 	BB80_7;

BB80_4:
	setp.gt.s32	%p6, %r1, -1;
	@%p6 bra 	BB80_7;

	cvt.rzi.f64.f64	%fd15, %fd2;
	setp.neu.f64	%p7, %fd15, %fd2;
	selp.f64	%fd22, 0dFFF8000000000000, %fd22, %p7;

BB80_7:
	mov.f64 	%fd9, %fd22;
	add.f64 	%fd10, %fd1, %fd2;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r16}, %fd10;
	}
	and.b32  	%r17, %r16, 2146435072;
	setp.ne.s32	%p10, %r17, 2146435072;
	mov.f64 	%fd21, %fd9;
	@%p10 bra 	BB80_14;

	setp.gtu.f64	%p11, %fd3, 0d7FF0000000000000;
	mov.f64 	%fd21, %fd10;
	@%p11 bra 	BB80_14;

	abs.f64 	%fd11, %fd2;
	setp.gtu.f64	%p12, %fd11, 0d7FF0000000000000;
	mov.f64 	%fd20, %fd10;
	mov.f64 	%fd21, %fd20;
	@%p12 bra 	BB80_14;

	setp.eq.f64	%p13, %fd11, 0d7FF0000000000000;
	@%p13 bra 	BB80_13;
	bra.uni 	BB80_11;

BB80_13:
	setp.gt.f64	%p15, %fd3, 0d3FF0000000000000;
	selp.b32	%r24, 2146435072, 0, %p15;
	xor.b32  	%r25, %r24, 2146435072;
	setp.lt.s32	%p16, %r2, 0;
	selp.b32	%r26, %r25, %r24, %p16;
	setp.eq.f64	%p17, %fd1, 0dBFF0000000000000;
	selp.b32	%r27, 1072693248, %r26, %p17;
	mov.u32 	%r28, 0;
	mov.b64 	%fd21, {%r28, %r27};
	bra.uni 	BB80_14;

BB80_11:
	setp.neu.f64	%p14, %fd3, 0d7FF0000000000000;
	mov.f64 	%fd21, %fd9;
	@%p14 bra 	BB80_14;

	shr.s32 	%r18, %r2, 31;
	and.b32  	%r19, %r18, -2146435072;
	add.s32 	%r20, %r19, 2146435072;
	or.b32  	%r21, %r20, -2147483648;
	selp.b32	%r22, %r21, %r20, %p1;
	mov.u32 	%r23, 0;
	mov.b64 	%fd21, {%r23, %r22};

BB80_14:
	setp.eq.f64	%p18, %fd2, 0d0000000000000000;
	setp.eq.f64	%p19, %fd1, 0d3FF0000000000000;
	or.pred  	%p20, %p19, %p18;
	selp.f64	%fd16, 0d3FF0000000000000, %fd21, %p20;
	cvta.to.global.u64 	%rd13, %rd3;
	add.s64 	%rd15, %rd13, %rd8;
	st.global.f64 	[%rd15], %fd16;

BB80_15:
	ret;
}

	// .globl	vec_remainder
.visible .entry vec_remainder(
	.param .u64 vec_remainder_param_0,
	.param .u64 vec_remainder_param_1,
	.param .u64 vec_remainder_param_2,
	.param .u64 vec_remainder_param_3
)
{
	.reg .pred 	%p<28>;
	.reg .b32 	%r<39>;
	.reg .f64 	%fd<39>;
	.reg .b64 	%rd<14>;


	ld.param.u64 	%rd5, [vec_remainder_param_0];
	ld.param.u64 	%rd2, [vec_remainder_param_1];
	ld.param.u64 	%rd3, [vec_remainder_param_2];
	ld.param.u64 	%rd4, [vec_remainder_param_3];
	mov.u32 	%r12, %tid.x;
	mov.u32 	%r13, %ntid.x;
	mov.u32 	%r14, %ctaid.x;
	mad.lo.s32 	%r15, %r13, %r14, %r12;
	cvt.s64.s32	%rd1, %r15;
	setp.ge.u64	%p3, %rd1, %rd5;
	@%p3 bra 	BB81_21;

	cvta.to.global.u64 	%rd6, %rd3;
	shl.b64 	%rd7, %rd1, 3;
	add.s64 	%rd8, %rd6, %rd7;
	cvta.to.global.u64 	%rd9, %rd4;
	add.s64 	%rd10, %rd9, %rd7;
	ld.global.f64 	%fd1, [%rd8];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd1;
	}
	and.b32  	%r16, %r1, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r17, %temp}, %fd1;
	}
	ld.global.f64 	%fd2, [%rd10];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r18}, %fd2;
	}
	and.b32  	%r35, %r18, 2147483647;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r36, %temp}, %fd2;
	}
	mov.b64 	%fd37, {%r17, %r16};
	mov.b64 	%fd4, {%r36, %r35};
	setp.gt.u32	%p4, %r16, 2146435071;
	setp.gt.u32	%p5, %r35, 2146435071;
	or.pred  	%p6, %p4, %p5;
	@%p6 bra 	BB81_17;
	bra.uni 	BB81_2;

BB81_17:
	setp.gtu.f64	%p23, %fd37, 0d7FF0000000000000;
	setp.gtu.f64	%p24, %fd4, 0d7FF0000000000000;
	or.pred  	%p25, %p23, %p24;
	@%p25 bra 	BB81_19;
	bra.uni 	BB81_18;

BB81_19:
	add.f64 	%fd38, %fd1, %fd2;
	bra.uni 	BB81_20;

BB81_2:
	setp.eq.f64	%p7, %fd4, 0d0000000000000000;
	mov.f64 	%fd38, 0dFFF8000000000000;
	@%p7 bra 	BB81_20;

	setp.ltu.f64	%p8, %fd37, %fd4;
	mov.u32 	%r38, 0;
	@%p8 bra 	BB81_14;

	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r20}, %fd4;
	}
	mov.f64 	%fd33, 0d0000000000000000;
	setp.gt.s32	%p9, %r20, 1048575;
	@%p9 bra 	BB81_9;

	setp.geu.f64	%p10, %fd4, %fd37;
	mov.f64 	%fd34, %fd4;
	@%p10 bra 	BB81_8;

	mov.f64 	%fd35, %fd4;

BB81_7:
	add.f64 	%fd35, %fd35, %fd35;
	setp.lt.f64	%p11, %fd35, %fd37;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r21}, %fd35;
	}
	setp.lt.s32	%p12, %r21, 1048576;
	and.pred  	%p13, %p11, %p12;
	mov.f64 	%fd29, %fd35;
	mov.f64 	%fd34, %fd29;
	@%p13 bra 	BB81_7;

BB81_8:
	mov.f64 	%fd30, %fd34;
	mov.f64 	%fd33, %fd30;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r35}, %fd33;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r36, %temp}, %fd33;
	}

BB81_9:
	mov.f64 	%fd32, %fd33;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r22}, %fd37;
	}
	setp.lt.s32	%p14, %r22, 1048576;
	@%p14 bra 	BB81_11;

	and.b32  	%r23, %r35, 1048575;
	and.b32  	%r24, %r1, 2146435072;
	or.b32  	%r25, %r23, %r24;
	mov.b64 	%fd32, {%r36, %r25};

BB81_11:
	mul.f64 	%fd24, %fd32, 0d3FE0000000000000;
	setp.gt.f64	%p15, %fd32, %fd37;
	selp.f64	%fd36, %fd24, %fd32, %p15;
	setp.ltu.f64	%p16, %fd36, %fd4;
	mov.u32 	%r37, -1;
	@%p16 bra 	BB81_14;

BB81_12:
	setp.ltu.f64	%p17, %fd37, %fd36;
	selp.u32	%r28, 1, 0, %p17;
	shl.b32 	%r29, %r37, 1;
	add.s32 	%r37, %r28, %r29;
	sub.f64 	%fd25, %fd37, %fd36;
	selp.f64	%fd37, %fd37, %fd25, %p17;
	mul.f64 	%fd36, %fd36, 0d3FE0000000000000;
	setp.ge.f64	%p18, %fd36, %fd4;
	@%p18 bra 	BB81_12;

	not.b32 	%r30, %r37;
	and.b32  	%r38, %r30, 1;

BB81_14:
	add.f64 	%fd17, %fd37, %fd37;
	setp.gt.f64	%p20, %fd17, %fd4;
	mov.pred 	%p27, -1;
	@%p20 bra 	BB81_16;

	setp.eq.f64	%p21, %fd17, %fd4;
	setp.ne.s32	%p22, %r38, 0;
	and.pred  	%p27, %p21, %p22;

BB81_16:
	sub.f64 	%fd26, %fd37, %fd4;
	selp.f64	%fd27, %fd26, %fd37, %p27;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r31}, %fd27;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r32, %temp}, %fd27;
	}
	and.b32  	%r33, %r1, -2147483648;
	xor.b32  	%r34, %r31, %r33;
	mov.b64 	%fd38, {%r32, %r34};
	bra.uni 	BB81_20;

BB81_18:
	setp.eq.f64	%p26, %fd37, 0d7FF0000000000000;
	selp.f64	%fd38, 0dFFF8000000000000, %fd1, %p26;

BB81_20:
	cvta.to.global.u64 	%rd11, %rd2;
	add.s64 	%rd13, %rd11, %rd7;
	st.global.f64 	[%rd13], %fd38;

BB81_21:
	ret;
}

.func  (.param .b64 func_retval0) __internal_trig_reduction_slowpathd(
	.param .b64 __internal_trig_reduction_slowpathd_param_0,
	.param .b64 __internal_trig_reduction_slowpathd_param_1
)
{
	.local .align 8 .b8 	__local_depot82[40];
	.reg .b64 	%SP;
	.reg .b64 	%SPL;
	.reg .pred 	%p<9>;
	.reg .b32 	%r<43>;
	.reg .f64 	%fd<5>;
	.reg .b64 	%rd<100>;


	mov.u64 	%rd99, __local_depot82;
	cvta.local.u64 	%SP, %rd99;
	ld.param.f64 	%fd4, [__internal_trig_reduction_slowpathd_param_0];
	ld.param.u64 	%rd37, [__internal_trig_reduction_slowpathd_param_1];
	add.u64 	%rd38, %SP, 0;
	cvta.to.local.u64 	%rd1, %rd38;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r1}, %fd4;
	}
	and.b32  	%r41, %r1, -2147483648;
	shr.u32 	%r3, %r1, 20;
	bfe.u32 	%r4, %r1, 20, 11;
	setp.eq.s32	%p1, %r4, 2047;
	@%p1 bra 	BB82_13;

	add.s32 	%r16, %r4, -1024;
	shr.u32 	%r17, %r16, 6;
	mov.u32 	%r18, 16;
	sub.s32 	%r5, %r18, %r17;
	mov.u32 	%r19, 19;
	sub.s32 	%r20, %r19, %r17;
	mov.u32 	%r21, 18;
	min.s32 	%r6, %r21, %r20;
	setp.gt.s32	%p2, %r5, %r6;
	mov.u64 	%rd93, 0;
	mov.u64 	%rd92, %rd1;
	@%p2 bra 	BB82_4;

	mov.b64 	 %rd41, %fd4;
	shl.b64 	%rd42, %rd41, 11;
	or.b64  	%rd3, %rd42, -9223372036854775808;
	add.s32 	%r7, %r5, -1;
	mov.u64 	%rd91, %rd1;
	bfe.u32 	%r22, %r1, 20, 11;
	add.s32 	%r23, %r22, -1024;
	shr.u32 	%r24, %r23, 6;
	mov.u32 	%r25, 15;
	sub.s32 	%r26, %r25, %r24;
	mul.wide.s32 	%rd43, %r26, 8;
	mov.u64 	%rd44, __cudart_i2opi_d;
	add.s64 	%rd89, %rd44, %rd43;
	mov.u64 	%rd93, 0;
	mov.u64 	%rd90, %rd1;
	mov.u32 	%r40, %r7;

BB82_3:
	.pragma "nounroll";
	mov.u32 	%r8, %r40;
	mov.u64 	%rd7, %rd90;
	ld.const.u64 	%rd47, [%rd89];
	// inline asm
	{
	.reg .u32 r0, r1, r2, r3, alo, ahi, blo, bhi, clo, chi;
	mov.b64         {alo,ahi}, %rd47;    
	mov.b64         {blo,bhi}, %rd3;    
	mov.b64         {clo,chi}, %rd93;    
	mad.lo.cc.u32   r0, alo, blo, clo;
	madc.hi.cc.u32  r1, alo, blo, chi;
	madc.hi.u32     r2, alo, bhi,   0;
	mad.lo.cc.u32   r1, alo, bhi,  r1;
	madc.hi.cc.u32  r2, ahi, blo,  r2;
	madc.hi.u32     r3, ahi, bhi,   0;
	mad.lo.cc.u32   r1, ahi, blo,  r1;
	madc.lo.cc.u32  r2, ahi, bhi,  r2;
	addc.u32        r3,  r3,   0;     
	mov.b64         %rd45, {r0,r1};      
	mov.b64         %rd93, {r2,r3};      
	}
	// inline asm
	st.local.u64 	[%rd91], %rd45;
	add.s32 	%r9, %r8, 1;
	sub.s32 	%r27, %r9, %r7;
	mul.wide.s32 	%rd50, %r27, 8;
	add.s64 	%rd91, %rd1, %rd50;
	add.s64 	%rd13, %rd7, 8;
	mov.u64 	%rd92, %rd13;
	add.s64 	%rd89, %rd89, 8;
	setp.lt.s32	%p3, %r9, %r6;
	mov.u64 	%rd90, %rd13;
	mov.u32 	%r40, %r9;
	@%p3 bra 	BB82_3;

BB82_4:
	st.local.u64 	[%rd92], %rd93;
	ld.local.u64 	%rd94, [%rd1+16];
	ld.local.u64 	%rd95, [%rd1+24];
	and.b32  	%r10, %r3, 63;
	setp.eq.s32	%p4, %r10, 0;
	@%p4 bra 	BB82_6;

	mov.u32 	%r28, 64;
	sub.s32 	%r29, %r28, %r10;
	shl.b64 	%rd51, %rd95, %r10;
	shr.u64 	%rd52, %rd94, %r29;
	or.b64  	%rd95, %rd51, %rd52;
	shl.b64 	%rd53, %rd94, %r10;
	ld.local.u64 	%rd54, [%rd1+8];
	shr.u64 	%rd55, %rd54, %r29;
	or.b64  	%rd94, %rd55, %rd53;

BB82_6:
	cvta.to.local.u64 	%rd56, %rd37;
	shr.u64 	%rd57, %rd95, 62;
	cvt.u32.u64	%r30, %rd57;
	shr.u64 	%rd58, %rd94, 62;
	shl.b64 	%rd59, %rd95, 2;
	or.b64  	%rd97, %rd59, %rd58;
	shl.b64 	%rd96, %rd94, 2;
	shr.u64 	%rd60, %rd95, 61;
	cvt.u32.u64	%r31, %rd60;
	and.b32  	%r32, %r31, 1;
	add.s32 	%r33, %r32, %r30;
	neg.s32 	%r34, %r33;
	setp.eq.s32	%p5, %r41, 0;
	selp.b32	%r35, %r33, %r34, %p5;
	st.local.u32 	[%rd56], %r35;
	setp.eq.s32	%p6, %r32, 0;
	@%p6 bra 	BB82_8;

	mov.u64 	%rd64, 0;
	// inline asm
	{
	.reg .u32 r0, r1, r2, r3, a0, a1, a2, a3, b0, b1, b2, b3;
	mov.b64         {a0,a1}, %rd64;
	mov.b64         {a2,a3}, %rd64;
	mov.b64         {b0,b1}, %rd96;
	mov.b64         {b2,b3}, %rd97;
	sub.cc.u32      r0, a0, b0; 
	subc.cc.u32     r1, a1, b1; 
	subc.cc.u32     r2, a2, b2; 
	subc.u32        r3, a3, b3; 
	mov.b64         %rd96, {r0,r1};
	mov.b64         %rd97, {r2,r3};
	}
	// inline asm
	xor.b32  	%r41, %r41, -2147483648;

BB82_8:
	clz.b64 	%r42, %rd97;
	setp.eq.s32	%p7, %r42, 0;
	@%p7 bra 	BB82_10;

	shl.b64 	%rd67, %rd97, %r42;
	mov.u32 	%r36, 64;
	sub.s32 	%r37, %r36, %r42;
	shr.u64 	%rd68, %rd96, %r37;
	or.b64  	%rd97, %rd68, %rd67;

BB82_10:
	mov.u64 	%rd72, -3958705157555305931;
	// inline asm
	{
	.reg .u32 r0, r1, r2, r3, alo, ahi, blo, bhi;
	mov.b64         {alo,ahi}, %rd97;   
	mov.b64         {blo,bhi}, %rd72;   
	mul.lo.u32      r0, alo, blo;    
	mul.hi.u32      r1, alo, blo;    
	mad.lo.cc.u32   r1, alo, bhi, r1;
	madc.hi.u32     r2, alo, bhi,  0;
	mad.lo.cc.u32   r1, ahi, blo, r1;
	madc.hi.cc.u32  r2, ahi, blo, r2;
	madc.hi.u32     r3, ahi, bhi,  0;
	mad.lo.cc.u32   r2, ahi, bhi, r2;
	addc.u32        r3, r3,  0;      
	mov.b64         %rd69, {r0,r1};     
	mov.b64         %rd98, {r2,r3};     
	}
	// inline asm
	setp.lt.s64	%p8, %rd98, 1;
	@%p8 bra 	BB82_12;

	// inline asm
	{
	.reg .u32 r0, r1, r2, r3, a0, a1, a2, a3, b0, b1, b2, b3;
	mov.b64         {a0,a1}, %rd69;
	mov.b64         {a2,a3}, %rd98;
	mov.b64         {b0,b1}, %rd69;
	mov.b64         {b2,b3}, %rd98;
	add.cc.u32      r0, a0, b0; 
	addc.cc.u32     r1, a1, b1; 
	addc.cc.u32     r2, a2, b2; 
	addc.u32        r3, a3, b3; 
	mov.b64         %rd73, {r0,r1};
	mov.b64         %rd98, {r2,r3};
	}
	// inline asm
	add.s32 	%r42, %r42, 1;

BB82_12:
	cvt.u64.u32	%rd79, %r41;
	shl.b64 	%rd80, %rd79, 32;
	mov.u32 	%r38, 1022;
	sub.s32 	%r39, %r38, %r42;
	cvt.u64.u32	%rd81, %r39;
	shl.b64 	%rd82, %rd81, 52;
	add.s64 	%rd83, %rd98, 1;
	shr.u64 	%rd84, %rd83, 10;
	add.s64 	%rd85, %rd84, 1;
	shr.u64 	%rd86, %rd85, 1;
	add.s64 	%rd87, %rd86, %rd82;
	or.b64  	%rd88, %rd87, %rd80;
	mov.b64 	 %fd4, %rd88;

BB82_13:
	st.param.f64	[func_retval0+0], %fd4;
	ret;
}

.func  (.param .b64 func_retval0) __internal_accurate_pow(
	.param .b64 __internal_accurate_pow_param_0,
	.param .b64 __internal_accurate_pow_param_1
)
{
	.reg .pred 	%p<8>;
	.reg .f32 	%f<3>;
	.reg .b32 	%r<49>;
	.reg .f64 	%fd<136>;


	ld.param.f64 	%fd12, [__internal_accurate_pow_param_0];
	ld.param.f64 	%fd13, [__internal_accurate_pow_param_1];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r46}, %fd12;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r45, %temp}, %fd12;
	}
	shr.u32 	%r47, %r46, 20;
	setp.ne.s32	%p1, %r47, 0;
	@%p1 bra 	BB83_2;

	mul.f64 	%fd14, %fd12, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r46}, %fd14;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r45, %temp}, %fd14;
	}
	shr.u32 	%r16, %r46, 20;
	add.s32 	%r47, %r16, -54;

BB83_2:
	add.s32 	%r48, %r47, -1023;
	and.b32  	%r17, %r46, -2146435073;
	or.b32  	%r18, %r17, 1072693248;
	mov.b64 	%fd134, {%r45, %r18};
	setp.lt.u32	%p2, %r18, 1073127583;
	@%p2 bra 	BB83_4;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r19, %temp}, %fd134;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r20}, %fd134;
	}
	add.s32 	%r21, %r20, -1048576;
	mov.b64 	%fd134, {%r19, %r21};
	add.s32 	%r48, %r47, -1022;

BB83_4:
	add.f64 	%fd16, %fd134, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd15,%fd16;
	// inline asm
	neg.f64 	%fd17, %fd16;
	mov.f64 	%fd18, 0d3FF0000000000000;
	fma.rn.f64 	%fd19, %fd17, %fd15, %fd18;
	fma.rn.f64 	%fd20, %fd19, %fd19, %fd19;
	fma.rn.f64 	%fd21, %fd20, %fd15, %fd15;
	add.f64 	%fd22, %fd134, 0dBFF0000000000000;
	mul.f64 	%fd23, %fd22, %fd21;
	fma.rn.f64 	%fd24, %fd22, %fd21, %fd23;
	mul.f64 	%fd25, %fd24, %fd24;
	mov.f64 	%fd26, 0d3ED0F5D241AD3B5A;
	mov.f64 	%fd27, 0d3EB0F5FF7D2CAFE2;
	fma.rn.f64 	%fd28, %fd27, %fd25, %fd26;
	mov.f64 	%fd29, 0d3EF3B20A75488A3F;
	fma.rn.f64 	%fd30, %fd28, %fd25, %fd29;
	mov.f64 	%fd31, 0d3F1745CDE4FAECD5;
	fma.rn.f64 	%fd32, %fd30, %fd25, %fd31;
	mov.f64 	%fd33, 0d3F3C71C7258A578B;
	fma.rn.f64 	%fd34, %fd32, %fd25, %fd33;
	mov.f64 	%fd35, 0d3F6249249242B910;
	fma.rn.f64 	%fd36, %fd34, %fd25, %fd35;
	mov.f64 	%fd37, 0d3F89999999999DFB;
	fma.rn.f64 	%fd38, %fd36, %fd25, %fd37;
	sub.f64 	%fd39, %fd22, %fd24;
	add.f64 	%fd40, %fd39, %fd39;
	neg.f64 	%fd41, %fd24;
	fma.rn.f64 	%fd42, %fd41, %fd22, %fd40;
	mul.f64 	%fd43, %fd21, %fd42;
	fma.rn.f64 	%fd44, %fd25, %fd38, 0d3FB5555555555555;
	mov.f64 	%fd45, 0d3FB5555555555555;
	sub.f64 	%fd46, %fd45, %fd44;
	fma.rn.f64 	%fd47, %fd25, %fd38, %fd46;
	add.f64 	%fd48, %fd47, 0d0000000000000000;
	add.f64 	%fd49, %fd48, 0dBC46A4CB00B9E7B0;
	add.f64 	%fd50, %fd44, %fd49;
	sub.f64 	%fd51, %fd44, %fd50;
	add.f64 	%fd52, %fd49, %fd51;
	mul.rn.f64 	%fd53, %fd24, %fd24;
	neg.f64 	%fd54, %fd53;
	fma.rn.f64 	%fd55, %fd24, %fd24, %fd54;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r22, %temp}, %fd43;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r23}, %fd43;
	}
	add.s32 	%r24, %r23, 1048576;
	mov.b64 	%fd56, {%r22, %r24};
	fma.rn.f64 	%fd57, %fd24, %fd56, %fd55;
	mul.rn.f64 	%fd58, %fd53, %fd24;
	neg.f64 	%fd59, %fd58;
	fma.rn.f64 	%fd60, %fd53, %fd24, %fd59;
	fma.rn.f64 	%fd61, %fd53, %fd43, %fd60;
	fma.rn.f64 	%fd62, %fd57, %fd24, %fd61;
	mul.rn.f64 	%fd63, %fd50, %fd58;
	neg.f64 	%fd64, %fd63;
	fma.rn.f64 	%fd65, %fd50, %fd58, %fd64;
	fma.rn.f64 	%fd66, %fd50, %fd62, %fd65;
	fma.rn.f64 	%fd67, %fd52, %fd58, %fd66;
	add.f64 	%fd68, %fd63, %fd67;
	sub.f64 	%fd69, %fd63, %fd68;
	add.f64 	%fd70, %fd67, %fd69;
	add.f64 	%fd71, %fd24, %fd68;
	sub.f64 	%fd72, %fd24, %fd71;
	add.f64 	%fd73, %fd68, %fd72;
	add.f64 	%fd74, %fd70, %fd73;
	add.f64 	%fd75, %fd43, %fd74;
	add.f64 	%fd76, %fd71, %fd75;
	sub.f64 	%fd77, %fd71, %fd76;
	add.f64 	%fd78, %fd75, %fd77;
	xor.b32  	%r25, %r48, -2147483648;
	mov.u32 	%r26, 1127219200;
	mov.b64 	%fd79, {%r25, %r26};
	mov.u32 	%r27, -2147483648;
	mov.b64 	%fd80, {%r27, %r26};
	sub.f64 	%fd81, %fd79, %fd80;
	mov.f64 	%fd82, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd83, %fd81, %fd82, %fd76;
	neg.f64 	%fd84, %fd81;
	fma.rn.f64 	%fd85, %fd84, %fd82, %fd83;
	sub.f64 	%fd86, %fd85, %fd76;
	sub.f64 	%fd87, %fd78, %fd86;
	mov.f64 	%fd88, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd89, %fd81, %fd88, %fd87;
	add.f64 	%fd90, %fd83, %fd89;
	sub.f64 	%fd91, %fd83, %fd90;
	add.f64 	%fd92, %fd89, %fd91;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r28}, %fd13;
	}
	add.s32 	%r29, %r28, %r28;
	setp.gt.u32	%p3, %r29, -33554433;
	and.b32  	%r30, %r28, -15728641;
	selp.b32	%r31, %r30, %r28, %p3;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r32, %temp}, %fd13;
	}
	mov.b64 	%fd93, {%r32, %r31};
	mul.rn.f64 	%fd94, %fd90, %fd93;
	neg.f64 	%fd95, %fd94;
	fma.rn.f64 	%fd96, %fd90, %fd93, %fd95;
	fma.rn.f64 	%fd97, %fd92, %fd93, %fd96;
	add.f64 	%fd4, %fd94, %fd97;
	sub.f64 	%fd98, %fd94, %fd4;
	add.f64 	%fd5, %fd97, %fd98;
	mov.f64 	%fd99, 0d3FF71547652B82FE;
	mul.rn.f64 	%fd100, %fd4, %fd99;
	mov.f64 	%fd101, 0d4338000000000000;
	add.rn.f64 	%fd102, %fd100, %fd101;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r13, %temp}, %fd102;
	}
	mov.f64 	%fd103, 0dC338000000000000;
	add.rn.f64 	%fd104, %fd102, %fd103;
	mov.f64 	%fd105, 0dBFE62E42FEFA39EF;
	fma.rn.f64 	%fd106, %fd104, %fd105, %fd4;
	mov.f64 	%fd107, 0dBC7ABC9E3B39803F;
	fma.rn.f64 	%fd108, %fd104, %fd107, %fd106;
	mov.f64 	%fd109, 0d3E928AF3FCA213EA;
	mov.f64 	%fd110, 0d3E5ADE1569CE2BDF;
	fma.rn.f64 	%fd111, %fd110, %fd108, %fd109;
	mov.f64 	%fd112, 0d3EC71DEE62401315;
	fma.rn.f64 	%fd113, %fd111, %fd108, %fd112;
	mov.f64 	%fd114, 0d3EFA01997C89EB71;
	fma.rn.f64 	%fd115, %fd113, %fd108, %fd114;
	mov.f64 	%fd116, 0d3F2A01A014761F65;
	fma.rn.f64 	%fd117, %fd115, %fd108, %fd116;
	mov.f64 	%fd118, 0d3F56C16C1852B7AF;
	fma.rn.f64 	%fd119, %fd117, %fd108, %fd118;
	mov.f64 	%fd120, 0d3F81111111122322;
	fma.rn.f64 	%fd121, %fd119, %fd108, %fd120;
	mov.f64 	%fd122, 0d3FA55555555502A1;
	fma.rn.f64 	%fd123, %fd121, %fd108, %fd122;
	mov.f64 	%fd124, 0d3FC5555555555511;
	fma.rn.f64 	%fd125, %fd123, %fd108, %fd124;
	mov.f64 	%fd126, 0d3FE000000000000B;
	fma.rn.f64 	%fd127, %fd125, %fd108, %fd126;
	fma.rn.f64 	%fd128, %fd127, %fd108, %fd18;
	fma.rn.f64 	%fd129, %fd128, %fd108, %fd18;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r14, %temp}, %fd129;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r15}, %fd129;
	}
	shl.b32 	%r33, %r13, 20;
	add.s32 	%r34, %r15, %r33;
	mov.b64 	%fd135, {%r14, %r34};
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r35}, %fd4;
	}
	mov.b32 	 %f2, %r35;
	abs.f32 	%f1, %f2;
	setp.lt.f32	%p4, %f1, 0f4086232B;
	@%p4 bra 	BB83_7;

	setp.lt.f64	%p5, %fd4, 0d0000000000000000;
	add.f64 	%fd130, %fd4, 0d7FF0000000000000;
	selp.f64	%fd135, 0d0000000000000000, %fd130, %p5;
	setp.geu.f32	%p6, %f1, 0f40874800;
	@%p6 bra 	BB83_7;

	shr.u32 	%r36, %r13, 31;
	add.s32 	%r37, %r13, %r36;
	shr.s32 	%r38, %r37, 1;
	shl.b32 	%r39, %r38, 20;
	add.s32 	%r40, %r39, %r15;
	mov.b64 	%fd131, {%r14, %r40};
	sub.s32 	%r41, %r13, %r38;
	shl.b32 	%r42, %r41, 20;
	add.s32 	%r43, %r42, 1072693248;
	mov.u32 	%r44, 0;
	mov.b64 	%fd132, {%r44, %r43};
	mul.f64 	%fd135, %fd131, %fd132;

BB83_7:
	abs.f64 	%fd133, %fd135;
	setp.eq.f64	%p7, %fd133, 0d7FF0000000000000;
	@%p7 bra 	BB83_9;

	fma.rn.f64 	%fd135, %fd135, %fd5, %fd135;

BB83_9:
	st.param.f64	[func_retval0+0], %fd135;
	ret;
}

.func  (.param .b64 func_retval0) __internal_lgamma_pos(
	.param .b64 __internal_lgamma_pos_param_0
)
{
	.reg .pred 	%p<22>;
	.reg .b32 	%r<54>;
	.reg .f64 	%fd<291>;


	ld.param.f64 	%fd24, [__internal_lgamma_pos_param_0];
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r50}, %fd24;
	}
	setp.gt.s32	%p1, %r50, 1074266111;
	@%p1 bra 	BB84_16;
	bra.uni 	BB84_1;

BB84_16:
	setp.gt.s32	%p12, %r50, 1075838975;
	@%p12 bra 	BB84_18;
	bra.uni 	BB84_17;

BB84_18:
	// inline asm
	rcp.approx.ftz.f64 %fd215,%fd24;
	// inline asm
	neg.f64 	%fd13, %fd24;
	mov.f64 	%fd217, 0d3FF0000000000000;
	fma.rn.f64 	%fd218, %fd13, %fd215, %fd217;
	fma.rn.f64 	%fd219, %fd218, %fd218, %fd218;
	fma.rn.f64 	%fd220, %fd219, %fd215, %fd215;
	mul.f64 	%fd221, %fd220, %fd220;
	mov.f64 	%fd222, 0d3F4B68B992738FBF;
	mov.f64 	%fd223, 0dBF5AC321034783F9;
	fma.rn.f64 	%fd224, %fd223, %fd221, %fd222;
	mov.f64 	%fd225, 0dBF4380D01E4F7B8C;
	fma.rn.f64 	%fd226, %fd224, %fd221, %fd225;
	mov.f64 	%fd227, 0d3F4A019FA29F7264;
	fma.rn.f64 	%fd228, %fd226, %fd221, %fd227;
	mov.f64 	%fd229, 0dBF66C16C16B2ACEC;
	fma.rn.f64 	%fd230, %fd228, %fd221, %fd229;
	mov.f64 	%fd231, 0d3FB5555555555545;
	fma.rn.f64 	%fd232, %fd230, %fd221, %fd231;
	mov.f64 	%fd233, 0d3FED67F1C864BEAE;
	fma.rn.f64 	%fd14, %fd232, %fd220, %fd233;
	setp.lt.s32	%p13, %r50, 2146435072;
	setp.gt.f64	%p14, %fd24, 0d0000000000000000;
	and.pred  	%p15, %p14, %p13;
	@%p15 bra 	BB84_23;
	bra.uni 	BB84_19;

BB84_23:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r51, %temp}, %fd24;
	}
	mov.u32 	%r52, -1023;
	setp.gt.s32	%p19, %r50, 1048575;
	@%p19 bra 	BB84_25;

	mul.f64 	%fd236, %fd24, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r50}, %fd236;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r51, %temp}, %fd236;
	}
	mov.u32 	%r52, -1077;

BB84_25:
	shr.u32 	%r34, %r50, 20;
	add.s32 	%r53, %r52, %r34;
	and.b32  	%r35, %r50, -2146435073;
	or.b32  	%r36, %r35, 1072693248;
	mov.b64 	%fd288, {%r51, %r36};
	setp.lt.s32	%p20, %r36, 1073127583;
	@%p20 bra 	BB84_27;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r37, %temp}, %fd288;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r38}, %fd288;
	}
	add.s32 	%r39, %r38, -1048576;
	mov.b64 	%fd288, {%r37, %r39};
	add.s32 	%r53, %r53, 1;

BB84_27:
	add.f64 	%fd238, %fd288, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd237,%fd238;
	// inline asm
	neg.f64 	%fd239, %fd238;
	fma.rn.f64 	%fd241, %fd239, %fd237, %fd217;
	fma.rn.f64 	%fd242, %fd241, %fd241, %fd241;
	fma.rn.f64 	%fd243, %fd242, %fd237, %fd237;
	add.f64 	%fd244, %fd288, 0dBFF0000000000000;
	mul.f64 	%fd245, %fd244, %fd243;
	fma.rn.f64 	%fd246, %fd244, %fd243, %fd245;
	mul.f64 	%fd247, %fd246, %fd246;
	mov.f64 	%fd248, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd249, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd250, %fd249, %fd247, %fd248;
	mov.f64 	%fd251, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd252, %fd250, %fd247, %fd251;
	mov.f64 	%fd253, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd254, %fd252, %fd247, %fd253;
	mov.f64 	%fd255, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd256, %fd254, %fd247, %fd255;
	mov.f64 	%fd257, 0d3F624924923BE72D;
	fma.rn.f64 	%fd258, %fd256, %fd247, %fd257;
	mov.f64 	%fd259, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd260, %fd258, %fd247, %fd259;
	mov.f64 	%fd261, 0d3FB5555555555554;
	fma.rn.f64 	%fd262, %fd260, %fd247, %fd261;
	sub.f64 	%fd263, %fd244, %fd246;
	add.f64 	%fd264, %fd263, %fd263;
	neg.f64 	%fd265, %fd246;
	fma.rn.f64 	%fd266, %fd265, %fd244, %fd264;
	mul.f64 	%fd267, %fd243, %fd266;
	mul.f64 	%fd268, %fd247, %fd262;
	fma.rn.f64 	%fd269, %fd268, %fd246, %fd267;
	xor.b32  	%r40, %r53, -2147483648;
	mov.u32 	%r41, 1127219200;
	mov.b64 	%fd270, {%r40, %r41};
	mov.u32 	%r42, -2147483648;
	mov.b64 	%fd271, {%r42, %r41};
	sub.f64 	%fd272, %fd270, %fd271;
	mov.f64 	%fd273, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd274, %fd272, %fd273, %fd246;
	neg.f64 	%fd275, %fd272;
	fma.rn.f64 	%fd276, %fd275, %fd273, %fd274;
	sub.f64 	%fd277, %fd276, %fd246;
	sub.f64 	%fd278, %fd269, %fd277;
	mov.f64 	%fd279, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd280, %fd272, %fd279, %fd278;
	add.f64 	%fd289, %fd274, %fd280;
	bra.uni 	BB84_28;

BB84_1:
	setp.gt.s32	%p2, %r50, 1073217535;
	@%p2 bra 	BB84_15;
	bra.uni 	BB84_2;

BB84_15:
	add.f64 	%fd145, %fd24, 0dC000000000000000;
	mov.f64 	%fd146, 0dBE71FA71D78C0EE2;
	mov.f64 	%fd147, 0d3E452636124338B3;
	fma.rn.f64 	%fd148, %fd147, %fd145, %fd146;
	mov.f64 	%fd149, 0d3E8D111F31E61306;
	fma.rn.f64 	%fd150, %fd148, %fd145, %fd149;
	mov.f64 	%fd151, 0dBEA0502BBE1B2706;
	fma.rn.f64 	%fd152, %fd150, %fd145, %fd151;
	mov.f64 	%fd153, 0d3EB06850B2970292;
	fma.rn.f64 	%fd154, %fd152, %fd145, %fd153;
	mov.f64 	%fd155, 0dBEC108474875033D;
	fma.rn.f64 	%fd156, %fd154, %fd145, %fd155;
	mov.f64 	%fd157, 0d3ED24ACCC62909DC;
	fma.rn.f64 	%fd158, %fd156, %fd145, %fd157;
	mov.f64 	%fd159, 0dBEE3CB25209E63BE;
	fma.rn.f64 	%fd160, %fd158, %fd145, %fd159;
	mov.f64 	%fd161, 0d3EF581CBBC8CDC7B;
	fma.rn.f64 	%fd162, %fd160, %fd145, %fd161;
	mov.f64 	%fd163, 0dBF078E04B85C7597;
	fma.rn.f64 	%fd164, %fd162, %fd145, %fd163;
	mov.f64 	%fd165, 0d3F1A12730CF45051;
	fma.rn.f64 	%fd166, %fd164, %fd145, %fd165;
	mov.f64 	%fd167, 0dBF2D3FD354062012;
	fma.rn.f64 	%fd168, %fd166, %fd145, %fd167;
	mov.f64 	%fd169, 0d3F40B36B0B4DE323;
	fma.rn.f64 	%fd170, %fd168, %fd145, %fd169;
	mov.f64 	%fd171, 0dBF538AC5C6D0317A;
	fma.rn.f64 	%fd172, %fd170, %fd145, %fd171;
	mov.f64 	%fd173, 0d3F67ADD6EAAB19FC;
	fma.rn.f64 	%fd174, %fd172, %fd145, %fd173;
	mov.f64 	%fd175, 0dBF7E404FC20E4D5B;
	fma.rn.f64 	%fd176, %fd174, %fd145, %fd175;
	mov.f64 	%fd177, 0d3F951322AC7DA390;
	fma.rn.f64 	%fd178, %fd176, %fd145, %fd177;
	mov.f64 	%fd179, 0dBFB13E001A5578A3;
	fma.rn.f64 	%fd180, %fd178, %fd145, %fd179;
	mov.f64 	%fd181, 0d3FD4A34CC4A60FA3;
	fma.rn.f64 	%fd182, %fd180, %fd145, %fd181;
	mov.f64 	%fd183, 0d3FDB0EE6072093CF;
	fma.rn.f64 	%fd184, %fd182, %fd145, %fd183;
	mul.f64 	%fd290, %fd145, %fd184;
	bra.uni 	BB84_29;

BB84_17:
	add.f64 	%fd185, %fd24, 0dC008000000000000;
	mov.f64 	%fd186, 0dC1122B7730207EF3;
	mov.f64 	%fd187, 0dC0AF7040BB18FB05;
	fma.rn.f64 	%fd188, %fd187, %fd185, %fd186;
	mov.f64 	%fd189, 0dC1585A0DB81DE7D0;
	fma.rn.f64 	%fd190, %fd188, %fd185, %fd189;
	mov.f64 	%fd191, 0dC18A992B8BA94677;
	fma.rn.f64 	%fd192, %fd190, %fd185, %fd191;
	mov.f64 	%fd193, 0dC1AAC5CB6957CC20;
	fma.rn.f64 	%fd194, %fd192, %fd185, %fd193;
	mov.f64 	%fd195, 0dC1BC0E2B308774BE;
	fma.rn.f64 	%fd196, %fd194, %fd185, %fd195;
	mov.f64 	%fd197, 0dC1C6BA13DCAE7F67;
	fma.rn.f64 	%fd198, %fd196, %fd185, %fd197;
	mov.f64 	%fd199, 0dC1CCF33B9C3D120C;
	fma.rn.f64 	%fd200, %fd198, %fd185, %fd199;
	add.f64 	%fd201, %fd185, 0dC08FF62E0BE189FE;
	mov.f64 	%fd202, 0dC10074FACE10C93F;
	fma.rn.f64 	%fd203, %fd201, %fd185, %fd202;
	mov.f64 	%fd204, 0dC151B662F8D75791;
	fma.rn.f64 	%fd205, %fd203, %fd185, %fd204;
	mov.f64 	%fd206, 0dC18EE64AB4D207F7;
	fma.rn.f64 	%fd207, %fd205, %fd185, %fd206;
	mov.f64 	%fd208, 0dC1B9051687C9951A;
	fma.rn.f64 	%fd209, %fd207, %fd185, %fd208;
	mov.f64 	%fd210, 0dC1D2B866BF0B853D;
	fma.rn.f64 	%fd211, %fd209, %fd185, %fd210;
	mov.f64 	%fd212, 0dC1D4E2130E9DC133;
	fma.rn.f64 	%fd213, %fd211, %fd185, %fd212;
	div.rn.f64 	%fd214, %fd200, %fd213;
	add.f64 	%fd290, %fd185, %fd214;
	bra.uni 	BB84_29;

BB84_2:
	setp.gt.s32	%p3, %r50, 1072064101;
	@%p3 bra 	BB84_14;
	bra.uni 	BB84_3;

BB84_14:
	mov.f64 	%fd100, 0d3FF0000000000000;
	sub.f64 	%fd101, %fd100, %fd24;
	mov.f64 	%fd102, 0d3FA3EB504359EB88;
	mov.f64 	%fd103, 0d3F881F6D2A4C4310;
	fma.rn.f64 	%fd104, %fd103, %fd101, %fd102;
	mov.f64 	%fd105, 0d3FAE35D8DEB06317;
	fma.rn.f64 	%fd106, %fd104, %fd101, %fd105;
	mov.f64 	%fd107, 0d3FAED469A8B6ECCE;
	fma.rn.f64 	%fd108, %fd106, %fd101, %fd107;
	mov.f64 	%fd109, 0d3FACC1B1C357BEFE;
	fma.rn.f64 	%fd110, %fd108, %fd101, %fd109;
	mov.f64 	%fd111, 0d3FAD7154DB67F79F;
	fma.rn.f64 	%fd112, %fd110, %fd101, %fd111;
	mov.f64 	%fd113, 0d3FAFCC622CF2F7BB;
	fma.rn.f64 	%fd114, %fd112, %fd101, %fd113;
	mov.f64 	%fd115, 0d3FB11747A4D1CC43;
	fma.rn.f64 	%fd116, %fd114, %fd101, %fd115;
	mov.f64 	%fd117, 0d3FB24CE16A21B8AC;
	fma.rn.f64 	%fd118, %fd116, %fd101, %fd117;
	mov.f64 	%fd119, 0d3FB3B1C21A7BCB00;
	fma.rn.f64 	%fd120, %fd118, %fd101, %fd119;
	mov.f64 	%fd121, 0d3FB556723452ED57;
	fma.rn.f64 	%fd122, %fd120, %fd101, %fd121;
	mov.f64 	%fd123, 0d3FB748C00891544F;
	fma.rn.f64 	%fd124, %fd122, %fd101, %fd123;
	mov.f64 	%fd125, 0d3FB9A0207808CF40;
	fma.rn.f64 	%fd126, %fd124, %fd101, %fd125;
	mov.f64 	%fd127, 0d3FBC80673B8AE26B;
	fma.rn.f64 	%fd128, %fd126, %fd101, %fd127;
	mov.f64 	%fd129, 0d3FC010B364B7E555;
	fma.rn.f64 	%fd130, %fd128, %fd101, %fd129;
	mov.f64 	%fd131, 0d3FC2703A1D239658;
	fma.rn.f64 	%fd132, %fd130, %fd101, %fd131;
	mov.f64 	%fd133, 0d3FC5B40CB1137E6E;
	fma.rn.f64 	%fd134, %fd132, %fd101, %fd133;
	mov.f64 	%fd135, 0d3FCA8B9C17AC4F03;
	fma.rn.f64 	%fd136, %fd134, %fd101, %fd135;
	mov.f64 	%fd137, 0d3FD151322AC7CB52;
	fma.rn.f64 	%fd138, %fd136, %fd101, %fd137;
	mov.f64 	%fd139, 0d3FD9A4D55BEAB1D4;
	fma.rn.f64 	%fd140, %fd138, %fd101, %fd139;
	mov.f64 	%fd141, 0d3FEA51A6625307D6;
	fma.rn.f64 	%fd142, %fd140, %fd101, %fd141;
	mov.f64 	%fd143, 0d3FE2788CFC6FB619;
	fma.rn.f64 	%fd144, %fd142, %fd101, %fd143;
	mul.f64 	%fd290, %fd101, %fd144;
	bra.uni 	BB84_29;

BB84_19:
	abs.f64 	%fd234, %fd24;
	setp.gtu.f64	%p16, %fd234, 0d7FF0000000000000;
	@%p16 bra 	BB84_22;
	bra.uni 	BB84_20;

BB84_22:
	add.f64 	%fd289, %fd24, %fd24;
	bra.uni 	BB84_28;

BB84_3:
	mov.f64 	%fd25, 0d3EA7B77CEB0625E8;
	mov.f64 	%fd26, 0dBE7844988BFE6590;
	fma.rn.f64 	%fd27, %fd26, %fd24, %fd25;
	mov.f64 	%fd28, 0dBE998C69C8710CC4;
	fma.rn.f64 	%fd29, %fd27, %fd24, %fd28;
	mov.f64 	%fd30, 0dBEF6527A5A11CF6E;
	fma.rn.f64 	%fd31, %fd29, %fd24, %fd30;
	mov.f64 	%fd32, 0d3F20EC2950B1B5DE;
	fma.rn.f64 	%fd33, %fd31, %fd24, %fd32;
	mov.f64 	%fd34, 0dBF2C4D80C24BA278;
	fma.rn.f64 	%fd35, %fd33, %fd24, %fd34;
	mov.f64 	%fd36, 0dBF5315B4E8CC0D09;
	fma.rn.f64 	%fd37, %fd35, %fd24, %fd36;
	mov.f64 	%fd38, 0d3F7D917F15D50020;
	fma.rn.f64 	%fd39, %fd37, %fd24, %fd38;
	mov.f64 	%fd40, 0dBF83B4ABB41CB6FA;
	fma.rn.f64 	%fd41, %fd39, %fd24, %fd40;
	mov.f64 	%fd42, 0dBFA59AF1275B7120;
	fma.rn.f64 	%fd43, %fd41, %fd24, %fd42;
	mov.f64 	%fd44, 0d3FC5512321A168A0;
	fma.rn.f64 	%fd45, %fd43, %fd24, %fd44;
	mov.f64 	%fd46, 0dBFA5815E8FDCE74C;
	fma.rn.f64 	%fd47, %fd45, %fd24, %fd46;
	mov.f64 	%fd48, 0dBFE4FCF4026ADD1A;
	fma.rn.f64 	%fd49, %fd47, %fd24, %fd48;
	mov.f64 	%fd50, 0d3FE2788CFC6FB5C8;
	fma.rn.f64 	%fd51, %fd49, %fd24, %fd50;
	mul.f64 	%fd52, %fd51, %fd24;
	fma.rn.f64 	%fd1, %fd52, %fd24, %fd24;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r46}, %fd1;
	}
	setp.gt.f64	%p4, %fd1, 0d0000000000000000;
	setp.lt.s32	%p5, %r46, 2146435072;
	and.pred  	%p6, %p4, %p5;
	@%p6 bra 	BB84_8;
	bra.uni 	BB84_4;

BB84_8:
	{
	.reg .b32 %temp; 
	mov.b64 	{%r47, %temp}, %fd1;
	}
	mov.u32 	%r48, -1023;
	setp.gt.s32	%p10, %r46, 1048575;
	@%p10 bra 	BB84_10;

	mul.f64 	%fd55, %fd1, 0d4350000000000000;
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r46}, %fd55;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%r47, %temp}, %fd55;
	}
	mov.u32 	%r48, -1077;

BB84_10:
	shr.u32 	%r23, %r46, 20;
	add.s32 	%r49, %r48, %r23;
	and.b32  	%r24, %r46, -2146435073;
	or.b32  	%r25, %r24, 1072693248;
	mov.b64 	%fd286, {%r47, %r25};
	setp.lt.s32	%p11, %r25, 1073127583;
	@%p11 bra 	BB84_12;

	{
	.reg .b32 %temp; 
	mov.b64 	{%r26, %temp}, %fd286;
	}
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r27}, %fd286;
	}
	add.s32 	%r28, %r27, -1048576;
	mov.b64 	%fd286, {%r26, %r28};
	add.s32 	%r49, %r49, 1;

BB84_12:
	add.f64 	%fd57, %fd286, 0d3FF0000000000000;
	// inline asm
	rcp.approx.ftz.f64 %fd56,%fd57;
	// inline asm
	neg.f64 	%fd58, %fd57;
	mov.f64 	%fd59, 0d3FF0000000000000;
	fma.rn.f64 	%fd60, %fd58, %fd56, %fd59;
	fma.rn.f64 	%fd61, %fd60, %fd60, %fd60;
	fma.rn.f64 	%fd62, %fd61, %fd56, %fd56;
	add.f64 	%fd63, %fd286, 0dBFF0000000000000;
	mul.f64 	%fd64, %fd63, %fd62;
	fma.rn.f64 	%fd65, %fd63, %fd62, %fd64;
	mul.f64 	%fd66, %fd65, %fd65;
	mov.f64 	%fd67, 0d3ED0EE258B7A8B04;
	mov.f64 	%fd68, 0d3EB1380B3AE80F1E;
	fma.rn.f64 	%fd69, %fd68, %fd66, %fd67;
	mov.f64 	%fd70, 0d3EF3B2669F02676F;
	fma.rn.f64 	%fd71, %fd69, %fd66, %fd70;
	mov.f64 	%fd72, 0d3F1745CBA9AB0956;
	fma.rn.f64 	%fd73, %fd71, %fd66, %fd72;
	mov.f64 	%fd74, 0d3F3C71C72D1B5154;
	fma.rn.f64 	%fd75, %fd73, %fd66, %fd74;
	mov.f64 	%fd76, 0d3F624924923BE72D;
	fma.rn.f64 	%fd77, %fd75, %fd66, %fd76;
	mov.f64 	%fd78, 0d3F8999999999A3C4;
	fma.rn.f64 	%fd79, %fd77, %fd66, %fd78;
	mov.f64 	%fd80, 0d3FB5555555555554;
	fma.rn.f64 	%fd81, %fd79, %fd66, %fd80;
	sub.f64 	%fd82, %fd63, %fd65;
	add.f64 	%fd83, %fd82, %fd82;
	neg.f64 	%fd84, %fd65;
	fma.rn.f64 	%fd85, %fd84, %fd63, %fd83;
	mul.f64 	%fd86, %fd62, %fd85;
	mul.f64 	%fd87, %fd66, %fd81;
	fma.rn.f64 	%fd88, %fd87, %fd65, %fd86;
	xor.b32  	%r29, %r49, -2147483648;
	mov.u32 	%r30, 1127219200;
	mov.b64 	%fd89, {%r29, %r30};
	mov.u32 	%r31, -2147483648;
	mov.b64 	%fd90, {%r31, %r30};
	sub.f64 	%fd91, %fd89, %fd90;
	mov.f64 	%fd92, 0d3FE62E42FEFA39EF;
	fma.rn.f64 	%fd93, %fd91, %fd92, %fd65;
	neg.f64 	%fd94, %fd91;
	fma.rn.f64 	%fd95, %fd94, %fd92, %fd93;
	sub.f64 	%fd96, %fd95, %fd65;
	sub.f64 	%fd97, %fd88, %fd96;
	mov.f64 	%fd98, 0d3C7ABC9E3B39803F;
	fma.rn.f64 	%fd99, %fd91, %fd98, %fd97;
	add.f64 	%fd287, %fd93, %fd99;
	bra.uni 	BB84_13;

BB84_20:
	setp.eq.f64	%p17, %fd24, 0d0000000000000000;
	mov.f64 	%fd289, 0dFFF0000000000000;
	@%p17 bra 	BB84_28;

	setp.eq.f64	%p18, %fd24, 0d7FF0000000000000;
	selp.f64	%fd289, %fd24, 0dFFF8000000000000, %p18;

BB84_28:
	{
	.reg .b32 %temp; 
	mov.b64 	{%temp, %r43}, %fd289;
	}
	add.s32 	%r44, %r43, -1048576;
	{
	.reg .b32 %temp; 
	mov.b64 	{%r45, %temp}, %fd289;
	}
	mov.b64 	%fd281, {%r45, %r44};
	add.f64 	%fd282, %fd24, 0dBFE0000000000000;
	fma.rn.f64 	%fd283, %fd281, %fd282, %fd14;
	fma.rn.f64 	%fd284, %fd281, %fd282, %fd13;
	add.f64 	%fd285, %fd283, %fd284;
	setp.eq.f64	%p21, %fd24, 0d7FF0000000000000;
	selp.f64	%fd290, %fd24, %fd285, %p21;
	bra.uni 	BB84_29;

BB84_4:
	abs.f64 	%fd53, %fd1;
	setp.gtu.f64	%p7, %fd53, 0d7FF0000000000000;
	@%p7 bra 	BB84_7;
	bra.uni 	BB84_5;

BB84_7:
	add.f64 	%fd287, %fd1, %fd1;
	bra.uni 	BB84_13;

BB84_5:
	setp.eq.f64	%p8, %fd1, 0d0000000000000000;
	mov.f64 	%fd287, 0dFFF0000000000000;
	@%p8 bra 	BB84_13;

	setp.eq.f64	%p9, %fd1, 0d7FF0000000000000;
	selp.f64	%fd287, %fd1, 0dFFF8000000000000, %p9;

BB84_13:
	neg.f64 	%fd290, %fd287;

BB84_29:
	st.param.f64	[func_retval0+0], %fd290;
	ret;
}






© 2015 - 2025 Weber Informatics LLC | Privacy Policy