//
// Generated by NVIDIA NVVM Compiler
// Compiler built on Fri Jul 25 04:36:16 2014 (1406288176)
// Cuda compilation tools, release 6.5, V6.5.13
//

.version 4.1
.target sm_30
.address_size 64

.const .align 4 .b8 kRGB32f_To_601YPbPr[36] = {135, 22, 153, 62, 162, 69, 22, 63, 213, 120, 233, 61, 33, 201, 44, 190, 111, 155, 169, 190, 0, 0, 0, 63, 0, 0, 0, 63, 70, 94, 214, 190, 232, 134, 166, 189};
.const .align 4 .b8 k601YPbPr_To_RGB32f[36] = {0, 0, 128, 63, 0, 0, 0, 0, 188, 116, 179, 63, 0, 0, 128, 63, 152, 50, 176, 190, 158, 209, 54, 191, 0, 0, 128, 63, 229, 208, 226, 63, 0, 0, 0, 0};
.const .align 4 .b8 kRGB32f_To_601YCbCr[36] = {70, 246, 130, 66, 145, 141, 0, 67, 94, 186, 199, 65, 33, 48, 23, 194, 240, 103, 148, 194, 0, 0, 224, 66, 0, 0, 224, 66, 111, 146, 187, 194, 70, 182, 145, 193};
.const .align 4 .b8 k601YCbCr_To_RGB32f[36] = {37, 160, 149, 59, 0, 0, 0, 0, 182, 23, 205, 59, 37, 160, 149, 59, 40, 15, 201, 186, 156, 239, 80, 187, 37, 160, 149, 59, 236, 155, 1, 60, 0, 0, 0, 0};
.const .align 4 .b8 kRGB8u_To_601YCbCr[36] = {219, 121, 131, 62, 152, 14, 1, 63, 18, 131, 200, 61, 174, 199, 23, 190, 238, 252, 148, 190, 197, 224, 224, 62, 197, 224, 224, 62, 217, 78, 188, 190, 174, 71, 146, 189};
.const .align 4 .b8 k601YCbCr_To_RGB8u[36] = {127, 10, 149, 63, 0, 0, 0, 0, 160, 74, 204, 63, 127, 10, 149, 63, 254, 148, 200, 190, 184, 30, 80, 191, 127, 10, 149, 63, 78, 26, 1, 64, 0, 0, 0, 0};
.const .align 4 .b8 kRGB8u_To_601YCbCrFullRange[36] = {135, 22, 153, 62, 162, 69, 22, 63, 213, 120, 233, 61, 166, 27, 44, 190, 39, 241, 168, 190, 250, 254, 254, 62, 250, 254, 254, 62, 43, 135, 213, 190, 59, 223, 165, 189};
.const .align 4 .b8 k601YCbCrFullRange_To_RGB8u[36] = {0, 0, 128, 63, 0, 0, 0, 0, 72, 193, 178, 63, 0, 0, 128, 63, 143, 130, 175, 190, 225, 26, 54, 191, 0, 0, 128, 63, 20, 238, 225, 63, 0, 0, 0, 0};
.const .align 4 .b8 kRGB32f_To_601YCbCrFullRange[36] = {113, 125, 152, 66, 92, 175, 21, 67, 92, 143, 232, 65, 158, 111, 43, 194, 49, 72, 168, 194, 0, 0, 254, 66, 0, 0, 254, 66, 170, 177, 212, 194, 88, 57, 165, 193};
.const .align 4 .b8 k601YCbCrFullRange_To_RGB32f[36] = {129, 128, 128, 59, 0, 0, 0, 0, 188, 116, 179, 59, 129, 128, 128, 59, 194, 50, 176, 186, 179, 209, 54, 187, 129, 128, 128, 59, 229, 208, 226, 59, 0, 0, 0, 0};
.const .align 4 .b8 kRGB32f_To_709YPbPr[36] = {208, 179, 89, 62, 89, 23, 55, 63, 152, 221, 147, 61, 186, 164, 234, 189, 210, 86, 197, 190, 0, 0, 0, 63, 0, 0, 0, 63, 190, 134, 232, 190, 16, 202, 59, 189};
.const .align 4 .b8 k709YPbPr_To_RGB32f[36] = {0, 0, 128, 63, 0, 0, 0, 0, 12, 147, 201, 63, 0, 0, 128, 63, 221, 209, 63, 190, 243, 173, 239, 190, 0, 0, 128, 63, 77, 132, 237, 63, 0, 0, 0, 0};
.const .align 4 .b8 kRGB32f_To_709YCbCr[36] = {106, 60, 58, 66, 6, 161, 28, 67, 244, 253, 124, 65, 223, 79, 205, 193, 8, 172, 172, 194, 0, 0, 224, 66, 0, 0, 224, 66, 195, 117, 203, 194, 236, 81, 36, 193};
.const .align 4 .b8 k709YCbCr_To_RGB32f[36] = {37, 160, 149, 59, 0, 0, 0, 0, 239, 94, 230, 59, 37, 160, 149, 59, 33, 57, 91, 186, 178, 245, 8, 187, 37, 160, 149, 59, 82, 185, 7, 60, 0, 0, 0, 0};
.const .align 4 .b8 k709YCbCrFullRange_To_RGB32f[36] = {131, 128, 128, 59, 0, 0, 0, 0, 28, 147, 201, 59, 131, 128, 128, 59, 61, 210, 63, 186, 248, 173, 239, 186, 131, 128, 128, 59, 82, 132, 237, 59, 0, 0, 0, 0};
.const .align 4 .b8 kRGB8u_To_709YCbCr[36] = {207, 247, 58, 62, 53, 62, 29, 63, 231, 251, 125, 61, 184, 30, 206, 189, 23, 89, 173, 190, 197, 224, 224, 62, 197, 224, 224, 62, 12, 66, 204, 190, 195, 245, 36, 189};
.const .align 4 .b8 k709YCbCr_To_RGB8u[36] = {127, 10, 149, 63, 0, 0, 0, 0, 147, 120, 229, 63, 127, 10, 149, 63, 53, 94, 90, 190, 205, 108, 8, 191, 127, 10, 149, 63, 154, 49, 7, 64, 0, 0, 0, 0};
.const .align 4 .b8 k709YCbCr_To_601YCbCr[36] = {0, 0, 128, 63, 23, 100, 203, 61, 1, 77, 68, 62, 0, 0, 0, 0, 18, 103, 125, 63, 10, 158, 226, 189, 0, 0, 0, 0, 61, 98, 148, 189, 249, 191, 123, 63};
.const .align 4 .b8 k601YCbCr_To_709YCbCr[36] = {0, 0, 128, 63, 122, 165, 236, 189, 179, 237, 84, 190, 0, 0, 0, 0, 204, 98, 130, 63, 216, 188, 234, 61, 0, 0, 0, 0, 74, 179, 153, 61, 234, 61, 131, 63};
.const .align 4 .b8 kYCbCrOffset[12] = {0, 0, 128, 65, 0, 0, 0, 67, 0, 0, 0, 67};
.const .align 4 .b8 kYCbCrFullRangeOffset[12] = {0, 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, 67};
.const .align 4 .u32 kRandMax = 32767;

