// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.198 on Mon Jul  6 11:28:43 2026
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// TEXCOORD                 0   xyzw        0     NONE   float   xy w
// SV_POSITION              0   xyzw        1      POS   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[180], immediateIndexed
dcl_constantbuffer CB1[8], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, mode_default
dcl_sampler s3, mode_default
dcl_sampler s4, mode_default
dcl_sampler s5, mode_default
dcl_sampler s6, mode_default
dcl_sampler s7, mode_default
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) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t5
dcl_resource_texture2d (float,float,float,float) t6
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t8
dcl_resource_texture2d (float,float,float,float) t9
dcl_input_ps linear v0.xyw
dcl_input_ps_siv linear noperspective v1.xy, position
dcl_output o0.xyzw
dcl_temps 44
dcl_resource_buffer (float,float,float,float) t125
div r0.xy, v0.xyxx, v0.wwww
mad r0.zw, r0.xxxy, cb0[62].xxxy, cb0[62].wwwz
sample_l_indexable(texture2d)(float,float,float,float) r1.xyzw, r0.zwzz, t3.xyzw, s3, l(0.000000)
mul r1.w, r1.w, l(255.000000)
round_ne r1.w, r1.w
ftou r1.w, r1.w
and r2.x, r1.w, l(15)
if_nz r2.x
  sample_l_indexable(texture2d)(float,float,float,float) r2.y, r0.zwzz, t1.yxzw, s1, l(0.000000)
  mad r2.z, r2.y, cb0[61].x, cb0[61].y
  mad r2.y, r2.y, cb0[61].z, -cb0[61].w
  div r2.y, l(1.000000, 1.000000, 1.000000, 1.000000), r2.y
  add r2.y, r2.y, r2.z
  lt r2.z, cb0[31].w, l(1.000000)
  movc r2.z, r2.z, r2.y, l(1.000000)
  mul r0.xy, r0.xyxx, r2.zzzz
  ld_indexable(buffer)(float,float,float,float) r22.xyzw, l(0, 0, 0, 0), t125.xyzw
  mad r0.x, -r22.x, r2.z, r0.x
  mul r33.xyz, r0.yyyy, cb0[49].xyzx
  mad r33.xyz, r0.xxxx, cb0[48].xyzx, r33.xyzx
  mad r33.xyz, r2.yyyy, cb0[50].xyzx, r33.xyzx
  add r33.xyz, r33.xyzx, cb0[51].xyzx
  mad r0.x, r22.x, r22.y, r0.x
  mul r3.xyz, r0.yyyy, cb0[49].xyzx
  mad r3.xyz, r0.xxxx, cb0[48].xyzx, r3.xyzx
  mad r3.xyz, r2.yyyy, cb0[50].xyzx, r3.xyzx
  add r3.xyz, r3.xyzx, cb0[51].xyzx
  add r4.xyz, r33.xyzx, -cb0[63].xyzx
  dp3 r0.x, r4.xyzx, r4.xyzx
  rsq r0.x, r0.x
  mul r4.xyz, r0.xxxx, r4.xyzx
  lt r0.x, cb1[1].z, l(0.000000)
  utof r0.y, cb0[138].y
  mad r2.zw, r0.yyyy, l(0.000000, 0.000000, 32.665001, 11.815000), v1.xxxy
  dp2 r0.y, r2.zwzz, l(0.0671105608, 0.00583714992, 0.000000, 0.000000)
  frc r0.y, r0.y
  mul r0.y, r0.y, l(52.982918)
  frc r0.y, r0.y
  sample_l_indexable(texture2d)(float,float,float,float) r2.zw, r0.zwzz, t8.xyzw, s8, l(0.000000)
  mul r2.zw, r2.zzzw, r2.zzzw
  add r5.xyz, -r3.xyzx, cb1[3].xyzx
  dp3 r3.w, r5.xyzx, r5.xyzx
  rsq r4.w, r3.w
  mul r6.xyz, r4.wwww, r5.xyzx
  mul r4.w, cb1[3].w, cb1[3].w
  mul r3.w, r3.w, r4.w
  mad r3.w, -r3.w, r3.w, l(1.000000)
  max r3.w, r3.w, l(0.000000)
  mul r3.w, r3.w, r3.w
  dp3 r4.w, r6.xyzx, cb1[5].xyzx
  add r4.w, r4.w, -cb1[7].x
  mul_sat r4.w, r4.w, cb1[7].y
  mul r4.w, r4.w, r4.w
  mul r3.w, r3.w, r4.w
  lt r4.w, l(0.000000), r3.w
  if_nz r4.w
    mul r2.y, r2.y, cb0[37].y
    if_nz cb1[2].x
      sample_l_indexable(texture2d)(float,float,float,float) r7.xyzw, r0.zwzz, t6.xyzw, s6, l(0.000000)
      and r8.xy, r1.wwww, l(32, 64, 0, 0)
      movc r4.w, r8.y, l(0), l(1.000000)
      movc r7.xyzw, r8.xxxx, r4.wwww, r7.xyzw
      dp4 r4.w, cb1[0].xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
      dp4 r5.w, r7.xyzw, cb1[0].xyzw
      add r5.w, r5.w, l(-1.000000)
      mad r4.w, r4.w, r5.w, l(1.000000)
      mul r7.xy, r2.zwzz, r4.wwww
      ult r2.z, l(1), cb1[2].x
      lt r2.w, l(0.000000), |cb1[1].z|
      and r2.z, r2.w, r2.z
      movc r0.x, r0.x, l(1.000000), r2.y
      mul r0.x, r0.x, |cb1[1].z|
      and r0.x, r0.x, r2.z
    else
      sample_l_indexable(texture2d)(float,float,float,float) r7.x, r0.zwzz, t7.xyzw, s7, l(0.000000)
      mov r7.y, l(1.000000)
      mov r0.x, l(0)
    endif
    ult r2.z, cb1[2].x, l(2)
    ieq r8.xy, r2.xxxx, l(9, 7, 0, 0)
    and r2.z, r2.z, r8.y
    or r2.z, r8.x, r2.z
    mul r2.y, r2.y, l(0.200000)
    movc r0.x, r2.z, r2.y, r0.x
    lt r2.y, l(0.000000), r0.x
    if_nz r2.y
      add r0.y, r0.y, l(-0.500000)
      add r2.yzw, r3.xxyz, cb0[66].xxyz
      mul r9.xyzw, r2.zzzz, cb0[1].xyzw
      mad r9.xyzw, r2.yyyy, cb0[0].xyzw, r9.xyzw
      mad r9.xyzw, r2.wwww, cb0[2].xyzw, r9.xyzw
      add r9.xyzw, r9.xyzw, cb0[3].xyzw
      mul r2.yzw, r0.xxxx, r6.xxyz
      mul r6.xyzw, r2.zzzz, cb0[1].xyzw
      mad r6.xyzw, r2.yyyy, cb0[0].xyzw, r6.xyzw
      mad r6.xyzw, r2.wwww, cb0[2].xyzw, r6.xyzw
      add r6.xyzw, r6.xyzw, r9.xyzw
      ld_indexable(buffer)(float,float,float,float) r20.xyzw, l(0, 0, 0, 0), t125.xyzw
      add r21.x, r9.w, -r20.y
      mad r9.x, r20.x, r21.x, r9.x
      add r21.x, r6.w, -r20.y
      mad r6.x, r20.x, r21.x, r6.x
      div r2.yzw, r9.xxyz, r9.wwww
      div r3.xyz, r6.xyzx, r6.wwww
      add r3.xyz, -r2.yzwy, r3.xyzx
      mad r6.xy, r2.yzyy, cb0[62].xyxx, cb0[62].wzww
      mul r10.xy, r3.xyxx, cb0[62].xyxx
      mad r8.zw, r0.xxxx, cb0[30].zzzw, r9.zzzw
      div r0.x, r8.z, r8.w
      add r0.x, -r2.w, r0.x
      mul r4.w, |r0.x|, l(0.250000)
      mad r9.xyzw, r0.yyyy, l(0.125000, 0.125000, 0.125000, 0.125000), l(0.125000, 0.250000, 0.375000, 0.500000)
      mov r10.z, r3.z
      mov r6.z, r2.w
      mad r11.xyz, r10.xyzx, r9.xxxx, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r2.w, r11.xyxx, t1.yzwx, s1, l(0.000000)
      add r2.w, -r2.w, r11.z
      mad r2.w, |r0.x|, l(0.250000), r2.w
      lt r2.w, |r2.w|, r4.w
      movc r2.w, r2.w, r9.x, l(-1.000000)
      mad r11.xyz, r10.xyzx, r9.yyyy, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r3.z, r11.xyxx, t1.yzxw, s1, l(0.000000)
      add r3.z, -r3.z, r11.z
      mad r3.z, |r0.x|, l(0.250000), r3.z
      lt r3.z, |r3.z|, r4.w
      lt r5.w, r2.w, l(0.000000)
      and r3.z, r3.z, r5.w
      movc r2.w, r3.z, r9.y, r2.w
      mad r11.xyz, r10.xyzx, r9.zzzz, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r3.z, r11.xyxx, t1.yzxw, s1, l(0.000000)
      add r3.z, -r3.z, r11.z
      mad r3.z, |r0.x|, l(0.250000), r3.z
      lt r3.z, |r3.z|, r4.w
      lt r5.w, r2.w, l(0.000000)
      and r3.z, r3.z, r5.w
      movc r2.w, r3.z, r9.z, r2.w
      mad r9.xyz, r10.xyzx, r9.wwww, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r3.z, r9.xyxx, t1.yzxw, s1, l(0.000000)
      add r3.z, -r3.z, r9.z
      mad r3.z, |r0.x|, l(0.250000), r3.z
      lt r3.z, |r3.z|, r4.w
      lt r5.w, r2.w, l(0.000000)
      and r3.z, r3.z, r5.w
      movc r2.w, r3.z, r9.w, r2.w
      mad r9.xyzw, r0.yyyy, l(0.125000, 0.125000, 0.125000, 0.125000), l(0.625000, 0.750000, 0.875000, 1.000000)
      mad r11.xyz, r10.xyzx, r9.xxxx, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r0.y, r11.xyxx, t1.yxzw, s1, l(0.000000)
      add r0.y, -r0.y, r11.z
      mad r0.y, |r0.x|, l(0.250000), r0.y
      lt r0.y, |r0.y|, r4.w
      lt r3.z, r2.w, l(0.000000)
      and r0.y, r0.y, r3.z
      movc r0.y, r0.y, r9.x, r2.w
      mad r11.xyz, r10.xyzx, r9.yyyy, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r2.w, r11.xyxx, t1.yzwx, s1, l(0.000000)
      add r2.w, -r2.w, r11.z
      mad r2.w, |r0.x|, l(0.250000), r2.w
      lt r2.w, |r2.w|, r4.w
      lt r3.z, r0.y, l(0.000000)
      and r2.w, r2.w, r3.z
      movc r0.y, r2.w, r9.y, r0.y
      mad r11.xyz, r10.xyzx, r9.zzzz, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r2.w, r11.xyxx, t1.yzwx, s1, l(0.000000)
      add r2.w, -r2.w, r11.z
      mad r2.w, |r0.x|, l(0.250000), r2.w
      lt r2.w, |r2.w|, r4.w
      lt r3.z, r0.y, l(0.000000)
      and r2.w, r2.w, r3.z
      movc r0.y, r2.w, r9.z, r0.y
      mad r6.xyz, r10.xyzx, r9.wwww, r6.xyzx
      sample_l_indexable(texture2d)(float,float,float,float) r2.w, r6.xyxx, t1.yzwx, s1, l(0.000000)
      add r2.w, -r2.w, r6.z
      mad r0.x, |r0.x|, l(0.250000), r2.w
      lt r0.x, |r0.x|, r4.w
      lt r2.w, r0.y, l(0.000000)
      and r0.x, r0.x, r2.w
      movc r0.x, r0.x, r9.w, r0.y
      lt r0.y, l(0.000000), r0.x
      and r0.y, r0.y, l(0x3f800000)
      mad r2.yz, r3.xxyx, r0.xxxx, r2.yyzy
      mad r2.yz, |r2.yyzy|, l(0.000000, 6.000000, 6.000000, 0.000000), l(0.000000, -5.000000, -5.000000, 0.000000)
      max r2.yz, r2.yyzy, l(0.000000, 0.000000, 0.000000, 0.000000)
      dp2 r0.x, r2.yzyy, r2.yzyy
      add r0.x, -r0.x, l(1.000000)
      max r0.x, r0.x, l(0.000000)
      mad r0.x, -r0.y, r0.x, l(1.000000)
      mul r7.xz, r0.xxxx, r7.xxyx
      ine r0.y, r2.x, l(9)
      mad r0.x, r0.x, l(0.500000), l(0.500000)
      mul r0.x, r0.x, r7.y
      movc r0.x, r0.y, r0.x, r7.y
      movc r7.y, r8.y, r7.z, r0.x
    endif
    add r0.x, r7.y, r7.x
    lt r0.x, l(0.000000), r0.x
    if_nz r0.x
      sample_l_indexable(texture2d)(float,float,float,float) r2.yzw, r0.zwzz, t2.wxyz, s2, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r3.xyz, r0.zwzz, t4.xyzw, s4, l(0.000000)
      sample_l_indexable(texture2d)(float,float,float,float) r6.xyzw, r0.zwzz, t5.xyzw, s5, l(0.000000)
      mul r0.xy, r0.zwzz, cb0[127].xyxx
      ftou r0.xy, r0.xyxx
      ftou r0.z, cb0[146].x
      iadd r0.x, r0.y, r0.x
      iadd r0.x, r0.z, r0.x
      and r0.x, r0.x, l(1)
      mad r0.yzw, r2.yyzw, l(0.000000, 2.000000, 2.000000, 2.000000), l(0.000000, -1.000000, -1.000000, -1.000000)
      dp3 r2.y, r0.yzwy, r0.yzwy
      rsq r2.y, r2.y
      mul r8.yzw, r0.yyzw, r2.yyyy
      and r1.w, r1.w, l(16)
      movc r6.xyzw, r1.wwww, l(0,0,0,0), r6.xyzw
      movc r1.w, r8.x, l(0), r1.x
      mul r2.z, r1.y, l(0.080000)
      mad r9.xyz, -r1.yyyy, l(0.080000, 0.080000, 0.080000, 0.000000), r3.xyzx
      mad r9.xyz, r1.wwww, r9.xyzx, r2.zzzz
      ieq r2.z, r2.x, l(5)
      or r2.z, r8.x, r2.z
      lt r2.w, l(0.000000), cb0[150].x
      lt r4.w, l(0.000000), cb0[179].w
      and r2.w, r2.w, r4.w
      ne r4.w, l(0.000000, 0.000000, 0.000000, 0.000000), cb0[150].x
      movc r10.xyz, r4.wwww, l(1.000000,1.000000,1.000000,0), r3.xyzx
      movc r7.zw, r0.xxxx, l(0,0,1.000000,0), l(0,0,0,1.000000)
      mul r11.xyz, r7.wwww, r9.xyzx
      mul r11.w, r1.y, r7.w
      movc r10.xyz, r2.wwww, r7.zzzz, r10.xyzx
      mov r9.w, r1.y
      movc r11.xyzw, r2.wwww, r11.xyzw, r9.xyzw
      movc r11.xyz, r2.zzzz, r11.xyzx, r9.xyzx
      mov r10.w, r11.w
      mov r9.xyz, r3.xyzx
      movc r9.xyzw, r2.zzzz, r10.xyzw, r9.xyzw
      mad r3.xyz, -r9.xyzx, r1.wwww, r9.xyzx
      mad r3.xyz, r3.xyzx, cb0[130].wwww, cb0[130].xyzx
      mad r10.xyz, r11.xyzx, cb0[131].wwww, cb0[131].xyzx
      mul r0.x, cb1[7].w, l(0.500000)
      mad r11.xyz, -r0.xxxx, cb1[6].xyzx, r5.xyzx
      mad r5.xyz, r0.xxxx, cb1[6].xyzx, r5.xyzx
      lt r0.x, l(0.000000), cb1[7].w
      if_nz r0.x
        dp3 r1.y, r11.xyzx, r11.xyzx
        dp3 r2.w, r5.xyzx, r5.xyzx
        rsq r1.y, r1.y
        rsq r2.w, r2.w
        mul r4.w, r1.y, r2.w
        dp3 r5.w, r11.xyzx, r5.xyzx
        mul r12.y, r4.w, r5.w
        mad r5.w, r12.y, l(0.500000), r4.w
        add r5.w, r5.w, l(0.500000)
        div r12.x, r4.w, r5.w
        dp3 r4.w, r8.yzwy, r11.xyzx
        dp3 r5.w, r8.yzwy, r5.xyzx
        mul r2.w, r2.w, r5.w
        mad r1.y, r4.w, r1.y, r2.w
        mul r1.y, r1.y, l(0.500000)
      else
        dp3 r2.w, r11.xyzx, r11.xyzx
        add r4.w, r2.w, l(1.000000)
        rcp r12.x, r4.w
        rsq r2.w, r2.w
        mul r13.xyz, r2.wwww, r11.xyzx
        dp3 r1.y, r8.yzwy, r13.xyzx
        mov r12.y, l(1.000000)
      endif
      lt r2.w, l(0.000000), cb1[6].w
      mul r4.w, cb1[6].w, cb1[6].w
      mul_sat r4.w, r12.x, r4.w
      sqrt r4.w, r4.w
      lt r5.w, r1.y, r4.w
      max r7.z, r1.y, -r4.w
      add r7.z, r4.w, r7.z
      mul r7.z, r7.z, r7.z
      mul r4.w, r4.w, l(4.000000)
      div r4.w, r7.z, r4.w
      movc r4.w, r5.w, r4.w, r1.y
      movc_sat r1.y, r2.w, r4.w, r1.y
      dp3 r2.w, r4.xyzx, r8.yzwy
      add r2.w, r2.w, r2.w
      mad r13.xyz, r8.yzwy, -r2.wwww, r4.xyzx
      add r5.xyz, -r11.xyzx, r5.xyzx
      dp3 r2.w, r13.xyzx, r5.xyzx
      mad r13.xyz, r2.wwww, r13.xyzx, -r5.xyzx
      dp3 r4.w, r11.xyzx, r13.xyzx
      mul r2.w, r2.w, r2.w
      mad r2.w, cb1[7].w, cb1[7].w, -r2.w
      div_sat r2.w, r4.w, r2.w
      mad r5.xyz, r2.wwww, r5.xyzx, r11.xyzx
      movc r5.xyz, r0.xxxx, r5.xyzx, r11.xyzx
      dp3 r0.x, r5.xyzx, r5.xyzx
      rsq r0.x, r0.x
      mul r11.xyz, r0.xxxx, r5.xyzx
      max r1.z, r1.z, l(0.020000)
      mul r2.w, r1.z, r1.z
      mul r4.w, r0.x, cb1[6].w
      mad r5.w, -r1.z, r1.z, l(1.000000)
      mul_sat r4.w, r4.w, r5.w
      mul_sat r7.z, r0.x, cb1[7].z
      switch r2.x
        case l(1)
        dp3 r2.x, r8.yzwy, r11.xyzx
        dp3 r7.w, r8.yzwy, -r4.xyzx
        dp3 r8.x, -r4.xyzx, r11.xyzx
        lt r10.w, l(0.000000), r4.w
        if_nz r10.w
          mad r11.w, -r4.w, r4.w, l(1.000000)
          sqrt r11.w, r11.w
          dp2 r12.z, r7.wwww, r2.xxxx
          add r12.w, -r8.x, r12.z
          ge r13.w, r12.w, r11.w
          if_nz r13.w
            mov r13.w, l(1.000000)
            mov r14.w, |r7.w|
          else
            mad r15.w, -r12.w, r12.w, l(1.000000)
            rsq r15.w, r15.w
            mul r15.w, r4.w, r15.w
            mad r16.x, -r12.w, r2.x, r7.w
            mul r16.y, r15.w, r16.x
            mul r16.z, r7.w, r7.w
            mad r16.z, r16.z, l(2.000000), l(-1.000000)
            mad r12.w, -r12.w, r8.x, r16.z
            mad r16.z, -r2.x, r2.x, l(1.000000)
            mad r16.z, -r7.w, r7.w, r16.z
            mad r16.z, -r8.x, r8.x, r16.z
            mad_sat r12.z, r12.z, r8.x, r16.z
            sqrt r12.z, r12.z
            mul r12.zw, r12.zzzw, r15.wwww
            mul r16.z, r7.w, r12.z
            add r16.w, r16.z, r16.z
            mad r17.x, r2.x, r11.w, r7.w
            mad r15.w, r15.w, r16.x, r17.x
            mad r16.x, r8.x, r11.w, r12.w
            add r16.x, r16.x, l(1.000000)
            mul r17.y, r12.z, r16.x
            mul r17.z, r15.w, r16.x
            mul r17.w, r15.w, r16.w
            mul r16.z, r16.z, r15.w
            mul r16.z, r16.z, l(0.500000)
            mad r16.z, r17.y, l(-0.500000), r16.z
            mad r18.x, -r17.y, l(2.000000), r17.w
            mul r17.w, r17.w, r18.x
            mad r17.y, r17.y, r17.y, r17.w
            mul r17.w, r16.x, r16.x
            mad r16.x, r8.x, r11.w, r16.x
            mad r16.x, r16.x, l(-0.500000), l(-0.500000)
            mul r16.xz, r16.xxzx, r17.zzzz
            mad r16.x, r17.x, r17.w, r16.x
            mad r15.w, r15.w, r16.x, r17.y
            add r16.x, r16.z, r16.z
            mul r17.x, r16.z, r16.z
            mad r17.x, r15.w, r15.w, r17.x
            div r16.x, r16.x, r17.x
            mul r15.w, r15.w, r16.x
            mad r16.x, -r16.x, r16.z, l(1.000000)
            mul r12.z, r12.z, r15.w
            mad r12.z, r16.x, r16.y, r12.z
            mul r15.w, r16.w, r15.w
            mad r12.w, r16.x, r12.w, r15.w
            mad r12.z, r2.x, r11.w, r12.z
            mad r11.w, r8.x, r11.w, r12.w
            mad r12.w, r11.w, l(2.000000), l(2.000000)
            rsq r12.w, r12.w
            add r12.z, r7.w, r12.z
            mul_sat r13.w, r12.w, r12.z
            mad_sat r14.w, r12.w, r11.w, r12.w
          endif
        else
          mad r11.w, r8.x, l(2.000000), l(2.000000)
          rsq r11.w, r11.w
          add r2.x, r2.x, r7.w
          mul_sat r13.w, r11.w, r2.x
          mad_sat r14.w, r11.w, r8.x, r11.w
        endif
        add r2.x, |r7.w|, l(0.000010)
        min r2.x, r2.x, l(1.000000)
        mul r7.w, r1.y, r12.x
        mul r16.xyz, r3.xyzx, r7.wwww
        mul r13.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
        mul r8.x, r2.w, r2.w
        lt r11.w, l(0.000000), r7.z
        mul r12.z, r7.z, r7.z
        mad r12.w, r14.w, l(3.600000), l(0.400000)
        div r12.z, r12.z, r12.w
        mad r12.z, r2.w, r2.w, r12.z
        min r12.z, r12.z, l(1.000000)
        movc r16.x, r11.w, r12.z, r8.x
        mul r8.x, r4.w, l(0.250000)
        ishr r11.w, r16.x, l(1)
        iadd r11.w, r11.w, l(0x1fbd1df5)
        mad r11.w, r11.w, l(3.000000), r4.w
        mul r8.x, r8.x, r11.w
        add r11.w, r14.w, l(0.001000)
        div r8.x, r8.x, r11.w
        add r17.x, r8.x, r16.x
        div r17.y, r16.x, r17.x
        mov r16.y, l(1.000000)
        movc r12.zw, r10.wwww, r17.xxxy, r16.xxxy
        lt r8.x, r12.y, l(1.000000)
        add r10.w, -r12.y, l(1.000100)
        add r15.w, r12.y, l(1.000000)
        div r10.w, r10.w, r15.w
        sqrt r10.w, r10.w
        mul r15.w, r10.w, l(0.250000)
        ishr r16.y, r12.z, l(1)
        iadd r16.y, r16.y, l(0x1fbd1df5)
        mad r10.w, r16.y, l(3.000000), r10.w
        mul r10.w, r10.w, r15.w
        div r10.w, r10.w, r11.w
        add r10.w, r10.w, r12.z
        div r10.w, r12.z, r10.w
        sqrt r10.w, r10.w
        mul r10.w, r10.w, r12.w
        movc r8.x, r8.x, r10.w, r12.w
        mad r10.w, r13.w, r16.x, -r13.w
        mad r10.w, r10.w, r13.w, l(1.000000)
        mul r10.w, r10.w, r10.w
        mul r10.w, r10.w, l(3.14159274)
        div r10.w, r16.x, r10.w
        mul r8.x, r8.x, r10.w
        sqrt r10.w, r16.x
        add r11.w, -r10.w, l(1.000000)
        mad r12.z, r2.x, r11.w, r10.w
        mad r10.w, r1.y, r11.w, r10.w
        mul r2.x, r2.x, r10.w
        mad r2.x, r1.y, r12.z, r2.x
        rcp r2.x, r2.x
        mul r2.x, r2.x, r8.x
        add r8.x, -r14.w, l(1.000000)
        mul r10.w, r8.x, r8.x
        mul r10.w, r10.w, r10.w
        mul r11.w, r8.x, r10.w
        mul_sat r12.z, r10.y, l(50.000000)
        mad r8.x, -r10.w, r8.x, l(1.000000)
        mul r16.xyz, r10.xyzx, r8.xxxx
        mad r16.xyz, r12.zzzz, r11.wwww, r16.xyzx
        mul r2.x, r2.x, l(0.500000)
        mul r16.xyz, r16.xyzx, r2.xxxx
        mul r14.xyz, r7.wwww, r16.xyzx
        mov r15.xyz, l(0,0,0,0)
        break
        case l(2)
        dp3 r2.x, r8.yzwy, r11.xyzx
        dp3 r7.w, r8.yzwy, -r4.xyzx
        dp3 r8.x, -r4.xyzx, r11.xyzx
        lt r10.w, l(0.000000), r4.w
        if_nz r10.w
          mad r11.w, -r4.w, r4.w, l(1.000000)
          sqrt r11.w, r11.w
          dp2 r12.z, r7.wwww, r2.xxxx
          add r12.w, -r8.x, r12.z
          ge r13.w, r12.w, r11.w
          if_nz r13.w
            mov r13.w, l(1.000000)
            mov r14.w, |r7.w|
          else
            mad r15.w, -r12.w, r12.w, l(1.000000)
            rsq r15.w, r15.w
            mul r15.w, r4.w, r15.w
            mad r16.x, -r12.w, r2.x, r7.w
            mul r16.y, r15.w, r16.x
            mul r16.z, r7.w, r7.w
            mad r16.z, r16.z, l(2.000000), l(-1.000000)
            mad r12.w, -r12.w, r8.x, r16.z
            mad r16.z, -r2.x, r2.x, l(1.000000)
            mad r16.z, -r7.w, r7.w, r16.z
            mad r16.z, -r8.x, r8.x, r16.z
            mad_sat r12.z, r12.z, r8.x, r16.z
            sqrt r12.z, r12.z
            mul r12.zw, r12.zzzw, r15.wwww
            mul r16.z, r7.w, r12.z
            add r16.w, r16.z, r16.z
            mad r17.x, r2.x, r11.w, r7.w
            mad r15.w, r15.w, r16.x, r17.x
            mad r16.x, r8.x, r11.w, r12.w
            add r16.x, r16.x, l(1.000000)
            mul r17.y, r12.z, r16.x
            mul r17.z, r15.w, r16.x
            mul r17.w, r15.w, r16.w
            mul r16.z, r16.z, r15.w
            mul r16.z, r16.z, l(0.500000)
            mad r16.z, r17.y, l(-0.500000), r16.z
            mad r18.x, -r17.y, l(2.000000), r17.w
            mul r17.w, r17.w, r18.x
            mad r17.y, r17.y, r17.y, r17.w
            mul r17.w, r16.x, r16.x
            mad r16.x, r8.x, r11.w, r16.x
            mad r16.x, r16.x, l(-0.500000), l(-0.500000)
            mul r16.xz, r16.xxzx, r17.zzzz
            mad r16.x, r17.x, r17.w, r16.x
            mad r15.w, r15.w, r16.x, r17.y
            add r16.x, r16.z, r16.z
            mul r17.x, r16.z, r16.z
            mad r17.x, r15.w, r15.w, r17.x
            div r16.x, r16.x, r17.x
            mul r15.w, r15.w, r16.x
            mad r16.x, -r16.x, r16.z, l(1.000000)
            mul r12.z, r12.z, r15.w
            mad r12.z, r16.x, r16.y, r12.z
            mul r15.w, r16.w, r15.w
            mad r12.w, r16.x, r12.w, r15.w
            mad r12.z, r2.x, r11.w, r12.z
            mad r11.w, r8.x, r11.w, r12.w
            mad r12.w, r11.w, l(2.000000), l(2.000000)
            rsq r12.w, r12.w
            add r12.z, r7.w, r12.z
            mul_sat r13.w, r12.w, r12.z
            mad_sat r14.w, r12.w, r11.w, r12.w
          endif
        else
          mad r11.w, r8.x, l(2.000000), l(2.000000)
          rsq r11.w, r11.w
          add r2.x, r2.x, r7.w
          mul_sat r13.w, r11.w, r2.x
          mad_sat r14.w, r11.w, r8.x, r11.w
        endif
        add r2.x, |r7.w|, l(0.000010)
        min r2.x, r2.x, l(1.000000)
        mul r7.w, r1.y, r12.x
        mul r16.xyz, r3.xyzx, r7.wwww
        mul r13.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
        mul r8.x, r2.w, r2.w
        lt r11.w, l(0.000000), r7.z
        mul r12.z, r7.z, r7.z
        mad r12.w, r14.w, l(3.600000), l(0.400000)
        div r12.z, r12.z, r12.w
        mad r12.z, r2.w, r2.w, r12.z
        min r12.z, r12.z, l(1.000000)
        movc r16.x, r11.w, r12.z, r8.x
        mul r8.x, r4.w, l(0.250000)
        ishr r11.w, r16.x, l(1)
        iadd r11.w, r11.w, l(0x1fbd1df5)
        mad r11.w, r11.w, l(3.000000), r4.w
        mul r8.x, r8.x, r11.w
        add r11.w, r14.w, l(0.001000)
        div r8.x, r8.x, r11.w
        add r17.x, r8.x, r16.x
        div r17.y, r16.x, r17.x
        mov r16.y, l(1.000000)
        movc r12.zw, r10.wwww, r17.xxxy, r16.xxxy
        lt r8.x, r12.y, l(1.000000)
        add r10.w, -r12.y, l(1.000100)
        add r15.w, r12.y, l(1.000000)
        div r10.w, r10.w, r15.w
        sqrt r10.w, r10.w
        mul r15.w, r10.w, l(0.250000)
        ishr r16.y, r12.z, l(1)
        iadd r16.y, r16.y, l(0x1fbd1df5)
        mad r10.w, r16.y, l(3.000000), r10.w
        mul r10.w, r10.w, r15.w
        div r10.w, r10.w, r11.w
        add r10.w, r10.w, r12.z
        div r10.w, r12.z, r10.w
        sqrt r10.w, r10.w
        mul r10.w, r10.w, r12.w
        movc r8.x, r8.x, r10.w, r12.w
        mad r10.w, r13.w, r16.x, -r13.w
        mad r10.w, r10.w, r13.w, l(1.000000)
        mul r10.w, r10.w, r10.w
        mul r10.w, r10.w, l(3.14159274)
        div r10.w, r16.x, r10.w
        mul r8.x, r8.x, r10.w
        sqrt r10.w, r16.x
        add r11.w, -r10.w, l(1.000000)
        mad r12.z, r2.x, r11.w, r10.w
        mad r10.w, r1.y, r11.w, r10.w
        mul r2.x, r2.x, r10.w
        mad r2.x, r1.y, r12.z, r2.x
        rcp r2.x, r2.x
        mul r2.x, r2.x, r8.x
        add r8.x, -r14.w, l(1.000000)
        mul r10.w, r8.x, r8.x
        mul r10.w, r10.w, r10.w
        mul r11.w, r8.x, r10.w
        mul_sat r12.z, r10.y, l(50.000000)
        mad r8.x, -r10.w, r8.x, l(1.000000)
        mul r16.xyz, r10.xyzx, r8.xxxx
        mad r16.xyz, r12.zzzz, r11.wwww, r16.xyzx
        mul r2.x, r2.x, l(0.500000)
        mul r16.xyz, r16.xyzx, r2.xxxx
        mul r14.xyz, r7.wwww, r16.xyzx
        mul r16.xyz, r6.xyzx, r6.xyzx
        mad r5.xyz, r5.xyzx, r0.xxxx, -r4.xyzx
        dp3 r0.x, r5.xyzx, r5.xyzx
        rsq r0.x, r0.x
        mul r5.xyz, r0.xxxx, r5.xyzx
        dp3_sat r0.x, r11.xyzx, r4.xyzx
        log r0.x, r0.x
        mul r0.x, r0.x, l(12.000000)
        exp r0.x, r0.x
        mad r2.x, r6.w, l(-2.900000), l(3.000000)
        mul r0.x, r0.x, r2.x
        dp3 r2.x, r8.yzwy, r5.xyzx
        mad r2.x, r2.x, r6.w, l(1.000000)
        add_sat r2.x, -r6.w, r2.x
        mul r5.x, r2.x, l(0.159154937)
        mad r2.x, -r2.x, l(0.159154937), l(1.000000)
        mad r0.x, r0.x, r2.x, r5.x
        mul r0.x, r0.x, r12.x
        mul r15.xyz, r16.xyzx, r0.xxxx
        break
        case l(3)
        dp3 r0.x, r8.yzwy, r11.xyzx
        dp3 r2.x, r8.yzwy, -r4.xyzx
        dp3 r5.x, -r4.xyzx, r11.xyzx
        lt r5.y, l(0.000000), r4.w
        if_nz r5.y
          mad r5.z, -r4.w, r4.w, l(1.000000)
          sqrt r5.z, r5.z
          dp2 r7.w, r2.xxxx, r0.xxxx
          add r8.x, -r5.x, r7.w
          ge r10.w, r8.x, r5.z
          if_nz r10.w
            mov r10.w, l(1.000000)
            mov r11.w, |r2.x|
          else
            mad r12.z, -r8.x, r8.x, l(1.000000)
            rsq r12.z, r12.z
            mul r12.z, r4.w, r12.z
            mad r12.w, -r8.x, r0.x, r2.x
            mul r13.w, r12.w, r12.z
            mul r14.w, r2.x, r2.x
            mad r14.w, r14.w, l(2.000000), l(-1.000000)
            mad r8.x, -r8.x, r5.x, r14.w
            mul r8.x, r8.x, r12.z
            mad r14.w, -r0.x, r0.x, l(1.000000)
            mad r14.w, -r2.x, r2.x, r14.w
            mad r14.w, -r5.x, r5.x, r14.w
            mad_sat r7.w, r7.w, r5.x, r14.w
            sqrt r7.w, r7.w
            mul r7.w, r7.w, r12.z
            mul r14.w, r2.x, r7.w
            add r15.w, r14.w, r14.w
            mad r16.x, r0.x, r5.z, r2.x
            mad r12.z, r12.z, r12.w, r16.x
            mad r12.w, r5.x, r5.z, r8.x
            add r12.w, r12.w, l(1.000000)
            mul r16.y, r7.w, r12.w
            mul r16.z, r12.w, r12.z
            mul r16.w, r12.z, r15.w
            mul r14.w, r14.w, r12.z
            mul r14.w, r14.w, l(0.500000)
            mad r14.w, r16.y, l(-0.500000), r14.w
            mul r14.w, r14.w, r16.z
            mad r17.x, -r16.y, l(2.000000), r16.w
            mul r16.w, r16.w, r17.x
            mad r16.y, r16.y, r16.y, r16.w
            mul r16.w, r12.w, r12.w
            mad r12.w, r5.x, r5.z, r12.w
            mad r12.w, r12.w, l(-0.500000), l(-0.500000)
            mul r12.w, r12.w, r16.z
            mad r12.w, r16.x, r16.w, r12.w
            mad r12.z, r12.z, r12.w, r16.y
            add r12.w, r14.w, r14.w
            mul r16.x, r14.w, r14.w
            mad r16.x, r12.z, r12.z, r16.x
            div r12.w, r12.w, r16.x
            mul r12.z, r12.z, r12.w
            mad r12.w, -r12.w, r14.w, l(1.000000)
            mul r7.w, r7.w, r12.z
            mad r7.w, r12.w, r13.w, r7.w
            mul r12.z, r15.w, r12.z
            mad r8.x, r12.w, r8.x, r12.z
            mad r7.w, r0.x, r5.z, r7.w
            mad r5.z, r5.x, r5.z, r8.x
            mad r8.x, r5.z, l(2.000000), l(2.000000)
            rsq r8.x, r8.x
            add r7.w, r2.x, r7.w
            mul_sat r10.w, r8.x, r7.w
            mad_sat r11.w, r8.x, r5.z, r8.x
          endif
        else
          mad r5.z, r5.x, l(2.000000), l(2.000000)
          rsq r5.z, r5.z
          add r7.w, r0.x, r2.x
          mul_sat r10.w, r5.z, r7.w
          mad_sat r11.w, r5.z, r5.x, r5.z
        endif
        add r2.x, |r2.x|, l(0.000010)
        min r2.x, r2.x, l(1.000000)
        mul r5.x, r1.y, r12.x
        mul r16.xyz, r3.xyzx, r5.xxxx
        mul r13.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
        mul r5.z, r2.w, r2.w
        lt r7.w, l(0.000000), r7.z
        mul r8.x, r7.z, r7.z
        mad r12.z, r11.w, l(3.600000), l(0.400000)
        div r8.x, r8.x, r12.z
        mad r8.x, r2.w, r2.w, r8.x
        min r8.x, r8.x, l(1.000000)
        movc r16.x, r7.w, r8.x, r5.z
        mul r5.z, r4.w, l(0.250000)
        ishr r7.w, r16.x, l(1)
        iadd r7.w, r7.w, l(0x1fbd1df5)
        mad r7.w, r7.w, l(3.000000), r4.w
        mul r5.z, r5.z, r7.w
        add r7.w, r11.w, l(0.001000)
        div r5.z, r5.z, r7.w
        add r17.x, r5.z, r16.x
        div r17.y, r16.x, r17.x
        mov r16.y, l(1.000000)
        movc r5.yz, r5.yyyy, r17.xxyx, r16.xxyx
        lt r8.x, r12.y, l(1.000000)
        add r12.z, -r12.y, l(1.000100)
        add r12.w, r12.y, l(1.000000)
        div r12.z, r12.z, r12.w
        sqrt r12.z, r12.z
        mul r12.w, r12.z, l(0.250000)
        ishr r13.w, r5.y, l(1)
        iadd r13.w, r13.w, l(0x1fbd1df5)
        mad r12.z, r13.w, l(3.000000), r12.z
        mul r12.z, r12.z, r12.w
        div r7.w, r12.z, r7.w
        add r7.w, r5.y, r7.w
        div r5.y, r5.y, r7.w
        sqrt r5.y, r5.y
        mul r5.y, r5.y, r5.z
        movc r5.y, r8.x, r5.y, r5.z
        mad r5.z, r10.w, r16.x, -r10.w
        mad r5.z, r5.z, r10.w, l(1.000000)
        mul r5.z, r5.z, r5.z
        mul r5.z, r5.z, l(3.14159274)
        div r5.z, r16.x, r5.z
        mul r5.y, r5.y, r5.z
        sqrt r5.z, r16.x
        add r7.w, -r5.z, l(1.000000)
        mad r8.x, r2.x, r7.w, r5.z
        mad r5.z, r1.y, r7.w, r5.z
        mul r2.x, r2.x, r5.z
        mad r2.x, r1.y, r8.x, r2.x
        rcp r2.x, r2.x
        mul r2.x, r2.x, r5.y
        add r5.y, -r11.w, l(1.000000)
        mul r5.z, r5.y, r5.y
        mul r5.z, r5.z, r5.z
        mul r7.w, r5.y, r5.z
        mul_sat r8.x, r10.y, l(50.000000)
        mad r5.y, -r5.z, r5.y, l(1.000000)
        mul r16.xyz, r10.xyzx, r5.yyyy
        mad r16.xyz, r8.xxxx, r7.wwww, r16.xyzx
        mul r2.x, r2.x, l(0.500000)
        mul r16.xyz, r16.xyzx, r2.xxxx
        mul r14.xyz, r5.xxxx, r16.xyzx
        mul r5.xyz, r6.xyzx, r6.xyzx
        mad_sat r16.x, r0.x, l(0.500000), l(0.500000)
        add r16.y, -r6.w, l(1.000000)
        sample_l_indexable(texture2d)(float,float,float,float) r16.xyz, r16.xyxx, t0.xyzw, s0, l(0.000000)
        mul r16.xyz, r12.xxxx, r16.xyzx
        mul r15.xyz, r5.xyzx, r16.xyzx
        break
        case l(4)
        max r0.x, r6.y, l(0.020000)
        dp3 r2.x, r8.yzwy, r11.xyzx
        dp3 r5.x, r8.yzwy, -r4.xyzx
        dp3 r5.y, -r4.xyzx, r11.xyzx
        lt r5.z, l(0.000000), r4.w
        if_nz r5.z
          mad r7.w, -r4.w, r4.w, l(1.000000)
          sqrt r7.w, r7.w
          dp2 r8.x, r5.xxxx, r2.xxxx
          add r10.w, -r5.y, r8.x
          ge r11.w, r10.w, r7.w
          if_nz r11.w
            mov r11.w, l(1.000000)
            mov r12.z, |r5.x|
          else
            mad r12.w, -r10.w, r10.w, l(1.000000)
            rsq r12.w, r12.w
            mul r12.w, r4.w, r12.w
            mad r13.w, -r10.w, r2.x, r5.x
            mul r14.w, r12.w, r13.w
            mul r15.w, r5.x, r5.x
            mad r15.w, r15.w, l(2.000000), l(-1.000000)
            mad r10.w, -r10.w, r5.y, r15.w
            mul r10.w, r10.w, r12.w
            mad r15.w, -r2.x, r2.x, l(1.000000)
            mad r15.w, -r5.x, r5.x, r15.w
            mad r15.w, -r5.y, r5.y, r15.w
            mad_sat r8.x, r8.x, r5.y, r15.w
            sqrt r8.x, r8.x
            mul r8.x, r8.x, r12.w
            mul r15.w, r5.x, r8.x
            add r16.x, r15.w, r15.w
            mad r16.y, r2.x, r7.w, r5.x
            mad r12.w, r12.w, r13.w, r16.y
            mad r13.w, r5.y, r7.w, r10.w
            add r13.w, r13.w, l(1.000000)
            mul r16.z, r8.x, r13.w
            mul r16.w, r12.w, r13.w
            mul r17.x, r12.w, r16.x
            mul r15.w, r15.w, r12.w
            mul r15.w, r15.w, l(0.500000)
            mad r15.w, r16.z, l(-0.500000), r15.w
            mul r15.w, r15.w, r16.w
            mad r17.y, -r16.z, l(2.000000), r17.x
            mul r17.x, r17.y, r17.x
            mad r16.z, r16.z, r16.z, r17.x
            mul r17.x, r13.w, r13.w
            mad r13.w, r5.y, r7.w, r13.w
            mad r13.w, r13.w, l(-0.500000), l(-0.500000)
            mul r13.w, r13.w, r16.w
            mad r13.w, r16.y, r17.x, r13.w
            mad r12.w, r12.w, r13.w, r16.z
            add r13.w, r15.w, r15.w
            mul r16.y, r15.w, r15.w
            mad r16.y, r12.w, r12.w, r16.y
            div r13.w, r13.w, r16.y
            mul r12.w, r12.w, r13.w
            mad r13.w, -r13.w, r15.w, l(1.000000)
            mul r8.x, r8.x, r12.w
            mad r8.x, r13.w, r14.w, r8.x
            mul r12.w, r16.x, r12.w
            mad r10.w, r13.w, r10.w, r12.w
            mad r8.x, r2.x, r7.w, r8.x
            mad r7.w, r5.y, r7.w, r10.w
            mad r10.w, r7.w, l(2.000000), l(2.000000)
            rsq r10.w, r10.w
            add r8.x, r5.x, r8.x
            mul_sat r11.w, r10.w, r8.x
            mad_sat r12.z, r10.w, r7.w, r10.w
          endif
        else
          mad r7.w, r5.y, l(2.000000), l(2.000000)
          rsq r7.w, r7.w
          add r2.x, r2.x, r5.x
          mul_sat r11.w, r7.w, r2.x
          mad_sat r12.z, r7.w, r5.y, r7.w
        endif
        add r2.x, |r5.x|, l(0.000010)
        min r2.x, r2.x, l(1.000000)
        add r5.x, -r12.z, l(1.000000)
        mul r5.y, r5.x, r5.x
        mul r5.y, r5.y, r5.y
        mul r7.w, r5.x, r5.y
        mad r5.x, -r5.y, r5.x, l(1.000000)
        mad r5.y, r5.x, l(0.040000), r7.w
        mul r8.x, r6.x, r5.y
        mul r0.x, r0.x, r0.x
        mul r10.w, r0.x, r0.x
        lt r12.w, l(0.000000), r7.z
        mul r13.w, r7.z, r7.z
        mad r14.w, r12.z, l(3.600000), l(0.400000)
        div r13.w, r13.w, r14.w
        mad r0.x, r0.x, r0.x, r13.w
        min r0.x, r0.x, l(1.000000)
        movc r16.x, r12.w, r0.x, r10.w
        mul r0.x, r4.w, l(0.250000)
        ishr r10.w, r16.x, l(1)
        iadd r10.w, r10.w, l(0x1fbd1df5)
        mad r10.w, r10.w, l(3.000000), r4.w
        mul r10.w, r0.x, r10.w
        add r12.z, r12.z, l(0.001000)
        div r10.w, r10.w, r12.z
        add r17.x, r10.w, r16.x
        div r17.y, r16.x, r17.x
        mov r16.yw, l(0,1.000000,0,1.000000)
        movc r17.xy, r5.zzzz, r17.xyxx, r16.xyxx
        lt r10.w, r12.y, l(1.000000)
        add r14.w, -r12.y, l(1.000100)
        add r15.w, r12.y, l(1.000000)
        div r14.w, r14.w, r15.w
        sqrt r14.w, r14.w
        mul r15.w, r14.w, l(0.250000)
        ishr r16.y, r17.x, l(1)
        iadd r16.y, r16.y, l(0x1fbd1df5)
        mad r16.y, r16.y, l(3.000000), r14.w
        mul r16.y, r15.w, r16.y
        div r16.y, r16.y, r12.z
        add r16.y, r16.y, r17.x
        div r16.y, r17.x, r16.y
        sqrt r16.y, r16.y
        mul r16.y, r16.y, r17.y
        movc r16.y, r10.w, r16.y, r17.y
        mad r17.x, r11.w, r16.x, -r11.w
        mad r17.x, r17.x, r11.w, l(1.000000)
        mul r17.x, r17.x, r17.x
        mul r17.x, r17.x, l(3.14159274)
        div r17.x, r16.x, r17.x
        mul r16.y, r16.y, r17.x
        sqrt r16.x, r16.x
        add r17.x, -r16.x, l(1.000000)
        mad r17.y, r2.x, r17.x, r16.x
        mad r16.x, r1.y, r17.x, r16.x
        mul r16.x, r2.x, r16.x
        mad r16.x, r1.y, r17.y, r16.x
        rcp r16.x, r16.x
        mul r16.x, r16.x, l(0.500000)
        mul r17.x, r1.y, r12.x
        mul r16.y, r16.y, r17.x
        mul r16.x, r16.x, r16.y
        mad r5.y, -r5.y, r6.x, l(1.000000)
        mul r5.y, r12.x, r5.y
        mul r5.y, r1.y, r5.y
        mul r17.xyz, r3.xyzx, r5.yyyy
        mul r13.xyz, r17.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
        mul r16.y, r2.w, r2.w
        mad r13.w, r2.w, r2.w, r13.w
        min r13.w, r13.w, l(1.000000)
        movc r16.z, r12.w, r13.w, r16.y
        ishr r12.w, r16.z, l(1)
        iadd r12.w, r12.w, l(0x1fbd1df5)
        mad r12.w, r12.w, l(3.000000), r4.w
        mul r0.x, r0.x, r12.w
        div r0.x, r0.x, r12.z
        add r17.x, r0.x, r16.z
        div r17.y, r16.z, r17.x
        movc r16.yw, r5.zzzz, r17.xxxy, r16.zzzw
        ishr r0.x, r16.y, l(1)
        iadd r0.x, r0.x, l(0x1fbd1df5)
        mad r0.x, r0.x, l(3.000000), r14.w
        mul r0.x, r0.x, r15.w
        div r0.x, r0.x, r12.z
        add r0.x, r0.x, r16.y
        div r0.x, r16.y, r0.x
        sqrt r0.x, r0.x
        mul r0.x, r0.x, r16.w
        movc r0.x, r10.w, r0.x, r16.w
        mad r5.z, r11.w, r16.z, -r11.w
        mad r5.z, r5.z, r11.w, l(1.000000)
        mul r5.z, r5.z, r5.z
        mul r5.z, r5.z, l(3.14159274)
        div r5.z, r16.z, r5.z
        mul r0.x, r0.x, r5.z
        sqrt r5.z, r16.z
        add r10.w, -r5.z, l(1.000000)
        mad r11.w, r2.x, r10.w, r5.z
        mad r5.z, r1.y, r10.w, r5.z
        mul r2.x, r2.x, r5.z
        mad r2.x, r1.y, r11.w, r2.x
        rcp r2.x, r2.x
        mul r0.x, r0.x, r2.x
        mul_sat r2.x, r10.y, l(50.000000)
        mul r16.yzw, r10.xxyz, r5.xxxx
        mad r16.yzw, r2.xxxx, r7.wwww, r16.yyzw
        mul r0.x, r0.x, l(0.500000)
        mul r16.yzw, r16.yyzw, r0.xxxx
        mul r5.xyz, r5.yyyy, r16.yzwy
        mad r14.xyz, r16.xxxx, r8.xxxx, r5.xyzx
        mov r15.xyz, l(0,0,0,0)
        break
        case l(5)
        dp3 r0.x, r8.yzwy, r11.xyzx
        dp3 r2.x, r8.yzwy, -r4.xyzx
        dp3 r5.x, -r4.xyzx, r11.xyzx
        lt r5.y, l(0.000000), r4.w
        if_nz r5.y
          mad r5.z, -r4.w, r4.w, l(1.000000)
          sqrt r5.z, r5.z
          dp2 r7.w, r2.xxxx, r0.xxxx
          add r8.x, -r5.x, r7.w
          ge r10.w, r8.x, r5.z
          if_nz r10.w
            mov r10.w, l(1.000000)
            mov r11.w, |r2.x|
          else
            mad r12.z, -r8.x, r8.x, l(1.000000)
            rsq r12.z, r12.z
            mul r12.z, r4.w, r12.z
            mad r12.w, -r8.x, r0.x, r2.x
            mul r13.w, r12.w, r12.z
            mul r14.w, r2.x, r2.x
            mad r14.w, r14.w, l(2.000000), l(-1.000000)
            mad r8.x, -r8.x, r5.x, r14.w
            mul r8.x, r8.x, r12.z
            mad r14.w, -r0.x, r0.x, l(1.000000)
            mad r14.w, -r2.x, r2.x, r14.w
            mad r14.w, -r5.x, r5.x, r14.w
            mad_sat r7.w, r7.w, r5.x, r14.w
            sqrt r7.w, r7.w
            mul r7.w, r7.w, r12.z
            mul r14.w, r2.x, r7.w
            add r15.w, r14.w, r14.w
            mad r16.x, r0.x, r5.z, r2.x
            mad r12.z, r12.z, r12.w, r16.x
            mad r12.w, r5.x, r5.z, r8.x
            add r12.w, r12.w, l(1.000000)
            mul r16.y, r7.w, r12.w
            mul r16.z, r12.w, r12.z
            mul r16.w, r12.z, r15.w
            mul r14.w, r14.w, r12.z
            mul r14.w, r14.w, l(0.500000)
            mad r14.w, r16.y, l(-0.500000), r14.w
            mul r14.w, r14.w, r16.z
            mad r17.x, -r16.y, l(2.000000), r16.w
            mul r16.w, r16.w, r17.x
            mad r16.y, r16.y, r16.y, r16.w
            mul r16.w, r12.w, r12.w
            mad r12.w, r5.x, r5.z, r12.w
            mad r12.w, r12.w, l(-0.500000), l(-0.500000)
            mul r12.w, r12.w, r16.z
            mad r12.w, r16.x, r16.w, r12.w
            mad r12.z, r12.z, r12.w, r16.y
            add r12.w, r14.w, r14.w
            mul r16.x, r14.w, r14.w
            mad r16.x, r12.z, r12.z, r16.x
            div r12.w, r12.w, r16.x
            mul r12.z, r12.z, r12.w
            mad r12.w, -r12.w, r14.w, l(1.000000)
            mul r7.w, r7.w, r12.z
            mad r7.w, r12.w, r13.w, r7.w
            mul r12.z, r15.w, r12.z
            mad r8.x, r12.w, r8.x, r12.z
            mad r7.w, r0.x, r5.z, r7.w
            mad r5.z, r5.x, r5.z, r8.x
            mad r8.x, r5.z, l(2.000000), l(2.000000)
            rsq r8.x, r8.x
            add r7.w, r2.x, r7.w
            mul_sat r10.w, r8.x, r7.w
            mad_sat r11.w, r8.x, r5.z, r8.x
          endif
        else
          mad r5.z, r5.x, l(2.000000), l(2.000000)
          rsq r5.z, r5.z
          add r0.x, r0.x, r2.x
          mul_sat r10.w, r5.z, r0.x
          mad_sat r11.w, r5.z, r5.x, r5.z
        endif
        add r0.x, |r2.x|, l(0.000010)
        min r0.x, r0.x, l(1.000000)
        mul r2.x, r6.w, l(10.000000)
        mad r5.x, r6.x, l(255.000000), l(0.500000)
        ftou r16.y, r5.x
        mov r16.xzw, l(3,0,0,0)
        ld_indexable(texture2d)(float,float,float,float) r16.xyz, r16.xyzw, t9.xyzw
        dp2_sat r5.x, r16.xxxx, r1.zzzz
        max r5.x, r5.x, l(0.020000)
        dp2_sat r5.z, r16.yyyy, r1.zzzz
        mov_sat r2.x, r2.x
        add r5.x, r5.x, l(-1.000000)
        mad r5.x, r2.x, r5.x, l(1.000000)
        add r5.z, r5.z, l(-1.000000)
        mad r2.x, r2.x, r5.z, l(1.000000)
        mul r5.z, r1.y, r12.x
        mul r7.w, r11.w, r11.w
        dp2 r7.w, r7.wwww, r1.zzzz
        add r7.w, r7.w, l(-0.500000)
        add r8.x, -r0.x, l(1.000000)
        mul r12.z, r8.x, r8.x
        mul r12.z, r12.z, r12.z
        mul r8.x, r8.x, r12.z
        mad r8.x, r7.w, r8.x, l(1.000000)
        add r12.z, -r1.y, l(1.000000)
        mul r12.w, r12.z, r12.z
        mul r12.w, r12.w, r12.w
        mul r12.z, r12.z, r12.w
        mad r7.w, r7.w, r12.z, l(1.000000)
        mul r7.w, r8.x, r7.w
        mul r7.w, r7.w, l(0.318309873)
        mul r16.xyw, r3.xyxz, r7.wwww
        mul r13.xyz, r5.zzzz, r16.xywx
        mul r5.x, r5.x, r5.x
        mul r7.w, r5.x, r5.x
        mul r2.x, r2.x, r2.x
        mul r8.x, r2.x, r2.x
        lt r12.z, l(0.000000), r7.z
        mul r12.w, r7.z, r7.z
        mad r13.w, r11.w, l(3.600000), l(0.400000)
        div r12.w, r12.w, r13.w
        mad r5.x, r5.x, r5.x, r12.w
        min r5.x, r5.x, l(1.000000)
        movc r17.x, r12.z, r5.x, r7.w
        mul r5.x, r4.w, l(0.250000)
        ishr r7.w, r17.x, l(1)
        iadd r7.w, r7.w, l(0x1fbd1df5)
        mad r7.w, r7.w, l(3.000000), r4.w
        mul r7.w, r5.x, r7.w
        add r13.w, r11.w, l(0.001000)
        div r7.w, r7.w, r13.w
        add r16.x, r7.w, r17.x
        div r16.y, r17.x, r16.x
        mov r17.yw, l(0,1.000000,0,1.000000)
        movc r16.xy, r5.yyyy, r16.xyxx, r17.xyxx
        lt r7.w, r12.y, l(1.000000)
        add r14.w, -r12.y, l(1.000100)
        add r15.w, r12.y, l(1.000000)
        div r14.w, r14.w, r15.w
        sqrt r14.w, r14.w
        mul r15.w, r14.w, l(0.250000)
        ishr r16.w, r16.x, l(1)
        iadd r16.w, r16.w, l(0x1fbd1df5)
        mad r16.w, r16.w, l(3.000000), r14.w
        mul r16.w, r15.w, r16.w
        div r16.w, r16.w, r13.w
        add r16.w, r16.w, r16.x
        div r16.x, r16.x, r16.w
        sqrt r16.x, r16.x
        mul r16.x, r16.x, r16.y
        movc r16.x, r7.w, r16.x, r16.y
        mad r2.x, r2.x, r2.x, r12.w
        min r2.x, r2.x, l(1.000000)
        movc r17.z, r12.z, r2.x, r8.x
        ishr r2.x, r17.z, l(1)
        iadd r2.x, r2.x, l(0x1fbd1df5)
        mad r2.x, r2.x, l(3.000000), r4.w
        mul r2.x, r2.x, r5.x
        div r2.x, r2.x, r13.w
        add r18.x, r2.x, r17.z
        div r18.y, r17.z, r18.x
        movc r5.xy, r5.yyyy, r18.xyxx, r17.zwzz
        ishr r2.x, r5.x, l(1)
        iadd r2.x, r2.x, l(0x1fbd1df5)
        mad r2.x, r2.x, l(3.000000), r14.w
        mul r2.x, r2.x, r15.w
        div r2.x, r2.x, r13.w
        add r2.x, r2.x, r5.x
        div r2.x, r5.x, r2.x
        sqrt r2.x, r2.x
        mul r2.x, r2.x, r5.y
        movc r2.x, r7.w, r2.x, r5.y
        mad r5.xy, r10.wwww, r17.xzxx, -r10.wwww
        mad r5.xy, r5.xyxx, r10.wwww, l(1.000000, 1.000000, 0.000000, 0.000000)
        mul r5.xy, r5.xyxx, r5.xyxx
        mul r5.xy, r5.xyxx, l(3.14159274, 3.14159274, 0.000000, 0.000000)
        div r5.xy, r17.xzxx, r5.xyxx
        mul r5.x, r16.x, r5.x
        mad r2.x, r5.y, r2.x, -r5.x
        mad r2.x, r16.z, r2.x, r5.x
        mad r5.x, r0.x, r5.w, r2.w
        mad r5.y, r1.y, r5.w, r2.w
        mul r0.x, r0.x, r5.y
        mad r0.x, r1.y, r5.x, r0.x
        rcp r0.x, r0.x
        mul r0.x, r0.x, r2.x
        add r2.x, -r11.w, l(1.000000)
        mul r5.x, r2.x, r2.x
        mul r5.x, r5.x, r5.x
        mul r5.y, r2.x, r5.x
        mul_sat r5.w, r10.y, l(50.000000)
        mad r2.x, -r5.x, r2.x, l(1.000000)
        mul r16.xyz, r10.xyzx, r2.xxxx
        mad r5.xyw, r5.wwww, r5.yyyy, r16.xyxz
        mul r0.x, r0.x, l(0.500000)
        mul r5.xyw, r5.xyxw, r0.xxxx
        mul r14.xyz, r5.xywx, r5.zzzz
        mov r15.xyz, l(0,0,0,0)
        break
        case l(6)
        dp3 r0.x, r8.yzwy, r11.xyzx
        dp3 r2.x, r8.yzwy, -r4.xyzx
        dp3 r5.x, -r4.xyzx, r11.xyzx
        lt r5.y, l(0.000000), r4.w
        if_nz r5.y
          mad r5.z, -r4.w, r4.w, l(1.000000)
          sqrt r5.z, r5.z
          dp2 r5.w, r2.xxxx, r0.xxxx
          add r7.w, -r5.x, r5.w
          ge r8.x, r7.w, r5.z
          if_nz r8.x
            mov r8.x, l(1.000000)
            mov r10.w, |r2.x|
          else
            mad r11.w, -r7.w, r7.w, l(1.000000)
            rsq r11.w, r11.w
            mul r11.w, r4.w, r11.w
            mad r12.z, -r7.w, r0.x, r2.x
            mul r12.w, r11.w, r12.z
            mul r13.w, r2.x, r2.x
            mad r13.w, r13.w, l(2.000000), l(-1.000000)
            mad r7.w, -r7.w, r5.x, r13.w
            mul r7.w, r7.w, r11.w
            mad r13.w, -r0.x, r0.x, l(1.000000)
            mad r13.w, -r2.x, r2.x, r13.w
            mad r13.w, -r5.x, r5.x, r13.w
            mad_sat r5.w, r5.w, r5.x, r13.w
            sqrt r5.w, r5.w
            mul r5.w, r5.w, r11.w
            mul r13.w, r2.x, r5.w
            add r14.w, r13.w, r13.w
            mad r15.w, r0.x, r5.z, r2.x
            mad r11.w, r11.w, r12.z, r15.w
            mad r12.z, r5.x, r5.z, r7.w
            add r12.z, r12.z, l(1.000000)
            mul r16.x, r5.w, r12.z
            mul r16.y, r11.w, r12.z
            mul r16.z, r11.w, r14.w
            mul r13.w, r13.w, r11.w
            mul r13.w, r13.w, l(0.500000)
            mad r13.w, r16.x, l(-0.500000), r13.w
            mul r13.w, r13.w, r16.y
            mad r16.w, -r16.x, l(2.000000), r16.z
            mul r16.z, r16.w, r16.z
            mad r16.x, r16.x, r16.x, r16.z
            mul r16.z, r12.z, r12.z
            mad r12.z, r5.x, r5.z, r12.z
            mad r12.z, r12.z, l(-0.500000), l(-0.500000)
            mul r12.z, r12.z, r16.y
            mad r12.z, r15.w, r16.z, r12.z
            mad r11.w, r11.w, r12.z, r16.x
            add r12.z, r13.w, r13.w
            mul r15.w, r13.w, r13.w
            mad r15.w, r11.w, r11.w, r15.w
            div r12.z, r12.z, r15.w
            mul r11.w, r11.w, r12.z
            mad r12.z, -r12.z, r13.w, l(1.000000)
            mul r5.w, r5.w, r11.w
            mad r5.w, r12.z, r12.w, r5.w
            mul r11.w, r14.w, r11.w
            mad r7.w, r12.z, r7.w, r11.w
            mad r5.w, r0.x, r5.z, r5.w
            mad r5.z, r5.x, r5.z, r7.w
            mad r7.w, r5.z, l(2.000000), l(2.000000)
            rsq r7.w, r7.w
            add r5.w, r2.x, r5.w
            mul_sat r8.x, r7.w, r5.w
            mad_sat r10.w, r7.w, r5.z, r7.w
          endif
        else
          mad r5.z, r5.x, l(2.000000), l(2.000000)
          rsq r5.z, r5.z
          add r5.w, r0.x, r2.x
          mul_sat r8.x, r5.z, r5.w
          mad_sat r10.w, r5.z, r5.x, r5.z
        endif
        add r2.x, |r2.x|, l(0.000010)
        min r2.x, r2.x, l(1.000000)
        mul r5.z, r1.y, r12.x
        mul r16.xyz, r3.xyzx, r5.zzzz
        mul r13.xyz, r16.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
        mul r5.w, r2.w, r2.w
        lt r7.w, l(0.000000), r7.z
        mul r11.w, r7.z, r7.z
        mad r12.z, r10.w, l(3.600000), l(0.400000)
        div r11.w, r11.w, r12.z
        mad r11.w, r2.w, r2.w, r11.w
        min r11.w, r11.w, l(1.000000)
        movc r16.x, r7.w, r11.w, r5.w
        mul r5.w, r4.w, l(0.250000)
        ishr r7.w, r16.x, l(1)
        iadd r7.w, r7.w, l(0x1fbd1df5)
        mad r7.w, r7.w, l(3.000000), r4.w
        mul r5.w, r5.w, r7.w
        add r7.w, r10.w, l(0.001000)
        div r5.w, r5.w, r7.w
        add r17.x, r5.w, r16.x
        div r17.y, r16.x, r17.x
        mov r16.y, l(1.000000)
        movc r5.yw, r5.yyyy, r17.xxxy, r16.xxxy
        lt r11.w, r12.y, l(1.000000)
        add r12.z, -r12.y, l(1.000100)
        add r12.w, r12.y, l(1.000000)
        div r12.z, r12.z, r12.w
        sqrt r12.z, r12.z
        mul r12.w, r12.z, l(0.250000)
        ishr r13.w, r5.y, l(1)
        iadd r13.w, r13.w, l(0x1fbd1df5)
        mad r12.z, r13.w, l(3.000000), r12.z
        mul r12.z, r12.z, r12.w
        div r7.w, r12.z, r7.w
        add r7.w, r5.y, r7.w
        div r5.y, r5.y, r7.w
        sqrt r5.y, r5.y
        mul r5.y, r5.y, r5.w
        movc r5.y, r11.w, r5.y, r5.w
        mad r5.w, r8.x, r16.x, -r8.x
        mad r5.w, r5.w, r8.x, l(1.000000)
        mul r5.w, r5.w, r5.w
        mul r5.w, r5.w, l(3.14159274)
        div r5.w, r16.x, r5.w
        mul r5.y, r5.y, r5.w
        sqrt r5.w, r16.x
        add r7.w, -r5.w, l(1.000000)
        mad r8.x, r2.x, r7.w, r5.w
        mad r5.w, r1.y, r7.w, r5.w
        mul r2.x, r2.x, r5.w
        mad r2.x, r1.y, r8.x, r2.x
        rcp r2.x, r2.x
        mul r2.x, r2.x, r5.y
        add r5.y, -r10.w, l(1.000000)
        mul r5.w, r5.y, r5.y
        mul r5.w, r5.w, r5.w
        mul r7.w, r5.y, r5.w
        mul_sat r8.x, r10.y, l(50.000000)
        mad r5.y, -r5.w, r5.y, l(1.000000)
        mul r16.xyz, r10.xyzx, r5.yyyy
        mad r16.xyz, r8.xxxx, r7.wwww, r16.xyzx
        mul r2.x, r2.x, l(0.500000)
        mul r16.xyz, r16.xyzx, r2.xxxx
        mul r14.xyz, r5.zzzz, r16.xyzx
        mul r5.yzw, r6.xxyz, r6.xxyz
        add r0.x, -r0.x, l(0.500000)
        mul_sat r0.x, r0.x, l(0.444444448)
        mov_sat r5.x, -r5.x
        mul r2.x, r5.x, r5.x
        mad r2.x, r2.x, l(-0.640000), l(1.000000)
        mul r2.x, r2.x, r2.x
        mul r2.x, r2.x, l(3.14159274)
        div r2.x, l(0.360000), r2.x
        mul r0.x, r0.x, r12.x
        mul r0.x, r2.x, r0.x
        mul r15.xyz, r5.yzwy, r0.xxxx
        break
        case l(7)
        min r0.x, r1.z, l(1.000000)
        dp3 r1.z, -r4.xyzx, r11.xyzx
        dp3 r2.x, r8.yzwy, r11.xyzx
        dp3 r5.x, r8.yzwy, -r4.xyzx
        mad r5.y, |r5.x|, l(-0.156583), l(1.57079637)
        add r5.z, -|r5.x|, l(1.000000)
        sqrt r5.z, r5.z
        mul r5.w, r5.z, r5.y
        ge r7.w, r5.x, l(0.000000)
        mad r5.y, -r5.y, r5.z, l(3.14159274)
        movc r5.y, r7.w, r5.w, r5.y
        mad r5.z, |r2.x|, l(-0.156583), l(1.57079637)
        add r5.w, -|r2.x|, l(1.000000)
        sqrt r7.w, r5.w
        mul r8.x, r5.z, r7.w
        ge r10.w, r2.x, l(0.000000)
        mad r5.z, -r5.z, r7.w, l(3.14159274)
        movc r5.z, r10.w, r8.x, r5.z
        add r5.yz, -r5.yyzy, l(0.000000, 1.57079637, 1.57079637, 0.000000)
        add r5.y, -r5.z, r5.y
        mul r5.y, |r5.y|, l(0.500000)
        sincos null, r5.y, r5.y
        mad r16.xyz, -r2.xxxx, r8.yzwy, r11.xyzx
        mad r17.xyz, -r5.xxxx, r8.yzwy, -r4.xyzx
        dp3 r5.z, r16.xyzx, r17.xyzx
        dp3 r7.w, r16.xyzx, r16.xyzx
        dp3 r8.x, r17.xyzx, r17.xyzx
        mad r7.w, r7.w, r8.x, l(0.000100)
        rsq r7.w, r7.w
        mul r5.z, r5.z, r7.w
        mad r16.xyz, r5.zzzz, l(0.500000, -3.650000, 17.000000, 0.000000), l(0.500000, -3.980000, -16.780001, 0.000000)
        mov_sat r16.x, r16.x
        sqrt r7.w, r16.x
        div r12.zw, l(0.000000, 0.000000, 1.190000, 0.800000), r5.yyyy
        mad r10.w, r5.y, l(0.360000), r12.z
        mul r0.x, r0.x, r0.x
        mul r18.xyz, r0.xxxx, l(0.500000, 1.25331414, 5.01325655, 0.000000)
        add r11.w, r0.x, r0.x
        mul r12.z, r7.w, l(0.997551)
        mad r13.w, -r5.x, r5.x, l(1.000000)
        sqrt r13.w, r13.w
        mul r14.w, r5.x, l(-0.0699428469)
        mad r12.z, r12.z, r13.w, r14.w
        mul r0.x, r7.w, r0.x
        mul r16.xw, r0.xxxx, l(1.41421354, 0.000000, 0.000000, 3.54490757)
        add r0.x, r2.x, r5.x
        mad r2.x, -r12.z, l(-0.139885694), r0.x
        mul r2.x, r2.x, r2.x
        mul r2.x, r2.x, l(-0.500000)
        mul r5.x, r16.x, r16.x
        div r2.x, r2.x, r5.x
        mul r2.x, r2.x, l(1.442695)
        exp r2.x, r2.x
        div r2.x, r2.x, r16.w
        mul r2.x, r7.w, r2.x
        mad_sat r1.z, r1.z, l(0.500000), l(0.500000)
        sqrt r1.z, r1.z
        add r1.z, -r1.z, l(1.000000)
        mul r5.x, r1.z, r1.z
        mul r5.x, r5.x, r5.x
        mul r1.z, r1.z, r5.x
        mad r1.z, r1.z, l(0.953479409), l(0.0465205684)
        mul r1.z, r2.x, r1.z
        mul r1.z, r9.w, r1.z
        add r16.xw, r0.xxxx, l(-0.035000, 0.000000, 0.000000, -0.140000)
        mul r16.xw, r16.xxxw, r16.xxxw
        mul r16.xw, r16.xxxw, l(-0.500000, 0.000000, 0.000000, -0.500000)
        mul r0.x, r18.x, r18.x
        div r0.x, r16.x, r0.x
        mul r0.x, r0.x, l(1.442695)
        exp r0.x, r0.x
        div r0.x, r0.x, r18.y
        div r2.x, l(1.000000, 1.000000, 1.000000, 1.000000), r10.w
        mad r5.x, -r5.z, l(0.800000), l(0.600000)
        mad r5.x, r2.x, r5.x, l(1.000000)
        mul r5.x, r5.x, r7.w
        mad r5.z, -r5.x, r5.x, l(1.000000)
        max r5.z, r5.z, l(0.000000)
        sqrt r5.z, r5.z
        mad r5.z, -r5.y, r5.z, l(1.000000)
        mul r7.w, r5.z, r5.z
        mul r7.w, r7.w, r7.w
        mul r5.z, r5.z, r7.w
        mad r5.z, r5.z, l(0.953479409), l(0.0465205684)
        add r5.z, -r5.z, l(1.000000)
        mul r5.z, r5.z, r5.z
        mul r2.x, r2.x, r5.x
        mad r2.x, -r2.x, r2.x, l(1.000000)
        sqrt r2.x, r2.x
        mul r2.x, r2.x, l(0.500000)
        div r2.x, r2.x, r5.y
        log r18.xyw, r9.xyxz
        mul r19.xyz, r2.xxxx, r18.xywx
        exp r19.xyz, r19.xyzx
        mul r16.xy, r16.yzyy, l(1.442695, 1.442695, 0.000000, 0.000000)
        exp r16.xy, r16.xyxx
        mul r0.x, r0.x, r16.x
        mul r0.x, r5.z, r0.x
        mul r19.xyz, r19.xyzx, r0.xxxx
        mad r19.xyz, r1.zzzz, l(0.500000, 0.500000, 0.500000, 0.000000), r19.xyzx
        mul r0.x, r11.w, r11.w
        div r0.x, r16.w, r0.x
        mul r0.x, r0.x, l(1.442695)
        exp r0.x, r0.x
        div r0.x, r0.x, r18.z
        mad r1.z, -r5.y, l(0.500000), l(1.000000)
        mul r2.x, r1.z, r1.z
        mul r2.x, r2.x, r2.x
        mul r1.z, r1.z, r2.x
        mad r1.z, r1.z, l(0.953479409), l(0.0465205684)
        add r2.x, -r1.z, l(1.000000)
        mul r2.x, r2.x, r2.x
        mul r1.z, r1.z, r2.x
        mul r5.xyz, r12.wwww, r18.xywx
        exp r5.xyz, r5.xyzx
        mul r0.x, r16.y, r0.x
        mul r0.x, r1.z, r0.x
        mad r5.xyz, r0.xxxx, r5.xyzx, r19.xyzx
        rsq r0.x, r8.x
        mul r16.xyz, r0.xxxx, r17.xyzx
        dp3 r0.x, r16.xyzx, r11.xyzx
        add r0.x, r0.x, l(1.000000)
        mul_sat r0.x, r0.x, l(0.250000)
        add r1.z, -r0.x, r5.w
        mad r0.x, r1.z, l(0.330000), r0.x
        mul r0.x, r0.x, r1.w
        mul r0.x, r0.x, l(0.318309873)
        dp3 r1.z, r9.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
        div r16.xyz, r9.xyzx, r1.zzzz
        add r1.z, -r7.y, l(1.000000)
        log r16.xyz, r16.xyzx
        mul r16.xyz, r1.zzzz, r16.xyzx
        exp r16.xyz, r16.xyzx
        sqrt r9.xyz, r9.xyzx
        mul r9.xyz, r0.xxxx, r9.xyzx
        mad r5.xyz, r9.xyzx, r16.xyzx, r5.xyzx
        min r5.xyz, -r5.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
        mul r15.xyz, -r5.xyzx, r12.xxxx
        mov r13.xyz, l(0,0,0,0)
        mov r14.xyz, l(0,0,0,0)
        break
        case l(8)
        mov_sat r6.xyzw, r6.xyzw
        dp3 r0.x, r8.yzwy, r11.xyzx
        dp3 r1.z, r8.yzwy, -r4.xyzx
        dp3 r1.w, -r4.xyzx, r11.xyzx
        lt r2.x, l(0.000000), r4.w
        if_nz r2.x
          mad r5.x, -r4.w, r4.w, l(1.000000)
          sqrt r5.x, r5.x
          dp2 r5.y, r1.zzzz, r0.xxxx
          add r5.z, -r1.w, r5.y
          ge r5.w, r5.z, r5.x
          if_nz r5.w
            mov r5.w, l(1.000000)
            mov r7.w, |r1.z|
          else
            mad r8.x, -r5.z, r5.z, l(1.000000)
            rsq r8.x, r8.x
            mul r8.x, r4.w, r8.x
            mad r9.x, -r5.z, r0.x, r1.z
            mul r9.y, r8.x, r9.x
            mul r9.z, r1.z, r1.z
            mad r9.z, r9.z, l(2.000000), l(-1.000000)
            mad r5.z, -r5.z, r1.w, r9.z
            mad r9.z, -r0.x, r0.x, l(1.000000)
            mad r9.z, -r1.z, r1.z, r9.z
            mad r9.z, -r1.w, r1.w, r9.z
            mad_sat r5.y, r5.y, r1.w, r9.z
            sqrt r5.y, r5.y
            mul r5.yz, r5.yyzy, r8.xxxx
            mul r9.z, r1.z, r5.y
            add r10.w, r9.z, r9.z
            mad r11.w, r0.x, r5.x, r1.z
            mad r8.x, r8.x, r9.x, r11.w
            mad r9.x, r1.w, r5.x, r5.z
            add r9.x, r9.x, l(1.000000)
            mul r12.z, r5.y, r9.x
            mul r12.w, r8.x, r9.x
            mul r13.w, r8.x, r10.w
            mul r9.z, r9.z, r8.x
            mul r9.z, r9.z, l(0.500000)
            mad r9.z, r12.z, l(-0.500000), r9.z
            mad r14.w, -r12.z, l(2.000000), r13.w
            mul r13.w, r13.w, r14.w
            mad r12.z, r12.z, r12.z, r13.w
            mul r13.w, r9.x, r9.x
            mad r9.x, r1.w, r5.x, r9.x
            mad r9.x, r9.x, l(-0.500000), l(-0.500000)
            mul r9.xz, r9.xxzx, r12.wwww
            mad r9.x, r11.w, r13.w, r9.x
            mad r8.x, r8.x, r9.x, r12.z
            add r9.x, r9.z, r9.z
            mul r11.w, r9.z, r9.z
            mad r11.w, r8.x, r8.x, r11.w
            div r9.x, r9.x, r11.w
            mul r8.x, r8.x, r9.x
            mad r9.x, -r9.x, r9.z, l(1.000000)
            mul r5.y, r5.y, r8.x
            mad r5.y, r9.x, r9.y, r5.y
            mul r8.x, r10.w, r8.x
            mad r5.z, r9.x, r5.z, r8.x
            mad r5.y, r0.x, r5.x, r5.y
            mad r5.x, r1.w, r5.x, r5.z
            mad r5.z, r5.x, l(2.000000), l(2.000000)
            rsq r5.z, r5.z
            add r5.y, r1.z, r5.y
            mul_sat r5.w, r5.z, r5.y
            mad_sat r7.w, r5.z, r5.x, r5.z
          endif
        else
          mad r5.x, r1.w, l(2.000000), l(2.000000)
          rsq r5.x, r5.x
          add r0.x, r0.x, r1.z
          mul_sat r5.w, r5.x, r0.x
          mad_sat r7.w, r5.x, r1.w, r5.x
        endif
        add r0.x, |r1.z|, l(0.000010)
        min r0.x, r0.x, l(1.000000)
        mul r1.z, r1.y, r12.x
        mul r1.w, r2.w, r2.w
        lt r5.x, l(0.000000), r7.z
        mul r5.y, r7.z, r7.z
        mad r5.z, r7.w, l(3.600000), l(0.400000)
        div r5.y, r5.y, r5.z
        mad r5.y, r2.w, r2.w, r5.y
        min r5.y, r5.y, l(1.000000)
        movc r5.x, r5.x, r5.y, r1.w
        mul r5.z, r4.w, l(0.250000)
        ishr r8.x, r5.x, l(1)
        iadd r8.x, r8.x, l(0x1fbd1df5)
        mad r8.x, r8.x, l(3.000000), r4.w
        mul r5.z, r5.z, r8.x
        add r8.x, r7.w, l(0.001000)
        div r5.z, r5.z, r8.x
        add r9.x, r5.z, r5.x
        div r9.y, r5.x, r9.x
        mov r5.y, l(1.000000)
        movc r5.yz, r2.xxxx, r9.xxyx, r5.xxyx
        lt r2.x, r12.y, l(1.000000)
        add r9.x, -r12.y, l(1.000100)
        add r9.y, r12.y, l(1.000000)
        div r9.x, r9.x, r9.y
        sqrt r9.x, r9.x
        mul r9.y, r9.x, l(0.250000)
        ishr r9.z, r5.y, l(1)
        iadd r9.z, r9.z, l(0x1fbd1df5)
        mad r9.x, r9.z, l(3.000000), r9.x
        mul r9.x, r9.x, r9.y
        div r8.x, r9.x, r8.x
        add r8.x, r5.y, r8.x
        div r5.y, r5.y, r8.x
        sqrt r5.y, r5.y
        mul r5.y, r5.y, r5.z
        movc r2.x, r2.x, r5.y, r5.z
        mad r5.y, r5.w, r5.x, -r5.w
        mad r5.y, r5.y, r5.w, l(1.000000)
        mul r5.y, r5.y, r5.y
        mul r5.y, r5.y, l(3.14159274)
        div r5.y, r5.x, r5.y
        mul r2.x, r2.x, r5.y
        sqrt r5.x, r5.x
        add r5.y, -r5.x, l(1.000000)
        mad r5.z, r0.x, r5.y, r5.x
        mad r5.x, r1.y, r5.y, r5.x
        mul r5.x, r0.x, r5.x
        mad r5.x, r1.y, r5.z, r5.x
        rcp r5.x, r5.x
        mul r2.x, r2.x, r5.x
        add r5.x, -r7.w, l(1.000000)
        mul r5.y, r5.x, r5.x
        mul r5.y, r5.y, r5.y
        mul r5.z, r5.x, r5.y
        mul_sat r7.w, r10.y, l(50.000000)
        mad r5.x, -r5.y, r5.x, l(1.000000)
        mul r9.xyz, r10.xyzx, r5.xxxx
        mad r9.xyz, r7.wwww, r5.zzzz, r9.xyzx
        mul r2.x, r2.x, l(0.500000)
        mul r9.xyz, r9.xyzx, r2.xxxx
        mul r9.xyz, r1.zzzz, r9.xyzx
        mad r2.x, -r1.w, r5.w, r5.w
        mad r2.x, r2.x, r5.w, r1.w
        mul r5.y, r1.w, l(4.000000)
        mad r5.w, r1.w, l(4.000000), l(1.000000)
        mul r5.w, r5.w, l(3.14159274)
        rcp r5.w, r5.w
        mul r1.w, r1.w, r5.y
        mul r2.x, r2.x, r2.x
        div r1.w, r1.w, r2.x
        add r1.w, r1.w, l(1.000000)
        mul r1.w, r1.w, r5.w
        add r2.x, r0.x, r1.y
        mad r0.x, -r1.y, r0.x, r2.x
        mul r0.x, r0.x, l(4.000000)
        rcp r0.x, r0.x
        mul r2.x, r6.y, l(50.000000)
        min r2.x, r2.x, l(1.000000)
        mul r5.xyw, r6.xyxz, r5.xxxx
        mad r5.xyz, r2.xxxx, r5.zzzz, r5.xywx
        mul r0.x, r0.x, r1.w
        mul r0.x, r0.x, r1.z
        mul r10.xyz, r1.zzzz, r3.xyzx
        mul r13.xyz, r10.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
        mad r5.xyz, r0.xxxx, r5.xyzx, -r9.xyzx
        mad r14.xyz, r6.wwww, r5.xyzx, r9.xyzx
        mov r15.xyz, l(0,0,0,0)
        break
        case l(9)
        mad r1.zw, r6.yyyz, l(0.000000, 0.000000, 2.000000, 2.000000), l(0.000000, 0.000000, -1.000000, -1.000000)
        dp2 r0.x, l(1.000000, 1.000000, 0.000000, 0.000000), |r1.zwzz|
        add r5.z, -r0.x, l(1.000000)
        lt r0.x, r5.z, l(0.000000)
        add r6.xy, -|r1.wzww|, l(1.000000, 1.000000, 0.000000, 0.000000)
        ge r9.xy, r1.zwzz, l(0.000000, 0.000000, 0.000000, 0.000000)
        movc r9.xy, r9.xyxx, l(1.000000,1.000000,0,0), l(-1.000000,-1.000000,0,0)
        mul r6.xy, r6.xyxx, r9.xyxx
        movc r5.xy, r0.xxxx, r6.xyxx, r1.zwzz
        dp3 r0.x, r5.xyzx, r5.xyzx
        rsq r0.x, r0.x
        mul r5.xyz, r0.xxxx, r5.xyzx
        add r0.x, -r6.w, l(1.000000)
        mul r1.x, r1.x, r0.x
        mad r0.yzw, -r0.yyzw, r2.yyyy, -r5.xxyz
        mad r0.yzw, r1.xxxx, r0.yyzw, r5.xxyz
        dp3 r1.x, r0.yzwy, r0.yzwy
        rsq r1.x, r1.x
        mul r0.yzw, r0.yyzw, r1.xxxx
        dp3 r1.x, r8.yzwy, r11.xyzx
        dp3 r1.z, r8.yzwy, -r4.xyzx
        dp3 r1.w, -r4.xyzx, r11.xyzx
        lt r2.x, l(0.000000), r4.w
        if_nz r2.x
          mad r2.y, -r4.w, r4.w, l(1.000000)
          sqrt r2.y, r2.y
          dp2 r4.x, r1.zzzz, r1.xxxx
          add r4.x, -r1.w, r4.x
          ge r4.y, r4.x, r2.y
          if_nz r4.y
            mov r4.y, l(1.000000)
            mov r4.z, |r1.z|
          else
            mad r5.w, -r4.x, r4.x, l(1.000000)
            rsq r5.w, r5.w
            mul r5.w, r4.w, r5.w
            mad r6.x, -r4.x, r1.x, r1.z
            mul r6.x, r5.w, r6.x
            dp2 r6.y, r1.zzzz, r1.zzzz
            add r6.y, r6.y, l(-1.000000)
            mad r4.x, -r4.x, r1.w, r6.y
            mul r4.x, r4.x, r5.w
            mad r5.w, r1.x, r2.y, r6.x
            mad r2.y, r1.w, r2.y, r4.x
            mad r4.x, r2.y, l(2.000000), l(2.000000)
            rsq r4.x, r4.x
            add r5.w, r1.z, r5.w
            mul_sat r4.y, r4.x, r5.w
            mad_sat r4.z, r4.x, r2.y, r4.x
          endif
        else
          mad r2.y, r1.w, l(2.000000), l(2.000000)
          rsq r2.y, r2.y
          add r1.x, r1.z, r1.x
          mul_sat r4.y, r2.y, r1.x
          mad_sat r4.z, r2.y, r1.w, r2.y
        endif
        add r1.x, |r1.z|, l(0.000010)
        min r1.x, r1.x, l(1.000000)
        mul r1.z, r9.w, l(0.080000)
        add r1.w, -r4.z, l(1.000000)
        mul r2.y, r1.w, r1.w
        mul r2.y, r2.y, r2.y
        mul r4.x, r1.w, r2.y
        mad r1.w, -r2.y, r1.w, l(1.000000)
        mad r1.z, r1.w, r1.z, r4.x
        mul r1.w, r2.w, r2.w
        lt r2.y, l(0.000000), r7.z
        mul r4.x, r7.z, r7.z
        mad r5.w, r4.z, l(3.600000), l(0.400000)
        div r4.x, r4.x, r5.w
        mad r2.w, r2.w, r2.w, r4.x
        min r2.w, r2.w, l(1.000000)
        movc r6.x, r2.y, r2.w, r1.w
        mul r1.w, r4.w, l(0.250000)
        ishr r2.y, r6.x, l(1)
        iadd r2.y, r2.y, l(0x1fbd1df5)
        mad r2.y, r2.y, l(3.000000), r4.w
        mul r1.w, r1.w, r2.y
        add r2.y, r4.z, l(0.001000)
        div r1.w, r1.w, r2.y
        add r8.x, r1.w, r6.x
        div r8.y, r6.x, r8.x
        mov r6.y, l(1.000000)
        movc r2.xw, r2.xxxx, r8.xxxy, r6.xxxy
        lt r1.w, r12.y, l(1.000000)
        add r4.x, -r12.y, l(1.000100)
        add r4.z, r12.y, l(1.000000)
        div r4.x, r4.x, r4.z
        sqrt r4.x, r4.x
        mul r4.z, r4.x, l(0.250000)
        ishr r4.w, r2.x, l(1)
        iadd r4.w, r4.w, l(0x1fbd1df5)
        mad r4.x, r4.w, l(3.000000), r4.x
        mul r4.x, r4.x, r4.z
        div r2.y, r4.x, r2.y
        add r2.y, r2.y, r2.x
        div r2.x, r2.x, r2.y
        sqrt r2.x, r2.x
        mul r2.x, r2.x, r2.w
        movc r1.w, r1.w, r2.x, r2.w
        mad r2.x, r4.y, r6.x, -r4.y
        mad r2.x, r2.x, r4.y, l(1.000000)
        mul r2.x, r2.x, r2.x
        mul r2.x, r2.x, l(3.14159274)
        div r2.x, r6.x, r2.x
        mul r1.w, r1.w, r2.x
        sqrt r2.x, r6.x
        add r2.y, -r2.x, l(1.000000)
        mad r2.w, r1.x, r2.y, r2.x
        mad r2.x, r1.y, r2.y, r2.x
        mul r1.x, r1.x, r2.x
        mad r1.x, r1.y, r2.w, r1.x
        rcp r1.x, r1.x
        mul r1.x, r1.x, l(0.500000)
        mul r2.x, r1.y, r12.x
        mul r1.w, r1.w, r2.x
        mul r1.x, r1.x, r1.w
        mul r14.xyz, r1.zzzz, r1.xxxx
        dp3_sat r1.x, r5.xyzx, r11.xyzx
        mad r2.xy, r1.xxxx, l(-11.000000, -11.000000, 0.000000, 0.000000), l(12.000000, 13.000000, 0.000000, 0.000000)
        mul r1.w, r2.y, l(0.200000)
        dp3_sat r0.y, r0.yzwy, r11.xyzx
        log r0.y, r0.y
        mul r0.y, r0.y, r2.x
        exp r0.y, r0.y
        mad r0.y, r1.w, r0.y, l(0.800000)
        mad r0.y, r1.x, r0.y, -r1.y
        mad r0.x, r0.x, r0.y, r1.y
        mul r0.x, r0.x, r12.x
        add r0.y, -r1.z, l(1.000000)
        mul r0.x, r0.y, r0.x
        mul r0.xyz, r0.xxxx, r3.xyzx
        mul r15.xyz, r0.xyzx, l(0.318309873, 0.318309873, 0.318309873, 0.000000)
        mov r13.xyz, l(0,0,0,0)
        break
        default
        mov r13.xyz, l(0,0,0,0)
        mov r14.xyz, l(0,0,0,0)
        mov r15.xyz, l(0,0,0,0)
        break
      endswitch
      mad r0.xyz, r14.xyzx, cb1[5].wwww, r13.xyzx
      mul r1.xyz, r3.wwww, cb1[4].xyzx
      mul r2.xyw, r7.xxxx, r1.xyxz
      eq r0.w, cb0[179].w, l(0.000000)
      mul r3.xyz, r2.xywx, r13.xyzx
      dp3 r1.w, r3.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
      and r1.w, r0.w, r1.w
      and r1.w, r1.w, r2.z
      mul r1.xyz, r7.yyyy, r1.xyzx
      mul r1.xyz, r1.xyzx, r15.xyzx
      mad r3.xyz, r0.xyzx, r2.xywx, r1.xyzx
      dp3 r0.x, r1.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
      add r0.x, r0.x, r1.w
      movc r0.x, r0.w, r0.x, r1.w
      and r0.x, r0.x, r2.z
    else
      mov r3.xyz, l(0,0,0,0)
      mov r0.x, l(0)
    endif
  else
    mov r3.xyz, l(0,0,0,0)
    mov r0.x, l(0)
  endif
  eq r0.y, cb0[179].w, l(0.000000)
  and r3.w, r0.x, r0.y
  mov o0.xyzw, r3.xyzw
else
  mov o0.xyzw, l(0,0,0,0)
endif
ret
// Approximately 0 instruction slots used
