//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Modified for NaturalVision by Razed
//
// Buffer Definitions: 
//
// cbuffer rage_matrices
// {
//
//   row_major float4x4 gWorld;         // Offset:    0 Size:    64 [unused]
//   row_major float4x4 gWorldView;     // Offset:   64 Size:    64
//   row_major float4x4 gWorldViewProj; // Offset:  128 Size:    64
//   row_major float4x4 gViewInverse;   // Offset:  192 Size:    64
//
// }
//
// cbuffer misc_globals
// {
//
//   float4 globalFade;                 // Offset:    0 Size:    16 [unused]
//   float globalHeightScale;           // Offset:   16 Size:     4 [unused]
//   float globalShaderQuality;         // Offset:   20 Size:     4 [unused]
//   float globalReuseMe00001;          // Offset:   24 Size:     4 [unused]
//   float globalReuseMe00002;          // Offset:   28 Size:     4 [unused]
//   float4 POMFlags;                   // Offset:   32 Size:    16 [unused]
//   float4 g_Rage_Tessellation_CameraPosition;// Offset:   48 Size:    16 [unused]
//   float4 g_Rage_Tessellation_CameraZAxis;// Offset:   64 Size:    16 [unused]
//   float4 g_Rage_Tessellation_ScreenSpaceErrorParams;// Offset:   80 Size:    16 [unused]
//   float4 g_Rage_Tessellation_LinearScale;// Offset:   96 Size:    16 [unused]
//   float4 g_Rage_Tessellation_Frustum[4];// Offset:  112 Size:    64 [unused]
//   float4 g_Rage_Tessellation_Epsilons;// Offset:  176 Size:    16 [unused]
//   float4 globalScalars;              // Offset:  192 Size:    16 [unused]
//   float4 globalScalars2;             // Offset:  208 Size:    16 [unused]
//   float4 globalScalars3;             // Offset:  224 Size:    16 [unused]
//   float4 globalScreenSize;           // Offset:  240 Size:    16
//   uint4 gTargetAAParams;             // Offset:  256 Size:    16 [unused]
//   float4 colorize;                   // Offset:  272 Size:    16 [unused]
//   float4 gGlobalParticleShadowBias;  // Offset:  288 Size:    16 [unused]
//   float gGlobalParticleDofAlphaScale;// Offset:  304 Size:     4 [unused]
//   float gGlobalFogIntensity;         // Offset:  308 Size:     4 [unused]
//   float4 gPlayerLFootPos;            // Offset:  320 Size:    16 [unused]
//   float4 gPlayerRFootPos;            // Offset:  336 Size:    16 [unused]
//
// }
//
// cbuffer lighting_globals
// {
//
//   float4 gDirectionalLight;          // Offset:    0 Size:    16 [unused]
//   float4 gDirectionalColour;         // Offset:   16 Size:    16 [unused]
//   int gNumForwardLights;             // Offset:   32 Size:     4 [unused]
//   float4 gLightPositionAndInvDistSqr[8];// Offset:   48 Size:   128 [unused]
//   float4 gLightDirectionAndFalloffExponent[8];// Offset:  176 Size:   128 [unused]
//   float4 gLightColourAndCapsuleExtent[8];// Offset:  304 Size:   128 [unused]
//   float gLightConeScale[8];          // Offset:  432 Size:   116 [unused]
//   float gLightConeOffset[8];         // Offset:  560 Size:   116 [unused]
//   float4 gLightNaturalAmbient0;      // Offset:  688 Size:    16 [unused]
//   float4 gLightNaturalAmbient1;      // Offset:  704 Size:    16 [unused]
//   float4 gLightArtificialIntAmbient0;// Offset:  720 Size:    16 [unused]
//   float4 gLightArtificialIntAmbient1;// Offset:  736 Size:    16 [unused]
//   float4 gLightArtificialExtAmbient0;// Offset:  752 Size:    16 [unused]
//   float4 gLightArtificialExtAmbient1;// Offset:  768 Size:    16 [unused]
//   float4 gDirectionalAmbientColour;  // Offset:  784 Size:    16 [unused]
//   float4 globalFogParams[5];         // Offset:  800 Size:    80
//   float4 globalFogColor;             // Offset:  880 Size:    16 [unused]
//   float4 globalFogColorE;            // Offset:  896 Size:    16 [unused]
//   float4 globalFogColorN;            // Offset:  912 Size:    16 [unused]
//   float4 globalFogColorMoon;         // Offset:  928 Size:    16 [unused]
//   float4 gReflectionTweaks;          // Offset:  944 Size:    16 [unused]
//
// }
//
// cbuffer im_cbuffer
// {
//
//   float4 TexelSize;                  // Offset:    0 Size:    16 [unused]
//   float4 refMipBlurParams;           // Offset:   16 Size:    16
//   float4 GeneralParams0;             // Offset:   32 Size:    16
//   float4 GeneralParams1;             // Offset:   48 Size:    16 [unused]
//   float g_fBilateralCoefficient;     // Offset:   64 Size:     4 [unused]
//   float g_fBilateralEdgeThreshold;   // Offset:   68 Size:     4 [unused]
//   float DistantCarAlpha;             // Offset:   72 Size:     4 [unused]
//   float4 tonemapColorFilterParams0;  // Offset:   80 Size:    16 [unused]
//   float4 tonemapColorFilterParams1;  // Offset:   96 Size:    16 [unused]
//   float4 RenderTexMSAAParam;         // Offset:  112 Size:    16 [unused]
//   float4 RenderPointMapINTParam;     // Offset:  128 Size:    16 [unused]
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// CoronasDepthMapSampler            sampler      NA          NA    0        1
// CoronasDepthMapSampler            texture  float4          2d    0        1
// rage_matrices                     cbuffer      NA          NA    1        1
// misc_globals                      cbuffer      NA          NA    2        1
// lighting_globals                  cbuffer      NA          NA    3        1
// im_cbuffer                        cbuffer      NA          NA    5        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// POSITION                 0   xyz         0     NONE   float   xyz 
// COLOR                    0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 0   xy          2     NONE   float   xy  
// NORMAL                   0   xyz         3     NONE   float   xyz 
// SV_InstanceID            0   x           4   INSTID    uint       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xyzw
// TEXCOORD                 0   xy          1     NONE   float   xy  
// TEXCOORD                 1   xyz         2     NONE   float   xyz 
//
vs_4_0
dcl_immediateConstantBuffer { { 0.772968, -0.222156, 0.528241, -0.802848},
                              { 0.262963, -0.075235, 0.823705, -0.556188},
                              { 0.569683, 0.121086, 0.398884, -0.411417},
                              { 0.440016, 0.487990, -0.034640, 0.176342},
                              { -0.120323, -0.586049, 0.200466, -0.687419},
                              { -0.258614, -0.163080, -0.688321, -0.635556},
                              { -0.345086, -0.848096, -0.362813, 0.614420},
                              { 0.061750, 0.506920, 0.977316, 0.208662},
                              { 0.789433, 0.490265, -0.702313, -0.071461},
                              { -0.495341, 0.233821, 0.179311, 0.962585},
                              { -0.930975, -0.327397, -0.912985, 0.241697},
                              { -0.217266, 0.972708, -0.697119, 0.529669} }
