// MANUALLY DUMPED [ShaderRegexVolumetricLightingCS2] Volumetric lighting.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Tue May 25 23:04:44 2021
//
//
// 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[2], immediateIndexed
dcl_constantbuffer cb1[81], immediateIndexed
dcl_constantbuffer cb2[86], dynamicIndexed
dcl_constantbuffer cb3[35], 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 (float,float,float,float) t2
dcl_resource_texture2d (float,float,float,float) t3
dcl_resource_texture2darray (float,float,float,float) t4
dcl_resource_texture3d (float,float,float,float) t5
dcl_resource_texture3d (float,float,float,float) t6
dcl_resource_texture3d (float,float,float,float) t7
dcl_resource_texture3d (float,float,float,float) t8
dcl_resource_texture2darray (float,float,float,float) t9
dcl_resource_texture3d (float,float,float,float) t10
dcl_resource_texture3d (float,float,float,float) t11
dcl_resource_texture3d (float,float,float,float) t12
dcl_resource_texture3d (float,float,float,float) t13
dcl_resource_texture2d (float,float,float,float) t14
dcl_uav_typed_texture3d (float,float,float,float) u0
dcl_uav_typed_texture3d (float,float,float,float) u1
dcl_uav_typed_texture3d (float,float,float,float) u2
dcl_uav_typed_texture3d (float,float,float,float) u3
dcl_uav_typed_texture3d (float,float,float,float) u4
dcl_input vThreadID.xyz
dcl_temps 18
dcl_thread_group 4, 4, 4
dcl_resource_texture2d (float,float,float,float) t125
itof r0.xyz, vThreadID.xyzx
add r0.xyw, r0.xyxz, l(0.500000, 0.500000, 0.000000, 0.500000)
mad r0.w, -r0.w, cb0[1].z, l(1.000000)
sqrt r0.w, r0.w
add r0.w, -r0.w, l(1.000000)
mul r0.w, r0.w, cb0[0].x
mad r0.xy, r0.xyxx, cb0[1].xyxx, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r0.xy, r0.wwww, r0.xyxx
mul r0.xy, r0.xyxx, l(2.000000, -2.000000, 0.000000, 0.000000)
ld_indexable(texture2d)(float,float,float,float) r16.xyzw, l(0, 0, 0, 0), t125.xyzw
add r16.w, r0.w, -r16.y
mad r0.x, -r16.x, r16.w, r0.x

mul r1.xyzw, r0.yyyy, cb1[45].xyzw
mad r1.xyzw, r0.xxxx, cb1[44].xyzw, r1.xyzw
mad r1.xyzw, r0.wwww, cb1[46].xyzw, r1.xyzw
add r1.xyzw, r1.xyzw, cb1[47].xyzw
mov r2.xyz, vThreadID.xyzx
mov r2.w, l(0)
ld_indexable(texture3d)(float,float,float,float) r0.xyw, r2.xyzw, t10.xywz
dp3 r3.x, r0.xywx, l(0.300000, 0.590000, 0.110000, 0.000000)
ld_indexable(texture3d)(float,float,float,float) r2.xyz, r2.xyzw, t11.xyzw
mad r2.xyz, -r3.xxxx, l(0.500000, 0.500000, 0.500000, 0.000000), r2.xyzx
ne r2.w, r3.x, l(0.000000)
div r3.y, l(1.000000, 1.000000, 1.000000, 1.000000), r3.x
and r2.w, r2.w, r3.y
mad r2.xyz, r2.xyzx, r2.wwww, l(0.500000, 0.500000, 0.500000, 0.000000)
mul r4.xyz, r1.wwww, cb3[10].xyzx
mov r4.w, l(0)
add r4.xyzw, r1.xyzw, r4.xyzw
mul r5.xyzw, r4.yyyy, cb1[78].xyzw
mad r5.xyzw, r4.xxxx, cb1[77].xyzw, r5.xyzw
mad r5.xyzw, r4.zzzz, cb1[79].xyzw, r5.xyzw
mad r4.xyzw, r4.wwww, cb1[80].xyzw, r5.xyzw

add r16.w, r4.w, -r16.y
mad r4.x, r16.x, r16.w, r4.x

