// Blood/oil Decals
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
//   using 3Dmigoto v1.2.57 on Sat May 06 16:40:58 2017
//
//
// Buffer Definitions: 
//
// cbuffer SceneBuffer
// {
//
//   float4x4 g_View;                   // Offset:    0 Size:    64 [unused]
//   float4x4 g_Proj;                   // Offset:   64 Size:    64 [unused]
//   float4x4 g_ViewProjection;         // Offset:  128 Size:    64 [unused]
//   float4x4 g_ViewInverseMatrix;      // Offset:  192 Size:    64
//
// }
//
// cbuffer HPixel_Buffer
// {
//
//   float4 g_TargetUvParam;            // Offset:    0 Size:    16
//
// }
//
// cbuffer CamParam_HPixel_Buffer
// {
//
//   float4 g_CameraParam;              // Offset:    0 Size:    16
//   float4 g_CameraVec;                // Offset:   16 Size:    16 [unused]
//
// }
//
// cbuffer EffectParameterIndex
// {
//
//   uint g_EffectParameterIndex;       // Offset:    0 Size:     4
//
// }
//
// cbuffer ExposureBuffer
// {
//
//   float4 g_Exposure;                 // Offset:    0 Size:    16
//
// }
//
// cbuffer EffectShadowBuffer
// {
//
//   float4 g_EffectShadowFarInv;       // Offset:    0 Size:    16 [unused]
//   float4 g_EffectDepthOffset;        // Offset:   16 Size:    16 [unused]
//   float4 g_EffectBokeOffset;         // Offset:   32 Size:    16 [unused]
//   float4x4 g_EffectShadowView;       // Offset:   48 Size:    64 [unused]
//   float4x4 g_EffectShadowViewProj[4];// Offset:  112 Size:   256
//
// }
//
// Resource bind info for g_EffectPixelCommonBuffers
// {
//
//   struct EffectPixelCommonBuffer
//   {
//       
//       float4 m_ToneCurveRate;        // Offset:    0
//       float4 m_DepthRate;            // Offset:   16
//       float4 m_ColorCorrection;      // Offset:   32
//       float4 m_FogColor;             // Offset:   48
//       float4 m_Gamma;                // Offset:   64
//       float4 m_AlphaCurveRate;       // Offset:   80
//       float4 m_DitherRate;           // Offset:   96
//
//   } $Element;                        // Offset:    0 Size:   112
//
// }
//
// Resource bind info for g_EffectPixelProjectionBuffers
// {
//
//   struct EffectPixelProjectionBuffer
//   {
//       
//       float4 m_WorldInverseMatrixCol0;// Offset:    0
//       float4 m_WorldInverseMatrixCol1;// Offset:   16
//       float4 m_ProjectionCenter;     // Offset:   32
//       float4 m_ProjectionDir;        // Offset:   48
//       float4 m_ProjectionUvOffset;   // Offset:   64
//       float4 m_ProjectionUvTile;     // Offset:   80
//
//   } $Element;                        // Offset:    0 Size:    96
//
// }
//
// Resource bind info for g_EffectPixelCategoryBuffers
// {
//
//   struct EffectPixelCategoryBuffer
//   {
//       
//       float4 m_Category00;           // Offset:    0
//       float4 m_Category01;           // Offset:   16
//       float4 m_Category02;           // Offset:   32
//       float4 m_Category03;           // Offset:   48
//       float4 m_Category04;           // Offset:   64
//       float4 m_Category05;           // Offset:   80
//       float4 m_Category06;           // Offset:   96
//       float4 m_Category07;           // Offset:  112
//
//   } $Element;                        // Offset:    0 Size:   128
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// g_ColorTextureSampler             sampler      NA          NA    0        1
// g_MaskTextureSampler              sampler      NA          NA    2        1
// g_NormalTextureSampler            sampler      NA          NA    4        1
// g_CubeMapTextureSampler           sampler      NA          NA    9        1
// g_ColorTexture                    texture  float4          2d    0        1
// g_MaskTexture                     texture  float4          2d    2        1
// g_NormalTexture                   texture  float4          2d    4        1
// g_CubeMapTexture                  texture  float4        cube    9        1
// g_ShadowTexture                   texture  float4          2d   11        1
// g_ZTexture                        texture  float4          2d   13        1
// g_EffectPixelCommonBuffers        texture  struct         r/o   27        1
// g_EffectPixelProjectionBuffers    texture  struct         r/o   28        1
// g_EffectPixelCategoryBuffers      texture  struct         r/o   30        1
// SceneBuffer                       cbuffer      NA          NA    0        1
// EffectParameterIndex              cbuffer      NA          NA    1        1
// ExposureBuffer                    cbuffer      NA          NA    7        1
// EffectShadowBuffer                cbuffer      NA          NA    9        1
// HPixel_Buffer                     cbuffer      NA          NA   12        1
// CamParam_HPixel_Buffer            cbuffer      NA          NA   13        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy  
// TEXCOORD                 0   xyzw        1     NONE   float   xyzw
// TEXCOORD                 2   xyzw        2     NONE   float   xy  
// COLOR                    1   xyz         3     NONE   float   xyz 
// COLOR                    2   xyzw        4     NONE   float   xyzw
// TEXCOORD                 6   xyz         5     NONE   float   xyz 
// TEXCOORD                 7   xyz         6     NONE   float       
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_immediateConstantBuffer { { 0, 0, 0, 0},
                              { 0.500000, 0, 0, 0},
                              { 0, 0.500000, 0, 0},
                              { 0.500000, 0.500000, 0, 0} }
