// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v0.6.63 on Sun Oct  9 13:48:44 2022
//
//
// Note: shader requires additional functionality:
//       64 UAV slots
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Input
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// no Output
cs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB0[166], dynamicIndexed
dcl_constantbuffer CB1[1], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_resource_texture2d (float,float,float,float) t1
dcl_resource_texture2d (uint,uint,uint,uint) 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_structured t8, 4
dcl_resource_structured t10, 16
dcl_resource_texture2d (float,float,float,float) t11
dcl_resource_texture2darray (float,float,float,float) t12
dcl_uav_typed_texture2darray (uint,uint,uint,uint) u8
dcl_uav_typed_texture2darray (float,float,float,float) u9
dcl_uav_typed_texture2darray (float,float,float,float) u10
dcl_uav_typed_texture2darray (float,float,float,float) u11
dcl_uav_typed_texture2darray (float,float,float,float) u12
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.x
dcl_temps 50
dcl_indexableTemp x0[4], 4
dcl_thread_group 64, 1, 1
dcl_constantbuffer CB12[3], immediateIndexed
mov r50.z, l(0)
iadd r0.x, vThreadGroupID.x, cb1[0].x
udiv r1.x, r2.x, r0.x, cb0[23].w
imul null, r0.y, r0.x, l(3)
ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.y, r0.y, l(0), t8.xxxx
and r0.z, r0.y, l(0x00100000)
ushr r1.yz, vThreadIDInGroupFlattened.xxxx, l(0, 2, 3, 0)
and r1.yz, r1.yyzy, l(0, 4, 4, 0)
xor r0.w, r1.y, r1.z
ishl r1.z, vThreadIDInGroupFlattened.x, l(1)
ushr r1.zw, l(0, 0, 0xebfa5014, 0xfa4141af), r1.zzzz
bfi r3.x, l(2), l(0), r1.z, r0.w
bfi r3.y, l(2), l(0), r1.w, r1.y
mov r2.y, r1.x
bfi r1.xy, l(29, 29, 0, 0), l(3, 3, 0, 0), r2.xyxx, r3.xyxx
if_nz r0.z
  mov r50.xy, r1.xyyy
  store_uav_typed u10.xyzw, r50.xyzz, l(0,0,0,0)
  mov r50.xy, r1.xyyy
  store_uav_typed u11.xyzw, r50.xyzz, l(0,0,0,0)
  mov r50.xy, r1.xyyy
  store_uav_typed u8.xyzw, r50.xyzz, l(0xffff0000,0x007fff7f,0xffff0000,0xffff0000)
  if_nz cb0[23].x
    mov r50.xy, r1.xyyy
    store_uav_typed u9.xyzw, r50.xyzz, l(0,0,0,0)
  endif
