	.version 2.2
	.target sm_20
	// compiled with ../../../External/3rdParty/NVIDIA/CUDA/win/bin/../open64/lib//be.exe
	// nvopencc 3.2 built on 2010-11-04

	.visible .func (.param .f32 __cudaretf__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf) _Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf (.param .u64 __cudaparmf1__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .u64 __cudaparmf2__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .u64 __cudaparmf3__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .u64 __cudaparmf4__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .f32 __cudaparmf5__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf)

	.visible .func (.param .s32 __cudaretf__Z15IntegerMultiplyii) _Z15IntegerMultiplyii (.param .s32 __cudaparmf1__Z15IntegerMultiplyii, .param .s32 __cudaparmf2__Z15IntegerMultiplyii)

	.visible .func (.param .s32 __cudaretf__Z17Standard2DKernelXv) _Z17Standard2DKernelXv ()

	.visible .func (.param .s32 __cudaretf__Z17Standard2DKernelYv) _Z17Standard2DKernelYv ()

	.visible .func (.param .align 16 .b8 __cudaretf__Z13Half4ToFloat47ushort4[16]) _Z13Half4ToFloat47ushort4 (.param .align 8 .b8 __cudaparmf1__Z13Half4ToFloat47ushort4[8])

	.visible .func (.param .align 8 .b8 __cudaretf__Z13Float4ToHalf46float4[8]) _Z13Float4ToHalf46float4 (.param .align 16 .b8 __cudaparmf1__Z13Float4ToHalf46float4[16])

	.visible .func (.param .u32 __cudaretf__Z4Mix3RjS_S_) _Z4Mix3RjS_S_ (.param .u64 __cudaparmf1__Z4Mix3RjS_S_, .param .u64 __cudaparmf2__Z4Mix3RjS_S_, .param .u64 __cudaparmf3__Z4Mix3RjS_S_)

	.visible .func (.param .s32 __cudaretf__Z4Randj) _Z4Randj (.param .u32 __cudaparmf1__Z4Randj)

	.visible .func (.param .s32 __cudaretf__Z6Rand2Djjj) _Z6Rand2Djjj (.param .u32 __cudaparmf1__Z6Rand2Djjj, .param .u32 __cudaparmf2__Z6Rand2Djjj, .param .u32 __cudaparmf3__Z6Rand2Djjj)

	.visible .func (.param .s32 __cudaretf__Z6Rand2Dj) _Z6Rand2Dj (.param .u32 __cudaparmf1__Z6Rand2Dj)

	.visible .func (.param .align 8 .b8 __cudaretf__Z6Read2DI7ushort4ET_PKS1_iii[8]) _Z6Read2DI7ushort4ET_PKS1_iii (.param .u64 __cudaparmf1__Z6Read2DI7ushort4ET_PKS1_iii, .param .s32 __cudaparmf2__Z6Read2DI7ushort4ET_PKS1_iii, .param .s32 __cudaparmf3__Z6Read2DI7ushort4ET_PKS1_iii, .param .s32 __cudaparmf4__Z6Read2DI7ushort4ET_PKS1_iii)

	.visible .func (.param .align 16 .b8 __cudaretf__Z6Read2DI6float4ET_PKS1_iii[16]) _Z6Read2DI6float4ET_PKS1_iii (.param .u64 __cudaparmf1__Z6Read2DI6float4ET_PKS1_iii, .param .s32 __cudaparmf2__Z6Read2DI6float4ET_PKS1_iii, .param .s32 __cudaparmf3__Z6Read2DI6float4ET_PKS1_iii, .param .s32 __cudaparmf4__Z6Read2DI6float4ET_PKS1_iii)

	.visible .func _Z7Write2DI7ushort4EvT_PS1_iii (.param .align 8 .b8 __cudaparmf1__Z7Write2DI7ushort4EvT_PS1_iii[8], .param .u64 __cudaparmf2__Z7Write2DI7ushort4EvT_PS1_iii, .param .s32 __cudaparmf3__Z7Write2DI7ushort4EvT_PS1_iii, .param .s32 __cudaparmf4__Z7Write2DI7ushort4EvT_PS1_iii, .param .s32 __cudaparmf5__Z7Write2DI7ushort4EvT_PS1_iii)

	.visible .func _Z7Write2DI6float4EvT_PS1_iii (.param .align 16 .b8 __cudaparmf1__Z7Write2DI6float4EvT_PS1_iii[16], .param .u64 __cudaparmf2__Z7Write2DI6float4EvT_PS1_iii, .param .s32 __cudaparmf3__Z7Write2DI6float4EvT_PS1_iii, .param .s32 __cudaparmf4__Z7Write2DI6float4EvT_PS1_iii, .param .s32 __cudaparmf5__Z7Write2DI6float4EvT_PS1_iii)

	.visible .func (.param .align 16 .b8 __cudaretf__Z18UnpremultiplyPixel8PixelRGB[16]) _Z18UnpremultiplyPixel8PixelRGB (.param .align 16 .b8 __cudaparmf1__Z18UnpremultiplyPixel8PixelRGB[16])

	.visible .func (.param .f32 __cudaretf__Z13ToLinearColorf) _Z13ToLinearColorf (.param .f32 __cudaparmf1__Z13ToLinearColorf)

	.visible .func (.param .f32 __cudaretf__Z15FromLinearColorf) _Z15FromLinearColorf (.param .f32 __cudaparmf1__Z15FromLinearColorf)

	.visible .func (.param .align 16 .b8 __cudaretf__Z25PremultiplyLinearizePixel8PixelRGB[16]) _Z25PremultiplyLinearizePixel8PixelRGB (.param .align 16 .b8 __cudaparmf1__Z25PremultiplyLinearizePixel8PixelRGB[16])

	.visible .func (.param .align 16 .b8 __cudaretf__Z29UnpremultiplyUnlinearizePixel8PixelRGB[16]) _Z29UnpremultiplyUnlinearizePixel8PixelRGB (.param .align 16 .b8 __cudaparmf1__Z29UnpremultiplyUnlinearizePixel8PixelRGB[16])

	.visible .func (.param .align 16 .b8 __cudaretf__Z20PremultiplyLinearize6float4[16]) _Z20PremultiplyLinearize6float4 (.param .align 16 .b8 __cudaparmf1__Z20PremultiplyLinearize6float4[16])

	.visible .func (.param .align 16 .b8 __cudaretf__Z24UnpremultiplyUnlinearize6float4[16]) _Z24UnpremultiplyUnlinearize6float4 (.param .align 16 .b8 __cudaparmf1__Z24UnpremultiplyUnlinearize6float4[16])

	.visible .func (.param .align 16 .b8 __cudaretf__Z18SwapComponentOrderI6float4ET_RKS1_[16]) _Z18SwapComponentOrderI6float4ET_RKS1_ (.param .u64 __cudaparmf1__Z18SwapComponentOrderI6float4ET_RKS1_)

	.visible .func (.param .f32 __cudaretf__Z13CalculateLumaff) _Z13CalculateLumaff (.param .f32 __cudaparmf1__Z13CalculateLumaff, .param .f32 __cudaparmf2__Z13CalculateLumaff)

	.visible .func (.param .f32 __cudaretf__Z4LERPIfET_S0_S0_S0_) _Z4LERPIfET_S0_S0_S0_ (.param .f32 __cudaparmf1__Z4LERPIfET_S0_S0_S0_, .param .f32 __cudaparmf2__Z4LERPIfET_S0_S0_S0_, .param .f32 __cudaparmf3__Z4LERPIfET_S0_S0_S0_)

	.visible .func (.param .f32 __cudaretf__Z6Read2DIfET_PKS0_iii) _Z6Read2DIfET_PKS0_iii (.param .u64 __cudaparmf1__Z6Read2DIfET_PKS0_iii, .param .s32 __cudaparmf2__Z6Read2DIfET_PKS0_iii, .param .s32 __cudaparmf3__Z6Read2DIfET_PKS0_iii, .param .s32 __cudaparmf4__Z6Read2DIfET_PKS0_iii)

	//-----------------------------------------------------------
	// Compiling C:/Users/dvaeng/AppData/Local/Temp/tmpxft_00003b48_00000000-11_LumaCurve.cpp3.i (C:/Users/dvaeng/AppData/Local/Temp/ccBI#.a15076)
	//-----------------------------------------------------------

	//-----------------------------------------------------------
	// Options:
	//-----------------------------------------------------------
	//  Target:ptx, ISA:sm_20, Endian:little, Pointer Size:64
	//  -O3	(Optimization level)
	//  -g0	(Debug level)
	//  -m2	(Report advisories)
	//-----------------------------------------------------------

	.file	1	"C:/Users/dvaeng/AppData/Local/Temp/tmpxft_00003b48_00000000-10_LumaCurve.cudafe2.gpu"
	.file	2	"c:\Mulder64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/PixelFormat.h"
	.file	3	"c:\Mulder64\shared\adobe\MediaCore\Display\Inc\CUDA/Effects/ColorCorrector_Curves.h"
	.file	4	"c:\Mulder64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/PixelRGB.h"
	.file	5	"c:\Mulder64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/PixelYUV.h"
	.file	6	"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h"
	.file	7	"c:\Mulder64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\include\crt/device_runtime.h"
	.file	8	"c:\Mulder64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\include\host_defines.h"
	.file	9	"c:\Mulder64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\include\builtin_types.h"
	.file	10	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\device_types.h"
	.file	11	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\driver_types.h"
	.file	12	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\surface_types.h"
	.file	13	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\texture_types.h"
	.file	14	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\vector_types.h"
	.file	15	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\builtin_types.h"
	.file	16	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\host_defines.h"
	.file	17	"c:\Mulder64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\include\device_launch_parameters.h"
	.file	18	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\crt\storage_class.h"
	.file	19	"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\time.h"
	.file	20	"c:\Mulder64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/Utils.h"
	.file	21	"c:\Mulder64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/VectorUtils.h"
	.file	22	"c:/Mulder64/shared/adobe/MediaCore/Display/Src/CUDA/Effects/LumaCurve.cu"
	.file	23	"c:\Mulder64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/Numeric.h"
	.file	24	"c:\Mulder64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\include\common_functions.h"
	.file	25	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\math_functions.h"
	.file	26	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\math_constants.h"
	.file	27	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\device_functions.h"
	.file	28	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\sm_11_atomic_functions.h"
	.file	29	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\sm_12_atomic_functions.h"
	.file	30	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\sm_13_double_functions.h"
	.file	31	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\sm_20_atomic_functions.h"
	.file	32	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\sm_20_intrinsics.h"
	.file	33	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\surface_functions.h"
	.file	34	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\texture_fetch_functions.h"
	.file	35	"c:\mulder64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\include\math_functions_dbl_ptx3.h"
	.file	36	"c:\Mulder64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/ColorSpaceConvert.h"


	.visible .func (.param .f32 __cudaretf__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf) _Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf (.param .u64 __cudaparmf1__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .u64 __cudaparmf2__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .u64 __cudaparmf3__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .u64 __cudaparmf4__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf, .param .f32 __cudaparmf5__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf)
	{
	.reg .u64 %rd<28>;
	.reg .f32 %f<33>;
	.reg .pred %p<6>;
	.loc	3	53	0
$LDWbegin__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf:
	ld.param.u64 	%rd1, [__cudaparmf1__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf];
	mov.s64 	%rd2, %rd1;
	ld.param.u64 	%rd3, [__cudaparmf2__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf];
	mov.s64 	%rd4, %rd3;
	ld.param.u64 	%rd5, [__cudaparmf3__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf];
	mov.s64 	%rd6, %rd5;
	ld.param.u64 	%rd7, [__cudaparmf4__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf];
	mov.s64 	%rd8, %rd7;
	ld.param.f32 	%f1, [__cudaparmf5__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf];
	mov.f32 	%f2, %f1;
	.loc	3	54	0
	mov.f32 	%f3, %f2;
	.loc	3	58	0
	sub.u64 	%rd9, %rd8, 1;
	mov.s64 	%rd10, %rd9;
	mov.u64 	%rd11, 1;
	setp.le.u64 	%p1, %rd9, %rd11;
	@%p1 bra 	$Lt_0_4866;
	mov.u64 	%rd12, 0;
$Lt_0_3330:
 //<loop> Loop body line 58
	add.u64 	%rd13, %rd10, %rd12;
	shr.u64 	%rd14, %rd13, 1;
	mul.lo.u64 	%rd15, %rd14, 4;
	add.u64 	%rd16, %rd2, %rd15;
	ld.f32 	%f4, [%rd16+0];
	setp.gt.ftz.f32 	%p2, %f4, %f2;
	@!%p2 bra 	$Lt_0_3842;
 //<loop> Part of loop body line 58, head labeled $Lt_0_3330
	.loc	3	67	0
	mov.s64 	%rd10, %rd14;
	bra.uni 	$Lt_0_3586;
$Lt_0_3842:
 //<loop> Part of loop body line 58, head labeled $Lt_0_3330
	.loc	3	71	0
	mov.s64 	%rd12, %rd14;
$Lt_0_3586:
 //<loop> Part of loop body line 58, head labeled $Lt_0_3330
	sub.u64 	%rd17, %rd10, %rd12;
	mov.u64 	%rd18, 1;
	setp.gt.u64 	%p3, %rd17, %rd18;
	@%p3 bra 	$Lt_0_3330;
	bra.uni 	$Lt_0_2818;
$Lt_0_4866:
	mov.u64 	%rd12, 0;
$Lt_0_2818:
	.loc	3	75	0
	mul.lo.u64 	%rd19, %rd10, 4;
	mul.lo.u64 	%rd20, %rd12, 4;
	add.u64 	%rd21, %rd19, %rd2;
	add.u64 	%rd22, %rd20, %rd2;
	ld.f32 	%f5, [%rd21+0];
	ld.f32 	%f6, [%rd22+0];
	sub.ftz.f32 	%f7, %f5, %f6;
	mov.f32 	%f8, 0f00000000;     	// 0
	setp.neu.ftz.f32 	%p4, %f7, %f8;
	@!%p4 bra 	$Lt_0_4354;
	.loc	3	78	0
	sub.ftz.f32 	%f9, %f5, %f2;
	.loc	3	79	0
	sub.ftz.f32 	%f10, %f2, %f6;
	.loc	3	80	0
	div.approx.ftz.f32 	%f11, %f10, %f7;
	div.approx.ftz.f32 	%f12, %f9, %f7;
	add.u64 	%rd23, %rd19, %rd6;
	ld.f32 	%f13, [%rd23+0];
	mul.ftz.f32 	%f14, %f11, %f11;
	mul.ftz.f32 	%f15, %f11, %f14;
	sub.ftz.f32 	%f16, %f15, %f11;
	mul.ftz.f32 	%f17, %f13, %f16;
	add.u64 	%rd24, %rd20, %rd6;
	ld.f32 	%f18, [%rd24+0];
	mul.ftz.f32 	%f19, %f12, %f12;
	mul.ftz.f32 	%f20, %f12, %f19;
	sub.ftz.f32 	%f21, %f20, %f12;
	fma.rn.ftz.f32 	%f22, %f18, %f21, %f17;
	mul.ftz.f32 	%f23, %f7, %f7;
	mul.ftz.f32 	%f24, %f22, %f23;
	mov.f32 	%f25, 0f40c00000;    	// 6
	div.approx.ftz.f32 	%f26, %f24, %f25;
	add.u64 	%rd25, %rd19, %rd4;
	ld.f32 	%f27, [%rd25+0];
	mul.ftz.f32 	%f28, %f27, %f11;
	add.u64 	%rd26, %rd20, %rd4;
	ld.f32 	%f29, [%rd26+0];
	fma.rn.ftz.f32 	%f30, %f29, %f12, %f28;
	add.ftz.f32 	%f3, %f26, %f30;
$Lt_0_4354:
	.loc	3	83	0
	mov.f32 	%f31, %f3;
	st.param.f32 	[__cudaretf__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf], %f31;
	ret;
$LDWend__Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf:
	} // _Z31InterpolateNaturalCubicSpline2DPKfS0_S0_yf

	.visible .func (.param .s32 __cudaretf__Z15IntegerMultiplyii) _Z15IntegerMultiplyii (.param .s32 __cudaparmf1__Z15IntegerMultiplyii, .param .s32 __cudaparmf2__Z15IntegerMultiplyii)
	{
	.reg .u32 %r<7>;
	.loc	20	60	0
$LDWbegin__Z15IntegerMultiplyii:
	ld.param.u32 	%r1, [__cudaparmf1__Z15IntegerMultiplyii];
	mov.s32 	%r2, %r1;
	ld.param.u32 	%r3, [__cudaparmf2__Z15IntegerMultiplyii];
	mov.s32 	%r4, %r3;
	.loc	20	64	0
	mul.lo.s32 	%r5, %r2, %r4;
	st.param.s32 	[__cudaretf__Z15IntegerMultiplyii], %r5;
	ret;
$LDWend__Z15IntegerMultiplyii:
	} // _Z15IntegerMultiplyii

	.visible .func (.param .s32 __cudaretf__Z17Standard2DKernelXv) _Z17Standard2DKernelXv ()
	{
	.reg .u32 %r<7>;
	.loc	20	73	0
$LDWbegin__Z17Standard2DKernelXv:
	.loc	20	74	0
	mov.u32 	%r1, %tid.x;
	cvt.s32.u32 	%r2, %ctaid.x;
	cvt.s32.u32 	%r3, %ntid.x;
	mul.lo.s32 	%r4, %r2, %r3;
	add.u32 	%r5, %r1, %r4;
	st.param.s32 	[__cudaretf__Z17Standard2DKernelXv], %r5;
	ret;
$LDWend__Z17Standard2DKernelXv:
	} // _Z17Standard2DKernelXv

	.visible .func (.param .s32 __cudaretf__Z17Standard2DKernelYv) _Z17Standard2DKernelYv ()
	{
	.reg .u32 %r<7>;
	.loc	20	77	0
$LDWbegin__Z17Standard2DKernelYv:
	.loc	20	78	0
	mov.u32 	%r1, %tid.y;
	cvt.s32.u32 	%r2, %ctaid.y;
	cvt.s32.u32 	%r3, %ntid.y;
	mul.lo.s32 	%r4, %r2, %r3;
	add.u32 	%r5, %r1, %r4;
	st.param.s32 	[__cudaretf__Z17Standard2DKernelYv], %r5;
	ret;
$LDWend__Z17Standard2DKernelYv:
	} // _Z17Standard2DKernelYv

	.visible .func (.param .align 16 .b8 __cudaretf__Z13Half4ToFloat47ushort4[16]) _Z13Half4ToFloat47ushort4 (.param .align 8 .b8 __cudaparmf1__Z13Half4ToFloat47ushort4[8])
	{
	.reg .u32 %r<14>;
	.reg .f32 %f<9>;
	.loc	20	86	0
$LDWbegin__Z13Half4ToFloat47ushort4:
	ld.param.u16 	%r1, [__cudaparmf1__Z13Half4ToFloat47ushort4+0];
	mov.s32 	%r2, %r1;
	ld.param.u16 	%r3, [__cudaparmf1__Z13Half4ToFloat47ushort4+2];
	mov.s32 	%r4, %r3;
	ld.param.u16 	%r5, [__cudaparmf1__Z13Half4ToFloat47ushort4+4];
	mov.s32 	%r6, %r5;
	ld.param.u16 	%r7, [__cudaparmf1__Z13Half4ToFloat47ushort4+6];
	mov.s32 	%r8, %r7;
	.loc	20	87	0
	cvt.u16.u32 	%r9, %r4;
	{ .reg .b32 %b1;
	mov.b32		%b1, %r9;
	cvt.ftz.f32.f16	%f1, %b1; }
	cvt.u16.u32 	%r10, %r6;
	{ .reg .b32 %b1;
	mov.b32		%b1, %r10;
	cvt.ftz.f32.f16	%f2, %b1; }
	cvt.u16.u32 	%r11, %r8;
	{ .reg .b32 %b1;
	mov.b32		%b1, %r11;
	cvt.ftz.f32.f16	%f3, %b1; }
	cvt.u16.u32 	%r12, %r2;
	{ .reg .b32 %b1;
	mov.b32		%b1, %r12;
	cvt.ftz.f32.f16	%f4, %b1; }
	st.param.f32 	[__cudaretf__Z13Half4ToFloat47ushort4+0], %f4;
	mov.f32 	%f5, %f1;
	st.param.f32 	[__cudaretf__Z13Half4ToFloat47ushort4+4], %f5;
	mov.f32 	%f6, %f2;
	st.param.f32 	[__cudaretf__Z13Half4ToFloat47ushort4+8], %f6;
	mov.f32 	%f7, %f3;
	st.param.f32 	[__cudaretf__Z13Half4ToFloat47ushort4+12], %f7;
	ret;
$LDWend__Z13Half4ToFloat47ushort4:
	} // _Z13Half4ToFloat47ushort4

	.visible .func (.param .align 8 .b8 __cudaretf__Z13Float4ToHalf46float4[8]) _Z13Float4ToHalf46float4 (.param .align 16 .b8 __cudaparmf1__Z13Float4ToHalf46float4[16])
	{
	.reg .u32 %r<13>;
	.reg .f32 %f<10>;
	.loc	20	95	0
$LDWbegin__Z13Float4ToHalf46float4:
	ld.param.f32 	%f1, [__cudaparmf1__Z13Float4ToHalf46float4+0];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf1__Z13Float4ToHalf46float4+4];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf1__Z13Float4ToHalf46float4+8];
	mov.f32 	%f6, %f5;
	ld.param.f32 	%f7, [__cudaparmf1__Z13Float4ToHalf46float4+12];
	mov.f32 	%f8, %f7;
	.loc	20	96	0
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f4;
	mov.b32		%r1, %b1; }
	cvt.u16.u32 	%r2, %r1;
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f6;
	mov.b32		%r3, %b1; }
	cvt.u16.u32 	%r4, %r3;
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f8;
	mov.b32		%r5, %b1; }
	cvt.u16.u32 	%r6, %r5;
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f2;
	mov.b32		%r7, %b1; }
	cvt.u16.u32 	%r8, %r7;
	st.param.u16 	[__cudaretf__Z13Float4ToHalf46float4+0], %r8;
	mov.s32 	%r9, %r2;
	st.param.u16 	[__cudaretf__Z13Float4ToHalf46float4+2], %r9;
	mov.s32 	%r10, %r4;
	st.param.u16 	[__cudaretf__Z13Float4ToHalf46float4+4], %r10;
	mov.s32 	%r11, %r6;
	st.param.u16 	[__cudaretf__Z13Float4ToHalf46float4+6], %r11;
	ret;
