// MANUALLY DUMPED [ShaderRegexDecalsMain]
//
// Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20546
//
//   using 3Dmigoto v1.3.16 on Thu Oct 29 12:08:42 2020
//
//
// Buffer Definitions:
//
// cbuffer cbSceneParam
// {
//
//   float4 FC_FarClipInfo;             // Index:    0.xyzw           Components:     4 [unused]
//   float4 FC_ScreenSize;              // Index:    1.xyzw           Components:     4 [unused]
//   float4 FC_DepthComputeParam;       // Index:    2.xyzw           Components:     4 [unused]
//   float4 SC_CameraPos;               // Index:    3.xyzw           Components:     4 [unused]
//   float4 VC_ClipPlane;               // Index:    4.xyzw           Components:     4 [unused]
//   float4x3 FC_MatrixView;            // Index:    5 6 7            Components:    12 [unused]
//   float4x4 FC_MatrixInvViewProj;     // Index:    8 9 10 11        Components:    16 [unused]
//   float4x4 FC_MatrixInvProj;         // Index:   12 13 14 15       Components:    16 [unused]
//   float4x4 FC_MatrixProj;            // Index:   16 17 18 19       Components:    16 [unused]
//   float4x4 FC_MatrixInvView;         // Index:   20 21 22 23       Components:    16 [unused]
//   float4x4 VC_MatrixViewProj;        // Index:   24 25 26 27       Components:    16 [unused]
//   float4 FC_ShadowMapParam;          // Index:   28.xyzw           Components:     4 [unused]
//   float4 FC_ShadowColor;             // Index:   29.xyzw           Components:     4 [unused]
//   float4 FC_ShadowDir;               // Index:   30.xyzw           Components:     4 [unused]
//   float4x4 VC_ShadowMapMatrix;       // Index:   31 32 33 34       Components:    16 [unused]
//   float FC_ShadowDepthRate;          // Index:   35.x              Components:     1 [unused]
//   float FC_ShadowDepthScale;         // Index:   35.y              Components:     1 [unused]
//   float FC_ShadowKernelScale;        // Index:   35.z              Components:     1 [unused]
//   float FC_ShadowRandTexInvScale;    // Index:   35.w              Components:     1 [unused]
//   float FC_ShadowTexInvScaleX;       // Index:   36.x              Components:     1 [unused]
//   float FC_ShadowTexInvScaleY;       // Index:   36.y              Components:     1 [unused]
//   float FC_ShadowDepthOffsetScale;   // Index:   36.z              Components:     1 [unused]
//   float4 FC_ShadowViewKernelScale;   // Index:   37.xyzw           Components:     4 [unused]
//   float4x4 FC_ProjSpaceToShadowMatrix[4];// Index:   38-53             Components:    64 [unused]
//   float4 FC_CascadeSelectDist;       // Index:   54.xyzw           Components:     4 [unused]
//   float FC_FrustumNear;              // Index:   55.x              Components:     1 [unused]
//   float FC_FrustumSliceScale;        // Index:   55.y              Components:     1 [unused]
//   float FC_FrustumSliceBias;         // Index:   55.z              Components:     1 [unused]
//   uint FC_LightTile_Width;           // Index:   56.x              Components:     1
//   uint FC_LightTile_NumCellX;        // Index:   56.y              Components:     1
//   float4 FC_CloudShadowParam0;       // Index:   57.xyzw           Components:     4 [unused]
//   float4 FC_CloudShadowParam1;       // Index:   58.xyzw           Components:     4 [unused]
//   float FC_ShadowScale0;             // Index:   59.x              Components:     1 [unused]
//   float FC_ShadowScale1;             // Index:   59.y              Components:     1 [unused]
//   bool FC_InsideWaterMode;           // Index:   59.z              Components:     1 [unused]
//   bool FC_CameraFadeEnable;          // Index:   59.w              Components:     1 [unused]
//   float4 FC_VelocityEncodeParam;     // Index:   60.xyzw           Components:     4 [unused]
//   float4 SC_RenderCameraPos;         // Index:   61.xyzw           Components:     4 [unused]
//   float SC_ScreenResolutionScale;    // Index:   62.x              Components:     1 [unused]
//   float SC_ViewFrustumEpsilon;       // Index:   62.y              Components:     1 [unused]
//   float SC_PreExposure;              // Index:   62.z              Components:     1
//   float SC_InvPreExposure;           // Index:   62.w              Components:     1 [unused]
//   float4 SC_ViewFrustumPlanes[4];    // Index:   63 64 65 66       Components:    16 [unused]
//   float4 FC_VolumeFogParam[4];       // Index:   67 68 69 70       Components:    16 [unused]
//
// }
//
// cbuffer cbLightAccParam
// {
//
//   float4x4 g_InvProjMatrix;          // Index:    0 1 2 3          Components:    16
//   float4x3 g_ViewMatrix;             // Index:    4 5 6            Components:    12
//   float4 g_ScreenSize;               // Index:    7.xyzw           Components:     4 [unused]
//   float4x4 g_CameraMatrix;           // Index:    8 9 10 11        Components:    16 [unused]
//   float4 g_specPowerParam;           // Index:   12.xyzw           Components:     4 [unused]
//   float4x4 g_ProjMatrix;             // Index:   13 14 15 16       Components:    16 [unused]
//   uint g_lightCount;                 // Index:   17.x              Components:     1 [unused]
//   bool g_visualizeLightCount;        // Index:   17.y              Components:     1
//   uint g_spotLightCount;             // Index:   17.z              Components:     1 [unused]
//   uint g_lightOrganizedBufferElements;// Index:   17.w              Components:     1 [unused]
//   float g_frustumNear;               // Index:   18.x              Components:     1 [unused]
//   float g_frustumFar;                // Index:   18.y              Components:     1 [unused]
//   float g_frustumSliceScale;         // Index:   18.z              Components:     1 [unused]
//   float g_frustumSliceBias;          // Index:   18.w              Components:     1 [unused]
//   uint4 g_lightTileSize;             // Index:   19.xyzw           Components:     4 [unused]
//   float g_ssrDepthThreshold;         // Index:   20.x              Components:     1 [unused]
//   float g_ssrDepthFadeRangeRecp;     // Index:   20.y              Components:     1 [unused]
//   float g_ssrFresnelThreshold;       // Index:   20.z              Components:     1 [unused]
//   float g_ssrDisplayMipScale;        // Index:   20.w              Components:     1 [unused]
//   float g_ssrDisplayMipOffset;       // Index:   21.x              Components:     1 [unused]
//   float g_ssrReserved1;              // Index:   21.y              Components:     1 [unused]
//   float2 g_ssrReserved2;             // Index:   21.zw             Components:     2 [unused]
//   bool g_isNeoOrScorpio;             // Index:   22.x              Components:     1 [unused]
//   uint2 g_emissiveCMaskInfo;         // Index:   22.zw             Components:     2 [unused]
//
// }
//
// Resource bind info for g_LightIndices
// {
//
//   uint $Element;                     // Index:    0.x              Components:     1
//
// }
//
// Resource bind info for g_LightLookupBuffer
// {
//
//   uint3 $Element;                    // Index:    0.xyz            Components:     3
//
// }
//
// Resource bind info for g_LightBuffer
// {
//
//   struct PointLight
//   {
//
//       float4 PositionAndRadius;      // Index:    0
//       float4 DiffColor;              // Index:    1
//       float4 SpecColor;              // Index:    2
//       float4 TransLightParam;        // Index:    3
//       float LightType;               // Index:    4
//       float3 Pad;                    // Index:    4.y
//       float4 ProjParam;              // Index:    5
//       float4 ShadowCenterPos;        // Index:    6
//       float4 ViewportScaleOffset[6]; // Index:    7
//
//   } $Element;                        // Index:    0-12             Components:    52
//
// }
//
// Resource bind info for g_SpotLightBuffer
// {
//
//   struct SpotLight
//   {
//
//       float4 PositionAndRange;       // Index:    0
//       float4 DiffColor;              // Index:    1
//       float4 SpecColor;              // Index:    2
//       float3 TransLightParam;        // Index:    3
//       float ShadingMode;             // Index:    3.w
//       float4x4 ViewToLightSpaceMatrix;// Index:    4
//       float LightType;               // Index:    8
//       float MinDist;                 // Index:    8.y
//       float MaxDist;                 // Index:    8.z
//       float Pad;                     // Index:    8.w
//       float4 CullPositionAndRange;   // Index:    9
//       float4 ShadowParam;            // Index:   10
//       float4 ViewportScaleOffset;    // Index:   11
//
//   } $Element;                        // Index:    0-11             Components:    48
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// SS_WrapLinear                     sampler      NA          NA    8        1
// g_GBuffer0Texture                 texture  float4          2d    0        1
// g_DepthTexture                    texture  float4          2d    1        1
// g_GBuffer1Texture                 texture  float4          2d    3        1
// g_GBuffer3Texture                 texture  float4          2d    5        1
// g_SSAOTexture                     texture  float4          2d   33        1
// g_LightIndices                    texture  struct         r/o   59        1
// g_LightLookupBuffer               texture  struct         r/o   60        1
// g_LightBuffer                     texture  struct         r/o   61        1
// g_SpotLightBuffer                 texture  struct         r/o   62        1
// cbLightAccParam                   cbuffer      NA          NA    0        1
// cbSceneParam                      cbuffer      NA          NA    8        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xy          1     NONE   float
// TEXCOORD                 1   xyzw        2     NONE   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_TARGET                0   xyzw        0   TARGET   float   xyzw
// SV_TARGET                1   xyzw        1   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb8[63], immediateIndexed
dcl_constantbuffer cb0[18], immediateIndexed
dcl_sampler s8, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t33
dcl_resource_structured t59, 4
dcl_resource_structured t60, 12
dcl_resource_structured t61, 208
dcl_resource_structured t62, 192
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_input_ps linear v2.xy
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_temps 26
dcl_resource_texture2d (float,float,float,float) t125
dcl_resource_texture1d (float,float,float,float) t120
utof r0.xy, cb8[56].xyxx
div r0.xz, v0.xxyx, r0.xxxx
round_ni r0.xz, r0.xxzx
mad r0.x, r0.z, r0.y, r0.x
ftou r0.x, r0.x
ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r0.x, r0.x, l(8), t60.xxxx
and r0.z, r0.x, l(0x0000ffff)
ushr r0.x, r0.x, l(16)
utof r0.xz, r0.xxzx
add r0.x, r0.x, r0.z
if_nz cb0[17].y
  mul r1.xyz, r0.xxxx, l(0.00392156886, 0.00392156886, 0.00392156886, 0.000000)
  mov r2.xyz, l(0,0,0,0)