.visible .func  (.param .b32 func_retval0) _Z5clampIfET_S0_S0_S0_(
	.param .b32 _Z5clampIfET_S0_S0_S0__param_0,
	.param .b32 _Z5clampIfET_S0_S0_S0__param_1,
	.param .b32 _Z5clampIfET_S0_S0_S0__param_2
)
{
	.reg .f32 	%f<6>;


	ld.param.f32 	%f1, [_Z5clampIfET_S0_S0_S0__param_0];
	ld.param.f32 	%f2, [_Z5clampIfET_S0_S0_S0__param_1];
	ld.param.f32 	%f3, [_Z5clampIfET_S0_S0_S0__param_2];
	max.ftz.f32 	%f4, %f1, %f2;
	min.ftz.f32 	%f5, %f4, %f3;
	st.param.f32	[func_retval0+0], %f5;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z18UnpremultiplyPixel8PixelRGB(
	.param .align 16 .b8 _Z18UnpremultiplyPixel8PixelRGB_param_0[16]
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<24>;


	ld.param.f32 	%f11, [_Z18UnpremultiplyPixel8PixelRGB_param_0+8];
	ld.param.f32 	%f10, [_Z18UnpremultiplyPixel8PixelRGB_param_0+4];
	ld.param.f32 	%f9, [_Z18UnpremultiplyPixel8PixelRGB_param_0];
	ld.param.f32 	%f12, [_Z18UnpremultiplyPixel8PixelRGB_param_0+12];
	cvt.ftz.sat.f32.f32	%f20, %f12;
	add.ftz.f32 	%f13, %f20, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f13, 0f00000000;
	@%p1 bra 	BB1_2;

	mov.f32 	%f23, 0f00000000;
	mov.f32 	%f22, %f23;
	mov.f32 	%f21, %f23;
	mov.f32 	%f20, %f23;
	bra.uni 	BB1_3;

BB1_2:
	mov.f32 	%f18, 0f3F800000;
	div.approx.ftz.f32 	%f19, %f18, %f20;
	mul.ftz.f32 	%f21, %f11, %f19;
	mul.ftz.f32 	%f22, %f10, %f19;
	mul.ftz.f32 	%f23, %f9, %f19;

BB1_3:
	st.param.f32	[func_retval0+0], %f23;
	st.param.f32	[func_retval0+4], %f22;
	st.param.f32	[func_retval0+8], %f21;
	st.param.f32	[func_retval0+12], %f20;
	ret;
}

.visible .func  (.param .b32 func_retval0) _Z41BlendMode_ChannelFn_kBlendMode_VividLightff(
	.param .b32 _Z41BlendMode_ChannelFn_kBlendMode_VividLightff_param_0,
	.param .b32 _Z41BlendMode_ChannelFn_kBlendMode_VividLightff_param_1
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<24>;


	ld.param.f32 	%f6, [_Z41BlendMode_ChannelFn_kBlendMode_VividLightff_param_0];
	ld.param.f32 	%f7, [_Z41BlendMode_ChannelFn_kBlendMode_VividLightff_param_1];
	mov.f32 	%f8, 0f358637BD;
	max.ftz.f32 	%f9, %f6, %f8;
	mov.f32 	%f10, 0f3F7FFFEF;
	min.ftz.f32 	%f1, %f9, %f10;
	mov.f32 	%f11, 0f00000000;
	max.ftz.f32 	%f12, %f7, %f11;
	mov.f32 	%f13, 0f3F800000;
	min.ftz.f32 	%f2, %f12, %f13;
	setp.gtu.ftz.f32	%p1, %f1, 0f3F000000;
	@%p1 bra 	BB2_2;

	sub.ftz.f32 	%f15, %f13, %f2;
	add.ftz.f32 	%f16, %f1, %f1;
	div.approx.ftz.f32 	%f17, %f15, %f16;
	sub.ftz.f32 	%f18, %f13, %f17;
	cvt.ftz.sat.f32.f32	%f23, %f18;
	bra.uni 	BB2_3;

BB2_2:
	sub.ftz.f32 	%f20, %f13, %f1;
	add.ftz.f32 	%f21, %f20, %f20;
	div.approx.ftz.f32 	%f22, %f2, %f21;
	cvt.ftz.sat.f32.f32	%f23, %f22;

BB2_3:
	st.param.f32	[func_retval0+0], %f23;
	ret;
}

.visible .func  (.param .b32 func_retval0) _Z39BlendMode_ChannelFn_kBlendMode_PinLightff(
	.param .b32 _Z39BlendMode_ChannelFn_kBlendMode_PinLightff_param_0,
	.param .b32 _Z39BlendMode_ChannelFn_kBlendMode_PinLightff_param_1
)
{
	.reg .pred 	%p<3>;
	.reg .f32 	%f<9>;


	ld.param.f32 	%f5, [_Z39BlendMode_ChannelFn_kBlendMode_PinLightff_param_0];
	ld.param.f32 	%f6, [_Z39BlendMode_ChannelFn_kBlendMode_PinLightff_param_1];
	cvt.ftz.sat.f32.f32	%f7, %f5;
	add.ftz.f32 	%f1, %f7, %f7;
	add.ftz.f32 	%f2, %f1, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f3, %f6;
	setp.lt.ftz.f32	%p1, %f3, %f2;
	mov.f32 	%f8, %f2;
	@%p1 bra 	BB3_3;

	setp.leu.ftz.f32	%p2, %f3, %f1;
	mov.f32 	%f8, %f3;
	@%p2 bra 	BB3_3;

	mov.f32 	%f8, %f1;

BB3_3:
	st.param.f32	[func_retval0+0], %f8;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi(
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_1[16],
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_2,
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<45>;


	ld.param.f32 	%f13, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z35BlendMode_PixelFn_kBlendMode_Normal8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f44, %f20, %f21;
	add.ftz.f32 	%f22, %f44, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB4_2;

	mov.f32 	%f44, 0f00000000;
	mov.f32 	%f43, %f44;
	mov.f32 	%f42, %f44;
	mov.f32 	%f41, %f44;
	bra.uni 	BB4_3;

BB4_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f44;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	mul.ftz.f32 	%f32, %f2, %f11;
	fma.rn.ftz.f32 	%f33, %f31, %f11, %f32;
	mul.ftz.f32 	%f34, %f29, %f33;
	fma.rn.ftz.f32 	%f41, %f30, %f15, %f34;
	mul.ftz.f32 	%f35, %f2, %f12;
	fma.rn.ftz.f32 	%f36, %f31, %f12, %f35;
	mul.ftz.f32 	%f37, %f29, %f36;
	fma.rn.ftz.f32 	%f42, %f30, %f16, %f37;
	mul.ftz.f32 	%f38, %f2, %f13;
	fma.rn.ftz.f32 	%f39, %f31, %f13, %f38;
	mul.ftz.f32 	%f40, %f29, %f39;
	fma.rn.ftz.f32 	%f43, %f30, %f17, %f40;

BB4_3:
	st.param.f32	[func_retval0+0], %f41;
	st.param.f32	[func_retval0+4], %f42;
	st.param.f32	[func_retval0+8], %f43;
	st.param.f32	[func_retval0+12], %f44;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi(
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_1[16],
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_2,
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<48>;


	ld.param.f32 	%f13, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z35BlendMode_PixelFn_kBlendMode_Darken8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f47, %f20, %f21;
	add.ftz.f32 	%f22, %f47, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB5_2;

	mov.f32 	%f47, 0f00000000;
	mov.f32 	%f46, %f47;
	mov.f32 	%f45, %f47;
	mov.f32 	%f44, %f47;
	bra.uni 	BB5_3;

BB5_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f47;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	setp.gtu.ftz.f32	%p2, %f11, %f15;
	selp.f32	%f32, %f15, %f11, %p2;
	mul.ftz.f32 	%f33, %f2, %f32;
	fma.rn.ftz.f32 	%f34, %f31, %f11, %f33;
	mul.ftz.f32 	%f35, %f29, %f34;
	fma.rn.ftz.f32 	%f44, %f30, %f15, %f35;
	setp.gtu.ftz.f32	%p3, %f12, %f16;
	selp.f32	%f36, %f16, %f12, %p3;
	mul.ftz.f32 	%f37, %f2, %f36;
	fma.rn.ftz.f32 	%f38, %f31, %f12, %f37;
	mul.ftz.f32 	%f39, %f29, %f38;
	fma.rn.ftz.f32 	%f45, %f30, %f16, %f39;
	setp.gtu.ftz.f32	%p4, %f13, %f17;
	selp.f32	%f40, %f17, %f13, %p4;
	mul.ftz.f32 	%f41, %f2, %f40;
	fma.rn.ftz.f32 	%f42, %f31, %f13, %f41;
	mul.ftz.f32 	%f43, %f29, %f42;
	fma.rn.ftz.f32 	%f46, %f30, %f17, %f43;

BB5_3:
	st.param.f32	[func_retval0+0], %f44;
	st.param.f32	[func_retval0+4], %f45;
	st.param.f32	[func_retval0+8], %f46;
	st.param.f32	[func_retval0+12], %f47;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi(
	.param .align 16 .b8 _Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_1[16],
	.param .b32 _Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_2,
	.param .b32 _Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<48>;


	ld.param.f32 	%f13, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z36BlendMode_PixelFn_kBlendMode_Lighten8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f47, %f20, %f21;
	add.ftz.f32 	%f22, %f47, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB6_2;

	mov.f32 	%f47, 0f00000000;
	mov.f32 	%f46, %f47;
	mov.f32 	%f45, %f47;
	mov.f32 	%f44, %f47;
	bra.uni 	BB6_3;

BB6_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f47;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	setp.ltu.ftz.f32	%p2, %f11, %f15;
	selp.f32	%f32, %f15, %f11, %p2;
	mul.ftz.f32 	%f33, %f2, %f32;
	fma.rn.ftz.f32 	%f34, %f31, %f11, %f33;
	mul.ftz.f32 	%f35, %f29, %f34;
	fma.rn.ftz.f32 	%f44, %f30, %f15, %f35;
	setp.ltu.ftz.f32	%p3, %f12, %f16;
	selp.f32	%f36, %f16, %f12, %p3;
	mul.ftz.f32 	%f37, %f2, %f36;
	fma.rn.ftz.f32 	%f38, %f31, %f12, %f37;
	mul.ftz.f32 	%f39, %f29, %f38;
	fma.rn.ftz.f32 	%f45, %f30, %f16, %f39;
	setp.ltu.ftz.f32	%p4, %f13, %f17;
	selp.f32	%f40, %f17, %f13, %p4;
	mul.ftz.f32 	%f41, %f2, %f40;
	fma.rn.ftz.f32 	%f42, %f31, %f13, %f41;
	mul.ftz.f32 	%f43, %f29, %f42;
	fma.rn.ftz.f32 	%f46, %f30, %f17, %f43;

BB6_3:
	st.param.f32	[func_retval0+0], %f44;
	st.param.f32	[func_retval0+4], %f45;
	st.param.f32	[func_retval0+8], %f46;
	st.param.f32	[func_retval0+12], %f47;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi(
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_1[16],
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_2,
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<51>;


	ld.param.f32 	%f13, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z37BlendMode_PixelFn_kBlendMode_Multiply8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f50, %f20, %f21;
	add.ftz.f32 	%f22, %f50, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB7_2;

	mov.f32 	%f50, 0f00000000;
	mov.f32 	%f49, %f50;
	mov.f32 	%f48, %f50;
	mov.f32 	%f47, %f50;
	bra.uni 	BB7_3;

BB7_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f50;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	mul.ftz.f32 	%f32, %f11, %f15;
	cvt.ftz.sat.f32.f32	%f33, %f32;
	mul.ftz.f32 	%f34, %f2, %f33;
	fma.rn.ftz.f32 	%f35, %f31, %f11, %f34;
	mul.ftz.f32 	%f36, %f29, %f35;
	fma.rn.ftz.f32 	%f47, %f30, %f15, %f36;
	mul.ftz.f32 	%f37, %f12, %f16;
	cvt.ftz.sat.f32.f32	%f38, %f37;
	mul.ftz.f32 	%f39, %f2, %f38;
	fma.rn.ftz.f32 	%f40, %f31, %f12, %f39;
	mul.ftz.f32 	%f41, %f29, %f40;
	fma.rn.ftz.f32 	%f48, %f30, %f16, %f41;
	mul.ftz.f32 	%f42, %f13, %f17;
	cvt.ftz.sat.f32.f32	%f43, %f42;
	mul.ftz.f32 	%f44, %f2, %f43;
	fma.rn.ftz.f32 	%f45, %f31, %f13, %f44;
	mul.ftz.f32 	%f46, %f29, %f45;
	fma.rn.ftz.f32 	%f49, %f30, %f17, %f46;

BB7_3:
	st.param.f32	[func_retval0+0], %f47;
	st.param.f32	[func_retval0+4], %f48;
	st.param.f32	[func_retval0+8], %f49;
	st.param.f32	[func_retval0+12], %f50;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi(
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_1[16],
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_2,
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<73>;


	ld.param.f32 	%f13, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z35BlendMode_PixelFn_kBlendMode_Screen8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f72, %f20, %f21;
	add.ftz.f32 	%f22, %f72, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB8_2;

	mov.f32 	%f72, 0f00000000;
	mov.f32 	%f71, %f72;
	mov.f32 	%f70, %f72;
	mov.f32 	%f69, %f72;
	bra.uni 	BB8_3;

BB8_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f72;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	mov.f32 	%f32, 0f33D6BF95;
	max.ftz.f32 	%f33, %f11, %f32;
	min.ftz.f32 	%f34, %f33, %f27;
	max.ftz.f32 	%f35, %f15, %f32;
	min.ftz.f32 	%f36, %f35, %f27;
	sub.ftz.f32 	%f37, %f27, %f34;
	sub.ftz.f32 	%f38, %f27, %f36;
	mul.ftz.f32 	%f39, %f37, %f38;
	sub.ftz.f32 	%f40, %f27, %f39;
	cvt.ftz.sat.f32.f32	%f41, %f40;
	mul.ftz.f32 	%f42, %f2, %f41;
	fma.rn.ftz.f32 	%f43, %f31, %f11, %f42;
	mul.ftz.f32 	%f44, %f29, %f43;
	fma.rn.ftz.f32 	%f69, %f30, %f15, %f44;
	max.ftz.f32 	%f45, %f12, %f32;
	min.ftz.f32 	%f46, %f45, %f27;
	max.ftz.f32 	%f47, %f16, %f32;
	min.ftz.f32 	%f48, %f47, %f27;
	sub.ftz.f32 	%f49, %f27, %f46;
	sub.ftz.f32 	%f50, %f27, %f48;
	mul.ftz.f32 	%f51, %f49, %f50;
	sub.ftz.f32 	%f52, %f27, %f51;
	cvt.ftz.sat.f32.f32	%f53, %f52;
	mul.ftz.f32 	%f54, %f2, %f53;
	fma.rn.ftz.f32 	%f55, %f31, %f12, %f54;
	mul.ftz.f32 	%f56, %f29, %f55;
	fma.rn.ftz.f32 	%f70, %f30, %f16, %f56;
	max.ftz.f32 	%f57, %f13, %f32;
	min.ftz.f32 	%f58, %f57, %f27;
	max.ftz.f32 	%f59, %f17, %f32;
	min.ftz.f32 	%f60, %f59, %f27;
	sub.ftz.f32 	%f61, %f27, %f58;
	sub.ftz.f32 	%f62, %f27, %f60;
	mul.ftz.f32 	%f63, %f61, %f62;
	sub.ftz.f32 	%f64, %f27, %f63;
	cvt.ftz.sat.f32.f32	%f65, %f64;
	mul.ftz.f32 	%f66, %f2, %f65;
	fma.rn.ftz.f32 	%f67, %f31, %f13, %f66;
	mul.ftz.f32 	%f68, %f29, %f67;
	fma.rn.ftz.f32 	%f71, %f30, %f17, %f68;

BB8_3:
	st.param.f32	[func_retval0+0], %f69;
	st.param.f32	[func_retval0+4], %f70;
	st.param.f32	[func_retval0+8], %f71;
	st.param.f32	[func_retval0+12], %f72;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi(
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_1[16],
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_2,
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<71>;


	ld.param.f32 	%f13, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z38BlendMode_PixelFn_kBlendMode_ColorBurn8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f70, %f20, %f21;
	add.ftz.f32 	%f22, %f70, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB9_2;

	mov.f32 	%f70, 0f00000000;
	mov.f32 	%f69, %f70;
	mov.f32 	%f68, %f70;
	mov.f32 	%f67, %f70;
	bra.uni 	BB9_3;

BB9_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f70;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	mov.f32 	%f32, 0f33D6BF95;
	max.ftz.f32 	%f33, %f11, %f32;
	min.ftz.f32 	%f34, %f33, %f27;
	mov.f32 	%f35, 0f00000000;
	max.ftz.f32 	%f36, %f15, %f35;
	min.ftz.f32 	%f37, %f36, %f27;
	sub.ftz.f32 	%f38, %f27, %f37;
	div.approx.ftz.f32 	%f39, %f38, %f34;
	sub.ftz.f32 	%f40, %f27, %f39;
	cvt.ftz.sat.f32.f32	%f41, %f40;
	mul.ftz.f32 	%f42, %f2, %f41;
	fma.rn.ftz.f32 	%f43, %f31, %f11, %f42;
	mul.ftz.f32 	%f44, %f29, %f43;
	fma.rn.ftz.f32 	%f67, %f30, %f15, %f44;
	max.ftz.f32 	%f45, %f12, %f32;
	min.ftz.f32 	%f46, %f45, %f27;
	max.ftz.f32 	%f47, %f16, %f35;
	min.ftz.f32 	%f48, %f47, %f27;
	sub.ftz.f32 	%f49, %f27, %f48;
	div.approx.ftz.f32 	%f50, %f49, %f46;
	sub.ftz.f32 	%f51, %f27, %f50;
	cvt.ftz.sat.f32.f32	%f52, %f51;
	mul.ftz.f32 	%f53, %f2, %f52;
	fma.rn.ftz.f32 	%f54, %f31, %f12, %f53;
	mul.ftz.f32 	%f55, %f29, %f54;
	fma.rn.ftz.f32 	%f68, %f30, %f16, %f55;
	max.ftz.f32 	%f56, %f13, %f32;
	min.ftz.f32 	%f57, %f56, %f27;
	max.ftz.f32 	%f58, %f17, %f35;
	min.ftz.f32 	%f59, %f58, %f27;
	sub.ftz.f32 	%f60, %f27, %f59;
	div.approx.ftz.f32 	%f61, %f60, %f57;
	sub.ftz.f32 	%f62, %f27, %f61;
	cvt.ftz.sat.f32.f32	%f63, %f62;
	mul.ftz.f32 	%f64, %f2, %f63;
	fma.rn.ftz.f32 	%f65, %f31, %f13, %f64;
	mul.ftz.f32 	%f66, %f29, %f65;
	fma.rn.ftz.f32 	%f69, %f30, %f17, %f66;

BB9_3:
	st.param.f32	[func_retval0+0], %f67;
	st.param.f32	[func_retval0+4], %f68;
	st.param.f32	[func_retval0+8], %f69;
	st.param.f32	[func_retval0+12], %f70;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi(
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_1[16],
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_2,
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<60>;


	ld.param.f32 	%f13, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z39BlendMode_PixelFn_kBlendMode_LinearBurn8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f59, %f20, %f21;
	add.ftz.f32 	%f22, %f59, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB10_2;

	mov.f32 	%f59, 0f00000000;
	mov.f32 	%f58, %f59;
	mov.f32 	%f57, %f59;
	mov.f32 	%f56, %f59;
	bra.uni 	BB10_3;

BB10_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f59;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	cvt.ftz.sat.f32.f32	%f32, %f15;
	cvt.ftz.sat.f32.f32	%f33, %f11;
	add.ftz.f32 	%f34, %f33, %f32;
	add.ftz.f32 	%f35, %f34, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f36, %f35;
	mul.ftz.f32 	%f37, %f2, %f36;
	fma.rn.ftz.f32 	%f38, %f31, %f11, %f37;
	mul.ftz.f32 	%f39, %f29, %f38;
	fma.rn.ftz.f32 	%f56, %f30, %f15, %f39;
	cvt.ftz.sat.f32.f32	%f40, %f16;
	cvt.ftz.sat.f32.f32	%f41, %f12;
	add.ftz.f32 	%f42, %f41, %f40;
	add.ftz.f32 	%f43, %f42, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f44, %f43;
	mul.ftz.f32 	%f45, %f2, %f44;
	fma.rn.ftz.f32 	%f46, %f31, %f12, %f45;
	mul.ftz.f32 	%f47, %f29, %f46;
	fma.rn.ftz.f32 	%f57, %f30, %f16, %f47;
	cvt.ftz.sat.f32.f32	%f48, %f17;
	cvt.ftz.sat.f32.f32	%f49, %f13;
	add.ftz.f32 	%f50, %f49, %f48;
	add.ftz.f32 	%f51, %f50, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f52, %f51;
	mul.ftz.f32 	%f53, %f2, %f52;
	fma.rn.ftz.f32 	%f54, %f31, %f13, %f53;
	mul.ftz.f32 	%f55, %f29, %f54;
	fma.rn.ftz.f32 	%f58, %f30, %f17, %f55;

BB10_3:
	st.param.f32	[func_retval0+0], %f56;
	st.param.f32	[func_retval0+4], %f57;
	st.param.f32	[func_retval0+8], %f58;
	st.param.f32	[func_retval0+12], %f59;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi(
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_1[16],
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_2,
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<68>;


	ld.param.f32 	%f13, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z39BlendMode_PixelFn_kBlendMode_ColorDodge8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f67, %f20, %f21;
	add.ftz.f32 	%f22, %f67, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB11_2;

	mov.f32 	%f67, 0f00000000;
	mov.f32 	%f66, %f67;
	mov.f32 	%f65, %f67;
	mov.f32 	%f64, %f67;
	bra.uni 	BB11_3;

BB11_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f67;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	mov.f32 	%f32, 0f00000000;
	max.ftz.f32 	%f33, %f11, %f32;
	mov.f32 	%f34, 0f3F7FFF58;
	min.ftz.f32 	%f35, %f33, %f34;
	max.ftz.f32 	%f36, %f15, %f32;
	min.ftz.f32 	%f37, %f36, %f27;
	sub.ftz.f32 	%f38, %f27, %f35;
	div.approx.ftz.f32 	%f39, %f37, %f38;
	cvt.ftz.sat.f32.f32	%f40, %f39;
	mul.ftz.f32 	%f41, %f2, %f40;
	fma.rn.ftz.f32 	%f42, %f31, %f11, %f41;
	mul.ftz.f32 	%f43, %f29, %f42;
	fma.rn.ftz.f32 	%f64, %f30, %f15, %f43;
	max.ftz.f32 	%f44, %f12, %f32;
	min.ftz.f32 	%f45, %f44, %f34;
	max.ftz.f32 	%f46, %f16, %f32;
	min.ftz.f32 	%f47, %f46, %f27;
	sub.ftz.f32 	%f48, %f27, %f45;
	div.approx.ftz.f32 	%f49, %f47, %f48;
	cvt.ftz.sat.f32.f32	%f50, %f49;
	mul.ftz.f32 	%f51, %f2, %f50;
	fma.rn.ftz.f32 	%f52, %f31, %f12, %f51;
	mul.ftz.f32 	%f53, %f29, %f52;
	fma.rn.ftz.f32 	%f65, %f30, %f16, %f53;
	max.ftz.f32 	%f54, %f13, %f32;
	min.ftz.f32 	%f55, %f54, %f34;
	max.ftz.f32 	%f56, %f17, %f32;
	min.ftz.f32 	%f57, %f56, %f27;
	sub.ftz.f32 	%f58, %f27, %f55;
	div.approx.ftz.f32 	%f59, %f57, %f58;
	cvt.ftz.sat.f32.f32	%f60, %f59;
	mul.ftz.f32 	%f61, %f2, %f60;
	fma.rn.ftz.f32 	%f62, %f31, %f13, %f61;
	mul.ftz.f32 	%f63, %f29, %f62;
	fma.rn.ftz.f32 	%f66, %f30, %f17, %f63;

BB11_3:
	st.param.f32	[func_retval0+0], %f64;
	st.param.f32	[func_retval0+4], %f65;
	st.param.f32	[func_retval0+8], %f66;
	st.param.f32	[func_retval0+12], %f67;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi(
	.param .align 16 .b8 _Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_1[16],
	.param .b32 _Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_2,
	.param .b32 _Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<51>;


	ld.param.f32 	%f13, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z43BlendMode_PixelFn_kBlendMode_LinearDodgeAdd8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f50, %f20, %f21;
	add.ftz.f32 	%f22, %f50, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB12_2;

	mov.f32 	%f50, 0f00000000;
	mov.f32 	%f49, %f50;
	mov.f32 	%f48, %f50;
	mov.f32 	%f47, %f50;
	bra.uni 	BB12_3;

BB12_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f50;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	add.ftz.f32 	%f32, %f11, %f15;
	cvt.ftz.sat.f32.f32	%f33, %f32;
	mul.ftz.f32 	%f34, %f2, %f33;
	fma.rn.ftz.f32 	%f35, %f31, %f11, %f34;
	mul.ftz.f32 	%f36, %f29, %f35;
	fma.rn.ftz.f32 	%f47, %f30, %f15, %f36;
	add.ftz.f32 	%f37, %f12, %f16;
	cvt.ftz.sat.f32.f32	%f38, %f37;
	mul.ftz.f32 	%f39, %f2, %f38;
	fma.rn.ftz.f32 	%f40, %f31, %f12, %f39;
	mul.ftz.f32 	%f41, %f29, %f40;
	fma.rn.ftz.f32 	%f48, %f30, %f16, %f41;
	add.ftz.f32 	%f42, %f13, %f17;
	cvt.ftz.sat.f32.f32	%f43, %f42;
	mul.ftz.f32 	%f44, %f2, %f43;
	fma.rn.ftz.f32 	%f45, %f31, %f13, %f44;
	mul.ftz.f32 	%f46, %f29, %f45;
	fma.rn.ftz.f32 	%f49, %f30, %f17, %f46;

BB12_3:
	st.param.f32	[func_retval0+0], %f47;
	st.param.f32	[func_retval0+4], %f48;
	st.param.f32	[func_retval0+8], %f49;
	st.param.f32	[func_retval0+12], %f50;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi(
	.param .align 16 .b8 _Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_1[16],
	.param .b32 _Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_2,
	.param .b32 _Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<84>;


	ld.param.f32 	%f38, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f37, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f36, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_0];
	ld.param.f32 	%f39, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f42, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f41, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f40, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f44, [_Z36BlendMode_PixelFn_kBlendMode_Overlay8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f39, %f44;
	add.ftz.f32 	%f45, %f1, %f2;
	mul.ftz.f32 	%f46, %f1, %f2;
	sub.ftz.f32 	%f83, %f45, %f46;
	add.ftz.f32 	%f47, %f83, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f47, 0f00000000;
	@%p1 bra 	BB13_2;

	mov.f32 	%f83, 0f00000000;
	mov.f32 	%f82, %f83;
	mov.f32 	%f81, %f83;
	mov.f32 	%f80, %f83;
	bra.uni 	BB13_12;

BB13_2:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f83;
	mul.ftz.f32 	%f5, %f1, %f53;
	sub.ftz.f32 	%f6, %f52, %f5;
	mul.ftz.f32 	%f7, %f6, %f40;
	sub.ftz.f32 	%f8, %f52, %f2;
	mul.ftz.f32 	%f9, %f8, %f36;
	cvt.ftz.sat.f32.f32	%f10, %f36;
	cvt.ftz.sat.f32.f32	%f11, %f40;
	setp.gtu.ftz.f32	%p2, %f11, 0f3F000000;
	@%p2 bra 	BB13_4;

	add.ftz.f32 	%f54, %f10, %f10;
	mul.ftz.f32 	%f77, %f54, %f11;
	bra.uni 	BB13_5;

BB13_4:
	sub.ftz.f32 	%f56, %f52, %f10;
	sub.ftz.f32 	%f57, %f52, %f11;
	mul.ftz.f32 	%f58, %f56, 0fC0000000;
	fma.rn.ftz.f32 	%f77, %f58, %f57, 0f3F800000;

BB13_5:
	cvt.ftz.sat.f32.f32	%f59, %f77;
	fma.rn.ftz.f32 	%f60, %f2, %f59, %f9;
	fma.rn.ftz.f32 	%f80, %f5, %f60, %f7;
	mul.ftz.f32 	%f16, %f6, %f41;
	mul.ftz.f32 	%f17, %f8, %f37;
	cvt.ftz.sat.f32.f32	%f18, %f37;
	cvt.ftz.sat.f32.f32	%f19, %f41;
	setp.gtu.ftz.f32	%p3, %f19, 0f3F000000;
	@%p3 bra 	BB13_7;

	add.ftz.f32 	%f61, %f18, %f18;
	mul.ftz.f32 	%f78, %f61, %f19;
	bra.uni 	BB13_8;

BB13_7:
	sub.ftz.f32 	%f63, %f52, %f18;
	sub.ftz.f32 	%f64, %f52, %f19;
	mul.ftz.f32 	%f65, %f63, 0fC0000000;
	fma.rn.ftz.f32 	%f78, %f65, %f64, 0f3F800000;

BB13_8:
	cvt.ftz.sat.f32.f32	%f66, %f78;
	fma.rn.ftz.f32 	%f67, %f2, %f66, %f17;
	fma.rn.ftz.f32 	%f81, %f5, %f67, %f16;
	mul.ftz.f32 	%f24, %f6, %f42;
	mul.ftz.f32 	%f25, %f8, %f38;
	cvt.ftz.sat.f32.f32	%f26, %f38;
	cvt.ftz.sat.f32.f32	%f27, %f42;
	setp.gtu.ftz.f32	%p4, %f27, 0f3F000000;
	@%p4 bra 	BB13_10;

	add.ftz.f32 	%f70, %f26, %f26;
	mul.ftz.f32 	%f79, %f70, %f27;
	bra.uni 	BB13_11;

BB13_10:
	sub.ftz.f32 	%f72, %f52, %f26;
	sub.ftz.f32 	%f73, %f52, %f27;
	mul.ftz.f32 	%f74, %f72, 0fC0000000;
	fma.rn.ftz.f32 	%f79, %f74, %f73, 0f3F800000;

BB13_11:
	cvt.ftz.sat.f32.f32	%f75, %f79;
	fma.rn.ftz.f32 	%f76, %f2, %f75, %f25;
	fma.rn.ftz.f32 	%f82, %f5, %f76, %f24;

BB13_12:
	st.param.f32	[func_retval0+0], %f80;
	st.param.f32	[func_retval0+4], %f81;
	st.param.f32	[func_retval0+8], %f82;
	st.param.f32	[func_retval0+12], %f83;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi(
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_1[16],
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_2,
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<81>;


	ld.param.f32 	%f38, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f37, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f36, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_0];
	ld.param.f32 	%f39, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f42, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f41, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f40, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f44, [_Z38BlendMode_PixelFn_kBlendMode_SoftLight8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f39, %f44;
	add.ftz.f32 	%f45, %f1, %f2;
	mul.ftz.f32 	%f46, %f1, %f2;
	sub.ftz.f32 	%f80, %f45, %f46;
	add.ftz.f32 	%f47, %f80, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f47, 0f00000000;
	@%p1 bra 	BB14_2;

	mov.f32 	%f80, 0f00000000;
	mov.f32 	%f79, %f80;
	mov.f32 	%f78, %f80;
	mov.f32 	%f77, %f80;
	bra.uni 	BB14_12;

BB14_2:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f80;
	mul.ftz.f32 	%f5, %f1, %f53;
	sub.ftz.f32 	%f6, %f52, %f5;
	mul.ftz.f32 	%f7, %f6, %f40;
	sub.ftz.f32 	%f8, %f52, %f2;
	mul.ftz.f32 	%f9, %f8, %f36;
	cvt.ftz.sat.f32.f32	%f10, %f40;
	cvt.ftz.sat.f32.f32	%f54, %f36;
	setp.gtu.ftz.f32	%p2, %f54, 0f3F000000;
	fma.rn.ftz.f32 	%f11, %f54, 0f40000000, 0fBF800000;
	@%p2 bra 	BB14_4;

	mul.ftz.f32 	%f55, %f10, %f10;
	sub.ftz.f32 	%f74, %f10, %f55;
	bra.uni 	BB14_5;

BB14_4:
	sqrt.approx.ftz.f32 	%f56, %f10;
	sub.ftz.f32 	%f74, %f56, %f10;

BB14_5:
	fma.rn.ftz.f32 	%f57, %f11, %f74, %f10;
	cvt.ftz.sat.f32.f32	%f58, %f57;
	fma.rn.ftz.f32 	%f59, %f2, %f58, %f9;
	fma.rn.ftz.f32 	%f77, %f5, %f59, %f7;
	mul.ftz.f32 	%f16, %f6, %f41;
	mul.ftz.f32 	%f17, %f8, %f37;
	cvt.ftz.sat.f32.f32	%f60, %f37;
	cvt.ftz.sat.f32.f32	%f18, %f41;
	setp.gtu.ftz.f32	%p3, %f60, 0f3F000000;
	fma.rn.ftz.f32 	%f19, %f60, 0f40000000, 0fBF800000;
	@%p3 bra 	BB14_7;

	mul.ftz.f32 	%f61, %f18, %f18;
	sub.ftz.f32 	%f75, %f18, %f61;
	bra.uni 	BB14_8;

BB14_7:
	sqrt.approx.ftz.f32 	%f62, %f18;
	sub.ftz.f32 	%f75, %f62, %f18;

BB14_8:
	fma.rn.ftz.f32 	%f63, %f19, %f75, %f18;
	cvt.ftz.sat.f32.f32	%f64, %f63;
	fma.rn.ftz.f32 	%f65, %f2, %f64, %f17;
	fma.rn.ftz.f32 	%f78, %f5, %f65, %f16;
	mul.ftz.f32 	%f24, %f6, %f42;
	mul.ftz.f32 	%f25, %f8, %f38;
	cvt.ftz.sat.f32.f32	%f26, %f42;
	cvt.ftz.sat.f32.f32	%f68, %f38;
	setp.gtu.ftz.f32	%p4, %f68, 0f3F000000;
	fma.rn.ftz.f32 	%f27, %f68, 0f40000000, 0fBF800000;
	@%p4 bra 	BB14_10;

	mul.ftz.f32 	%f69, %f26, %f26;
	sub.ftz.f32 	%f76, %f26, %f69;
	bra.uni 	BB14_11;

BB14_10:
	sqrt.approx.ftz.f32 	%f70, %f26;
	sub.ftz.f32 	%f76, %f70, %f26;

BB14_11:
	fma.rn.ftz.f32 	%f71, %f27, %f76, %f26;
	cvt.ftz.sat.f32.f32	%f72, %f71;
	fma.rn.ftz.f32 	%f73, %f2, %f72, %f25;
	fma.rn.ftz.f32 	%f79, %f5, %f73, %f24;

BB14_12:
	st.param.f32	[func_retval0+0], %f77;
	st.param.f32	[func_retval0+4], %f78;
	st.param.f32	[func_retval0+8], %f79;
	st.param.f32	[func_retval0+12], %f80;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi(
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_1[16],
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_2,
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<84>;


	ld.param.f32 	%f38, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f37, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f36, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_0];
	ld.param.f32 	%f39, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f42, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f41, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f40, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f44, [_Z38BlendMode_PixelFn_kBlendMode_HardLight8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f39, %f44;
	add.ftz.f32 	%f45, %f1, %f2;
	mul.ftz.f32 	%f46, %f1, %f2;
	sub.ftz.f32 	%f83, %f45, %f46;
	add.ftz.f32 	%f47, %f83, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f47, 0f00000000;
	@%p1 bra 	BB15_2;

	mov.f32 	%f83, 0f00000000;
	mov.f32 	%f82, %f83;
	mov.f32 	%f81, %f83;
	mov.f32 	%f80, %f83;
	bra.uni 	BB15_12;

BB15_2:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f83;
	mul.ftz.f32 	%f5, %f1, %f53;
	sub.ftz.f32 	%f6, %f52, %f5;
	mul.ftz.f32 	%f7, %f6, %f40;
	sub.ftz.f32 	%f8, %f52, %f2;
	mul.ftz.f32 	%f9, %f8, %f36;
	cvt.ftz.sat.f32.f32	%f10, %f40;
	cvt.ftz.sat.f32.f32	%f11, %f36;
	setp.gtu.ftz.f32	%p2, %f11, 0f3F000000;
	@%p2 bra 	BB15_4;

	add.ftz.f32 	%f54, %f11, %f11;
	mul.ftz.f32 	%f77, %f54, %f10;
	bra.uni 	BB15_5;

BB15_4:
	sub.ftz.f32 	%f56, %f52, %f11;
	sub.ftz.f32 	%f57, %f52, %f10;
	mul.ftz.f32 	%f58, %f56, 0fC0000000;
	fma.rn.ftz.f32 	%f77, %f58, %f57, 0f3F800000;

BB15_5:
	cvt.ftz.sat.f32.f32	%f59, %f77;
	fma.rn.ftz.f32 	%f60, %f2, %f59, %f9;
	fma.rn.ftz.f32 	%f80, %f5, %f60, %f7;
	mul.ftz.f32 	%f16, %f6, %f41;
	mul.ftz.f32 	%f17, %f8, %f37;
	cvt.ftz.sat.f32.f32	%f18, %f37;
	cvt.ftz.sat.f32.f32	%f19, %f41;
	setp.gtu.ftz.f32	%p3, %f18, 0f3F000000;
	@%p3 bra 	BB15_7;

	add.ftz.f32 	%f61, %f18, %f18;
	mul.ftz.f32 	%f78, %f61, %f19;
	bra.uni 	BB15_8;

BB15_7:
	sub.ftz.f32 	%f63, %f52, %f18;
	sub.ftz.f32 	%f64, %f52, %f19;
	mul.ftz.f32 	%f65, %f63, 0fC0000000;
	fma.rn.ftz.f32 	%f78, %f65, %f64, 0f3F800000;

BB15_8:
	cvt.ftz.sat.f32.f32	%f66, %f78;
	fma.rn.ftz.f32 	%f67, %f2, %f66, %f17;
	fma.rn.ftz.f32 	%f81, %f5, %f67, %f16;
	mul.ftz.f32 	%f24, %f6, %f42;
	mul.ftz.f32 	%f25, %f8, %f38;
	cvt.ftz.sat.f32.f32	%f26, %f42;
	cvt.ftz.sat.f32.f32	%f27, %f38;
	setp.gtu.ftz.f32	%p4, %f27, 0f3F000000;
	@%p4 bra 	BB15_10;

	add.ftz.f32 	%f70, %f27, %f27;
	mul.ftz.f32 	%f79, %f70, %f26;
	bra.uni 	BB15_11;

BB15_10:
	sub.ftz.f32 	%f72, %f52, %f27;
	sub.ftz.f32 	%f73, %f52, %f26;
	mul.ftz.f32 	%f74, %f72, 0fC0000000;
	fma.rn.ftz.f32 	%f79, %f74, %f73, 0f3F800000;

BB15_11:
	cvt.ftz.sat.f32.f32	%f75, %f79;
	fma.rn.ftz.f32 	%f76, %f2, %f75, %f25;
	fma.rn.ftz.f32 	%f82, %f5, %f76, %f24;

BB15_12:
	st.param.f32	[func_retval0+0], %f80;
	st.param.f32	[func_retval0+4], %f81;
	st.param.f32	[func_retval0+8], %f82;
	st.param.f32	[func_retval0+12], %f83;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi(
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_1[16],
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_2,
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<109>;


	ld.param.f32 	%f38, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f37, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f36, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_0];
	ld.param.f32 	%f39, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f42, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f41, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f40, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f44, [_Z39BlendMode_PixelFn_kBlendMode_VividLight8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f39, %f44;
	add.ftz.f32 	%f45, %f1, %f2;
	mul.ftz.f32 	%f46, %f1, %f2;
	sub.ftz.f32 	%f108, %f45, %f46;
	add.ftz.f32 	%f47, %f108, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f47, 0f00000000;
	@%p1 bra 	BB16_2;

	mov.f32 	%f108, 0f00000000;
	mov.f32 	%f107, %f108;
	mov.f32 	%f106, %f108;
	mov.f32 	%f105, %f108;
	bra.uni 	BB16_12;

BB16_2:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f108;
	mul.ftz.f32 	%f5, %f1, %f53;
	sub.ftz.f32 	%f6, %f52, %f5;
	mul.ftz.f32 	%f7, %f6, %f40;
	sub.ftz.f32 	%f8, %f52, %f2;
	mul.ftz.f32 	%f9, %f8, %f36;
	mov.f32 	%f54, 0f358637BD;
	max.ftz.f32 	%f55, %f36, %f54;
	mov.f32 	%f56, 0f3F7FFFEF;
	min.ftz.f32 	%f10, %f55, %f56;
	mov.f32 	%f57, 0f00000000;
	max.ftz.f32 	%f58, %f40, %f57;
	min.ftz.f32 	%f11, %f58, %f52;
	setp.gtu.ftz.f32	%p2, %f10, 0f3F000000;
	@%p2 bra 	BB16_4;

	sub.ftz.f32 	%f60, %f52, %f11;
	add.ftz.f32 	%f61, %f10, %f10;
	div.approx.ftz.f32 	%f62, %f60, %f61;
	sub.ftz.f32 	%f63, %f52, %f62;
	cvt.ftz.sat.f32.f32	%f102, %f63;
	bra.uni 	BB16_5;

BB16_4:
	sub.ftz.f32 	%f65, %f52, %f10;
	add.ftz.f32 	%f66, %f65, %f65;
	div.approx.ftz.f32 	%f67, %f11, %f66;
	cvt.ftz.sat.f32.f32	%f102, %f67;

BB16_5:
	fma.rn.ftz.f32 	%f68, %f2, %f102, %f9;
	fma.rn.ftz.f32 	%f105, %f5, %f68, %f7;
	mul.ftz.f32 	%f16, %f6, %f41;
	mul.ftz.f32 	%f17, %f8, %f37;
	max.ftz.f32 	%f70, %f37, %f54;
	min.ftz.f32 	%f18, %f70, %f56;
	max.ftz.f32 	%f73, %f41, %f57;
	min.ftz.f32 	%f19, %f73, %f52;
	setp.gtu.ftz.f32	%p3, %f18, 0f3F000000;
	@%p3 bra 	BB16_7;

	sub.ftz.f32 	%f76, %f52, %f19;
	add.ftz.f32 	%f77, %f18, %f18;
	div.approx.ftz.f32 	%f78, %f76, %f77;
	sub.ftz.f32 	%f79, %f52, %f78;
	cvt.ftz.sat.f32.f32	%f103, %f79;
	bra.uni 	BB16_8;

BB16_7:
	sub.ftz.f32 	%f81, %f52, %f18;
	add.ftz.f32 	%f82, %f81, %f81;
	div.approx.ftz.f32 	%f83, %f19, %f82;
	cvt.ftz.sat.f32.f32	%f103, %f83;

BB16_8:
	fma.rn.ftz.f32 	%f84, %f2, %f103, %f17;
	fma.rn.ftz.f32 	%f106, %f5, %f84, %f16;
	mul.ftz.f32 	%f24, %f6, %f42;
	mul.ftz.f32 	%f25, %f8, %f38;
	max.ftz.f32 	%f88, %f38, %f54;
	min.ftz.f32 	%f26, %f88, %f56;
	max.ftz.f32 	%f91, %f42, %f57;
	min.ftz.f32 	%f27, %f91, %f52;
	setp.gtu.ftz.f32	%p4, %f26, 0f3F000000;
	@%p4 bra 	BB16_10;

	sub.ftz.f32 	%f93, %f52, %f27;
	add.ftz.f32 	%f94, %f26, %f26;
	div.approx.ftz.f32 	%f95, %f93, %f94;
	sub.ftz.f32 	%f96, %f52, %f95;
	cvt.ftz.sat.f32.f32	%f104, %f96;
	bra.uni 	BB16_11;

BB16_10:
	sub.ftz.f32 	%f98, %f52, %f26;
	add.ftz.f32 	%f99, %f98, %f98;
	div.approx.ftz.f32 	%f100, %f27, %f99;
	cvt.ftz.sat.f32.f32	%f104, %f100;

BB16_11:
	fma.rn.ftz.f32 	%f101, %f2, %f104, %f25;
	fma.rn.ftz.f32 	%f107, %f5, %f101, %f24;

BB16_12:
	st.param.f32	[func_retval0+0], %f105;
	st.param.f32	[func_retval0+4], %f106;
	st.param.f32	[func_retval0+8], %f107;
	st.param.f32	[func_retval0+12], %f108;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi(
	.param .align 16 .b8 _Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_1[16],
	.param .b32 _Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_2,
	.param .b32 _Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<57>;


	ld.param.f32 	%f13, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z40BlendMode_PixelFn_kBlendMode_LinearLight8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f56, %f20, %f21;
	add.ftz.f32 	%f22, %f56, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB17_2;

	mov.f32 	%f56, 0f00000000;
	mov.f32 	%f55, %f56;
	mov.f32 	%f54, %f56;
	mov.f32 	%f53, %f56;
	bra.uni 	BB17_3;

BB17_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f56;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	cvt.ftz.sat.f32.f32	%f32, %f11;
	cvt.ftz.sat.f32.f32	%f33, %f15;
	fma.rn.ftz.f32 	%f34, %f32, 0f40000000, %f33;
	add.ftz.f32 	%f35, %f34, 0fBF800000;
	mul.ftz.f32 	%f36, %f2, %f35;
	fma.rn.ftz.f32 	%f37, %f31, %f11, %f36;
	mul.ftz.f32 	%f38, %f29, %f37;
	fma.rn.ftz.f32 	%f53, %f30, %f15, %f38;
	cvt.ftz.sat.f32.f32	%f39, %f12;
	cvt.ftz.sat.f32.f32	%f40, %f16;
	fma.rn.ftz.f32 	%f41, %f39, 0f40000000, %f40;
	add.ftz.f32 	%f42, %f41, 0fBF800000;
	mul.ftz.f32 	%f43, %f2, %f42;
	fma.rn.ftz.f32 	%f44, %f31, %f12, %f43;
	mul.ftz.f32 	%f45, %f29, %f44;
	fma.rn.ftz.f32 	%f54, %f30, %f16, %f45;
	cvt.ftz.sat.f32.f32	%f46, %f13;
	cvt.ftz.sat.f32.f32	%f47, %f17;
	fma.rn.ftz.f32 	%f48, %f46, 0f40000000, %f47;
	add.ftz.f32 	%f49, %f48, 0fBF800000;
	mul.ftz.f32 	%f50, %f2, %f49;
	fma.rn.ftz.f32 	%f51, %f31, %f13, %f50;
	mul.ftz.f32 	%f52, %f29, %f51;
	fma.rn.ftz.f32 	%f55, %f30, %f17, %f52;

BB17_3:
	st.param.f32	[func_retval0+0], %f53;
	st.param.f32	[func_retval0+4], %f54;
	st.param.f32	[func_retval0+8], %f55;
	st.param.f32	[func_retval0+12], %f56;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi(
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_1[16],
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_2,
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<8>;
	.reg .f32 	%f<71>;


	ld.param.f32 	%f34, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f33, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f32, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_0];
	ld.param.f32 	%f35, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f38, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f37, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f36, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f40, [_Z37BlendMode_PixelFn_kBlendMode_PinLight8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f35, %f40;
	add.ftz.f32 	%f41, %f1, %f2;
	mul.ftz.f32 	%f42, %f1, %f2;
	sub.ftz.f32 	%f70, %f41, %f42;
	add.ftz.f32 	%f43, %f70, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f43, 0f00000000;
	@%p1 bra 	BB18_2;

	mov.f32 	%f70, 0f00000000;
	mov.f32 	%f69, %f70;
	mov.f32 	%f68, %f70;
	mov.f32 	%f67, %f70;
	bra.uni 	BB18_12;

BB18_2:
	mov.f32 	%f48, 0f3F800000;
	div.approx.ftz.f32 	%f49, %f48, %f70;
	mul.ftz.f32 	%f6, %f1, %f49;
	sub.ftz.f32 	%f7, %f48, %f2;
	cvt.ftz.sat.f32.f32	%f50, %f32;
	add.ftz.f32 	%f8, %f50, %f50;
	add.ftz.f32 	%f9, %f8, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f10, %f36;
	setp.lt.ftz.f32	%p2, %f10, %f9;
	mov.f32 	%f64, %f9;
	@%p2 bra 	BB18_5;

	setp.leu.ftz.f32	%p3, %f10, %f8;
	mov.f32 	%f64, %f10;
	@%p3 bra 	BB18_5;

	mov.f32 	%f64, %f8;

BB18_5:
	sub.ftz.f32 	%f52, %f48, %f6;
	mul.ftz.f32 	%f53, %f2, %f64;
	fma.rn.ftz.f32 	%f54, %f7, %f32, %f53;
	mul.ftz.f32 	%f55, %f6, %f54;
	fma.rn.ftz.f32 	%f67, %f52, %f36, %f55;
	mul.ftz.f32 	%f14, %f52, %f37;
	cvt.ftz.sat.f32.f32	%f56, %f33;
	cvt.ftz.sat.f32.f32	%f16, %f37;
	add.ftz.f32 	%f17, %f56, %f56;
	add.ftz.f32 	%f18, %f17, 0fBF800000;
	setp.lt.ftz.f32	%p4, %f16, %f18;
	mov.f32 	%f65, %f18;
	@%p4 bra 	BB18_8;

	setp.leu.ftz.f32	%p5, %f16, %f17;
	mov.f32 	%f65, %f16;
	@%p5 bra 	BB18_8;

	mov.f32 	%f65, %f17;

BB18_8:
	mul.ftz.f32 	%f57, %f2, %f65;
	fma.rn.ftz.f32 	%f58, %f7, %f33, %f57;
	fma.rn.ftz.f32 	%f68, %f6, %f58, %f14;
	mul.ftz.f32 	%f22, %f7, %f34;
	cvt.ftz.sat.f32.f32	%f23, %f38;
	cvt.ftz.sat.f32.f32	%f59, %f34;
	add.ftz.f32 	%f24, %f59, %f59;
	add.ftz.f32 	%f25, %f24, 0fBF800000;
	setp.lt.ftz.f32	%p6, %f23, %f25;
	mov.f32 	%f66, %f25;
	@%p6 bra 	BB18_11;

	setp.leu.ftz.f32	%p7, %f23, %f24;
	mov.f32 	%f66, %f23;
	@%p7 bra 	BB18_11;

	mov.f32 	%f66, %f24;

BB18_11:
	fma.rn.ftz.f32 	%f62, %f2, %f66, %f22;
	mul.ftz.f32 	%f63, %f6, %f62;
	fma.rn.ftz.f32 	%f69, %f52, %f38, %f63;

BB18_12:
	st.param.f32	[func_retval0+0], %f67;
	st.param.f32	[func_retval0+4], %f68;
	st.param.f32	[func_retval0+8], %f69;
	st.param.f32	[func_retval0+12], %f70;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi(
	.param .align 16 .b8 _Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_1[16],
	.param .b32 _Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_2,
	.param .b32 _Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<5>;
	.reg .f32 	%f<51>;


	ld.param.f32 	%f13, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z36BlendMode_PixelFn_kBlendMode_HardMix8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f50, %f20, %f21;
	add.ftz.f32 	%f22, %f50, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB19_2;

	mov.f32 	%f50, 0f00000000;
	mov.f32 	%f49, %f50;
	mov.f32 	%f48, %f50;
	mov.f32 	%f47, %f50;
	bra.uni 	BB19_3;

BB19_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f50;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	sub.ftz.f32 	%f32, %f27, %f15;
	setp.lt.ftz.f32	%p2, %f11, %f32;
	selp.f32	%f33, 0f00000000, 0f3F800000, %p2;
	mul.ftz.f32 	%f34, %f2, %f33;
	fma.rn.ftz.f32 	%f35, %f31, %f11, %f34;
	mul.ftz.f32 	%f36, %f29, %f35;
	fma.rn.ftz.f32 	%f47, %f30, %f15, %f36;
	sub.ftz.f32 	%f37, %f27, %f16;
	setp.lt.ftz.f32	%p3, %f12, %f37;
	selp.f32	%f38, 0f00000000, 0f3F800000, %p3;
	mul.ftz.f32 	%f39, %f2, %f38;
	fma.rn.ftz.f32 	%f40, %f31, %f12, %f39;
	mul.ftz.f32 	%f41, %f29, %f40;
	fma.rn.ftz.f32 	%f48, %f30, %f16, %f41;
	sub.ftz.f32 	%f42, %f27, %f17;
	setp.lt.ftz.f32	%p4, %f13, %f42;
	selp.f32	%f43, 0f00000000, 0f3F800000, %p4;
	mul.ftz.f32 	%f44, %f2, %f43;
	fma.rn.ftz.f32 	%f45, %f31, %f13, %f44;
	mul.ftz.f32 	%f46, %f29, %f45;
	fma.rn.ftz.f32 	%f49, %f30, %f17, %f46;

BB19_3:
	st.param.f32	[func_retval0+0], %f47;
	st.param.f32	[func_retval0+4], %f48;
	st.param.f32	[func_retval0+8], %f49;
	st.param.f32	[func_retval0+12], %f50;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi(
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_1[16],
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_2,
	.param .b32 _Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<51>;


	ld.param.f32 	%f13, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z39BlendMode_PixelFn_kBlendMode_Difference8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f50, %f20, %f21;
	add.ftz.f32 	%f22, %f50, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB20_2;

	mov.f32 	%f50, 0f00000000;
	mov.f32 	%f49, %f50;
	mov.f32 	%f48, %f50;
	mov.f32 	%f47, %f50;
	bra.uni 	BB20_3;

BB20_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f50;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	sub.ftz.f32 	%f32, %f11, %f15;
	abs.ftz.f32 	%f33, %f32;
	mul.ftz.f32 	%f34, %f2, %f33;
	fma.rn.ftz.f32 	%f35, %f31, %f11, %f34;
	mul.ftz.f32 	%f36, %f29, %f35;
	fma.rn.ftz.f32 	%f47, %f30, %f15, %f36;
	sub.ftz.f32 	%f37, %f12, %f16;
	abs.ftz.f32 	%f38, %f37;
	mul.ftz.f32 	%f39, %f2, %f38;
	fma.rn.ftz.f32 	%f40, %f31, %f12, %f39;
	mul.ftz.f32 	%f41, %f29, %f40;
	fma.rn.ftz.f32 	%f48, %f30, %f16, %f41;
	sub.ftz.f32 	%f42, %f13, %f17;
	abs.ftz.f32 	%f43, %f42;
	mul.ftz.f32 	%f44, %f2, %f43;
	fma.rn.ftz.f32 	%f45, %f31, %f13, %f44;
	mul.ftz.f32 	%f46, %f29, %f45;
	fma.rn.ftz.f32 	%f49, %f30, %f17, %f46;

BB20_3:
	st.param.f32	[func_retval0+0], %f47;
	st.param.f32	[func_retval0+4], %f48;
	st.param.f32	[func_retval0+8], %f49;
	st.param.f32	[func_retval0+12], %f50;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi(
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_1[16],
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_2,
	.param .b32 _Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<65>;


	ld.param.f32 	%f13, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z38BlendMode_PixelFn_kBlendMode_Exclusion8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f64, %f20, %f21;
	add.ftz.f32 	%f22, %f64, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB21_2;

	mov.f32 	%f64, 0f00000000;
	mov.f32 	%f63, %f64;
	mov.f32 	%f62, %f64;
	mov.f32 	%f61, %f64;
	bra.uni 	BB21_3;

BB21_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f64;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	cvt.ftz.sat.f32.f32	%f32, %f15;
	cvt.ftz.sat.f32.f32	%f33, %f11;
	add.ftz.f32 	%f34, %f33, %f32;
	mul.ftz.f32 	%f35, %f33, 0fC0000000;
	fma.rn.ftz.f32 	%f36, %f35, %f32, %f34;
	cvt.ftz.sat.f32.f32	%f37, %f36;
	mul.ftz.f32 	%f38, %f2, %f37;
	fma.rn.ftz.f32 	%f39, %f31, %f11, %f38;
	mul.ftz.f32 	%f40, %f29, %f39;
	fma.rn.ftz.f32 	%f61, %f30, %f15, %f40;
	cvt.ftz.sat.f32.f32	%f41, %f16;
	cvt.ftz.sat.f32.f32	%f42, %f12;
	add.ftz.f32 	%f43, %f42, %f41;
	add.ftz.f32 	%f44, %f42, %f42;
	mul.ftz.f32 	%f45, %f44, %f41;
	sub.ftz.f32 	%f46, %f43, %f45;
	cvt.ftz.sat.f32.f32	%f47, %f46;
	mul.ftz.f32 	%f48, %f2, %f47;
	fma.rn.ftz.f32 	%f49, %f31, %f12, %f48;
	mul.ftz.f32 	%f50, %f29, %f49;
	fma.rn.ftz.f32 	%f62, %f30, %f16, %f50;
	cvt.ftz.sat.f32.f32	%f51, %f17;
	cvt.ftz.sat.f32.f32	%f52, %f13;
	add.ftz.f32 	%f53, %f52, %f51;
	add.ftz.f32 	%f54, %f52, %f52;
	mul.ftz.f32 	%f55, %f54, %f51;
	sub.ftz.f32 	%f56, %f53, %f55;
	cvt.ftz.sat.f32.f32	%f57, %f56;
	mul.ftz.f32 	%f58, %f2, %f57;
	fma.rn.ftz.f32 	%f59, %f31, %f13, %f58;
	mul.ftz.f32 	%f60, %f29, %f59;
	fma.rn.ftz.f32 	%f63, %f30, %f17, %f60;

BB21_3:
	st.param.f32	[func_retval0+0], %f61;
	st.param.f32	[func_retval0+4], %f62;
	st.param.f32	[func_retval0+8], %f63;
	st.param.f32	[func_retval0+12], %f64;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi(
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_1[16],
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_2,
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<57>;


	ld.param.f32 	%f13, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z37BlendMode_PixelFn_kBlendMode_Subtract8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f56, %f20, %f21;
	add.ftz.f32 	%f22, %f56, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB22_2;

	mov.f32 	%f56, 0f00000000;
	mov.f32 	%f55, %f56;
	mov.f32 	%f54, %f56;
	mov.f32 	%f53, %f56;
	bra.uni 	BB22_3;

BB22_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f56;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	cvt.ftz.sat.f32.f32	%f32, %f15;
	cvt.ftz.sat.f32.f32	%f33, %f11;
	sub.ftz.f32 	%f34, %f32, %f33;
	cvt.ftz.sat.f32.f32	%f35, %f34;
	mul.ftz.f32 	%f36, %f2, %f35;
	fma.rn.ftz.f32 	%f37, %f31, %f11, %f36;
	mul.ftz.f32 	%f38, %f29, %f37;
	fma.rn.ftz.f32 	%f53, %f30, %f15, %f38;
	cvt.ftz.sat.f32.f32	%f39, %f16;
	cvt.ftz.sat.f32.f32	%f40, %f12;
	sub.ftz.f32 	%f41, %f39, %f40;
	cvt.ftz.sat.f32.f32	%f42, %f41;
	mul.ftz.f32 	%f43, %f2, %f42;
	fma.rn.ftz.f32 	%f44, %f31, %f12, %f43;
	mul.ftz.f32 	%f45, %f29, %f44;
	fma.rn.ftz.f32 	%f54, %f30, %f16, %f45;
	cvt.ftz.sat.f32.f32	%f46, %f17;
	cvt.ftz.sat.f32.f32	%f47, %f13;
	sub.ftz.f32 	%f48, %f46, %f47;
	cvt.ftz.sat.f32.f32	%f49, %f48;
	mul.ftz.f32 	%f50, %f2, %f49;
	fma.rn.ftz.f32 	%f51, %f31, %f13, %f50;
	mul.ftz.f32 	%f52, %f29, %f51;
	fma.rn.ftz.f32 	%f55, %f30, %f17, %f52;

BB22_3:
	st.param.f32	[func_retval0+0], %f53;
	st.param.f32	[func_retval0+4], %f54;
	st.param.f32	[func_retval0+8], %f55;
	st.param.f32	[func_retval0+12], %f56;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi(
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_1[16],
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_2,
	.param .b32 _Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<2>;
	.reg .f32 	%f<65>;


	ld.param.f32 	%f13, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f12, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f11, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_0];
	ld.param.f32 	%f14, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f17, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f16, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f15, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_1];
	ld.param.f32 	%f2, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f19, [_Z35BlendMode_PixelFn_kBlendMode_Divide8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f14, %f19;
	add.ftz.f32 	%f20, %f1, %f2;
	mul.ftz.f32 	%f21, %f1, %f2;
	sub.ftz.f32 	%f64, %f20, %f21;
	add.ftz.f32 	%f22, %f64, 0fB70637BD;
	setp.gtu.ftz.f32	%p1, %f22, 0f00000000;
	@%p1 bra 	BB23_2;

	mov.f32 	%f64, 0f00000000;
	mov.f32 	%f63, %f64;
	mov.f32 	%f62, %f64;
	mov.f32 	%f61, %f64;
	bra.uni 	BB23_3;

BB23_2:
	mov.f32 	%f27, 0f3F800000;
	div.approx.ftz.f32 	%f28, %f27, %f64;
	mul.ftz.f32 	%f29, %f1, %f28;
	sub.ftz.f32 	%f30, %f27, %f29;
	sub.ftz.f32 	%f31, %f27, %f2;
	mov.f32 	%f32, 0f33D6BF95;
	max.ftz.f32 	%f33, %f11, %f32;
	min.ftz.f32 	%f34, %f33, %f27;
	mov.f32 	%f35, 0f00000000;
	max.ftz.f32 	%f36, %f15, %f35;
	min.ftz.f32 	%f37, %f36, %f27;
	div.approx.ftz.f32 	%f38, %f37, %f34;
	cvt.ftz.sat.f32.f32	%f39, %f38;
	mul.ftz.f32 	%f40, %f2, %f39;
	fma.rn.ftz.f32 	%f41, %f31, %f11, %f40;
	mul.ftz.f32 	%f42, %f29, %f41;
	fma.rn.ftz.f32 	%f61, %f30, %f15, %f42;
	max.ftz.f32 	%f43, %f12, %f32;
	min.ftz.f32 	%f44, %f43, %f27;
	max.ftz.f32 	%f45, %f16, %f35;
	min.ftz.f32 	%f46, %f45, %f27;
	div.approx.ftz.f32 	%f47, %f46, %f44;
	cvt.ftz.sat.f32.f32	%f48, %f47;
	mul.ftz.f32 	%f49, %f2, %f48;
	fma.rn.ftz.f32 	%f50, %f31, %f12, %f49;
	mul.ftz.f32 	%f51, %f29, %f50;
	fma.rn.ftz.f32 	%f62, %f30, %f16, %f51;
	max.ftz.f32 	%f52, %f13, %f32;
	min.ftz.f32 	%f53, %f52, %f27;
	max.ftz.f32 	%f54, %f17, %f35;
	min.ftz.f32 	%f55, %f54, %f27;
	div.approx.ftz.f32 	%f56, %f55, %f53;
	cvt.ftz.sat.f32.f32	%f57, %f56;
	mul.ftz.f32 	%f58, %f2, %f57;
	fma.rn.ftz.f32 	%f59, %f31, %f13, %f58;
	mul.ftz.f32 	%f60, %f29, %f59;
	fma.rn.ftz.f32 	%f63, %f30, %f17, %f60;

BB23_3:
	st.param.f32	[func_retval0+0], %f61;
	st.param.f32	[func_retval0+4], %f62;
	st.param.f32	[func_retval0+8], %f63;
	st.param.f32	[func_retval0+12], %f64;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi(
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_1[16],
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_2,
	.param .b32 _Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<4>;
	.reg .s32 	%r<54>;
	.reg .f32 	%f<31>;


	ld.param.f32 	%f8, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f7, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f6, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_0];
	ld.param.f32 	%f9, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f13, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f12, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f11, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f10, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_1];
	ld.param.f32 	%f14, [_Z37BlendMode_PixelFn_kBlendMode_Dissolve8PixelRGBS_fi_param_2];
	mul.ftz.f32 	%f1, %f9, %f14;
	add.ftz.f32 	%f15, %f1, 0fB70637BD;
	setp.le.ftz.f32	%p1, %f15, 0f00000000;
	mov.f32 	%f21, %f10;
	mov.f32 	%f24, %f11;
	mov.f32 	%f27, %f12;
	mov.f32 	%f30, %f13;
	@%p1 bra 	BB24_4;

	add.ftz.f32 	%f16, %f1, 0f370637BD;
	setp.ge.ftz.f32	%p2, %f16, 0f3F800000;
	mov.f32 	%f21, %f6;
	mov.f32 	%f24, %f7;
	mov.f32 	%f27, %f8;
	mov.f32 	%f30, %f9;
	@%p2 bra 	BB24_4;

	ld.const.u32 	%r1, [kRandMax];
	cvt.rn.f32.u32	%f17, %r1;
	mul.ftz.f32 	%f18, %f1, %f17;
	cvt.rzi.ftz.s32.f32	%r2, %f18;
	mov.u32 	%r3, %ntid.x;
	mov.u32 	%r4, %ctaid.x;
	mov.u32 	%r5, %ntid.y;
	mov.u32 	%r6, %ctaid.y;
	mov.u32 	%r7, %tid.y;
	mad.lo.s32 	%r8, %r5, %r6, %r7;
	mov.u32 	%r9, %tid.x;
	mad.lo.s32 	%r10, %r3, %r4, %r9;
	sub.s32 	%r11, %r10, %r8;
	add.s32 	%r12, %r11, -1;
	mov.u32 	%r13, 1;
	sub.s32 	%r14, %r13, %r11;
	add.s32 	%r15, %r8, %r14;
	add.s32 	%r16, %r15, -1;
	shl.b32 	%r17, %r12, 8;
	xor.b32  	%r18, %r16, %r17;
	mov.u32 	%r19, 2;
	sub.s32 	%r20, %r19, %r11;
	sub.s32 	%r21, %r20, %r18;
	shr.u32 	%r22, %r18, 13;
	xor.b32  	%r23, %r21, %r22;
	sub.s32 	%r24, %r12, %r18;
	sub.s32 	%r25, %r24, %r23;
	shr.u32 	%r26, %r23, 12;
	xor.b32  	%r27, %r25, %r26;
	sub.s32 	%r28, %r18, %r23;
	sub.s32 	%r29, %r28, %r27;
	shl.b32 	%r30, %r27, 16;
	xor.b32  	%r31, %r29, %r30;
	sub.s32 	%r32, %r23, %r27;
	sub.s32 	%r33, %r32, %r31;
	shr.u32 	%r34, %r31, 5;
	xor.b32  	%r35, %r33, %r34;
	sub.s32 	%r36, %r27, %r31;
	sub.s32 	%r37, %r36, %r35;
	shr.u32 	%r38, %r35, 3;
	xor.b32  	%r39, %r37, %r38;
	sub.s32 	%r40, %r31, %r35;
	sub.s32 	%r41, %r40, %r39;
	shl.b32 	%r42, %r39, 10;
	xor.b32  	%r43, %r41, %r42;
	sub.s32 	%r44, %r35, %r39;
	sub.s32 	%r45, %r44, %r43;
	shr.u32 	%r46, %r43, 15;
	xor.b32  	%r47, %r45, %r46;
	mad.lo.s32 	%r48, %r47, 1103515245, 12345;
	mad.lo.s32 	%r49, %r48, 1103515245, 12345;
	shr.u32 	%r50, %r48, 9;
	and.b32  	%r51, %r50, 32640;
	bfe.u32 	%r52, %r49, 16, 8;
	xor.b32  	%r53, %r52, %r51;
	setp.gt.s32	%p3, %r53, %r2;
	mov.f32 	%f19, %f10;
	mov.f32 	%f21, %f19;
	mov.f32 	%f22, %f11;
	mov.f32 	%f24, %f22;
	mov.f32 	%f25, %f12;
	mov.f32 	%f27, %f25;
	mov.f32 	%f28, %f13;
	mov.f32 	%f30, %f28;
	@%p3 bra 	BB24_4;

	mov.f32 	%f21, %f6;
	mov.f32 	%f24, %f7;
	mov.f32 	%f27, %f8;
	mov.f32 	%f30, %f9;

BB24_4:
	st.param.f32	[func_retval0+0], %f21;
	st.param.f32	[func_retval0+4], %f24;
	st.param.f32	[func_retval0+8], %f27;
	st.param.f32	[func_retval0+12], %f30;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi(
	.param .align 16 .b8 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_1[16],
	.param .b32 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_2,
	.param .b32 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .f32 	%f<74>;


	ld.param.f32 	%f28, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f1, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_0];
	ld.param.f32 	%f2, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f3, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f73, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f6, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_1];
	ld.param.f32 	%f4, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f5, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f33, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec6018PixelRGBS_fi_param_2];
	ld.const.f32 	%f34, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f35, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f36, %f35, %f3;
	fma.rn.ftz.f32 	%f37, %f34, %f2, %f36;
	ld.const.f32 	%f38, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f39, %f38, %f1, %f37;
	cvt.ftz.sat.f32.f32	%f40, %f39;
	mul.ftz.f32 	%f41, %f35, %f5;
	fma.rn.ftz.f32 	%f42, %f34, %f4, %f41;
	fma.rn.ftz.f32 	%f43, %f38, %f6, %f42;
	cvt.ftz.sat.f32.f32	%f44, %f43;
	setp.geu.ftz.f32	%p1, %f40, %f44;
	mov.f32 	%f72, %f4;
	mov.f32 	%f71, %f5;
	mov.f32 	%f70, %f6;
	@%p1 bra 	BB25_5;

	mul.ftz.f32 	%f7, %f28, %f33;
	add.ftz.f32 	%f45, %f7, %f73;
	mul.ftz.f32 	%f46, %f7, %f73;
	sub.ftz.f32 	%f69, %f45, %f46;
	add.ftz.f32 	%f47, %f69, 0fB70637BD;
	setp.gtu.ftz.f32	%p2, %f47, 0f00000000;
	@%p2 bra 	BB25_3;

	mov.f32 	%f69, 0f00000000;
	mov.f32 	%f68, %f69;
	mov.f32 	%f67, %f69;
	mov.f32 	%f66, %f69;
	bra.uni 	BB25_4;

BB25_3:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f69;
	mul.ftz.f32 	%f54, %f7, %f53;
	sub.ftz.f32 	%f55, %f52, %f54;
	sub.ftz.f32 	%f56, %f52, %f73;
	mul.ftz.f32 	%f57, %f73, %f1;
	fma.rn.ftz.f32 	%f58, %f56, %f1, %f57;
	mul.ftz.f32 	%f59, %f54, %f58;
	fma.rn.ftz.f32 	%f66, %f55, %f6, %f59;
	mul.ftz.f32 	%f60, %f73, %f3;
	fma.rn.ftz.f32 	%f61, %f56, %f3, %f60;
	mul.ftz.f32 	%f62, %f54, %f61;
	fma.rn.ftz.f32 	%f67, %f55, %f5, %f62;
	mul.ftz.f32 	%f63, %f73, %f2;
	fma.rn.ftz.f32 	%f64, %f56, %f2, %f63;
	mul.ftz.f32 	%f65, %f54, %f64;
	fma.rn.ftz.f32 	%f68, %f55, %f4, %f65;

BB25_4:
	mov.f32 	%f73, %f69;
	mov.f32 	%f72, %f68;
	mov.f32 	%f71, %f67;
	mov.f32 	%f70, %f66;

BB25_5:
	st.param.f32	[func_retval0+0], %f70;
	st.param.f32	[func_retval0+4], %f71;
	st.param.f32	[func_retval0+8], %f72;
	st.param.f32	[func_retval0+12], %f73;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi(
	.param .align 16 .b8 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_1[16],
	.param .b32 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_2,
	.param .b32 _Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .f32 	%f<74>;


	ld.param.f32 	%f28, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f1, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_0];
	ld.param.f32 	%f2, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f3, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f73, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f6, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_1];
	ld.param.f32 	%f4, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f5, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f33, [_Z62BlendMode_PixelRecFn_kBlendMode_DarkerColorkColorCoding_Rec7098PixelRGBS_fi_param_2];
	ld.const.f32 	%f34, [kRGB32f_To_709YPbPr];
	ld.const.f32 	%f35, [kRGB32f_To_709YPbPr+4];
	mul.ftz.f32 	%f36, %f35, %f3;
	fma.rn.ftz.f32 	%f37, %f34, %f2, %f36;
	ld.const.f32 	%f38, [kRGB32f_To_709YPbPr+8];
	fma.rn.ftz.f32 	%f39, %f38, %f1, %f37;
	cvt.ftz.sat.f32.f32	%f40, %f39;
	mul.ftz.f32 	%f41, %f35, %f5;
	fma.rn.ftz.f32 	%f42, %f34, %f4, %f41;
	fma.rn.ftz.f32 	%f43, %f38, %f6, %f42;
	cvt.ftz.sat.f32.f32	%f44, %f43;
	setp.geu.ftz.f32	%p1, %f40, %f44;
	mov.f32 	%f72, %f4;
	mov.f32 	%f71, %f5;
	mov.f32 	%f70, %f6;
	@%p1 bra 	BB26_5;

	mul.ftz.f32 	%f7, %f28, %f33;
	add.ftz.f32 	%f45, %f7, %f73;
	mul.ftz.f32 	%f46, %f7, %f73;
	sub.ftz.f32 	%f69, %f45, %f46;
	add.ftz.f32 	%f47, %f69, 0fB70637BD;
	setp.gtu.ftz.f32	%p2, %f47, 0f00000000;
	@%p2 bra 	BB26_3;

	mov.f32 	%f69, 0f00000000;
	mov.f32 	%f68, %f69;
	mov.f32 	%f67, %f69;
	mov.f32 	%f66, %f69;
	bra.uni 	BB26_4;

BB26_3:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f69;
	mul.ftz.f32 	%f54, %f7, %f53;
	sub.ftz.f32 	%f55, %f52, %f54;
	sub.ftz.f32 	%f56, %f52, %f73;
	mul.ftz.f32 	%f57, %f73, %f1;
	fma.rn.ftz.f32 	%f58, %f56, %f1, %f57;
	mul.ftz.f32 	%f59, %f54, %f58;
	fma.rn.ftz.f32 	%f66, %f55, %f6, %f59;
	mul.ftz.f32 	%f60, %f73, %f3;
	fma.rn.ftz.f32 	%f61, %f56, %f3, %f60;
	mul.ftz.f32 	%f62, %f54, %f61;
	fma.rn.ftz.f32 	%f67, %f55, %f5, %f62;
	mul.ftz.f32 	%f63, %f73, %f2;
	fma.rn.ftz.f32 	%f64, %f56, %f2, %f63;
	mul.ftz.f32 	%f65, %f54, %f64;
	fma.rn.ftz.f32 	%f68, %f55, %f4, %f65;

BB26_4:
	mov.f32 	%f73, %f69;
	mov.f32 	%f72, %f68;
	mov.f32 	%f71, %f67;
	mov.f32 	%f70, %f66;

BB26_5:
	st.param.f32	[func_retval0+0], %f70;
	st.param.f32	[func_retval0+4], %f71;
	st.param.f32	[func_retval0+8], %f72;
	st.param.f32	[func_retval0+12], %f73;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi(
	.param .align 16 .b8 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_1[16],
	.param .b32 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_2,
	.param .b32 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .f32 	%f<74>;


	ld.param.f32 	%f28, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f1, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_0];
	ld.param.f32 	%f2, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f3, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f73, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f6, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_1];
	ld.param.f32 	%f4, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f5, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f33, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec6018PixelRGBS_fi_param_2];
	ld.const.f32 	%f34, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f35, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f36, %f35, %f3;
	fma.rn.ftz.f32 	%f37, %f34, %f2, %f36;
	ld.const.f32 	%f38, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f39, %f38, %f1, %f37;
	cvt.ftz.sat.f32.f32	%f40, %f39;
	mul.ftz.f32 	%f41, %f35, %f5;
	fma.rn.ftz.f32 	%f42, %f34, %f4, %f41;
	fma.rn.ftz.f32 	%f43, %f38, %f6, %f42;
	cvt.ftz.sat.f32.f32	%f44, %f43;
	setp.leu.ftz.f32	%p1, %f40, %f44;
	mov.f32 	%f72, %f4;
	mov.f32 	%f71, %f5;
	mov.f32 	%f70, %f6;
	@%p1 bra 	BB27_5;

	mul.ftz.f32 	%f7, %f28, %f33;
	add.ftz.f32 	%f45, %f7, %f73;
	mul.ftz.f32 	%f46, %f7, %f73;
	sub.ftz.f32 	%f69, %f45, %f46;
	add.ftz.f32 	%f47, %f69, 0fB70637BD;
	setp.gtu.ftz.f32	%p2, %f47, 0f00000000;
	@%p2 bra 	BB27_3;

	mov.f32 	%f69, 0f00000000;
	mov.f32 	%f68, %f69;
	mov.f32 	%f67, %f69;
	mov.f32 	%f66, %f69;
	bra.uni 	BB27_4;

BB27_3:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f69;
	mul.ftz.f32 	%f54, %f7, %f53;
	sub.ftz.f32 	%f55, %f52, %f54;
	sub.ftz.f32 	%f56, %f52, %f73;
	mul.ftz.f32 	%f57, %f73, %f1;
	fma.rn.ftz.f32 	%f58, %f56, %f1, %f57;
	mul.ftz.f32 	%f59, %f54, %f58;
	fma.rn.ftz.f32 	%f66, %f55, %f6, %f59;
	mul.ftz.f32 	%f60, %f73, %f3;
	fma.rn.ftz.f32 	%f61, %f56, %f3, %f60;
	mul.ftz.f32 	%f62, %f54, %f61;
	fma.rn.ftz.f32 	%f67, %f55, %f5, %f62;
	mul.ftz.f32 	%f63, %f73, %f2;
	fma.rn.ftz.f32 	%f64, %f56, %f2, %f63;
	mul.ftz.f32 	%f65, %f54, %f64;
	fma.rn.ftz.f32 	%f68, %f55, %f4, %f65;

BB27_4:
	mov.f32 	%f73, %f69;
	mov.f32 	%f72, %f68;
	mov.f32 	%f71, %f67;
	mov.f32 	%f70, %f66;

BB27_5:
	st.param.f32	[func_retval0+0], %f70;
	st.param.f32	[func_retval0+4], %f71;
	st.param.f32	[func_retval0+8], %f72;
	st.param.f32	[func_retval0+12], %f73;
	ret;
}

.visible .func  (.param .align 16 .b8 func_retval0[16]) _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi(
	.param .align 16 .b8 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_0[16],
	.param .align 16 .b8 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_1[16],
	.param .b32 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_2,
	.param .b32 _Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_3
)
{
	.reg .pred 	%p<3>;
	.reg .f32 	%f<74>;


	ld.param.f32 	%f28, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_0+12];
	ld.param.f32 	%f1, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_0];
	ld.param.f32 	%f2, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_0+8];
	ld.param.f32 	%f3, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_0+4];
	ld.param.f32 	%f73, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_1+12];
	ld.param.f32 	%f6, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_1];
	ld.param.f32 	%f4, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_1+8];
	ld.param.f32 	%f5, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_1+4];
	ld.param.f32 	%f33, [_Z63BlendMode_PixelRecFn_kBlendMode_LighterColorkColorCoding_Rec7098PixelRGBS_fi_param_2];
	ld.const.f32 	%f34, [kRGB32f_To_709YPbPr];
	ld.const.f32 	%f35, [kRGB32f_To_709YPbPr+4];
	mul.ftz.f32 	%f36, %f35, %f3;
	fma.rn.ftz.f32 	%f37, %f34, %f2, %f36;
	ld.const.f32 	%f38, [kRGB32f_To_709YPbPr+8];
	fma.rn.ftz.f32 	%f39, %f38, %f1, %f37;
	cvt.ftz.sat.f32.f32	%f40, %f39;
	mul.ftz.f32 	%f41, %f35, %f5;
	fma.rn.ftz.f32 	%f42, %f34, %f4, %f41;
	fma.rn.ftz.f32 	%f43, %f38, %f6, %f42;
	cvt.ftz.sat.f32.f32	%f44, %f43;
	setp.leu.ftz.f32	%p1, %f40, %f44;
	mov.f32 	%f72, %f4;
	mov.f32 	%f71, %f5;
	mov.f32 	%f70, %f6;
	@%p1 bra 	BB28_5;

	mul.ftz.f32 	%f7, %f28, %f33;
	add.ftz.f32 	%f45, %f7, %f73;
	mul.ftz.f32 	%f46, %f7, %f73;
	sub.ftz.f32 	%f69, %f45, %f46;
	add.ftz.f32 	%f47, %f69, 0fB70637BD;
	setp.gtu.ftz.f32	%p2, %f47, 0f00000000;
	@%p2 bra 	BB28_3;

	mov.f32 	%f69, 0f00000000;
	mov.f32 	%f68, %f69;
	mov.f32 	%f67, %f69;
	mov.f32 	%f66, %f69;
	bra.uni 	BB28_4;

BB28_3:
	mov.f32 	%f52, 0f3F800000;
	div.approx.ftz.f32 	%f53, %f52, %f69;
	mul.ftz.f32 	%f54, %f7, %f53;
	sub.ftz.f32 	%f55, %f52, %f54;
	sub.ftz.f32 	%f56, %f52, %f73;
	mul.ftz.f32 	%f57, %f73, %f1;
	fma.rn.ftz.f32 	%f58, %f56, %f1, %f57;
	mul.ftz.f32 	%f59, %f54, %f58;
	fma.rn.ftz.f32 	%f66, %f55, %f6, %f59;
	mul.ftz.f32 	%f60, %f73, %f3;
	fma.rn.ftz.f32 	%f61, %f56, %f3, %f60;
	mul.ftz.f32 	%f62, %f54, %f61;
	fma.rn.ftz.f32 	%f67, %f55, %f5, %f62;
	mul.ftz.f32 	%f63, %f73, %f2;
	fma.rn.ftz.f32 	%f64, %f56, %f2, %f63;
	mul.ftz.f32 	%f65, %f54, %f64;
	fma.rn.ftz.f32 	%f68, %f55, %f4, %f65;

BB28_4:
	mov.f32 	%f73, %f69;
	mov.f32 	%f72, %f68;
	mov.f32 	%f71, %f67;
	mov.f32 	%f70, %f66;

BB28_5:
	st.param.f32	[func_retval0+0], %f70;
	st.param.f32	[func_retval0+4], %f71;
	st.param.f32	[func_retval0+8], %f72;
	st.param.f32	[func_retval0+12], %f73;
	ret;
}

.visible .entry BlendMode_kBlendMode_Color_Kernel(
	.param .u64 BlendMode_kBlendMode_Color_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Color_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Color_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Color_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Color_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Color_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Color_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Color_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Color_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Color_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Color_Kernel_param_10
)
{
	.reg .pred 	%p<10>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<26>;
	.reg .f32 	%f<138>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Color_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Color_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Color_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Color_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_Color_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Color_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Color_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Color_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Color_Kernel_param_8];
	ld.param.f32 	%f54, [BlendMode_kBlendMode_Color_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB29_17;
	bra.uni 	BB29_1;

BB29_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB29_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f55, %f56, %f57, %f58}, [%rd10];
	mov.f32 	%f126, %f58;
	mov.f32 	%f125, %f57;
	mov.f32 	%f124, %f56;
	mov.f32 	%f123, %f55;
	bra.uni 	BB29_4;

BB29_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f123, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f124, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f125, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f126, %temp;
	}

BB29_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB29_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f59, %f60, %f61, %f62}, [%rd14];
	mov.f32 	%f130, %f62;
	mov.f32 	%f129, %f61;
	mov.f32 	%f128, %f60;
	mov.f32 	%f127, %f59;
	bra.uni 	BB29_7;

BB29_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f127, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f128, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f129, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f130, %temp;
	}

BB29_7:
	ld.const.f32 	%f63, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f64, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f65, %f64, %f128;
	fma.rn.ftz.f32 	%f66, %f63, %f129, %f65;
	ld.const.f32 	%f67, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f68, %f67, %f127, %f66;
	cvt.ftz.sat.f32.f32	%f69, %f68;
	mul.ftz.f32 	%f70, %f64, %f124;
	fma.rn.ftz.f32 	%f71, %f63, %f125, %f70;
	fma.rn.ftz.f32 	%f72, %f67, %f123, %f71;
	cvt.ftz.sat.f32.f32	%f73, %f72;
	sub.ftz.f32 	%f74, %f69, %f73;
	add.ftz.f32 	%f133, %f125, %f74;
	add.ftz.f32 	%f132, %f124, %f74;
	add.ftz.f32 	%f131, %f123, %f74;
	mul.ftz.f32 	%f75, %f64, %f132;
	fma.rn.ftz.f32 	%f76, %f63, %f133, %f75;
	fma.rn.ftz.f32 	%f77, %f67, %f131, %f76;
	cvt.ftz.sat.f32.f32	%f30, %f77;
	min.ftz.f32 	%f78, %f132, %f131;
	min.ftz.f32 	%f31, %f133, %f78;
	max.ftz.f32 	%f79, %f132, %f131;
	max.ftz.f32 	%f32, %f133, %f79;
	setp.geu.ftz.f32	%p6, %f31, 0f00000000;
	@%p6 bra 	BB29_9;

	sub.ftz.f32 	%f80, %f133, %f30;
	mul.ftz.f32 	%f81, %f80, %f30;
	sub.ftz.f32 	%f82, %f30, %f31;
	div.approx.ftz.f32 	%f83, %f81, %f82;
	add.ftz.f32 	%f133, %f30, %f83;
	sub.ftz.f32 	%f84, %f132, %f30;
	mul.ftz.f32 	%f85, %f84, %f30;
	div.approx.ftz.f32 	%f86, %f85, %f82;
	add.ftz.f32 	%f132, %f30, %f86;
	sub.ftz.f32 	%f87, %f131, %f30;
	mul.ftz.f32 	%f88, %f87, %f30;
	div.approx.ftz.f32 	%f89, %f88, %f82;
	add.ftz.f32 	%f131, %f30, %f89;

BB29_9:
	setp.leu.ftz.f32	%p7, %f32, 0f3F800000;
	@%p7 bra 	BB29_11;

	sub.ftz.f32 	%f90, %f133, %f30;
	mov.f32 	%f91, 0f3F800000;
	sub.ftz.f32 	%f92, %f91, %f30;
	mul.ftz.f32 	%f93, %f90, %f92;
	sub.ftz.f32 	%f94, %f32, %f30;
	div.approx.ftz.f32 	%f95, %f93, %f94;
	add.ftz.f32 	%f133, %f30, %f95;
	sub.ftz.f32 	%f96, %f132, %f30;
	mul.ftz.f32 	%f97, %f96, %f92;
	div.approx.ftz.f32 	%f98, %f97, %f94;
	add.ftz.f32 	%f132, %f30, %f98;
	sub.ftz.f32 	%f99, %f131, %f30;
	mul.ftz.f32 	%f100, %f99, %f92;
	div.approx.ftz.f32 	%f101, %f100, %f94;
	add.ftz.f32 	%f131, %f30, %f101;

BB29_11:
	mul.ftz.f32 	%f45, %f126, %f54;
	add.ftz.f32 	%f102, %f45, %f130;
	mul.ftz.f32 	%f103, %f45, %f130;
	sub.ftz.f32 	%f137, %f102, %f103;
	add.ftz.f32 	%f104, %f137, 0fB70637BD;
	setp.gtu.ftz.f32	%p8, %f104, 0f00000000;
	@%p8 bra 	BB29_13;

	mov.f32 	%f137, 0f00000000;
	mov.f32 	%f136, %f137;
	mov.f32 	%f135, %f137;
	mov.f32 	%f134, %f137;
	bra.uni 	BB29_14;

BB29_13:
	mov.f32 	%f109, 0f3F800000;
	div.approx.ftz.f32 	%f110, %f109, %f137;
	mul.ftz.f32 	%f111, %f45, %f110;
	sub.ftz.f32 	%f112, %f109, %f111;
	sub.ftz.f32 	%f113, %f109, %f130;
	mul.ftz.f32 	%f114, %f130, %f131;
	fma.rn.ftz.f32 	%f115, %f113, %f131, %f114;
	mul.ftz.f32 	%f116, %f111, %f115;
	fma.rn.ftz.f32 	%f134, %f112, %f127, %f116;
	mul.ftz.f32 	%f117, %f130, %f132;
	fma.rn.ftz.f32 	%f118, %f113, %f132, %f117;
	mul.ftz.f32 	%f119, %f111, %f118;
	fma.rn.ftz.f32 	%f135, %f112, %f128, %f119;
	mul.ftz.f32 	%f120, %f130, %f133;
	fma.rn.ftz.f32 	%f121, %f113, %f133, %f120;
	mul.ftz.f32 	%f122, %f111, %f121;
	fma.rn.ftz.f32 	%f136, %f112, %f129, %f122;

BB29_14:
	mad.lo.s32 	%r25, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r25;
	@%p4 bra 	BB29_16;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f134, %f135, %f136, %f137};
	bra.uni 	BB29_17;

BB29_16:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f137;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f136;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f135;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f134;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB29_17:
	ret;
}

.visible .entry BlendMode_kBlendMode_ColorBurn_Kernel(
	.param .u64 BlendMode_kBlendMode_ColorBurn_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_ColorBurn_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_ColorBurn_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_ColorBurn_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_ColorBurn_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_ColorBurn_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_ColorBurn_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_ColorBurn_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_ColorBurn_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_ColorBurn_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_ColorBurn_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<106>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_ColorBurn_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_ColorBurn_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_ColorBurn_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_ColorBurn_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_ColorBurn_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_ColorBurn_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_ColorBurn_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_ColorBurn_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_ColorBurn_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_ColorBurn_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB30_13;
	bra.uni 	BB30_1;

BB30_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB30_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f97, %f42;
	mov.f32 	%f96, %f41;
	mov.f32 	%f95, %f40;
	mov.f32 	%f94, %f39;
	bra.uni 	BB30_4;

BB30_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f94, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f95, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f96, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f97, %temp;
	}

BB30_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB30_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f101, %f46;
	mov.f32 	%f100, %f45;
	mov.f32 	%f99, %f44;
	mov.f32 	%f98, %f43;
	bra.uni 	BB30_7;

BB30_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f98, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f99, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f100, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f101, %temp;
	}