dcl_constantbuffer cb0[16], immediateIndexed
dcl_constantbuffer cb12[1], immediateIndexed
dcl_constantbuffer cb13[1], immediateIndexed
dcl_constantbuffer cb1[1], immediateIndexed
dcl_constantbuffer cb7[1], immediateIndexed
dcl_constantbuffer cb9[22], dynamicIndexed
dcl_sampler s0, mode_default
dcl_sampler s2, mode_default
dcl_sampler s4, mode_default
dcl_sampler s9, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texturecube (float,float,float,float) t9
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2d (float,float,float,float) t13
dcl_resource_structured t27, 112 
dcl_resource_structured t28, 96 
dcl_resource_structured t30, 128 
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xy
dcl_input_ps linear v3.xyz
dcl_input_ps linear v4.xyzw
dcl_input_ps linear v5.xyz
dcl_output o0.xyzw

dcl_temps 10

// 3DMigoto StereoParams:
dcl_resource_texture1d (float,float,float,float) t120
dcl_resource_texture2d (float,float,float,float) t125


mul r0.xy, v0.xyxx, cb12[0].xyxx
add r0.zw, r0.xxxy, r0.xxxy
resinfo_indexable(texture2d)(float,float,float,float) r1.xy, l(0), t13.xyzw
mul r0.zw, r0.zzzw, r1.xxxy
ftoi r1.xy, r0.zwzz
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r0.z, r1.xyzw, t13.yzxw
mad r0.z, r0.z, cb13[0].y, cb13[0].x
mul r0.xy, r0.xyxx, l(4.000000, 4.000000, 0.000000, 0.000000)
mad r0.xy, r0.xyxx, l(1.000000, -1.000000, 0.000000, 0.000000), l(-1.000000, 1.000000, 0.000000, 0.000000)
mul r0.xy, r0.zzzz, r0.xyxx
mul r1.xy, r0.xyxx, cb13[0].zwzz
mov r1.z, -r0.z
mov r1.w, l(1.000000)

ld_indexable(texture2d)(float,float,float,float) r5.xyzw, l(0, 0, 0, 0), t125.xyzw
add r5.y, r1.z, r5.y
mul r5.x, r5.x, r5.y
rcp r5.w, cb0[4].x
mul r5.x, r5.x, r5.w
add r1.x, r1.x, r5.x

