//Temporal antialiasing (TAA) CS.
//
// Generated by Microsoft (R) D3D Shader Disassembler
//
//   using 3Dmigoto v1.3.16 on Fri Dec 16 17:43:55 2022
//
//
// 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 CB12[23], immediateIndexed
dcl_constantbuffer CB10[17], immediateIndexed
dcl_constantbuffer CB14[3], immediateIndexed
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_texture2d (float,float,float,float) t4
dcl_resource_texture2d (float,float,float,float) t7
dcl_resource_texture2d (float,float,float,float) t8
dcl_uav_typed_texture2d (float,float,float,float) u0
dcl_input vThreadGroupID.xy
dcl_input vThreadIDInGroup.xy
dcl_temps 50
dcl_resource_texture2d (float,float,float,float) t125
dcl_thread_group 8, 8, 1
ld_indexable(texture2d)(float,float,float,float) r40.xyzw, l(0, 0, 0, 0), t125.xyzw
ld_indexable(texture2d)(float,float,float,float) r41.xyzw, l(2, 0, 0, 0), t125.xyzw
imad r0.xyzw, vThreadGroupID.xyyy, l(8, 8, 8, 8), vThreadIDInGroup.xyyy
utof r1.xy, r0.xwxx
add r1.xy, r1.xyxx, l(0.500000, 0.500000, 0.000000, 0.000000)
mul r1.xy, r1.xyxx, cb10[3].zwzz
ld_indexable(texture2d)(float,float,float,float) r1.w, l(0, 0, 0, 0), t0.yzwx
mul r1.w, r1.w, cb10[5].x
mad r2.xy, r1.xyxx, cb10[1].xyxx, cb10[0].xyxx
round_ni r2.zw, r2.xxxy
add r2.zw, r2.zzzw, l(0.000000, 0.000000, 0.500000, 0.500000)
mul r3.xy, r2.zwzz, cb10[1].zwzz
mov r4.xw, cb10[1].zzzw
mov r4.yz, l(0,0,0,0)
mad r4.xyzw, r2.zwzw, cb10[1].zwzw, r4.xyzw
mul r4.xyzw, r4.xyzw, cb10[1].xyxy
ftou r5.xy, r4.xyxx
mov r5.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r5.xyz, r5.xyzw, t1.xyzw
max r5.xyz, r5.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r3.z, r5.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r3.z, r3.z, r1.w, l(1.000000)
div r3.z, r1.w, r3.z
mul r5.xyz, r3.zzzz, r5.xyzx
dp3 r6.x, r5.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r6.y, r5.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r6.z, r5.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
mov r5.xyz, -cb10[1].zwzz
mov r5.w, l(0)
mad r7.xyzw, r2.zwzw, cb10[1].zwzw, r5.zwxy
mul r7.xyzw, r7.xyzw, cb10[1].xyxy
ftou r8.xy, r7.xyxx
mov r8.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r8.xyz, r8.xyzw, t1.xyzw
max r8.xyz, r8.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r3.z, r8.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r3.z, r3.z, r1.w, l(1.000000)
div r3.z, r1.w, r3.z
mul r8.xyz, r3.zzzz, r8.xyzx
dp3 r9.x, r8.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r9.y, r8.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r9.z, r8.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ftou r4.xy, r4.zwzz
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyzw, t1.xyzw
max r4.xyz, r4.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r3.z, r4.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r3.z, r3.z, r1.w, l(1.000000)
div r3.z, r1.w, r3.z
mul r4.xyz, r3.zzzz, r4.xyzx
dp3 r8.x, r4.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r8.y, r4.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r8.z, r4.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
mov r4.xw, l(0,0,0,-1.000000)
mov r4.y, -cb10[1].w
mad r3.zw, r2.zzzw, cb10[1].zzzw, r4.xxxy
mul r3.zw, r3.zzzw, cb10[1].xxxy
ftou r10.xy, r3.zwzz
mov r10.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r10.xyz, r10.xyzw, t1.xyzw
max r10.xyz, r10.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r3.z, r10.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r3.z, r3.z, r1.w, l(1.000000)
div r3.z, r1.w, r3.z
mul r10.xyz, r3.zzzz, r10.xyzx
dp3 r11.x, r10.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r11.y, r10.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r11.z, r10.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ftou r7.xy, r7.zwzz
mov r7.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r10.xyz, r7.xyww, t1.xyzw
max r10.xyz, r10.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r3.z, r10.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r3.z, r3.z, r1.w, l(1.000000)
div r3.z, r1.w, r3.z
mul r10.xyz, r3.zzzz, r10.xyzx
dp3 r12.x, r10.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r12.y, r10.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r12.z, r10.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ld_indexable(texture2d)(float,float,float,float) r3.z, r7.xyzw, t3.yzxw
mul r7.xyzw, cb10[1].zwzw, l(1.000000, -1.000000, -1.000000, 1.000000)
mad r7.xyzw, r2.zwzw, cb10[1].zwzw, r7.xyzw
mul r7.xyzw, r7.xyzw, cb10[1].xyxy
ftou r10.xy, r7.xyxx
mov r10.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r13.xyz, r10.xyww, t1.xyzw
max r13.xyz, r13.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r3.w, r13.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r3.w, r3.w, r1.w, l(1.000000)
div r3.w, r1.w, r3.w
mul r13.xyz, r3.wwww, r13.xyzx
dp3 r14.x, r13.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r14.y, r13.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r14.z, r13.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ld_indexable(texture2d)(float,float,float,float) r3.w, r10.xyzw, t3.yzwx
ftou r7.xy, r7.zwzz
mov r7.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r10.xyz, r7.xyww, t1.xyzw
max r10.xyz, r10.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r4.x, r10.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r4.x, r4.x, r1.w, l(1.000000)
div r4.x, r1.w, r4.x
mul r10.xyz, r4.xxxx, r10.xyzx
dp3 r13.x, r10.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r13.y, r10.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r13.z, r10.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ld_indexable(texture2d)(float,float,float,float) r4.x, r7.xyzw, t3.xyzw
mad r5.zw, r2.zzzw, cb10[1].zzzw, cb10[1].zzzw
mul r5.zw, r5.zzzw, cb10[1].xxxy
ftou r7.xy, r5.zwzz
mov r7.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r10.xyz, r7.xyww, t1.xyzw
max r10.xyz, r10.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r4.y, r10.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r4.y, r4.y, r1.w, l(1.000000)
div r4.y, r1.w, r4.y
mul r10.xyz, r4.yyyy, r10.xyzx
dp3 r15.x, r10.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r15.y, r10.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r15.z, r10.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ld_indexable(texture2d)(float,float,float,float) r4.y, r7.xyzw, t3.yxzw
mul r5.zw, r3.xxxy, cb10[1].xxxy
ftou r7.xy, r5.zwzz
mov r7.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r10.xyz, r7.xyww, t1.xyzw
max r10.xyz, r10.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r5.z, r10.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r5.z, r5.z, r1.w, l(1.000000)
div r5.z, r1.w, r5.z
mul r10.xyz, r5.zzzz, r10.xyzx
dp3 r16.x, r10.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r16.y, r10.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r16.z, r10.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ld_indexable(texture2d)(float,float,float,float) r5.w, r7.xyww, t3.zwyx
lt r6.w, r4.y, r4.x
movc r10.x, r6.w, l(-1.000000), l(1.000000)
lt r6.w, r3.w, r3.z
movc r4.z, r6.w, l(-1.000000), l(1.000000)
max r4.x, r4.x, r4.y
max r3.z, r3.z, r3.w
lt r3.w, r4.x, r3.z
mov r10.y, l(1.000000)
movc r4.yz, r3.wwww, r4.zzwz, r10.xxyx
max r10.z, r3.z, r4.x
lt r3.z, r5.w, r10.z
mul r10.xy, r4.yzyy, cb10[1].zwzz
mov r5.z, l(0)
movc r4.xyz, r3.zzzz, r10.xyzx, r5.zzwz
mad r3.zw, r2.zzzw, cb10[1].zzzw, r4.xxxy
mul r3.zw, r3.zzzw, cb10[1].xxxy
ftou r10.xy, r3.zwzz
mov r10.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r4.xyw, r10.xyzw, t7.xywz
mad r3.z, r4.z, cb12[22].x, cb12[22].y
lt r3.w, r3.z, l(1.000000)
lt r5.zw, r4.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000)
and r3.w, r3.w, r5.z
and r3.w, r5.w, r3.w
if_z r3.w
endif
mad r3.x, r3.x, l(2.000000), l(-1.000000)
mad r3.y, -r3.y, l(2.000000), l(1.000000)