dcl_constantbuffer cb1[16], immediateIndexed
dcl_constantbuffer cb2[16], immediateIndexed
dcl_constantbuffer cb3[53], immediateIndexed
dcl_constantbuffer cb5[3], immediateIndexed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input v0.xyz
dcl_input v1.xyzw
dcl_input v2.xy
dcl_input v3.xyz
dcl_output_siv o0.xyzw, position
dcl_output o1.xy
dcl_output o2.xyz
dcl_output o3.xyz
dcl_temps 4
add r0.xyz, v0.xyzx, -v3.xyzx
dp3 r0.x, r0.xyzx, r0.xyzx
sqrt r0.x, r0.x
mul r0.x, r0.x, l(7.071068e+000)
add r0.yzw, v3.xxyz, -cb1[15].xxyz
dp3 r1.x, r0.yzwy, r0.yzwy
sqrt r1.x, r1.x
lt r1.y, r1.x, r0.x
dp3 r0.y, cb1[6].xyzx, r0.yzwy
lt r0.z, -r0.x, r0.y
div r0.x, r0.y, r0.x
add r0.x, -r0.x, l(1.000000e+000)
mul_sat r0.x, r0.x, l(5.000000e+000)
movc r0.x, r0.z, r0.x, l(1.000000)
movc r0.x, r1.y, r0.x, l(1.000000)
mul r0.yzw, v3.yyyy, cb1[9].xxyw
mad r0.yzw, v3.xxxx, cb1[8].xxyw, r0.yyzw
mad r0.yzw, v3.zzzz, cb1[10].xxyw, r0.yyzw
add r0.yzw, r0.yyzw, cb1[11].xxyw
div r1.y, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r0.w
mul r0.yz, r0.yyzy, r1.yyyy
mad r1.zw, r0.yyyz, l(0.000000e+000, 0.000000e+000, 5.000000e-001, -5.000000e-001), l(0.000000e+000, 0.000000e+000, 5.000000e-001, 5.000000e-001)
sample_l_indexable(texture2d)(float,float,float,float) r1.z, r1.zwzz, t0.yzxw, s0, l(0.000000e+000)
ge r1.z, r1.z, r0.w
if_nz r1.z
  mul r1.zw, v0.yyyy, cb1[9].xxxy
  mad r1.zw, v0.xxxx, cb1[8].xxxy, r1.zzzw
  mad r1.zw, v0.zzzz, cb1[10].xxxy, r1.zzzw
  add r1.zw, r1.zzzw, cb1[11].xxxy
  mad r1.yz, r1.zzwz, r1.yyyy, -r0.yyzy
  dp2 r1.y, r1.yzyy, r1.yzyy
  sqrt r1.y, r1.y
  mul r1.y, r1.y, cb5[2].x
  dp2 r1.z, cb5[2].yyyy, cb2[15].zzzz
  min r1.y, r1.z, r1.y
  mad r2.xyzw, r1.yyyy, l(7.000000e-001, -2.000000e-001, 5.000000e-001, -8.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.z, r2.xyxx, t0.yzxw, s0, l(0.000000e+000)
  ge r1.z, r1.z, r0.w
  and r1.z, r1.z, l(0x3f800000)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(2.000000e-001, -7.000000e-002, 8.000000e-001, -5.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(5.000000e-001, 1.000000e-001, 3.000000e-001, -4.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(4.000000e-001, 4.000000e-001, -3.000000e-002, 1.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(-1.000000e-001, -5.000000e-001, 2.000000e-001, -6.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(-2.000000e-001, -1.000000e-001, -6.000000e-001, -6.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(-3.000000e-001, -8.000000e-001, -3.000000e-001, 6.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(6.000000e-002, 5.000000e-001, 9.000000e-001, 2.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(7.000000e-001, 4.000000e-001, -7.000000e-001, -7.000000e-002), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(-4.000000e-001, 2.000000e-001, 1.000000e-001, 9.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(-9.000000e-001, -3.000000e-001, -9.000000e-001, 2.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.xyxx, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.w, r2.zwzz, t0.yzwx, s0, l(0.000000e+000)
  ge r1.w, r1.w, r0.w
  and r1.w, r1.w, l(0x3f800000)
  add r1.z, r1.w, r1.z
  mad r2.xyzw, r1.yyyy, l(-2.000000e-001, 9.000000e-001, -6.000000e-001, 5.000000e-001), r0.yzyz
  mad r2.xyzw, r2.xyzw, l(5.000000e-001, -5.000000e-001, 5.000000e-001, -5.000000e-001), l(5.000000e-001, 5.000000e-001, 5.000000e-001, 5.000000e-001)
  sample_l_indexable(texture2d)(float,float,float,float) r1.y, r2.xyxx, t0.yxzw, s0, l(0.000000e+000)
  ge r1.y, r1.y, r0.w
  and r1.y, r1.y, l(0x3f800000)
  add r1.y, r1.y, r1.z
  sample_l_indexable(texture2d)(float,float,float,float) r1.z, r2.zwzz, t0.yzxw, s0, l(0.000000e+000)
  ge r0.w, r1.z, r0.w
  and r0.w, r0.w, l(0x3f800000)
  add r0.w, r0.w, r1.y
else 
  mov r0.w, l(0)
endif 
mul r2.y, r0.w, l(4.166667e-002)
add r0.w, l(1.000100e+000), -cb5[1].x
div r0.w, l(1.000000e+000, 1.000000e+000, 1.000000e+000, 1.000000e+000), r0.w
add_sat r0.yz, |r0.yyzy|, -cb5[1].xxxx
max r0.y, r0.z, r0.y
mul_sat r0.y, r0.w, r0.y
add r2.x, -r0.y, l(1.000000e+000)
mul r0.yz, r2.xxyx, r2.xxyx
mul r0.y, r0.y, r0.z
lt r0.z, l(0.000000e+000), r0.y
movc r1.yzw, r0.zzzz, v0.xxyz, v3.xxyz
mul r2.xyzw, r1.zzzz, cb1[9].xyzw
mad r2.xyzw, r1.yyyy, cb1[8].xyzw, r2.xyzw
mad r2.xyzw, r1.wwww, cb1[10].xyzw, r2.xyzw
add o0.xyzw, r2.xyzw, cb1[11].xyzw
lt r0.z, v1.y, v1.x
mul r2.xyzw, v1.yzyz, l(4.000000e+000, 4.000000e+000, 4.000000e+000, 4.000000e+001)
lt r0.w, v1.x, r2.x
and r0.z, r0.w, r0.z
lt r1.yzw, r2.yyzw, v1.yyxx
and r0.z, r0.z, r1.y
movc r2.xyz, r0.zzzz, v1.yyyy, v1.xyzx
mul r0.yzw, r0.yyyy, r2.xxyz
mul r0.xyz, r0.xxxx, r0.yzwy
lt r0.w, v2.y, l(5.400000e-001)
add r1.y, v2.y, v2.y
min r1.y, r1.y, l(5.400000e-001)
movc r0.w, r0.w, r1.y, v2.y
mul r0.xyz, r0.xyzx, r0.wwww
and r0.w, r1.w, r1.z
mul r2.xyzw, v1.yyxy, l(1.700000e+001, 1.700000e+001, 1.700000e+001, 8.500000e+001)
lt r2.xyzw, r2.xyzw, v1.xzzx
eq r1.y, v1.z, l(0.000000e+000)
and r1.z, r2.z, r2.y
and r1.yw, r1.yyyy, r2.xxxw
not r2.xy, r1.ywyy
and r0.w, r0.w, r2.x
and r0.w, r2.y, r0.w
and r1.w, r1.y, l(0x3f800000)
mul r1.x, r1.x, l(1.000000e-002)
min r1.x, r1.x, l(1.000000e+000)
movc r2.x, r1.y, l(-0.300000), l(0.700000)
mad r1.x, r1.x, r2.x, r1.w
mul r2.xzw, r0.xxyz, r1.xxxx
movc r0.xyz, r0.wwww, r2.xzwx, r0.xyzx
or r0.w, r1.z, r1.y
and r0.w, r2.y, r0.w
add r1.xyz, r0.xyzx, r0.xyzx
movc r0.xyz, r0.wwww, r1.xyzx, r0.xyzx
add r1.xyz, v0.xyzx, -cb1[15].xyzx
dp3 r0.w, r1.xyzx, r1.xyzx
sqrt r0.w, r0.w
add r1.x, r0.w, -cb3[50].x
max r1.x, r1.x, l(0.000000e+000)
div r0.w, r1.x, r0.w
mul r0.w, r0.w, r1.z
mul r1.y, r0.w, cb3[52].z
lt r0.w, l(0.000000e-002), |r0.w|
mul r1.z, r1.y, l(-1.442695e+000)
exp r1.z, r1.z
add r1.z, -r1.z, l(1.000000e+000)
div r1.y, r1.z, r1.y
movc r0.w, r0.w, r1.y, l(1.000000)
mul r1.y, r1.x, cb3[51].w
mul r0.w, r0.w, r1.y
min r0.w, r0.w, l(1.000000e+000)
mul r0.w, r0.w, l(1.442695e+000)
exp r0.w, r0.w
min r0.w, r0.w, l(1.000000e+000)
add r0.w, -r0.w, l(1.000000e+000)
mul r1.y, r0.w, cb3[52].y
mad r0.w, -r0.w, cb3[52].y, l(1.000000e+000)
mul r0.w, r0.w, cb3[51].y
add r1.x, r1.x, -cb3[52].x
max r1.x, r1.x, l(0.000000e+000)
mul r1.x, r1.x, cb3[51].x
mul r1.x, r1.x, l(1.442695e+000)
exp r1.x, r1.x
add r1.x, -r1.x, l(1.000000e+000)
mad_sat r0.w, r0.w, r1.x, r1.y
add r0.w, -r0.w, l(1.000000e+000)
mul o2.xyz, r0.wwww, r0.xyzx
mov o3.xyz, v3.xyzx
mov o1.x, v2.x
mov o1.y, v1.w
ret
// Approximately 108 instruction slots used
