//Depth of field CS.
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.0.10011.16384
//
//   using 3Dmigoto v1.3.16 on Fri Jan 14 20:38:18 2022
//
//
// Note: shader requires additional functionality:
//       64 UAV slots
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// resourceTables__passData.InputCoC    texture  float4          2d    3        1
// resourceTables__passData.OutCoC        UAV  float4          2d    8        1
//
//
//
// 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_resource_texture2d (float,float,float,float) t3
dcl_uav_typed_texture2d (float,float,float,float) u8
dcl_input vThreadIDInGroupFlattened
dcl_input vThreadGroupID.xy
dcl_temps 50
dcl_tgsm_structured g0, 4, 88
dcl_tgsm_structured g1, 8, 88
dcl_thread_group 64, 1, 1
dcl_resource_texture1d (float,float,float,float) t120
ld_indexable(texture1d)(float,float,float,float) r30.xyzw, l(10, 0, 0, 0), t120.xyzw
ishl r0.xyzw, vThreadGroupID.xyyy, l(0, 6, 6, 6)

//Disabled here.
ieq r31.x, r30.w, l(1.0)
if_nz r31.x
ret
endif

mov r1.x, l(0)
mov r1.yzw, vThreadIDInGroupFlattened.xxxx
iadd r0.xyzw, r0.xyzw, r1.xyzw
iadd r1.xy, r0.xwxx, l(0, -12, 0, 0)
mov r1.zw, l(0,0,0,0)
ld_indexable(texture2d)(float,float,float,float) r1.xyzw, r1.xyzw, t3.xyzw
store_structured g1.xy, vThreadIDInGroupFlattened.x, l(0), r1.xyxx
f32tof16 r1.xy, r1.zwzz
imad r1.x, r1.y, l(0x00010000), r1.x
store_structured g0.x, vThreadIDInGroupFlattened.x, l(0), r1.x
uge r1.x, vThreadIDInGroupFlattened.x, l(40)
if_nz r1.x
  iadd r1.xy, r0.xwxx, l(0, 12, 0, 0)
  iadd r2.x, vThreadIDInGroupFlattened.x, l(24)
  mov r1.zw, l(0,0,0,0)
  ld_indexable(texture2d)(float,float,float,float) r1.xyzw, r1.xyzw, t3.xyzw
  store_structured g1.xy, r2.x, l(0), r1.xyxx
  f32tof16 r1.xy, r1.zwzz
  imad r1.x, r1.y, l(0x00010000), r1.x
  store_structured g0.x, r2.x, l(0), r1.x