endif
if_z r0.z
  and r0.y, r0.y, l(0x01000000)
  ine r0.y, r0.y, l(0)
  itof r0.zw, r1.xxxy
  mov r30.zw, r0.zzzw
  mul r40.w, cb0[3].x, l(-0.500000)
  mad r30.z, cb12[0].x, r40.w, r30.z
  add r30.zw, r30.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
  add r0.zw, r0.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
  mul r32.xy, r0.zwzz, cb0[3].zwzz
  mul r2.xy, r30.zwzz, cb0[3].zwzz
  sample_l_indexable(texture2d)(float,float,float,float) r2.z, r32.xyxx, t0.yzxw, s1, l(0.000000)
  mad r3.xy, r2.xyxx, cb0[0].xyxx, cb0[0].zwzz
  mul r3.xy, r2.zzzz, r3.xyxx
  mov r3.z, -r2.z
  mad r33.xy, r32.xyxx, cb0[0].xyxx, cb0[0].zwzz
  mul r33.xy, r2.zzzz, r33.xyxx
  mov r33.z, -r2.z
  mov r43.xyz, r3.xyzx
  mov r43.w, l(1.000000)
  add r40.w, l(0.000000), cb12[0].y
  mul r40.w, r40.w, cb0[0].x
  mul r40.w, r40.w, l(0.500000)
  mad r43.x, cb12[0].x, r40.w, r43.x
  mov r1.z, l(0)
  ld_indexable(texture2d)(float,float,float,float) r4.xyzw, r1.xyzz, t1.xyzw
  mad r4.xyz, r4.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
  mov x0[3].x, l(1.000000)
  mov x0[2].x, l(1.000000)
  mov x0[1].x, l(1.000000)
  mov x0[0].x, l(1.000000)
  if_nz cb0[23].y
    imad r5.xy, r0.xxxx, l(3, 3, 0, 0), l(1, 2, 0, 0)
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r0.x, r5.x, l(0), t8.xxxx
    ld_structured_indexable(structured_buffer, stride=4)(mixed,mixed,mixed,mixed) r5.x, r5.y, l(0), t8.xxxx
    mov r3.w, l(1.000000)
    dp4 r6.x, r43.xyzw, cb0[8].xyzw
    dp4 r6.y, r43.xyzw, cb0[9].xyzw
    dp4 r6.z, r43.xyzw, cb0[10].xyzw
    mov r5.yzw, l(0,1.000000,1.000000,0)
    loop
      uge r6.w, r5.w, l(2)
      breakc_nz r6.w
      movc r6.w, r5.w, r5.x, r0.x
      ishl r7.x, r5.w, l(5)
      mov r7.yz, r5.yyzy
      mov r7.w, r6.w
      loop
        breakc_z r7.w
        firstbit_lo r8.x, r7.w
        ishl r8.y, l(1), r8.x
        not r8.y, r8.y
        and r7.w, r7.w, r8.y
        iadd r8.x, r7.x, r8.x
        ishl r8.y, r8.x, l(1)
        bfi r8.x, l(31), l(1), r8.x, l(1)
        add r9.xyz, -r6.xyzx, cb0[r8.y + 32].xyzx
        dp3 r8.z, r9.xyzx, cb0[r8.x + 32].xyzx
        mul r8.w, cb0[r8.x + 32].w, cb0[r8.x + 32].w
        mov r9.w, l(0)
        loop
          uge r10.x, r9.w, cb0[26].y
          breakc_nz r10.x
          add r10.xyz, -r6.xyzx, cb0[r9.w + 27].xyzx
          dp3 r10.w, r10.xyzx, r10.xyzx
          rsq r10.w, r10.w
          mul r10.xyz, r10.wwww, r10.xyzx
          dp3 r10.w, r10.xyzx, r9.xyzx
          dp3 r11.x, r10.xyzx, cb0[r8.x + 32].xyzx
          mad r10.w, r10.w, r11.x, -r8.z
          mad r11.x, -r11.x, r11.x, r8.w
          div_sat r10.w, r10.w, r11.x
          mad r11.xyz, cb0[r8.x + 32].xyzx, r10.wwww, r9.xyzx
          dp3 r10.w, r11.xyzx, r11.xyzx
          rsq r11.w, r10.w
          mul r11.xyz, r11.wwww, r11.xyzx
          dp3 r10.x, r11.xyzx, r10.xyzx
          mad r10.x, r10.x, l(0.500000), l(0.500000)
          mul r10.y, r11.w, cb0[r8.y + 32].w
          mad r10.xy, r10.xyxx, l(0.996093750, 0.992187500, 0.000000, 0.000000), l(0.00195312500, 0.00390625000, 0.000000, 0.000000)
          sample_l_indexable(texture2d)(float,float,float,float) r10.x, r10.xyxx, t11.xyzw, s0, l(0.000000)
          mul_sat r10.y, r10.w, cb0[22].y
          add r10.x, r10.x, l(-1.000000)
          mad r10.x, r10.y, r10.x, l(1.000000)
          mov r10.y, x0[r9.w + 0].x
          mul r10.x, r10.x, r10.y
          mov x0[r9.w + 0].x, r10.x
          iadd r9.w, r9.w, l(1)
        endloop
        dp3 r9.w, cb0[31].xyzx, r9.xyzx
        dp3 r10.x, cb0[31].xyzx, cb0[r8.x + 32].xyzx
        mad r9.w, r9.w, r10.x, -r8.z
        mad r10.x, -r10.x, r10.x, r8.w
        div_sat r9.w, r9.w, r10.x
        mad r10.xyz, cb0[r8.x + 32].xyzx, r9.wwww, r9.xyzx
        dp3 r9.w, r10.xyzx, r10.xyzx
        rsq r10.w, r9.w
        mul r10.xyz, r10.wwww, r10.xyzx
        dp3 r10.x, r10.xyzx, cb0[31].xyzx
        mad r10.x, r10.x, l(0.500000), l(0.500000)
        mul r10.y, r10.w, cb0[r8.y + 32].w
        mad r10.xy, r10.xyxx, l(0.996093750, 0.992187500, 0.000000, 0.000000), l(0.00195312500, 0.00390625000, 0.000000, 0.000000)
        sample_l_indexable(texture2d)(float,float,float,float) r10.x, r10.xyxx, t11.xyzw, s0, l(0.000000)
        mul_sat r9.w, r9.w, cb0[22].x
        add r10.x, r10.x, l(-1.000000)
        mad r10.x, r9.w, r10.x, l(1.000000)
        mul r7.z, r7.z, r10.x
        dp3 r10.x, r4.xyzx, r9.xyzx
        dp3 r10.y, r4.xyzx, cb0[r8.x + 32].xyzx
        mad r8.z, r10.x, r10.y, -r8.z
        mad r8.w, -r10.y, r10.y, r8.w
        div_sat r8.z, r8.z, r8.w
        mad r8.xzw, cb0[r8.x + 32].xxyz, r8.zzzz, r9.xxyz
        dp3 r9.x, r8.xzwx, r8.xzwx
        sqrt r9.x, r9.x
        div r8.xzw, r8.xxzw, r9.xxxx
        dp3 r8.x, r4.xyzx, r8.xzwx
        div r8.y, r9.x, cb0[r8.y + 32].w
        mul r8.y, r8.y, r8.y
        div_sat r8.x, r8.x, r8.y
        mad r8.x, -r8.x, r9.w, l(1.000000)
        mul r7.y, r7.y, r8.x
      endloop
      mov r5.yz, r7.yyzy
      iadd r5.w, r5.w, l(1)
    endloop
    dp3_sat r0.x, r4.xyzx, cb0[31].xyzx
    mul r0.x, r0.x, cb0[31].w
    add r5.x, -r5.y, r5.z
    mad r0.x, r0.x, r5.x, r5.y
    add r0.x, r0.x, l(-1.000000)
    mad r0.x, cb0[21].y, r0.x, l(1.000000)
  else
    mov r0.x, l(1.000000)
  endif
  mov r1.w, l(0)
  loop
    uge r5.x, r1.w, cb0[26].y
    breakc_nz r5.x
    mov r5.x, x0[r1.w + 0].x
    add r5.x, r5.x, cb0[r1.w + 27].w
    store_uav_typed u12.xyzw, r1.xyww, r5.xxxx
    iadd r1.w, r1.w, l(1)
  endloop
  if_nz cb0[22].z
    ld_indexable(texture2d)(float,float,float,float) r1.zw, r1.xyzz, t4.zwxy
    mul r5.xy, r1.zwzz, cb0[21].zwzz
    ge r5.z, cb0[161].x, r2.z
    if_nz r5.z
      dp3 r6.x, r4.xyzx, cb0[4].xyzx
      dp3 r6.y, r4.xyzx, cb0[5].xyzx
      dp3 r6.z, r4.xyzx, cb0[6].xyzx
      dp3 r5.z, -r3.xyzx, -r3.xyzx
      rsq r5.z, r5.z
      mul r7.xyz, -r3.xyzx, r5.zzzz
      mul r5.z, cb0[161].y, cb0[164].x
      div r5.z, r5.z, r2.z
      min r5.w, r5.z, cb0[161].z
      max r5.z, r5.z, cb0[161].z
      min r5.z, r5.z, cb0[161].w
      max r5.z, r5.z, r5.w
      mul r5.w, r2.z, r5.z
      div r5.w, cb0[164].x, r5.w
      mul r8.z, r2.z, l(-0.998000)
      iadd r6.w, r1.y, r1.x
      bfi r6.w, l(2), l(2), r6.w, l(0)
      bfi r6.w, l(2), l(0), r1.x, r6.w
      utof r6.w, r6.w
      mad r6.w, r6.w, l(0.062500), cb0[163].z
      iadd r7.w, -r1.x, r1.y
      and r7.w, r7.w, l(3)
      utof r7.w, r7.w
      mad r7.w, r7.w, l(0.250000), cb0[163].w
      frc r6.w, r6.w
      frc r7.w, r7.w
      mul r8.w, r6.w, cb0[165].x
      mov r9.x, cb0[164].y
      mov r9.yw, l(0,1.000000,0,0)
      mul r10.xy, r5.zzzz, r9.xyxx
      mul r5.z, r5.z, cb0[162].x
      mad r6.w, r6.w, cb0[165].x, l(1.000000)
      mov r8.xy, r33.xyxx
      mul r10.zw, r2.xxxy, cb0[3].xxxy
      ftou r10.zw, r10.zzzw
      xor r10.z, r10.w, r10.z
      xor r10.z, r10.z, cb0[20].z
      and r10.z, r10.z, l(1)
      ine r10.z, r10.z, l(0)
      mov r11.y, l(0)
      mov r12.xw, l(0,0,0,0)
      mov r13.z, l(0)
      mov r14.xyz, l(0,0,0,0)
      mov r15.xyz, l(0,0,0,0)
      mov r10.w, r8.w
      mov r11.w, l(0)
      mov r13.x, l(0)
      loop
        ge r13.y, r10.w, r6.w
        breakc_nz r13.y
        mul r13.y, r10.w, l(3.14159274)
        sincos r11.x, r16.x, r13.y
        mov r11.z, r16.x
        mul r16.xyz, r7.zxyz, r11.xyzx
        mad r16.xyz, r7.yzxy, r11.yzxy, -r16.xyzx
        dp3 r11.x, r16.xyzx, r16.xyzx
        rsq r11.x, r11.x
        mul r16.xyz, r11.xxxx, r16.xyzx
        mul r17.xyz, r7.yzxy, r16.zxyz
        mad r17.xyz, r16.yzxy, r7.zxyz, -r17.xyzx
        dp3 r11.x, r16.xyzx, r6.xyzx
        mul r18.xyz, r11.xxxx, r16.xyzx
        mad r16.xyz, -r16.xyzx, r11.xxxx, r6.xyzx
        dp3 r11.x, r16.xyzx, r16.xyzx
        sqrt r11.x, r11.x
        rcp r11.z, r11.x
        mul r16.xyz, r11.zzzz, r16.xyzx
        dp3 r11.z, r7.xyzx, r16.xyzx
        mad r13.y, |r11.z|, l(-0.156583), l(1.57079637)
        add r14.w, -|r11.z|, l(1.000000)
        sqrt r14.w, r14.w
        mul r15.w, r13.y, r14.w
        ge r11.z, r11.z, l(0.000000)
        mad r13.y, -r13.y, r14.w, l(3.14159274)
        movc r11.z, r11.z, r15.w, r13.y
        dp3 r13.y, r17.xyzx, r6.xyzx
        lt r13.y, r13.y, l(0.000000)
        movc r13.y, r13.y, l(-1.000000), l(1.000000)
        mul r14.w, r11.z, r13.y
        mad r16.xy, r11.zzzz, r13.yyyy, l(1.57079637, -1.57079637, 0.000000, 0.000000)
        sincos null, r16.xy, r16.xyxx
        mul r16.zw, r10.xxxy, r17.xxxy
        mul r16.zw, r16.zzzw, l(0.000000, 0.000000, 1.000000, -1.000000)
        mov r19.xyz, r15.xyzx
        mov r20.xy, r16.xyxx
        mov r21.xyzw, r2.xyxy
        mov r20.zw, l(0,0,0,0)
        mov r15.w, l(0)
        loop
          ge r17.w, r15.w, l(1.000000)
          breakc_nz r17.w
          mad r17.w, r7.w, cb0[165].y, r15.w
          log r17.w, r17.w
          mul r17.w, r17.w, l(1.500000)
          exp r17.w, r17.w
          add r17.w, r17.w, l(0.005000)
          mul r18.w, r5.z, r17.w
          mul r22.xy, r16.zwzz, r17.wwww
          mad r23.xy, r0.zwzz, cb0[3].zwzz, r22.xyxx
          mad r23.zw, r0.zzzw, cb0[3].zzzw, -r22.xxxy
          lt r17.w, r18.w, l(1.000000)
          if_nz r17.w
            mul r22.xy, r23.xyxx, cb0[3].xyxx
            ftou r22.zw, r22.xxxy
            xor r17.w, r22.w, r22.z
            xor r17.w, r17.w, cb0[20].z
            and r17.w, r17.w, l(1)
            ine r17.w, r17.w, l(0)
            ine r17.w, r10.z, r17.w
            frc r22.zw, r22.xxxy
            add r22.zw, r22.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
            lt r19.w, |r22.w|, |r22.z|
            lt r24.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r22.zwzz
            lt r22.zw, r22.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
            iadd r22.zw, -r24.xxxy, r22.zzzw
            itof r9.z, r22.z
            itof r12.y, r22.w
            movc r22.zw, r19.wwww, r9.zzzw, r12.xxxy
            mad r22.zw, r23.xxxy, cb0[3].xxxy, r22.zzzw
            movc r22.xy, r17.wwww, r22.zwzz, r22.xyxx
            ftou r22.xy, r22.xyxx
            utof r22.xy, r22.xyxx
            mul r23.xy, r22.xyxx, cb0[3].zwzz
            mul r22.xy, r23.zwzz, cb0[3].xyxx
            ftou r22.zw, r22.xxxy
            xor r9.z, r22.w, r22.z
            xor r9.z, r9.z, cb0[20].z
            and r9.z, r9.z, l(1)
            ine r9.z, r9.z, l(0)
            ine r9.z, r10.z, r9.z
            frc r22.zw, r22.xxxy
            add r22.zw, r22.zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
            lt r12.y, |r22.w|, |r22.z|
            lt r24.xy, l(0.000000, 0.000000, 0.000000, 0.000000), r22.zwzz
            lt r22.zw, r22.zzzw, l(0.000000, 0.000000, 0.000000, 0.000000)
            iadd r22.zw, -r24.xxxy, r22.zzzw
            itof r12.z, r22.z
            itof r13.w, r22.w
            movc r12.yz, r12.yyyy, r12.zzwz, r13.zzwz
            mad r12.yz, r23.zzwz, cb0[3].xxyx, r12.yyzy
            movc r12.yz, r9.zzzz, r12.yyzy, r22.xxyx
            ftou r12.yz, r12.yyzy
            utof r12.yz, r12.yyzy
            mul r23.zw, r12.yyyz, cb0[3].zzzw
          endif
          sample_l_indexable(texture2d)(float,float,float,float) r9.z, r23.xyxx, t0.yzxw, s1, r18.w
          mad r22.xyzw, r23.xyzw, cb0[0].xyxy, cb0[0].zwzw
          mul r24.xy, r9.zzzz, r22.xyxx
          mov r24.z, -r9.z
          sample_l_indexable(texture2d)(float,float,float,float) r9.z, r23.zwzz, t0.yzxw, s1, r18.w
          mul r22.xy, r9.zzzz, r22.zwzz
          mov r22.z, -r9.z
          add r24.xyz, -r8.xyzx, r24.xyzx
          add r22.xyz, -r8.xyzx, r22.xyzx
          dp3 r9.z, r24.xyzx, r24.xyzx
          sqrt r25.x, r9.z
          dp3 r9.z, r22.xyzx, r22.xyzx
          sqrt r25.y, r9.z
          dp3 r26.x, r7.xyzx, r24.xyzx
          dp3 r26.y, r7.xyzx, r22.xyzx
          div r12.yz, r26.xxyx, r25.xxyx
          max r12.yz, r16.xxyx, r12.yyzy
          mul_sat r25.zw, r5.wwww, r25.xxxy
          mad r25.zw, -r25.zzzw, r25.zzzw, l(0.000000, 0.000000, 1.000000, 1.000000)
          ge r26.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000), r23.xyzw
          ge r27.xyzw, r23.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
          or r26.xyzw, r26.xyzw, r27.xyzw
          or r26.xy, r26.ywyy, r26.xzxx
          movc r25.zw, r26.xxxy, l(0,0,0,0), r25.zzzw
          add r12.yz, -r16.xxyx, r12.yyzy
          mad r12.yz, r25.zzwz, r12.yyzy, r16.xxyx
          add r12.yz, -r20.xxyx, r12.yyzy
          lt r26.xy, r12.yzyy, l(0.000000, 0.000000, 0.000000, 0.000000)
          mul r25.zw, r25.zzzw, r12.yyyz
          mul r25.zw, r25.zzzw, l(0.000000, 0.000000, 0.010000, 0.010000)
          movc r12.yz, r26.xxyx, r25.zzwz, r12.yyzy
          add r20.xy, r12.yzyy, r20.xyxx
          ge r25.zw, r20.zzzw, r12.yyyz
          movc r21.xyzw, r25.zzww, r21.xyzw, r23.xyzw
          movc r20.zw, r25.zzzw, r20.zzzw, r12.yyyz
          mov_sat r12.yz, r12.yyzy
          lt r25.zw, l(0.000000, 0.000000, 0.010000, 0.010000), r12.yyyz
          if_nz r25.z
            div r24.xyz, r24.xyzx, r25.xxxx
            sample_l_indexable(texture2d)(float,float,float,float) r26.xyz, r23.xyxx, t1.xyzw, s1, l(0.000000)
            mad r26.xyz, r26.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
            dp3 r27.x, r24.xyzx, cb0[8].xyzx
            dp3 r27.y, r24.xyzx, cb0[9].xyzx
            dp3 r27.z, r24.xyzx, cb0[10].xyzx
            dp3 r9.z, r26.xyzx, r27.xyzx
            mad_sat r9.z, r9.z, cb0[163].x, l(1.000000)
            mul r9.z, r9.z, r12.y
            mad r23.xy, r1.zwzz, cb0[21].zwzz, r23.xyxx
            sample_l_indexable(texture2d)(float,float,float,float) r24.xyz, r23.xyxx, t6.xyzw, s0, r18.w
            mul r24.xyz, r9.zzzz, r24.xyzx
          else
            mov r24.xyz, l(0,0,0,0)
          endif
          add r24.xyz, r19.xyzx, r24.xyzx
          if_nz r25.w
            div r22.xyz, r22.xyzx, r25.yyyy
            sample_l_indexable(texture2d)(float,float,float,float) r25.xyz, r23.zwzz, t1.xyzw, s1, l(0.000000)
            mad r25.xyz, r25.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
            dp3 r26.x, r22.xyzx, cb0[8].xyzx
            dp3 r26.y, r22.xyzx, cb0[9].xyzx
            dp3 r26.z, r22.xyzx, cb0[10].xyzx
            dp3 r9.z, r25.xyzx, r26.xyzx
            mad_sat r9.z, r9.z, cb0[163].x, l(1.000000)
            mul r9.z, r9.z, r12.z
            mad r12.yz, r1.zzwz, cb0[21].zzwz, r23.zzwz
            sample_l_indexable(texture2d)(float,float,float,float) r22.xyz, r12.yzyy, t6.xyzw, s0, r18.w
            mul r22.xyz, r9.zzzz, r22.xyzx
          else
            mov r22.xyz, l(0,0,0,0)
          endif
          add r19.xyz, r22.xyzx, r24.xyzx
          add r15.w, r15.w, cb0[165].y
        endloop
        mov r15.xyz, r19.xyzx
        mad r12.yz, |r20.xxyx|, l(0.000000, -0.156583, -0.156583, 0.000000), l(0.000000, 1.57079637, 1.57079637, 0.000000)
        add r16.xy, -|r20.xyxx|, l(1.000000, 1.000000, 0.000000, 0.000000)
        sqrt r16.xy, r16.xyxx
        mul r16.zw, r12.yyyz, r16.xxxy
        ge r22.xy, r20.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
        mad r12.yz, -r12.yyzy, r16.xxyx, l(0.000000, 3.14159274, 3.14159274, 0.000000)
        movc r12.yz, r22.xxyx, r16.zzwz, r12.yyzy
        add r9.z, -r20.x, -r20.y
        add r9.z, r11.w, r9.z
        add r11.w, r9.z, l(2.000000)
        add r9.z, -r12.z, r12.y
        mad r9.z, r9.z, l(0.500000), -r14.w
        mul r9.z, r9.z, cb0[162].y
        max r9.z, r9.z, l(-1.57079637)
        min r9.z, r9.z, l(1.57079637)
        mad r9.z, r11.z, r13.y, r9.z
        sincos r16.x, r22.x, r9.z
        mul r16.yzw, r7.xxyz, r22.xxxx
        mad r16.xyz, r17.xyzx, r16.xxxx, r16.yzwy
        mad r16.xyz, r16.xyzx, r11.xxxx, r18.xyzx
        add r14.xyz, r14.xyzx, r16.xyzx
        sample_l_indexable(texture2d)(float,float,float,float) r11.xz, r21.xyxx, t4.xzyw, s0, l(0.000000)
        mad r11.xz, r11.xxzx, cb0[21].zzwz, -r5.xxyx
        sample_l_indexable(texture2d)(float,float,float,float) r12.yz, r21.zwzz, t4.zxyw, s0, l(0.000000)
        mad r12.yz, r12.yyzy, cb0[21].zzwz, -r5.xxyx
        mul r11.xz, r9.xxyx, r11.xxzx
        dp2 r9.z, r11.xzxx, r11.xzxx
        sqrt r9.z, r9.z
        mul r9.z, r20.z, r9.z
        max r9.z, r9.z, r13.x
        mul r11.xz, r9.xxyx, r12.yyzy
        dp2 r11.x, r11.xzxx, r11.xzxx
        sqrt r11.x, r11.x
        mul r11.x, r20.w, r11.x
        max r13.x, r9.z, r11.x
        add r10.w, r10.w, cb0[165].x
      endloop
      mul r1.z, l(0.500000), cb0[165].x
      mul r1.w, r1.z, r11.w
      mul r5.z, r1.z, cb0[163].y
      mul r7.xyz, r5.zzzz, r15.xyzx
      mov_sat r1.w, r1.w
      mad_sat r1.z, -r11.w, r1.z, l(1.000000)
      mul r1.z, r1.z, cb0[162].w
      log r1.z, r1.z
      mul r1.z, r1.z, cb0[162].z
      exp r1.z, r1.z
      add r1.z, -r1.z, l(1.000000)
      movc r1.z, cb0[22].w, r1.w, r1.z
      mul_sat r5.zw, r13.xxxx, cb0[164].zzzw
      add r1.w, -r1.z, l(1.000000)
      mad r1.z, r5.w, r1.w, r1.z
      add r6.xyz, r6.xyzx, -r14.xyzx
      mad r6.xyz, r5.wwww, r6.xyzx, r14.xyzx
      dp3 r1.w, r6.xyzx, r6.xyzx
      rsq r1.w, r1.w
      mul r6.xyz, r1.wwww, r6.xyzx
    else
      mov r6.xyz, l(0,1.000000,0,0)
      mov r7.xyz, l(0,0,0,0)
      mov r1.z, l(1.000000)
      mov r5.z, l(0)
    endif
    min r1.z, r1.z, l(1.000000)
    dp3 r8.x, r6.xyzx, cb0[8].xyzx
    dp3 r8.y, r6.xyzx, cb0[9].xyzx
    dp3 r8.z, r6.xyzx, cb0[10].xyzx
    mad r5.xy, r0.zwzz, cb0[3].zwzz, r5.xyxx
    mad r6.xyzw, r5.xyxy, cb0[3].xyxy, l(-0.500000, 0.500000, 0.500000, 0.500000)
    ftoi r9.xyzw, r6.zwxy
    mov r10.xy, r9.zwzz
    mov r10.zw, l(0,0,0,0)
    ld_indexable(texture2d)(uint,uint,uint,uint) r6.xy, r10.xyzw, t2.xyzw
    ushr r10.xy, r6.xyxx, l(24, 24, 0, 0)
    utof r10.xy, r10.xyxx
    mul r1.w, r10.x, l(0.00392156886)
    f16tof32 r5.w, r6.x
    ubfe r10.xz, l(8, 0, 8, 0), l(16, 0, 8, 0), r6.yyyy
    utof r11.xy, r10.xzxx
    and r6.x, r6.y, l(255)
    utof r11.z, r6.x
    mad r10.xzw, r11.xxyz, l(0.00787401572, 0.000000, 0.00787401572, 0.00787401572), l(-1.000000, 0.000000, -1.000000, -1.000000)
    add r6.x, -r10.y, l(15.000000)
    mov r9.zw, l(0,0,0,0)
    ld_indexable(texture2d)(uint,uint,uint,uint) r9.xy, r9.xyzw, t2.xyzw
    ushr r9.zw, r9.xxxy, l(0, 0, 24, 24)
    utof r9.zw, r9.zzzw
    mul r6.y, r9.z, l(0.00392156886)
    f16tof32 r7.w, r9.x
    ubfe r9.xz, l(8, 0, 8, 0), l(16, 0, 8, 0), r9.yyyy
    utof r11.xy, r9.xzxx
    and r8.w, r9.y, l(255)
    utof r11.z, r8.w
    mad r9.xyz, r11.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
    add r8.w, -r9.w, l(15.000000)
    mad r11.xyzw, r5.xyxy, cb0[3].xyxy, l(0.500000, -0.500000, -0.500000, -0.500000)
    ftoi r11.xyzw, r11.zwxy
    mov r12.xy, r11.zwzz
    mov r12.zw, l(0,0,0,0)
    ld_indexable(texture2d)(uint,uint,uint,uint) r12.xy, r12.xyzw, t2.xyzw
    ushr r12.zw, r12.xxxy, l(0, 0, 24, 24)
    utof r12.zw, r12.zzzw
    mul r9.w, r12.z, l(0.00392156886)
    f16tof32 r10.y, r12.x
    ubfe r12.xz, l(8, 0, 8, 0), l(16, 0, 8, 0), r12.yyyy
    utof r13.xy, r12.xzxx
    and r12.x, r12.y, l(255)
    utof r13.z, r12.x
    mad r12.xyz, r13.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
    add r12.w, -r12.w, l(15.000000)
    mov r11.zw, l(0,0,0,0)
    ld_indexable(texture2d)(uint,uint,uint,uint) r11.xy, r11.xyzw, t2.xyzw
    ushr r11.zw, r11.xxxy, l(0, 0, 24, 24)
    utof r11.zw, r11.zzzw
    mul r11.z, r11.z, l(0.00392156886)
    f16tof32 r11.x, r11.x
    ubfe r13.xy, l(8, 8, 0, 0), l(16, 8, 0, 0), r11.yyyy
    utof r13.xy, r13.xyxx
    and r11.y, r11.y, l(255)
    utof r13.z, r11.y
    mad r13.xyz, r13.xyzx, l(0.00787401572, 0.00787401572, 0.00787401572, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
    add r11.y, -r11.w, l(15.000000)
    frc r14.xy, r6.zwzz
    add r14.zw, -r14.xxxy, l(0.000000, 0.000000, 1.000000, 1.000000)
    mul r14.xyzw, r14.wwyy, r14.zxzx
    mul r6.y, r6.y, r14.w
    mad r1.w, r1.w, r14.z, r6.y
    mad r1.w, r9.w, r14.y, r1.w
    mad r1.w, r11.z, r14.x, r1.w
    mul r6.y, r7.w, r14.w
    mad r5.w, r5.w, r14.z, r6.y
    mad r5.w, r10.y, r14.y, r5.w
    mad r5.w, r11.x, r14.x, r5.w
    mul r6.yzw, r9.xxyz, r14.wwww
    mad r6.yzw, r10.xxzw, r14.zzzz, r6.yyzw
    mad r6.yzw, r12.xxyz, r14.yyyy, r6.yyzw
    mad r6.yzw, r13.xxyz, r14.xxxx, r6.yyzw
    dp3 r7.w, r6.yzwy, r6.yzwy
    rsq r7.w, r7.w
    mul r8.w, r8.w, r14.w
    mad r6.x, r6.x, r14.z, r8.w
    mad r6.x, r12.w, r14.y, r6.x
    mad r6.x, r11.y, r14.x, r6.x
    mov r3.w, l(1.000000)
    dp4 r3.w, cb0[2].xyzw, r3.xyzw
    add r3.w, -r5.w, r3.w
    mad r3.w, r2.z, l(-0.060000), |r3.w|
    max r3.w, r3.w, l(0.000000)
    mul r3.w, r3.w, l(200.000000)
    min r3.w, r3.w, l(1.000000)
    add r3.w, -r3.w, l(1.000000)
    mad r5.z, -r3.w, r5.z, r3.w
    mul r5.z, r5.z, r6.x
    round_pi r5.z, r5.z
    add r5.z, r5.z, l(1.000000)
    rcp r5.w, r5.z
    add r5.w, -r5.w, l(1.000000)
    min r5.w, r5.w, l(0.800000)
    add r1.w, -r1.z, r1.w
    mad r1.z, r5.w, r1.w, r1.z
    mad r6.xyz, r6.yzwy, r7.wwww, -r8.xyzx
    mad r6.xyz, r5.wwww, r6.xyzx, r8.xyzx
    dp3 r1.w, r6.xyzx, r6.xyzx
    rsq r1.w, r1.w
    mul r6.xyz, r1.wwww, r6.xyzx
    sample_l_indexable(texture2d)(float,float,float,float) r8.xyz, r5.xyxx, t3.xyzw, s0, l(0.000000)
    mul r9.xyz, r3.wwww, r7.xyzx
    mad r7.xyz, -r7.xyzx, r3.wwww, r8.xyzx
    mad r5.xyw, r5.wwww, r7.xyxz, r9.xyxz
    max r5.xyw, r5.xyxw, l(0.000000, 0.000000, 0.000000, 0.000000)
    mov r1.w, r3.z
  else
    mov r1.zw, l(0,0,1.000000,0)
    mov r6.xyz, l(0,1.000000,0,0)
    mov r5.xyzw, l(0,0,15.000000,0)
  endif
  if_nz cb0[22].w
    mov_sat r1.z, r1.z
    mul r3.w, r1.z, l(255.000000)
    ftoi r3.w, r3.w
    mov_sat r0.x, r0.x
    mul r6.w, r0.x, l(255.000000)
    ftoi r6.w, r6.w
    ishl r6.w, r6.w, l(16)
    imad r3.w, r3.w, l(0x01000000), r6.w
    f32tof16 r6.w, r1.w
    iadd r7.x, r3.w, r6.w
    mad_sat r6.xyz, r6.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
    mul r6.xyz, r6.xyzx, l(255.000000, 255.000000, 255.000000, 0.000000)
    ftoi r6.xyz, r6.xyzx
    ishl r3.w, r6.y, l(8)
    imad r3.w, r6.x, l(0x00010000), r3.w
    iadd r3.w, r3.w, r6.z
    min r6.x, r5.z, l(15.000000)
    add r6.x, -r6.x, l(15.000000)
    ftou r6.x, r6.x
    bfi r7.y, l(8), l(24), r6.x, r3.w
  else
    mov_sat r1.z, r1.z
    mul r1.z, r1.z, l(255.000000)
    ftoi r1.z, r1.z
    mov_sat r0.x, r0.x
    mul r0.x, r0.x, l(255.000000)
    ftoi r0.x, r0.x
    ishl r0.x, r0.x, l(16)
    imad r0.x, r1.z, l(0x01000000), r0.x
    f32tof16 r1.z, r1.w
    iadd r7.x, r0.x, r1.z
    min r0.x, r5.z, l(15.000000)
    add r0.x, -r0.x, l(15.000000)
    ftou r0.x, r0.x
    bfi r7.y, l(8), l(24), r0.x, l(0x007fff7f)
  endif
  mov r50.xy, r1.xyyy
  store_uav_typed u8.xyzw, r50.xyzz, r7.xyyy
  if_nz cb0[23].x
    mov r50.xy, r1.xyyy
    store_uav_typed u9.xyzw, r50.xyzz, r5.xywx
  endif
  ine r0.x, l(0), cb0[24].x
  and r0.x, r0.y, r0.x
  if_nz r0.x
    and r5.xy, r1.xyxx, l(63, 63, 0, 0)
    and r5.z, l(7), cb0[20].z
    mov r5.w, l(0)
    ld_indexable(texture2darray)(float,float,float,float) r0.x, r5.xyzw, t12.xyzw
    utof r0.y, cb0[25].w
    mul r0.y, r0.x, r0.y
    ftou r0.y, r0.y
    dp3 r5.x, r3.xyzx, cb0[8].xyzx
    dp3 r5.y, r3.xyzx, cb0[9].xyzx
    dp3 r5.z, r3.xyzx, cb0[10].xyzx
    dp3 r1.z, r5.xyzx, r5.xyzx
    rsq r1.z, r1.z
    mul r3.xyz, r1.zzzz, r5.xyzx
    add r1.z, -r4.w, l(1.000000)
    mul r1.z, r1.z, r1.z
    max r1.z, r1.z, l(0.001000)
    mul r1.w, r1.z, r1.z
    mad r1.z, r1.z, r1.z, l(-1.000000)
    mov r5.z, -r4.x
    ge r3.w, r4.z, l(0.000000)
    movc r6.xy, r3.wwww, l(1.000000,-1.000000,0,0), l(-1.000000,1.000000,0,0)
    add r3.w, |r4.z|, l(1.000000)
    div r3.w, r4.y, r3.w
    mul r4.w, r3.w, r4.y
    mul r7.x, r3.w, r5.z
    mad r5.x, r6.x, r4.w, r4.z
    mul r5.y, r6.x, r7.x
    mad r7.y, -r4.y, r3.w, l(1.000000)
    mul r7.z, r4.y, r6.y
    add r0.x, r0.x, l(0.500000)
    mov_sat r6.xy, r2.xyxx
    min r3.w, r2.z, l(100.000000)
    max r6.z, r3.w, l(0.100000)
    ne r6.xyz, r2.xyzx, r6.xyzx
    or r3.w, r6.y, r6.x
    or r3.w, r6.z, r3.w
    mad r0.zw, r30.zzzw, cb0[3].zzzw, l(0.000000, 0.000000, -0.500000, -0.500000)
    rcp r2.w, r2.z
    mov r32.xyzw, r2.xyzw
    mad r32.x, cb12[0].x, l(-0.500000), r32.x
    utof r4.w, cb0[24].w
    mov r6.y, l(0)
    mov r8.xyzw, l(0,0,0,0)
    mov r9.xyz, l(0,0,0,0)
    mov r5.w, l(0)
    mov r6.z, l(0)
    mov r6.w, r0.y
    mov r7.w, l(0)
    loop
      uge r9.w, r7.w, cb0[24].y
      breakc_nz r9.w
      mov r11.xyz, l(0,0,0,0)
      mov r9.w, r6.w
      mov r10.xyzw, l(0,0,0,0)
      loop
        ige r11.w, r10.w, l(4)
        breakc_nz r11.w
        and r11.w, r9.w, cb0[26].x
        ld_structured_indexable(structured_buffer, stride=16)(mixed,mixed,mixed,mixed) r12.xyz, r11.w, l(0), t10.xyzx
        mul r12.xyw, r12.xyxz, l(1.000000, 1.000000, 0.000000, 0.700000)
        mad r11.w, -r12.z, l(0.700000), l(1.000000)
        mad r12.z, r1.z, r12.w, l(1.000000)
        div r11.w, r11.w, r12.z
        sqrt r12.z, r11.w
        add r11.w, -r11.w, l(1.000000)
        sqrt r11.w, r11.w
        mul r12.xy, r12.xyxx, r11.wwww
        mul r13.xyz, r7.xyzx, r12.yyyy
        mad r12.xyw, r5.xyxz, r12.xxxx, r13.xyxz
        mad r12.xyz, r4.xyzx, r12.zzzz, r12.xywx
        dp3 r11.w, r3.xyzx, r12.xyzx
        add r11.w, r11.w, r11.w
        mad r13.xyz, r12.xyzx, -r11.wwww, r3.xyzx
        imad r11.w, l(0x000343fd), r9.w, l(0x00269ec3)
        dp3 r12.w, r13.xyzx, r4.xyzx
        lt r12.w, l(0.000000), r12.w
        if_nz r12.w
          mov r10.xyz, r12.xyzx
          mov r11.xyz, r13.xyzx
          mov r9.w, r11.w
          break
        endif
        iadd r10.w, r10.w, l(1)
        mov r10.xyz, r12.xyzx
        mov r11.xyz, r13.xyzx
        mov r9.w, r11.w
      endloop
      mov r6.w, r9.w
      dp3_sat r10.w, r4.xyzx, r11.xyzx
      lt r11.w, l(0.000000), r10.w
      if_nz r11.w
        if_z r3.w
          dp3 r12.z, r11.xyzx, cb0[18].xyzx
          lt r11.w, r12.z, l(0.000000)
          movc r11.w, cb0[25].y, r11.w, l(-1)
          if_nz r11.w
            dp3 r13.x, r11.xyzx, cb0[16].xyzx
            dp3 r13.y, r11.xyzx, cb0[17].xyzx
            mad r13.xy, r0.zwzz, r12.zzzz, r13.xyxx
            mul r12.xy, r2.zzzz, r13.xyxx
            mul r13.xy, r12.xyxx, cb0[3].xyxx
            max r11.w, |r13.y|, |r13.x|
            rcp r11.w, r11.w
            mul r13.xyz, r11.wwww, r12.xyzx
            mad r12.xyz, r12.xyzx, r11.wwww, r2.xywx
            mul r14.xyz, r13.xyzx, cb0[25].xxxx
            mad r12.xyz, r14.xyzx, r0.xxxx, r12.xyzx
            rcp r15.xyz, r14.xyzx
            lt r16.xyz, l(0.000000, 0.000000, 0.000000, 0.000000), r15.xyzx
            add r17.xyz, -r12.xyzx, l(1.000000, 1.000000, 10.000000, 0.000000)
            max r17.xyz, r17.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            mul r17.xyz, r15.xyzx, r17.xyzx
            ftou r17.xyz, r17.xyzx
            add r18.xyz, r12.xyzx, l(-0.000000, -0.000000, -0.010000, 0.000000)
            max r18.xyz, r18.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
            mul r15.xyz, -r15.xyzx, r18.xyzx
            ftou r15.xyz, r15.xyzx
            movc r15.xyz, r16.xyzx, r17.xyzx, r15.xyzx
            utof r15.xyz, r15.xyzx
            min r11.w, r4.w, r15.y
            min r11.w, r11.w, r15.x
            min r11.w, r15.z, r11.w
            ftou r11.w, r11.w
            iadd r11.w, r11.w, l(3)
            ushr r11.w, r11.w, l(2)
            mov r15.xy, r2.xyxx
            mov r15.z, l(0)
            mov r6.x, l(0)
            mov r16.xyz, r12.xyzx
            mad r16.x, cb12[0].x, l(0.500000), r16.x
            mad r15.x, cb12[0].x, l(0.500000), r15.x
            mov r12.w, r11.w
            loop
              breakc_z r12.w
              iadd r12.w, r12.w, l(-1)
              sample_l_indexable(texture2d)(float,float,float,float) r13.w, r16.xyxx, t0.yzwx, s1, l(0.000000)
              mul r13.w, r16.z, r13.w
              mad r14.w, -cb0[25].z, r16.z, l(1.000000)
              min r15.w, r14.w, l(0.990000)
              max r14.w, r14.w, l(0.990000)
              min r14.w, r13.w, r14.w
              max r14.w, r14.w, r15.w
              eq r13.w, r13.w, r14.w
              not r14.w, r6.x
              and r13.w, r13.w, r14.w
              movc r17.xy, r13.wwww, l(-1,0,0,0), r6.xyxx
              mad r17.zw, r13.xxxy, cb0[25].xxxx, r16.xxxy
              sample_l_indexable(texture2d)(float,float,float,float) r13.w, r17.zwzz, t0.yzwx, s1, l(0.000000)
              mad r14.w, r13.z, cb0[25].x, r16.z
              mul r13.w, r13.w, r14.w
              mad r14.w, -cb0[25].z, r14.w, l(1.000000)
              min r15.w, r14.w, l(0.990000)
              max r14.w, r14.w, l(0.990000)
              min r14.w, r13.w, r14.w
              max r14.w, r14.w, r15.w
              eq r13.w, r13.w, r14.w
              not r14.w, r17.x
              and r13.w, r13.w, r14.w
              movc r17.xy, r13.wwww, l(-1,1,0,0), r17.xyxx
              mad r17.zw, r14.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), r16.xxxy
              sample_l_indexable(texture2d)(float,float,float,float) r13.w, r17.zwzz, t0.yzwx, s1, l(0.000000)
              mad r14.w, r14.z, l(2.000000), r16.z
              mul r13.w, r13.w, r14.w
              mad r14.w, -cb0[25].z, r14.w, l(1.000000)
              min r15.w, r14.w, l(0.990000)
              max r14.w, r14.w, l(0.990000)
              min r14.w, r13.w, r14.w
              max r14.w, r14.w, r15.w
              eq r13.w, r13.w, r14.w
              not r14.w, r17.x
              and r13.w, r13.w, r14.w
              movc r17.xy, r13.wwww, l(-1,2,0,0), r17.xyxx
              mad r17.zw, r14.xxxy, l(0.000000, 0.000000, 3.000000, 3.000000), r16.xxxy
              sample_l_indexable(texture2d)(float,float,float,float) r13.w, r17.zwzz, t0.yzwx, s1, l(0.000000)
              mad r14.w, r14.z, l(3.000000), r16.z
              mul r13.w, r13.w, r14.w
              mad r14.w, -cb0[25].z, r14.w, l(1.000000)
              min r15.w, r14.w, l(0.990000)
              max r14.w, r14.w, l(0.990000)
              min r14.w, r13.w, r14.w
              max r14.w, r14.w, r15.w
              eq r13.w, r13.w, r14.w
              not r14.w, r17.x
              and r13.w, r13.w, r14.w
              movc r17.xy, r13.wwww, l(-1,3,0,0), r17.xyxx
              if_nz r17.x
                utof r13.w, r17.y
                mad r18.xy, r13.wwww, r14.xyxx, r16.xyxx
                mad r18.z, r13.w, r14.z, r16.z
                mov r6.x, l(-1)
                mov r15.xyz, r18.xyzx
                break
              endif
              mad r16.xyz, r14.xyzx, l(4.000000, 4.000000, 4.000000, 0.000000), r16.xyzx
              mov r6.x, r17.x
            endloop
            movc r12.xyz, r6.xxxx, r15.xyzx, r16.xyzx
            rcp r13.z, r12.z
          else
            mov r12.xy, r2.xyxx
            mov r13.z, l(0)
            mov r6.x, l(0)
          endif
        else
          mov r12.xy, r2.xyxx
          mov r13.z, l(0)
          mov r6.x, l(0)
        endif
        lt r11.w, l(96.000000), r13.z
        or r11.w, r6.x, r11.w
        if_nz r11.w
          mov_sat r12.zw, r12.xxxy
          mad r12.zw, r12.zzzw, l(0.000000, 0.000000, 2.000000, -2.000000), l(0.000000, 0.000000, -1.000000, 1.000000)
          mul r13.xy, r13.zzzz, r12.zwzz
          dp3 r14.x, r13.xyzx, cb0[12].xyzx
          dp3 r14.y, r13.xyzx, cb0[13].xyzx
          dp3 r14.z, r13.xyzx, cb0[14].xyzx
          sample_l_indexable(texture2d)(float,float,float,float) r12.zw, r12.xyxx, t4.zwxy, s0, l(0.000000)
          mad r12.xy, r12.zwzz, cb0[21].zwzz, r12.xyxx
          sample_l_indexable(texture2d)(float,float,float,float) r12.xyz, r12.xyxx, t5.xyzw, s0, l(0.000000)
          max r11.w, r12.z, r12.y
          max r11.w, r11.w, r12.x
          add r11.w, -r11.w, l(1.000000)
          rcp r11.w, r11.w
          mul r12.xyz, r11.wwww, r12.xyzx
          max r12.xyz, r12.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
          add r9.xyz, r9.xyzx, r12.xyzx
          add r6.z, r6.z, l(1.000000)
          dp3 r11.w, r4.xyzx, r10.xyzx
          mul r11.w, r11.w, r11.w
          mad r11.w, r11.w, r1.z, l(1.000000)
          mul r11.w, r11.w, r11.w
          div r11.w, r1.w, r11.w
          mul r10.w, r10.w, r11.w
          ge r11.w, r10.w, r5.w
          rcp r14.w, r10.w
          movc r8.xyzw, r11.wwww, r14.xyzw, r8.xyzw
          movc r5.w, r11.w, r10.w, r5.w
        endif
      endif
      iadd r7.w, r7.w, l(1)
    endloop
    max r0.x, r6.z, l(1.000000)
    rcp r0.x, r0.x
    mul r0.xyz, r0.xxxx, r9.xyzx
  else
    mov r8.xyzw, l(0,0,0,0)
    mov r0.xyz, l(0,0,0,0)
  endif
  mov r50.xy, r1.xyyy
  store_uav_typed u10.xyzw, r50.xyzz, r0.xyzx
  mov r50.xy, r1.xyyy
  store_uav_typed u11.xyzw, r50.xyzz, r8.xyzw
endif
ret
// Approximately 0 instruction slots used