BB30_7:
	mul.ftz.f32 	%f29, %f97, %f38;
	add.ftz.f32 	%f47, %f29, %f101;
	mul.ftz.f32 	%f48, %f29, %f101;
	sub.ftz.f32 	%f105, %f47, %f48;
	add.ftz.f32 	%f49, %f105, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB30_9;

	mov.f32 	%f105, 0f00000000;
	mov.f32 	%f104, %f105;
	mov.f32 	%f103, %f105;
	mov.f32 	%f102, %f105;
	bra.uni 	BB30_10;

BB30_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f105;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f101;
	mov.f32 	%f59, 0f33D6BF95;
	max.ftz.f32 	%f60, %f94, %f59;
	min.ftz.f32 	%f61, %f60, %f54;
	mov.f32 	%f62, 0f00000000;
	max.ftz.f32 	%f63, %f98, %f62;
	min.ftz.f32 	%f64, %f63, %f54;
	sub.ftz.f32 	%f65, %f54, %f64;
	div.approx.ftz.f32 	%f66, %f65, %f61;
	sub.ftz.f32 	%f67, %f54, %f66;
	cvt.ftz.sat.f32.f32	%f68, %f67;
	mul.ftz.f32 	%f69, %f101, %f68;
	fma.rn.ftz.f32 	%f70, %f58, %f94, %f69;
	mul.ftz.f32 	%f71, %f56, %f70;
	fma.rn.ftz.f32 	%f102, %f57, %f98, %f71;
	max.ftz.f32 	%f72, %f95, %f59;
	min.ftz.f32 	%f73, %f72, %f54;
	max.ftz.f32 	%f74, %f99, %f62;
	min.ftz.f32 	%f75, %f74, %f54;
	sub.ftz.f32 	%f76, %f54, %f75;
	div.approx.ftz.f32 	%f77, %f76, %f73;
	sub.ftz.f32 	%f78, %f54, %f77;
	cvt.ftz.sat.f32.f32	%f79, %f78;
	mul.ftz.f32 	%f80, %f101, %f79;
	fma.rn.ftz.f32 	%f81, %f58, %f95, %f80;
	mul.ftz.f32 	%f82, %f56, %f81;
	fma.rn.ftz.f32 	%f103, %f57, %f99, %f82;
	max.ftz.f32 	%f83, %f96, %f59;
	min.ftz.f32 	%f84, %f83, %f54;
	max.ftz.f32 	%f85, %f100, %f62;
	min.ftz.f32 	%f86, %f85, %f54;
	sub.ftz.f32 	%f87, %f54, %f86;
	div.approx.ftz.f32 	%f88, %f87, %f84;
	sub.ftz.f32 	%f89, %f54, %f88;
	cvt.ftz.sat.f32.f32	%f90, %f89;
	mul.ftz.f32 	%f91, %f101, %f90;
	fma.rn.ftz.f32 	%f92, %f58, %f96, %f91;
	mul.ftz.f32 	%f93, %f56, %f92;
	fma.rn.ftz.f32 	%f104, %f57, %f100, %f93;