ge r42.x, r41.x, l(5.0)

//mul r31.xyzw, r3.yyyy, cb10[7].xyzw
//mad r31.xyzw, cb10[6].xyzw, r3.xxxx, r31.xyzw
//mad r31.xyzw, cb10[8].xyzw, r4.zzzz, r31.xyzw
//add r31.xyzw, r31.xyzw, cb10[9].xyzw

mul r32.xyzw, r3.yyyy, cb12[212].xyzw
mad r32.xyzw, cb12[211].xyzw, r3.xxxx, r32.xyzw
mad r32.xyzw, cb12[213].xyzw, r4.zzzz, r32.xyzw
add r32.xyzw, r32.xyzw, cb12[214].xyzw

mad r30.x, r40.y, r32.w, l(-1.0)
mad r3.x, r40.x, r30.x, r3.x

mul r10.xyzw, r3.yyyy, cb10[7].xyzw
mad r10.xyzw, cb10[6].xyzw, r3.xxxx, r10.xyzw
mad r10.xyzw, cb10[8].xyzw, r4.zzzz, r10.xyzw
add r10.xyzw, r10.xyzw, cb10[9].xyzw

if_z r42.x
mad r30.x, -cb14[2].y, r32.w, r10.w
mad r10.x, cb14[2].x, r30.x, r10.x
else
mad r30.x, -r40.y, r32.w, r10.w
mad r10.x, r40.x, r30.x, r10.x
endif