$LDWend__Z13Float4ToHalf46float4:
	} // _Z13Float4ToHalf46float4

	.visible .func (.param .u32 __cudaretf__Z4Mix3RjS_S_) _Z4Mix3RjS_S_ (.param .u64 __cudaparmf1__Z4Mix3RjS_S_, .param .u64 __cudaparmf2__Z4Mix3RjS_S_, .param .u64 __cudaparmf3__Z4Mix3RjS_S_)
	{
	.reg .u32 %r<75>;
	.reg .u64 %rd<8>;
	.loc	20	138	0
$LDWbegin__Z4Mix3RjS_S_:
	ld.param.u64 	%rd1, [__cudaparmf1__Z4Mix3RjS_S_];
	mov.s64 	%rd2, %rd1;
	ld.param.u64 	%rd3, [__cudaparmf2__Z4Mix3RjS_S_];
	mov.s64 	%rd4, %rd3;
	ld.param.u64 	%rd5, [__cudaparmf3__Z4Mix3RjS_S_];
	mov.s64 	%rd6, %rd5;
	.loc	20	139	0
	ld.u32 	%r1, [%rd2+0];
	ld.u32 	%r2, [%rd4+0];
	sub.u32 	%r3, %r1, %r2;
	st.u32 	[%rd2+0], %r3;
	ld.u32 	%r4, [%rd6+0];
	sub.u32 	%r5, %r3, %r4;
	st.u32 	[%rd2+0], %r5;
	ld.u32 	%r6, [%rd6+0];
	shr.u32 	%r7, %r6, 13;
	xor.b32 	%r8, %r5, %r7;
	st.u32 	[%rd2+0], %r8;
	.loc	20	140	0
	ld.u32 	%r9, [%rd4+0];
	ld.u32 	%r10, [%rd6+0];
	sub.u32 	%r11, %r9, %r10;
	st.u32 	[%rd4+0], %r11;
	ld.u32 	%r12, [%rd2+0];
	sub.u32 	%r13, %r11, %r12;
	st.u32 	[%rd4+0], %r13;
	ld.u32 	%r14, [%rd2+0];
	shl.b32 	%r15, %r14, 8;
	xor.b32 	%r16, %r13, %r15;
	st.u32 	[%rd4+0], %r16;
	.loc	20	141	0
	ld.u32 	%r17, [%rd6+0];
	ld.u32 	%r18, [%rd2+0];
	sub.u32 	%r19, %r17, %r18;
	st.u32 	[%rd6+0], %r19;
	ld.u32 	%r20, [%rd4+0];
	sub.u32 	%r21, %r19, %r20;
	st.u32 	[%rd6+0], %r21;
	ld.u32 	%r22, [%rd4+0];
	shr.u32 	%r23, %r22, 13;
	xor.b32 	%r24, %r21, %r23;
	st.u32 	[%rd6+0], %r24;
	.loc	20	142	0
	ld.u32 	%r25, [%rd2+0];
	ld.u32 	%r26, [%rd4+0];
	sub.u32 	%r27, %r25, %r26;
	st.u32 	[%rd2+0], %r27;
	ld.u32 	%r28, [%rd6+0];
	sub.u32 	%r29, %r27, %r28;
	st.u32 	[%rd2+0], %r29;
	ld.u32 	%r30, [%rd6+0];
	shr.u32 	%r31, %r30, 12;
	xor.b32 	%r32, %r29, %r31;
	st.u32 	[%rd2+0], %r32;
	.loc	20	143	0
	ld.u32 	%r33, [%rd4+0];
	ld.u32 	%r34, [%rd6+0];
	sub.u32 	%r35, %r33, %r34;
	st.u32 	[%rd4+0], %r35;
	ld.u32 	%r36, [%rd2+0];
	sub.u32 	%r37, %r35, %r36;
	st.u32 	[%rd4+0], %r37;
	ld.u32 	%r38, [%rd2+0];
	shl.b32 	%r39, %r38, 16;
	xor.b32 	%r40, %r37, %r39;
	st.u32 	[%rd4+0], %r40;
	.loc	20	144	0
	ld.u32 	%r41, [%rd6+0];
	ld.u32 	%r42, [%rd2+0];
	sub.u32 	%r43, %r41, %r42;
	st.u32 	[%rd6+0], %r43;
	ld.u32 	%r44, [%rd4+0];
	sub.u32 	%r45, %r43, %r44;
	st.u32 	[%rd6+0], %r45;
	ld.u32 	%r46, [%rd4+0];
	shr.u32 	%r47, %r46, 5;
	xor.b32 	%r48, %r45, %r47;
	st.u32 	[%rd6+0], %r48;
	.loc	20	145	0
	ld.u32 	%r49, [%rd2+0];
	ld.u32 	%r50, [%rd4+0];
	sub.u32 	%r51, %r49, %r50;
	st.u32 	[%rd2+0], %r51;
	ld.u32 	%r52, [%rd6+0];
	sub.u32 	%r53, %r51, %r52;
	st.u32 	[%rd2+0], %r53;
	ld.u32 	%r54, [%rd6+0];
	shr.u32 	%r55, %r54, 3;
	xor.b32 	%r56, %r53, %r55;
	st.u32 	[%rd2+0], %r56;
	.loc	20	146	0
	ld.u32 	%r57, [%rd4+0];
	ld.u32 	%r58, [%rd6+0];
	sub.u32 	%r59, %r57, %r58;
	st.u32 	[%rd4+0], %r59;
	ld.u32 	%r60, [%rd2+0];
	sub.u32 	%r61, %r59, %r60;
	st.u32 	[%rd4+0], %r61;
	ld.u32 	%r62, [%rd2+0];
	shl.b32 	%r63, %r62, 10;
	xor.b32 	%r64, %r61, %r63;
	st.u32 	[%rd4+0], %r64;
	.loc	20	147	0
	ld.u32 	%r65, [%rd6+0];
	ld.u32 	%r66, [%rd2+0];
	sub.u32 	%r67, %r65, %r66;
	st.u32 	[%rd6+0], %r67;
	ld.u32 	%r68, [%rd4+0];
	sub.u32 	%r69, %r67, %r68;
	st.u32 	[%rd6+0], %r69;
	ld.u32 	%r70, [%rd4+0];
	shr.u32 	%r71, %r70, 15;
	xor.b32 	%r72, %r69, %r71;
	st.u32 	[%rd6+0], %r72;
	.loc	20	148	0
	mov.s32 	%r73, %r72;
	st.param.u32 	[__cudaretf__Z4Mix3RjS_S_], %r73;
	ret;
$LDWend__Z4Mix3RjS_S_:
	} // _Z4Mix3RjS_S_

	.visible .func (.param .s32 __cudaretf__Z4Randj) _Z4Randj (.param .u32 __cudaparmf1__Z4Randj)
	{
	.reg .u32 %r<14>;
	.loc	20	152	0
$LDWbegin__Z4Randj:
	ld.param.u32 	%r1, [__cudaparmf1__Z4Randj];
	mov.s32 	%r2, %r1;
	.loc	20	163	0
	mul.lo.u32 	%r3, %r2, 1103515245;
	add.u32 	%r4, %r3, 12345;
	shr.u32 	%r5, %r4, 16;
	and.b32 	%r6, %r5, 255;
	shl.b32 	%r7, %r6, 7;
	mul.lo.u32 	%r8, %r2, -1029531031;
	sub.u32 	%r9, %r8, 740551042;
	shr.u32 	%r10, %r9, 16;
	and.b32 	%r11, %r10, 255;
	xor.b32 	%r12, %r7, %r11;
	st.param.s32 	[__cudaretf__Z4Randj], %r12;
	ret;
$LDWend__Z4Randj:
	} // _Z4Randj

	.visible .func (.param .s32 __cudaretf__Z6Rand2Djjj) _Z6Rand2Djjj (.param .u32 __cudaparmf1__Z6Rand2Djjj, .param .u32 __cudaparmf2__Z6Rand2Djjj, .param .u32 __cudaparmf3__Z6Rand2Djjj)
	{
	.reg .u32 %r<54>;
	.loc	20	169	0
$LDWbegin__Z6Rand2Djjj:
	ld.param.u32 	%r1, [__cudaparmf1__Z6Rand2Djjj];
	mov.s32 	%r2, %r1;
	ld.param.u32 	%r3, [__cudaparmf2__Z6Rand2Djjj];
	mov.s32 	%r4, %r3;
	ld.param.u32 	%r5, [__cudaparmf3__Z6Rand2Djjj];
	mov.s32 	%r6, %r5;
	.loc	20	139	0
	sub.u32 	%r7, %r2, %r4;
	sub.u32 	%r8, %r7, %r6;
	shr.u32 	%r9, %r6, 13;
	xor.b32 	%r10, %r8, %r9;
	.loc	20	140	0
	sub.u32 	%r11, %r4, %r6;
	sub.u32 	%r12, %r11, %r10;
	shl.b32 	%r13, %r10, 8;
	xor.b32 	%r14, %r12, %r13;
	.loc	20	141	0
	sub.u32 	%r15, %r6, %r10;
	sub.u32 	%r16, %r15, %r14;
	shr.u32 	%r17, %r14, 13;
	xor.b32 	%r18, %r16, %r17;
	.loc	20	142	0
	sub.u32 	%r19, %r10, %r14;
	sub.u32 	%r20, %r19, %r18;
	shr.u32 	%r21, %r18, 12;
	xor.b32 	%r22, %r20, %r21;
	.loc	20	143	0
	sub.u32 	%r23, %r14, %r18;
	sub.u32 	%r24, %r23, %r22;
	shl.b32 	%r25, %r22, 16;
	xor.b32 	%r26, %r24, %r25;
	.loc	20	144	0
	sub.u32 	%r27, %r18, %r22;
	sub.u32 	%r28, %r27, %r26;
	shr.u32 	%r29, %r26, 5;
	xor.b32 	%r30, %r28, %r29;
	.loc	20	145	0
	sub.u32 	%r31, %r22, %r26;
	sub.u32 	%r32, %r31, %r30;
	shr.u32 	%r33, %r30, 3;
	xor.b32 	%r34, %r32, %r33;
	.loc	20	146	0
	sub.u32 	%r35, %r26, %r30;
	sub.u32 	%r36, %r35, %r34;
	shl.b32 	%r37, %r34, 10;
	xor.b32 	%r38, %r36, %r37;
	.loc	20	147	0
	sub.u32 	%r39, %r30, %r34;
	sub.u32 	%r40, %r39, %r38;
	shr.u32 	%r41, %r38, 15;
	xor.b32 	%r42, %r40, %r41;
	.loc	20	170	0
	mul.lo.u32 	%r43, %r42, 1103515245;
	add.u32 	%r44, %r43, 12345;
	shr.u32 	%r45, %r44, 16;
	and.b32 	%r46, %r45, 255;
	shl.b32 	%r47, %r46, 7;
	mul.lo.u32 	%r48, %r42, -1029531031;
	sub.u32 	%r49, %r48, 740551042;
	shr.u32 	%r50, %r49, 16;
	and.b32 	%r51, %r50, 255;
	xor.b32 	%r52, %r47, %r51;
	st.param.s32 	[__cudaretf__Z6Rand2Djjj], %r52;
	ret;
$LDWend__Z6Rand2Djjj:
	} // _Z6Rand2Djjj

	.visible .func (.param .s32 __cudaretf__Z6Rand2Dj) _Z6Rand2Dj (.param .u32 __cudaparmf1__Z6Rand2Dj)
	{
	.reg .u32 %r<60>;
	.loc	20	175	0
$LDWbegin__Z6Rand2Dj:
	ld.param.u32 	%r1, [__cudaparmf1__Z6Rand2Dj];
	mov.s32 	%r2, %r1;
	.loc	20	143	0
	cvt.s32.u32 	%r3, %ctaid.y;
	cvt.s32.u32 	%r4, %ntid.y;
	mul.lo.s32 	%r5, %r3, %r4;
	cvt.s32.u32 	%r6, %ctaid.x;
	cvt.s32.u32 	%r7, %ntid.x;
	mul.lo.s32 	%r8, %r6, %r7;
	mov.u32 	%r9, %tid.y;
	add.u32 	%r10, %r5, %r9;
	mov.u32 	%r11, %tid.x;
	add.u32 	%r12, %r8, %r11;
	shr.u32 	%r13, %r10, 13;
	sub.u32 	%r14, %r2, %r12;
	sub.u32 	%r15, %r12, %r10;
	sub.u32 	%r16, %r14, %r10;
	xor.b32 	%r17, %r13, %r16;
	shl.b32 	%r18, %r17, 8;
	sub.u32 	%r19, %r15, %r17;
	sub.u32 	%r20, %r10, %r17;
	xor.b32 	%r21, %r18, %r19;
	shr.u32 	%r22, %r21, 13;
	sub.u32 	%r23, %r20, %r21;
	sub.u32 	%r24, %r17, %r21;
	xor.b32 	%r25, %r22, %r23;
	shr.u32 	%r26, %r25, 12;
	sub.u32 	%r27, %r24, %r25;
	xor.b32 	%r28, %r26, %r27;
	sub.u32 	%r29, %r21, %r25;
	sub.u32 	%r30, %r29, %r28;
	shl.b32 	%r31, %r28, 16;
	xor.b32 	%r32, %r30, %r31;
	.loc	20	144	0
	sub.u32 	%r33, %r25, %r28;
	sub.u32 	%r34, %r33, %r32;
	shr.u32 	%r35, %r32, 5;
	xor.b32 	%r36, %r34, %r35;
	.loc	20	145	0
	sub.u32 	%r37, %r28, %r32;
	sub.u32 	%r38, %r37, %r36;
	shr.u32 	%r39, %r36, 3;
	xor.b32 	%r40, %r38, %r39;
	.loc	20	146	0
	sub.u32 	%r41, %r32, %r36;
	sub.u32 	%r42, %r41, %r40;
	shl.b32 	%r43, %r40, 10;
	xor.b32 	%r44, %r42, %r43;
	.loc	20	147	0
	sub.u32 	%r45, %r36, %r40;
	sub.u32 	%r46, %r45, %r44;
	shr.u32 	%r47, %r44, 15;
	xor.b32 	%r48, %r46, %r47;
	.loc	20	176	0
	mul.lo.u32 	%r49, %r48, 1103515245;
	add.u32 	%r50, %r49, 12345;
	shr.u32 	%r51, %r50, 16;
	and.b32 	%r52, %r51, 255;
	shl.b32 	%r53, %r52, 7;
	mul.lo.u32 	%r54, %r48, -1029531031;
	sub.u32 	%r55, %r54, 740551042;
	shr.u32 	%r56, %r55, 16;
	and.b32 	%r57, %r56, 255;
	xor.b32 	%r58, %r53, %r57;
	st.param.s32 	[__cudaretf__Z6Rand2Dj], %r58;
	ret;
$LDWend__Z6Rand2Dj:
	} // _Z6Rand2Dj

	.visible .func (.param .align 8 .b8 __cudaretf__Z6Read2DI7ushort4ET_PKS1_iii[8]) _Z6Read2DI7ushort4ET_PKS1_iii (.param .u64 __cudaparmf1__Z6Read2DI7ushort4ET_PKS1_iii, .param .s32 __cudaparmf2__Z6Read2DI7ushort4ET_PKS1_iii, .param .s32 __cudaparmf3__Z6Read2DI7ushort4ET_PKS1_iii, .param .s32 __cudaparmf4__Z6Read2DI7ushort4ET_PKS1_iii)
	{
	.reg .u32 %r<14>;
	.reg .u64 %rd<7>;
	.loc	20	114	0
$LDWbegin__Z6Read2DI7ushort4ET_PKS1_iii:
	ld.param.u64 	%rd1, [__cudaparmf1__Z6Read2DI7ushort4ET_PKS1_iii];
	mov.s64 	%rd2, %rd1;
	ld.param.u32 	%r1, [__cudaparmf2__Z6Read2DI7ushort4ET_PKS1_iii];
	mov.s32 	%r2, %r1;
	ld.param.u32 	%r3, [__cudaparmf3__Z6Read2DI7ushort4ET_PKS1_iii];
	mov.s32 	%r4, %r3;
	ld.param.u32 	%r5, [__cudaparmf4__Z6Read2DI7ushort4ET_PKS1_iii];
	mov.s32 	%r6, %r5;
	.loc	20	115	0
	mul.lo.s32 	%r7, %r2, %r6;
	add.s32 	%r8, %r4, %r7;
	cvt.s64.s32 	%rd3, %r8;
	mul.wide.s32 	%rd4, %r8, 8;
	add.u64 	%rd5, %rd2, %rd4;
	ld.v4.u16 	{%r9,%r10,%r11,%r12}, [%rd5+0];
	st.param.u16 	[__cudaretf__Z6Read2DI7ushort4ET_PKS1_iii+0], %r9;
	st.param.u16 	[__cudaretf__Z6Read2DI7ushort4ET_PKS1_iii+2], %r10;
	st.param.u16 	[__cudaretf__Z6Read2DI7ushort4ET_PKS1_iii+4], %r11;
	st.param.u16 	[__cudaretf__Z6Read2DI7ushort4ET_PKS1_iii+6], %r12;
	ret;
$LDWend__Z6Read2DI7ushort4ET_PKS1_iii:
	} // _Z6Read2DI7ushort4ET_PKS1_iii

	.visible .func (.param .align 16 .b8 __cudaretf__Z6Read2DI6float4ET_PKS1_iii[16]) _Z6Read2DI6float4ET_PKS1_iii (.param .u64 __cudaparmf1__Z6Read2DI6float4ET_PKS1_iii, .param .s32 __cudaparmf2__Z6Read2DI6float4ET_PKS1_iii, .param .s32 __cudaparmf3__Z6Read2DI6float4ET_PKS1_iii, .param .s32 __cudaparmf4__Z6Read2DI6float4ET_PKS1_iii)
	{
	.reg .u32 %r<10>;
	.reg .u64 %rd<7>;
	.reg .f32 %f<6>;
	.loc	20	114	0
$LDWbegin__Z6Read2DI6float4ET_PKS1_iii:
	ld.param.u64 	%rd1, [__cudaparmf1__Z6Read2DI6float4ET_PKS1_iii];
	mov.s64 	%rd2, %rd1;
	ld.param.u32 	%r1, [__cudaparmf2__Z6Read2DI6float4ET_PKS1_iii];
	mov.s32 	%r2, %r1;
	ld.param.u32 	%r3, [__cudaparmf3__Z6Read2DI6float4ET_PKS1_iii];
	mov.s32 	%r4, %r3;
	ld.param.u32 	%r5, [__cudaparmf4__Z6Read2DI6float4ET_PKS1_iii];
	mov.s32 	%r6, %r5;
	.loc	20	115	0
	mul.lo.s32 	%r7, %r2, %r6;
	add.s32 	%r8, %r4, %r7;
	cvt.s64.s32 	%rd3, %r8;
	mul.wide.s32 	%rd4, %r8, 16;
	add.u64 	%rd5, %rd2, %rd4;
	ld.v4.f32 	{%f1,%f2,%f3,%f4}, [%rd5+0];
	st.param.f32 	[__cudaretf__Z6Read2DI6float4ET_PKS1_iii+0], %f1;
	st.param.f32 	[__cudaretf__Z6Read2DI6float4ET_PKS1_iii+4], %f2;
	st.param.f32 	[__cudaretf__Z6Read2DI6float4ET_PKS1_iii+8], %f3;
	st.param.f32 	[__cudaretf__Z6Read2DI6float4ET_PKS1_iii+12], %f4;
	ret;
$LDWend__Z6Read2DI6float4ET_PKS1_iii:
	} // _Z6Read2DI6float4ET_PKS1_iii

	.visible .func _Z7Write2DI7ushort4EvT_PS1_iii (.param .align 8 .b8 __cudaparmf1__Z7Write2DI7ushort4EvT_PS1_iii[8], .param .u64 __cudaparmf2__Z7Write2DI7ushort4EvT_PS1_iii, .param .s32 __cudaparmf3__Z7Write2DI7ushort4EvT_PS1_iii, .param .s32 __cudaparmf4__Z7Write2DI7ushort4EvT_PS1_iii, .param .s32 __cudaparmf5__Z7Write2DI7ushort4EvT_PS1_iii)
	{
	.reg .u32 %r<18>;
	.reg .u64 %rd<7>;
	.loc	20	125	0
$LDWbegin__Z7Write2DI7ushort4EvT_PS1_iii:
	ld.param.u16 	%r1, [__cudaparmf1__Z7Write2DI7ushort4EvT_PS1_iii+0];
	mov.s32 	%r2, %r1;
	ld.param.u16 	%r3, [__cudaparmf1__Z7Write2DI7ushort4EvT_PS1_iii+2];
	mov.s32 	%r4, %r3;
	ld.param.u16 	%r5, [__cudaparmf1__Z7Write2DI7ushort4EvT_PS1_iii+4];
	mov.s32 	%r6, %r5;
	ld.param.u16 	%r7, [__cudaparmf1__Z7Write2DI7ushort4EvT_PS1_iii+6];
	mov.s32 	%r8, %r7;
	ld.param.u64 	%rd1, [__cudaparmf2__Z7Write2DI7ushort4EvT_PS1_iii];
	mov.s64 	%rd2, %rd1;
	ld.param.u32 	%r9, [__cudaparmf3__Z7Write2DI7ushort4EvT_PS1_iii];
	mov.s32 	%r10, %r9;
	ld.param.u32 	%r11, [__cudaparmf4__Z7Write2DI7ushort4EvT_PS1_iii];
	mov.s32 	%r12, %r11;
	ld.param.u32 	%r13, [__cudaparmf5__Z7Write2DI7ushort4EvT_PS1_iii];
	mov.s32 	%r14, %r13;
	.loc	20	126	0
	mul.lo.s32 	%r15, %r10, %r14;
	add.s32 	%r16, %r12, %r15;
	cvt.s64.s32 	%rd3, %r16;
	mul.wide.s32 	%rd4, %r16, 8;
	add.u64 	%rd5, %rd2, %rd4;
	st.v4.u16 	[%rd5+0], {%r2,%r4,%r6,%r8};
	.loc	20	127	0
	ret;
$LDWend__Z7Write2DI7ushort4EvT_PS1_iii:
	} // _Z7Write2DI7ushort4EvT_PS1_iii

	.visible .func _Z7Write2DI6float4EvT_PS1_iii (.param .align 16 .b8 __cudaparmf1__Z7Write2DI6float4EvT_PS1_iii[16], .param .u64 __cudaparmf2__Z7Write2DI6float4EvT_PS1_iii, .param .s32 __cudaparmf3__Z7Write2DI6float4EvT_PS1_iii, .param .s32 __cudaparmf4__Z7Write2DI6float4EvT_PS1_iii, .param .s32 __cudaparmf5__Z7Write2DI6float4EvT_PS1_iii)
	{
	.reg .u32 %r<10>;
	.reg .u64 %rd<7>;
	.reg .f32 %f<10>;
	.loc	20	125	0
$LDWbegin__Z7Write2DI6float4EvT_PS1_iii:
	ld.param.f32 	%f1, [__cudaparmf1__Z7Write2DI6float4EvT_PS1_iii+0];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf1__Z7Write2DI6float4EvT_PS1_iii+4];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf1__Z7Write2DI6float4EvT_PS1_iii+8];
	mov.f32 	%f6, %f5;
	ld.param.f32 	%f7, [__cudaparmf1__Z7Write2DI6float4EvT_PS1_iii+12];
	mov.f32 	%f8, %f7;
	ld.param.u64 	%rd1, [__cudaparmf2__Z7Write2DI6float4EvT_PS1_iii];
	mov.s64 	%rd2, %rd1;
	ld.param.u32 	%r1, [__cudaparmf3__Z7Write2DI6float4EvT_PS1_iii];
	mov.s32 	%r2, %r1;
	ld.param.u32 	%r3, [__cudaparmf4__Z7Write2DI6float4EvT_PS1_iii];
	mov.s32 	%r4, %r3;
	ld.param.u32 	%r5, [__cudaparmf5__Z7Write2DI6float4EvT_PS1_iii];
	mov.s32 	%r6, %r5;
	.loc	20	126	0
	mul.lo.s32 	%r7, %r2, %r6;
	add.s32 	%r8, %r4, %r7;
	cvt.s64.s32 	%rd3, %r8;
	mul.wide.s32 	%rd4, %r8, 16;
	add.u64 	%rd5, %rd2, %rd4;
	st.v4.f32 	[%rd5+0], {%f2,%f4,%f6,%f8};
	.loc	20	127	0
	ret;