BB30_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB30_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f102, %f103, %f104, %f105};
	bra.uni 	BB30_13;

BB30_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f105;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f104;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f103;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f102;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB30_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_ColorDodge_Kernel(
	.param .u64 BlendMode_kBlendMode_ColorDodge_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_ColorDodge_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_ColorDodge_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_ColorDodge_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_ColorDodge_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_ColorDodge_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_ColorDodge_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_ColorDodge_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_ColorDodge_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_ColorDodge_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_ColorDodge_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<103>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_ColorDodge_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_ColorDodge_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_ColorDodge_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_ColorDodge_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_ColorDodge_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_ColorDodge_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_ColorDodge_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_ColorDodge_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_ColorDodge_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_ColorDodge_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB31_13;
	bra.uni 	BB31_1;

BB31_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB31_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f94, %f42;
	mov.f32 	%f93, %f41;
	mov.f32 	%f92, %f40;
	mov.f32 	%f91, %f39;
	bra.uni 	BB31_4;

BB31_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f91, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f92, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f93, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f94, %temp;
	}

BB31_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB31_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f98, %f46;
	mov.f32 	%f97, %f45;
	mov.f32 	%f96, %f44;
	mov.f32 	%f95, %f43;
	bra.uni 	BB31_7;

BB31_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f95, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f96, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f97, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f98, %temp;
	}

BB31_7:
	mul.ftz.f32 	%f29, %f94, %f38;
	add.ftz.f32 	%f47, %f29, %f98;
	mul.ftz.f32 	%f48, %f29, %f98;
	sub.ftz.f32 	%f102, %f47, %f48;
	add.ftz.f32 	%f49, %f102, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB31_9;

	mov.f32 	%f102, 0f00000000;
	mov.f32 	%f101, %f102;
	mov.f32 	%f100, %f102;
	mov.f32 	%f99, %f102;
	bra.uni 	BB31_10;

BB31_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f102;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f98;
	mov.f32 	%f59, 0f00000000;
	max.ftz.f32 	%f60, %f91, %f59;
	mov.f32 	%f61, 0f3F7FFF58;
	min.ftz.f32 	%f62, %f60, %f61;
	max.ftz.f32 	%f63, %f95, %f59;
	min.ftz.f32 	%f64, %f63, %f54;
	sub.ftz.f32 	%f65, %f54, %f62;
	div.approx.ftz.f32 	%f66, %f64, %f65;
	cvt.ftz.sat.f32.f32	%f67, %f66;
	mul.ftz.f32 	%f68, %f98, %f67;
	fma.rn.ftz.f32 	%f69, %f58, %f91, %f68;
	mul.ftz.f32 	%f70, %f56, %f69;
	fma.rn.ftz.f32 	%f99, %f57, %f95, %f70;
	max.ftz.f32 	%f71, %f92, %f59;
	min.ftz.f32 	%f72, %f71, %f61;
	max.ftz.f32 	%f73, %f96, %f59;
	min.ftz.f32 	%f74, %f73, %f54;
	sub.ftz.f32 	%f75, %f54, %f72;
	div.approx.ftz.f32 	%f76, %f74, %f75;
	cvt.ftz.sat.f32.f32	%f77, %f76;
	mul.ftz.f32 	%f78, %f98, %f77;
	fma.rn.ftz.f32 	%f79, %f58, %f92, %f78;
	mul.ftz.f32 	%f80, %f56, %f79;
	fma.rn.ftz.f32 	%f100, %f57, %f96, %f80;
	max.ftz.f32 	%f81, %f93, %f59;
	min.ftz.f32 	%f82, %f81, %f61;
	max.ftz.f32 	%f83, %f97, %f59;
	min.ftz.f32 	%f84, %f83, %f54;
	sub.ftz.f32 	%f85, %f54, %f82;
	div.approx.ftz.f32 	%f86, %f84, %f85;
	cvt.ftz.sat.f32.f32	%f87, %f86;
	mul.ftz.f32 	%f88, %f98, %f87;
	fma.rn.ftz.f32 	%f89, %f58, %f93, %f88;
	mul.ftz.f32 	%f90, %f56, %f89;
	fma.rn.ftz.f32 	%f101, %f57, %f97, %f90;

BB31_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB31_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f99, %f100, %f101, %f102};
	bra.uni 	BB31_13;

BB31_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f102;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f101;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f100;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f99;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB31_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_Darken_Kernel(
	.param .u64 BlendMode_kBlendMode_Darken_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Darken_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Darken_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Darken_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Darken_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Darken_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Darken_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Darken_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Darken_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Darken_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Darken_Kernel_param_10
)
{
	.reg .pred 	%p<11>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<83>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Darken_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Darken_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Darken_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Darken_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Darken_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Darken_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Darken_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Darken_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Darken_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Darken_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB32_13;
	bra.uni 	BB32_1;

BB32_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB32_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f74, %f42;
	mov.f32 	%f73, %f41;
	mov.f32 	%f72, %f40;
	mov.f32 	%f71, %f39;
	bra.uni 	BB32_4;

BB32_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f71, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f72, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f73, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f74, %temp;
	}

BB32_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB32_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f78, %f46;
	mov.f32 	%f77, %f45;
	mov.f32 	%f76, %f44;
	mov.f32 	%f75, %f43;
	bra.uni 	BB32_7;

BB32_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f75, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f76, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f77, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f78, %temp;
	}

BB32_7:
	mul.ftz.f32 	%f29, %f74, %f38;
	add.ftz.f32 	%f47, %f29, %f78;
	mul.ftz.f32 	%f48, %f29, %f78;
	sub.ftz.f32 	%f82, %f47, %f48;
	add.ftz.f32 	%f49, %f82, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB32_9;

	mov.f32 	%f82, 0f00000000;
	mov.f32 	%f81, %f82;
	mov.f32 	%f80, %f82;
	mov.f32 	%f79, %f82;
	bra.uni 	BB32_10;

BB32_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f82;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f78;
	setp.gtu.ftz.f32	%p7, %f71, %f75;
	selp.f32	%f59, %f75, %f71, %p7;
	mul.ftz.f32 	%f60, %f78, %f59;
	fma.rn.ftz.f32 	%f61, %f58, %f71, %f60;
	mul.ftz.f32 	%f62, %f56, %f61;
	fma.rn.ftz.f32 	%f79, %f57, %f75, %f62;
	setp.gtu.ftz.f32	%p8, %f72, %f76;
	selp.f32	%f63, %f76, %f72, %p8;
	mul.ftz.f32 	%f64, %f78, %f63;
	fma.rn.ftz.f32 	%f65, %f58, %f72, %f64;
	mul.ftz.f32 	%f66, %f56, %f65;
	fma.rn.ftz.f32 	%f80, %f57, %f76, %f66;
	setp.gtu.ftz.f32	%p9, %f73, %f77;
	selp.f32	%f67, %f77, %f73, %p9;
	mul.ftz.f32 	%f68, %f78, %f67;
	fma.rn.ftz.f32 	%f69, %f58, %f73, %f68;
	mul.ftz.f32 	%f70, %f56, %f69;
	fma.rn.ftz.f32 	%f81, %f57, %f77, %f70;

BB32_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB32_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f79, %f80, %f81, %f82};
	bra.uni 	BB32_13;

BB32_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f82;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f81;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f80;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f79;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB32_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_DarkerColor_Kernel(
	.param .u64 BlendMode_kBlendMode_DarkerColor_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_DarkerColor_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_DarkerColor_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_DarkerColor_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_DarkerColor_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_DarkerColor_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_DarkerColor_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_DarkerColor_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_DarkerColor_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_DarkerColor_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_DarkerColor_Kernel_param_10
)
{
	.reg .pred 	%p<14>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<181>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_DarkerColor_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_DarkerColor_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_DarkerColor_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_DarkerColor_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_DarkerColor_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_DarkerColor_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_DarkerColor_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_DarkerColor_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_DarkerColor_Kernel_param_8];
	ld.param.f32 	%f82, [BlendMode_kBlendMode_DarkerColor_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB33_24;
	bra.uni 	BB33_1;

BB33_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB33_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f83, %f84, %f85, %f86}, [%rd10];
	mov.f32 	%f160, %f86;
	mov.f32 	%f159, %f85;
	mov.f32 	%f158, %f84;
	mov.f32 	%f157, %f83;
	bra.uni 	BB33_4;

BB33_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f157, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f158, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f159, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f160, %temp;
	}

BB33_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	mov.f32 	%f13, %f157;
	mov.f32 	%f14, %f158;
	mov.f32 	%f15, %f159;
	@%p4 bra 	BB33_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f87, %f88, %f89, %f90}, [%rd14];
	mov.f32 	%f164, %f90;
	mov.f32 	%f163, %f89;
	mov.f32 	%f162, %f88;
	mov.f32 	%f161, %f87;
	bra.uni 	BB33_7;

BB33_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f161, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f162, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f163, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f164, %temp;
	}

BB33_7:
	mul.ftz.f32 	%f33, %f160, %f82;
	add.ftz.f32 	%f91, %f33, 0fB70637BD;
	setp.le.ftz.f32	%p6, %f91, 0f00000000;
	mov.f32 	%f29, %f161;
	mov.f32 	%f30, %f162;
	mov.f32 	%f31, %f163;
	mov.f32 	%f32, %f164;
	mov.f32 	%f177, %f29;
	mov.f32 	%f178, %f30;
	mov.f32 	%f179, %f31;
	mov.f32 	%f180, %f32;
	@%p6 bra 	BB33_21;

	add.ftz.f32 	%f92, %f164, 0fB70637BD;
	setp.le.ftz.f32	%p7, %f92, 0f00000000;
	mov.f32 	%f177, %f13;
	mov.f32 	%f178, %f14;
	mov.f32 	%f179, %f15;
	mov.f32 	%f180, %f33;
	@%p7 bra 	BB33_21;

	setp.lt.s32	%p8, %r7, 721;
	mov.f32 	%f175, %f163;
	mov.f32 	%f174, %f162;
	mov.f32 	%f173, %f161;
	mov.f32 	%f176, %f164;
	@%p8 bra 	BB33_15;

	ld.const.f32 	%f93, [kRGB32f_To_709YPbPr];
	ld.const.f32 	%f94, [kRGB32f_To_709YPbPr+4];
	mul.ftz.f32 	%f95, %f94, %f158;
	fma.rn.ftz.f32 	%f96, %f93, %f159, %f95;
	ld.const.f32 	%f97, [kRGB32f_To_709YPbPr+8];
	fma.rn.ftz.f32 	%f98, %f97, %f157, %f96;
	cvt.ftz.sat.f32.f32	%f99, %f98;
	mul.ftz.f32 	%f100, %f94, %f162;
	fma.rn.ftz.f32 	%f101, %f93, %f163, %f100;
	fma.rn.ftz.f32 	%f102, %f97, %f161, %f101;
	cvt.ftz.sat.f32.f32	%f103, %f102;
	setp.geu.ftz.f32	%p9, %f99, %f103;
	@%p9 bra 	BB33_20;

	add.ftz.f32 	%f104, %f33, %f164;
	mul.ftz.f32 	%f105, %f33, %f164;
	sub.ftz.f32 	%f168, %f104, %f105;
	add.ftz.f32 	%f106, %f168, 0fB70637BD;
	setp.gtu.ftz.f32	%p10, %f106, 0f00000000;
	@%p10 bra 	BB33_13;

	mov.f32 	%f168, 0f00000000;
	mov.f32 	%f167, %f168;
	mov.f32 	%f166, %f168;
	mov.f32 	%f165, %f168;
	bra.uni 	BB33_14;

BB33_13:
	mov.f32 	%f111, 0f3F800000;
	div.approx.ftz.f32 	%f112, %f111, %f168;
	mul.ftz.f32 	%f113, %f33, %f112;
	sub.ftz.f32 	%f114, %f111, %f113;
	sub.ftz.f32 	%f115, %f111, %f164;
	mul.ftz.f32 	%f116, %f164, %f157;
	fma.rn.ftz.f32 	%f117, %f115, %f157, %f116;
	mul.ftz.f32 	%f118, %f113, %f117;
	fma.rn.ftz.f32 	%f165, %f114, %f161, %f118;
	mul.ftz.f32 	%f119, %f164, %f158;
	fma.rn.ftz.f32 	%f120, %f115, %f158, %f119;
	mul.ftz.f32 	%f121, %f113, %f120;
	fma.rn.ftz.f32 	%f166, %f114, %f162, %f121;
	mul.ftz.f32 	%f122, %f164, %f159;
	fma.rn.ftz.f32 	%f123, %f115, %f159, %f122;
	mul.ftz.f32 	%f124, %f113, %f123;
	fma.rn.ftz.f32 	%f167, %f114, %f163, %f124;

BB33_14:
	mov.f32 	%f176, %f168;
	mov.f32 	%f175, %f167;
	mov.f32 	%f174, %f166;
	mov.f32 	%f173, %f165;
	bra.uni 	BB33_20;

BB33_15:
	ld.const.f32 	%f125, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f126, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f127, %f126, %f158;
	fma.rn.ftz.f32 	%f128, %f125, %f159, %f127;
	ld.const.f32 	%f129, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f130, %f129, %f157, %f128;
	cvt.ftz.sat.f32.f32	%f131, %f130;
	mul.ftz.f32 	%f132, %f126, %f162;
	fma.rn.ftz.f32 	%f133, %f125, %f163, %f132;
	fma.rn.ftz.f32 	%f134, %f129, %f161, %f133;
	cvt.ftz.sat.f32.f32	%f135, %f134;
	setp.geu.ftz.f32	%p11, %f131, %f135;
	@%p11 bra 	BB33_20;

	add.ftz.f32 	%f136, %f33, %f164;
	mul.ftz.f32 	%f137, %f33, %f164;
	sub.ftz.f32 	%f172, %f136, %f137;
	add.ftz.f32 	%f138, %f172, 0fB70637BD;
	setp.gtu.ftz.f32	%p12, %f138, 0f00000000;
	@%p12 bra 	BB33_18;

	mov.f32 	%f172, 0f00000000;
	mov.f32 	%f171, %f172;
	mov.f32 	%f170, %f172;
	mov.f32 	%f169, %f172;
	bra.uni 	BB33_19;

BB33_18:
	mov.f32 	%f143, 0f3F800000;
	div.approx.ftz.f32 	%f144, %f143, %f172;
	mul.ftz.f32 	%f145, %f33, %f144;
	sub.ftz.f32 	%f146, %f143, %f145;
	sub.ftz.f32 	%f147, %f143, %f164;
	mul.ftz.f32 	%f148, %f164, %f157;
	fma.rn.ftz.f32 	%f149, %f147, %f157, %f148;
	mul.ftz.f32 	%f150, %f145, %f149;
	fma.rn.ftz.f32 	%f169, %f146, %f161, %f150;
	mul.ftz.f32 	%f151, %f164, %f158;
	fma.rn.ftz.f32 	%f152, %f147, %f158, %f151;
	mul.ftz.f32 	%f153, %f145, %f152;
	fma.rn.ftz.f32 	%f170, %f146, %f162, %f153;
	mul.ftz.f32 	%f154, %f164, %f159;
	fma.rn.ftz.f32 	%f155, %f147, %f159, %f154;
	mul.ftz.f32 	%f156, %f145, %f155;
	fma.rn.ftz.f32 	%f171, %f146, %f163, %f156;

BB33_19:
	mov.f32 	%f176, %f172;
	mov.f32 	%f175, %f171;
	mov.f32 	%f174, %f170;
	mov.f32 	%f173, %f169;

BB33_20:
	mov.f32 	%f177, %f173;
	mov.f32 	%f178, %f174;
	mov.f32 	%f179, %f175;
	mov.f32 	%f180, %f176;

BB33_21:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r17;
	@%p4 bra 	BB33_23;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f177, %f178, %f179, %f180};
	bra.uni 	BB33_24;

BB33_23:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f180;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f179;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f178;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f177;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB33_24:
	ret;
}

.visible .entry BlendMode_kBlendMode_Difference_Kernel(
	.param .u64 BlendMode_kBlendMode_Difference_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Difference_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Difference_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Difference_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Difference_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Difference_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Difference_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Difference_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Difference_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Difference_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Difference_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<86>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Difference_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Difference_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Difference_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Difference_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Difference_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Difference_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Difference_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Difference_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Difference_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Difference_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB34_13;
	bra.uni 	BB34_1;

BB34_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB34_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f77, %f42;
	mov.f32 	%f76, %f41;
	mov.f32 	%f75, %f40;
	mov.f32 	%f74, %f39;
	bra.uni 	BB34_4;

BB34_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f74, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f75, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f76, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f77, %temp;
	}

BB34_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB34_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f81, %f46;
	mov.f32 	%f80, %f45;
	mov.f32 	%f79, %f44;
	mov.f32 	%f78, %f43;
	bra.uni 	BB34_7;

BB34_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f78, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f79, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f80, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f81, %temp;
	}

BB34_7:
	mul.ftz.f32 	%f29, %f77, %f38;
	add.ftz.f32 	%f47, %f29, %f81;
	mul.ftz.f32 	%f48, %f29, %f81;
	sub.ftz.f32 	%f85, %f47, %f48;
	add.ftz.f32 	%f49, %f85, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB34_9;

	mov.f32 	%f85, 0f00000000;
	mov.f32 	%f84, %f85;
	mov.f32 	%f83, %f85;
	mov.f32 	%f82, %f85;
	bra.uni 	BB34_10;

BB34_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f85;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f81;
	sub.ftz.f32 	%f59, %f74, %f78;
	abs.ftz.f32 	%f60, %f59;
	mul.ftz.f32 	%f61, %f81, %f60;
	fma.rn.ftz.f32 	%f62, %f58, %f74, %f61;
	mul.ftz.f32 	%f63, %f56, %f62;
	fma.rn.ftz.f32 	%f82, %f57, %f78, %f63;
	sub.ftz.f32 	%f64, %f75, %f79;
	abs.ftz.f32 	%f65, %f64;
	mul.ftz.f32 	%f66, %f81, %f65;
	fma.rn.ftz.f32 	%f67, %f58, %f75, %f66;
	mul.ftz.f32 	%f68, %f56, %f67;
	fma.rn.ftz.f32 	%f83, %f57, %f79, %f68;
	sub.ftz.f32 	%f69, %f76, %f80;
	abs.ftz.f32 	%f70, %f69;
	mul.ftz.f32 	%f71, %f81, %f70;
	fma.rn.ftz.f32 	%f72, %f58, %f76, %f71;
	mul.ftz.f32 	%f73, %f56, %f72;
	fma.rn.ftz.f32 	%f84, %f57, %f80, %f73;

BB34_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB34_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f82, %f83, %f84, %f85};
	bra.uni 	BB34_13;

BB34_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f85;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f84;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f83;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f82;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB34_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_Dissolve_Kernel(
	.param .u64 BlendMode_kBlendMode_Dissolve_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Dissolve_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Dissolve_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Dissolve_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Dissolve_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Dissolve_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Dissolve_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Dissolve_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Dissolve_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Dissolve_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Dissolve_Kernel_param_10
)
{
	.reg .pred 	%p<10>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<63>;
	.reg .f32 	%f<75>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Dissolve_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Dissolve_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Dissolve_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Dissolve_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Dissolve_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Dissolve_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Dissolve_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Dissolve_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Dissolve_Kernel_param_8];
	ld.param.f32 	%f50, [BlendMode_kBlendMode_Dissolve_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB35_14;
	bra.uni 	BB35_1;

BB35_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB35_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f51, %f52, %f53, %f54}, [%rd11];
	mov.f32 	%f66, %f54;
	mov.f32 	%f65, %f53;
	mov.f32 	%f64, %f52;
	mov.f32 	%f63, %f51;
	bra.uni 	BB35_4;

BB35_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f63, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f64, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f65, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f66, %temp;
	}

BB35_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB35_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f55, %f56, %f57, %f58}, [%rd15];
	mov.f32 	%f70, %f58;
	mov.f32 	%f69, %f57;
	mov.f32 	%f68, %f56;
	mov.f32 	%f67, %f55;
	bra.uni 	BB35_7;

BB35_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f67, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f68, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f69, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f70, %temp;
	}

BB35_7:
	mul.ftz.f32 	%f33, %f66, %f50;
	add.ftz.f32 	%f59, %f33, 0fB70637BD;
	setp.le.ftz.f32	%p6, %f59, 0f00000000;
	mov.f32 	%f71, %f67;
	mov.f32 	%f72, %f68;
	mov.f32 	%f73, %f69;
	mov.f32 	%f74, %f70;
	@%p6 bra 	BB35_11;

	add.ftz.f32 	%f60, %f33, 0f370637BD;
	setp.ltu.ftz.f32	%p7, %f60, 0f3F800000;
	@%p7 bra 	BB35_9;
	bra.uni 	BB35_10;