div r10.xyz, r10.xyzx, r10.wwww
mad r3.xy, r10.xyxx, l(0.500000, -0.500000, 0.000000, 0.000000), l(0.500000, 0.500000, 0.000000, 0.000000)
mad r17.xy, r2.zwzz, cb10[1].zwzz, -r3.xyxx
ge r2.z, r3.z, l(1.000000)
add r2.w, r4.z, -r10.z
movc r17.z, r2.z, l(0), r2.w
movc r3.xyz, r3.wwww, r4.xywx, r17.xyzx
mov r1.z, r4.z
add r1.xyz, r1.xyzx, -r3.xyzx
mul r2.zw, r1.xxxy, cb10[3].xxxy
mad r3.zw, r1.xxxy, cb10[3].xxxy, l(0.000000, 0.000000, -0.500000, -0.500000)
round_ni r3.zw, r3.zzzw
add r4.xyzw, r3.zwzw, l(0.500000, 0.500000, -0.500000, -0.500000)
mad r10.xyzw, r1.xyxy, cb10[3].xyxy, -r4.xyxy
mad r17.xyzw, -r10.zwzw, l(0.500000, 0.500000, 1.500000, 1.500000), l(1.000000, 1.000000, 2.000000, 2.000000)
mad r17.xyzw, r10.zwzw, r17.xyzw, l(-0.500000, -0.500000, 0.500000, 0.500000)
mul r18.xyzw, r10.zwzw, r10.zwzw
mad r19.xyzw, r10.zwzw, l(1.500000, 1.500000, 0.500000, 0.500000), l(-2.500000, -2.500000, -0.500000, -0.500000)
mul r5.zw, r18.zzzw, r19.zzzw
mad r18.xy, r18.xyxx, r19.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
mul r19.xyzw, r10.xyzw, r17.xyzw
mad r10.xy, r10.zwzz, r17.zwzz, r18.xyxx
div r10.zw, r19.zzzw, r10.xxxy
add r3.zw, r3.zzzw, l(0.000000, 0.000000, 2.500000, 2.500000)
add r4.xy, r4.xyxx, r10.zwzz
mul r18.xy, r3.zwzz, cb10[15].xyxx
mul r17.xyzw, r4.zyxw, cb10[15].xyxy
sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, r17.xwxx, t2.xyzw, s1, l(0.000000)
mul r4.xyz, r19.xxxx, r4.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r20.xyz, r17.zwzz, t2.xyzw, s1, l(0.000000)
mul r20.xyz, r10.xxxx, r20.xyzx
mul r20.xyz, r19.yyyy, r20.xyzx
mad r4.xyz, r4.xyzx, r19.yyyy, r20.xyzx
mov r18.zw, r17.wwwy
sample_l_indexable(texture2d)(float,float,float,float) r20.xyz, r18.xzxx, t2.xyzw, s1, l(0.000000)
mul r20.xyz, r5.zzzz, r20.xyzx
mad r4.xyz, r20.xyzx, r19.yyyy, r4.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r19.yzw, r17.xyxx, t2.wxyz, s1, l(0.000000)
mul r19.yzw, r19.xxxx, r19.yyzw
mad r4.xyz, r19.yzwy, r10.yyyy, r4.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r19.yzw, r17.zyzz, t2.wxyz, s1, l(0.000000)
mul r19.yzw, r10.xxxx, r19.yyzw
mad r4.xyz, r19.yzwy, r10.yyyy, r4.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r19.yzw, r18.xwxx, t2.wxyz, s1, l(0.000000)
mul r19.yzw, r5.zzzz, r19.yyzw
mad r4.xyz, r19.yzwy, r10.yyyy, r4.xyzx
mov r17.y, r18.y
sample_l_indexable(texture2d)(float,float,float,float) r10.yzw, r17.xyxx, t2.wxyz, s1, l(0.000000)
mul r10.yzw, r19.xxxx, r10.yyzw
mad r4.xyz, r10.yzwy, r5.wwww, r4.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r10.yzw, r17.zyzz, t2.wxyz, s1, l(0.000000)
mul r10.xyz, r10.xxxx, r10.yzwy
mad r4.xyz, r10.xyzx, r5.wwww, r4.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r10.xyz, r18.xyxx, t2.xyzw, s1, l(0.000000)
mul r10.xyz, r5.zzzz, r10.xyzx
mad r4.xyz, r10.xyzx, r5.wwww, r4.xyzx
min r4.xyz, r4.xyzx, l(340282346638528859811704183484516925440.000000, 340282346638528859811704183484516925440.000000, 340282346638528859811704183484516925440.000000, 0.000000)
max r4.xyz, r4.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
dp3 r3.z, r4.xyzx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r3.z, r3.z, r1.w, l(1.000000)
div r3.z, r1.w, r3.z
mul r4.xyz, r3.zzzz, r4.xyzx
dp3 r10.x, r4.xzyx, l(0.250000, 0.250000, 0.500000, 0.000000)
dp2 r10.y, r4.xzxx, l(0.500000, -0.500000, 0.000000, 0.000000)
dp3 r10.z, r4.xzyx, l(-0.250000, -0.250000, 0.500000, 0.000000)
ld_indexable(texture2d)(float,float,float,float) r3.z, r7.xyzw, t8.yzxw
add r3.z, -r3.z, l(1.000000)
ftou r4.xy, r2.zwzz
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r2.z, r4.xyzw, t2.xywz
mul r3.xy, r3.xyxx, cb10[3].xyxx
dp2 r2.w, r3.xyxx, r3.xyxx
sqrt r2.w, r2.w
mul r3.x, r3.z, r3.z
mul r3.x, r3.x, l(5.000000)
max r2.w, r2.w, r3.x
lt r3.x, r2.z, l(0.000000)
mov r2.z, -r2.z
and r2.z, r2.z, r3.x
add r3.x, cb12[21].y, cb12[21].x
mad r1.z, -r1.z, cb12[21].x, r3.x
rcp r1.z, r1.z
add_sat r3.yw, r5.xxxy, r1.xxxy
mul r3.yw, r3.yyyw, cb10[2].xxxy
mul r3.yw, r3.yyyw, cb10[2].zzzw
ftou r4.xy, r3.ywyy
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.y, r4.xyzw, t4.yxzw
min r3.y, r3.y, l(1.000000)
mad_sat r4.xyzw, cb10[1].zwzw, l(1.000000, -1.000000, -1.000000, 1.000000), r1.xyxy
mul r4.xyzw, r4.xyzw, cb10[2].xyxy
mul r4.xyzw, r4.xyzw, cb10[2].zwzw
ftou r5.xy, r4.xyxx
mov r5.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.w, r5.xyzw, t4.yzwx
min r3.y, r3.y, r3.w
ftou r4.xy, r4.zwzz
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.w, r4.xyzw, t4.yzwx
min r3.y, r3.y, r3.w
add_sat r4.xy, r1.xyxx, cb10[1].zwzz
mul r4.xy, r4.xyxx, cb10[2].xyxx
mul r4.xy, r4.xyxx, cb10[2].zwzz
ftou r4.xy, r4.xyxx
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.w, r4.xyzw, t4.yzwx
min r3.y, r3.y, r3.w
mov_sat r4.xy, r1.xyxx
mul r4.xy, r4.xyxx, cb10[2].xyxx
mul r4.xy, r4.xyxx, cb10[2].zwzz
ftou r4.xy, r4.xyxx
mov r4.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r3.w, r4.xyzw, t4.yzwx
min r3.y, r3.y, r3.w
mad r3.x, -r3.y, cb12[21].x, r3.x
rcp r3.x, r3.x
add r1.z, r1.z, -r3.x
add r1.z, r1.z, l(-0.010000)
mul_sat r1.z, r1.z, l(5.000000)
mul r2.z, r2.z, l(0.950000)
max r2.z, r2.z, r3.z
add r3.xyw, r6.xyxz, r9.xyxz
add r3.xyw, r8.xyxz, r3.xyxw
add r3.xyw, r11.xyxz, r3.xyxw
add r3.xyw, r12.xyxz, r3.xyxw
add r3.xyw, r14.xyxz, r3.xyxw
add r3.xyw, r13.xyxz, r3.xyxw
add r3.xyw, r15.xyxz, r3.xyxw
add r3.xyw, r16.xyxz, r3.xyxw
mul r4.xyz, r9.xyzx, r9.xyzx
mad r4.xyz, r6.xyzx, r6.xyzx, r4.xyzx
mad r4.xyz, r8.xyzx, r8.xyzx, r4.xyzx
mad r4.xyz, r11.xyzx, r11.xyzx, r4.xyzx
mad r4.xyz, r12.xyzx, r12.xyzx, r4.xyzx
mad r4.xyz, r14.xyzx, r14.xyzx, r4.xyzx
mad r4.xyz, r13.xyzx, r13.xyzx, r4.xyzx
mad r4.xyz, r15.xyzx, r15.xyzx, r4.xyzx
mad r4.xyz, r16.xyzx, r16.xyzx, r4.xyzx
mul r5.xyz, r3.xywx, l(0.111111112, 0.111111112, 0.111111112, 0.000000)
mul r5.xyz, r5.xyzx, r5.xyzx
mad r4.xyz, r4.xyzx, l(0.111111112, 0.111111112, 0.111111112, 0.000000), -r5.xyzx
sqrt r4.xyz, |r4.xyzx|
mul r4.w, r1.z, l(0.500000)
mad r1.z, -r1.z, l(0.500000), l(1.000000)
mul r1.z, r1.z, l(1.300000)
mul r5.x, r2.z, l(0.200000)
mad r2.z, -r2.z, l(0.300000), l(1.000000)
mul r1.z, r1.z, r2.z
mul r4.xyz, r4.xyzx, r1.zzzz
mad r5.yzw, r3.xxyw, l(0.000000, 0.111111112, 0.111111112, 0.111111112), r4.xxyz
mad r3.xyw, r3.xyxw, l(0.111111112, 0.111111112, 0.000000, 0.111111112), -r4.xyxz
lt r4.xyz, r10.xyzx, r16.xyzx
movc r3.xyw, r4.xyxz, r3.xyxw, r5.yzyw
add r3.xyw, -r10.xyxz, r3.xyxw
add r4.xyz, -r10.xyzx, r16.xyzx
div r3.xyw, r3.xyxw, r4.xyxz
max r1.z, r3.w, r3.y
max_sat r1.z, r1.z, r3.x
mad r3.xyw, r1.zzzz, r4.xyxz, r10.xyxz
lt r4.xy, r1.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
or r1.z, r4.y, r4.x
ge r4.xy, r1.xyxx, l(1.000000, 1.000000, 0.000000, 0.000000)
or r2.z, r4.y, r4.x
or r1.z, r1.z, r2.z
ne r1.xy, r1.xyxx, r1.xyxx
or r1.x, r1.y, r1.x
or r1.x, r1.x, r1.z
if_nz r1.x
  mov r1.x, l(1.000000)