$LDWend__Z7Write2DI6float4EvT_PS1_iii:
	} // _Z7Write2DI6float4EvT_PS1_iii

	.visible .func (.param .align 16 .b8 __cudaretf__Z18UnpremultiplyPixel8PixelRGB[16]) _Z18UnpremultiplyPixel8PixelRGB (.param .align 16 .b8 __cudaparmf1__Z18UnpremultiplyPixel8PixelRGB[16])
	{
	.reg .f32 %f<23>;
	.reg .pred %p<3>;
	.loc	4	206	0
$LDWbegin__Z18UnpremultiplyPixel8PixelRGB:
	ld.param.f32 	%f1, [__cudaparmf1__Z18UnpremultiplyPixel8PixelRGB+0];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf1__Z18UnpremultiplyPixel8PixelRGB+4];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf1__Z18UnpremultiplyPixel8PixelRGB+8];
	mov.f32 	%f6, %f5;
	ld.param.f32 	%f7, [__cudaparmf1__Z18UnpremultiplyPixel8PixelRGB+12];
	mov.f32 	%f8, %f7;
	.loc	4	208	0
	cvt.ftz.sat.f32.f32 	%f9, %f8;
	mov.f32 	%f10, %f9;
	mov.f32 	%f11, 0fb70637bd;    	// -8e-006
	add.ftz.f32 	%f12, %f9, %f11;
	mov.f32 	%f13, 0f00000000;    	// 0
	setp.le.ftz.f32 	%p1, %f12, %f13;
	@%p1 bra 	$Lt_14_1282;
	.loc	4	213	0
	rcp.approx.ftz.f32 	%f14, %f9;
	mul.ftz.f32 	%f15, %f14, %f6;
	.loc	4	214	0
	mul.ftz.f32 	%f16, %f14, %f4;
	.loc	4	215	0
	mul.ftz.f32 	%f17, %f14, %f2;
	bra.uni 	$Lt_14_1026;