div r3.yzw, r4.xxyz, r4.wwww
mad r1.w, r3.w, cb1[51].z, -cb1[51].w
div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
mad r1.w, -r1.w, cb0[0].y, l(1.000000)
mad r4.z, -r1.w, |r1.w|, l(1.000000)
mad r4.xy, r3.yzyy, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
sample_l_indexable(texture3d)(float,float,float,float) r5.xyzw, r4.xyzx, t12.xyzw, s0, l(0.000000)
sample_l_indexable(texture3d)(float,float,float,float) r6.xyzw, r4.xyzx, t13.xyzw, s0, l(0.000000)
mov_sat r3.yzw, r4.xxyz
eq r3.yzw, r4.xxyz, r3.yyzw
and r1.w, r3.z, r3.y
and r1.w, r3.w, r1.w
and r1.w, r5.w, r1.w
mul r3.yzw, r0.xxyw, l(0.000000, 0.250000, 0.250000, 0.250000)
mul r4.xyz, r0.xywx, l(4.000000, 4.000000, 4.000000, 0.000000)
max r3.yzw, r3.yyzw, r5.xxyz
min r3.yzw, r4.xxyz, r3.yyzw
mul r4.xyz, r2.xyzx, l(0.250000, 0.250000, 0.250000, 0.000000)
mul r5.xyz, r2.xyzx, l(4.000000, 4.000000, 4.000000, 0.000000)
max r4.xyz, r4.xyzx, r6.xyzx
min r4.xyz, r5.xyzx, r4.xyzx
mul r5.xy, r1.wwww, l(0.850000, 0.750000, 0.000000, 0.000000)
add r3.yzw, -r0.xxyw, r3.yyzw
mad r0.xyw, r5.xxxx, r3.yzyw, r0.xyxw
add r3.yzw, -r2.xxyz, r4.xxyz
mad r2.xyz, r5.yyyy, r3.yzwy, r2.xyzx
mul r0.z, r0.z, cb0[1].z
add r1.w, -cb0[1].z, l(1.000000)
ge r0.z, r0.z, r1.w
movc r0.xyz, r0.zzzz, l(0,0,0,0), r0.xywx
mad r3.yz, r1.xxyx, cb2[0].xxyx, -cb2[1].xxyx
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r3.yzyy, t0.xzwy, s0, l(0.000000)
mad r1.w, r1.w, cb2[0].z, cb2[1].z
add r1.w, -r1.w, r1.z
mul_sat r1.w, r1.w, l(0.000208333338)
mad r4.xy, r1.xyxx, cb2[7].xyxx, cb2[7].zwzz
mad r4.zw, r1.zzzz, cb2[8].zzzx, cb2[8].wwwy
sample_l_indexable(texture3d)(float,float,float,float) r3.w, r4.xywx, t7.yzwx, s1, l(0.000000)
mul r5.y, r3.w, cb2[6].w
ge r5.z, l(1.000000), r5.y
mad r3.w, r3.w, cb2[6].w, l(0.750000)
movc r3.w, r5.z, r3.w, r5.y
round_ni r3.w, r3.w
max r3.w, r3.w, l(1.000000)
sample_l_indexable(texture3d)(float,float,float,float) r7.xyzw, r4.xywx, t5.xyzw, s0, r3.w
sample_l_indexable(texture3d)(float,float,float,float) r8.xyzw, r4.xywx, t6.xyzw, s0, r3.w
mul r9.xyzw, r7.xyzw, r7.xyzw
mad r10.xyzw, r7.xyzw, l(0.335721463, 0.335721463, 0.335721463, 0.335721463), l(-0.00358909299, -0.00358909299, -0.00358909299, -0.00358909299)
mad r10.xyzw, r9.xyzw, l(2.67030215, 2.67030215, 2.67030215, 2.67030215), r10.xyzw
mul r7.xyzw, r7.xyzw, r9.xyzw
mad r7.xyzw, r7.xyzw, l(-2.01957369, -2.01957369, -2.01957369, -2.01957369), r10.xyzw
add r7.xyzw, -r7.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r9.xyzw, r8.wzyx, r8.wzyx
mad r10.xyzw, r8.wzyx, l(0.335721463, 0.335721463, 0.335721463, 0.335721463), l(-0.00358909299, -0.00358909299, -0.00358909299, -0.00358909299)
mad r10.xyzw, r9.xyzw, l(2.67030215, 2.67030215, 2.67030215, 2.67030215), r10.xyzw
mul r8.xyzw, r8.wzyx, r9.xyzw
mad r8.xyzw, r8.xyzw, l(-2.01957369, -2.01957369, -2.01957369, -2.01957369), r10.xyzw
add r8.xyzw, -r8.xyzw, l(1.000000, 1.000000, 1.000000, 1.000000)
mad r9.xyz, r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000), l(-1.000000, -1.000000, -1.000000, 0.000000)
mov r9.w, l(1.000000)
mad r10.xy, r3.yzyy, l(2.000000, 2.000000, 0.000000, 0.000000), l(-0.500000, -0.500000, 0.000000, 0.000000)
mad r5.yz, r1.xxyx, cb2[9].xxyx, cb2[9].zzwz
max r3.w, |r5.z|, |r5.y|
max r3.w, |r4.z|, r3.w
mad_sat r3.w, -cb2[5].x, r3.w, cb2[5].x
and r4.z, cb2[45].y, l(15)
mov r11.xyz, r1.xyzx
mov r11.w, l(1.000000)
mov r12.xyzw, l(1.000000,1.000000,0,0)
mov r1.x, l(0)
loop
  uge r1.y, r1.x, r4.z
  breakc_nz r1.y
  ishl r1.y, r1.x, l(1)
  bfi r5.y, l(31), l(1), r1.x, l(1)
  imul null, r5.z, r1.x, l(3)
  imad r6.xy, r1.xxxx, l(3, 3, 0, 0), l(1, 2, 0, 0)
  dp4 r13.x, cb2[r5.z + 46].xyzw, r11.xyzw
  dp4 r13.y, cb2[r6.x + 46].xyzw, r11.xyzw
  dp4 r13.z, cb2[r6.y + 46].xyzw, r11.xyzw
  add r6.xyz, -|r13.xyzx|, l(1.000000, 1.000000, 1.000000, 0.000000)
  mul_sat r6.xyz, r6.xyzx, cb2[r1.y + 70].xyzx
  min r1.y, r6.z, r6.y
  min r1.y, r1.y, r6.x
  add r1.y, -r1.y, l(1.000000)
  mul r5.z, r1.y, r1.y
  add r6.xy, l(1.000000, 1.000000, 0.000000, 0.000000), -cb2[r5.y + 70].xyxx
  mad r5.zw, r5.zzzz, r6.xxxy, cb2[r5.y + 70].xxxy
  min r12.xy, r5.zwzz, r12.xyxx
  mad r1.y, -r1.y, r1.y, l(1.000000)
  mul r5.yz, r1.yyyy, cb2[r5.y + 70].zzwz
  max r12.zw, r5.yyyz, r12.zzzw
  iadd r1.x, r1.x, l(1)