BB35_9:
	ld.const.u32 	%r17, [kRandMax];
	cvt.rn.f32.u32	%f61, %r17;
	mul.ftz.f32 	%f62, %f33, %f61;
	cvt.rzi.ftz.s32.f32	%r18, %f62;
	sub.s32 	%r19, %r1, %r2;
	add.s32 	%r20, %r19, -1;
	mov.u32 	%r21, 1;
	sub.s32 	%r22, %r21, %r19;
	add.s32 	%r23, %r2, %r22;
	add.s32 	%r24, %r23, -1;
	shl.b32 	%r25, %r20, 8;
	xor.b32  	%r26, %r24, %r25;
	mov.u32 	%r27, 2;
	sub.s32 	%r28, %r27, %r19;
	sub.s32 	%r29, %r28, %r26;
	shr.u32 	%r30, %r26, 13;
	xor.b32  	%r31, %r29, %r30;
	sub.s32 	%r32, %r20, %r26;
	sub.s32 	%r33, %r32, %r31;
	shr.u32 	%r34, %r31, 12;
	xor.b32  	%r35, %r33, %r34;
	sub.s32 	%r36, %r26, %r31;
	sub.s32 	%r37, %r36, %r35;
	shl.b32 	%r38, %r35, 16;
	xor.b32  	%r39, %r37, %r38;
	sub.s32 	%r40, %r31, %r35;
	sub.s32 	%r41, %r40, %r39;
	shr.u32 	%r42, %r39, 5;
	xor.b32  	%r43, %r41, %r42;
	sub.s32 	%r44, %r35, %r39;
	sub.s32 	%r45, %r44, %r43;
	shr.u32 	%r46, %r43, 3;
	xor.b32  	%r47, %r45, %r46;
	sub.s32 	%r48, %r39, %r43;
	sub.s32 	%r49, %r48, %r47;
	shl.b32 	%r50, %r47, 10;
	xor.b32  	%r51, %r49, %r50;
	sub.s32 	%r52, %r43, %r47;
	sub.s32 	%r53, %r52, %r51;
	shr.u32 	%r54, %r51, 15;
	xor.b32  	%r55, %r53, %r54;
	mad.lo.s32 	%r56, %r55, 1103515245, 12345;
	mad.lo.s32 	%r57, %r56, 1103515245, 12345;
	shr.u32 	%r58, %r56, 9;
	and.b32  	%r59, %r58, 32640;
	bfe.u32 	%r60, %r57, 16, 8;
	xor.b32  	%r61, %r60, %r59;
	setp.gt.s32	%p8, %r61, %r18;
	@%p8 bra 	BB35_11;

BB35_10:
	mov.f32 	%f74, %f66;
	mov.f32 	%f73, %f65;
	mov.f32 	%f72, %f64;
	mov.f32 	%f71, %f63;

BB35_11:
	mad.lo.s32 	%r62, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r62;
	@%p4 bra 	BB35_13;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f71, %f72, %f73, %f74};
	bra.uni 	BB35_14;

BB35_13:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f74;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f73;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f72;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f71;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB35_14:
	ret;
}

.visible .entry BlendMode_kBlendMode_Exclusion_Kernel(
	.param .u64 BlendMode_kBlendMode_Exclusion_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Exclusion_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Exclusion_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Exclusion_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Exclusion_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Exclusion_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Exclusion_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Exclusion_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Exclusion_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Exclusion_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Exclusion_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<100>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Exclusion_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Exclusion_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Exclusion_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Exclusion_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Exclusion_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Exclusion_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Exclusion_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Exclusion_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Exclusion_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Exclusion_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB36_13;
	bra.uni 	BB36_1;

BB36_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB36_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f91, %f42;
	mov.f32 	%f90, %f41;
	mov.f32 	%f89, %f40;
	mov.f32 	%f88, %f39;
	bra.uni 	BB36_4;

BB36_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f88, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f89, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f90, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f91, %temp;
	}

BB36_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB36_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f95, %f46;
	mov.f32 	%f94, %f45;
	mov.f32 	%f93, %f44;
	mov.f32 	%f92, %f43;
	bra.uni 	BB36_7;

BB36_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f92, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f93, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f94, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f95, %temp;
	}

BB36_7:
	mul.ftz.f32 	%f29, %f91, %f38;
	add.ftz.f32 	%f47, %f29, %f95;
	mul.ftz.f32 	%f48, %f29, %f95;
	sub.ftz.f32 	%f99, %f47, %f48;
	add.ftz.f32 	%f49, %f99, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB36_9;

	mov.f32 	%f99, 0f00000000;
	mov.f32 	%f98, %f99;
	mov.f32 	%f97, %f99;
	mov.f32 	%f96, %f99;
	bra.uni 	BB36_10;

BB36_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f99;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f95;
	cvt.ftz.sat.f32.f32	%f59, %f92;
	cvt.ftz.sat.f32.f32	%f60, %f88;
	add.ftz.f32 	%f61, %f60, %f59;
	mul.ftz.f32 	%f62, %f60, 0fC0000000;
	fma.rn.ftz.f32 	%f63, %f62, %f59, %f61;
	cvt.ftz.sat.f32.f32	%f64, %f63;
	mul.ftz.f32 	%f65, %f95, %f64;
	fma.rn.ftz.f32 	%f66, %f58, %f88, %f65;
	mul.ftz.f32 	%f67, %f56, %f66;
	fma.rn.ftz.f32 	%f96, %f57, %f92, %f67;
	cvt.ftz.sat.f32.f32	%f68, %f93;
	cvt.ftz.sat.f32.f32	%f69, %f89;
	add.ftz.f32 	%f70, %f69, %f68;
	add.ftz.f32 	%f71, %f69, %f69;
	mul.ftz.f32 	%f72, %f71, %f68;
	sub.ftz.f32 	%f73, %f70, %f72;
	cvt.ftz.sat.f32.f32	%f74, %f73;
	mul.ftz.f32 	%f75, %f95, %f74;
	fma.rn.ftz.f32 	%f76, %f58, %f89, %f75;
	mul.ftz.f32 	%f77, %f56, %f76;
	fma.rn.ftz.f32 	%f97, %f57, %f93, %f77;
	cvt.ftz.sat.f32.f32	%f78, %f94;
	cvt.ftz.sat.f32.f32	%f79, %f90;
	add.ftz.f32 	%f80, %f79, %f78;
	add.ftz.f32 	%f81, %f79, %f79;
	mul.ftz.f32 	%f82, %f81, %f78;
	sub.ftz.f32 	%f83, %f80, %f82;
	cvt.ftz.sat.f32.f32	%f84, %f83;
	mul.ftz.f32 	%f85, %f95, %f84;
	fma.rn.ftz.f32 	%f86, %f58, %f90, %f85;
	mul.ftz.f32 	%f87, %f56, %f86;
	fma.rn.ftz.f32 	%f98, %f57, %f94, %f87;

BB36_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB36_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f96, %f97, %f98, %f99};
	bra.uni 	BB36_13;

BB36_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f99;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f98;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f97;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f96;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB36_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_HardLight_Kernel(
	.param .u64 BlendMode_kBlendMode_HardLight_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_HardLight_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_HardLight_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_HardLight_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_HardLight_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_HardLight_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_HardLight_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_HardLight_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_HardLight_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_HardLight_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_HardLight_Kernel_param_10
)
{
	.reg .pred 	%p<11>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<22>;
	.reg .f32 	%f<120>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_HardLight_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_HardLight_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_HardLight_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_HardLight_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_HardLight_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_HardLight_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_HardLight_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_HardLight_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_HardLight_Kernel_param_8];
	ld.param.f32 	%f58, [BlendMode_kBlendMode_HardLight_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB37_22;
	bra.uni 	BB37_1;

BB37_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB37_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f59, %f60, %f61, %f62}, [%rd10];
	mov.f32 	%f108, %f62;
	mov.f32 	%f107, %f61;
	mov.f32 	%f106, %f60;
	mov.f32 	%f105, %f59;
	bra.uni 	BB37_4;

BB37_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f105, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f106, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f107, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f108, %temp;
	}

BB37_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB37_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f63, %f64, %f65, %f66}, [%rd14];
	mov.f32 	%f112, %f66;
	mov.f32 	%f111, %f65;
	mov.f32 	%f110, %f64;
	mov.f32 	%f109, %f63;
	bra.uni 	BB37_7;

BB37_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f109, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f110, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f111, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f112, %temp;
	}

BB37_7:
	mul.ftz.f32 	%f27, %f108, %f58;
	add.ftz.f32 	%f67, %f27, %f112;
	mul.ftz.f32 	%f68, %f27, %f112;
	sub.ftz.f32 	%f119, %f67, %f68;
	add.ftz.f32 	%f69, %f119, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f69, 0f00000000;
	@%p6 bra 	BB37_9;

	mov.f32 	%f119, 0f00000000;
	mov.f32 	%f118, %f119;
	mov.f32 	%f117, %f119;
	mov.f32 	%f116, %f119;
	bra.uni 	BB37_19;

BB37_9:
	mov.f32 	%f74, 0f3F800000;
	div.approx.ftz.f32 	%f75, %f74, %f119;
	mul.ftz.f32 	%f29, %f27, %f75;
	sub.ftz.f32 	%f76, %f74, %f29;
	mul.ftz.f32 	%f30, %f76, %f109;
	sub.ftz.f32 	%f77, %f74, %f112;
	mul.ftz.f32 	%f31, %f77, %f105;
	cvt.ftz.sat.f32.f32	%f32, %f109;
	cvt.ftz.sat.f32.f32	%f33, %f105;
	setp.gtu.ftz.f32	%p7, %f33, 0f3F000000;
	@%p7 bra 	BB37_11;

	add.ftz.f32 	%f78, %f33, %f33;
	mul.ftz.f32 	%f113, %f78, %f32;
	bra.uni 	BB37_12;

BB37_11:
	sub.ftz.f32 	%f80, %f74, %f33;
	sub.ftz.f32 	%f81, %f74, %f32;
	mul.ftz.f32 	%f82, %f80, 0fC0000000;
	fma.rn.ftz.f32 	%f113, %f82, %f81, 0f3F800000;

BB37_12:
	cvt.ftz.sat.f32.f32	%f83, %f113;
	fma.rn.ftz.f32 	%f84, %f112, %f83, %f31;
	fma.rn.ftz.f32 	%f116, %f29, %f84, %f30;
	mul.ftz.f32 	%f38, %f76, %f110;
	mul.ftz.f32 	%f39, %f77, %f106;
	cvt.ftz.sat.f32.f32	%f40, %f106;
	cvt.ftz.sat.f32.f32	%f41, %f110;
	setp.gtu.ftz.f32	%p8, %f40, 0f3F000000;
	@%p8 bra 	BB37_14;

	add.ftz.f32 	%f88, %f40, %f40;
	mul.ftz.f32 	%f114, %f88, %f41;
	bra.uni 	BB37_15;

BB37_14:
	sub.ftz.f32 	%f90, %f74, %f40;
	sub.ftz.f32 	%f91, %f74, %f41;
	mul.ftz.f32 	%f92, %f90, 0fC0000000;
	fma.rn.ftz.f32 	%f114, %f92, %f91, 0f3F800000;

BB37_15:
	cvt.ftz.sat.f32.f32	%f93, %f114;
	fma.rn.ftz.f32 	%f94, %f112, %f93, %f39;
	fma.rn.ftz.f32 	%f117, %f29, %f94, %f38;
	mul.ftz.f32 	%f46, %f76, %f111;
	mul.ftz.f32 	%f47, %f77, %f107;
	cvt.ftz.sat.f32.f32	%f48, %f107;
	cvt.ftz.sat.f32.f32	%f49, %f111;
	setp.gtu.ftz.f32	%p9, %f48, 0f3F000000;
	@%p9 bra 	BB37_17;

	add.ftz.f32 	%f98, %f48, %f48;
	mul.ftz.f32 	%f115, %f98, %f49;
	bra.uni 	BB37_18;

BB37_17:
	sub.ftz.f32 	%f100, %f74, %f48;
	sub.ftz.f32 	%f101, %f74, %f49;
	mul.ftz.f32 	%f102, %f100, 0fC0000000;
	fma.rn.ftz.f32 	%f115, %f102, %f101, 0f3F800000;

BB37_18:
	cvt.ftz.sat.f32.f32	%f103, %f115;
	fma.rn.ftz.f32 	%f104, %f112, %f103, %f47;
	fma.rn.ftz.f32 	%f118, %f29, %f104, %f46;

BB37_19:
	mad.lo.s32 	%r21, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r21;
	@%p4 bra 	BB37_21;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f116, %f117, %f118, %f119};
	bra.uni 	BB37_22;

BB37_21:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f119;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f118;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f117;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f116;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB37_22:
	ret;
}

.visible .entry BlendMode_kBlendMode_HardMix_Kernel(
	.param .u64 BlendMode_kBlendMode_HardMix_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_HardMix_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_HardMix_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_HardMix_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_HardMix_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_HardMix_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_HardMix_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_HardMix_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_HardMix_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_HardMix_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_HardMix_Kernel_param_10
)
{
	.reg .pred 	%p<11>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<86>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_HardMix_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_HardMix_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_HardMix_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_HardMix_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_HardMix_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_HardMix_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_HardMix_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_HardMix_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_HardMix_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_HardMix_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB38_13;
	bra.uni 	BB38_1;

BB38_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB38_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f77, %f42;
	mov.f32 	%f76, %f41;
	mov.f32 	%f75, %f40;
	mov.f32 	%f74, %f39;
	bra.uni 	BB38_4;

BB38_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f74, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f75, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f76, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f77, %temp;
	}

BB38_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB38_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f81, %f46;
	mov.f32 	%f80, %f45;
	mov.f32 	%f79, %f44;
	mov.f32 	%f78, %f43;
	bra.uni 	BB38_7;

BB38_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f78, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f79, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f80, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f81, %temp;
	}

BB38_7:
	mul.ftz.f32 	%f29, %f77, %f38;
	add.ftz.f32 	%f47, %f29, %f81;
	mul.ftz.f32 	%f48, %f29, %f81;
	sub.ftz.f32 	%f85, %f47, %f48;
	add.ftz.f32 	%f49, %f85, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB38_9;

	mov.f32 	%f85, 0f00000000;
	mov.f32 	%f84, %f85;
	mov.f32 	%f83, %f85;
	mov.f32 	%f82, %f85;
	bra.uni 	BB38_10;

BB38_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f85;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f81;
	sub.ftz.f32 	%f59, %f54, %f78;
	setp.lt.ftz.f32	%p7, %f74, %f59;
	selp.f32	%f60, 0f00000000, 0f3F800000, %p7;
	mul.ftz.f32 	%f61, %f81, %f60;
	fma.rn.ftz.f32 	%f62, %f58, %f74, %f61;
	mul.ftz.f32 	%f63, %f56, %f62;
	fma.rn.ftz.f32 	%f82, %f57, %f78, %f63;
	sub.ftz.f32 	%f64, %f54, %f79;
	setp.lt.ftz.f32	%p8, %f75, %f64;
	selp.f32	%f65, 0f00000000, 0f3F800000, %p8;
	mul.ftz.f32 	%f66, %f81, %f65;
	fma.rn.ftz.f32 	%f67, %f58, %f75, %f66;
	mul.ftz.f32 	%f68, %f56, %f67;
	fma.rn.ftz.f32 	%f83, %f57, %f79, %f68;
	sub.ftz.f32 	%f69, %f54, %f80;
	setp.lt.ftz.f32	%p9, %f76, %f69;
	selp.f32	%f70, 0f00000000, 0f3F800000, %p9;
	mul.ftz.f32 	%f71, %f81, %f70;
	fma.rn.ftz.f32 	%f72, %f58, %f76, %f71;
	mul.ftz.f32 	%f73, %f56, %f72;
	fma.rn.ftz.f32 	%f84, %f57, %f80, %f73;

BB38_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB38_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f82, %f83, %f84, %f85};
	bra.uni 	BB38_13;

BB38_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f85;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f84;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f83;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f82;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB38_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_Hue_Kernel(
	.param .u64 BlendMode_kBlendMode_Hue_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Hue_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Hue_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Hue_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Hue_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Hue_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Hue_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Hue_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Hue_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Hue_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Hue_Kernel_param_10
)
{
	.reg .pred 	%p<21>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<26>;
	.reg .f32 	%f<208>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Hue_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Hue_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Hue_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Hue_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_Hue_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Hue_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Hue_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Hue_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Hue_Kernel_param_8];
	ld.param.f32 	%f67, [BlendMode_kBlendMode_Hue_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB39_36;
	bra.uni 	BB39_1;

BB39_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB39_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f68, %f69, %f70, %f71}, [%rd10];
	mov.f32 	%f188, %f71;
	mov.f32 	%f187, %f70;
	mov.f32 	%f186, %f69;
	mov.f32 	%f185, %f68;
	bra.uni 	BB39_4;

BB39_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f185, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f186, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f187, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f188, %temp;
	}

BB39_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB39_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f72, %f73, %f74, %f75}, [%rd14];
	mov.f32 	%f192, %f75;
	mov.f32 	%f191, %f74;
	mov.f32 	%f190, %f73;
	mov.f32 	%f189, %f72;
	bra.uni 	BB39_7;

BB39_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f189, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f190, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f191, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f192, %temp;
	}

BB39_7:
	max.ftz.f32 	%f76, %f190, %f189;
	max.ftz.f32 	%f77, %f191, %f76;
	min.ftz.f32 	%f78, %f190, %f189;
	min.ftz.f32 	%f79, %f191, %f78;
	sub.ftz.f32 	%f80, %f77, %f79;
	cvt.ftz.sat.f32.f32	%f28, %f80;
	min.ftz.f32 	%f81, %f186, %f185;
	min.ftz.f32 	%f29, %f187, %f81;
	max.ftz.f32 	%f82, %f186, %f185;
	max.ftz.f32 	%f30, %f187, %f82;
	setp.eq.ftz.f32	%p6, %f29, %f187;
	@%p6 bra 	BB39_20;

	setp.eq.ftz.f32	%p7, %f30, %f187;
	@%p7 bra 	BB39_15;

	setp.eq.ftz.f32	%p8, %f29, %f186;
	@%p8 bra 	BB39_13;

	setp.gt.ftz.f32	%p9, %f186, %f185;
	@%p9 bra 	BB39_12;

BB39_11:
	mov.f32 	%f198, 0f00000000;
	mov.f32 	%f199, %f198;
	mov.f32 	%f200, %f198;
	bra.uni 	BB39_26;

BB39_12:
	sub.ftz.f32 	%f87, %f187, %f185;
	mul.ftz.f32 	%f88, %f87, %f28;
	sub.ftz.f32 	%f89, %f186, %f185;
	div.approx.ftz.f32 	%f198, %f88, %f89;
	mov.f32 	%f200, 0f00000000;
	bra.uni 	BB39_25;

BB39_13:
	setp.gt.ftz.f32	%p10, %f185, %f186;
	@%p10 bra 	BB39_14;
	bra.uni 	BB39_11;

BB39_14:
	sub.ftz.f32 	%f94, %f187, %f186;
	mul.ftz.f32 	%f95, %f94, %f28;
	sub.ftz.f32 	%f96, %f185, %f186;
	div.approx.ftz.f32 	%f198, %f95, %f96;
	mov.f32 	%f93, 0f00000000;
	mov.f32 	%f200, %f28;
	mov.f32 	%f199, %f93;
	bra.uni 	BB39_26;

BB39_15:
	setp.eq.ftz.f32	%p11, %f29, %f186;
	@%p11 bra 	BB39_18;

	setp.gt.ftz.f32	%p12, %f187, %f185;
	@%p12 bra 	BB39_17;
	bra.uni 	BB39_11;

BB39_17:
	sub.ftz.f32 	%f101, %f186, %f185;
	mul.ftz.f32 	%f102, %f101, %f28;
	sub.ftz.f32 	%f103, %f187, %f185;
	div.approx.ftz.f32 	%f33, %f102, %f103;
	mov.f32 	%f200, 0f00000000;
	mov.f32 	%f198, %f28;
	mov.f32 	%f199, %f33;
	bra.uni 	BB39_26;

BB39_18:
	setp.gt.ftz.f32	%p13, %f187, %f186;
	@%p13 bra 	BB39_19;
	bra.uni 	BB39_11;

BB39_19:
	sub.ftz.f32 	%f108, %f185, %f186;
	mul.ftz.f32 	%f109, %f108, %f28;
	sub.ftz.f32 	%f110, %f187, %f186;
	div.approx.ftz.f32 	%f200, %f109, %f110;
	mov.f32 	%f107, 0f00000000;
	mov.f32 	%f198, %f28;
	mov.f32 	%f199, %f107;
	bra.uni 	BB39_26;

BB39_20:
	setp.eq.ftz.f32	%p14, %f30, %f186;
	@%p14 bra 	BB39_23;

	setp.gt.ftz.f32	%p15, %f185, %f187;
	@%p15 bra 	BB39_22;
	bra.uni 	BB39_11;

BB39_22:
	sub.ftz.f32 	%f115, %f186, %f187;
	mul.ftz.f32 	%f116, %f115, %f28;
	sub.ftz.f32 	%f117, %f185, %f187;
	div.approx.ftz.f32 	%f35, %f116, %f117;
	mov.f32 	%f198, 0f00000000;
	mov.f32 	%f200, %f28;
	mov.f32 	%f199, %f35;
	bra.uni 	BB39_26;

BB39_23:
	setp.gt.ftz.f32	%p16, %f186, %f187;
	@%p16 bra 	BB39_24;
	bra.uni 	BB39_11;

BB39_24:
	sub.ftz.f32 	%f122, %f185, %f187;
	mul.ftz.f32 	%f123, %f122, %f28;
	sub.ftz.f32 	%f124, %f186, %f187;
	div.approx.ftz.f32 	%f200, %f123, %f124;
	mov.f32 	%f198, 0f00000000;

BB39_25:
	mov.f32 	%f199, %f28;

BB39_26:
	ld.const.f32 	%f125, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f126, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f127, %f126, %f190;
	fma.rn.ftz.f32 	%f128, %f125, %f191, %f127;
	ld.const.f32 	%f129, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f130, %f129, %f189, %f128;
	cvt.ftz.sat.f32.f32	%f131, %f130;
	mul.ftz.f32 	%f132, %f126, %f199;
	fma.rn.ftz.f32 	%f133, %f125, %f198, %f132;
	fma.rn.ftz.f32 	%f134, %f129, %f200, %f133;
	cvt.ftz.sat.f32.f32	%f135, %f134;
	sub.ftz.f32 	%f136, %f131, %f135;
	add.ftz.f32 	%f203, %f198, %f136;
	add.ftz.f32 	%f202, %f199, %f136;
	add.ftz.f32 	%f201, %f200, %f136;
	mul.ftz.f32 	%f137, %f126, %f202;
	fma.rn.ftz.f32 	%f138, %f125, %f203, %f137;
	fma.rn.ftz.f32 	%f139, %f129, %f201, %f138;
	cvt.ftz.sat.f32.f32	%f43, %f139;
	min.ftz.f32 	%f140, %f202, %f201;
	min.ftz.f32 	%f44, %f203, %f140;
	max.ftz.f32 	%f141, %f202, %f201;
	max.ftz.f32 	%f45, %f203, %f141;
	setp.geu.ftz.f32	%p17, %f44, 0f00000000;
	@%p17 bra 	BB39_28;

	sub.ftz.f32 	%f142, %f203, %f43;
	mul.ftz.f32 	%f143, %f142, %f43;
	sub.ftz.f32 	%f144, %f43, %f44;
	div.approx.ftz.f32 	%f145, %f143, %f144;
	add.ftz.f32 	%f203, %f43, %f145;
	sub.ftz.f32 	%f146, %f202, %f43;
	mul.ftz.f32 	%f147, %f146, %f43;
	div.approx.ftz.f32 	%f148, %f147, %f144;
	add.ftz.f32 	%f202, %f43, %f148;
	sub.ftz.f32 	%f149, %f201, %f43;
	mul.ftz.f32 	%f150, %f149, %f43;
	div.approx.ftz.f32 	%f151, %f150, %f144;
	add.ftz.f32 	%f201, %f43, %f151;

BB39_28:
	setp.leu.ftz.f32	%p18, %f45, 0f3F800000;
	@%p18 bra 	BB39_30;

	sub.ftz.f32 	%f152, %f203, %f43;
	mov.f32 	%f153, 0f3F800000;
	sub.ftz.f32 	%f154, %f153, %f43;
	mul.ftz.f32 	%f155, %f152, %f154;
	sub.ftz.f32 	%f156, %f45, %f43;
	div.approx.ftz.f32 	%f157, %f155, %f156;
	add.ftz.f32 	%f203, %f43, %f157;
	sub.ftz.f32 	%f158, %f202, %f43;
	mul.ftz.f32 	%f159, %f158, %f154;
	div.approx.ftz.f32 	%f160, %f159, %f156;
	add.ftz.f32 	%f202, %f43, %f160;
	sub.ftz.f32 	%f161, %f201, %f43;
	mul.ftz.f32 	%f162, %f161, %f154;
	div.approx.ftz.f32 	%f163, %f162, %f156;
	add.ftz.f32 	%f201, %f43, %f163;

BB39_30:
	mul.ftz.f32 	%f58, %f188, %f67;
	add.ftz.f32 	%f164, %f58, %f192;
	mul.ftz.f32 	%f165, %f58, %f192;
	sub.ftz.f32 	%f207, %f164, %f165;
	add.ftz.f32 	%f166, %f207, 0fB70637BD;
	setp.gtu.ftz.f32	%p19, %f166, 0f00000000;
	@%p19 bra 	BB39_32;

	mov.f32 	%f207, 0f00000000;
	mov.f32 	%f206, %f207;
	mov.f32 	%f205, %f207;
	mov.f32 	%f204, %f207;
	bra.uni 	BB39_33;

BB39_32:
	mov.f32 	%f171, 0f3F800000;
	div.approx.ftz.f32 	%f172, %f171, %f207;
	mul.ftz.f32 	%f173, %f58, %f172;
	sub.ftz.f32 	%f174, %f171, %f173;
	sub.ftz.f32 	%f175, %f171, %f192;
	mul.ftz.f32 	%f176, %f192, %f201;
	fma.rn.ftz.f32 	%f177, %f175, %f201, %f176;
	mul.ftz.f32 	%f178, %f173, %f177;
	fma.rn.ftz.f32 	%f204, %f174, %f189, %f178;
	mul.ftz.f32 	%f179, %f192, %f202;
	fma.rn.ftz.f32 	%f180, %f175, %f202, %f179;
	mul.ftz.f32 	%f181, %f173, %f180;
	fma.rn.ftz.f32 	%f205, %f174, %f190, %f181;
	mul.ftz.f32 	%f182, %f192, %f203;
	fma.rn.ftz.f32 	%f183, %f175, %f203, %f182;
	mul.ftz.f32 	%f184, %f173, %f183;
	fma.rn.ftz.f32 	%f206, %f174, %f191, %f184;

BB39_33:
	mad.lo.s32 	%r25, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r25;
	@%p4 bra 	BB39_35;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f204, %f205, %f206, %f207};
	bra.uni 	BB39_36;

BB39_35:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f207;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f206;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f205;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f204;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB39_36:
	ret;
}

.visible .entry BlendMode_kBlendMode_Lighten_Kernel(
	.param .u64 BlendMode_kBlendMode_Lighten_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Lighten_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Lighten_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Lighten_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Lighten_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Lighten_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Lighten_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Lighten_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Lighten_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Lighten_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Lighten_Kernel_param_10
)
{
	.reg .pred 	%p<11>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<83>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Lighten_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Lighten_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Lighten_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Lighten_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Lighten_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Lighten_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Lighten_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Lighten_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Lighten_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Lighten_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB40_13;
	bra.uni 	BB40_1;

BB40_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB40_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f74, %f42;
	mov.f32 	%f73, %f41;
	mov.f32 	%f72, %f40;
	mov.f32 	%f71, %f39;
	bra.uni 	BB40_4;

BB40_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f71, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f72, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f73, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f74, %temp;
	}

BB40_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB40_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f78, %f46;
	mov.f32 	%f77, %f45;
	mov.f32 	%f76, %f44;
	mov.f32 	%f75, %f43;
	bra.uni 	BB40_7;

BB40_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f75, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f76, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f77, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f78, %temp;
	}

BB40_7:
	mul.ftz.f32 	%f29, %f74, %f38;
	add.ftz.f32 	%f47, %f29, %f78;
	mul.ftz.f32 	%f48, %f29, %f78;
	sub.ftz.f32 	%f82, %f47, %f48;
	add.ftz.f32 	%f49, %f82, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB40_9;

	mov.f32 	%f82, 0f00000000;
	mov.f32 	%f81, %f82;
	mov.f32 	%f80, %f82;
	mov.f32 	%f79, %f82;
	bra.uni 	BB40_10;

BB40_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f82;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f78;
	setp.ltu.ftz.f32	%p7, %f71, %f75;
	selp.f32	%f59, %f75, %f71, %p7;
	mul.ftz.f32 	%f60, %f78, %f59;
	fma.rn.ftz.f32 	%f61, %f58, %f71, %f60;
	mul.ftz.f32 	%f62, %f56, %f61;
	fma.rn.ftz.f32 	%f79, %f57, %f75, %f62;
	setp.ltu.ftz.f32	%p8, %f72, %f76;
	selp.f32	%f63, %f76, %f72, %p8;
	mul.ftz.f32 	%f64, %f78, %f63;
	fma.rn.ftz.f32 	%f65, %f58, %f72, %f64;
	mul.ftz.f32 	%f66, %f56, %f65;
	fma.rn.ftz.f32 	%f80, %f57, %f76, %f66;
	setp.ltu.ftz.f32	%p9, %f73, %f77;
	selp.f32	%f67, %f77, %f73, %p9;
	mul.ftz.f32 	%f68, %f78, %f67;
	fma.rn.ftz.f32 	%f69, %f58, %f73, %f68;
	mul.ftz.f32 	%f70, %f56, %f69;
	fma.rn.ftz.f32 	%f81, %f57, %f77, %f70;

BB40_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB40_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f79, %f80, %f81, %f82};
	bra.uni 	BB40_13;

BB40_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f82;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f81;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f80;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f79;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB40_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_LighterColor_Kernel(
	.param .u64 BlendMode_kBlendMode_LighterColor_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_LighterColor_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_LighterColor_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_LighterColor_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_LighterColor_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_LighterColor_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_LighterColor_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_LighterColor_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_LighterColor_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_LighterColor_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_LighterColor_Kernel_param_10
)
{
	.reg .pred 	%p<14>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<181>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_LighterColor_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_LighterColor_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_LighterColor_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_LighterColor_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_LighterColor_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_LighterColor_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_LighterColor_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_LighterColor_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_LighterColor_Kernel_param_8];
	ld.param.f32 	%f82, [BlendMode_kBlendMode_LighterColor_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB41_24;
	bra.uni 	BB41_1;

BB41_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB41_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f83, %f84, %f85, %f86}, [%rd10];
	mov.f32 	%f160, %f86;
	mov.f32 	%f159, %f85;
	mov.f32 	%f158, %f84;
	mov.f32 	%f157, %f83;
	bra.uni 	BB41_4;

BB41_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f157, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f158, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f159, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f160, %temp;
	}