$Lt_14_1282:
	.loc	4	219	0
	mov.f32 	%f15, 0f00000000;    	// 0
	mov.f32 	%f16, 0f00000000;    	// 0
	mov.f32 	%f17, 0f00000000;    	// 0
	mov.f32 	%f10, 0f00000000;    	// 0
$Lt_14_1026:
	.loc	4	224	0
	mov.f32 	%f18, %f17;
	st.param.f32 	[__cudaretf__Z18UnpremultiplyPixel8PixelRGB+0], %f18;
	mov.f32 	%f19, %f16;
	st.param.f32 	[__cudaretf__Z18UnpremultiplyPixel8PixelRGB+4], %f19;
	mov.f32 	%f20, %f15;
	st.param.f32 	[__cudaretf__Z18UnpremultiplyPixel8PixelRGB+8], %f20;
	mov.f32 	%f21, %f10;
	st.param.f32 	[__cudaretf__Z18UnpremultiplyPixel8PixelRGB+12], %f21;
	ret;
$LDWend__Z18UnpremultiplyPixel8PixelRGB:
	} // _Z18UnpremultiplyPixel8PixelRGB

	.visible .func (.param .f32 __cudaretf__Z13ToLinearColorf) _Z13ToLinearColorf (.param .f32 __cudaparmf1__Z13ToLinearColorf)
	{
	.reg .f32 %f<15>;
	.reg .pred %p<3>;
	.loc	4	231	0
$LDWbegin__Z13ToLinearColorf:
	ld.param.f32 	%f1, [__cudaparmf1__Z13ToLinearColorf];
	mov.f32 	%f2, %f1;
	mov.f32 	%f3, 0f00000000;     	// 0
	setp.lt.ftz.f32 	%p1, %f2, %f3;
	@!%p1 bra 	$Lt_15_1026;
	.loc	4	234	0
	neg.ftz.f32 	%f4, %f2;
	lg2.approx.ftz.f32 	%f5, %f4;
	mov.f32 	%f6, 0f400ccccd;     	// 2.2
	mul.ftz.f32 	%f7, %f5, %f6;
	ex2.approx.ftz.f32 	%f8, %f7;
	neg.ftz.f32 	%f9, %f8;
	bra.uni 	$LBB4__Z13ToLinearColorf;
$Lt_15_1026:
	.loc	4	236	0
	lg2.approx.ftz.f32 	%f10, %f2;
	mov.f32 	%f11, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f12, %f10, %f11;
	ex2.approx.ftz.f32 	%f9, %f12;
$LBB4__Z13ToLinearColorf:
	mov.f32 	%f13, %f9;
	st.param.f32 	[__cudaretf__Z13ToLinearColorf], %f13;
	ret;
$LDWend__Z13ToLinearColorf:
	} // _Z13ToLinearColorf

	.visible .func (.param .f32 __cudaretf__Z15FromLinearColorf) _Z15FromLinearColorf (.param .f32 __cudaparmf1__Z15FromLinearColorf)
	{
	.reg .f32 %f<15>;
	.reg .pred %p<3>;
	.loc	4	239	0
$LDWbegin__Z15FromLinearColorf:
	ld.param.f32 	%f1, [__cudaparmf1__Z15FromLinearColorf];
	mov.f32 	%f2, %f1;
	mov.f32 	%f3, 0f00000000;     	// 0
	setp.lt.ftz.f32 	%p1, %f2, %f3;
	@!%p1 bra 	$Lt_16_1026;
	.loc	4	242	0
	neg.ftz.f32 	%f4, %f2;
	lg2.approx.ftz.f32 	%f5, %f4;
	mov.f32 	%f6, 0f3ee8ba2e;     	// 0.454545
	mul.ftz.f32 	%f7, %f5, %f6;
	ex2.approx.ftz.f32 	%f8, %f7;
	neg.ftz.f32 	%f9, %f8;
	bra.uni 	$LBB4__Z15FromLinearColorf;
$Lt_16_1026:
	.loc	4	244	0
	lg2.approx.ftz.f32 	%f10, %f2;
	mov.f32 	%f11, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f12, %f10, %f11;
	ex2.approx.ftz.f32 	%f9, %f12;
$LBB4__Z15FromLinearColorf:
	mov.f32 	%f13, %f9;
	st.param.f32 	[__cudaretf__Z15FromLinearColorf], %f13;
	ret;
$LDWend__Z15FromLinearColorf:
	} // _Z15FromLinearColorf

	.visible .func (.param .align 16 .b8 __cudaretf__Z25PremultiplyLinearizePixel8PixelRGB[16]) _Z25PremultiplyLinearizePixel8PixelRGB (.param .align 16 .b8 __cudaparmf1__Z25PremultiplyLinearizePixel8PixelRGB[16])
	{
	.reg .f32 %f<47>;
	.reg .pred %p<5>;
	.loc	4	252	0
$LDWbegin__Z25PremultiplyLinearizePixel8PixelRGB:
	ld.param.f32 	%f1, [__cudaparmf1__Z25PremultiplyLinearizePixel8PixelRGB+0];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf1__Z25PremultiplyLinearizePixel8PixelRGB+4];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf1__Z25PremultiplyLinearizePixel8PixelRGB+8];
	mov.f32 	%f6, %f5;
	ld.param.f32 	%f7, [__cudaparmf1__Z25PremultiplyLinearizePixel8PixelRGB+12];
	mov.f32 	%f8, %f7;
	.loc	4	254	0
	cvt.ftz.sat.f32.f32 	%f9, %f8;
	.loc	4	255	0
	mov.f32 	%f10, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p1, %f2, %f10;
	@!%p1 bra 	$Lt_17_4098;
	.loc	4	234	0
	neg.ftz.f32 	%f11, %f2;
	lg2.approx.ftz.f32 	%f12, %f11;
	mov.f32 	%f13, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f14, %f12, %f13;
	ex2.approx.ftz.f32 	%f15, %f14;
	neg.ftz.f32 	%f16, %f15;
	bra.uni 	$LDWendi___log2f_194_5;
$Lt_17_4098:
	.loc	4	236	0
	lg2.approx.ftz.f32 	%f17, %f2;
	mov.f32 	%f18, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f19, %f17, %f18;
	ex2.approx.ftz.f32 	%f16, %f19;
$LDWendi___log2f_194_5:
	.loc	4	256	0
	mov.f32 	%f20, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p2, %f4, %f20;
	@!%p2 bra 	$Lt_17_4610;
	.loc	4	234	0
	neg.ftz.f32 	%f21, %f4;
	lg2.approx.ftz.f32 	%f22, %f21;
	mov.f32 	%f23, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f24, %f22, %f23;
	ex2.approx.ftz.f32 	%f25, %f24;
	neg.ftz.f32 	%f26, %f25;
	bra.uni 	$LDWendi___log2f_194_3;
$Lt_17_4610:
	.loc	4	236	0
	lg2.approx.ftz.f32 	%f27, %f4;
	mov.f32 	%f28, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f29, %f27, %f28;
	ex2.approx.ftz.f32 	%f26, %f29;
$LDWendi___log2f_194_3:
	.loc	4	257	0
	mov.f32 	%f30, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p3, %f6, %f30;
	@!%p3 bra 	$Lt_17_5122;
	.loc	4	234	0
	neg.ftz.f32 	%f31, %f6;
	lg2.approx.ftz.f32 	%f32, %f31;
	mov.f32 	%f33, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f34, %f32, %f33;
	ex2.approx.ftz.f32 	%f35, %f34;
	neg.ftz.f32 	%f36, %f35;
	bra.uni 	$LDWendi___log2f_194_1;
$Lt_17_5122:
	.loc	4	236	0
	lg2.approx.ftz.f32 	%f37, %f6;
	mov.f32 	%f38, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f39, %f37, %f38;
	ex2.approx.ftz.f32 	%f36, %f39;
$LDWendi___log2f_194_1:
	.loc	4	259	0
	mul.ftz.f32 	%f40, %f36, %f9;
	mul.ftz.f32 	%f41, %f26, %f9;
	mul.ftz.f32 	%f42, %f16, %f9;
	st.param.f32 	[__cudaretf__Z25PremultiplyLinearizePixel8PixelRGB+0], %f42;
	mov.f32 	%f43, %f41;
	st.param.f32 	[__cudaretf__Z25PremultiplyLinearizePixel8PixelRGB+4], %f43;
	mov.f32 	%f44, %f40;
	st.param.f32 	[__cudaretf__Z25PremultiplyLinearizePixel8PixelRGB+8], %f44;
	mov.f32 	%f45, %f9;
	st.param.f32 	[__cudaretf__Z25PremultiplyLinearizePixel8PixelRGB+12], %f45;
	ret;