endloop
sample_l_indexable(texture2d)(float,float,float,float) r13.xyzw, r10.xyxx, t2.xyzw, s0, l(0.000000)
mad r1.x, r13.w, cb2[0].z, cb2[1].z
add r1.x, -r1.z, r1.x
mad r1.x, |r1.x|, l(0.000156249997), r13.x
add r5.yz, r13.yyzy, l(0.000000, -0.500000, -0.500000, 0.000000)
add r13.z, r1.x, -r5.y
add r13.w, r1.x, r5.y
add_sat r14.xy, -r5.zzzz, r13.zwzz
add_sat r14.zw, r5.zzzz, r13.zzzw
mul r1.x, r3.w, r12.y
add r1.y, -r3.w, l(1.000000)
mul r1.y, r1.y, r12.x
add r5.yz, -r12.zzwz, l(0.000000, 1.000000, 1.000000, 0.000000)
mad r1.w, r1.w, r5.y, r12.z
mad r5.yw, r11.xxxy, cb2[2].xxxy, -cb2[2].zzzw
sample_l_indexable(texture2d)(float,float,float,float) r4.z, r5.ywyy, t3.yzxw, s1, l(0.000000)
mad r4.z, r4.z, cb2[3].x, cb2[4].x
add r1.z, -r1.z, r4.z
mad_sat r1.z, r1.z, l(-0.00195312500), l(1.000000)
add r1.z, r1.z, l(0.500000)
min r1.z, r1.z, l(1.000000)
mul r1.y, r1.z, r1.y
mad r7.xyzw, r7.xyzw, r1.xxxx, r1.yyyy
mad r8.xyzw, r8.xyzw, r1.xxxx, r1.yyyy
mov r10.zw, l(0,0,3.000000,2.000000)
sample_l_indexable(texture2darray)(float,float,float,float) r1.xyz, r10.xyzx, t4.xyzw, s0, l(0.000000)
sample_l_indexable(texture2darray)(float,float,float,float) r6.xyz, r10.xywx, t4.xyzw, s0, l(0.000000)
mov r10.zw, l(0,0,1.000000,0)
sample_l_indexable(texture2darray)(float,float,float,float) r12.xyz, r10.xyzx, t4.xyzw, s0, l(0.000000)
sample_l_indexable(texture2darray)(float,float,float,float) r10.xyz, r10.xywx, t4.xyzw, s0, l(0.000000)
mul r13.xyzw, r14.xyzw, r7.xyzw
dp4 r4.z, r13.xyzw, l(0.250000, 0.250000, 0.250000, 0.250000)
mul r15.xyzw, r7.xyzw, l(0.125000, 0.125000, 0.125000, 0.125000)
mad r7.xyzw, -r7.wzyx, r14.wzyx, l(1.000000, 1.000000, 1.000000, 1.000000)
mul r7.xyzw, r7.xyzw, r15.wzyx
mad r7.xyzw, r8.xyzw, l(0.125000, 0.125000, 0.125000, 0.125000), r7.xyzw
mul r8.xyzw, r14.xyzw, r13.xyzw
mul r5.y, r1.w, l(0.050000)
mul r13.xyzw, r5.yyyy, r7.xyzw
mad r8.xyzw, r15.xyzw, r8.xyzw, r13.xyzw
add r1.w, -r1.w, l(1.000000)
mul r13.xyzw, r1.wwww, r7.xyzw
mul r14.xyz, r8.yyyy, cb3[32].xyzx
mad r14.xyz, cb3[31].xyzx, r8.xxxx, r14.xyzx
mad r14.xyz, cb3[33].xyzx, r8.zzzz, r14.xyzx
mad r14.xyz, cb3[34].xyzx, r8.wwww, r14.xyzx
mad r14.xyz, r1.xyzx, r13.wwww, r14.xyzx
mad r14.xyz, r6.xyzx, r13.zzzz, r14.xyzx
mad r13.yzw, r12.xxyz, r13.yyyy, r14.xxyz
mad r13.xyz, r10.xyzx, r13.xxxx, r13.yzwy
mad r7.xyzw, -r7.xyzw, r1.wwww, r8.xyzw
log r8.xyzw, |r7.xyzw|
mul r8.xyzw, r8.xyzw, l(0.250000, 0.250000, 0.250000, 0.250000)
exp r8.xyzw, r8.xyzw
lt r14.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000), r7.xyzw
lt r7.xyzw, r7.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
iadd r7.xyzw, r7.xyzw, -r14.xyzw
itof r7.xyzw, r7.xyzw
mul r7.xyzw, r7.xyzw, r8.xyzw
mul r8.xyzw, r7.xxyy, l(-0.577350259, 0.577350259, 0.577350259, -0.577350259)
add r10.xyz, r10.xyzx, cb3[31].xyzx
dp3 r1.w, r10.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mov r10.xyz, r8.xxyx
mov r10.w, l(1.000000)
add r12.xyz, r12.xyzx, cb3[32].xyzx
dp3 r5.y, r12.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mov r8.xyz, r8.zwzz
mov r8.w, l(1.000000)
mul r8.xyzw, r5.yyyy, r8.xyzw
mad r8.xyzw, r10.xyzw, r1.wwww, r8.xyzw
mul r7.xyz, r7.zzwz, l(-0.577350259, 0.577350259, 0.577350259, 0.000000)
add r6.xyz, r6.xyzx, cb3[33].xyzx
dp3 r1.w, r6.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mov r7.w, l(1.000000)
mad r8.xyzw, r7.xyyw, r1.wwww, r8.xyzw
add r1.xyz, r1.xyzx, cb3[34].xyzx
dp3 r1.x, r1.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r1.xyzw, r7.zzzw, r1.xxxx, r8.xyzw
mul r5.y, cb2[5].z, l(0.125000)
mul r1.xyzw, r1.xyzw, r5.yyyy
mad r1.xyzw, r9.xyzw, r3.xxxx, r1.xyzw
mad r6.xyz, r13.xyzx, cb2[5].zzzz, r0.xyzx
sample_l_indexable(texture3d)(float,float,float,float) r4.xyw, r4.xywx, t8.xywz, s0, l(0.000000)
mul r3.x, r3.w, r3.w
mul r3.x, r3.x, cb2[43].z
mad r4.xyw, r4.xyxw, r3.xxxx, r6.xyxz
sample_l_indexable(texture2d)(float,float,float,float) r3.xy, r3.yzyy, t1.xyzw, s0, l(0.000000)
mad r3.x, r3.x, cb2[0].z, cb2[1].z
add r3.x, -r3.x, r11.z
mad_sat r3.x, r3.x, cb2[0].w, l(1.000000)
mul r3.x, r3.y, r3.x
mul r3.x, r5.z, r3.x
lt r3.y, l(0.000000), r3.x
if_nz r3.y
  mul r3.yzw, r11.yyyy, cb2[29].xxyz
  mad r3.yzw, r11.xxxx, cb2[28].xxyz, r3.yyzw
  mad r3.yzw, r11.zzzz, cb2[30].xxyz, r3.yyzw
  add r3.yzw, r3.yyzw, cb2[31].xxyz
  mov_sat r5.yz, r3.yyzy
  eq r5.yz, r5.yyzy, r3.yyzy
  and r5.y, r5.z, r5.y
  lt r5.z, r3.w, l(0.950000)
  and r5.y, r5.z, r5.y
  add r5.zw, r3.yyyz, -cb2[34].xxxy
  add r6.xy, r3.yzyy, -cb2[35].xyxx
  max r6.z, |r5.w|, |r5.z|
  max r7.x, |r6.y|, |r6.x|
  mad r5.zw, r5.zzzw, cb2[34].zzzz, l(0.000000, 0.000000, 1.500000, 0.500000)
  mul r7.y, cb2[34].z, cb2[34].z
  mad r6.xy, r6.xyxx, r7.yyyy, l(2.500000, 0.500000, 0.000000, 0.000000)
  lt r6.z, r6.z, cb2[34].w
  movc r3.yz, r6.zzzz, r5.zzwz, r3.yyzy
  lt r5.z, r7.x, cb2[35].w
  movc r6.yz, r5.zzzz, r6.xxyx, r3.yyzy
  mul r6.x, r6.y, cb2[35].z
  sample_l_indexable(texture2d)(float,float,float,float) r3.y, r6.xzxx, t14.yxzw, s1, l(0.000000)
  add r3.y, -r3.w, r3.y
  mul_sat r3.y, r3.y, l(256.000000)
  sample_l_aoffimmi_indexable(1,0,0)(texture2d)(float,float,float,float) r3.z, r6.xzxx, t14.yzxw, s1, l(0.000000)
  add r3.z, -r3.w, r3.z
  mul_sat r3.z, r3.z, l(256.000000)
  mad r3.y, r3.y, l(2.000000), r3.z
  sample_l_aoffimmi_indexable(0,1,0)(texture2d)(float,float,float,float) r3.z, r6.xzxx, t14.yzxw, s1, l(0.000000)
  add r3.z, -r3.w, r3.z
  mul_sat r3.z, r3.z, l(256.000000)
  add r3.y, r3.z, r3.y
  sample_l_aoffimmi_indexable(-1,0,0)(texture2d)(float,float,float,float) r3.z, r6.xzxx, t14.yzxw, s1, l(0.000000)
  add r3.z, -r3.w, r3.z
  mul_sat r3.z, r3.z, l(256.000000)
  add r3.y, r3.z, r3.y
  sample_l_aoffimmi_indexable(0,-1,0)(texture2d)(float,float,float,float) r3.z, r6.xzxx, t14.yzxw, s1, l(0.000000)
  add r3.z, -r3.w, r3.z
  mul_sat r3.z, r3.z, l(256.000000)
  add r3.y, r3.z, r3.y
  mul r3.y, r3.y, l(0.166666672)
  movc r3.y, r5.y, r3.y, l(1.000000)
  mul r3.y, r3.y, r3.x
  dp3 r6.x, r11.xyzx, cb2[18].xyzx
  dp3 r6.y, r11.xyzx, cb2[19].xyzx
  dp3 r6.z, r11.xyzx, cb2[20].xyzx
  div r3.z, l(1.000000, 1.000000, 1.000000, 1.000000), cb2[19].w
  add r5.yzw, r6.xxyz, cb2[21].xxyz
  mad r5.yzw, r5.yyzw, r3.zzzz, cb2[22].xxyz
  max r3.z, |r5.z|, |r5.y|
  mad_sat r3.z, -r3.z, l(32.000000), l(31.000000)
  mad r7.xyz, r5.yzwy, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
  mov r7.w, l(1.000000)
  sample_l_indexable(texture2darray)(float,float,float,float) r8.xyzw, r7.xywx, t9.xyzw, s1, l(0.000000)
  mul r3.zw, r3.zzzz, l(0.000000, 0.000000, 256.000000, 16.000000)
  add r5.yz, -r7.zzzz, r8.xxyx
  mul_sat r3.zw, r3.zzzw, r5.yyyz
  mad r3.z, -r3.z, r8.z, l(1.000000)
  add r5.y, -r8.w, l(1.000000)
  add r5.y, -r3.z, r5.y
  mad r3.z, r3.w, r5.y, r3.z
  mul r3.x, r3.z, r3.y
