	.version 1.4
	.target sm_11, map_f64_to_f32
	// compiled with ../../../External/3rdParty/NVIDIA/CUDA/win/64/bin64/../open64/lib//be.exe
	// nvopencc 2.3 built on 2009-07-14

	//-----------------------------------------------------------
	// Compiling C:\Users\dvaeng\AppData\Local\Temp/tmpxft_0001db3c_00000000-9_Levels.cpp3.i (C:/Users/dvaeng/AppData/Local/Temp/ccBI#.a21232)
	//-----------------------------------------------------------

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

	.file	1	"C:\Users\dvaeng\AppData\Local\Temp/tmpxft_0001db3c_00000000-8_Levels.cudafe2.gpu"
	.file	2	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/PixelRGB.h"
	.file	3	"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\crtdefs.h"
	.file	4	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\crt/device_runtime.h"
	.file	5	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\host_defines.h"
	.file	6	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\builtin_types.h"
	.file	7	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\device_types.h"
	.file	8	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\driver_types.h"
	.file	9	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\texture_types.h"
	.file	10	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\vector_types.h"
	.file	11	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\host_defines.h"
	.file	12	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\device_launch_parameters.h"
	.file	13	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\crt\storage_class.h"
	.file	14	"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\time.h"
	.file	15	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/KernelSupport/Utils.h"
	.file	16	"c:/scully64/shared/adobe/MediaCore/Display/Src/CUDA/Effects/Levels.cu"
	.file	17	"c:\scully64\shared\adobe\MediaCore\GPUFoundation\API\Inc\GPUFoundation/Numeric.h"
	.file	18	"c:\scully64\shared\adobe\MediaCore\External\3rdParty\NVIDIA\CUDA\win\64\include\common_functions.h"
	.file	19	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\crt/func_macro.h"
	.file	20	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\math_functions.h"
	.file	21	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\device_functions.h"
	.file	22	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\math_constants.h"
	.file	23	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\sm_11_atomic_functions.h"
	.file	24	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\sm_12_atomic_functions.h"
	.file	25	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\sm_13_double_functions.h"
	.file	26	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\common_types.h"
	.file	27	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\texture_fetch_functions.h"
	.file	28	"c:\scully64\shared\adobe\mediacore\external\3rdparty\nvidia\cuda\win\64\include\math_functions_dbl_ptx1.h"


	.entry Levels (
		.param .u64 __cudaparm_Levels_inImage,
		.param .s32 __cudaparm_Levels_inPitch,
		.param .s32 __cudaparm_Levels_inWidth,
		.param .s32 __cudaparm_Levels_inHeight,
		.param .f32 __cudaparm_Levels_inMasterInputMin,
		.param .f32 __cudaparm_Levels_inMasterInputMax,
		.param .f32 __cudaparm_Levels_inMasterOutputMin,
		.param .f32 __cudaparm_Levels_inMasterOutputMax,
		.param .f32 __cudaparm_Levels_inMasterGamma,
		.param .f32 __cudaparm_Levels_inRedInputMin,
		.param .f32 __cudaparm_Levels_inRedInputMax,
		.param .f32 __cudaparm_Levels_inRedOutputMin,
		.param .f32 __cudaparm_Levels_inRedOutputMax,
		.param .f32 __cudaparm_Levels_inRedGamma,
		.param .f32 __cudaparm_Levels_inGreenInputMin,
		.param .f32 __cudaparm_Levels_inGreenInputMax,
		.param .f32 __cudaparm_Levels_inGreenOutputMin,
		.param .f32 __cudaparm_Levels_inGreenOutputMax,
		.param .f32 __cudaparm_Levels_inGreenGamma,
		.param .f32 __cudaparm_Levels_inBlueInputMin,
		.param .f32 __cudaparm_Levels_inBlueInputMax,
		.param .f32 __cudaparm_Levels_inBlueOutputMin,
		.param .f32 __cudaparm_Levels_inBlueOutputMax,
		.param .f32 __cudaparm_Levels_inBlueGamma)
	{
	.reg .u32 %r<23>;
	.reg .u64 %rd<6>;
	.reg .f32 %f<141>;
	.reg .pred %p<12>;
	.loc	16	101	0
$LBB1_Levels:
	.loc	16	104	0
	cvt.s32.u16 	%r1, %ctaid.x;
	cvt.s32.u16 	%r2, %ntid.x;
	mul24.lo.s32 	%r3, %r1, %r2;
	cvt.s32.u16 	%r4, %ctaid.y;
	cvt.s32.u16 	%r5, %ntid.y;
	mul24.lo.s32 	%r6, %r4, %r5;
	cvt.u32.u16 	%r7, %tid.x;
	add.u32 	%r8, %r3, %r7;
	cvt.u32.u16 	%r9, %tid.y;
	add.u32 	%r10, %r6, %r9;
	ld.param.s32 	%r11, [__cudaparm_Levels_inWidth];
	set.gt.u32.s32 	%r12, %r11, %r8;
	neg.s32 	%r13, %r12;
	ld.param.s32 	%r14, [__cudaparm_Levels_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_0_20482;
	.loc	15	89	0
	ld.param.s32 	%r19, [__cudaparm_Levels_inPitch];
	mul24.lo.s32 	%r20, %r10, %r19;
	ld.param.u64 	%rd1, [__cudaparm_Levels_inImage];
	add.s32 	%r21, %r20, %r8;
	cvt.s64.s32 	%rd2, %r21;
	mul.lo.u64 	%rd3, %rd2, 16;
	add.u64 	%rd4, %rd1, %rd3;
	ld.global.v4.f32 	{%f1,%f2,%f3,%f4}, [%rd4+0];
	.loc	16	47	0
	ld.param.f32 	%f5, [__cudaparm_Levels_inMasterInputMin];
	ld.param.f32 	%f6, [__cudaparm_Levels_inMasterInputMax];
	sub.f32 	%f7, %f6, %f5;
	ld.param.f32 	%f8, [__cudaparm_Levels_inMasterOutputMin];
	ld.param.f32 	%f9, [__cudaparm_Levels_inMasterOutputMax];
	sub.f32 	%f10, %f9, %f8;
	ld.param.f32 	%f11, [__cudaparm_Levels_inRedInputMin];
	mad.f32 	%f12, %f7, %f11, %f5;
	mov.f32 	%f13, 0f00000000;    	// 0
	max.f32 	%f14, %f12, %f13;
	mov.f32 	%f15, 0f3f800000;    	// 1
	min.f32 	%f16, %f14, %f15;
	setp.gt.f32 	%p2, %f16, %f3;
	@!%p2 bra 	$Lt_0_21250;
	.loc	16	51	0
	ld.param.f32 	%f17, [__cudaparm_Levels_inRedOutputMin];
	mad.f32 	%f18, %f10, %f17, %f8;
	mov.f32 	%f19, 0f00000000;    	// 0
	max.f32 	%f20, %f18, %f19;
	mov.f32 	%f21, 0f3f800000;    	// 1
	min.f32 	%f22, %f20, %f21;
	bra.uni 	$Lt_0_20994;
$Lt_0_21250:
	ld.param.f32 	%f23, [__cudaparm_Levels_inRedInputMax];
	mad.f32 	%f24, %f7, %f23, %f5;
	ld.param.f32 	%f25, [__cudaparm_Levels_inRedOutputMax];
	mad.f32 	%f26, %f10, %f25, %f8;
	mov.f32 	%f27, 0f00000000;    	// 0
	max.f32 	%f28, %f24, %f27;
	mov.f32 	%f29, 0f00000000;    	// 0
	max.f32 	%f30, %f26, %f29;
	mov.f32 	%f31, 0f3f800000;    	// 1
	min.f32 	%f32, %f28, %f31;
	mov.f32 	%f33, 0f3f800000;    	// 1
	min.f32 	%f34, %f30, %f33;
	setp.le.f32 	%p3, %f32, %f3;
	@!%p3 bra 	$Lt_0_21762;
	.loc	16	55	0
	mov.f32 	%f22, %f34;
	bra.uni 	$Lt_0_21506;
$Lt_0_21762:
	ld.param.f32 	%f35, [__cudaparm_Levels_inMasterGamma];
	ld.param.f32 	%f36, [__cudaparm_Levels_inRedGamma];
	mul.f32 	%f37, %f35, %f36;
	ld.param.f32 	%f38, [__cudaparm_Levels_inRedOutputMin];
	mad.f32 	%f39, %f10, %f38, %f8;
	mov.f32 	%f40, 0f00000000;    	// 0
	max.f32 	%f41, %f39, %f40;
	mov.f32 	%f42, 0f3f800000;    	// 1
	min.f32 	%f43, %f41, %f42;
	sub.f32 	%f44, %f3, %f16;
	sub.f32 	%f45, %f32, %f16;
	sub.f32 	%f46, %f34, %f43;
	mov.f32 	%f47, 0f3f800000;    	// 1
	setp.eq.f32 	%p4, %f37, %f47;
	@!%p4 bra 	$Lt_0_22274;
	.loc	16	65	0
	mul.f32 	%f48, %f44, %f46;
	div.full.f32 	%f49, %f48, %f45;
	add.f32 	%f22, %f43, %f49;
	bra.uni 	$Lt_0_22018;
$Lt_0_22274:
	.loc	16	69	0
	div.full.f32 	%f50, %f44, %f45;
	lg2.approx.f32 	%f51, %f50;
	mul.f32 	%f52, %f37, %f51;
	ex2.approx.f32 	%f53, %f52;
	mad.f32 	%f22, %f46, %f53, %f43;
$Lt_0_22018:
$Lt_0_21506:
$Lt_0_20994:
	.loc	16	47	0
	ld.param.f32 	%f54, [__cudaparm_Levels_inGreenInputMin];
	mad.f32 	%f55, %f7, %f54, %f5;
	mov.f32 	%f56, 0f00000000;    	// 0
	max.f32 	%f57, %f55, %f56;
	mov.f32 	%f58, 0f3f800000;    	// 1
	min.f32 	%f59, %f57, %f58;
	setp.gt.f32 	%p5, %f59, %f2;
	@!%p5 bra 	$Lt_0_22786;
	.loc	16	51	0
	ld.param.f32 	%f60, [__cudaparm_Levels_inGreenOutputMin];
	mad.f32 	%f61, %f10, %f60, %f8;
	mov.f32 	%f62, 0f00000000;    	// 0
	max.f32 	%f63, %f61, %f62;
	mov.f32 	%f64, 0f3f800000;    	// 1
	min.f32 	%f65, %f63, %f64;
	bra.uni 	$Lt_0_22530;
$Lt_0_22786:
	ld.param.f32 	%f66, [__cudaparm_Levels_inGreenInputMax];
	mad.f32 	%f67, %f7, %f66, %f5;
	ld.param.f32 	%f68, [__cudaparm_Levels_inGreenOutputMax];
	mad.f32 	%f69, %f10, %f68, %f8;
	mov.f32 	%f70, 0f00000000;    	// 0
	max.f32 	%f71, %f67, %f70;
	mov.f32 	%f72, 0f00000000;    	// 0
	max.f32 	%f73, %f69, %f72;
	mov.f32 	%f74, 0f3f800000;    	// 1
	min.f32 	%f75, %f71, %f74;
	mov.f32 	%f76, 0f3f800000;    	// 1
	min.f32 	%f77, %f73, %f76;
	setp.le.f32 	%p6, %f75, %f2;
	@!%p6 bra 	$Lt_0_23298;
	.loc	16	55	0
	mov.f32 	%f65, %f77;
	bra.uni 	$Lt_0_23042;
$Lt_0_23298:
	ld.param.f32 	%f78, [__cudaparm_Levels_inMasterGamma];
	ld.param.f32 	%f79, [__cudaparm_Levels_inGreenGamma];
	mul.f32 	%f80, %f78, %f79;
	ld.param.f32 	%f81, [__cudaparm_Levels_inGreenOutputMin];
	mad.f32 	%f82, %f10, %f81, %f8;
	mov.f32 	%f83, 0f00000000;    	// 0
	max.f32 	%f84, %f82, %f83;
	mov.f32 	%f85, 0f3f800000;    	// 1
	min.f32 	%f86, %f84, %f85;
	sub.f32 	%f87, %f2, %f59;
	sub.f32 	%f88, %f75, %f59;
	sub.f32 	%f89, %f77, %f86;
	mov.f32 	%f90, 0f3f800000;    	// 1
	setp.eq.f32 	%p7, %f80, %f90;
	@!%p7 bra 	$Lt_0_23810;
	.loc	16	65	0
	mul.f32 	%f91, %f87, %f89;
	div.full.f32 	%f92, %f91, %f88;
	add.f32 	%f65, %f86, %f92;
	bra.uni 	$Lt_0_23554;
$Lt_0_23810:
	.loc	16	69	0
	div.full.f32 	%f93, %f87, %f88;
	lg2.approx.f32 	%f94, %f93;
	mul.f32 	%f95, %f80, %f94;
	ex2.approx.f32 	%f96, %f95;
	mad.f32 	%f65, %f89, %f96, %f86;
$Lt_0_23554:
$Lt_0_23042:
$Lt_0_22530:
	.loc	16	47	0
	ld.param.f32 	%f97, [__cudaparm_Levels_inBlueInputMin];
	mad.f32 	%f98, %f7, %f97, %f5;
	mov.f32 	%f99, 0f00000000;    	// 0
	max.f32 	%f100, %f98, %f99;
	mov.f32 	%f101, 0f3f800000;   	// 1
	min.f32 	%f102, %f100, %f101;
	setp.gt.f32 	%p8, %f102, %f1;
	@!%p8 bra 	$Lt_0_24322;
	.loc	16	51	0
	ld.param.f32 	%f103, [__cudaparm_Levels_inBlueOutputMin];
	mad.f32 	%f104, %f10, %f103, %f8;
	mov.f32 	%f105, 0f00000000;   	// 0
	max.f32 	%f106, %f104, %f105;
	mov.f32 	%f107, 0f3f800000;   	// 1
	min.f32 	%f108, %f106, %f107;
	bra.uni 	$Lt_0_24066;
$Lt_0_24322:
	ld.param.f32 	%f109, [__cudaparm_Levels_inBlueInputMax];
	mad.f32 	%f110, %f7, %f109, %f5;
	ld.param.f32 	%f111, [__cudaparm_Levels_inBlueOutputMax];
	mad.f32 	%f112, %f10, %f111, %f8;
	mov.f32 	%f113, 0f00000000;   	// 0
	max.f32 	%f114, %f110, %f113;
	mov.f32 	%f115, 0f00000000;   	// 0
	max.f32 	%f116, %f112, %f115;
	mov.f32 	%f117, 0f3f800000;   	// 1
	min.f32 	%f118, %f114, %f117;
	mov.f32 	%f119, 0f3f800000;   	// 1
	min.f32 	%f120, %f116, %f119;
	setp.le.f32 	%p9, %f118, %f1;
	@!%p9 bra 	$Lt_0_24834;
	.loc	16	55	0
	mov.f32 	%f108, %f120;
	bra.uni 	$Lt_0_24578;
$Lt_0_24834:
	ld.param.f32 	%f121, [__cudaparm_Levels_inMasterGamma];
	ld.param.f32 	%f122, [__cudaparm_Levels_inBlueGamma];
	mul.f32 	%f123, %f121, %f122;
	ld.param.f32 	%f124, [__cudaparm_Levels_inBlueOutputMin];
	mad.f32 	%f125, %f10, %f124, %f8;
	mov.f32 	%f126, 0f00000000;   	// 0
	max.f32 	%f127, %f125, %f126;
	mov.f32 	%f128, 0f3f800000;   	// 1
	min.f32 	%f129, %f127, %f128;
	sub.f32 	%f130, %f1, %f102;
	sub.f32 	%f131, %f118, %f102;
	sub.f32 	%f132, %f120, %f129;
	mov.f32 	%f133, 0f3f800000;   	// 1
	setp.eq.f32 	%p10, %f123, %f133;
	@!%p10 bra 	$Lt_0_25346;
	.loc	16	65	0
	mul.f32 	%f134, %f130, %f132;
	div.full.f32 	%f135, %f134, %f131;
	add.f32 	%f108, %f129, %f135;
	bra.uni 	$Lt_0_25090;
$Lt_0_25346:
	.loc	16	69	0
	div.full.f32 	%f136, %f130, %f131;
	lg2.approx.f32 	%f137, %f136;
	mul.f32 	%f138, %f123, %f137;
	ex2.approx.f32 	%f139, %f138;
	mad.f32 	%f108, %f132, %f139, %f129;
$Lt_0_25090:
$Lt_0_24578:
$Lt_0_24066:
	st.global.v4.f32 	[%rd4+0], {%f108,%f65,%f22,%f4};
$Lt_0_20482:
	.loc	16	148	0
	exit;
$LDWend_Levels:
	} // Levels