$LDWend__Z25PremultiplyLinearizePixel8PixelRGB:
	} // _Z25PremultiplyLinearizePixel8PixelRGB

	.visible .func (.param .align 16 .b8 __cudaretf__Z29UnpremultiplyUnlinearizePixel8PixelRGB[16]) _Z29UnpremultiplyUnlinearizePixel8PixelRGB (.param .align 16 .b8 __cudaparmf1__Z29UnpremultiplyUnlinearizePixel8PixelRGB[16])
	{
	.reg .f32 %f<53>;
	.reg .pred %p<6>;
	.loc	4	263	0
$LDWbegin__Z29UnpremultiplyUnlinearizePixel8PixelRGB:
	ld.param.f32 	%f1, [__cudaparmf1__Z29UnpremultiplyUnlinearizePixel8PixelRGB+0];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf1__Z29UnpremultiplyUnlinearizePixel8PixelRGB+4];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf1__Z29UnpremultiplyUnlinearizePixel8PixelRGB+8];
	mov.f32 	%f6, %f5;
	ld.param.f32 	%f7, [__cudaparmf1__Z29UnpremultiplyUnlinearizePixel8PixelRGB+12];
	mov.f32 	%f8, %f7;
	.loc	4	208	0
	cvt.ftz.sat.f32.f32 	%f9, %f8;
	mov.f32 	%f10, %f9;
	mov.f32 	%f11, 0fb70637bd;    	// -8e-006
	add.ftz.f32 	%f12, %f9, %f11;
	mov.f32 	%f13, 0f00000000;    	// 0
	setp.le.ftz.f32 	%p1, %f12, %f13;
	@%p1 bra 	$Lt_18_5122;
	.loc	4	213	0
	rcp.approx.ftz.f32 	%f14, %f9;
	mul.ftz.f32 	%f15, %f14, %f6;
	.loc	4	214	0
	mul.ftz.f32 	%f16, %f14, %f4;
	.loc	4	215	0
	mul.ftz.f32 	%f17, %f14, %f2;
	bra.uni 	$Lt_18_4866;
$Lt_18_5122:
	.loc	4	219	0
	mov.f32 	%f15, 0f00000000;    	// 0
	mov.f32 	%f16, 0f00000000;    	// 0
	mov.f32 	%f17, 0f00000000;    	// 0
	mov.f32 	%f10, 0f00000000;    	// 0
$Lt_18_4866:
	.loc	4	266	0
	mov.f32 	%f18, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p2, %f17, %f18;
	@!%p2 bra 	$Lt_18_5378;
	.loc	4	242	0
	neg.ftz.f32 	%f19, %f17;
	lg2.approx.ftz.f32 	%f20, %f19;
	mov.f32 	%f21, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f22, %f20, %f21;
	ex2.approx.ftz.f32 	%f23, %f22;
	neg.ftz.f32 	%f24, %f23;
	bra.uni 	$LDWendi___log2f_195_5;
$Lt_18_5378:
	.loc	4	244	0
	lg2.approx.ftz.f32 	%f25, %f17;
	mov.f32 	%f26, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f27, %f25, %f26;
	ex2.approx.ftz.f32 	%f24, %f27;
$LDWendi___log2f_195_5:
	.loc	4	267	0
	mov.f32 	%f28, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p3, %f16, %f28;
	@!%p3 bra 	$Lt_18_5890;
	.loc	4	242	0
	neg.ftz.f32 	%f29, %f16;
	lg2.approx.ftz.f32 	%f30, %f29;
	mov.f32 	%f31, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f32, %f30, %f31;
	ex2.approx.ftz.f32 	%f33, %f32;
	neg.ftz.f32 	%f34, %f33;
	bra.uni 	$LDWendi___log2f_195_3;
$Lt_18_5890:
	.loc	4	244	0
	lg2.approx.ftz.f32 	%f35, %f16;
	mov.f32 	%f36, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f37, %f35, %f36;
	ex2.approx.ftz.f32 	%f34, %f37;
$LDWendi___log2f_195_3:
	.loc	4	268	0
	mov.f32 	%f38, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p4, %f15, %f38;
	@!%p4 bra 	$Lt_18_6402;
	.loc	4	242	0
	neg.ftz.f32 	%f39, %f15;
	lg2.approx.ftz.f32 	%f40, %f39;
	mov.f32 	%f41, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f42, %f40, %f41;
	ex2.approx.ftz.f32 	%f43, %f42;
	neg.ftz.f32 	%f44, %f43;
	bra.uni 	$LDWendi___log2f_195_1;
$Lt_18_6402:
	.loc	4	244	0
	lg2.approx.ftz.f32 	%f45, %f15;
	mov.f32 	%f46, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f47, %f45, %f46;
	ex2.approx.ftz.f32 	%f44, %f47;
$LDWendi___log2f_195_1:
	.loc	4	269	0
	mov.f32 	%f48, %f24;
	st.param.f32 	[__cudaretf__Z29UnpremultiplyUnlinearizePixel8PixelRGB+0], %f48;
	mov.f32 	%f49, %f34;
	st.param.f32 	[__cudaretf__Z29UnpremultiplyUnlinearizePixel8PixelRGB+4], %f49;
	mov.f32 	%f50, %f44;
	st.param.f32 	[__cudaretf__Z29UnpremultiplyUnlinearizePixel8PixelRGB+8], %f50;
	mov.f32 	%f51, %f10;
	st.param.f32 	[__cudaretf__Z29UnpremultiplyUnlinearizePixel8PixelRGB+12], %f51;
	ret;
$LDWend__Z29UnpremultiplyUnlinearizePixel8PixelRGB:
	} // _Z29UnpremultiplyUnlinearizePixel8PixelRGB

	.visible .func (.param .align 16 .b8 __cudaretf__Z20PremultiplyLinearize6float4[16]) _Z20PremultiplyLinearize6float4 (.param .align 16 .b8 __cudaparmf1__Z20PremultiplyLinearize6float4[16])
	{
	.reg .f32 %f<47>;
	.reg .pred %p<5>;
	.loc	4	277	0
$LDWbegin__Z20PremultiplyLinearize6float4:
	ld.param.f32 	%f1, [__cudaparmf1__Z20PremultiplyLinearize6float4+0];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf1__Z20PremultiplyLinearize6float4+4];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf1__Z20PremultiplyLinearize6float4+8];
	mov.f32 	%f6, %f5;
	ld.param.f32 	%f7, [__cudaparmf1__Z20PremultiplyLinearize6float4+12];
	mov.f32 	%f8, %f7;
	.loc	4	254	0
	cvt.ftz.sat.f32.f32 	%f9, %f8;
	.loc	4	255	0
	mov.f32 	%f10, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p1, %f2, %f10;
	@!%p1 bra 	$Lt_19_4098;
	.loc	4	234	0
	neg.ftz.f32 	%f11, %f2;
	lg2.approx.ftz.f32 	%f12, %f11;
	mov.f32 	%f13, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f14, %f12, %f13;
	ex2.approx.ftz.f32 	%f15, %f14;
	neg.ftz.f32 	%f16, %f15;
	bra.uni 	$LDWendi___log2f_196_5;
$Lt_19_4098:
	.loc	4	236	0
	lg2.approx.ftz.f32 	%f17, %f2;
	mov.f32 	%f18, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f19, %f17, %f18;
	ex2.approx.ftz.f32 	%f16, %f19;
$LDWendi___log2f_196_5:
	.loc	4	256	0
	mov.f32 	%f20, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p2, %f4, %f20;
	@!%p2 bra 	$Lt_19_4610;
	.loc	4	234	0
	neg.ftz.f32 	%f21, %f4;
	lg2.approx.ftz.f32 	%f22, %f21;
	mov.f32 	%f23, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f24, %f22, %f23;
	ex2.approx.ftz.f32 	%f25, %f24;
	neg.ftz.f32 	%f26, %f25;
	bra.uni 	$LDWendi___log2f_196_3;
$Lt_19_4610:
	.loc	4	236	0
	lg2.approx.ftz.f32 	%f27, %f4;
	mov.f32 	%f28, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f29, %f27, %f28;
	ex2.approx.ftz.f32 	%f26, %f29;
$LDWendi___log2f_196_3:
	.loc	4	257	0
	mov.f32 	%f30, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p3, %f6, %f30;
	@!%p3 bra 	$Lt_19_5122;
	.loc	4	234	0
	neg.ftz.f32 	%f31, %f6;
	lg2.approx.ftz.f32 	%f32, %f31;
	mov.f32 	%f33, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f34, %f32, %f33;
	ex2.approx.ftz.f32 	%f35, %f34;
	neg.ftz.f32 	%f36, %f35;
	bra.uni 	$LDWendi___log2f_196_1;
$Lt_19_5122:
	.loc	4	236	0
	lg2.approx.ftz.f32 	%f37, %f6;
	mov.f32 	%f38, 0f400ccccd;    	// 2.2
	mul.ftz.f32 	%f39, %f37, %f38;
	ex2.approx.ftz.f32 	%f36, %f39;
$LDWendi___log2f_196_1:
	.loc	4	259	0
	mul.ftz.f32 	%f40, %f36, %f9;
	mul.ftz.f32 	%f41, %f26, %f9;
	.loc	4	278	0
	mul.ftz.f32 	%f42, %f16, %f9;
	st.param.f32 	[__cudaretf__Z20PremultiplyLinearize6float4+0], %f42;
	mov.f32 	%f43, %f41;
	st.param.f32 	[__cudaretf__Z20PremultiplyLinearize6float4+4], %f43;
	mov.f32 	%f44, %f40;
	st.param.f32 	[__cudaretf__Z20PremultiplyLinearize6float4+8], %f44;
	mov.f32 	%f45, %f9;
	st.param.f32 	[__cudaretf__Z20PremultiplyLinearize6float4+12], %f45;
	ret;
$LDWend__Z20PremultiplyLinearize6float4:
	} // _Z20PremultiplyLinearize6float4

	.visible .func (.param .align 16 .b8 __cudaretf__Z24UnpremultiplyUnlinearize6float4[16]) _Z24UnpremultiplyUnlinearize6float4 (.param .align 16 .b8 __cudaparmf1__Z24UnpremultiplyUnlinearize6float4[16])
	{
	.reg .f32 %f<53>;
	.reg .pred %p<6>;
	.loc	4	284	0
$LDWbegin__Z24UnpremultiplyUnlinearize6float4:
	ld.param.f32 	%f1, [__cudaparmf1__Z24UnpremultiplyUnlinearize6float4+0];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf1__Z24UnpremultiplyUnlinearize6float4+4];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf1__Z24UnpremultiplyUnlinearize6float4+8];
	mov.f32 	%f6, %f5;
	ld.param.f32 	%f7, [__cudaparmf1__Z24UnpremultiplyUnlinearize6float4+12];
	mov.f32 	%f8, %f7;
	.loc	4	208	0
	cvt.ftz.sat.f32.f32 	%f9, %f8;
	mov.f32 	%f10, %f9;
	mov.f32 	%f11, 0fb70637bd;    	// -8e-006
	add.ftz.f32 	%f12, %f9, %f11;
	mov.f32 	%f13, 0f00000000;    	// 0
	setp.le.ftz.f32 	%p1, %f12, %f13;
	@%p1 bra 	$Lt_20_5122;
	.loc	4	213	0
	rcp.approx.ftz.f32 	%f14, %f9;
	mul.ftz.f32 	%f15, %f14, %f6;
	.loc	4	214	0
	mul.ftz.f32 	%f16, %f14, %f4;
	.loc	4	215	0
	mul.ftz.f32 	%f17, %f14, %f2;
	bra.uni 	$Lt_20_4866;
$Lt_20_5122:
	.loc	4	219	0
	mov.f32 	%f15, 0f00000000;    	// 0
	mov.f32 	%f16, 0f00000000;    	// 0
	mov.f32 	%f17, 0f00000000;    	// 0
	mov.f32 	%f10, 0f00000000;    	// 0
$Lt_20_4866:
	.loc	4	266	0
	mov.f32 	%f18, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p2, %f17, %f18;
	@!%p2 bra 	$Lt_20_5378;
	.loc	4	242	0
	neg.ftz.f32 	%f19, %f17;
	lg2.approx.ftz.f32 	%f20, %f19;
	mov.f32 	%f21, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f22, %f20, %f21;
	ex2.approx.ftz.f32 	%f23, %f22;
	neg.ftz.f32 	%f24, %f23;
	bra.uni 	$LDWendi___log2f_197_5;
$Lt_20_5378:
	.loc	4	244	0
	lg2.approx.ftz.f32 	%f25, %f17;
	mov.f32 	%f26, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f27, %f25, %f26;
	ex2.approx.ftz.f32 	%f24, %f27;
$LDWendi___log2f_197_5:
	.loc	4	267	0
	mov.f32 	%f28, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p3, %f16, %f28;
	@!%p3 bra 	$Lt_20_5890;
	.loc	4	242	0
	neg.ftz.f32 	%f29, %f16;
	lg2.approx.ftz.f32 	%f30, %f29;
	mov.f32 	%f31, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f32, %f30, %f31;
	ex2.approx.ftz.f32 	%f33, %f32;
	neg.ftz.f32 	%f34, %f33;
	bra.uni 	$LDWendi___log2f_197_3;
$Lt_20_5890:
	.loc	4	244	0
	lg2.approx.ftz.f32 	%f35, %f16;
	mov.f32 	%f36, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f37, %f35, %f36;
	ex2.approx.ftz.f32 	%f34, %f37;
$LDWendi___log2f_197_3:
	.loc	4	268	0
	mov.f32 	%f38, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p4, %f15, %f38;
	@!%p4 bra 	$Lt_20_6402;
	.loc	4	242	0
	neg.ftz.f32 	%f39, %f15;
	lg2.approx.ftz.f32 	%f40, %f39;
	mov.f32 	%f41, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f42, %f40, %f41;
	ex2.approx.ftz.f32 	%f43, %f42;
	neg.ftz.f32 	%f44, %f43;
	bra.uni 	$LDWendi___log2f_197_1;
$Lt_20_6402:
	.loc	4	244	0
	lg2.approx.ftz.f32 	%f45, %f15;
	mov.f32 	%f46, 0f3ee8ba2e;    	// 0.454545
	mul.ftz.f32 	%f47, %f45, %f46;
	ex2.approx.ftz.f32 	%f44, %f47;
$LDWendi___log2f_197_1:
	.loc	4	285	0
	mov.f32 	%f48, %f24;
	st.param.f32 	[__cudaretf__Z24UnpremultiplyUnlinearize6float4+0], %f48;
	mov.f32 	%f49, %f34;
	st.param.f32 	[__cudaretf__Z24UnpremultiplyUnlinearize6float4+4], %f49;
	mov.f32 	%f50, %f44;
	st.param.f32 	[__cudaretf__Z24UnpremultiplyUnlinearize6float4+8], %f50;
	mov.f32 	%f51, %f10;
	st.param.f32 	[__cudaretf__Z24UnpremultiplyUnlinearize6float4+12], %f51;
	ret;