BB41_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	mov.f32 	%f13, %f157;
	mov.f32 	%f14, %f158;
	mov.f32 	%f15, %f159;
	@%p4 bra 	BB41_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f87, %f88, %f89, %f90}, [%rd14];
	mov.f32 	%f164, %f90;
	mov.f32 	%f163, %f89;
	mov.f32 	%f162, %f88;
	mov.f32 	%f161, %f87;
	bra.uni 	BB41_7;

BB41_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f161, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f162, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f163, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f164, %temp;
	}

BB41_7:
	mul.ftz.f32 	%f33, %f160, %f82;
	add.ftz.f32 	%f91, %f33, 0fB70637BD;
	setp.le.ftz.f32	%p6, %f91, 0f00000000;
	mov.f32 	%f29, %f161;
	mov.f32 	%f30, %f162;
	mov.f32 	%f31, %f163;
	mov.f32 	%f32, %f164;
	mov.f32 	%f177, %f29;
	mov.f32 	%f178, %f30;
	mov.f32 	%f179, %f31;
	mov.f32 	%f180, %f32;
	@%p6 bra 	BB41_21;

	add.ftz.f32 	%f92, %f164, 0fB70637BD;
	setp.le.ftz.f32	%p7, %f92, 0f00000000;
	mov.f32 	%f177, %f13;
	mov.f32 	%f178, %f14;
	mov.f32 	%f179, %f15;
	mov.f32 	%f180, %f33;
	@%p7 bra 	BB41_21;

	setp.lt.s32	%p8, %r7, 721;
	mov.f32 	%f175, %f163;
	mov.f32 	%f174, %f162;
	mov.f32 	%f173, %f161;
	mov.f32 	%f176, %f164;
	@%p8 bra 	BB41_15;

	ld.const.f32 	%f93, [kRGB32f_To_709YPbPr];
	ld.const.f32 	%f94, [kRGB32f_To_709YPbPr+4];
	mul.ftz.f32 	%f95, %f94, %f158;
	fma.rn.ftz.f32 	%f96, %f93, %f159, %f95;
	ld.const.f32 	%f97, [kRGB32f_To_709YPbPr+8];
	fma.rn.ftz.f32 	%f98, %f97, %f157, %f96;
	cvt.ftz.sat.f32.f32	%f99, %f98;
	mul.ftz.f32 	%f100, %f94, %f162;
	fma.rn.ftz.f32 	%f101, %f93, %f163, %f100;
	fma.rn.ftz.f32 	%f102, %f97, %f161, %f101;
	cvt.ftz.sat.f32.f32	%f103, %f102;
	setp.leu.ftz.f32	%p9, %f99, %f103;
	@%p9 bra 	BB41_20;

	add.ftz.f32 	%f104, %f33, %f164;
	mul.ftz.f32 	%f105, %f33, %f164;
	sub.ftz.f32 	%f168, %f104, %f105;
	add.ftz.f32 	%f106, %f168, 0fB70637BD;
	setp.gtu.ftz.f32	%p10, %f106, 0f00000000;
	@%p10 bra 	BB41_13;

	mov.f32 	%f168, 0f00000000;
	mov.f32 	%f167, %f168;
	mov.f32 	%f166, %f168;
	mov.f32 	%f165, %f168;
	bra.uni 	BB41_14;

BB41_13:
	mov.f32 	%f111, 0f3F800000;
	div.approx.ftz.f32 	%f112, %f111, %f168;
	mul.ftz.f32 	%f113, %f33, %f112;
	sub.ftz.f32 	%f114, %f111, %f113;
	sub.ftz.f32 	%f115, %f111, %f164;
	mul.ftz.f32 	%f116, %f164, %f157;
	fma.rn.ftz.f32 	%f117, %f115, %f157, %f116;
	mul.ftz.f32 	%f118, %f113, %f117;
	fma.rn.ftz.f32 	%f165, %f114, %f161, %f118;
	mul.ftz.f32 	%f119, %f164, %f158;
	fma.rn.ftz.f32 	%f120, %f115, %f158, %f119;
	mul.ftz.f32 	%f121, %f113, %f120;
	fma.rn.ftz.f32 	%f166, %f114, %f162, %f121;
	mul.ftz.f32 	%f122, %f164, %f159;
	fma.rn.ftz.f32 	%f123, %f115, %f159, %f122;
	mul.ftz.f32 	%f124, %f113, %f123;
	fma.rn.ftz.f32 	%f167, %f114, %f163, %f124;

BB41_14:
	mov.f32 	%f176, %f168;
	mov.f32 	%f175, %f167;
	mov.f32 	%f174, %f166;
	mov.f32 	%f173, %f165;
	bra.uni 	BB41_20;

BB41_15:
	ld.const.f32 	%f125, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f126, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f127, %f126, %f158;
	fma.rn.ftz.f32 	%f128, %f125, %f159, %f127;
	ld.const.f32 	%f129, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f130, %f129, %f157, %f128;
	cvt.ftz.sat.f32.f32	%f131, %f130;
	mul.ftz.f32 	%f132, %f126, %f162;
	fma.rn.ftz.f32 	%f133, %f125, %f163, %f132;
	fma.rn.ftz.f32 	%f134, %f129, %f161, %f133;
	cvt.ftz.sat.f32.f32	%f135, %f134;
	setp.leu.ftz.f32	%p11, %f131, %f135;
	@%p11 bra 	BB41_20;

	add.ftz.f32 	%f136, %f33, %f164;
	mul.ftz.f32 	%f137, %f33, %f164;
	sub.ftz.f32 	%f172, %f136, %f137;
	add.ftz.f32 	%f138, %f172, 0fB70637BD;
	setp.gtu.ftz.f32	%p12, %f138, 0f00000000;
	@%p12 bra 	BB41_18;

	mov.f32 	%f172, 0f00000000;
	mov.f32 	%f171, %f172;
	mov.f32 	%f170, %f172;
	mov.f32 	%f169, %f172;
	bra.uni 	BB41_19;

BB41_18:
	mov.f32 	%f143, 0f3F800000;
	div.approx.ftz.f32 	%f144, %f143, %f172;
	mul.ftz.f32 	%f145, %f33, %f144;
	sub.ftz.f32 	%f146, %f143, %f145;
	sub.ftz.f32 	%f147, %f143, %f164;
	mul.ftz.f32 	%f148, %f164, %f157;
	fma.rn.ftz.f32 	%f149, %f147, %f157, %f148;
	mul.ftz.f32 	%f150, %f145, %f149;
	fma.rn.ftz.f32 	%f169, %f146, %f161, %f150;
	mul.ftz.f32 	%f151, %f164, %f158;
	fma.rn.ftz.f32 	%f152, %f147, %f158, %f151;
	mul.ftz.f32 	%f153, %f145, %f152;
	fma.rn.ftz.f32 	%f170, %f146, %f162, %f153;
	mul.ftz.f32 	%f154, %f164, %f159;
	fma.rn.ftz.f32 	%f155, %f147, %f159, %f154;
	mul.ftz.f32 	%f156, %f145, %f155;
	fma.rn.ftz.f32 	%f171, %f146, %f163, %f156;

BB41_19:
	mov.f32 	%f176, %f172;
	mov.f32 	%f175, %f171;
	mov.f32 	%f174, %f170;
	mov.f32 	%f173, %f169;

BB41_20:
	mov.f32 	%f177, %f173;
	mov.f32 	%f178, %f174;
	mov.f32 	%f179, %f175;
	mov.f32 	%f180, %f176;

BB41_21:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r17;
	@%p4 bra 	BB41_23;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f177, %f178, %f179, %f180};
	bra.uni 	BB41_24;

BB41_23:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f180;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f179;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f178;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f177;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB41_24:
	ret;
}

.visible .entry BlendMode_kBlendMode_LinearBurn_Kernel(
	.param .u64 BlendMode_kBlendMode_LinearBurn_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_LinearBurn_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_LinearBurn_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_LinearBurn_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_LinearBurn_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_LinearBurn_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_LinearBurn_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_LinearBurn_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_LinearBurn_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_LinearBurn_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_LinearBurn_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<95>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_LinearBurn_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_LinearBurn_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_LinearBurn_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_LinearBurn_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_LinearBurn_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_LinearBurn_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_LinearBurn_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_LinearBurn_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_LinearBurn_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_LinearBurn_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB42_13;
	bra.uni 	BB42_1;

BB42_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB42_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f86, %f42;
	mov.f32 	%f85, %f41;
	mov.f32 	%f84, %f40;
	mov.f32 	%f83, %f39;
	bra.uni 	BB42_4;

BB42_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f83, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f84, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f85, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f86, %temp;
	}

BB42_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB42_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f90, %f46;
	mov.f32 	%f89, %f45;
	mov.f32 	%f88, %f44;
	mov.f32 	%f87, %f43;
	bra.uni 	BB42_7;

BB42_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f87, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f88, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f89, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f90, %temp;
	}

BB42_7:
	mul.ftz.f32 	%f29, %f86, %f38;
	add.ftz.f32 	%f47, %f29, %f90;
	mul.ftz.f32 	%f48, %f29, %f90;
	sub.ftz.f32 	%f94, %f47, %f48;
	add.ftz.f32 	%f49, %f94, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB42_9;

	mov.f32 	%f94, 0f00000000;
	mov.f32 	%f93, %f94;
	mov.f32 	%f92, %f94;
	mov.f32 	%f91, %f94;
	bra.uni 	BB42_10;

BB42_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f94;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f90;
	cvt.ftz.sat.f32.f32	%f59, %f87;
	cvt.ftz.sat.f32.f32	%f60, %f83;
	add.ftz.f32 	%f61, %f60, %f59;
	add.ftz.f32 	%f62, %f61, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f63, %f62;
	mul.ftz.f32 	%f64, %f90, %f63;
	fma.rn.ftz.f32 	%f65, %f58, %f83, %f64;
	mul.ftz.f32 	%f66, %f56, %f65;
	fma.rn.ftz.f32 	%f91, %f57, %f87, %f66;
	cvt.ftz.sat.f32.f32	%f67, %f88;
	cvt.ftz.sat.f32.f32	%f68, %f84;
	add.ftz.f32 	%f69, %f68, %f67;
	add.ftz.f32 	%f70, %f69, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f71, %f70;
	mul.ftz.f32 	%f72, %f90, %f71;
	fma.rn.ftz.f32 	%f73, %f58, %f84, %f72;
	mul.ftz.f32 	%f74, %f56, %f73;
	fma.rn.ftz.f32 	%f92, %f57, %f88, %f74;
	cvt.ftz.sat.f32.f32	%f75, %f89;
	cvt.ftz.sat.f32.f32	%f76, %f85;
	add.ftz.f32 	%f77, %f76, %f75;
	add.ftz.f32 	%f78, %f77, 0fBF800000;
	cvt.ftz.sat.f32.f32	%f79, %f78;
	mul.ftz.f32 	%f80, %f90, %f79;
	fma.rn.ftz.f32 	%f81, %f58, %f85, %f80;
	mul.ftz.f32 	%f82, %f56, %f81;
	fma.rn.ftz.f32 	%f93, %f57, %f89, %f82;

BB42_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB42_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f91, %f92, %f93, %f94};
	bra.uni 	BB42_13;

BB42_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f94;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f93;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f92;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f91;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB42_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_LinearDodgeAdd_Kernel(
	.param .u64 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<86>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_LinearDodgeAdd_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB43_13;
	bra.uni 	BB43_1;

BB43_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB43_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f77, %f42;
	mov.f32 	%f76, %f41;
	mov.f32 	%f75, %f40;
	mov.f32 	%f74, %f39;
	bra.uni 	BB43_4;

BB43_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f74, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f75, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f76, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f77, %temp;
	}

BB43_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB43_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f81, %f46;
	mov.f32 	%f80, %f45;
	mov.f32 	%f79, %f44;
	mov.f32 	%f78, %f43;
	bra.uni 	BB43_7;

BB43_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f78, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f79, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f80, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f81, %temp;
	}

BB43_7:
	mul.ftz.f32 	%f29, %f77, %f38;
	add.ftz.f32 	%f47, %f29, %f81;
	mul.ftz.f32 	%f48, %f29, %f81;
	sub.ftz.f32 	%f85, %f47, %f48;
	add.ftz.f32 	%f49, %f85, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB43_9;

	mov.f32 	%f85, 0f00000000;
	mov.f32 	%f84, %f85;
	mov.f32 	%f83, %f85;
	mov.f32 	%f82, %f85;
	bra.uni 	BB43_10;

BB43_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f85;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f81;
	add.ftz.f32 	%f59, %f74, %f78;
	cvt.ftz.sat.f32.f32	%f60, %f59;
	mul.ftz.f32 	%f61, %f81, %f60;
	fma.rn.ftz.f32 	%f62, %f58, %f74, %f61;
	mul.ftz.f32 	%f63, %f56, %f62;
	fma.rn.ftz.f32 	%f82, %f57, %f78, %f63;
	add.ftz.f32 	%f64, %f75, %f79;
	cvt.ftz.sat.f32.f32	%f65, %f64;
	mul.ftz.f32 	%f66, %f81, %f65;
	fma.rn.ftz.f32 	%f67, %f58, %f75, %f66;
	mul.ftz.f32 	%f68, %f56, %f67;
	fma.rn.ftz.f32 	%f83, %f57, %f79, %f68;
	add.ftz.f32 	%f69, %f76, %f80;
	cvt.ftz.sat.f32.f32	%f70, %f69;
	mul.ftz.f32 	%f71, %f81, %f70;
	fma.rn.ftz.f32 	%f72, %f58, %f76, %f71;
	mul.ftz.f32 	%f73, %f56, %f72;
	fma.rn.ftz.f32 	%f84, %f57, %f80, %f73;

BB43_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB43_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f82, %f83, %f84, %f85};
	bra.uni 	BB43_13;

BB43_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f85;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f84;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f83;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f82;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB43_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_LinearLight_Kernel(
	.param .u64 BlendMode_kBlendMode_LinearLight_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_LinearLight_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_LinearLight_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_LinearLight_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_LinearLight_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_LinearLight_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_LinearLight_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_LinearLight_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_LinearLight_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_LinearLight_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_LinearLight_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<92>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_LinearLight_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_LinearLight_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_LinearLight_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_LinearLight_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_LinearLight_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_LinearLight_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_LinearLight_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_LinearLight_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_LinearLight_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_LinearLight_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB44_13;
	bra.uni 	BB44_1;

BB44_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB44_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f83, %f42;
	mov.f32 	%f82, %f41;
	mov.f32 	%f81, %f40;
	mov.f32 	%f80, %f39;
	bra.uni 	BB44_4;

BB44_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f80, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f81, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f82, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f83, %temp;
	}

BB44_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB44_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f87, %f46;
	mov.f32 	%f86, %f45;
	mov.f32 	%f85, %f44;
	mov.f32 	%f84, %f43;
	bra.uni 	BB44_7;

BB44_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f84, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f85, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f86, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f87, %temp;
	}

BB44_7:
	mul.ftz.f32 	%f29, %f83, %f38;
	add.ftz.f32 	%f47, %f29, %f87;
	mul.ftz.f32 	%f48, %f29, %f87;
	sub.ftz.f32 	%f91, %f47, %f48;
	add.ftz.f32 	%f49, %f91, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB44_9;

	mov.f32 	%f91, 0f00000000;
	mov.f32 	%f90, %f91;
	mov.f32 	%f89, %f91;
	mov.f32 	%f88, %f91;
	bra.uni 	BB44_10;

BB44_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f91;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f87;
	cvt.ftz.sat.f32.f32	%f59, %f84;
	cvt.ftz.sat.f32.f32	%f60, %f80;
	fma.rn.ftz.f32 	%f61, %f60, 0f40000000, %f59;
	add.ftz.f32 	%f62, %f61, 0fBF800000;
	mul.ftz.f32 	%f63, %f87, %f62;
	fma.rn.ftz.f32 	%f64, %f58, %f80, %f63;
	mul.ftz.f32 	%f65, %f56, %f64;
	fma.rn.ftz.f32 	%f88, %f57, %f84, %f65;
	cvt.ftz.sat.f32.f32	%f66, %f85;
	cvt.ftz.sat.f32.f32	%f67, %f81;
	fma.rn.ftz.f32 	%f68, %f67, 0f40000000, %f66;
	add.ftz.f32 	%f69, %f68, 0fBF800000;
	mul.ftz.f32 	%f70, %f87, %f69;
	fma.rn.ftz.f32 	%f71, %f58, %f81, %f70;
	mul.ftz.f32 	%f72, %f56, %f71;
	fma.rn.ftz.f32 	%f89, %f57, %f85, %f72;
	cvt.ftz.sat.f32.f32	%f73, %f82;
	cvt.ftz.sat.f32.f32	%f74, %f86;
	fma.rn.ftz.f32 	%f75, %f73, 0f40000000, %f74;
	add.ftz.f32 	%f76, %f75, 0fBF800000;
	mul.ftz.f32 	%f77, %f87, %f76;
	fma.rn.ftz.f32 	%f78, %f58, %f82, %f77;
	mul.ftz.f32 	%f79, %f56, %f78;
	fma.rn.ftz.f32 	%f90, %f57, %f86, %f79;

BB44_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB44_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f88, %f89, %f90, %f91};
	bra.uni 	BB44_13;

BB44_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f91;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f90;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f89;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f88;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB44_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_Luminosity_Kernel(
	.param .u64 BlendMode_kBlendMode_Luminosity_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Luminosity_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Luminosity_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Luminosity_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Luminosity_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Luminosity_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Luminosity_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Luminosity_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Luminosity_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Luminosity_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Luminosity_Kernel_param_10
)
{
	.reg .pred 	%p<10>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<26>;
	.reg .f32 	%f<138>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Luminosity_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Luminosity_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Luminosity_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Luminosity_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_Luminosity_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Luminosity_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Luminosity_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Luminosity_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Luminosity_Kernel_param_8];
	ld.param.f32 	%f54, [BlendMode_kBlendMode_Luminosity_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB45_17;
	bra.uni 	BB45_1;

BB45_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB45_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f55, %f56, %f57, %f58}, [%rd10];
	mov.f32 	%f126, %f58;
	mov.f32 	%f125, %f57;
	mov.f32 	%f124, %f56;
	mov.f32 	%f123, %f55;
	bra.uni 	BB45_4;

BB45_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f123, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f124, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f125, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f126, %temp;
	}

BB45_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB45_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f59, %f60, %f61, %f62}, [%rd14];
	mov.f32 	%f130, %f62;
	mov.f32 	%f129, %f61;
	mov.f32 	%f128, %f60;
	mov.f32 	%f127, %f59;
	bra.uni 	BB45_7;

BB45_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f127, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f128, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f129, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f130, %temp;
	}

BB45_7:
	ld.const.f32 	%f63, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f64, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f65, %f64, %f124;
	fma.rn.ftz.f32 	%f66, %f63, %f125, %f65;
	ld.const.f32 	%f67, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f68, %f67, %f123, %f66;
	cvt.ftz.sat.f32.f32	%f69, %f68;
	mul.ftz.f32 	%f70, %f64, %f128;
	fma.rn.ftz.f32 	%f71, %f63, %f129, %f70;
	fma.rn.ftz.f32 	%f72, %f67, %f127, %f71;
	cvt.ftz.sat.f32.f32	%f73, %f72;
	sub.ftz.f32 	%f74, %f69, %f73;
	add.ftz.f32 	%f133, %f129, %f74;
	add.ftz.f32 	%f132, %f128, %f74;
	add.ftz.f32 	%f131, %f127, %f74;
	mul.ftz.f32 	%f75, %f64, %f132;
	fma.rn.ftz.f32 	%f76, %f63, %f133, %f75;
	fma.rn.ftz.f32 	%f77, %f67, %f131, %f76;
	cvt.ftz.sat.f32.f32	%f30, %f77;
	min.ftz.f32 	%f78, %f132, %f131;
	min.ftz.f32 	%f31, %f133, %f78;
	max.ftz.f32 	%f79, %f132, %f131;
	max.ftz.f32 	%f32, %f133, %f79;
	setp.geu.ftz.f32	%p6, %f31, 0f00000000;
	@%p6 bra 	BB45_9;

	sub.ftz.f32 	%f80, %f133, %f30;
	mul.ftz.f32 	%f81, %f80, %f30;
	sub.ftz.f32 	%f82, %f30, %f31;
	div.approx.ftz.f32 	%f83, %f81, %f82;
	add.ftz.f32 	%f133, %f30, %f83;
	sub.ftz.f32 	%f84, %f132, %f30;
	mul.ftz.f32 	%f85, %f84, %f30;
	div.approx.ftz.f32 	%f86, %f85, %f82;
	add.ftz.f32 	%f132, %f30, %f86;
	sub.ftz.f32 	%f87, %f131, %f30;
	mul.ftz.f32 	%f88, %f87, %f30;
	div.approx.ftz.f32 	%f89, %f88, %f82;
	add.ftz.f32 	%f131, %f30, %f89;

BB45_9:
	setp.leu.ftz.f32	%p7, %f32, 0f3F800000;
	@%p7 bra 	BB45_11;

	sub.ftz.f32 	%f90, %f133, %f30;
	mov.f32 	%f91, 0f3F800000;
	sub.ftz.f32 	%f92, %f91, %f30;
	mul.ftz.f32 	%f93, %f90, %f92;
	sub.ftz.f32 	%f94, %f32, %f30;
	div.approx.ftz.f32 	%f95, %f93, %f94;
	add.ftz.f32 	%f133, %f30, %f95;
	sub.ftz.f32 	%f96, %f132, %f30;
	mul.ftz.f32 	%f97, %f96, %f92;
	div.approx.ftz.f32 	%f98, %f97, %f94;
	add.ftz.f32 	%f132, %f30, %f98;
	sub.ftz.f32 	%f99, %f131, %f30;
	mul.ftz.f32 	%f100, %f99, %f92;
	div.approx.ftz.f32 	%f101, %f100, %f94;
	add.ftz.f32 	%f131, %f30, %f101;

BB45_11:
	mul.ftz.f32 	%f45, %f126, %f54;
	add.ftz.f32 	%f102, %f45, %f130;
	mul.ftz.f32 	%f103, %f45, %f130;
	sub.ftz.f32 	%f137, %f102, %f103;
	add.ftz.f32 	%f104, %f137, 0fB70637BD;
	setp.gtu.ftz.f32	%p8, %f104, 0f00000000;
	@%p8 bra 	BB45_13;

	mov.f32 	%f137, 0f00000000;
	mov.f32 	%f136, %f137;
	mov.f32 	%f135, %f137;
	mov.f32 	%f134, %f137;
	bra.uni 	BB45_14;

BB45_13:
	mov.f32 	%f109, 0f3F800000;
	div.approx.ftz.f32 	%f110, %f109, %f137;
	mul.ftz.f32 	%f111, %f45, %f110;
	sub.ftz.f32 	%f112, %f109, %f111;
	sub.ftz.f32 	%f113, %f109, %f130;
	mul.ftz.f32 	%f114, %f130, %f131;
	fma.rn.ftz.f32 	%f115, %f113, %f131, %f114;
	mul.ftz.f32 	%f116, %f111, %f115;
	fma.rn.ftz.f32 	%f134, %f112, %f127, %f116;
	mul.ftz.f32 	%f117, %f130, %f132;
	fma.rn.ftz.f32 	%f118, %f113, %f132, %f117;
	mul.ftz.f32 	%f119, %f111, %f118;
	fma.rn.ftz.f32 	%f135, %f112, %f128, %f119;
	mul.ftz.f32 	%f120, %f130, %f133;
	fma.rn.ftz.f32 	%f121, %f113, %f133, %f120;
	mul.ftz.f32 	%f122, %f111, %f121;
	fma.rn.ftz.f32 	%f136, %f112, %f129, %f122;

BB45_14:
	mad.lo.s32 	%r25, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r25;
	@%p4 bra 	BB45_16;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f134, %f135, %f136, %f137};
	bra.uni 	BB45_17;

BB45_16:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f137;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f136;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f135;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f134;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB45_17:
	ret;
}

.visible .entry BlendMode_kBlendMode_Multiply_Kernel(
	.param .u64 BlendMode_kBlendMode_Multiply_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Multiply_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Multiply_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Multiply_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Multiply_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Multiply_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Multiply_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Multiply_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Multiply_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Multiply_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Multiply_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<86>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Multiply_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Multiply_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Multiply_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Multiply_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Multiply_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Multiply_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Multiply_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Multiply_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Multiply_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Multiply_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB46_13;
	bra.uni 	BB46_1;

BB46_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB46_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f77, %f42;
	mov.f32 	%f76, %f41;
	mov.f32 	%f75, %f40;
	mov.f32 	%f74, %f39;
	bra.uni 	BB46_4;

BB46_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f74, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f75, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f76, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f77, %temp;
	}

BB46_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB46_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f81, %f46;
	mov.f32 	%f80, %f45;
	mov.f32 	%f79, %f44;
	mov.f32 	%f78, %f43;
	bra.uni 	BB46_7;

BB46_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f78, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f79, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f80, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f81, %temp;
	}

BB46_7:
	mul.ftz.f32 	%f29, %f77, %f38;
	add.ftz.f32 	%f47, %f29, %f81;
	mul.ftz.f32 	%f48, %f29, %f81;
	sub.ftz.f32 	%f85, %f47, %f48;
	add.ftz.f32 	%f49, %f85, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB46_9;

	mov.f32 	%f85, 0f00000000;
	mov.f32 	%f84, %f85;
	mov.f32 	%f83, %f85;
	mov.f32 	%f82, %f85;
	bra.uni 	BB46_10;

BB46_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f85;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f81;
	mul.ftz.f32 	%f59, %f74, %f78;
	cvt.ftz.sat.f32.f32	%f60, %f59;
	mul.ftz.f32 	%f61, %f81, %f60;
	fma.rn.ftz.f32 	%f62, %f58, %f74, %f61;
	mul.ftz.f32 	%f63, %f56, %f62;
	fma.rn.ftz.f32 	%f82, %f57, %f78, %f63;
	mul.ftz.f32 	%f64, %f75, %f79;
	cvt.ftz.sat.f32.f32	%f65, %f64;
	mul.ftz.f32 	%f66, %f81, %f65;
	fma.rn.ftz.f32 	%f67, %f58, %f75, %f66;
	mul.ftz.f32 	%f68, %f56, %f67;
	fma.rn.ftz.f32 	%f83, %f57, %f79, %f68;
	mul.ftz.f32 	%f69, %f76, %f80;
	cvt.ftz.sat.f32.f32	%f70, %f69;
	mul.ftz.f32 	%f71, %f81, %f70;
	fma.rn.ftz.f32 	%f72, %f58, %f76, %f71;
	mul.ftz.f32 	%f73, %f56, %f72;
	fma.rn.ftz.f32 	%f84, %f57, %f80, %f73;

BB46_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB46_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f82, %f83, %f84, %f85};
	bra.uni 	BB46_13;

BB46_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f85;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f84;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f83;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f82;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB46_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_Normal_Kernel(
	.param .u64 BlendMode_kBlendMode_Normal_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Normal_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Normal_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Normal_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Normal_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Normal_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Normal_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Normal_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Normal_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Normal_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Normal_Kernel_param_10
)
{
	.reg .pred 	%p<21>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<27>;
	.reg .f32 	%f<188>;
	.reg .s64 	%rd<24>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Normal_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Normal_Kernel_param_1];
	ld.param.u64 	%rd5, [BlendMode_kBlendMode_Normal_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Normal_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_Normal_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Normal_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Normal_Kernel_param_6];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Normal_Kernel_param_7];
	ld.param.u32 	%r9, [BlendMode_kBlendMode_Normal_Kernel_param_8];
	ld.param.f32 	%f88, [BlendMode_kBlendMode_Normal_Kernel_param_9];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Normal_Kernel_param_10];
	cvta.to.global.u64 	%rd1, %rd7;
	mov.u32 	%r10, %ntid.x;
	mov.u32 	%r11, %ctaid.x;
	mov.u32 	%r12, %tid.x;
	mad.lo.s32 	%r1, %r10, %r11, %r12;
	mov.u32 	%r13, %ntid.y;
	mov.u32 	%r14, %ctaid.y;
	mov.u32 	%r15, %tid.y;
	mad.lo.s32 	%r2, %r13, %r14, %r15;
	setp.lt.s32	%p1, %r1, %r8;
	setp.lt.s32	%p2, %r2, %r9;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB47_47;
	bra.uni 	BB47_1;

BB47_1:
	mad.lo.s32 	%r16, %r2, %r3, %r1;
	cvt.s64.s32	%rd2, %r16;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB47_3;

	shl.b64 	%rd8, %rd2, 4;
	add.s64 	%rd9, %rd1, %rd8;
	ld.global.v4.f32 	{%f89, %f90, %f91, %f92}, [%rd9];
	mov.f32 	%f169, %f92;
	mov.f32 	%f168, %f91;
	mov.f32 	%f167, %f90;
	mov.f32 	%f166, %f89;
	bra.uni 	BB47_4;

BB47_3:
	shl.b64 	%rd10, %rd2, 3;
	add.s64 	%rd11, %rd1, %rd10;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd11];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f166, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f167, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f168, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f169, %temp;
	}

BB47_4:
	mad.lo.s32 	%r17, %r2, %r4, %r1;
	cvt.s64.s32	%rd3, %r17;
	@%p4 bra 	BB47_6;

	cvta.to.global.u64 	%rd12, %rd5;
	shl.b64 	%rd13, %rd3, 4;
	add.s64 	%rd14, %rd12, %rd13;
	ld.global.v4.f32 	{%f93, %f94, %f95, %f96}, [%rd14];
	mov.f32 	%f173, %f96;
	mov.f32 	%f172, %f95;
	mov.f32 	%f171, %f94;
	mov.f32 	%f170, %f93;
	bra.uni 	BB47_7;

BB47_6:
	cvta.to.global.u64 	%rd15, %rd5;
	shl.b64 	%rd16, %rd3, 3;
	add.s64 	%rd17, %rd15, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f170, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f171, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f172, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f173, %temp;
	}

BB47_7:
	cvt.ftz.sat.f32.f32	%f97, %f169;
	mul.ftz.f32 	%f180, %f97, %f88;
	cvt.ftz.sat.f32.f32	%f31, %f173;
	setp.eq.s32	%p6, %r7, 0;
	mov.f32 	%f181, %f170;
	mov.f32 	%f182, %f171;
	mov.f32 	%f183, %f172;
	@%p6 bra 	BB47_18;

	cvt.ftz.sat.f32.f32	%f180, %f180;
	setp.ltu.ftz.f32	%p7, %f166, 0f00000000;
	@%p7 bra 	BB47_10;

	lg2.approx.ftz.f32 	%f98, %f166;
	mul.ftz.f32 	%f99, %f98, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f174, %f99;
	bra.uni 	BB47_11;