else
  frc r1.yz, r2.xxyx
  add r1.yz, r1.yyzy, l(0.000000, -0.500000, -0.500000, 0.000000)
  mul r1.yz, r1.yyzy, cb10[15].zzwz
  dp2 r1.y, r1.yzyy, r1.yzyy
  sqrt r1.y, r1.y
  mul r1.y, r1.y, cb10[16].x
  ge r1.z, r1.y, l(0.001000)
  lt r2.x, |r1.y|, l(3.000000)
  mul r2.yz, r1.yyyy, l(0.000000, 3.14159274, 1.04719758, 0.000000)
  sincos r2.yz, null, r2.yyzy
  mul r2.y, r2.y, l(0.303963542)
  mul r2.y, r2.z, r2.y
  mul r1.y, r1.y, r1.y
  div r1.y, r2.y, r1.y
  and r1.y, r1.y, r2.x
  movc r1.y, r1.z, r1.y, l(1.000000)
  mul r1.y, r1.y, cb10[16].x
  mul r1.z, r2.w, l(0.333333343)
  min r1.z, r1.z, l(1.000000)
  mad r1.z, r1.z, l(0.250000), l(0.050000)
  mul r2.x, r1.y, r1.z
  mad r1.y, -r1.z, r1.y, l(0.600000)
  mad r1.x, r4.w, r1.y, r2.x
endif
add r1.y, -r1.x, l(0.400000)
mad r1.x, r5.x, r1.y, r1.x
lt r1.y, l(0.000000), r3.z
movc r2.w, r1.y, -r3.z, r2.w
add r4.xyz, -r3.xywx, r16.xyzx
mad r1.xyz, r1.xxxx, r4.xyzx, r3.xywx
add r3.yz, r1.yyzy, r1.xxxx
add r3.x, -r1.z, r3.y
add r1.x, -r1.y, r1.x
add r3.w, -r1.z, r1.x
dp3 r1.x, r3.xzwx, l(0.300000, 0.590000, 0.110000, 0.000000)
mad r1.x, -r1.x, r1.w, r1.w
rcp r1.x, r1.x
mul r1.xyz, r1.xxxx, r3.xzwx
max r2.xyz, r1.xyzx, l(0.000001, 0.000001, 0.000001, 0.000000)
store_uav_typed u0.xyzw, r0.xyzw, r2.xyzw
ret
// Approximately 0 instruction slots used