$LDWend__Z24UnpremultiplyUnlinearize6float4:
	} // _Z24UnpremultiplyUnlinearize6float4

	.visible .func (.param .align 16 .b8 __cudaretf__Z18SwapComponentOrderI6float4ET_RKS1_[16]) _Z18SwapComponentOrderI6float4ET_RKS1_ (.param .u64 __cudaparmf1__Z18SwapComponentOrderI6float4ET_RKS1_)
	{
	.reg .u64 %rd<4>;
	.reg .f32 %f<6>;
	.loc	21	264	0
$LDWbegin__Z18SwapComponentOrderI6float4ET_RKS1_:
	ld.param.u64 	%rd1, [__cudaparmf1__Z18SwapComponentOrderI6float4ET_RKS1_];
	mov.s64 	%rd2, %rd1;
	.loc	21	270	0
	ld.f32 	%f1, [%rd2+12];
	st.param.f32 	[__cudaretf__Z18SwapComponentOrderI6float4ET_RKS1_+0], %f1;
	ld.f32 	%f2, [%rd2+8];
	st.param.f32 	[__cudaretf__Z18SwapComponentOrderI6float4ET_RKS1_+4], %f2;
	ld.f32 	%f3, [%rd2+4];
	st.param.f32 	[__cudaretf__Z18SwapComponentOrderI6float4ET_RKS1_+8], %f3;
	ld.f32 	%f4, [%rd2+0];
	st.param.f32 	[__cudaretf__Z18SwapComponentOrderI6float4ET_RKS1_+12], %f4;
	ret;
$LDWend__Z18SwapComponentOrderI6float4ET_RKS1_:
	} // _Z18SwapComponentOrderI6float4ET_RKS1_
	.global .align 8 .b8 sSpline[200];

	.visible .func (.param .f32 __cudaretf__Z13CalculateLumaff) _Z13CalculateLumaff (.param .f32 __cudaparmf1__Z13CalculateLumaff, .param .f32 __cudaparmf2__Z13CalculateLumaff)
	{
	.reg .u64 %rd<21>;
	.reg .f32 %f<45>;
	.reg .pred %p<9>;
	.loc	22	38	0
$LDWbegin__Z13CalculateLumaff:
	ld.param.f32 	%f1, [__cudaparmf1__Z13CalculateLumaff];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf2__Z13CalculateLumaff];
	mov.f32 	%f4, %f3;
	.loc	22	39	0
	mov.f32 	%f5, %f2;
	mov.f32 	%f6, 0f3a83126f;     	// 0.001
	setp.gt.ftz.f32 	%p1, %f4, %f6;
	@!%p1 bra 	$Lt_22_5122;
	mov.f32 	%f7, 0f00000000;     	// 0
	setp.lt.ftz.f32 	%p2, %f2, %f7;
	@!%p2 bra 	$Lt_22_5890;
	.loc	22	48	0
	ld.global.f32 	%f8, [sSpline+64];
	add.ftz.f32 	%f9, %f8, %f2;
	bra.uni 	$Lt_22_6146;
$Lt_22_5890:
	ld.global.u64 	%rd1, [sSpline+192];
	mov.f32 	%f10, 0f3f800000;    	// 1
	setp.gt.ftz.f32 	%p3, %f2, %f10;
	@!%p3 bra 	$Lt_22_6402;
	mov.f32 	%f11, 0f3f800000;    	// 1
	mov.u64 	%rd2, sSpline;
	mul.lo.u64 	%rd3, %rd1, 4;
	add.u64 	%rd4, %rd2, %rd3;
	ld.global.f32 	%f12, [%rd4+60];
	sub.ftz.f32 	%f13, %f11, %f12;
	sub.ftz.f32 	%f9, %f2, %f13;
	bra.uni 	$Lt_22_6146;
$Lt_22_6402:
	.loc	3	54	0
	mov.f32 	%f14, %f2;
	.loc	3	58	0
	sub.u64 	%rd5, %rd1, 1;
	mov.s64 	%rd6, %rd5;
	mov.u64 	%rd7, 1;
	setp.le.u64 	%p4, %rd5, %rd7;
	@%p4 bra 	$Lt_22_8706;
	mov.u64 	%rd8, 0;
	mov.u64 	%rd9, sSpline;
$Lt_22_7170:
 //<loop> Loop body line 58
	add.u64 	%rd10, %rd6, %rd8;
	shr.u64 	%rd11, %rd10, 1;
	mul.lo.u64 	%rd12, %rd11, 4;
	add.u64 	%rd13, %rd9, %rd12;
	ld.global.f32 	%f15, [%rd13+0];
	setp.gt.ftz.f32 	%p5, %f15, %f2;
	@!%p5 bra 	$Lt_22_7682;
 //<loop> Part of loop body line 58, head labeled $Lt_22_7170
	.loc	3	67	0
	mov.s64 	%rd6, %rd11;
	bra.uni 	$Lt_22_7426;
$Lt_22_7682:
 //<loop> Part of loop body line 58, head labeled $Lt_22_7170
	.loc	3	71	0
	mov.s64 	%rd8, %rd11;
$Lt_22_7426:
 //<loop> Part of loop body line 58, head labeled $Lt_22_7170
	sub.u64 	%rd14, %rd6, %rd8;
	mov.u64 	%rd15, 1;
	setp.gt.u64 	%p6, %rd14, %rd15;
	@%p6 bra 	$Lt_22_7170;
	bra.uni 	$Lt_22_6658;
$Lt_22_8706:
	mov.u64 	%rd8, 0;
	mov.u64 	%rd9, sSpline;
$Lt_22_6658:
	mul.lo.u64 	%rd16, %rd6, 4;
	add.u64 	%rd17, %rd9, %rd16;
	mul.lo.u64 	%rd18, %rd8, 4;
	add.u64 	%rd19, %rd9, %rd18;
	ld.global.f32 	%f16, [%rd17+0];
	ld.global.f32 	%f17, [%rd19+0];
	sub.ftz.f32 	%f18, %f16, %f17;
	mov.f32 	%f19, 0f00000000;    	// 0
	setp.neu.ftz.f32 	%p7, %f18, %f19;
	@!%p7 bra 	$Lt_22_8194;
	.loc	27	529	0
	sub.ftz.f32 	%f20, %f16, %f2;
	sub.ftz.f32 	%f21, %f2, %f17;
	div.approx.ftz.f32 	%f22, %f20, %f18;
	div.approx.ftz.f32 	%f23, %f21, %f18;
	ld.global.f32 	%f24, [%rd17+128];
	mul.ftz.f32 	%f25, %f23, %f23;
	mul.ftz.f32 	%f26, %f23, %f25;
	sub.ftz.f32 	%f27, %f26, %f23;
	mul.ftz.f32 	%f28, %f24, %f27;
	ld.global.f32 	%f29, [%rd19+128];
	mul.ftz.f32 	%f30, %f22, %f22;
	mul.ftz.f32 	%f31, %f22, %f30;
	sub.ftz.f32 	%f32, %f31, %f22;
	fma.rn.ftz.f32 	%f33, %f29, %f32, %f28;
	mul.ftz.f32 	%f34, %f18, %f18;
	mul.ftz.f32 	%f35, %f33, %f34;
	mov.f32 	%f36, 0f40c00000;    	// 6
	div.approx.ftz.f32 	%f37, %f35, %f36;
	.loc	3	80	0
	ld.global.f32 	%f38, [%rd17+64];
	mul.ftz.f32 	%f39, %f38, %f23;
	ld.global.f32 	%f40, [%rd19+64];
	fma.rn.ftz.f32 	%f41, %f40, %f22, %f39;
	add.ftz.f32 	%f14, %f37, %f41;
$Lt_22_8194:
	.loc	22	48	0
	mov.f32 	%f9, %f14;
$Lt_22_6146:
$Lt_22_5634:
	.loc	22	49	0
	sub.ftz.f32 	%f42, %f9, %f2;
	fma.rn.ftz.f32 	%f5, %f4, %f42, %f2;
$Lt_22_5122:
	.loc	22	52	0
	mov.f32 	%f43, %f5;
	st.param.f32 	[__cudaretf__Z13CalculateLumaff], %f43;
	ret;
$LDWend__Z13CalculateLumaff:
	} // _Z13CalculateLumaff

	.visible .func (.param .f32 __cudaretf__Z4LERPIfET_S0_S0_S0_) _Z4LERPIfET_S0_S0_S0_ (.param .f32 __cudaparmf1__Z4LERPIfET_S0_S0_S0_, .param .f32 __cudaparmf2__Z4LERPIfET_S0_S0_S0_, .param .f32 __cudaparmf3__Z4LERPIfET_S0_S0_S0_)
	{
	.reg .f32 %f<10>;
	.loc	23	78	0
$LDWbegin__Z4LERPIfET_S0_S0_S0_:
	ld.param.f32 	%f1, [__cudaparmf1__Z4LERPIfET_S0_S0_S0_];
	mov.f32 	%f2, %f1;
	ld.param.f32 	%f3, [__cudaparmf2__Z4LERPIfET_S0_S0_S0_];
	mov.f32 	%f4, %f3;
	ld.param.f32 	%f5, [__cudaparmf3__Z4LERPIfET_S0_S0_S0_];
	mov.f32 	%f6, %f5;
	.loc	23	79	0
	sub.ftz.f32 	%f7, %f4, %f2;
	fma.rn.ftz.f32 	%f8, %f6, %f7, %f2;
	st.param.f32 	[__cudaretf__Z4LERPIfET_S0_S0_S0_], %f8;
	ret;
$LDWend__Z4LERPIfET_S0_S0_S0_:
	} // _Z4LERPIfET_S0_S0_S0_

	.visible .func (.param .f32 __cudaretf__Z6Read2DIfET_PKS0_iii) _Z6Read2DIfET_PKS0_iii (.param .u64 __cudaparmf1__Z6Read2DIfET_PKS0_iii, .param .s32 __cudaparmf2__Z6Read2DIfET_PKS0_iii, .param .s32 __cudaparmf3__Z6Read2DIfET_PKS0_iii, .param .s32 __cudaparmf4__Z6Read2DIfET_PKS0_iii)
	{
	.reg .u32 %r<10>;
	.reg .u64 %rd<7>;
	.reg .f32 %f<3>;
	.loc	20	114	0
$LDWbegin__Z6Read2DIfET_PKS0_iii:
	ld.param.u64 	%rd1, [__cudaparmf1__Z6Read2DIfET_PKS0_iii];
	mov.s64 	%rd2, %rd1;
	ld.param.u32 	%r1, [__cudaparmf2__Z6Read2DIfET_PKS0_iii];
	mov.s32 	%r2, %r1;
	ld.param.u32 	%r3, [__cudaparmf3__Z6Read2DIfET_PKS0_iii];
	mov.s32 	%r4, %r3;
	ld.param.u32 	%r5, [__cudaparmf4__Z6Read2DIfET_PKS0_iii];
	mov.s32 	%r6, %r5;
	.loc	20	115	0
	mul.lo.s32 	%r7, %r2, %r6;
	add.s32 	%r8, %r4, %r7;
	cvt.s64.s32 	%rd3, %r8;
	mul.wide.s32 	%rd4, %r8, 4;
	add.u64 	%rd5, %rd2, %rd4;
	ld.f32 	%f1, [%rd5+0];
	st.param.f32 	[__cudaretf__Z6Read2DIfET_PKS0_iii], %f1;
	ret;
$LDWend__Z6Read2DIfET_PKS0_iii:
	} // _Z6Read2DIfET_PKS0_iii
	.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};

	.entry LumaCurve_MaskKernel (
		.param .u64 __cudaparm_LumaCurve_MaskKernel_inImage,
		.param .s32 __cudaparm_LumaCurve_MaskKernel_inPitch,
		.param .u64 __cudaparm_LumaCurve_MaskKernel_inSecondaryMask,
		.param .s32 __cudaparm_LumaCurve_MaskKernel_inSecondaryPitch,
		.param .u32 __cudaparm_LumaCurve_MaskKernel_inDeviceFormat,
		.param .s32 __cudaparm_LumaCurve_MaskKernel_inWidth,
		.param .s32 __cudaparm_LumaCurve_MaskKernel_inHeight)
	{
	.reg .u32 %r<32>;
	.reg .u64 %rd<13>;
	.reg .f32 %f<11>;
	.reg .pred %p<5>;
	.loc	22	65	0
$LDWbegin_LumaCurve_MaskKernel:
	.loc	22	68	0
	cvt.s32.u32 	%r1, %ctaid.x;
	cvt.s32.u32 	%r2, %ntid.x;
	mul.lo.s32 	%r3, %r1, %r2;
	cvt.s32.u32 	%r4, %ctaid.y;
	cvt.s32.u32 	%r5, %ntid.y;
	mul.lo.s32 	%r6, %r4, %r5;
	mov.u32 	%r7, %tid.x;
	add.u32 	%r8, %r3, %r7;
	mov.u32 	%r9, %tid.y;
	add.u32 	%r10, %r6, %r9;
	ld.param.s32 	%r11, [__cudaparm_LumaCurve_MaskKernel_inWidth];
	set.gt.u32.s32 	%r12, %r11, %r8;
	neg.s32 	%r13, %r12;
	ld.param.s32 	%r14, [__cudaparm_LumaCurve_MaskKernel_inHeight];
	set.gt.u32.s32 	%r15, %r14, %r10;
	neg.s32 	%r16, %r15;
	and.b32 	%r17, %r13, %r16;
	mov.u32 	%r18, 0;
	setp.eq.s32 	%p1, %r17, %r18;
	@%p1 bra 	$Lt_25_3586;
	.loc	22	71	0
	ld.param.u64 	%rd1, [__cudaparm_LumaCurve_MaskKernel_inSecondaryMask];
	mov.u64 	%rd2, 0;
	setp.eq.u64 	%p2, %rd1, %rd2;
	@%p2 bra 	$Lt_25_4866;
	.loc	22	73	0
	ld.param.s32 	%r19, [__cudaparm_LumaCurve_MaskKernel_inSecondaryPitch];
	mul.lo.s32 	%r20, %r19, %r10;
	add.s32 	%r21, %r8, %r20;
	cvt.s64.s32 	%rd3, %r21;
	mul.wide.s32 	%rd4, %r21, 4;
	add.u64 	%rd5, %rd1, %rd4;
	ld.global.f32 	%f1, [%rd5+0];
	bra.uni 	$Lt_25_4610;
$Lt_25_4866:
	mov.f32 	%f1, 0f3f800000;     	// 1
$Lt_25_4610:
	.loc	22	78	0
	ld.const.f32 	%f2, [k601YPbPr_To_RGB32f+24];
	mul.ftz.f32 	%f3, %f2, %f1;
	ld.const.f32 	%f4, [k601YPbPr_To_RGB32f+12];
	mul.ftz.f32 	%f5, %f4, %f1;
	ld.const.f32 	%f6, [k601YPbPr_To_RGB32f+0];
	mul.ftz.f32 	%f7, %f6, %f1;
	ld.param.s32 	%r22, [__cudaparm_LumaCurve_MaskKernel_inPitch];
	mul.lo.s32 	%r23, %r22, %r10;
	add.s32 	%r24, %r8, %r23;
	cvt.s64.s32 	%rd6, %r24;
	ld.param.u64 	%rd7, [__cudaparm_LumaCurve_MaskKernel_inImage];
	ld.param.s32 	%r25, [__cudaparm_LumaCurve_MaskKernel_inDeviceFormat];
	mov.u32 	%r26, 0;
	setp.ne.s32 	%p3, %r25, %r26;
	@%p3 bra 	$Lt_25_5378;
	.loc	20	126	0
	mul.lo.u64 	%rd8, %rd6, 8;
	add.u64 	%rd9, %rd7, %rd8;
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f3;
	mov.b32		%r27, %b1; }
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f5;
	mov.b32		%r28, %b1; }
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f7;
	mov.b32		%r29, %b1; }
	mov.f32 	%f8, 0f3f800000;     	// 1
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f8;
	mov.b32		%r30, %b1; }
	st.global.v4.u16 	[%rd9+0], {%r27,%r28,%r29,%r30};
	.loc	22	78	0
	bra.uni 	$Lt_25_5122;