endif
sync_g_t
iadd r1.xyzw, vThreadIDInGroupFlattened.xxxx, l(12, 1, 3, 4)
ld_structured r2.x, r1.x, l(0), g0.xxxx
and r2.yzw, r2.xxxx, l(0, 0x00008000, 0xffff7fff, 0x00007fff)
ine r2.y, r2.y, l(0)
f16tof32 r2.w, r2.w
ld_structured r3.xy, r1.x, l(0), g1.xyxx
ld_structured r1.x, vThreadIDInGroupFlattened.x, l(0), g0.xxxx
and r4.xyz, r1.xxxx, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.x, r4.x, l(0)
uge r3.z, r2.z, r4.y
f16tof32 r3.w, r4.z
mul r3.w, r3.w, l(0.00315111014)
max r3.w, r2.w, r3.w
movc r2.w, r3.z, r3.w, r2.w
ld_structured r3.zw, vThreadIDInGroupFlattened.x, l(0), g1.xxxy
max r4.xyzw, r3.yyyy, l(-12.000000, -11.000000, -9.000000, -8.000000)
min r4.xyzw, r4.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
eq r4.xyzw, r4.xyzw, l(-12.000000, -11.000000, -9.000000, -8.000000)
not r5.x, r2.y
and r5.y, r1.x, r5.x
mul r5.z, |r3.y|, l(0.750000)
lt r5.w, |r3.w|, r5.z
and r4.x, r4.x, r5.w
movc r4.x, r4.x, l(2.000000), l(0.0529304929)
movc r4.x, r5.y, r4.x, l(0.0529304929)
not r1.x, r1.x
and r1.x, r1.x, r2.y
mul r5.y, |r3.w|, l(0.750000)
lt r5.y, |r3.y|, r5.y
movc r5.y, r5.y, l(0), r4.x
movc r1.x, r1.x, r5.y, r4.x
mad r3.xz, r1.xxxx, r3.zzwz, r3.xxyx
add r1.x, r1.x, l(1.000000)
ld_structured r3.w, r1.y, l(0), g0.xxxx
and r6.xyz, r3.wwww, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r3.w, r6.x, l(0)
uge r4.x, r2.z, r6.y
f16tof32 r5.y, r6.z
mul r5.y, r5.y, l(0.00790705346)
max r5.y, r2.w, r5.y
movc r2.w, r4.x, r5.y, r2.w
ld_structured r5.yw, r1.y, l(0), g1.xxxy
and r1.y, r3.w, r5.x
lt r4.x, |r5.w|, r5.z
and r4.x, r4.x, r4.y
movc r4.x, r4.x, l(2.000000), l(0.0846366659)
movc r1.y, r1.y, r4.x, l(0.0846366659)
not r3.w, r3.w
and r3.w, r2.y, r3.w
mul r4.x, |r5.w|, l(0.750000)
lt r4.x, |r3.y|, r4.x
movc r4.x, r4.x, l(0), r1.y
movc r1.y, r3.w, r4.x, r1.y
mad r3.xz, r1.yyyy, r5.yywy, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r1.z, l(0), g0.xxxx
and r6.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r6.x, l(0)
uge r3.w, r2.z, r6.y
f16tof32 r4.x, r6.z
mul r4.x, r4.x, l(0.0391638912)
max r4.x, r2.w, r4.x
movc r2.w, r3.w, r4.x, r2.w
ld_structured r4.xy, r1.z, l(0), g1.xyxx
and r1.z, r1.y, r5.x
lt r3.w, |r4.y|, r5.z
and r3.w, r3.w, r4.z
movc r3.w, r3.w, l(2.000000), l(0.191462874)
movc r1.z, r1.z, r3.w, l(0.191462874)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r3.w, |r4.y|, l(0.750000)
lt r3.w, |r3.y|, r3.w
movc r3.w, r3.w, l(0), r1.z
movc r1.y, r1.y, r3.w, r1.z
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r1.w, l(0), g0.xxxx
and r4.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r4.x, l(0)
uge r1.z, r2.z, r4.y
f16tof32 r3.w, r4.z
mul r3.w, r3.w, l(0.0773047432)
max r3.w, r2.w, r3.w
movc r1.z, r1.z, r3.w, r2.w
ld_structured r4.xy, r1.w, l(0), g1.xyxx
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r4.w
movc r2.w, r2.w, l(2.000000), l(0.270868331)
movc r1.w, r1.w, r2.w, l(0.270868331)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
iadd r4.xyzw, vThreadIDInGroupFlattened.xxxx, l(6, 7, 9, 10)
ld_structured r1.y, r4.x, l(0), g0.xxxx
and r6.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r6.x, l(0)
uge r1.w, r2.z, r6.y
f16tof32 r2.w, r6.z
mul r2.w, r2.w, l(0.236927733)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r5.yw, r4.x, l(0), g1.xxxy
max r6.xyzw, r3.yyyy, l(-6.000000, -5.000000, -3.000000, -2.000000)
min r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
eq r6.xyzw, r6.xyzw, l(-6.000000, -5.000000, -3.000000, -2.000000)
and r1.w, r1.y, r5.x
lt r2.w, |r5.w|, r5.z
and r2.w, r2.w, r6.x
movc r2.w, r2.w, l(2.000000), l(0.479652256)
movc r1.w, r1.w, r2.w, l(0.479652256)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r5.w|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r5.yywy, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.y, l(0), g0.xxxx
and r7.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r7.x, l(0)
uge r1.w, r2.z, r7.y
f16tof32 r2.w, r7.z
mul r2.w, r2.w, l(0.367879450)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.y, l(0), g1.xyxx
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.y
movc r2.w, r2.w, l(2.000000), l(0.600373)
movc r1.w, r1.w, r2.w, l(0.600373)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.z, l(0), g0.xxxx
and r7.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r7.x, l(0)
uge r1.w, r2.z, r7.y
f16tof32 r2.w, r7.z
mul r2.w, r2.w, l(0.697676301)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.z, l(0), g1.xyxx
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.z
movc r2.w, r2.w, l(2.000000), l(0.832207501)
movc r1.w, r1.w, r2.w, l(0.832207501)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.w, l(0), g0.xxxx
and r4.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r4.x, l(0)
uge r1.w, r2.z, r4.y
f16tof32 r2.w, r4.z
mul r2.w, r2.w, l(0.852143764)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.w, l(0), g1.xyxx
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.w
movc r2.w, r2.w, l(2.000000), l(0.921610475)
movc r1.w, r1.w, r2.w, l(0.921610475)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
iadd r4.xyzw, vThreadIDInGroupFlattened.xxxx, l(13, 15, 16, 18)
ld_structured r1.y, r4.x, l(0), g0.xxxx
and r6.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r6.x, l(0)
uge r1.w, r2.z, r6.y
f16tof32 r2.w, r6.z
mul r2.w, r2.w, l(0.960789442)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r5.yw, r4.x, l(0), g1.xxxy
mov_sat r1.w, r3.y
eq r1.w, r1.w, l(1.000000)
and r2.w, r1.y, r5.x
lt r3.w, |r5.w|, r5.z
and r1.w, r1.w, r3.w
movc r1.w, r1.w, l(2.000000), l(0.979798675)
movc r1.w, r2.w, r1.w, l(0.979798675)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r5.w|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r5.yywy, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.y, l(0), g0.xxxx
and r6.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r6.x, l(0)
uge r1.w, r2.z, r6.y
f16tof32 r2.w, r6.z
mul r2.w, r2.w, l(0.697676301)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.y, l(0), g1.xyxx
min r6.xyzw, r3.yyyy, l(3.000000, 4.000000, 6.000000, 7.000000)
max r6.xyzw, r6.xyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
eq r6.xyzw, r6.xyzw, l(3.000000, 4.000000, 6.000000, 7.000000)
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.x
movc r2.w, r2.w, l(2.000000), l(0.832207501)
movc r1.w, r1.w, r2.w, l(0.832207501)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.z, l(0), g0.xxxx
and r7.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r7.x, l(0)
uge r1.w, r2.z, r7.y
f16tof32 r2.w, r7.z
mul r2.w, r2.w, l(0.527292430)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.z, l(0), g1.xyxx
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.y
movc r2.w, r2.w, l(2.000000), l(0.721422315)
movc r1.w, r1.w, r2.w, l(0.721422315)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.w, l(0), g0.xxxx
and r4.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r4.x, l(0)
uge r1.w, r2.z, r4.y
f16tof32 r2.w, r4.z
mul r2.w, r2.w, l(0.236927733)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.w, l(0), g1.xyxx
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.z
movc r2.w, r2.w, l(2.000000), l(0.479652256)
movc r1.w, r1.w, r2.w, l(0.479652256)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
iadd r4.xyzw, vThreadIDInGroupFlattened.xxxx, l(19, 21, 22, 24)
ld_structured r1.y, r4.x, l(0), g0.xxxx
and r6.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r6.x, l(0)
uge r1.w, r2.z, r6.y
f16tof32 r2.w, r6.z
mul r2.w, r2.w, l(0.140858427)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r5.yw, r4.x, l(0), g1.xxxy
and r1.w, r1.y, r5.x
lt r2.w, |r5.w|, r5.z
and r2.w, r2.w, r6.w
movc r2.w, r2.w, l(2.000000), l(0.367879450)
movc r1.w, r1.w, r2.w, l(0.367879450)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r5.w|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r5.yywy, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.y, l(0), g0.xxxx
and r6.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r6.x, l(0)
uge r1.w, r2.z, r6.y
f16tof32 r2.w, r6.z
mul r2.w, r2.w, l(0.0391638912)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.y, l(0), g1.xyxx
min r6.xyz, r3.yyyy, l(9.000000, 10.000000, 12.000000, 0.000000)
max r6.xyz, r6.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
eq r6.xyz, r6.xyzx, l(9.000000, 10.000000, 12.000000, 0.000000)
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.x
movc r2.w, r2.w, l(2.000000), l(0.191462874)
movc r1.w, r1.w, r2.w, l(0.191462874)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.z, l(0), g0.xxxx
and r7.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r7.x, l(0)
uge r1.w, r2.z, r7.y
f16tof32 r2.w, r7.z
mul r2.w, r2.w, l(0.0183156393)
max r2.w, r1.z, r2.w
movc r1.z, r1.w, r2.w, r1.z
ld_structured r4.xy, r4.z, l(0), g1.xyxx
and r1.w, r1.y, r5.x
lt r2.w, |r4.y|, r5.z
and r2.w, r2.w, r6.y
movc r2.w, r2.w, l(2.000000), l(0.129922614)
movc r1.w, r1.w, r2.w, l(0.129922614)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.w, |r4.y|, l(0.750000)
lt r2.w, |r3.y|, r2.w
movc r2.w, r2.w, l(0), r1.w
movc r1.y, r1.y, r2.w, r1.w
mad r3.xz, r1.yyyy, r4.xxyx, r3.xxzx
add r1.x, r1.y, r1.x
ld_structured r1.y, r4.w, l(0), g0.xxxx
and r4.xyz, r1.yyyy, l(0x00008000, 0xffff7fff, 0x00007fff, 0)
ine r1.y, r4.x, l(0)
uge r1.w, r2.z, r4.y
f16tof32 r2.z, r4.z
mul r2.z, r2.z, l(0.00315111014)
max r2.z, r1.z, r2.z
movc r7.z, r1.w, r2.z, r1.z
ld_structured r1.zw, r4.w, l(0), g1.xxxy
and r2.z, r1.y, r5.x
lt r2.w, |r1.w|, r5.z
and r2.w, r2.w, r6.z
movc r2.w, r2.w, l(2.000000), l(0.0529304929)
movc r2.z, r2.z, r2.w, l(0.0529304929)
not r1.y, r1.y
and r1.y, r1.y, r2.y
mul r2.y, |r1.w|, l(0.750000)
lt r2.y, |r3.y|, r2.y
movc r2.y, r2.y, l(0), r2.z
movc r1.y, r1.y, r2.y, r2.z
mad r1.zw, r1.yyyy, r1.zzzw, r3.xxxz
add r1.x, r1.y, r1.x
div r1.xy, r1.zwzz, r1.xxxx
lt r1.zw, l(0.000000, 0.000000, 0.000000, 0.000000), r1.xxxy
lt r2.yz, r1.xxyx, l(0.000000, 0.000000, 0.000000, 0.000000)
iadd r1.zw, -r1.zzzw, r2.yyyz
itof r1.zw, r1.zzzw
add r2.y, r7.z, l(-1.000000)
max r2.y, r2.y, l(0.000000)
add r1.xy, |r1.xyxx|, -r2.yyyy
max r1.xy, r1.xyxx, l(0.000000, 0.000000, 0.000000, 0.000000)
mul r7.xy, r1.xyxx, r1.zwzz
ushr r1.x, r2.x, l(16)
f16tof32 r7.w, r1.x
store_uav_typed u8.xyzw, r0.xyzw, r7.xyzw
ret
// Approximately 414 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v1.3.16 on Fri Jan 14 20:38:18 2022
// groupshared struct { float val[2]; } g1[88];
// groupshared struct { float val[1]; } g0[88];
//
// Texture2D<float4> resourceTables__passData.InputCoC : register(t3);
// RWTexture2D<float4> resourceTables__passData.OutCoC : register(u8);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Texture2D<float4> StereoParams : register(t125);
//
//
// void main)
// {
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_uav_typed_texture2d (float,float,float,float) u8
//   float4 r0,r1,r2,r3,r4,r5,r6,r7;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
// // Needs manual fix for instruction:
// // unknown dcl_: dcl_thread_group 64, 1, 1
//   r0.xyzw = (uint4)vThreadGroupID.xyyy << int4(0,6,6,6);
//   r1.x = 0;
//   r1.yzw = vThreadIDInGroupFlattened.xxx;
//   r0.xyzw = (int4)r0.xyzw + (int4)r1.xyzw;
//   r1.xy = (int2)r0.xw + int2(0,-12);
//   r1.zw = float2(0,0);
//   r1.xyzw = resourceTables__passData.InputCoC.Load(r1.xyz).xyzw;
//   g1[vThreadIDInGroupFlattened.x].val[0/4] = r1.x;
//   g1[vThreadIDInGroupFlattened.x].val[0/4+1] = r1.y;
//   r1.xy = f32tof16(r1.zw);
//   r1.x = mad((int)r1.y, 0x00010000, (int)r1.x);
//   g0[vThreadIDInGroupFlattened.x].val[0/4] = r1.x;
//   r1.x = cmp((uint)vThreadIDInGroupFlattened.x >= 40);
//   if (r1.x != 0) {
//     r1.xy = (int2)r0.xw + int2(0,12);
//     r2.x = (int)vThreadIDInGroupFlattened.x + 24;
//     r1.zw = float2(0,0);
//     r1.xyzw = resourceTables__passData.InputCoC.Load(r1.xyz).xyzw;
//     g1[r2.x].val[0/4] = r1.x;
//     g1[r2.x].val[0/4+1] = r1.y;
//     r1.xy = f32tof16(r1.zw);
//     r1.x = mad((int)r1.y, 0x00010000, (int)r1.x);
//     g0[r2.x].val[0/4] = r1.x;
//   }
//   GroupMemoryBarrierWithGroupSync();
//   r1.xyzw = (int4)vThreadIDInGroupFlattened.xxxx + int4(12,1,3,4);
//   r2.x = g0[r1.x].val[0/4];
//   r2.yzw = (int3)r2.xxx & int3(0x8000,0xffff7fff,0x7fff);
//   r2.y = cmp((int)r2.y != 0);
//   r2.w = f16tof32(r2.w);
//   r3.x = g1[r1.x].val[0/4];
//   r3.y = g1[r1.x].val[0/4+1];
//   r1.x = g0[vThreadIDInGroupFlattened.x].val[0/4];
//   r4.xyz = (int3)r1.xxx & int3(0x8000,0xffff7fff,0x7fff);
//   r1.x = cmp((int)r4.x != 0);
//   r3.z = cmp((uint)r2.z >= (uint)r4.y);
//   r3.w = f16tof32(r4.z);
//   r3.w = 0.00315111014 * r3.w;
//   r3.w = max(r3.w, r2.w);
//   r2.w = r3.z ? r3.w : r2.w;
//   r3.z = g1[vThreadIDInGroupFlattened.x].val[0/4];
//   r3.w = g1[vThreadIDInGroupFlattened.x].val[0/4+1];
//   r4.xyzw = max(float4(-12,-11,-9,-8), r3.yyyy);
//   r4.xyzw = min(float4(0,0,0,0), r4.xyzw);
//   r4.xyzw = cmp(r4.xyzw == float4(-12,-11,-9,-8));
//   r5.x = ~(int)r2.y;
//   r5.y = r1.x ? r5.x : 0;
//   r5.z = 0.75 * abs(r3.y);
//   r5.w = cmp(abs(r3.w) < r5.z);
//   r4.x = r4.x ? r5.w : 0;
//   r4.x = r4.x ? 2 : 0.0529304929;
//   r4.x = r5.y ? r4.x : 0.0529304929;
//   r1.x = ~(int)r1.x;
//   r1.x = r1.x ? r2.y : 0;
//   r5.y = 0.75 * abs(r3.w);
//   r5.y = cmp(abs(r3.y) < r5.y);
//   r5.y = r5.y ? 0 : r4.x;
//   r1.x = r1.x ? r5.y : r4.x;
//   r3.xz = r1.xx * r3.zw + r3.xy;
//   r1.x = 1 + r1.x;
//   r3.w = g0[r1.y].val[0/4];
//   r6.xyz = (int3)r3.www & int3(0x8000,0xffff7fff,0x7fff);
//   r3.w = cmp((int)r6.x != 0);
//   r4.x = cmp((uint)r2.z >= (uint)r6.y);
//   r5.y = f16tof32(r6.z);
//   r5.y = 0.00790705346 * r5.y;
//   r5.y = max(r5.y, r2.w);
//   r2.w = r4.x ? r5.y : r2.w;
//   r5.y = g1[r1.y].val[0/4];
//   r5.w = g1[r1.y].val[0/4+1];
//   r1.y = r3.w ? r5.x : 0;
//   r4.x = cmp(abs(r5.w) < r5.z);
//   r4.x = r4.x ? r4.y : 0;
//   r4.x = r4.x ? 2 : 0.0846366659;
//   r1.y = r1.y ? r4.x : 0.0846366659;
//   r3.w = ~(int)r3.w;
//   r3.w = r2.y ? r3.w : 0;
//   r4.x = 0.75 * abs(r5.w);
//   r4.x = cmp(abs(r3.y) < r4.x);
//   r4.x = r4.x ? 0 : r1.y;
//   r1.y = r3.w ? r4.x : r1.y;
//   r3.xz = r1.yy * r5.yw + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r1.z].val[0/4];
//   r6.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r6.x != 0);
//   r3.w = cmp((uint)r2.z >= (uint)r6.y);
//   r4.x = f16tof32(r6.z);
//   r4.x = 0.0391638912 * r4.x;
//   r4.x = max(r4.x, r2.w);
//   r2.w = r3.w ? r4.x : r2.w;
//   r4.x = g1[r1.z].val[0/4];
//   r4.y = g1[r1.z].val[0/4+1];
//   r1.z = r1.y ? r5.x : 0;
//   r3.w = cmp(abs(r4.y) < r5.z);
//   r3.w = r3.w ? r4.z : 0;
//   r3.w = r3.w ? 2 : 0.191462874;
//   r1.z = r1.z ? r3.w : 0.191462874;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r3.w = 0.75 * abs(r4.y);
//   r3.w = cmp(abs(r3.y) < r3.w);
//   r3.w = r3.w ? 0 : r1.z;
//   r1.y = r1.y ? r3.w : r1.z;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r1.w].val[0/4];
//   r4.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r4.x != 0);
//   r1.z = cmp((uint)r2.z >= (uint)r4.y);
//   r3.w = f16tof32(r4.z);
//   r3.w = 0.0773047432 * r3.w;
//   r3.w = max(r3.w, r2.w);
//   r1.z = r1.z ? r3.w : r2.w;
//   r4.x = g1[r1.w].val[0/4];
//   r4.y = g1[r1.w].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r4.w : 0;
//   r2.w = r2.w ? 2 : 0.270868331;
//   r1.w = r1.w ? r2.w : 0.270868331;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r4.xyzw = (int4)vThreadIDInGroupFlattened.xxxx + int4(6,7,9,10);
//   r1.y = g0[r4.x].val[0/4];
//   r6.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r6.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r6.y);
//   r2.w = f16tof32(r6.z);
//   r2.w = 0.236927733 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r5.y = g1[r4.x].val[0/4];
//   r5.w = g1[r4.x].val[0/4+1];
//   r6.xyzw = max(float4(-6,-5,-3,-2), r3.yyyy);
//   r6.xyzw = min(float4(0,0,0,0), r6.xyzw);
//   r6.xyzw = cmp(r6.xyzw == float4(-6,-5,-3,-2));
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r5.w) < r5.z);
//   r2.w = r2.w ? r6.x : 0;
//   r2.w = r2.w ? 2 : 0.479652256;
//   r1.w = r1.w ? r2.w : 0.479652256;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r5.w);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r5.yw + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.y].val[0/4];
//   r7.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r7.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r7.y);
//   r2.w = f16tof32(r7.z);
//   r2.w = 0.36787945 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.y].val[0/4];
//   r4.y = g1[r4.y].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.y : 0;
//   r2.w = r2.w ? 2 : 0.60037303;
//   r1.w = r1.w ? r2.w : 0.60037303;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.z].val[0/4];
//   r7.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r7.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r7.y);
//   r2.w = f16tof32(r7.z);
//   r2.w = 0.697676301 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.z].val[0/4];
//   r4.y = g1[r4.z].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.z : 0;
//   r2.w = r2.w ? 2 : 0.832207501;
//   r1.w = r1.w ? r2.w : 0.832207501;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.w].val[0/4];
//   r4.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r4.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r4.y);
//   r2.w = f16tof32(r4.z);
//   r2.w = 0.852143764 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.w].val[0/4];
//   r4.y = g1[r4.w].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.w : 0;
//   r2.w = r2.w ? 2 : 0.921610475;
//   r1.w = r1.w ? r2.w : 0.921610475;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r4.xyzw = (int4)vThreadIDInGroupFlattened.xxxx + int4(13,15,16,18);
//   r1.y = g0[r4.x].val[0/4];
//   r6.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r6.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r6.y);
//   r2.w = f16tof32(r6.z);
//   r2.w = 0.960789442 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r5.y = g1[r4.x].val[0/4];
//   r5.w = g1[r4.x].val[0/4+1];
//   r1.w = saturate(r3.y);
//   r1.w = cmp(r1.w == 1.000000);
//   r2.w = r1.y ? r5.x : 0;
//   r3.w = cmp(abs(r5.w) < r5.z);
//   r1.w = r1.w ? r3.w : 0;
//   r1.w = r1.w ? 2 : 0.979798675;
//   r1.w = r2.w ? r1.w : 0.979798675;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r5.w);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r5.yw + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.y].val[0/4];
//   r6.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r6.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r6.y);
//   r2.w = f16tof32(r6.z);
//   r2.w = 0.697676301 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.y].val[0/4];
//   r4.y = g1[r4.y].val[0/4+1];
//   r6.xyzw = min(float4(3,4,6,7), r3.yyyy);
//   r6.xyzw = max(float4(0,0,0,0), r6.xyzw);
//   r6.xyzw = cmp(r6.xyzw == float4(3,4,6,7));
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.x : 0;
//   r2.w = r2.w ? 2 : 0.832207501;
//   r1.w = r1.w ? r2.w : 0.832207501;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.z].val[0/4];
//   r7.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r7.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r7.y);
//   r2.w = f16tof32(r7.z);
//   r2.w = 0.52729243 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.z].val[0/4];
//   r4.y = g1[r4.z].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.y : 0;
//   r2.w = r2.w ? 2 : 0.721422315;
//   r1.w = r1.w ? r2.w : 0.721422315;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.w].val[0/4];
//   r4.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r4.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r4.y);
//   r2.w = f16tof32(r4.z);
//   r2.w = 0.236927733 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.w].val[0/4];
//   r4.y = g1[r4.w].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.z : 0;
//   r2.w = r2.w ? 2 : 0.479652256;
//   r1.w = r1.w ? r2.w : 0.479652256;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r4.xyzw = (int4)vThreadIDInGroupFlattened.xxxx + int4(19,21,22,24);
//   r1.y = g0[r4.x].val[0/4];
//   r6.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r6.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r6.y);
//   r2.w = f16tof32(r6.z);
//   r2.w = 0.140858427 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r5.y = g1[r4.x].val[0/4];
//   r5.w = g1[r4.x].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r5.w) < r5.z);
//   r2.w = r2.w ? r6.w : 0;
//   r2.w = r2.w ? 2 : 0.36787945;
//   r1.w = r1.w ? r2.w : 0.36787945;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r5.w);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r5.yw + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.y].val[0/4];
//   r6.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r6.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r6.y);
//   r2.w = f16tof32(r6.z);
//   r2.w = 0.0391638912 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.y].val[0/4];
//   r4.y = g1[r4.y].val[0/4+1];
//   r6.xyz = min(float3(9,10,12), r3.yyy);
//   r6.xyz = max(float3(0,0,0), r6.xyz);
//   r6.xyz = cmp(r6.xyz == float3(9,10,12));
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.x : 0;
//   r2.w = r2.w ? 2 : 0.191462874;
//   r1.w = r1.w ? r2.w : 0.191462874;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.z].val[0/4];
//   r7.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r7.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r7.y);
//   r2.w = f16tof32(r7.z);
//   r2.w = 0.0183156393 * r2.w;
//   r2.w = max(r2.w, r1.z);
//   r1.z = r1.w ? r2.w : r1.z;
//   r4.x = g1[r4.z].val[0/4];
//   r4.y = g1[r4.z].val[0/4+1];
//   r1.w = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r4.y) < r5.z);
//   r2.w = r2.w ? r6.y : 0;
//   r2.w = r2.w ? 2 : 0.129922614;
//   r1.w = r1.w ? r2.w : 0.129922614;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.w = 0.75 * abs(r4.y);
//   r2.w = cmp(abs(r3.y) < r2.w);
//   r2.w = r2.w ? 0 : r1.w;
//   r1.y = r1.y ? r2.w : r1.w;
//   r3.xz = r1.yy * r4.xy + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.y = g0[r4.w].val[0/4];
//   r4.xyz = (int3)r1.yyy & int3(0x8000,0xffff7fff,0x7fff);
//   r1.y = cmp((int)r4.x != 0);
//   r1.w = cmp((uint)r2.z >= (uint)r4.y);
//   r2.z = f16tof32(r4.z);
//   r2.z = 0.00315111014 * r2.z;
//   r2.z = max(r2.z, r1.z);
//   r7.z = r1.w ? r2.z : r1.z;
//   r1.z = g1[r4.w].val[0/4];
//   r1.w = g1[r4.w].val[0/4+1];
//   r2.z = r1.y ? r5.x : 0;
//   r2.w = cmp(abs(r1.w) < r5.z);
//   r2.w = r2.w ? r6.z : 0;
//   r2.w = r2.w ? 2 : 0.0529304929;
//   r2.z = r2.z ? r2.w : 0.0529304929;
//   r1.y = ~(int)r1.y;
//   r1.y = r1.y ? r2.y : 0;
//   r2.y = 0.75 * abs(r1.w);
//   r2.y = cmp(abs(r3.y) < r2.y);
//   r2.y = r2.y ? 0 : r2.z;
//   r1.y = r1.y ? r2.y : r2.z;
//   r1.zw = r1.yy * r1.zw + r3.xz;
//   r1.x = r1.x + r1.y;
//   r1.xy = r1.zw / r1.xx;
//   r1.zw = cmp(float2(0,0) < r1.xy);
//   r2.yz = cmp(r1.xy < float2(0,0));
//   r1.zw = (int2)-r1.zw + (int2)r2.yz;
//   r1.zw = (int2)r1.zw;
//   r2.y = -1 + r7.z;
//   r2.y = max(0, r2.y);
//   r1.xy = -r2.yy + abs(r1.xy);
//   r1.xy = max(float2(0,0), r1.xy);
//   r7.xy = r1.zw * r1.xy;
//   r1.x = (uint)r2.x >> 16;
//   r7.w = f16tof32(r1.x);
// // No code for instruction (needs manual fix):
// store_uav_typed u8.xyzw, r0.xyzw, r7.xyzw
//   return;
// }
//////////////////////////////// HLSL Errors ////////////////////////////////
// F:\SteamLibrary\steamapps\common\GodOfWar\ShaderFixes\7e288183c589a690-cs_replace.txt(5,43): error X3000: syntax error: unexpected token '.'
/////////////////////////////////////////////////////////////////////////////