// Original Code
dp4 r0.x, r1.xyzw, cb0[12].xyzw
dp4 r0.y, r1.xyzw, cb0[13].xyzw
dp4 r0.z, r1.xyzw, cb0[14].xyzw
dp4 r0.w, r1.xyzw, cb0[15].xyzw

ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r1.xyzw, cb1[0].x, l(0), t28.xyzw
ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r2.xyzw, cb1[0].x, l(16), t28.xyzw
dp4 r1.x, r0.xyzw, r1.xyzw
dp4 r1.z, r0.xyzw, r2.xyzw
add r1.xy, r1.xzxx, l(1.000000, 1.000000, 0.000000, 0.000000)
ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r2.xyzw, cb1[0].x, l(80), t28.xyzw
ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r3.xyzw, cb1[0].x, l(64), t28.xyzw
mad r2.xyzw, r1.xyxy, r2.xyzw, r3.xyzw
sample_indexable(texture2d)(float,float,float,float) r3.xyz, v2.xyxx, t4.xyzw, s4
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r4.xyzw, cb1[0].x, l(0), t30.xyzw
add r1.zw, r3.xxxy, r4.zzzw
mul r1.zw, r4.xxxy, r1.zzzw
ld_structured_indexable(structured_buffer, stride=128)(mixed,mixed,mixed,mixed) r4.xy, cb1[0].x, l(16), t30.xyxx
mad r1.zw, r4.xxxx, r1.zzzw, r2.xxxy
ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r5.z, cb1[0].x, l(44), t27.xxxx
resinfo_indexable(texture2d)(float,float,float,float) r4.xz, l(0), t0.xzyw
div r3.w, r4.z, r4.x
mul r5.y, r3.w, r5.z
ge r4.xz, |r5.yyzy|, l(1.192092896E-007, 0.000000, 1.192092896E-007, 0.000000)
add r6.xy, r1.zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
div r6.xy, r6.xyxx, r5.yzyy
round_ni r6.xy, r6.xyxx
add r6.xy, r6.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mad r5.yw, r6.xxxy, r5.yyyz, l(0.000000, 0.500000, 0.000000, 0.500000)
movc r1.zw, r4.xxxz, r5.yyyw, r1.zzzw
sample_indexable(texture2d)(float,float,float,float) r6.xyzw, r2.xyxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r7.xyzw, r1.zwzz, t0.xyzw, s0
add r7.xyzw, -r6.xyzw, r7.xyzw
mad r4.xyzw, r4.yyyy, r7.xyzw, r6.xyzw
ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r1.zw, cb1[0].x, l(60), t27.xxxy
mad r3.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mul r2.x, r3.x, v4.w
dp3 r2.y, v3.xyzx, v3.xyzx
rsq r2.y, r2.y
mul r6.xyz, r2.yyyy, v3.xyzx
dp3 r2.y, v4.xyzx, v4.xyzx
rsq r2.y, r2.y
mul r7.xyz, r2.yyyy, v4.xyzx
mul r8.xyz, r6.yzxy, r7.zxyz
mad r8.xyz, r7.yzxy, r6.zxyz, -r8.xyzx
mul r3.xyw, -r3.yyyy, r8.xyxz
mad r3.xyw, r2.xxxx, r7.xyxz, r3.xyxw
mad r3.xyz, r3.zzzz, r6.xyzx, r3.xywx
dp3 r2.x, r3.xyzx, r3.xyzx
rsq r2.x, r2.x
mad r3.xyz, r3.xyzx, r2.xxxx, -v3.xyzx
mad r3.xyz, r1.zzzz, r3.xyzx, v3.xyzx
dp3 r1.z, r3.xyzx, r3.xyzx
rsq r1.z, r1.z
mul r3.xyz, r1.zzzz, r3.xyzx
dp3 r1.z, v5.xyzx, r3.xyzx
add r1.z, r1.z, r1.z
mad r3.xyz, r3.xyzx, -r1.zzzz, v5.xyzx
mov r3.w, -r3.z
sample_indexable(texturecube)(float,float,float,float) r3.xyzw, r3.xywx, t9.xyzw, s9
mul r3.xyzw, r3.xyzw, r4.xyzw
resinfo_indexable(texture2d)(float,float,float,float) r2.xy, l(0), t2.xyzw
div r1.z, r2.y, r2.x
mul r5.x, r1.z, r5.z
ge r2.xy, |r5.xzxx|, l(1.192092896E-007, 1.192092896E-007, 0.000000, 0.000000)
add r4.xy, r2.zwzz, l(-0.500000, -0.500000, 0.000000, 0.000000)
div r4.xy, r4.xyxx, r5.xzxx
round_ni r4.xy, r4.xyxx
add r4.xy, r4.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mad r4.xy, r4.xyxx, r5.xzxx, l(0.500000, 0.500000, 0.000000, 0.000000)
movc r2.xy, r2.xyxx, r4.xyxx, r2.zwzz
sample_indexable(texture2d)(float,float,float,float) r1.z, r2.xyxx, t2.xywz, s2
mul r2.x, r1.z, r1.z
mad r1.z, -r1.z, r1.z, r1.z
mad r1.z, r1.w, r1.z, r2.x
ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r2.xyzw, cb1[0].x, l(80), t27.xyzw
mad r1.w, r3.w, r1.z, -r1.z
mad r1.z, r2.w, r1.w, r1.z
ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r4.xyz, cb1[0].x, l(32), t28.xyzx
ld_structured_indexable(structured_buffer, stride=96)(mixed,mixed,mixed,mixed) r5.xyzw, cb1[0].x, l(48), t28.xyzw
add r4.xyz, r0.xyzx, -r4.xyzx
dp3 r1.w, r4.xyzx, r5.xyzx
mul_sat r1.w, r5.w, |r1.w|
add r4.xy, -r1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
round_ni_sat r4.xy, r4.xyxx
add r4.xy, -r4.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
round_ni_sat r1.xy, r1.xyxx
add r1.xyw, -r1.xyxw, l(1.000000, 1.000000, 0.000000, 1.000000)
mul r2.w, r4.y, r4.x
mul r1.x, r1.x, r2.w
mul r1.x, r1.y, r1.x
mul r1.x, r1.x, r1.w
mul r1.y, r1.x, r1.z
ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r4.xyzw, cb1[0].x, l(0), t27.xyzw
add r1.w, -r2.y, r2.z
mad r1.x, r1.z, r1.x, -r2.y
div r1.z, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
mul_sat r1.x, r1.z, r1.x
mad r1.z, r1.x, l(-2.000000), l(3.000000)
mul r1.x, r1.x, r1.x
mad r1.x, r1.z, r1.x, -r1.y
mad r3.w, r2.x, r1.x, r1.y
mad r1.xyzw, r3.xyzw, r4.yyyw, r4.xxxz
ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r2.xy, cb1[0].x, l(32), t27.xyxx
dp3 r2.z, r1.xyzx, l(0.298912, 0.586611, 0.114478, 0.000000)
add r3.xyz, -r1.xyzx, r2.zzzz
mov r3.w, l(0)
mad r1.xyzw, r2.yyyy, r3.xyzw, r1.xyzw
mul r3.xyzw, r1.xyzw, v1.xyzw
ge r1.w, l(0.000100), r3.w
discard_nz r1.w
dp3 r1.w, r1.xyzx, l(0.298912, 0.586611, 0.114478, 0.000000)
mul r1.w, r2.x, r1.w
mad r1.xyz, -r1.xyzx, v1.xyzx, r1.xyzx
mad r1.xyz, r1.wwww, r1.xyzx, r3.xyzx
mov r1.w, l(0)
mov r2.xyzw, l(0,0,0,0)
loop 
  uge r3.x, r2.w, l(4)
  breakc_nz r3.x
  ishl r3.x, r2.w, l(2)
  dp4 r4.x, r0.xyzw, cb9[r3.x + 7].xyzw
  dp4 r4.y, r0.xyzw, cb9[r3.x + 8].xyzw
  dp4 r3.x, r0.xyzw, cb9[r3.x + 9].xyzw
  mad r3.yz, r4.xxyx, l(0.000000, 0.500000, -0.500000, 0.000000), l(0.000000, 0.500000, 0.500000, 0.000000)
  ge r4.xy, r3.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000)
  lt r4.zw, r3.yyyz, l(0.000000, 0.000000, 1.000000, 1.000000)
  and r4.x, r4.z, r4.x
  and r4.x, r4.y, r4.x
  and r4.x, r4.w, r4.x
  if_nz r4.x
    mov r2.xy, r3.yzyy
    mov r1.w, r3.x
    break 
  endif 
  iadd r2.zw, r2.zzzw, l(0, 0, 1, 1)
  mov r2.xy, r3.yzyy
  mov r1.w, r3.x