else
  ftou r3.xy, v0.xyxx
  mad r0.zw, v2.xxxy, l(0.000000, 0.000000, 0.500000, -0.500000), l(0.000000, 0.000000, 0.500000, 0.500000)
  mov r3.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r4.xyz, r3.xyww, t0.xyzw
  ld_indexable(texture2d)(float,float,float,float) r5.xy, r3.xyww, t3.xyzw
  ld_indexable(texture2d)(float,float,float,float) r6.xyz, r3.xyww, t5.xyzw
  sample_indexable(texture2d)(float,float,float,float) r0.z, r0.zwzz, t33.yzxw, s8
  mul r0.w, r5.y, l(10.000000)
  mul r6.xyz, r6.xyzx, r6.xyzx
  ld_indexable(texture2d)(float,float,float,float) r7.z, r3.xyzw, t1.yzxw
  mov r7.xy, v2.xyxx
  mov r7.w, l(1.000000)


ld_indexable(texture2d)(float,float,float,float) r21.xyzw, l(0, 0, 0, 0), t125.xyzw
dp4 r22.w, r7.xyzw, cb0[3].xyzw
mul r22.x, r22.w, r21.y
add r22.x, r22.x, l(-1.0)
mul r22.x, r22.x, r21.x
add r7.x, r7.x, r22.x
  dp4 r8.x, r7.xyzw, cb0[0].xyzw
  dp4 r8.y, r7.xyzw, cb0[1].xyzw
  dp4 r8.z, r7.xyzw, cb0[2].xyzw
  dp4 r1.w, r7.xyzw, cb0[3].xyzw

  div r7.xyz, r8.xyzx, r1.wwww

  mad r4.xyz, r4.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  dp3 r1.w, r4.xyzx, r4.xyzx
  rsq r1.w, r1.w
  mul r4.xyz, r1.wwww, r4.xyzx
  dp3 r8.x, r4.xyzx, cb0[4].xyzx
  dp3 r8.y, r4.xyzx, cb0[5].xyzx
  dp3 r8.z, r4.xyzx, cb0[6].xyzx
  udiv r3.xy, null, r3.xyxx, cb8[56].xxxx
  utof r3.xy, r3.xyxx
  mad r0.y, r3.y, r0.y, r3.x
  ftou r0.y, r0.y
  ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r3.xy, r0.y, l(0), t60.xyxx
  and r1.w, r3.y, l(0x0000ffff)
  if_nz r1.w
    dp3 r2.w, r7.xyzx, r7.xyzx
    rsq r2.w, r2.w
    mul r3.yzw, r2.wwww, r7.xxyz
    dp3 r2.w, -r3.yzwy, r8.xyzx
    add r2.w, r2.w, l(1.000000)
    max r2.w, r2.w, l(0.000000)
    mul r2.w, r2.w, l(0.500000)
    mul r2.w, r2.w, r2.w
    mad r4.x, r5.y, l(10.000000), l(1.000000)
    div r4.x, r0.w, r4.x
    dp3 r4.y, -r7.xyzx, -r7.xyzx
    rsq r4.y, r4.y
    mul r9.xyz, r4.yyyy, -r7.xyzx
    mul r4.z, r5.x, l(13.000000)
    exp r4.z, r4.z
    dp3_sat r4.w, r8.xyzx, r9.xyzx
    mov r9.xyz, l(0,0,0,0)
    mov r10.xyz, l(0,0,0,0)
    mov r5.z, r3.x
    mov r5.w, l(0)
    loop
      uge r6.w, r5.w, r1.w
      breakc_nz r6.w
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r6.w, r5.z, l(0), t59.xxxx
      ushr r8.w, r6.w, l(16)
      iadd r9.w, r5.z, l(1)
      and r8.w, r8.w, l(0x00008000)
      if_z r8.w
        iadd r8.w, r5.w, l(1)
        mov r5.z, r9.w
        mov r5.w, r8.w
        continue
      endif
      and r6.w, r6.w, l(0x0000ffff)
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r11.xyzw, r6.w, l(0), t61.xyzw
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r12.xyzw, r6.w, l(16), t61.xyzw
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r13.xyz, r6.w, l(32), t61.xyzx
      ld_structured_indexable(structured_buffer, stride=208)(mixed,mixed,mixed,mixed) r14.xy, r6.w, l(48), t61.xyxx
      add r11.xyz, -r7.xyzx, r11.xyzx
      dp3 r6.w, r11.xyzx, r11.xyzx
      rsq r8.w, r6.w
      mul r11.xyz, r8.wwww, r11.xyzx
      dp3 r8.w, r8.xyzx, r11.xyzx
      sqrt r10.w, r6.w
      mad_sat r6.w, -r6.w, r11.w, l(1.000000)
      mul r11.w, r12.w, r10.w
      mad r10.w, r10.w, r12.w, l(1.400000)
      div r10.w, l(1.400000), r10.w
      mul r12.w, r10.w, r10.w
      mad r10.w, -r10.w, r10.w, l(1.000000)
      mul r13.w, r10.w, r10.w
      mul r14.z, r0.w, r13.w
      mad r10.w, r10.w, r8.w, r12.w
      mad r10.w, r13.w, r0.w, r10.w
      max r10.w, r10.w, l(0.000000)
      mul r10.w, r6.w, r10.w
      mad r12.w, r14.z, l(2.000000), l(1.000000)
      mul r13.w, r11.w, r11.w
      mad r13.w, r13.w, l(0.700000), l(1.000000)
      mul r12.w, r12.w, r13.w
      div r10.w, r10.w, r12.w
      dp3_sat r12.w, r11.xyzx, r3.yzwy
      mul r13.w, r14.y, l(32.000000)
      log r12.w, r12.w
      mul r12.w, r12.w, r13.w
      exp r12.w, r12.w
      mul r12.w, r2.w, r12.w
      mul r12.w, r14.x, r12.w
      mul r14.xyz, r12.wwww, r12.xyzx
      mul r14.xyz, r4.xxxx, r14.xyzx
      mul r14.xyz, r10.wwww, r14.xyzx
      mad r12.xyz, r12.xyzx, r10.wwww, r14.xyzx
      mad r10.w, r11.w, r11.w, l(1.000000)
      mul r11.w, r10.w, l(10.000000)
      mul r12.w, r4.z, r11.w
      mad r10.w, r10.w, l(10.000000), r4.z
      div r10.w, r12.w, r10.w
      max r10.w, r10.w, l(1.000000)
      log r10.w, r10.w
      mul r10.w, r10.w, l(0.0769230798)
      min r10.w, r10.w, l(1.000000)
      sqrt r10.w, r10.w
      mad r10.w, -r10.w, l(0.950000), l(1.000000)
      mul r10.w, r10.w, r10.w
      mul r12.w, r10.w, r10.w
      mad r11.xyz, -r7.xyzx, r4.yyyy, r11.xyzx
      dp3 r13.w, r11.xyzx, r11.xyzx
      rsq r13.w, r13.w
      mul r11.xyz, r11.xyzx, r13.wwww
      mov_sat r8.w, r8.w
      dp3_sat r11.x, r8.xyzx, r11.xyzx
      mul r11.x, r11.x, r11.x
      mad r11.y, r10.w, r10.w, l(-1.000000)
      mad r11.x, r11.x, r11.y, l(1.000000)
      mul r11.x, r11.x, r11.x
      mul r11.x, r11.x, l(3.141590)
      mul r11.y, r10.w, l(0.500000)
      max r11.z, r4.w, r8.w
      max r11.z, r11.z, l(0.000100)
      mad r10.w, -r10.w, l(0.500000), l(1.000000)
      mad r10.w, r11.z, r10.w, r11.y
      mul r8.w, r8.w, r12.w
      mul r8.w, r8.w, l(25.000000)
      mul r10.w, r10.w, r11.x
      mul r10.w, r11.w, r10.w
      div r8.w, r8.w, r10.w
      mul r6.w, r6.w, r8.w
      add r9.xyz, r9.xyzx, r12.xyzx
      mad r10.xyz, r13.xyzx, r6.wwww, r10.xyzx
      iadd r5.w, r5.w, l(1)
      mov r5.z, r9.w
    endloop
    mov r3.x, r5.z
  else
    mov r9.xyz, l(0,0,0,0)
    mov r10.xyz, l(0,0,0,0)
  endif
  ld_structured_indexable(structured_buffer, stride=12)(mixed,mixed,mixed,mixed) r0.y, r0.y, l(4), t60.xxxx
  ushr r0.y, r0.y, l(16)
  if_nz r0.y
    dp3 r1.w, r7.xyzx, r7.xyzx
    rsq r1.w, r1.w
    mul r3.yzw, r1.wwww, r7.xxyz
    dp3 r1.w, -r3.yzwy, r8.xyzx
    add r2.w, r1.w, l(1.000000)
    max r2.w, r2.w, l(0.000000)
    mul r2.w, r2.w, l(0.500000)
    mul r2.w, r2.w, r2.w
    mad r4.x, r5.y, l(10.000000), l(1.000000)
    div r4.x, r0.w, r4.x
    mul r4.y, r5.x, l(13.000000)
    exp r4.y, r4.y
    mov_sat r1.w, r1.w
    mov r7.w, l(1.000000)
    mov r5.xyz, r9.xyzx
    mov r11.xyz, r10.xyzx
    mov r4.z, r3.x
    mov r4.w, l(0)
    loop
      uge r5.w, r4.w, r0.y
      breakc_nz r5.w
      ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.w, r4.z, l(0), t59.xxxx
      ushr r6.w, r5.w, l(16)
      iadd r8.w, r4.z, l(1)
      and r6.w, r6.w, l(0x00008000)
      if_z r6.w
        iadd r6.w, r4.w, l(1)
        mov r4.z, r8.w
        mov r4.w, r6.w
        continue
      endif
      and r5.w, r5.w, l(0x0000ffff)
      ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r12.xyzw, r5.w, l(96), t62.xyzw
      dp4 r6.w, r7.xyzw, r12.xyzw
      lt r6.w, l(0.000000), r6.w
      if_nz r6.w
        ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r12.xyzw, r5.w, l(0), t62.xyzw
        ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r13.xyzw, r5.w, l(16), t62.xyzw
        ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r14.xyz, r5.w, l(32), t62.xyzx
        ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r15.xy, r5.w, l(48), t62.xyxx
        ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r16.xyzw, r5.w, l(64), t62.xyzw
        ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r17.xyzw, r5.w, l(80), t62.xyzw
        ld_structured_indexable(structured_buffer, stride=192)(mixed,mixed,mixed,mixed) r18.xyzw, r5.w, l(112), t62.xyzw
        dp4 r16.x, r7.xyzw, r16.xyzw
        dp4 r16.y, r7.xyzw, r17.xyzw
        dp4 r5.w, r7.xyzw, r18.xyzw
        add r12.xyz, -r7.xyzx, r12.xyzx
        dp3 r6.w, r12.xyzx, r12.xyzx
        rsq r9.w, r6.w
        mul r17.xyz, r9.wwww, r12.xyzx
        sqrt r10.w, r6.w
        mul r11.w, r12.w, r12.w
        div r6.w, r6.w, r11.w
        add r6.w, -r6.w, l(1.000000)
        max r6.w, r6.w, l(0.000000)
        dp3 r11.w, r17.xyzx, r8.xyzx
        mul r12.w, r13.w, r10.w
        mad r10.w, r10.w, r13.w, l(1.400000)
        div r10.w, l(1.400000), r10.w
        mul r13.w, r10.w, r10.w
        mad r10.w, -r10.w, r10.w, l(1.000000)
        mul r14.w, r10.w, r10.w
        mul r15.z, r0.w, r14.w
        mad r10.w, r10.w, r11.w, r13.w
        mad r10.w, r14.w, r0.w, r10.w
        max r10.w, r10.w, l(0.000000)
        mul r10.w, r6.w, r10.w
        mad r13.w, r15.z, l(2.000000), l(1.000000)
        mul r14.w, r12.w, r12.w
        mad r14.w, r14.w, l(0.700000), l(1.000000)
        mul r13.w, r13.w, r14.w
        div r10.w, r10.w, r13.w
        div r15.zw, r16.xxxy, r5.wwww
        dp2 r5.w, r15.zwzz, r15.zwzz
        add r5.w, -r5.w, l(1.000000)
        max r5.w, r5.w, l(0.000000)
        mul r10.w, r10.w, r5.w
        dp3_sat r13.w, r17.xyzx, r3.yzwy
        mul r14.w, r15.y, l(32.000000)
        log r13.w, r13.w
        mul r13.w, r13.w, r14.w
        exp r13.w, r13.w
        mul r13.w, r2.w, r13.w
        mul r13.w, r15.x, r13.w
        mul r15.xyz, r13.wwww, r13.xyzx
        mul r15.xyz, r4.xxxx, r15.xyzx
        mul r15.xyz, r10.wwww, r15.xyzx
        mad r13.xyz, r13.xyzx, r10.wwww, r15.xyzx
        mad r10.w, r12.w, r12.w, l(1.000000)
        mul r12.w, r10.w, l(10.000000)
        mul r13.w, r4.y, r12.w
        mad r10.w, r10.w, l(10.000000), r4.y
        div r10.w, r13.w, r10.w
        max r10.w, r10.w, l(1.000000)
        log r10.w, r10.w
        mul r10.w, r10.w, l(0.0769230798)
        min r10.w, r10.w, l(1.000000)
        sqrt r10.w, r10.w
        mad r10.w, -r10.w, l(0.950000), l(1.000000)
        mul r10.w, r10.w, r10.w
        mul r13.w, r10.w, r10.w
        mad r12.xyz, r12.xyzx, r9.wwww, -r3.yzwy
        dp3 r9.w, r12.xyzx, r12.xyzx
        rsq r9.w, r9.w
        mul r12.xyz, r9.wwww, r12.xyzx
        mov_sat r11.w, r11.w
        dp3_sat r9.w, r8.xyzx, r12.xyzx
        mul r9.w, r9.w, r9.w
        mad r12.x, r10.w, r10.w, l(-1.000000)
        mad r9.w, r9.w, r12.x, l(1.000000)
        mul r9.w, r9.w, r9.w
        mul r9.w, r9.w, l(3.141590)
        mul r12.x, r10.w, l(0.500000)
        max r12.y, r1.w, r11.w
        max r12.y, r12.y, l(0.000100)
        mad r10.w, -r10.w, l(0.500000), l(1.000000)
        mad r10.w, r12.y, r10.w, r12.x
        mul r11.w, r11.w, r13.w
        mul r11.w, r11.w, l(25.000000)
        mul r9.w, r9.w, r10.w
        mul r9.w, r12.w, r9.w
        div r9.w, r11.w, r9.w
        mul r6.w, r6.w, r9.w
        mul r5.w, r5.w, r6.w
        mul r12.xyz, r5.wwww, r14.xyzx
      else
        mov r13.xyz, l(0,0,0,0)
        mov r12.xyz, l(0,0,0,0)
      endif
      add r5.xyz, r5.xyzx, r13.xyzx
      add r11.xyz, r11.xyzx, r12.xyzx
      iadd r4.w, r4.w, l(1)
      mov r4.z, r8.w
    endloop
    mov r9.xyz, r5.xyzx
    mov r10.xyz, r11.xyzx
  endif
  mul r3.xyz, r6.xyzx, r10.xyzx
  mul r4.xyz, r0.zzzz, r9.xyzx
  mul r0.yzw, r0.zzzz, r3.xxyz
  mul r1.xyz, r4.xyzx, cb8[62].zzzz
  mul r2.xyz, r0.yzwy, cb8[62].zzzz
  eq r0.x, r0.x, l(0.000000)
  discard_nz r0.x
endif
mov o0.xyz, r1.xyzx
mov o0.w, l(1.000000)
mov o1.xyz, r2.xyzx
mov o1.w, l(1.000000)
ret
// Approximately 315 instruction slots used