BB47_10:
	neg.ftz.f32 	%f100, %f166;
	lg2.approx.ftz.f32 	%f101, %f100;
	mul.ftz.f32 	%f102, %f101, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f103, %f102;
	neg.ftz.f32 	%f174, %f103;

BB47_11:
	setp.ltu.ftz.f32	%p8, %f167, 0f00000000;
	@%p8 bra 	BB47_13;

	lg2.approx.ftz.f32 	%f104, %f167;
	mul.ftz.f32 	%f105, %f104, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f175, %f105;
	bra.uni 	BB47_14;

BB47_13:
	neg.ftz.f32 	%f106, %f167;
	lg2.approx.ftz.f32 	%f107, %f106;
	mul.ftz.f32 	%f108, %f107, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f109, %f108;
	neg.ftz.f32 	%f175, %f109;

BB47_14:
	setp.ltu.ftz.f32	%p9, %f168, 0f00000000;
	@%p9 bra 	BB47_16;

	lg2.approx.ftz.f32 	%f110, %f168;
	mul.ftz.f32 	%f111, %f110, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f176, %f111;
	bra.uni 	BB47_17;

BB47_16:
	neg.ftz.f32 	%f112, %f168;
	lg2.approx.ftz.f32 	%f113, %f112;
	mul.ftz.f32 	%f114, %f113, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f115, %f114;
	neg.ftz.f32 	%f176, %f115;

BB47_17:
	mul.ftz.f32 	%f179, %f176, %f180;
	mul.ftz.f32 	%f178, %f175, %f180;
	mul.ftz.f32 	%f177, %f174, %f180;
	bra.uni 	BB47_19;

BB47_18:
	mul.ftz.f32 	%f179, %f168, %f180;
	mul.ftz.f32 	%f178, %f167, %f180;
	mul.ftz.f32 	%f177, %f166, %f180;

BB47_19:
	mov.f32 	%f116, 0f3F800000;
	sub.ftz.f32 	%f117, %f116, %f180;
	mul.ftz.f32 	%f52, %f31, %f117;
	add.ftz.f32 	%f53, %f52, %f180;
	add.ftz.f32 	%f118, %f53, 0fB70637BD;
	setp.gtu.ftz.f32	%p10, %f118, 0f00000000;
	@%p10 bra 	BB47_21;

	mov.f32 	%f187, 0f00000000;
	mov.f32 	%f186, %f187;
	mov.f32 	%f185, %f187;
	mov.f32 	%f184, %f187;
	bra.uni 	BB47_44;

BB47_21:
	@%p6 bra 	BB47_31;

	setp.ltu.ftz.f32	%p12, %f170, 0f00000000;
	@%p12 bra 	BB47_24;

	lg2.approx.ftz.f32 	%f123, %f170;
	mul.ftz.f32 	%f124, %f123, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f181, %f124;
	bra.uni 	BB47_25;

BB47_24:
	neg.ftz.f32 	%f125, %f170;
	lg2.approx.ftz.f32 	%f126, %f125;
	mul.ftz.f32 	%f127, %f126, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f128, %f127;
	neg.ftz.f32 	%f181, %f128;

BB47_25:
	setp.ltu.ftz.f32	%p13, %f171, 0f00000000;
	@%p13 bra 	BB47_27;

	lg2.approx.ftz.f32 	%f129, %f171;
	mul.ftz.f32 	%f130, %f129, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f182, %f130;
	bra.uni 	BB47_28;

BB47_27:
	neg.ftz.f32 	%f131, %f171;
	lg2.approx.ftz.f32 	%f132, %f131;
	mul.ftz.f32 	%f133, %f132, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f134, %f133;
	neg.ftz.f32 	%f182, %f134;

BB47_28:
	setp.ltu.ftz.f32	%p14, %f172, 0f00000000;
	@%p14 bra 	BB47_30;

	lg2.approx.ftz.f32 	%f135, %f172;
	mul.ftz.f32 	%f136, %f135, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f183, %f136;
	bra.uni 	BB47_31;

BB47_30:
	neg.ftz.f32 	%f137, %f172;
	lg2.approx.ftz.f32 	%f138, %f137;
	mul.ftz.f32 	%f139, %f138, 0f400CCCCD;
	ex2.approx.ftz.f32 	%f140, %f139;
	neg.ftz.f32 	%f183, %f140;

BB47_31:
	fma.rn.ftz.f32 	%f65, %f181, %f52, %f177;
	fma.rn.ftz.f32 	%f66, %f182, %f52, %f178;
	fma.rn.ftz.f32 	%f67, %f183, %f52, %f179;
	cvt.ftz.sat.f32.f32	%f187, %f53;
	add.ftz.f32 	%f141, %f187, 0fB70637BD;
	setp.gtu.ftz.f32	%p15, %f141, 0f00000000;
	@%p15 bra 	BB47_33;

	mov.f32 	%f184, 0f00000000;
	mov.f32 	%f185, %f184;
	mov.f32 	%f186, %f184;
	mov.f32 	%f187, %f184;
	bra.uni 	BB47_34;

BB47_33:
	div.approx.ftz.f32 	%f147, %f116, %f187;
	mul.ftz.f32 	%f186, %f67, %f147;
	mul.ftz.f32 	%f185, %f66, %f147;
	mul.ftz.f32 	%f184, %f65, %f147;

BB47_34:
	@%p6 bra 	BB47_44;

	setp.ltu.ftz.f32	%p17, %f184, 0f00000000;
	@%p17 bra 	BB47_37;

	lg2.approx.ftz.f32 	%f148, %f184;
	mul.ftz.f32 	%f149, %f148, 0f3EE8BA2E;
	ex2.approx.ftz.f32 	%f184, %f149;
	bra.uni 	BB47_38;

BB47_37:
	neg.ftz.f32 	%f150, %f184;
	lg2.approx.ftz.f32 	%f151, %f150;
	mul.ftz.f32 	%f152, %f151, 0f3EE8BA2E;
	ex2.approx.ftz.f32 	%f153, %f152;
	neg.ftz.f32 	%f184, %f153;

BB47_38:
	setp.ltu.ftz.f32	%p18, %f185, 0f00000000;
	@%p18 bra 	BB47_40;

	lg2.approx.ftz.f32 	%f154, %f185;
	mul.ftz.f32 	%f155, %f154, 0f3EE8BA2E;
	ex2.approx.ftz.f32 	%f185, %f155;
	bra.uni 	BB47_41;

BB47_40:
	neg.ftz.f32 	%f156, %f185;
	lg2.approx.ftz.f32 	%f157, %f156;
	mul.ftz.f32 	%f158, %f157, 0f3EE8BA2E;
	ex2.approx.ftz.f32 	%f159, %f158;
	neg.ftz.f32 	%f185, %f159;

BB47_41:
	setp.ltu.ftz.f32	%p19, %f186, 0f00000000;
	@%p19 bra 	BB47_43;

	lg2.approx.ftz.f32 	%f160, %f186;
	mul.ftz.f32 	%f161, %f160, 0f3EE8BA2E;
	ex2.approx.ftz.f32 	%f186, %f161;
	bra.uni 	BB47_44;

BB47_43:
	neg.ftz.f32 	%f162, %f186;
	lg2.approx.ftz.f32 	%f163, %f162;
	mul.ftz.f32 	%f164, %f163, 0f3EE8BA2E;
	ex2.approx.ftz.f32 	%f165, %f164;
	neg.ftz.f32 	%f186, %f165;

BB47_44:
	mad.lo.s32 	%r26, %r2, %r5, %r1;
	cvt.s64.s32	%rd4, %r26;
	@%p4 bra 	BB47_46;

	cvta.to.global.u64 	%rd18, %rd6;
	shl.b64 	%rd19, %rd4, 4;
	add.s64 	%rd20, %rd18, %rd19;
	st.global.v4.f32 	[%rd20], {%f184, %f185, %f186, %f187};
	bra.uni 	BB47_47;

BB47_46:
	cvta.to.global.u64 	%rd21, %rd6;
	shl.b64 	%rd22, %rd4, 3;
	add.s64 	%rd23, %rd21, %rd22;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f187;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f186;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f185;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f184;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd23], {%rs20, %rs19, %rs18, %rs17};

BB47_47:
	ret;
}

.visible .entry BlendMode_kBlendMode_Overlay_Kernel(
	.param .u64 BlendMode_kBlendMode_Overlay_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Overlay_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Overlay_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Overlay_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Overlay_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Overlay_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Overlay_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Overlay_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Overlay_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Overlay_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Overlay_Kernel_param_10
)
{
	.reg .pred 	%p<11>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<22>;
	.reg .f32 	%f<120>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Overlay_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Overlay_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Overlay_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Overlay_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_Overlay_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Overlay_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Overlay_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Overlay_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Overlay_Kernel_param_8];
	ld.param.f32 	%f58, [BlendMode_kBlendMode_Overlay_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB48_22;
	bra.uni 	BB48_1;

BB48_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB48_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f59, %f60, %f61, %f62}, [%rd10];
	mov.f32 	%f108, %f62;
	mov.f32 	%f107, %f61;
	mov.f32 	%f106, %f60;
	mov.f32 	%f105, %f59;
	bra.uni 	BB48_4;

BB48_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f105, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f106, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f107, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f108, %temp;
	}

BB48_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB48_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f63, %f64, %f65, %f66}, [%rd14];
	mov.f32 	%f112, %f66;
	mov.f32 	%f111, %f65;
	mov.f32 	%f110, %f64;
	mov.f32 	%f109, %f63;
	bra.uni 	BB48_7;

BB48_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f109, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f110, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f111, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f112, %temp;
	}

BB48_7:
	mul.ftz.f32 	%f27, %f108, %f58;
	add.ftz.f32 	%f67, %f27, %f112;
	mul.ftz.f32 	%f68, %f27, %f112;
	sub.ftz.f32 	%f119, %f67, %f68;
	add.ftz.f32 	%f69, %f119, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f69, 0f00000000;
	@%p6 bra 	BB48_9;

	mov.f32 	%f119, 0f00000000;
	mov.f32 	%f118, %f119;
	mov.f32 	%f117, %f119;
	mov.f32 	%f116, %f119;
	bra.uni 	BB48_19;

BB48_9:
	mov.f32 	%f74, 0f3F800000;
	div.approx.ftz.f32 	%f75, %f74, %f119;
	mul.ftz.f32 	%f29, %f27, %f75;
	sub.ftz.f32 	%f76, %f74, %f29;
	mul.ftz.f32 	%f30, %f76, %f109;
	sub.ftz.f32 	%f77, %f74, %f112;
	mul.ftz.f32 	%f31, %f77, %f105;
	cvt.ftz.sat.f32.f32	%f32, %f105;
	cvt.ftz.sat.f32.f32	%f33, %f109;
	setp.gtu.ftz.f32	%p7, %f33, 0f3F000000;
	@%p7 bra 	BB48_11;

	add.ftz.f32 	%f78, %f32, %f32;
	mul.ftz.f32 	%f113, %f78, %f33;
	bra.uni 	BB48_12;

BB48_11:
	sub.ftz.f32 	%f80, %f74, %f32;
	sub.ftz.f32 	%f81, %f74, %f33;
	mul.ftz.f32 	%f82, %f80, 0fC0000000;
	fma.rn.ftz.f32 	%f113, %f82, %f81, 0f3F800000;

BB48_12:
	cvt.ftz.sat.f32.f32	%f83, %f113;
	fma.rn.ftz.f32 	%f84, %f112, %f83, %f31;
	fma.rn.ftz.f32 	%f116, %f29, %f84, %f30;
	mul.ftz.f32 	%f38, %f76, %f110;
	mul.ftz.f32 	%f39, %f77, %f106;
	cvt.ftz.sat.f32.f32	%f40, %f106;
	cvt.ftz.sat.f32.f32	%f41, %f110;
	setp.gtu.ftz.f32	%p8, %f41, 0f3F000000;
	@%p8 bra 	BB48_14;

	add.ftz.f32 	%f88, %f40, %f40;
	mul.ftz.f32 	%f114, %f88, %f41;
	bra.uni 	BB48_15;

BB48_14:
	sub.ftz.f32 	%f90, %f74, %f40;
	sub.ftz.f32 	%f91, %f74, %f41;
	mul.ftz.f32 	%f92, %f90, 0fC0000000;
	fma.rn.ftz.f32 	%f114, %f92, %f91, 0f3F800000;

BB48_15:
	cvt.ftz.sat.f32.f32	%f93, %f114;
	fma.rn.ftz.f32 	%f94, %f112, %f93, %f39;
	fma.rn.ftz.f32 	%f117, %f29, %f94, %f38;
	mul.ftz.f32 	%f46, %f76, %f111;
	mul.ftz.f32 	%f47, %f77, %f107;
	cvt.ftz.sat.f32.f32	%f48, %f107;
	cvt.ftz.sat.f32.f32	%f49, %f111;
	setp.gtu.ftz.f32	%p9, %f49, 0f3F000000;
	@%p9 bra 	BB48_17;

	add.ftz.f32 	%f98, %f48, %f48;
	mul.ftz.f32 	%f115, %f98, %f49;
	bra.uni 	BB48_18;

BB48_17:
	sub.ftz.f32 	%f100, %f74, %f48;
	sub.ftz.f32 	%f101, %f74, %f49;
	mul.ftz.f32 	%f102, %f100, 0fC0000000;
	fma.rn.ftz.f32 	%f115, %f102, %f101, 0f3F800000;

BB48_18:
	cvt.ftz.sat.f32.f32	%f103, %f115;
	fma.rn.ftz.f32 	%f104, %f112, %f103, %f47;
	fma.rn.ftz.f32 	%f118, %f29, %f104, %f46;

BB48_19:
	mad.lo.s32 	%r21, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r21;
	@%p4 bra 	BB48_21;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f116, %f117, %f118, %f119};
	bra.uni 	BB48_22;

BB48_21:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f119;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f118;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f117;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f116;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB48_22:
	ret;
}

.visible .entry BlendMode_kBlendMode_PinLight_Kernel(
	.param .u64 BlendMode_kBlendMode_PinLight_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_PinLight_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_PinLight_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_PinLight_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_PinLight_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_PinLight_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_PinLight_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_PinLight_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_PinLight_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_PinLight_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_PinLight_Kernel_param_10
)
{
	.reg .pred 	%p<14>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<22>;
	.reg .f32 	%f<108>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_PinLight_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_PinLight_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_PinLight_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_PinLight_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_PinLight_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_PinLight_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_PinLight_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_PinLight_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_PinLight_Kernel_param_8];
	ld.param.f32 	%f54, [BlendMode_kBlendMode_PinLight_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB49_22;
	bra.uni 	BB49_1;

BB49_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB49_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f55, %f56, %f57, %f58}, [%rd10];
	mov.f32 	%f96, %f58;
	mov.f32 	%f95, %f57;
	mov.f32 	%f94, %f56;
	mov.f32 	%f93, %f55;
	bra.uni 	BB49_4;

BB49_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f93, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f94, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f95, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f96, %temp;
	}

BB49_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB49_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f59, %f60, %f61, %f62}, [%rd14];
	mov.f32 	%f100, %f62;
	mov.f32 	%f99, %f61;
	mov.f32 	%f98, %f60;
	mov.f32 	%f97, %f59;
	bra.uni 	BB49_7;

BB49_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f97, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f98, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f99, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f100, %temp;
	}

BB49_7:
	mul.ftz.f32 	%f27, %f96, %f54;
	add.ftz.f32 	%f63, %f27, %f100;
	mul.ftz.f32 	%f64, %f27, %f100;
	sub.ftz.f32 	%f107, %f63, %f64;
	add.ftz.f32 	%f65, %f107, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f65, 0f00000000;
	@%p6 bra 	BB49_9;

	mov.f32 	%f107, 0f00000000;
	mov.f32 	%f106, %f107;
	mov.f32 	%f105, %f107;
	mov.f32 	%f104, %f107;
	bra.uni 	BB49_19;

BB49_9:
	mov.f32 	%f70, 0f3F800000;
	div.approx.ftz.f32 	%f71, %f70, %f107;
	mul.ftz.f32 	%f29, %f27, %f71;
	cvt.ftz.sat.f32.f32	%f31, %f97;
	cvt.ftz.sat.f32.f32	%f72, %f93;
	add.ftz.f32 	%f32, %f72, %f72;
	add.ftz.f32 	%f33, %f32, 0fBF800000;
	setp.lt.ftz.f32	%p7, %f31, %f33;
	mov.f32 	%f101, %f33;
	@%p7 bra 	BB49_12;

	setp.leu.ftz.f32	%p8, %f31, %f32;
	mov.f32 	%f101, %f31;
	@%p8 bra 	BB49_12;

	mov.f32 	%f101, %f32;

BB49_12:
	sub.ftz.f32 	%f74, %f70, %f29;
	sub.ftz.f32 	%f75, %f70, %f100;
	mul.ftz.f32 	%f76, %f100, %f101;
	fma.rn.ftz.f32 	%f77, %f75, %f93, %f76;
	mul.ftz.f32 	%f78, %f29, %f77;
	fma.rn.ftz.f32 	%f104, %f74, %f97, %f78;
	cvt.ftz.sat.f32.f32	%f79, %f94;
	cvt.ftz.sat.f32.f32	%f38, %f98;
	add.ftz.f32 	%f39, %f79, %f79;
	add.ftz.f32 	%f40, %f39, 0fBF800000;
	setp.lt.ftz.f32	%p9, %f38, %f40;
	mov.f32 	%f102, %f40;
	@%p9 bra 	BB49_15;

	setp.leu.ftz.f32	%p10, %f38, %f39;
	mov.f32 	%f102, %f38;
	@%p10 bra 	BB49_15;

	mov.f32 	%f102, %f39;

BB49_15:
	mul.ftz.f32 	%f83, %f100, %f102;
	fma.rn.ftz.f32 	%f84, %f75, %f94, %f83;
	mul.ftz.f32 	%f85, %f29, %f84;
	fma.rn.ftz.f32 	%f105, %f74, %f98, %f85;
	cvt.ftz.sat.f32.f32	%f86, %f95;
	cvt.ftz.sat.f32.f32	%f45, %f99;
	add.ftz.f32 	%f46, %f86, %f86;
	add.ftz.f32 	%f47, %f46, 0fBF800000;
	setp.lt.ftz.f32	%p11, %f45, %f47;
	mov.f32 	%f103, %f47;
	@%p11 bra 	BB49_18;

	setp.leu.ftz.f32	%p12, %f45, %f46;
	mov.f32 	%f103, %f45;
	@%p12 bra 	BB49_18;

	mov.f32 	%f103, %f46;

BB49_18:
	mul.ftz.f32 	%f90, %f100, %f103;
	fma.rn.ftz.f32 	%f91, %f75, %f95, %f90;
	mul.ftz.f32 	%f92, %f29, %f91;
	fma.rn.ftz.f32 	%f106, %f74, %f99, %f92;

BB49_19:
	mad.lo.s32 	%r21, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r21;
	@%p4 bra 	BB49_21;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f104, %f105, %f106, %f107};
	bra.uni 	BB49_22;

BB49_21:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f107;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f106;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f105;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f104;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB49_22:
	ret;
}

.visible .entry BlendMode_kBlendMode_Saturation_Kernel(
	.param .u64 BlendMode_kBlendMode_Saturation_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Saturation_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Saturation_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Saturation_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Saturation_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Saturation_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Saturation_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Saturation_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Saturation_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Saturation_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Saturation_Kernel_param_10
)
{
	.reg .pred 	%p<21>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<26>;
	.reg .f32 	%f<207>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Saturation_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Saturation_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Saturation_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Saturation_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_Saturation_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Saturation_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Saturation_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Saturation_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Saturation_Kernel_param_8];
	ld.param.f32 	%f66, [BlendMode_kBlendMode_Saturation_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB50_36;
	bra.uni 	BB50_1;

BB50_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB50_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f67, %f68, %f69, %f70}, [%rd10];
	mov.f32 	%f187, %f70;
	mov.f32 	%f186, %f69;
	mov.f32 	%f185, %f68;
	mov.f32 	%f184, %f67;
	bra.uni 	BB50_4;

BB50_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f184, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f185, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f186, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f187, %temp;
	}

BB50_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB50_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f71, %f72, %f73, %f74}, [%rd14];
	mov.f32 	%f191, %f74;
	mov.f32 	%f190, %f73;
	mov.f32 	%f189, %f72;
	mov.f32 	%f188, %f71;
	bra.uni 	BB50_7;

BB50_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f188, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f189, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f190, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f191, %temp;
	}

BB50_7:
	max.ftz.f32 	%f75, %f185, %f184;
	max.ftz.f32 	%f76, %f186, %f75;
	min.ftz.f32 	%f77, %f185, %f184;
	min.ftz.f32 	%f78, %f186, %f77;
	sub.ftz.f32 	%f79, %f76, %f78;
	cvt.ftz.sat.f32.f32	%f27, %f79;
	min.ftz.f32 	%f80, %f189, %f188;
	min.ftz.f32 	%f28, %f190, %f80;
	max.ftz.f32 	%f81, %f189, %f188;
	max.ftz.f32 	%f29, %f190, %f81;
	setp.eq.ftz.f32	%p6, %f28, %f190;
	@%p6 bra 	BB50_20;

	setp.eq.ftz.f32	%p7, %f29, %f190;
	@%p7 bra 	BB50_15;

	setp.eq.ftz.f32	%p8, %f28, %f189;
	@%p8 bra 	BB50_13;

	setp.gt.ftz.f32	%p9, %f189, %f188;
	@%p9 bra 	BB50_12;

BB50_11:
	mov.f32 	%f197, 0f00000000;
	mov.f32 	%f198, %f197;
	mov.f32 	%f199, %f197;
	bra.uni 	BB50_26;

BB50_12:
	sub.ftz.f32 	%f86, %f190, %f188;
	mul.ftz.f32 	%f87, %f86, %f27;
	sub.ftz.f32 	%f88, %f189, %f188;
	div.approx.ftz.f32 	%f197, %f87, %f88;
	mov.f32 	%f199, 0f00000000;
	bra.uni 	BB50_25;

BB50_13:
	setp.gt.ftz.f32	%p10, %f188, %f189;
	@%p10 bra 	BB50_14;
	bra.uni 	BB50_11;

BB50_14:
	sub.ftz.f32 	%f93, %f190, %f189;
	mul.ftz.f32 	%f94, %f93, %f27;
	sub.ftz.f32 	%f95, %f188, %f189;
	div.approx.ftz.f32 	%f197, %f94, %f95;
	mov.f32 	%f92, 0f00000000;
	mov.f32 	%f199, %f27;
	mov.f32 	%f198, %f92;
	bra.uni 	BB50_26;

BB50_15:
	setp.eq.ftz.f32	%p11, %f28, %f189;
	@%p11 bra 	BB50_18;

	setp.gt.ftz.f32	%p12, %f190, %f188;
	@%p12 bra 	BB50_17;
	bra.uni 	BB50_11;

BB50_17:
	sub.ftz.f32 	%f100, %f189, %f188;
	mul.ftz.f32 	%f101, %f100, %f27;
	sub.ftz.f32 	%f102, %f190, %f188;
	div.approx.ftz.f32 	%f32, %f101, %f102;
	mov.f32 	%f199, 0f00000000;
	mov.f32 	%f197, %f27;
	mov.f32 	%f198, %f32;
	bra.uni 	BB50_26;

BB50_18:
	setp.gt.ftz.f32	%p13, %f190, %f189;
	@%p13 bra 	BB50_19;
	bra.uni 	BB50_11;

BB50_19:
	sub.ftz.f32 	%f107, %f188, %f189;
	mul.ftz.f32 	%f108, %f107, %f27;
	sub.ftz.f32 	%f109, %f190, %f189;
	div.approx.ftz.f32 	%f199, %f108, %f109;
	mov.f32 	%f106, 0f00000000;
	mov.f32 	%f197, %f27;
	mov.f32 	%f198, %f106;
	bra.uni 	BB50_26;

BB50_20:
	setp.eq.ftz.f32	%p14, %f29, %f189;
	@%p14 bra 	BB50_23;

	setp.gt.ftz.f32	%p15, %f188, %f190;
	@%p15 bra 	BB50_22;
	bra.uni 	BB50_11;

BB50_22:
	sub.ftz.f32 	%f114, %f189, %f190;
	mul.ftz.f32 	%f115, %f114, %f27;
	sub.ftz.f32 	%f116, %f188, %f190;
	div.approx.ftz.f32 	%f34, %f115, %f116;
	mov.f32 	%f197, 0f00000000;
	mov.f32 	%f199, %f27;
	mov.f32 	%f198, %f34;
	bra.uni 	BB50_26;

BB50_23:
	setp.gt.ftz.f32	%p16, %f189, %f190;
	@%p16 bra 	BB50_24;
	bra.uni 	BB50_11;

BB50_24:
	sub.ftz.f32 	%f121, %f188, %f190;
	mul.ftz.f32 	%f122, %f121, %f27;
	sub.ftz.f32 	%f123, %f189, %f190;
	div.approx.ftz.f32 	%f199, %f122, %f123;
	mov.f32 	%f197, 0f00000000;

BB50_25:
	mov.f32 	%f198, %f27;

BB50_26:
	ld.const.f32 	%f124, [kRGB32f_To_601YPbPr];
	ld.const.f32 	%f125, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f126, %f125, %f189;
	fma.rn.ftz.f32 	%f127, %f124, %f190, %f126;
	ld.const.f32 	%f128, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f129, %f128, %f188, %f127;
	cvt.ftz.sat.f32.f32	%f130, %f129;
	mul.ftz.f32 	%f131, %f125, %f198;
	fma.rn.ftz.f32 	%f132, %f124, %f197, %f131;
	fma.rn.ftz.f32 	%f133, %f128, %f199, %f132;
	cvt.ftz.sat.f32.f32	%f134, %f133;
	sub.ftz.f32 	%f135, %f130, %f134;
	add.ftz.f32 	%f202, %f197, %f135;
	add.ftz.f32 	%f201, %f198, %f135;
	add.ftz.f32 	%f200, %f199, %f135;
	mul.ftz.f32 	%f136, %f125, %f201;
	fma.rn.ftz.f32 	%f137, %f124, %f202, %f136;
	fma.rn.ftz.f32 	%f138, %f128, %f200, %f137;
	cvt.ftz.sat.f32.f32	%f42, %f138;
	min.ftz.f32 	%f139, %f201, %f200;
	min.ftz.f32 	%f43, %f202, %f139;
	max.ftz.f32 	%f140, %f201, %f200;
	max.ftz.f32 	%f44, %f202, %f140;
	setp.geu.ftz.f32	%p17, %f43, 0f00000000;
	@%p17 bra 	BB50_28;

	sub.ftz.f32 	%f141, %f202, %f42;
	mul.ftz.f32 	%f142, %f141, %f42;
	sub.ftz.f32 	%f143, %f42, %f43;
	div.approx.ftz.f32 	%f144, %f142, %f143;
	add.ftz.f32 	%f202, %f42, %f144;
	sub.ftz.f32 	%f145, %f201, %f42;
	mul.ftz.f32 	%f146, %f145, %f42;
	div.approx.ftz.f32 	%f147, %f146, %f143;
	add.ftz.f32 	%f201, %f42, %f147;
	sub.ftz.f32 	%f148, %f200, %f42;
	mul.ftz.f32 	%f149, %f148, %f42;
	div.approx.ftz.f32 	%f150, %f149, %f143;
	add.ftz.f32 	%f200, %f42, %f150;

BB50_28:
	setp.leu.ftz.f32	%p18, %f44, 0f3F800000;
	@%p18 bra 	BB50_30;

	sub.ftz.f32 	%f151, %f202, %f42;
	mov.f32 	%f152, 0f3F800000;
	sub.ftz.f32 	%f153, %f152, %f42;
	mul.ftz.f32 	%f154, %f151, %f153;
	sub.ftz.f32 	%f155, %f44, %f42;
	div.approx.ftz.f32 	%f156, %f154, %f155;
	add.ftz.f32 	%f202, %f42, %f156;
	sub.ftz.f32 	%f157, %f201, %f42;
	mul.ftz.f32 	%f158, %f157, %f153;
	div.approx.ftz.f32 	%f159, %f158, %f155;
	add.ftz.f32 	%f201, %f42, %f159;
	sub.ftz.f32 	%f160, %f200, %f42;
	mul.ftz.f32 	%f161, %f160, %f153;
	div.approx.ftz.f32 	%f162, %f161, %f155;
	add.ftz.f32 	%f200, %f42, %f162;

BB50_30:
	mul.ftz.f32 	%f57, %f187, %f66;
	add.ftz.f32 	%f163, %f57, %f191;
	mul.ftz.f32 	%f164, %f57, %f191;
	sub.ftz.f32 	%f206, %f163, %f164;
	add.ftz.f32 	%f165, %f206, 0fB70637BD;
	setp.gtu.ftz.f32	%p19, %f165, 0f00000000;
	@%p19 bra 	BB50_32;

	mov.f32 	%f206, 0f00000000;
	mov.f32 	%f205, %f206;
	mov.f32 	%f204, %f206;
	mov.f32 	%f203, %f206;
	bra.uni 	BB50_33;

BB50_32:
	mov.f32 	%f170, 0f3F800000;
	div.approx.ftz.f32 	%f171, %f170, %f206;
	mul.ftz.f32 	%f172, %f57, %f171;
	sub.ftz.f32 	%f173, %f170, %f172;
	sub.ftz.f32 	%f174, %f170, %f191;
	mul.ftz.f32 	%f175, %f191, %f200;
	fma.rn.ftz.f32 	%f176, %f174, %f200, %f175;
	mul.ftz.f32 	%f177, %f172, %f176;
	fma.rn.ftz.f32 	%f203, %f173, %f188, %f177;
	mul.ftz.f32 	%f178, %f191, %f201;
	fma.rn.ftz.f32 	%f179, %f174, %f201, %f178;
	mul.ftz.f32 	%f180, %f172, %f179;
	fma.rn.ftz.f32 	%f204, %f173, %f189, %f180;
	mul.ftz.f32 	%f181, %f191, %f202;
	fma.rn.ftz.f32 	%f182, %f174, %f202, %f181;
	mul.ftz.f32 	%f183, %f172, %f182;
	fma.rn.ftz.f32 	%f205, %f173, %f190, %f183;

BB50_33:
	mad.lo.s32 	%r25, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r25;
	@%p4 bra 	BB50_35;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f203, %f204, %f205, %f206};
	bra.uni 	BB50_36;