endif
mov_sat r3.x, r3.x
sqrt r3.x, r3.x
add r3.y, -r3.x, r6.w
mad r2.w, r5.x, r3.y, r3.x
eq r3.x, r1.w, l(0.000000)
div r1.w, l(1.000000, 1.000000, 1.000000, 1.000000), r1.w
movc r1.w, r3.x, l(0), r1.w
mul r1.xyz, r1.wwww, r1.xyzx
mov r0.w, l(1.000000)
store_uav_typed u0.xyzw, vThreadID.xyzz, r0.xyzw
store_uav_typed u1.xyzw, vThreadID.xyzz, r2.xyzw
and r0.xyz, r4.xywx, l(0x7f800000, 0x7f800000, 0x7f800000, 0)
ine r0.xyz, l(0x7f800000, 0x7f800000, 0x7f800000, 0), r0.xyzx
and r0.xyz, r4.xywx, r0.xyzx
and r3.xyz, r1.xyzx, l(0x7f800000, 0x7f800000, 0x7f800000, 0)
ine r3.xyz, l(0x7f800000, 0x7f800000, 0x7f800000, 0), r3.xyzx
and r1.xyz, r1.xyzx, r3.xyzx
mov r0.w, l(1.000000)
store_uav_typed u2.xyzw, vThreadID.xyzz, r0.xyzw
mad r2.xyz, r1.xyzx, l(0.500000, 0.500000, 0.500000, 0.000000), l(0.500000, 0.500000, 0.500000, 0.000000)
store_uav_typed u3.xyzw, vThreadID.xyzz, r2.xyzw
sqrt r0.x, r4.z
min r0.x, r0.x, l(1.000000)
lt r0.y, r12.w, l(0.950000)
max r0.z, r0.x, l(0.00787401572)
movc r1.w, r0.y, -r0.x, r0.z
mad r0.xyzw, r1.xyzw, l(0.498039216, 0.498039216, 0.498039216, 0.498039216), l(0.498039216, 0.498039216, 0.498039216, 0.498039216)
store_uav_typed u4.xyzw, vThreadID.xyzz, r0.xyzw
ret
// Approximately 0 instruction slots used