$Lt_25_5378:
	.loc	20	126	0
	mul.lo.u64 	%rd10, %rd6, 16;
	add.u64 	%rd11, %rd7, %rd10;
	mov.f32 	%f9, 0f3f800000;     	// 1
	st.global.v4.f32 	[%rd11+0], {%f3,%f5,%f7,%f9};
$Lt_25_5122:
$Lt_25_3586:
	.loc	22	80	0
	exit;
$LDWend_LumaCurve_MaskKernel:
	} // LumaCurve_MaskKernel
	.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};

	.entry LumaCurve_LumaKernel (
		.param .u64 __cudaparm_LumaCurve_LumaKernel_inImage,
		.param .s32 __cudaparm_LumaCurve_LumaKernel_inPitch,
		.param .u64 __cudaparm_LumaCurve_LumaKernel_inSecondaryMask,
		.param .s32 __cudaparm_LumaCurve_LumaKernel_inSecondaryPitch,
		.param .u32 __cudaparm_LumaCurve_LumaKernel_inDeviceFormat,
		.param .s32 __cudaparm_LumaCurve_LumaKernel_inWidth,
		.param .s32 __cudaparm_LumaCurve_LumaKernel_inHeight)
	{
	.reg .u32 %r<35>;
	.reg .u64 %rd<36>;
	.reg .f32 %f<58>;
	.reg .pred %p<12>;
	.loc	22	92	0
$LDWbegin_LumaCurve_LumaKernel:
	.loc	22	95	0
	cvt.s32.u32 	%r1, %ctaid.x;
	cvt.s32.u32 	%r2, %ntid.x;
	mul.lo.s32 	%r3, %r1, %r2;
	cvt.s32.u32 	%r4, %ctaid.y;
	cvt.s32.u32 	%r5, %ntid.y;
	mul.lo.s32 	%r6, %r4, %r5;
	mov.u32 	%r7, %tid.x;
	add.u32 	%r8, %r3, %r7;
	mov.u32 	%r9, %tid.y;
	add.u32 	%r10, %r6, %r9;
	ld.param.s32 	%r11, [__cudaparm_LumaCurve_LumaKernel_inWidth];
	set.gt.u32.s32 	%r12, %r11, %r8;
	neg.s32 	%r13, %r12;
	ld.param.s32 	%r14, [__cudaparm_LumaCurve_LumaKernel_inHeight];
	set.gt.u32.s32 	%r15, %r14, %r10;
	neg.s32 	%r16, %r15;
	and.b32 	%r17, %r13, %r16;
	mov.u32 	%r18, 0;
	setp.eq.s32 	%p1, %r17, %r18;
	@%p1 bra 	$Lt_26_13570;
	ld.param.s32 	%r19, [__cudaparm_LumaCurve_LumaKernel_inDeviceFormat];
	mov.s32 	%r20, 0;
	setp.eq.s32 	%p2, %r19, %r20;
	ld.param.s32 	%r21, [__cudaparm_LumaCurve_LumaKernel_inPitch];
	mul.lo.s32 	%r22, %r21, %r10;
	add.s32 	%r23, %r8, %r22;
	cvt.s64.s32 	%rd1, %r23;
	ld.param.u64 	%rd2, [__cudaparm_LumaCurve_LumaKernel_inImage];
	@!%p2 bra 	$Lt_26_9218;
	.loc	20	115	0
	mul.lo.u64 	%rd3, %rd1, 8;
	add.u64 	%rd4, %rd2, %rd3;
	ld.global.v4.u16 	{%r24,%r25,%r26,_}, [%rd4+0];
	.loc	22	98	0
	{ .reg .b32 %b1;
	mov.b32		%b1, %r24;
	cvt.ftz.f32.f16	%f1, %b1; }
	{ .reg .b32 %b1;
	mov.b32		%b1, %r25;
	cvt.ftz.f32.f16	%f2, %b1; }
	{ .reg .b32 %b1;
	mov.b32		%b1, %r26;
	cvt.ftz.f32.f16	%f3, %b1; }
	bra.uni 	$Lt_26_8962;
$Lt_26_9218:
	mul.lo.u64 	%rd5, %rd1, 16;
	add.u64 	%rd6, %rd2, %rd5;
	ld.global.v4.f32 	{%f1,%f2,%f3,_}, [%rd6+0];
$Lt_26_8962:
	ld.param.u64 	%rd7, [__cudaparm_LumaCurve_LumaKernel_inSecondaryMask];
	mov.u64 	%rd8, 0;
	setp.eq.u64 	%p3, %rd7, %rd8;
	@%p3 bra 	$Lt_26_9730;
	.loc	22	99	0
	ld.param.s32 	%r27, [__cudaparm_LumaCurve_LumaKernel_inSecondaryPitch];
	mul.lo.s32 	%r28, %r27, %r10;
	add.s32 	%r29, %r8, %r28;
	cvt.s64.s32 	%rd9, %r29;
	mul.wide.s32 	%rd10, %r29, 4;
	add.u64 	%rd11, %rd7, %rd10;
	ld.global.f32 	%f4, [%rd11+0];
	bra.uni 	$Lt_26_9474;
$Lt_26_9730:
	mov.f32 	%f4, 0f3f800000;     	// 1
$Lt_26_9474:
	.loc	22	39	0
	ld.const.f32 	%f5, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f6, %f5, %f2;
	ld.const.f32 	%f7, [kRGB32f_To_601YPbPr+0];
	fma.rn.ftz.f32 	%f8, %f7, %f3, %f6;
	ld.const.f32 	%f9, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f10, %f9, %f1, %f8;
	mov.f32 	%f11, %f10;
	mov.f32 	%f12, 0f3a83126f;    	// 0.001
	setp.gt.ftz.f32 	%p4, %f4, %f12;
	@!%p4 bra 	$Lt_26_9986;
	mov.f32 	%f13, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p5, %f10, %f13;
	@!%p5 bra 	$Lt_26_10754;
	.loc	22	48	0
	ld.global.f32 	%f14, [sSpline+64];
	add.ftz.f32 	%f15, %f14, %f10;
	bra.uni 	$Lt_26_11010;
$Lt_26_10754:
	ld.global.u64 	%rd12, [sSpline+192];
	mov.f32 	%f16, 0f3f800000;    	// 1
	setp.gt.ftz.f32 	%p6, %f10, %f16;
	@!%p6 bra 	$Lt_26_11266;
	mov.f32 	%f17, 0f3f800000;    	// 1
	mov.u64 	%rd13, sSpline;
	mul.lo.u64 	%rd14, %rd12, 4;
	add.u64 	%rd15, %rd13, %rd14;
	ld.global.f32 	%f18, [%rd15+60];
	sub.ftz.f32 	%f19, %f17, %f18;
	sub.ftz.f32 	%f15, %f10, %f19;
	bra.uni 	$Lt_26_11010;
$Lt_26_11266:
	.loc	3	54	0
	mov.f32 	%f20, %f10;
	.loc	3	58	0
	sub.u64 	%rd16, %rd12, 1;
	mov.s64 	%rd17, %rd16;
	mov.u64 	%rd18, 1;
	setp.le.u64 	%p7, %rd16, %rd18;
	@%p7 bra 	$Lt_26_14082;
	mov.u64 	%rd19, 0;
	mov.u64 	%rd20, sSpline;
$Lt_26_12034:
 //<loop> Loop body line 58
	add.u64 	%rd21, %rd17, %rd19;
	shr.u64 	%rd22, %rd21, 1;
	mul.lo.u64 	%rd23, %rd22, 4;
	add.u64 	%rd24, %rd20, %rd23;
	ld.global.f32 	%f21, [%rd24+0];
	setp.gt.ftz.f32 	%p8, %f21, %f10;
	@!%p8 bra 	$Lt_26_12546;
 //<loop> Part of loop body line 58, head labeled $Lt_26_12034
	.loc	3	67	0
	mov.s64 	%rd17, %rd22;
	bra.uni 	$Lt_26_12290;
$Lt_26_12546:
 //<loop> Part of loop body line 58, head labeled $Lt_26_12034
	.loc	3	71	0
	mov.s64 	%rd19, %rd22;
$Lt_26_12290:
 //<loop> Part of loop body line 58, head labeled $Lt_26_12034
	sub.u64 	%rd25, %rd17, %rd19;
	mov.u64 	%rd26, 1;
	setp.gt.u64 	%p9, %rd25, %rd26;
	@%p9 bra 	$Lt_26_12034;
	bra.uni 	$Lt_26_11522;
$Lt_26_14082:
	mov.u64 	%rd19, 0;
	mov.u64 	%rd20, sSpline;
$Lt_26_11522:
	mul.lo.u64 	%rd27, %rd17, 4;
	add.u64 	%rd28, %rd20, %rd27;
	mul.lo.u64 	%rd29, %rd19, 4;
	add.u64 	%rd30, %rd20, %rd29;
	ld.global.f32 	%f22, [%rd28+0];
	ld.global.f32 	%f23, [%rd30+0];
	sub.ftz.f32 	%f24, %f22, %f23;
	mov.f32 	%f25, 0f00000000;    	// 0
	setp.neu.ftz.f32 	%p10, %f24, %f25;
	@!%p10 bra 	$Lt_26_13058;
	.loc	27	529	0
	sub.ftz.f32 	%f26, %f22, %f10;
	sub.ftz.f32 	%f27, %f10, %f23;
	div.approx.ftz.f32 	%f28, %f26, %f24;
	div.approx.ftz.f32 	%f29, %f27, %f24;
	ld.global.f32 	%f30, [%rd28+128];
	mul.ftz.f32 	%f31, %f29, %f29;
	mul.ftz.f32 	%f32, %f29, %f31;
	sub.ftz.f32 	%f33, %f32, %f29;
	mul.ftz.f32 	%f34, %f30, %f33;
	ld.global.f32 	%f35, [%rd30+128];
	mul.ftz.f32 	%f36, %f28, %f28;
	mul.ftz.f32 	%f37, %f28, %f36;
	sub.ftz.f32 	%f38, %f37, %f28;
	fma.rn.ftz.f32 	%f39, %f35, %f38, %f34;
	mul.ftz.f32 	%f40, %f24, %f24;
	mul.ftz.f32 	%f41, %f39, %f40;
	mov.f32 	%f42, 0f40c00000;    	// 6
	div.approx.ftz.f32 	%f43, %f41, %f42;
	.loc	3	80	0
	ld.global.f32 	%f44, [%rd28+64];
	mul.ftz.f32 	%f45, %f44, %f29;
	ld.global.f32 	%f46, [%rd30+64];
	fma.rn.ftz.f32 	%f47, %f46, %f28, %f45;
	add.ftz.f32 	%f20, %f43, %f47;
$Lt_26_13058:
	.loc	22	48	0
	mov.f32 	%f15, %f20;
$Lt_26_11010:
$Lt_26_10498:
	.loc	22	49	0
	sub.ftz.f32 	%f48, %f15, %f10;
	fma.rn.ftz.f32 	%f11, %f4, %f48, %f10;
$Lt_26_9986:
	.loc	22	105	0
	ld.const.f32 	%f49, [k601YPbPr_To_RGB32f+24];
	mul.ftz.f32 	%f50, %f49, %f11;
	ld.const.f32 	%f51, [k601YPbPr_To_RGB32f+12];
	mul.ftz.f32 	%f52, %f51, %f11;
	ld.const.f32 	%f53, [k601YPbPr_To_RGB32f+0];
	mul.ftz.f32 	%f54, %f53, %f11;
	@!%p2 bra 	$Lt_26_13826;
	.loc	20	126	0
	mul.lo.u64 	%rd31, %rd1, 8;
	add.u64 	%rd32, %rd2, %rd31;
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f50;
	mov.b32		%r30, %b1; }
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f52;
	mov.b32		%r31, %b1; }
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f54;
	mov.b32		%r32, %b1; }
	mov.f32 	%f55, 0f3f800000;    	// 1
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f55;
	mov.b32		%r33, %b1; }
	st.global.v4.u16 	[%rd32+0], {%r30,%r31,%r32,%r33};
	.loc	22	105	0
	bra.uni 	$Lt_26_13570;
$Lt_26_13826:
	.loc	20	126	0
	mul.lo.u64 	%rd33, %rd1, 16;
	add.u64 	%rd34, %rd2, %rd33;
	mov.f32 	%f56, 0f3f800000;    	// 1
	st.global.v4.f32 	[%rd34+0], {%f50,%f52,%f54,%f56};
$Lt_26_13570:
$Lt_26_8450:
	.loc	22	107	0
	exit;