endloop 
mov r0.xyzw, r2.xyxy
ult r2.x, r2.z, l(4)
if_nz r2.x
  ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r2.x, cb1[0].x, l(68), t27.xxxx
  mad r0.xyzw, r0.xyzw, l(0.500000, 0.500000, 0.500000, 0.500000), icb[r2.z + 0].xyxy
  resinfo_indexable(texture2d)(float,float,float,float) r2.yz, l(0), t11.zxyw
  add r4.xyzw, r0.zwzw, l(-0.000976562500, -0.000976562500, 0.000000, -0.000976562500)
  mul r5.xyzw, r4.xyzw, l(1024.000000, 1024.000000, 1024.000000, 1024.000000)
  mul r3.xy, r0.zwzz, l(1024.000000, 1024.000000, 0.000000, 0.000000)
  add r6.xyzw, r0.zwzw, l(0.000976562500, -0.000976562500, -0.000976562500, 0.000000)
  mul r7.xy, r6.zwzz, l(1024.000000, 1024.000000, 0.000000, 0.000000)
  frc r5.xyzw, r5.xyzw
  frc r3.xy, r3.xyxx
  frc r7.xy, r7.xyxx
  mul r4.xyzw, r2.yzyz, r4.xyzw
  ftoi r4.xyzw, r4.zwxy
  mov r8.xy, r4.zwzz
  mov r8.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r2.w, r8.xyzw, t11.yzwx
  lt r2.w, r2.w, r1.w
  mov r4.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r3.z, r4.xyzw, t11.yzxw
  lt r3.z, r3.z, r1.w
  movc r4.xy, r3.zzzz, l(0,-0.000000,0,0), l(1.000000,-1.000000,0,0)
  mul r6.xyzw, r2.yzyz, r6.xyzw
  ftoi r6.xyzw, r6.zwxy
  mov r8.xy, r6.zwzz
  mov r8.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r3.z, r8.xyzw, t11.yzxw
  lt r3.z, r3.z, r1.w
  movc r3.z, r3.z, l(0), l(1.000000)
  mov r6.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.z, r6.xyzw, t11.yzxw
  lt r4.z, r4.z, r1.w
  mul r6.xy, r0.zwzz, r2.yzyy
  ftoi r6.xy, r6.xyxx
  mov r6.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.w, r6.xyzw, t11.yzwx
  lt r4.w, r4.w, r1.w
  movc r6.xy, r4.wwww, l(0,-0.000000,0,0), l(1.000000,-1.000000,0,0)
  add r8.xyzw, r0.zwzw, l(0.000976562500, 0.000000, -0.000976562500, 0.000976562500)
  mul r8.xyzw, r2.yzyz, r8.xyzw
  ftoi r8.xyzw, r8.zwxy
  mov r9.xy, r8.zwzz
  mov r9.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.w, r9.xyzw, t11.yzwx
  lt r4.w, r4.w, r1.w
  movc r4.w, r4.w, l(0), l(1.000000)
  mov r8.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r6.z, r8.xyzw, t11.yzxw
  lt r6.z, r6.z, r1.w
  add r0.xyzw, r0.xyzw, l(0.000000, 0.000976562500, 0.000976562500, 0.000976562500)
  mul r0.xyzw, r2.yzyz, r0.xyzw
  ftoi r0.xyzw, r0.zwxy
  mov r8.xy, r0.zwzz
  mov r8.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r2.y, r8.xyzw, t11.yxzw
  lt r2.y, r2.y, r1.w
  mov r0.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r0.x, r0.xyzw, t11.xyzw
  lt r0.x, r0.x, r1.w
  movc r0.x, r0.x, l(0), l(1.000000)
  movc r0.yz, r2.wwww, l(0,0,-0.000000,0), l(0,1.000000,-1.000000,0)
  add r0.z, r0.z, r4.x
  mad r0.y, r5.x, r0.z, r0.y
  movc r0.zw, r4.zzzz, l(0,0,0,-0.000000), l(0,0,1.000000,-1.000000)
  add r0.w, r0.w, r6.x
  mad r1.w, r5.x, r0.w, r0.z
  add r1.w, -r0.y, r1.w
  mad r0.y, r5.y, r1.w, r0.y
  add r1.w, r4.y, r3.z
  mad r1.w, r5.z, r1.w, r4.x
  add r2.z, r6.y, r4.w
  mad r2.w, r5.z, r2.z, r6.x
  add r2.w, -r1.w, r2.w
  mad r1.w, r5.w, r2.w, r1.w
  add r0.y, r0.y, r1.w
  mad r1.w, r3.x, r2.z, r6.x
  movc r2.yz, r2.yyyy, l(0,0,-0.000000,0), l(0,1.000000,-1.000000,0)
  add r0.x, r0.x, r2.z
  mad r0.x, r3.x, r0.x, r2.y
  add r0.x, -r1.w, r0.x
  mad r0.x, r3.y, r0.x, r1.w
  add r0.x, r0.x, r0.y
  mad r0.y, r7.x, r0.w, r0.z
  movc r0.zw, r6.zzzz, l(0,0,0,-0.000000), l(0,0,1.000000,-1.000000)
  add r0.w, r0.w, r2.y
  mad r0.z, r7.x, r0.w, r0.z
  add r0.z, -r0.y, r0.z
  mad r0.y, r7.y, r0.z, r0.y
  add r0.x, r0.y, r0.x
  mul_sat r0.x, r0.x, l(0.250000)
  add r0.x, -r0.x, l(1.000000)
  mul_sat r0.x, r2.x, r0.x
  add r0.x, -r0.x, l(1.000000)
else 
  mov r0.x, l(1.000000)
endif 
mul r0.xyz, r0.xxxx, r1.xyzx
mad r1.xyz, r0.xyzx, cb7[0].xxxx, -r0.xyzx
mul r1.xyz, r1.xyzx, cb7[0].yyyy
ld_structured_indexable(structured_buffer, stride=112)(mixed,mixed,mixed,mixed) r0.w, cb1[0].x, l(76), t27.xxxx
mad o0.xyz, |r0.wwww|, r1.xyzx, r0.xyzx
mov_sat o0.w, r3.w
ret 
// Approximately 257 instruction slots used