BB50_35:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f206;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f205;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f204;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f203;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB50_36:
	ret;
}

.visible .entry BlendMode_kBlendMode_Screen_Kernel(
	.param .u64 BlendMode_kBlendMode_Screen_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Screen_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Screen_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Screen_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Screen_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Screen_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Screen_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Screen_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Screen_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Screen_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Screen_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<108>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Screen_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Screen_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Screen_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Screen_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Screen_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Screen_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Screen_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Screen_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Screen_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Screen_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB51_13;
	bra.uni 	BB51_1;

BB51_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB51_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f99, %f42;
	mov.f32 	%f98, %f41;
	mov.f32 	%f97, %f40;
	mov.f32 	%f96, %f39;
	bra.uni 	BB51_4;

BB51_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f96, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f97, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f98, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f99, %temp;
	}

BB51_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB51_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f103, %f46;
	mov.f32 	%f102, %f45;
	mov.f32 	%f101, %f44;
	mov.f32 	%f100, %f43;
	bra.uni 	BB51_7;

BB51_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f100, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f101, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f102, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f103, %temp;
	}

BB51_7:
	mul.ftz.f32 	%f29, %f99, %f38;
	add.ftz.f32 	%f47, %f29, %f103;
	mul.ftz.f32 	%f48, %f29, %f103;
	sub.ftz.f32 	%f107, %f47, %f48;
	add.ftz.f32 	%f49, %f107, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB51_9;

	mov.f32 	%f107, 0f00000000;
	mov.f32 	%f106, %f107;
	mov.f32 	%f105, %f107;
	mov.f32 	%f104, %f107;
	bra.uni 	BB51_10;

BB51_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f107;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f103;
	mov.f32 	%f59, 0f33D6BF95;
	max.ftz.f32 	%f60, %f96, %f59;
	min.ftz.f32 	%f61, %f60, %f54;
	max.ftz.f32 	%f62, %f100, %f59;
	min.ftz.f32 	%f63, %f62, %f54;
	sub.ftz.f32 	%f64, %f54, %f61;
	sub.ftz.f32 	%f65, %f54, %f63;
	mul.ftz.f32 	%f66, %f64, %f65;
	sub.ftz.f32 	%f67, %f54, %f66;
	cvt.ftz.sat.f32.f32	%f68, %f67;
	mul.ftz.f32 	%f69, %f103, %f68;
	fma.rn.ftz.f32 	%f70, %f58, %f96, %f69;
	mul.ftz.f32 	%f71, %f56, %f70;
	fma.rn.ftz.f32 	%f104, %f57, %f100, %f71;
	max.ftz.f32 	%f72, %f97, %f59;
	min.ftz.f32 	%f73, %f72, %f54;
	max.ftz.f32 	%f74, %f101, %f59;
	min.ftz.f32 	%f75, %f74, %f54;
	sub.ftz.f32 	%f76, %f54, %f73;
	sub.ftz.f32 	%f77, %f54, %f75;
	mul.ftz.f32 	%f78, %f76, %f77;
	sub.ftz.f32 	%f79, %f54, %f78;
	cvt.ftz.sat.f32.f32	%f80, %f79;
	mul.ftz.f32 	%f81, %f103, %f80;
	fma.rn.ftz.f32 	%f82, %f58, %f97, %f81;
	mul.ftz.f32 	%f83, %f56, %f82;
	fma.rn.ftz.f32 	%f105, %f57, %f101, %f83;
	max.ftz.f32 	%f84, %f98, %f59;
	min.ftz.f32 	%f85, %f84, %f54;
	max.ftz.f32 	%f86, %f102, %f59;
	min.ftz.f32 	%f87, %f86, %f54;
	sub.ftz.f32 	%f88, %f54, %f85;
	sub.ftz.f32 	%f89, %f54, %f87;
	mul.ftz.f32 	%f90, %f88, %f89;
	sub.ftz.f32 	%f91, %f54, %f90;
	cvt.ftz.sat.f32.f32	%f92, %f91;
	mul.ftz.f32 	%f93, %f103, %f92;
	fma.rn.ftz.f32 	%f94, %f58, %f98, %f93;
	mul.ftz.f32 	%f95, %f56, %f94;
	fma.rn.ftz.f32 	%f106, %f57, %f102, %f95;

BB51_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB51_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f104, %f105, %f106, %f107};
	bra.uni 	BB51_13;

BB51_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f107;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f106;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f105;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f104;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB51_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_SoftLight_Kernel(
	.param .u64 BlendMode_kBlendMode_SoftLight_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_SoftLight_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_SoftLight_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_SoftLight_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_SoftLight_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_SoftLight_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_SoftLight_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_SoftLight_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_SoftLight_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_SoftLight_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_SoftLight_Kernel_param_10
)
{
	.reg .pred 	%p<11>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<22>;
	.reg .f32 	%f<117>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_SoftLight_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_SoftLight_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_SoftLight_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_SoftLight_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_SoftLight_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_SoftLight_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_SoftLight_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_SoftLight_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_SoftLight_Kernel_param_8];
	ld.param.f32 	%f58, [BlendMode_kBlendMode_SoftLight_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB52_22;
	bra.uni 	BB52_1;

BB52_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB52_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f59, %f60, %f61, %f62}, [%rd10];
	mov.f32 	%f105, %f62;
	mov.f32 	%f104, %f61;
	mov.f32 	%f103, %f60;
	mov.f32 	%f102, %f59;
	bra.uni 	BB52_4;

BB52_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f102, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f103, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f104, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f105, %temp;
	}

BB52_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB52_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f63, %f64, %f65, %f66}, [%rd14];
	mov.f32 	%f109, %f66;
	mov.f32 	%f108, %f65;
	mov.f32 	%f107, %f64;
	mov.f32 	%f106, %f63;
	bra.uni 	BB52_7;

BB52_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f106, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f107, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f108, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f109, %temp;
	}

BB52_7:
	mul.ftz.f32 	%f27, %f105, %f58;
	add.ftz.f32 	%f67, %f27, %f109;
	mul.ftz.f32 	%f68, %f27, %f109;
	sub.ftz.f32 	%f116, %f67, %f68;
	add.ftz.f32 	%f69, %f116, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f69, 0f00000000;
	@%p6 bra 	BB52_9;

	mov.f32 	%f116, 0f00000000;
	mov.f32 	%f115, %f116;
	mov.f32 	%f114, %f116;
	mov.f32 	%f113, %f116;
	bra.uni 	BB52_19;

BB52_9:
	mov.f32 	%f74, 0f3F800000;
	div.approx.ftz.f32 	%f75, %f74, %f116;
	mul.ftz.f32 	%f29, %f27, %f75;
	sub.ftz.f32 	%f76, %f74, %f29;
	mul.ftz.f32 	%f30, %f76, %f106;
	sub.ftz.f32 	%f77, %f74, %f109;
	mul.ftz.f32 	%f31, %f77, %f102;
	cvt.ftz.sat.f32.f32	%f32, %f106;
	cvt.ftz.sat.f32.f32	%f78, %f102;
	setp.gtu.ftz.f32	%p7, %f78, 0f3F000000;
	fma.rn.ftz.f32 	%f33, %f78, 0f40000000, 0fBF800000;
	@%p7 bra 	BB52_11;

	mul.ftz.f32 	%f79, %f32, %f32;
	sub.ftz.f32 	%f110, %f32, %f79;
	bra.uni 	BB52_12;

BB52_11:
	sqrt.approx.ftz.f32 	%f80, %f32;
	sub.ftz.f32 	%f110, %f80, %f32;

BB52_12:
	fma.rn.ftz.f32 	%f81, %f33, %f110, %f32;
	cvt.ftz.sat.f32.f32	%f82, %f81;
	fma.rn.ftz.f32 	%f83, %f109, %f82, %f31;
	fma.rn.ftz.f32 	%f113, %f29, %f83, %f30;
	mul.ftz.f32 	%f38, %f76, %f107;
	mul.ftz.f32 	%f39, %f77, %f103;
	cvt.ftz.sat.f32.f32	%f87, %f103;
	cvt.ftz.sat.f32.f32	%f40, %f107;
	setp.gtu.ftz.f32	%p8, %f87, 0f3F000000;
	fma.rn.ftz.f32 	%f41, %f87, 0f40000000, 0fBF800000;
	@%p8 bra 	BB52_14;

	mul.ftz.f32 	%f88, %f40, %f40;
	sub.ftz.f32 	%f111, %f40, %f88;
	bra.uni 	BB52_15;

BB52_14:
	sqrt.approx.ftz.f32 	%f89, %f40;
	sub.ftz.f32 	%f111, %f89, %f40;

BB52_15:
	fma.rn.ftz.f32 	%f90, %f41, %f111, %f40;
	cvt.ftz.sat.f32.f32	%f91, %f90;
	fma.rn.ftz.f32 	%f92, %f109, %f91, %f39;
	fma.rn.ftz.f32 	%f114, %f29, %f92, %f38;
	mul.ftz.f32 	%f46, %f76, %f108;
	mul.ftz.f32 	%f47, %f77, %f104;
	cvt.ftz.sat.f32.f32	%f96, %f104;
	cvt.ftz.sat.f32.f32	%f48, %f108;
	setp.gtu.ftz.f32	%p9, %f96, 0f3F000000;
	fma.rn.ftz.f32 	%f49, %f96, 0f40000000, 0fBF800000;
	@%p9 bra 	BB52_17;

	mul.ftz.f32 	%f97, %f48, %f48;
	sub.ftz.f32 	%f112, %f48, %f97;
	bra.uni 	BB52_18;

BB52_17:
	sqrt.approx.ftz.f32 	%f98, %f48;
	sub.ftz.f32 	%f112, %f98, %f48;

BB52_18:
	fma.rn.ftz.f32 	%f99, %f49, %f112, %f48;
	cvt.ftz.sat.f32.f32	%f100, %f99;
	fma.rn.ftz.f32 	%f101, %f109, %f100, %f47;
	fma.rn.ftz.f32 	%f115, %f29, %f101, %f46;

BB52_19:
	mad.lo.s32 	%r21, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r21;
	@%p4 bra 	BB52_21;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f113, %f114, %f115, %f116};
	bra.uni 	BB52_22;

BB52_21:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f116;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f115;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f114;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f113;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB52_22:
	ret;
}

.visible .entry BlendMode_kBlendMode_VividLight_Kernel(
	.param .u64 BlendMode_kBlendMode_VividLight_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_VividLight_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_VividLight_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_VividLight_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_VividLight_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_VividLight_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_VividLight_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_VividLight_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_VividLight_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_VividLight_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_VividLight_Kernel_param_10
)
{
	.reg .pred 	%p<11>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<22>;
	.reg .f32 	%f<144>;
	.reg .s64 	%rd<23>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_VividLight_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_VividLight_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_VividLight_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_VividLight_Kernel_param_3];
	ld.param.u64 	%rd6, [BlendMode_kBlendMode_VividLight_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_VividLight_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_VividLight_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_VividLight_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_VividLight_Kernel_param_8];
	ld.param.f32 	%f58, [BlendMode_kBlendMode_VividLight_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd8;
	cvta.to.global.u64 	%rd2, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB53_22;
	bra.uni 	BB53_1;

BB53_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd3, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB53_3;

	shl.b64 	%rd9, %rd3, 4;
	add.s64 	%rd10, %rd2, %rd9;
	ld.global.v4.f32 	{%f59, %f60, %f61, %f62}, [%rd10];
	mov.f32 	%f132, %f62;
	mov.f32 	%f131, %f61;
	mov.f32 	%f130, %f60;
	mov.f32 	%f129, %f59;
	bra.uni 	BB53_4;

BB53_3:
	shl.b64 	%rd11, %rd3, 3;
	add.s64 	%rd12, %rd2, %rd11;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd12];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f129, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f130, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f131, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f132, %temp;
	}

BB53_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd4, %r16;
	@%p4 bra 	BB53_6;

	shl.b64 	%rd13, %rd4, 4;
	add.s64 	%rd14, %rd1, %rd13;
	ld.global.v4.f32 	{%f63, %f64, %f65, %f66}, [%rd14];
	mov.f32 	%f136, %f66;
	mov.f32 	%f135, %f65;
	mov.f32 	%f134, %f64;
	mov.f32 	%f133, %f63;
	bra.uni 	BB53_7;

BB53_6:
	shl.b64 	%rd15, %rd4, 3;
	add.s64 	%rd16, %rd1, %rd15;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd16];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f133, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f134, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f135, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f136, %temp;
	}

BB53_7:
	mul.ftz.f32 	%f27, %f132, %f58;
	add.ftz.f32 	%f67, %f27, %f136;
	mul.ftz.f32 	%f68, %f27, %f136;
	sub.ftz.f32 	%f143, %f67, %f68;
	add.ftz.f32 	%f69, %f143, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f69, 0f00000000;
	@%p6 bra 	BB53_9;

	mov.f32 	%f143, 0f00000000;
	mov.f32 	%f142, %f143;
	mov.f32 	%f141, %f143;
	mov.f32 	%f140, %f143;
	bra.uni 	BB53_19;

BB53_9:
	mov.f32 	%f74, 0f3F800000;
	div.approx.ftz.f32 	%f75, %f74, %f143;
	mul.ftz.f32 	%f29, %f27, %f75;
	sub.ftz.f32 	%f76, %f74, %f29;
	mul.ftz.f32 	%f30, %f76, %f133;
	sub.ftz.f32 	%f77, %f74, %f136;
	mul.ftz.f32 	%f31, %f77, %f129;
	mov.f32 	%f78, 0f358637BD;
	max.ftz.f32 	%f79, %f129, %f78;
	mov.f32 	%f80, 0f3F7FFFEF;
	min.ftz.f32 	%f32, %f79, %f80;
	mov.f32 	%f81, 0f00000000;
	max.ftz.f32 	%f82, %f133, %f81;
	min.ftz.f32 	%f33, %f82, %f74;
	setp.gtu.ftz.f32	%p7, %f32, 0f3F000000;
	@%p7 bra 	BB53_11;

	sub.ftz.f32 	%f84, %f74, %f33;
	add.ftz.f32 	%f85, %f32, %f32;
	div.approx.ftz.f32 	%f86, %f84, %f85;
	sub.ftz.f32 	%f87, %f74, %f86;
	cvt.ftz.sat.f32.f32	%f137, %f87;
	bra.uni 	BB53_12;

BB53_11:
	sub.ftz.f32 	%f89, %f74, %f32;
	add.ftz.f32 	%f90, %f89, %f89;
	div.approx.ftz.f32 	%f91, %f33, %f90;
	cvt.ftz.sat.f32.f32	%f137, %f91;

BB53_12:
	fma.rn.ftz.f32 	%f92, %f136, %f137, %f31;
	fma.rn.ftz.f32 	%f140, %f29, %f92, %f30;
	mul.ftz.f32 	%f38, %f76, %f134;
	mul.ftz.f32 	%f39, %f77, %f130;
	max.ftz.f32 	%f97, %f130, %f78;
	min.ftz.f32 	%f40, %f97, %f80;
	max.ftz.f32 	%f100, %f134, %f81;
	min.ftz.f32 	%f41, %f100, %f74;
	setp.gtu.ftz.f32	%p8, %f40, 0f3F000000;
	@%p8 bra 	BB53_14;

	sub.ftz.f32 	%f102, %f74, %f41;
	add.ftz.f32 	%f103, %f40, %f40;
	div.approx.ftz.f32 	%f104, %f102, %f103;
	sub.ftz.f32 	%f105, %f74, %f104;
	cvt.ftz.sat.f32.f32	%f138, %f105;
	bra.uni 	BB53_15;

BB53_14:
	sub.ftz.f32 	%f107, %f74, %f40;
	add.ftz.f32 	%f108, %f107, %f107;
	div.approx.ftz.f32 	%f109, %f41, %f108;
	cvt.ftz.sat.f32.f32	%f138, %f109;

BB53_15:
	fma.rn.ftz.f32 	%f110, %f136, %f138, %f39;
	fma.rn.ftz.f32 	%f141, %f29, %f110, %f38;
	mul.ftz.f32 	%f46, %f76, %f135;
	mul.ftz.f32 	%f47, %f77, %f131;
	max.ftz.f32 	%f115, %f131, %f78;
	min.ftz.f32 	%f48, %f115, %f80;
	max.ftz.f32 	%f118, %f135, %f81;
	min.ftz.f32 	%f49, %f118, %f74;
	setp.gtu.ftz.f32	%p9, %f48, 0f3F000000;
	@%p9 bra 	BB53_17;

	sub.ftz.f32 	%f120, %f74, %f49;
	add.ftz.f32 	%f121, %f48, %f48;
	div.approx.ftz.f32 	%f122, %f120, %f121;
	sub.ftz.f32 	%f123, %f74, %f122;
	cvt.ftz.sat.f32.f32	%f139, %f123;
	bra.uni 	BB53_18;

BB53_17:
	sub.ftz.f32 	%f125, %f74, %f48;
	add.ftz.f32 	%f126, %f125, %f125;
	div.approx.ftz.f32 	%f127, %f49, %f126;
	cvt.ftz.sat.f32.f32	%f139, %f127;

BB53_18:
	fma.rn.ftz.f32 	%f128, %f136, %f139, %f47;
	fma.rn.ftz.f32 	%f142, %f29, %f128, %f46;

BB53_19:
	mad.lo.s32 	%r21, %r2, %r5, %r1;
	cvt.s64.s32	%rd5, %r21;
	@%p4 bra 	BB53_21;

	cvta.to.global.u64 	%rd17, %rd6;
	shl.b64 	%rd18, %rd5, 4;
	add.s64 	%rd19, %rd17, %rd18;
	st.global.v4.f32 	[%rd19], {%f140, %f141, %f142, %f143};
	bra.uni 	BB53_22;

BB53_21:
	cvta.to.global.u64 	%rd20, %rd6;
	shl.b64 	%rd21, %rd5, 3;
	add.s64 	%rd22, %rd20, %rd21;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f143;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f142;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f141;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f140;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd22], {%rs20, %rs19, %rs18, %rs17};

BB53_22:
	ret;
}

.visible .entry BlendMode_kBlendMode_Subtract_Kernel(
	.param .u64 BlendMode_kBlendMode_Subtract_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Subtract_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Subtract_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Subtract_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Subtract_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Subtract_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Subtract_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Subtract_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Subtract_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Subtract_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Subtract_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<92>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Subtract_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Subtract_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Subtract_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Subtract_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Subtract_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Subtract_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Subtract_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Subtract_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Subtract_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Subtract_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB54_13;
	bra.uni 	BB54_1;

BB54_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB54_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f83, %f42;
	mov.f32 	%f82, %f41;
	mov.f32 	%f81, %f40;
	mov.f32 	%f80, %f39;
	bra.uni 	BB54_4;

BB54_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f80, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f81, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f82, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f83, %temp;
	}

BB54_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB54_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f87, %f46;
	mov.f32 	%f86, %f45;
	mov.f32 	%f85, %f44;
	mov.f32 	%f84, %f43;
	bra.uni 	BB54_7;

BB54_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f84, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f85, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f86, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f87, %temp;
	}

BB54_7:
	mul.ftz.f32 	%f29, %f83, %f38;
	add.ftz.f32 	%f47, %f29, %f87;
	mul.ftz.f32 	%f48, %f29, %f87;
	sub.ftz.f32 	%f91, %f47, %f48;
	add.ftz.f32 	%f49, %f91, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB54_9;

	mov.f32 	%f91, 0f00000000;
	mov.f32 	%f90, %f91;
	mov.f32 	%f89, %f91;
	mov.f32 	%f88, %f91;
	bra.uni 	BB54_10;

BB54_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f91;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f87;
	cvt.ftz.sat.f32.f32	%f59, %f84;
	cvt.ftz.sat.f32.f32	%f60, %f80;
	sub.ftz.f32 	%f61, %f59, %f60;
	cvt.ftz.sat.f32.f32	%f62, %f61;
	mul.ftz.f32 	%f63, %f87, %f62;
	fma.rn.ftz.f32 	%f64, %f58, %f80, %f63;
	mul.ftz.f32 	%f65, %f56, %f64;
	fma.rn.ftz.f32 	%f88, %f57, %f84, %f65;
	cvt.ftz.sat.f32.f32	%f66, %f85;
	cvt.ftz.sat.f32.f32	%f67, %f81;
	sub.ftz.f32 	%f68, %f66, %f67;
	cvt.ftz.sat.f32.f32	%f69, %f68;
	mul.ftz.f32 	%f70, %f87, %f69;
	fma.rn.ftz.f32 	%f71, %f58, %f81, %f70;
	mul.ftz.f32 	%f72, %f56, %f71;
	fma.rn.ftz.f32 	%f89, %f57, %f85, %f72;
	cvt.ftz.sat.f32.f32	%f73, %f86;
	cvt.ftz.sat.f32.f32	%f74, %f82;
	sub.ftz.f32 	%f75, %f73, %f74;
	cvt.ftz.sat.f32.f32	%f76, %f75;
	mul.ftz.f32 	%f77, %f87, %f76;
	fma.rn.ftz.f32 	%f78, %f58, %f82, %f77;
	mul.ftz.f32 	%f79, %f56, %f78;
	fma.rn.ftz.f32 	%f90, %f57, %f86, %f79;

BB54_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB54_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f88, %f89, %f90, %f91};
	bra.uni 	BB54_13;

BB54_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f91;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f90;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f89;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f88;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB54_13:
	ret;
}

.visible .entry BlendMode_kBlendMode_Divide_Kernel(
	.param .u64 BlendMode_kBlendMode_Divide_Kernel_param_0,
	.param .u32 BlendMode_kBlendMode_Divide_Kernel_param_1,
	.param .u64 BlendMode_kBlendMode_Divide_Kernel_param_2,
	.param .u32 BlendMode_kBlendMode_Divide_Kernel_param_3,
	.param .u64 BlendMode_kBlendMode_Divide_Kernel_param_4,
	.param .u32 BlendMode_kBlendMode_Divide_Kernel_param_5,
	.param .u32 BlendMode_kBlendMode_Divide_Kernel_param_6,
	.param .u32 BlendMode_kBlendMode_Divide_Kernel_param_7,
	.param .u32 BlendMode_kBlendMode_Divide_Kernel_param_8,
	.param .f32 BlendMode_kBlendMode_Divide_Kernel_param_9,
	.param .u32 BlendMode_kBlendMode_Divide_Kernel_param_10
)
{
	.reg .pred 	%p<8>;
	.reg .s16 	%rs<21>;
	.reg .s32 	%r<18>;
	.reg .f32 	%f<100>;
	.reg .s64 	%rd<22>;


	ld.param.u64 	%rd7, [BlendMode_kBlendMode_Divide_Kernel_param_0];
	ld.param.u32 	%r3, [BlendMode_kBlendMode_Divide_Kernel_param_1];
	ld.param.u64 	%rd8, [BlendMode_kBlendMode_Divide_Kernel_param_2];
	ld.param.u32 	%r4, [BlendMode_kBlendMode_Divide_Kernel_param_3];
	ld.param.u64 	%rd9, [BlendMode_kBlendMode_Divide_Kernel_param_4];
	ld.param.u32 	%r5, [BlendMode_kBlendMode_Divide_Kernel_param_5];
	ld.param.u32 	%r6, [BlendMode_kBlendMode_Divide_Kernel_param_6];
	ld.param.u32 	%r7, [BlendMode_kBlendMode_Divide_Kernel_param_7];
	ld.param.u32 	%r8, [BlendMode_kBlendMode_Divide_Kernel_param_8];
	ld.param.f32 	%f38, [BlendMode_kBlendMode_Divide_Kernel_param_9];
	cvta.to.global.u64 	%rd1, %rd9;
	cvta.to.global.u64 	%rd2, %rd8;
	cvta.to.global.u64 	%rd3, %rd7;
	mov.u32 	%r9, %ntid.x;
	mov.u32 	%r10, %ctaid.x;
	mov.u32 	%r11, %tid.x;
	mad.lo.s32 	%r1, %r9, %r10, %r11;
	mov.u32 	%r12, %ntid.y;
	mov.u32 	%r13, %ctaid.y;
	mov.u32 	%r14, %tid.y;
	mad.lo.s32 	%r2, %r12, %r13, %r14;
	setp.lt.s32	%p1, %r1, %r7;
	setp.lt.s32	%p2, %r2, %r8;
	and.pred  	%p3, %p1, %p2;
	@!%p3 bra 	BB55_13;
	bra.uni 	BB55_1;

BB55_1:
	mad.lo.s32 	%r15, %r2, %r3, %r1;
	cvt.s64.s32	%rd4, %r15;
	setp.eq.s32	%p4, %r6, 0;
	@%p4 bra 	BB55_3;

	shl.b64 	%rd10, %rd4, 4;
	add.s64 	%rd11, %rd3, %rd10;
	ld.global.v4.f32 	{%f39, %f40, %f41, %f42}, [%rd11];
	mov.f32 	%f91, %f42;
	mov.f32 	%f90, %f41;
	mov.f32 	%f89, %f40;
	mov.f32 	%f88, %f39;
	bra.uni 	BB55_4;

BB55_3:
	shl.b64 	%rd12, %rd4, 3;
	add.s64 	%rd13, %rd3, %rd12;
	ld.global.v4.u16 	{%rs1, %rs2, %rs3, %rs4}, [%rd13];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs1;
	cvt.f32.f16 	%f88, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs2;
	cvt.f32.f16 	%f89, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs3;
	cvt.f32.f16 	%f90, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs4;
	cvt.f32.f16 	%f91, %temp;
	}

BB55_4:
	mad.lo.s32 	%r16, %r2, %r4, %r1;
	cvt.s64.s32	%rd5, %r16;
	@%p4 bra 	BB55_6;

	shl.b64 	%rd14, %rd5, 4;
	add.s64 	%rd15, %rd2, %rd14;
	ld.global.v4.f32 	{%f43, %f44, %f45, %f46}, [%rd15];
	mov.f32 	%f95, %f46;
	mov.f32 	%f94, %f45;
	mov.f32 	%f93, %f44;
	mov.f32 	%f92, %f43;
	bra.uni 	BB55_7;

BB55_6:
	shl.b64 	%rd16, %rd5, 3;
	add.s64 	%rd17, %rd2, %rd16;
	ld.global.v4.u16 	{%rs9, %rs10, %rs11, %rs12}, [%rd17];
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs9;
	cvt.f32.f16 	%f92, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs10;
	cvt.f32.f16 	%f93, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs11;
	cvt.f32.f16 	%f94, %temp;
	}
	{
	.reg .b16 %temp;
	mov.b16 	%temp, %rs12;
	cvt.f32.f16 	%f95, %temp;
	}

BB55_7:
	mul.ftz.f32 	%f29, %f91, %f38;
	add.ftz.f32 	%f47, %f29, %f95;
	mul.ftz.f32 	%f48, %f29, %f95;
	sub.ftz.f32 	%f99, %f47, %f48;
	add.ftz.f32 	%f49, %f99, 0fB70637BD;
	setp.gtu.ftz.f32	%p6, %f49, 0f00000000;
	@%p6 bra 	BB55_9;

	mov.f32 	%f99, 0f00000000;
	mov.f32 	%f98, %f99;
	mov.f32 	%f97, %f99;
	mov.f32 	%f96, %f99;
	bra.uni 	BB55_10;

BB55_9:
	mov.f32 	%f54, 0f3F800000;
	div.approx.ftz.f32 	%f55, %f54, %f99;
	mul.ftz.f32 	%f56, %f29, %f55;
	sub.ftz.f32 	%f57, %f54, %f56;
	sub.ftz.f32 	%f58, %f54, %f95;
	mov.f32 	%f59, 0f33D6BF95;
	max.ftz.f32 	%f60, %f88, %f59;
	min.ftz.f32 	%f61, %f60, %f54;
	mov.f32 	%f62, 0f00000000;
	max.ftz.f32 	%f63, %f92, %f62;
	min.ftz.f32 	%f64, %f63, %f54;
	div.approx.ftz.f32 	%f65, %f64, %f61;
	cvt.ftz.sat.f32.f32	%f66, %f65;
	mul.ftz.f32 	%f67, %f95, %f66;
	fma.rn.ftz.f32 	%f68, %f58, %f88, %f67;
	mul.ftz.f32 	%f69, %f56, %f68;
	fma.rn.ftz.f32 	%f96, %f57, %f92, %f69;
	max.ftz.f32 	%f70, %f89, %f59;
	min.ftz.f32 	%f71, %f70, %f54;
	max.ftz.f32 	%f72, %f93, %f62;
	min.ftz.f32 	%f73, %f72, %f54;
	div.approx.ftz.f32 	%f74, %f73, %f71;
	cvt.ftz.sat.f32.f32	%f75, %f74;
	mul.ftz.f32 	%f76, %f95, %f75;
	fma.rn.ftz.f32 	%f77, %f58, %f89, %f76;
	mul.ftz.f32 	%f78, %f56, %f77;
	fma.rn.ftz.f32 	%f97, %f57, %f93, %f78;
	max.ftz.f32 	%f79, %f90, %f59;
	min.ftz.f32 	%f80, %f79, %f54;
	max.ftz.f32 	%f81, %f94, %f62;
	min.ftz.f32 	%f82, %f81, %f54;
	div.approx.ftz.f32 	%f83, %f82, %f80;
	cvt.ftz.sat.f32.f32	%f84, %f83;
	mul.ftz.f32 	%f85, %f95, %f84;
	fma.rn.ftz.f32 	%f86, %f58, %f90, %f85;
	mul.ftz.f32 	%f87, %f56, %f86;
	fma.rn.ftz.f32 	%f98, %f57, %f94, %f87;

BB55_10:
	mad.lo.s32 	%r17, %r2, %r5, %r1;
	cvt.s64.s32	%rd6, %r17;
	@%p4 bra 	BB55_12;

	shl.b64 	%rd18, %rd6, 4;
	add.s64 	%rd19, %rd1, %rd18;
	st.global.v4.f32 	[%rd19], {%f96, %f97, %f98, %f99};
	bra.uni 	BB55_13;

BB55_12:
	shl.b64 	%rd20, %rd6, 3;
	add.s64 	%rd21, %rd1, %rd20;
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f99;
	mov.b16 	%rs17, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f98;
	mov.b16 	%rs18, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f97;
	mov.b16 	%rs19, %temp;
}
	{
	.reg .b16 %temp;
	cvt.rn.ftz.f16.f32 	%temp, %f96;
	mov.b16 	%rs20, %temp;
}
	st.global.v4.u16 	[%rd21], {%rs20, %rs19, %rs18, %rs17};

BB55_13:
	ret;
}