$LDWend_LumaCurve_LumaKernel:
	} // LumaCurve_LumaKernel

	.entry LumaCurve_CompositeKernel (
		.param .u64 __cudaparm_LumaCurve_CompositeKernel_inImage,
		.param .s32 __cudaparm_LumaCurve_CompositeKernel_inPitch,
		.param .u64 __cudaparm_LumaCurve_CompositeKernel_inSecondaryMask,
		.param .s32 __cudaparm_LumaCurve_CompositeKernel_inSecondaryPitch,
		.param .u32 __cudaparm_LumaCurve_CompositeKernel_inDeviceFormat,
		.param .s32 __cudaparm_LumaCurve_CompositeKernel_inWidth,
		.param .s32 __cudaparm_LumaCurve_CompositeKernel_inHeight)
	{
	.reg .u32 %r<36>;
	.reg .u64 %rd<36>;
	.reg .f32 %f<81>;
	.reg .pred %p<12>;
	.loc	22	119	0
$LDWbegin_LumaCurve_CompositeKernel:
	.loc	22	122	0
	cvt.s32.u32 	%r1, %ctaid.x;
	cvt.s32.u32 	%r2, %ntid.x;
	mul.lo.s32 	%r3, %r1, %r2;
	cvt.s32.u32 	%r4, %ctaid.y;
	cvt.s32.u32 	%r5, %ntid.y;
	mul.lo.s32 	%r6, %r4, %r5;
	mov.u32 	%r7, %tid.x;
	add.u32 	%r8, %r3, %r7;
	mov.u32 	%r9, %tid.y;
	add.u32 	%r10, %r6, %r9;
	ld.param.s32 	%r11, [__cudaparm_LumaCurve_CompositeKernel_inWidth];
	set.gt.u32.s32 	%r12, %r11, %r8;
	neg.s32 	%r13, %r12;
	ld.param.s32 	%r14, [__cudaparm_LumaCurve_CompositeKernel_inHeight];
	set.gt.u32.s32 	%r15, %r14, %r10;
	neg.s32 	%r16, %r15;
	and.b32 	%r17, %r13, %r16;
	mov.u32 	%r18, 0;
	setp.eq.s32 	%p1, %r17, %r18;
	@%p1 bra 	$Lt_27_13570;
	ld.param.s32 	%r19, [__cudaparm_LumaCurve_CompositeKernel_inDeviceFormat];
	mov.s32 	%r20, 0;
	setp.eq.s32 	%p2, %r19, %r20;
	ld.param.s32 	%r21, [__cudaparm_LumaCurve_CompositeKernel_inPitch];
	mul.lo.s32 	%r22, %r21, %r10;
	add.s32 	%r23, %r8, %r22;
	cvt.s64.s32 	%rd1, %r23;
	ld.param.u64 	%rd2, [__cudaparm_LumaCurve_CompositeKernel_inImage];
	@!%p2 bra 	$Lt_27_9218;
	.loc	20	115	0
	mul.lo.u64 	%rd3, %rd1, 8;
	add.u64 	%rd4, %rd2, %rd3;
	ld.global.v4.u16 	{%r24,%r25,%r26,%r27}, [%rd4+0];
	.loc	22	125	0
	{ .reg .b32 %b1;
	mov.b32		%b1, %r24;
	cvt.ftz.f32.f16	%f1, %b1; }
	{ .reg .b32 %b1;
	mov.b32		%b1, %r25;
	cvt.ftz.f32.f16	%f2, %b1; }
	{ .reg .b32 %b1;
	mov.b32		%b1, %r26;
	cvt.ftz.f32.f16	%f3, %b1; }
	{ .reg .b32 %b1;
	mov.b32		%b1, %r27;
	cvt.ftz.f32.f16	%f4, %b1; }
	bra.uni 	$Lt_27_8962;
$Lt_27_9218:
	mul.lo.u64 	%rd5, %rd1, 16;
	add.u64 	%rd6, %rd2, %rd5;
	ld.global.v4.f32 	{%f1,%f2,%f3,%f4}, [%rd6+0];
$Lt_27_8962:
	ld.param.u64 	%rd7, [__cudaparm_LumaCurve_CompositeKernel_inSecondaryMask];
	mov.u64 	%rd8, 0;
	setp.eq.u64 	%p3, %rd7, %rd8;
	@%p3 bra 	$Lt_27_9730;
	.loc	22	126	0
	ld.param.s32 	%r28, [__cudaparm_LumaCurve_CompositeKernel_inSecondaryPitch];
	mul.lo.s32 	%r29, %r28, %r10;
	add.s32 	%r30, %r8, %r29;
	cvt.s64.s32 	%rd9, %r30;
	mul.wide.s32 	%rd10, %r30, 4;
	add.u64 	%rd11, %rd7, %rd10;
	ld.global.f32 	%f5, [%rd11+0];
	bra.uni 	$Lt_27_9474;
$Lt_27_9730:
	mov.f32 	%f5, 0f3f800000;     	// 1
$Lt_27_9474:
	.loc	22	39	0
	ld.const.f32 	%f6, [kRGB32f_To_601YPbPr+4];
	mul.ftz.f32 	%f7, %f6, %f2;
	ld.const.f32 	%f8, [kRGB32f_To_601YPbPr+0];
	fma.rn.ftz.f32 	%f9, %f8, %f3, %f7;
	ld.const.f32 	%f10, [kRGB32f_To_601YPbPr+8];
	fma.rn.ftz.f32 	%f11, %f10, %f1, %f9;
	mov.f32 	%f12, %f11;
	mov.f32 	%f13, 0f3a83126f;    	// 0.001
	setp.gt.ftz.f32 	%p4, %f5, %f13;
	@!%p4 bra 	$Lt_27_9986;
	mov.f32 	%f14, 0f00000000;    	// 0
	setp.lt.ftz.f32 	%p5, %f11, %f14;
	@!%p5 bra 	$Lt_27_10754;
	.loc	22	48	0
	ld.global.f32 	%f15, [sSpline+64];
	add.ftz.f32 	%f16, %f15, %f11;
	bra.uni 	$Lt_27_11010;
$Lt_27_10754:
	ld.global.u64 	%rd12, [sSpline+192];
	mov.f32 	%f17, 0f3f800000;    	// 1
	setp.gt.ftz.f32 	%p6, %f11, %f17;
	@!%p6 bra 	$Lt_27_11266;
	mov.f32 	%f18, 0f3f800000;    	// 1
	mov.u64 	%rd13, sSpline;
	mul.lo.u64 	%rd14, %rd12, 4;
	add.u64 	%rd15, %rd13, %rd14;
	ld.global.f32 	%f19, [%rd15+60];
	sub.ftz.f32 	%f20, %f18, %f19;
	sub.ftz.f32 	%f16, %f11, %f20;
	bra.uni 	$Lt_27_11010;
$Lt_27_11266:
	.loc	3	54	0
	mov.f32 	%f21, %f11;
	.loc	3	58	0
	sub.u64 	%rd16, %rd12, 1;
	mov.s64 	%rd17, %rd16;
	mov.u64 	%rd18, 1;
	setp.le.u64 	%p7, %rd16, %rd18;
	@%p7 bra 	$Lt_27_14082;
	mov.u64 	%rd19, 0;
	mov.u64 	%rd20, sSpline;
$Lt_27_12034:
 //<loop> Loop body line 58
	add.u64 	%rd21, %rd17, %rd19;
	shr.u64 	%rd22, %rd21, 1;
	mul.lo.u64 	%rd23, %rd22, 4;
	add.u64 	%rd24, %rd20, %rd23;
	ld.global.f32 	%f22, [%rd24+0];
	setp.gt.ftz.f32 	%p8, %f22, %f11;
	@!%p8 bra 	$Lt_27_12546;
 //<loop> Part of loop body line 58, head labeled $Lt_27_12034
	.loc	3	67	0
	mov.s64 	%rd17, %rd22;
	bra.uni 	$Lt_27_12290;
$Lt_27_12546:
 //<loop> Part of loop body line 58, head labeled $Lt_27_12034
	.loc	3	71	0
	mov.s64 	%rd19, %rd22;
$Lt_27_12290:
 //<loop> Part of loop body line 58, head labeled $Lt_27_12034
	sub.u64 	%rd25, %rd17, %rd19;
	mov.u64 	%rd26, 1;
	setp.gt.u64 	%p9, %rd25, %rd26;
	@%p9 bra 	$Lt_27_12034;
	bra.uni 	$Lt_27_11522;
$Lt_27_14082:
	mov.u64 	%rd19, 0;
	mov.u64 	%rd20, sSpline;
$Lt_27_11522:
	mul.lo.u64 	%rd27, %rd17, 4;
	add.u64 	%rd28, %rd20, %rd27;
	mul.lo.u64 	%rd29, %rd19, 4;
	add.u64 	%rd30, %rd20, %rd29;
	ld.global.f32 	%f23, [%rd28+0];
	ld.global.f32 	%f24, [%rd30+0];
	sub.ftz.f32 	%f25, %f23, %f24;
	mov.f32 	%f26, 0f00000000;    	// 0
	setp.neu.ftz.f32 	%p10, %f25, %f26;
	@!%p10 bra 	$Lt_27_13058;
	.loc	27	529	0
	sub.ftz.f32 	%f27, %f23, %f11;
	sub.ftz.f32 	%f28, %f11, %f24;
	div.approx.ftz.f32 	%f29, %f27, %f25;
	div.approx.ftz.f32 	%f30, %f28, %f25;
	ld.global.f32 	%f31, [%rd28+128];
	mul.ftz.f32 	%f32, %f30, %f30;
	mul.ftz.f32 	%f33, %f30, %f32;
	sub.ftz.f32 	%f34, %f33, %f30;
	mul.ftz.f32 	%f35, %f31, %f34;
	ld.global.f32 	%f36, [%rd30+128];
	mul.ftz.f32 	%f37, %f29, %f29;
	mul.ftz.f32 	%f38, %f29, %f37;
	sub.ftz.f32 	%f39, %f38, %f29;
	fma.rn.ftz.f32 	%f40, %f36, %f39, %f35;
	mul.ftz.f32 	%f41, %f25, %f25;
	mul.ftz.f32 	%f42, %f40, %f41;
	mov.f32 	%f43, 0f40c00000;    	// 6
	div.approx.ftz.f32 	%f44, %f42, %f43;
	.loc	3	80	0
	ld.global.f32 	%f45, [%rd28+64];
	mul.ftz.f32 	%f46, %f45, %f30;
	ld.global.f32 	%f47, [%rd30+64];
	fma.rn.ftz.f32 	%f48, %f47, %f29, %f46;
	add.ftz.f32 	%f21, %f44, %f48;
$Lt_27_13058:
	.loc	22	48	0
	mov.f32 	%f16, %f21;
$Lt_27_11010:
$Lt_27_10498:
	.loc	22	49	0
	sub.ftz.f32 	%f49, %f16, %f11;
	fma.rn.ftz.f32 	%f12, %f5, %f49, %f11;
$Lt_27_9986:
	.loc	22	130	0
	ld.const.f32 	%f50, [kRGB32f_To_601YPbPr+16];
	mul.ftz.f32 	%f51, %f50, %f2;
	ld.const.f32 	%f52, [kRGB32f_To_601YPbPr+28];
	mul.ftz.f32 	%f53, %f52, %f2;
	ld.const.f32 	%f54, [kRGB32f_To_601YPbPr+12];
	fma.rn.ftz.f32 	%f55, %f54, %f3, %f51;
	ld.const.f32 	%f56, [kRGB32f_To_601YPbPr+24];
	fma.rn.ftz.f32 	%f57, %f56, %f3, %f53;
	ld.const.f32 	%f58, [kRGB32f_To_601YPbPr+20];
	fma.rn.ftz.f32 	%f59, %f58, %f1, %f55;
	ld.const.f32 	%f60, [kRGB32f_To_601YPbPr+32];
	fma.rn.ftz.f32 	%f61, %f60, %f1, %f57;
	ld.const.f32 	%f62, [k601YPbPr_To_RGB32f+28];
	mul.ftz.f32 	%f63, %f62, %f59;
	ld.const.f32 	%f64, [k601YPbPr_To_RGB32f+16];
	mul.ftz.f32 	%f65, %f64, %f59;
	ld.const.f32 	%f66, [k601YPbPr_To_RGB32f+4];
	mul.ftz.f32 	%f67, %f66, %f59;
	ld.const.f32 	%f68, [k601YPbPr_To_RGB32f+24];
	fma.rn.ftz.f32 	%f69, %f68, %f12, %f63;
	ld.const.f32 	%f70, [k601YPbPr_To_RGB32f+12];
	fma.rn.ftz.f32 	%f71, %f70, %f12, %f65;
	ld.const.f32 	%f72, [k601YPbPr_To_RGB32f+0];
	fma.rn.ftz.f32 	%f73, %f72, %f12, %f67;
	ld.const.f32 	%f74, [k601YPbPr_To_RGB32f+32];
	fma.rn.ftz.f32 	%f75, %f74, %f61, %f69;
	ld.const.f32 	%f76, [k601YPbPr_To_RGB32f+20];
	fma.rn.ftz.f32 	%f77, %f76, %f61, %f71;
	ld.const.f32 	%f78, [k601YPbPr_To_RGB32f+8];
	fma.rn.ftz.f32 	%f79, %f78, %f61, %f73;
	@!%p2 bra 	$Lt_27_13826;
	.loc	20	126	0
	mul.lo.u64 	%rd31, %rd1, 8;
	add.u64 	%rd32, %rd2, %rd31;
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f75;
	mov.b32		%r31, %b1; }
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f77;
	mov.b32		%r32, %b1; }
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f79;
	mov.b32		%r33, %b1; }
	{ .reg .b32 %b1;
	cvt.rn.ftz.f16.f32	%b1, %f4;
	mov.b32		%r34, %b1; }
	st.global.v4.u16 	[%rd32+0], {%r31,%r32,%r33,%r34};
	.loc	22	130	0
	bra.uni 	$Lt_27_13570;
$Lt_27_13826:
	.loc	20	126	0
	mul.lo.u64 	%rd33, %rd1, 16;
	add.u64 	%rd34, %rd2, %rd33;
	st.global.v4.f32 	[%rd34+0], {%f75,%f77,%f79,%f4};
$Lt_27_13570:
$Lt_27_8450:
	.loc	22	132	0
	exit;
$LDWend_LumaCurve_CompositeKernel:
	} // LumaCurve_CompositeKernel
	.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 kRGB8u_To_709YCbCr[36] = {207,247,58,62,53,62,29,63,231,251,125,61,147,24,206,61,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 .b8 kRGB32f_To_YIQ[36] = {135,22,153,62,162,69,22,63,213,120,233,61,216,128,24,63,27,133,140,190,149,124,164,190,236,135,88,62,134,200,5,191,22,77,159,62};
	.const .align 4 .b8 kYIQ_To_RGB32f[36] = {0,0,128,63,20,208,116,63,219,249,30,63,0,0,128,63,177,80,139,190,2,188,37,191,0,0,128,63,45,178,141,191,85,48,218,63};

