// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.181 on Sat Oct 28 10:32:25 2023
//
//
// Buffer Definitions:
//
// cbuffer cb12
// {
//
//   float4 cb12[272];                  // Index:    0-271            Components:  1088
//
// }
//
// cbuffer cb3
// {
//
//   float4 cb3;                        // Index:    0.xyzw           Components:     4
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s1_s                              sampler      NA          NA    1        1
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// t2                                texture   uint4          2d    2        1
// StereoParams                      texture  float4          2d  125        1
// cb3                               cbuffer      NA          NA    3        1
// cb12                              cbuffer      NA          NA   12        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Position              0   xyzw        0      POS   float   xy
//
//
// Output signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target                0   xyzw        0   TARGET   float   xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer CB12[272], immediateIndexed
dcl_constantbuffer CB3[1], 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 (uint,uint,uint,uint) t2
dcl_resource_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 18
mul r0.xy, v0.xyxx, cb12[73].zwzz
mul r0.xy, r0.xyxx, cb12[271].xxxx
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r0.xyxx, t1.yzxw, s1, l(0.000000)
mad r0.z, r0.z, cb12[22].x, cb12[22].y
mad r0.z, r0.z, cb12[21].x, cb12[21].y
rcp r0.z, r0.z
max r0.z, r0.z, l(-340282346638528859811704183484516925440.000000)
min r0.z, r0.z, l(340282346638528859811704183484516925440.000000)
ld_indexable(buffer)(float,float,float,float) r1.xy, l(0, 0, 0, 0), t125.xyzw
div r0.w, r1.y, r0.z
add r0.z, r0.z, l(-10.000000)
mul_sat r0.z, r0.z, l(0.0666666701)
add r0.w, -r0.w, l(1.000000)
mul r0.w, r0.w, r1.x
mul r1.xy, v0.xyxx, cb12[23].zwzz
mad r2.y, -r0.w, l(0.500000), r1.x
mul r0.w, r1.y, cb12[23].y
div r2.x, r0.w, cb12[23].x
mul r1.xy, r2.xyxx, cb12[271].xxxx
mul r1.zw, r1.xxxy, l(0.000000, 0.000000, 50.000000, 50.000000)
round_ni r2.xy, r1.zwzz
add r3.xyzw, r2.yxyx, l(0.000000, 2.000000, 2.000000, -1.000000)
dp2 r0.w, r3.xyxx, l(25.979601, 156.466003, 0.000000, 0.000000)
dp2 r1.z, r3.zwzz, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r3.y, null, r1.z
sincos r0.w, null, r0.w
mul r0.w, r0.w, l(43758.546875)
frc r0.w, r0.w
dp2 r1.z, r2.yxyy, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r1.z, null, r1.z
mul r1.z, r1.z, l(43758.546875)
frc r1.z, r1.z
add r4.x, r0.w, r1.z
add r2.zw, r2.yyyx, l(0.000000, 0.000000, -1.000000, -1.000000)
dp2 r1.w, r2.zwzz, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r1.w, null, r1.w
mul r1.w, r1.w, l(43758.546875)
frc r4.z, r1.w
add r5.xyzw, r2.yxyx, l(-1.000000, 1.000000, 1.000000, 1.000000)
dp2 r1.w, r5.zwzz, l(25.979601, 156.466003, 0.000000, 0.000000)
dp2 r2.z, r5.xyxx, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r2.z, null, r2.z
mul r2.z, r2.z, l(43758.546875)
sincos r1.w, null, r1.w
mul r1.w, r1.w, l(43758.546875)
frc r1.w, r1.w
add r3.zw, r4.xxxz, r1.wwww
add r4.xy, r2.ywyy, l(1.000000, 0.000000, 0.000000, 0.000000)
dp2 r2.w, r2.ywyy, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r2.w, null, r2.w
mul r2.w, r2.w, l(43758.546875)
frc r2.zw, r2.zzzw
dp2 r4.x, r4.xyxx, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r4.x, null, r4.x
mul r4.x, r4.x, l(43758.546875)
frc r4.x, r4.x
add r3.w, r3.w, r4.x
add r3.z, r2.z, r3.z
add r2.z, r2.z, r3.w
add r3.w, r1.w, r4.x
add r4.xyzw, r2.yxyx, l(2.000000, 1.000000, 0.000000, 1.000000)
dp2 r4.z, r4.zwzz, l(25.979601, 156.466003, 0.000000, 0.000000)
dp2 r4.x, r4.xyxx, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r4.xy, null, r4.xzxx
mul r4.xy, r4.xyxx, l(43758.546875, 43758.546875, 0.000000, 0.000000)
frc r4.xy, r4.xyxx
add r4.z, r2.w, r4.y
add r2.w, r2.w, r4.x
add r5.xyzw, r2.yxyx, l(-1.000000, 0.000000, 1.000000, 0.000000)
dp2 r4.w, r5.zwzz, l(25.979601, 156.466003, 0.000000, 0.000000)
dp2 r5.x, r5.xyxx, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r5.x, null, r5.x
mul r5.x, r5.x, l(43758.546875)
frc r5.y, r5.x
sincos r4.w, null, r4.w
mul r4.w, r4.w, l(43758.546875)
frc r5.x, r4.w
add r4.z, r4.z, r5.x
add r4.z, r5.y, r4.z
mul r4.z, r4.z, l(0.125000)
mad r2.z, r2.z, l(0.062500), r4.z
mad r2.z, r1.z, l(0.250000), r2.z
add r6.xyzw, r2.yxyx, l(2.000000, 2.000000, 2.000000, 0.000000)
dp2 r4.z, r6.zwzz, l(25.979601, 156.466003, 0.000000, 0.000000)
dp2 r4.w, r6.xyxx, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r4.w, null, r4.w
mul r4.w, r4.w, l(43758.546875)
frc r4.w, r4.w
add r4.w, r1.z, r4.w
sincos r3.x, null, r4.z
mul r3.xyz, r3.xyzx, l(43758.546875, 43758.546875, 0.125000, 0.000000)
frc r3.xy, r3.xyxx
add r3.w, r3.x, r3.w
add r1.z, r1.z, r3.w
mul r1.z, r1.z, l(0.125000)
add r2.w, r2.w, r3.y
add r3.x, r4.w, r3.x
add r0.w, r0.w, r3.x
add r2.w, r4.y, r2.w
mad r1.z, r2.w, l(0.062500), r1.z
mad r1.z, r5.x, l(0.250000), r1.z
add r1.z, -r2.z, r1.z
mad r1.xy, r1.xyxx, l(50.000000, 50.000000, 0.000000, 0.000000), -r2.xyxx
add r2.xyw, r2.yxyy, l(1.000000, 2.000000, 0.000000, -1.000000)
mad r1.z, r1.y, r1.z, r2.z
dp2 r2.x, r2.xyxx, l(25.979601, 156.466003, 0.000000, 0.000000)
dp2 r2.y, r2.wyww, l(25.979601, 156.466003, 0.000000, 0.000000)
sincos r2.xy, null, r2.xyxx
mul r2.xy, r2.xyxx, l(43758.546875, 43758.546875, 0.000000, 0.000000)
frc r2.xy, r2.xyxx
add r2.xz, r2.xxxx, r5.xxyx
add r2.z, r5.x, r2.z
add r2.x, r4.x, r2.x
add r2.x, r4.y, r2.x
mul r2.x, r2.x, l(0.125000)
mad r0.w, r0.w, l(0.062500), r2.x
mad r0.w, r1.w, l(0.250000), r0.w
add r1.w, r2.y, r2.z
mad r1.w, r1.w, l(0.062500), r3.z
mad r1.w, r4.y, l(0.250000), r1.w
add r0.w, r0.w, -r1.w
mad r0.w, r1.y, r0.w, r1.w
add r0.w, -r1.z, r0.w
mad_sat r0.w, r1.x, r0.w, r1.z
mul r0.w, r0.w, l(6.28318548)
sincos r1.x, r2.x, r0.w
mov r1.y, r2.x
mul r1.zw, r0.xxxy, cb12[73].xxxy
sample_l_indexable(texture2d)(float,float,float,float) r0.xyw, r0.xyxx, t0.xywz, s1, l(0.000000)
ftou r1.zw, r1.zzzw
utof r1.zw, r1.zzzw
ftoi r2.xy, r1.zwzz
mov r2.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r1.z, r2.xyzw, t2.xzyw
utof r1.z, r1.z
ftoi r1.z, r1.z
and r1.z, r1.z, l(2)
itof r1.z, r1.z
ne r1.z, l(0.000000, 0.000000, 0.000000, 0.000000), r1.z
and r0.z, r0.z, r1.z
movc r1.z, r1.z, l(0), l(1.000000)
add r0.z, r0.z, r1.z
mul r1.xy, r0.zzzz, r1.xyxx
mul r1.xy, r1.xyxx, cb12[271].xxxx
mul r1.xy, r1.xyxx, cb12[73].zwzz
mul r1.zw, v0.xxxy, cb12[271].xxxx
mul r2.xy, r1.zwzz, cb12[73].zwzz
mad r3.xyzw, r1.xyxy, l(-4.000000, -4.000000, -5.000000, -5.000000), r2.xyxy
mul r4.xyzw, cb12[73].zwzw, l(0.500000, 0.500000, 0.500000, 0.500000)
max r3.xyzw, r3.xyzw, r4.xyzw
add r2.zw, cb12[23].xxxy, l(0.000000, 0.000000, -0.500000, -0.500000)
mul r2.zw, r2.zzzw, cb12[73].zzzw
min r3.xyzw, r2.zwzw, r3.xyzw
sample_l_indexable(texture2d)(float,float,float,float) r0.z, r3.xyxx, t1.yzxw, s1, l(0.000000)
mad r0.z, r0.z, cb12[22].x, cb12[22].y
mad r0.z, r0.z, cb12[21].x, cb12[21].y
rcp r0.z, r0.z
max r0.z, r0.z, l(-340282346638528859811704183484516925440.000000)
min r0.z, r0.z, l(340282346638528859811704183484516925440.000000)
add r0.z, r0.z, l(-10.000000)
mul_sat r0.z, r0.z, l(0.0666666701)
mul r5.xyzw, r3.xyzw, cb12[73].xyxy
ftou r5.xyzw, r5.xyzw
utof r5.xyzw, r5.xyzw
ftoi r6.xy, r5.xyxx
ftoi r5.xy, r5.zwzz
mov r6.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r6.x, r6.xyzw, t2.yxzw
utof r6.x, r6.x
ftoi r6.x, r6.x
and r6.x, r6.x, l(2)
itof r6.x, r6.x
ne r6.x, l(0.000000, 0.000000, 0.000000, 0.000000), r6.x
and r0.z, r0.z, r6.x
movc r6.x, r6.x, l(0), l(1.000000)
add r0.z, r0.z, r6.x
sample_l_indexable(texture2d)(float,float,float,float) r6.xyz, r3.xyxx, t0.xyzw, s1, l(0.000000)
add r7.xyz, -r6.xyzx, l(1.000000, 1.000000, 1.000000, 0.000000)
mul r7.xyz, r0.zzzz, r7.xyzx
sample_l_indexable(texture2d)(float,float,float,float) r3.x, r3.zwzz, t1.xyzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r8.xyz, r3.zwzz, t0.xyzw, s1, l(0.000000)
mad r3.x, r3.x, cb12[22].x, cb12[22].y
mad r3.x, r3.x, cb12[21].x, cb12[21].y
rcp r3.x, r3.x
max r3.x, r3.x, l(-340282346638528859811704183484516925440.000000)
min r3.x, r3.x, l(340282346638528859811704183484516925440.000000)
add r3.x, r3.x, l(-10.000000)
mul_sat r3.x, r3.x, l(0.0666666701)
mov r5.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r3.y, r5.xyzw, t2.xyzw
utof r3.y, r3.y
ftoi r3.y, r3.y
and r3.y, r3.y, l(2)
itof r3.y, r3.y
ne r3.y, l(0.000000, 0.000000, 0.000000, 0.000000), r3.y
and r3.x, r3.x, r3.y
movc r3.y, r3.y, l(0), l(1.000000)
add r3.x, r3.x, r3.y
add r3.yzw, -r8.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r3.yzw, r3.xxxx, r3.yyzw
max r3.yzw, r3.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
max r3.yzw, r7.xxyz, r3.yyzw
mad r5.xyzw, r1.xyxy, l(-2.000000, -2.000000, -3.000000, -3.000000), r2.xyxy
max r5.xyzw, r4.xyzw, r5.xyzw
min r5.xyzw, r2.zwzw, r5.xyzw
sample_l_indexable(texture2d)(float,float,float,float) r7.x, r5.zwzz, t1.xyzw, s1, l(0.000000)
mad r7.x, r7.x, cb12[22].x, cb12[22].y
mad r7.x, r7.x, cb12[21].x, cb12[21].y
rcp r7.x, r7.x
max r7.x, r7.x, l(-340282346638528859811704183484516925440.000000)
min r7.x, r7.x, l(340282346638528859811704183484516925440.000000)
add r7.x, r7.x, l(-10.000000)
mul_sat r7.x, r7.x, l(0.0666666701)
mul r9.xyzw, r5.xyzw, cb12[73].xyxy
ftou r9.xyzw, r9.xyzw
utof r9.xyzw, r9.xyzw
ftoi r10.xy, r9.zwzz
ftoi r9.xy, r9.xyxx
mov r10.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r7.y, r10.xyzw, t2.xyzw
utof r7.y, r7.y
ftoi r7.y, r7.y
and r7.y, r7.y, l(2)
itof r7.y, r7.y
ne r7.y, l(0.000000, 0.000000, 0.000000, 0.000000), r7.y
and r7.x, r7.x, r7.y
movc r7.y, r7.y, l(0), l(1.000000)
add r7.x, r7.x, r7.y
sample_l_indexable(texture2d)(float,float,float,float) r10.xyz, r5.zwzz, t0.xyzw, s1, l(0.000000)
add r7.yzw, -r10.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r7.yzw, r7.xxxx, r7.yyzw
max r3.yzw, r3.yyzw, r7.yyzw
sample_l_indexable(texture2d)(float,float,float,float) r5.z, r5.xyxx, t1.yzxw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r11.xyz, r5.xyxx, t0.xyzw, s1, l(0.000000)
mad r5.x, r5.z, cb12[22].x, cb12[22].y
mad r5.x, r5.x, cb12[21].x, cb12[21].y
rcp r5.x, r5.x
max r5.x, r5.x, l(-340282346638528859811704183484516925440.000000)
min r5.x, r5.x, l(340282346638528859811704183484516925440.000000)
add r5.x, r5.x, l(-10.000000)
mul_sat r5.x, r5.x, l(0.0666666701)
mov r9.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r5.y, r9.xyzw, t2.xyzw
utof r5.y, r5.y
ftoi r5.y, r5.y
and r5.y, r5.y, l(2)
itof r5.y, r5.y
ne r5.y, l(0.000000, 0.000000, 0.000000, 0.000000), r5.y
and r5.x, r5.x, r5.y
movc r5.y, r5.y, l(0), l(1.000000)
add r5.x, r5.x, r5.y
add r5.yzw, -r11.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r5.yzw, r5.xxxx, r5.yyzw
max r3.yzw, r3.yyzw, r5.yyzw
mad r5.yz, r1.zzwz, cb12[73].zzwz, -r1.xxyx
mad r1.zw, r1.zzzw, cb12[73].zzzw, r1.xxxy
max r1.zw, r4.xxxy, r1.zzzw
min r1.zw, r2.zzzw, r1.zzzw
max r5.yz, r4.xxyx, r5.yyzy
min r5.yz, r2.zzwz, r5.yyzy
sample_l_indexable(texture2d)(float,float,float,float) r5.w, r5.yzyy, t1.yzwx, s1, l(0.000000)
mad r5.w, r5.w, cb12[22].x, cb12[22].y
mad r5.w, r5.w, cb12[21].x, cb12[21].y
rcp r5.w, r5.w
max r5.w, r5.w, l(-340282346638528859811704183484516925440.000000)
min r5.w, r5.w, l(340282346638528859811704183484516925440.000000)
add r5.w, r5.w, l(-10.000000)
mul_sat r5.w, r5.w, l(0.0666666701)
mul r7.yz, r5.yyzy, cb12[73].xxyx
sample_l_indexable(texture2d)(float,float,float,float) r9.xyz, r5.yzyy, t0.xyzw, s1, l(0.000000)
ftou r5.yz, r7.yyzy
utof r5.yz, r5.yyzy
ftoi r12.xy, r5.yzyy
mov r12.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r5.y, r12.xyzw, t2.xyzw
utof r5.y, r5.y
ftoi r5.y, r5.y
and r5.y, r5.y, l(2)
itof r5.y, r5.y
ne r5.y, l(0.000000, 0.000000, 0.000000, 0.000000), r5.y
and r5.z, r5.w, r5.y
movc r5.y, r5.y, l(0), l(1.000000)
add r5.y, r5.z, r5.y
add r7.yzw, -r9.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r7.yzw, r5.yyyy, r7.yyzw
max r3.yzw, r3.yyzw, r7.yyzw
max r5.zw, r2.xxxy, r4.zzzw
min r5.zw, r2.zzzw, r5.zzzw
sample_l_indexable(texture2d)(float,float,float,float) r12.xyz, r5.zwzz, t0.xyzw, s1, l(0.000000)
add r7.yzw, -r12.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
max r3.yzw, r3.yyzw, r7.yyzw
sample_l_indexable(texture2d)(float,float,float,float) r5.z, r1.zwzz, t1.yzxw, s1, l(0.000000)
mad r5.z, r5.z, cb12[22].x, cb12[22].y
mad r5.z, r5.z, cb12[21].x, cb12[21].y
rcp r5.z, r5.z
max r5.z, r5.z, l(-340282346638528859811704183484516925440.000000)
min r5.z, r5.z, l(340282346638528859811704183484516925440.000000)
add r5.z, r5.z, l(-10.000000)
mul_sat r5.z, r5.z, l(0.0666666701)
mul r7.yz, r1.zzwz, cb12[73].xxyx
sample_l_indexable(texture2d)(float,float,float,float) r13.xyz, r1.zwzz, t0.xyzw, s1, l(0.000000)
ftou r1.zw, r7.yyyz
utof r1.zw, r1.zzzw
ftoi r14.xy, r1.zwzz
mov r14.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r1.z, r14.xyzw, t2.xzyw
utof r1.z, r1.z
ftoi r1.z, r1.z
and r1.z, r1.z, l(2)
itof r1.z, r1.z
ne r1.z, l(0.000000, 0.000000, 0.000000, 0.000000), r1.z
and r1.w, r5.z, r1.z
movc r1.z, r1.z, l(0), l(1.000000)
add r1.z, r1.w, r1.z
add r7.yzw, -r13.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r7.yzw, r1.zzzz, r7.yyzw
max r3.yzw, r3.yyzw, r7.yyzw
mad r5.zw, r1.xxxy, l(0.000000, 0.000000, 2.000000, 2.000000), r2.xxxy
max r5.zw, r4.xxxy, r5.zzzw
min r5.zw, r2.zzzw, r5.zzzw
sample_l_indexable(texture2d)(float,float,float,float) r1.w, r5.zwzz, t1.yzwx, s1, l(0.000000)
mad r1.w, r1.w, cb12[22].x, cb12[22].y
mad r1.w, r1.w, cb12[21].x, cb12[21].y
rcp r1.w, r1.w
max r1.w, r1.w, l(-340282346638528859811704183484516925440.000000)
min r1.w, r1.w, l(340282346638528859811704183484516925440.000000)
add r1.w, r1.w, l(-10.000000)
mul_sat r1.w, r1.w, l(0.0666666701)
mul r7.yz, r5.zzwz, cb12[73].xxyx
sample_l_indexable(texture2d)(float,float,float,float) r14.xyz, r5.zwzz, t0.xyzw, s1, l(0.000000)
ftou r5.zw, r7.yyyz
utof r5.zw, r5.zzzw
ftoi r15.xy, r5.zwzz
mov r15.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r5.z, r15.xyzw, t2.xzyw
utof r5.z, r5.z
ftoi r5.z, r5.z
and r5.z, r5.z, l(2)
itof r5.z, r5.z
ne r5.z, l(0.000000, 0.000000, 0.000000, 0.000000), r5.z
and r1.w, r1.w, r5.z
movc r5.z, r5.z, l(0), l(1.000000)
add r1.w, r1.w, r5.z
add r7.yzw, -r14.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r7.yzw, r1.wwww, r7.yyzw
max r3.yzw, r3.yyzw, r7.yyzw
mad r15.xyzw, r1.xyxy, l(4.000000, 4.000000, 3.000000, 3.000000), r2.xyxy
mad r1.xy, r1.xyxx, l(5.000000, 5.000000, 0.000000, 0.000000), r2.xyxx
max r1.xy, r4.xyxx, r1.xyxx
max r4.xyzw, r4.xyzw, r15.xyzw
min r4.xyzw, r2.zwzw, r4.xyzw
min r1.xy, r2.zwzz, r1.xyxx
sample_l_indexable(texture2d)(float,float,float,float) r2.x, r4.zwzz, t1.xyzw, s1, l(0.000000)
mad r2.x, r2.x, cb12[22].x, cb12[22].y
mad r2.x, r2.x, cb12[21].x, cb12[21].y
rcp r2.x, r2.x
max r2.x, r2.x, l(-340282346638528859811704183484516925440.000000)
min r2.x, r2.x, l(340282346638528859811704183484516925440.000000)
add r2.x, r2.x, l(-10.000000)
mul_sat r2.x, r2.x, l(0.0666666701)
mul r15.xyzw, r4.xyzw, cb12[73].xyxy
ftou r15.xyzw, r15.xyzw
utof r15.xyzw, r15.xyzw
ftoi r16.xy, r15.zwzz
ftoi r15.xy, r15.xyxx
mov r16.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r2.y, r16.xyzw, t2.xyzw
utof r2.y, r2.y
ftoi r2.y, r2.y
and r2.y, r2.y, l(2)
itof r2.y, r2.y
ne r2.y, l(0.000000, 0.000000, 0.000000, 0.000000), r2.y
and r2.x, r2.x, r2.y
movc r2.y, r2.y, l(0), l(1.000000)
add r2.x, r2.x, r2.y
sample_l_indexable(texture2d)(float,float,float,float) r16.xyz, r4.zwzz, t0.xyzw, s1, l(0.000000)
add r2.yzw, -r16.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r2.yzw, r2.xxxx, r2.yyzw
max r2.yzw, r3.yyzw, r2.yyzw
sample_l_indexable(texture2d)(float,float,float,float) r3.y, r4.xyxx, t1.yxzw, s1, l(0.000000)
sample_l_indexable(texture2d)(float,float,float,float) r4.xyz, r4.xyxx, t0.xyzw, s1, l(0.000000)
mad r3.y, r3.y, cb12[22].x, cb12[22].y
mad r3.y, r3.y, cb12[21].x, cb12[21].y
rcp r3.y, r3.y
max r3.y, r3.y, l(-340282346638528859811704183484516925440.000000)
min r3.y, r3.y, l(340282346638528859811704183484516925440.000000)
add r3.y, r3.y, l(-10.000000)
mul_sat r3.y, r3.y, l(0.0666666701)
mov r15.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r3.z, r15.xyzw, t2.xzyw
utof r3.z, r3.z
ftoi r3.z, r3.z
and r3.z, r3.z, l(2)
itof r3.z, r3.z
ne r3.z, l(0.000000, 0.000000, 0.000000, 0.000000), r3.z
and r3.y, r3.y, r3.z
movc r3.z, r3.z, l(0), l(1.000000)
add r3.y, r3.y, r3.z
add r7.yzw, -r4.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r7.yzw, r3.yyyy, r7.yyzw
max r2.yzw, r2.yyzw, r7.yyzw
sample_l_indexable(texture2d)(float,float,float,float) r3.z, r1.xyxx, t1.yzxw, s1, l(0.000000)
mad r3.z, r3.z, cb12[22].x, cb12[22].y
mad r3.z, r3.z, cb12[21].x, cb12[21].y
rcp r3.z, r3.z
max r3.z, r3.z, l(-340282346638528859811704183484516925440.000000)
min r3.z, r3.z, l(340282346638528859811704183484516925440.000000)
add r3.z, r3.z, l(-10.000000)
mul_sat r3.z, r3.z, l(0.0666666701)
mul r5.zw, r1.xxxy, cb12[73].xxxy
sample_l_indexable(texture2d)(float,float,float,float) r15.xyz, r1.xyxx, t0.xyzw, s1, l(0.000000)
ftou r1.xy, r5.zwzz
utof r1.xy, r1.xyxx
ftoi r17.xy, r1.xyxx
mov r17.zw, l(0,0,0,0)
ld_indexable(texture2d)(uint,uint,uint,uint) r1.x, r17.xyzw, t2.yxzw
utof r1.x, r1.x
ftoi r1.x, r1.x
and r1.x, r1.x, l(2)
itof r1.x, r1.x
ne r1.x, l(0.000000, 0.000000, 0.000000, 0.000000), r1.x
and r1.y, r3.z, r1.x
movc r1.x, r1.x, l(0), l(1.000000)
add r1.x, r1.y, r1.x
add r7.yzw, -r15.xxyz, l(0.000000, 1.000000, 1.000000, 1.000000)
mul r7.yzw, r1.xxxx, r7.yyzw
max r2.yzw, r2.yyzw, r7.yyzw
add r2.yzw, -r2.yyzw, l(0.000000, 1.000000, 1.000000, 1.000000)
dp3 r1.y, l(0.300000, 0.500000, 0.200000, 0.000000), r2.yzwy
mov r6.w, l(1.000000)
mul r6.xyzw, r0.zzzz, r6.xyzw
mul r2.yzw, r3.xxxx, r8.xxyz
max r2.yzw, r2.yyzw, l(0.000000, 0.000000, 0.000000, 0.000000)
max r2.yzw, r6.xxyz, r2.yyzw
mov r8.w, l(1.000000)
mad r6.xyzw, r8.xyzw, r3.xxxx, r6.xyzw
mul r3.xzw, r7.xxxx, r10.xxyz
max r2.yzw, r2.yyzw, r3.xxzw
mov r10.w, l(1.000000)
mad r6.xyzw, r10.xyzw, r7.xxxx, r6.xyzw
mul r3.xzw, r5.xxxx, r11.xxyz
max r2.yzw, r2.yyzw, r3.xxzw
mov r11.w, l(1.000000)
mad r6.xyzw, r11.xyzw, r5.xxxx, r6.xyzw
mul r3.xzw, r5.yyyy, r9.xxyz
max r2.yzw, r2.yyzw, r3.xxzw
max r2.yzw, r12.xxyz, r2.yyzw
mov r9.w, l(1.000000)
mad r5.xyzw, r9.xyzw, r5.yyyy, r6.xyzw
mov r12.w, l(1.000000)
add r5.xyzw, r5.xyzw, r12.xyzw
mul r3.xzw, r1.zzzz, r13.xxyz
max r2.yzw, r2.yyzw, r3.xxzw
mov r13.w, l(1.000000)
mad r5.xyzw, r13.xyzw, r1.zzzz, r5.xyzw
mul r3.xzw, r1.wwww, r14.xxyz
max r2.yzw, r2.yyzw, r3.xxzw
mov r14.w, l(1.000000)
mad r5.xyzw, r14.xyzw, r1.wwww, r5.xyzw
mul r3.xzw, r2.xxxx, r16.xxyz
max r2.yzw, r2.yyzw, r3.xxzw
mov r16.w, l(1.000000)
mad r5.xyzw, r16.xyzw, r2.xxxx, r5.xyzw
mul r3.xzw, r3.yyyy, r4.xxyz
max r2.xyz, r2.yzwy, r3.xzwx
mov r4.w, l(1.000000)
mad r3.xyzw, r4.xyzw, r3.yyyy, r5.xyzw
mul r4.xyz, r1.xxxx, r15.xyzx
max r2.xyz, r2.xyzx, r4.xyzx
mov r15.w, l(1.000000)
mad r3.xyzw, r15.xyzw, r1.xxxx, r3.xyzw
rcp r0.z, r3.w
mul r1.xzw, r0.zzzz, r3.xxyz
mad r3.xyz, -r3.xyzx, r0.zzzz, r2.xyzx
dp3 r0.z, l(0.300000, 0.500000, 0.200000, 0.000000), r2.xyzx
dp3 r2.x, l(0.300000, 0.500000, 0.200000, 0.000000), r1.xzwx
add r1.y, r1.y, -r2.x
add r0.z, r0.z, -r2.x
add r0.z, |r1.y|, |r0.z|
mul r1.y, |r1.y|, l(3.000000)
add r0.z, r0.z, l(0.001000)
div r0.z, r1.y, r0.z
min r0.z, r0.z, l(1.000000)
mad r1.xyz, r0.zzzz, r3.xyzx, r1.xzwx
add r1.xyz, -r0.xywx, r1.xyzx
mad o0.xyz, cb3[0].xxxx, r1.xyzx, r0.xywx
mov o0.w, l(1.000000)
ret
// Approximately 488 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.181 on Sat Oct 28 10:32:25 2023
//
// cbuffer cb12 : register(b12)
// {
//   float4 cb12[272] : packoffset(c0);
// }
//
// cbuffer cb3 : register(b3)
// {
//   float4 cb3 : packoffset(c0);
// }
//
// SamplerState s1_s_s : register(s1);
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
// Texture2D<uint4> t2 : register(t2);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_Position0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15,r16,r17;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.xy = cb12[73].zw * v0.xy;
//   r0.xy = cb12[271].xx * r0.xy;
//   r0.z = t1.SampleLevel(s1_s_s, r0.xy, 0).x;
//   r0.z = r0.z * cb12[22].x + cb12[22].y;
//   r0.z = r0.z * cb12[21].x + cb12[21].y;
//   r0.z = rcp(r0.z);
//   r0.z = max(-3.40282347e+38, r0.z);
//   r0.z = min(3.40282347e+38, r0.z);
//   r1.xy = StereoParams.Load(float4(0,0,0,0)).xy;
//   r0.w = r1.y / r0.z;
//   r0.z = -10 + r0.z;
//   r0.z = saturate(0.0666666701 * r0.z);
//   r0.w = 1 + -r0.w;
//   r0.w = r1.x * r0.w;
//   r1.xy = cb12[23].zw * v0.xy;
//   r2.y = -r0.w * 0.5 + r1.x;
//   r0.w = cb12[23].y * r1.y;
//   r2.x = r0.w / cb12[23].x;
//   r1.xy = cb12[271].xx * r2.xy;
//   r1.zw = float2(50,50) * r1.xy;
//   r2.xy = floor(r1.zw);
//   r3.xyzw = float4(0,2,2,-1) + r2.yxyx;
//   r0.w = dot(r3.xy, float2(25.9796009,156.466003));
//   r1.z = dot(r3.zw, float2(25.9796009,156.466003));
//   r3.y = sin(r1.z);
//   r0.w = sin(r0.w);
//   r0.w = 43758.5469 * r0.w;
//   r0.w = frac(r0.w);
//   r1.z = dot(r2.yx, float2(25.9796009,156.466003));
//   r1.z = sin(r1.z);
//   r1.z = 43758.5469 * r1.z;
//   r1.z = frac(r1.z);
//   r4.x = r1.z + r0.w;
//   r2.zw = float2(-1,-1) + r2.yx;
//   r1.w = dot(r2.zw, float2(25.9796009,156.466003));
//   r1.w = sin(r1.w);
//   r1.w = 43758.5469 * r1.w;
//   r4.z = frac(r1.w);
//   r5.xyzw = float4(-1,1,1,1) + r2.yxyx;
//   r1.w = dot(r5.zw, float2(25.9796009,156.466003));
//   r2.z = dot(r5.xy, float2(25.9796009,156.466003));
//   r2.z = sin(r2.z);
//   r2.z = 43758.5469 * r2.z;
//   r1.w = sin(r1.w);
//   r1.w = 43758.5469 * r1.w;
//   r1.w = frac(r1.w);
//   r3.zw = r1.ww + r4.xz;
//   r4.xy = float2(1,0) + r2.yw;
//   r2.w = dot(r2.yw, float2(25.9796009,156.466003));
//   r2.w = sin(r2.w);
//   r2.w = 43758.5469 * r2.w;
//   r2.zw = frac(r2.zw);
//   r4.x = dot(r4.xy, float2(25.9796009,156.466003));
//   r4.x = sin(r4.x);
//   r4.x = 43758.5469 * r4.x;
//   r4.x = frac(r4.x);
//   r3.w = r4.x + r3.w;
//   r3.z = r3.z + r2.z;
//   r2.z = r3.w + r2.z;
//   r3.w = r4.x + r1.w;
//   r4.xyzw = float4(2,1,0,1) + r2.yxyx;
//   r4.z = dot(r4.zw, float2(25.9796009,156.466003));
//   r4.x = dot(r4.xy, float2(25.9796009,156.466003));
//   r4.xy = sin(r4.xz);
//   r4.xy = float2(43758.5469,43758.5469) * r4.xy;
//   r4.xy = frac(r4.xy);
//   r4.z = r4.y + r2.w;
//   r2.w = r4.x + r2.w;
//   r5.xyzw = float4(-1,0,1,0) + r2.yxyx;
//   r4.w = dot(r5.zw, float2(25.9796009,156.466003));
//   r5.x = dot(r5.xy, float2(25.9796009,156.466003));
//   r5.x = sin(r5.x);
//   r5.x = 43758.5469 * r5.x;
//   r5.y = frac(r5.x);
//   r4.w = sin(r4.w);
//   r4.w = 43758.5469 * r4.w;
//   r5.x = frac(r4.w);
//   r4.z = r5.x + r4.z;
//   r4.z = r4.z + r5.y;
//   r4.z = 0.125 * r4.z;
//   r2.z = r2.z * 0.0625 + r4.z;
//   r2.z = r1.z * 0.25 + r2.z;
//   r6.xyzw = float4(2,2,2,0) + r2.yxyx;
//   r4.z = dot(r6.zw, float2(25.9796009,156.466003));
//   r4.w = dot(r6.xy, float2(25.9796009,156.466003));
//   r4.w = sin(r4.w);
//   r4.w = 43758.5469 * r4.w;
//   r4.w = frac(r4.w);
//   r4.w = r4.w + r1.z;
//   r3.x = sin(r4.z);
//   r3.xyz = float3(43758.5469,43758.5469,0.125) * r3.xyz;
//   r3.xy = frac(r3.xy);
//   r3.w = r3.w + r3.x;
//   r1.z = r3.w + r1.z;
//   r1.z = 0.125 * r1.z;
//   r2.w = r3.y + r2.w;
//   r3.x = r3.x + r4.w;
//   r0.w = r3.x + r0.w;
//   r2.w = r2.w + r4.y;
//   r1.z = r2.w * 0.0625 + r1.z;
//   r1.z = r5.x * 0.25 + r1.z;
//   r1.z = r1.z + -r2.z;
//   r1.xy = r1.xy * float2(50,50) + -r2.xy;
//   r2.xyw = float3(1,2,-1) + r2.yxy;
//   r1.z = r1.y * r1.z + r2.z;
//   r2.x = dot(r2.xy, float2(25.9796009,156.466003));
//   r2.y = dot(r2.wy, float2(25.9796009,156.466003));
//   r2.xy = sin(r2.xy);
//   r2.xy = float2(43758.5469,43758.5469) * r2.xy;
//   r2.xy = frac(r2.xy);
//   r2.xz = r5.xy + r2.xx;
//   r2.z = r2.z + r5.x;
//   r2.x = r2.x + r4.x;
//   r2.x = r2.x + r4.y;
//   r2.x = 0.125 * r2.x;
//   r0.w = r0.w * 0.0625 + r2.x;
//   r0.w = r1.w * 0.25 + r0.w;
//   r1.w = r2.z + r2.y;
//   r1.w = r1.w * 0.0625 + r3.z;
//   r1.w = r4.y * 0.25 + r1.w;
//   r0.w = -r1.w + r0.w;
//   r0.w = r1.y * r0.w + r1.w;
//   r0.w = r0.w + -r1.z;
//   r0.w = saturate(r1.x * r0.w + r1.z);
//   r0.w = 6.28318548 * r0.w;
//   sincos(r0.w, r1.x, r2.x);
//   r1.y = r2.x;
//   r1.zw = cb12[73].xy * r0.xy;
//   r0.xyw = t0.SampleLevel(s1_s_s, r0.xy, 0).xyz;
//   r1.zw = (uint2)r1.zw;
//   r1.zw = (uint2)r1.zw;
//   r2.xy = (int2)r1.zw;
//   r2.zw = float2(0,0);
//   r1.z = t2.Load(r2.xyz).y;
//   r1.z = (uint)r1.z;
//   r1.z = (int)r1.z;
//   r1.z = (int)r1.z & 2;
//   r1.z = (int)r1.z;
//   r1.z = cmp(0 != r1.z);
//   r0.z = r1.z ? r0.z : 0;
//   r1.z = r1.z ? 0 : 1;
//   r0.z = r1.z + r0.z;
//   r1.xy = r1.xy * r0.zz;
//   r1.xy = cb12[271].xx * r1.xy;
//   r1.xy = cb12[73].zw * r1.xy;
//   r1.zw = cb12[271].xx * v0.xy;
//   r2.xy = cb12[73].zw * r1.zw;
//   r3.xyzw = r1.xyxy * float4(-4,-4,-5,-5) + r2.xyxy;
//   r4.xyzw = float4(0.5,0.5,0.5,0.5) * cb12[73].zwzw;
//   r3.xyzw = max(r4.xyzw, r3.xyzw);
//   r2.zw = float2(-0.5,-0.5) + cb12[23].xy;
//   r2.zw = cb12[73].zw * r2.zw;
//   r3.xyzw = min(r3.xyzw, r2.zwzw);
//   r0.z = t1.SampleLevel(s1_s_s, r3.xy, 0).x;
//   r0.z = r0.z * cb12[22].x + cb12[22].y;
//   r0.z = r0.z * cb12[21].x + cb12[21].y;
//   r0.z = rcp(r0.z);
//   r0.z = max(-3.40282347e+38, r0.z);
//   r0.z = min(3.40282347e+38, r0.z);
//   r0.z = -10 + r0.z;
//   r0.z = saturate(0.0666666701 * r0.z);
//   r5.xyzw = cb12[73].xyxy * r3.xyzw;
//   r5.xyzw = (uint4)r5.xyzw;
//   r5.xyzw = (uint4)r5.xyzw;
//   r6.xy = (int2)r5.xy;
//   r5.xy = (int2)r5.zw;
//   r6.zw = float2(0,0);
//   r6.x = t2.Load(r6.xyz).y;
//   r6.x = (uint)r6.x;
//   r6.x = (int)r6.x;
//   r6.x = (int)r6.x & 2;
//   r6.x = (int)r6.x;
//   r6.x = cmp(0 != r6.x);
//   r0.z = r6.x ? r0.z : 0;
//   r6.x = r6.x ? 0 : 1;
//   r0.z = r6.x + r0.z;
//   r6.xyz = t0.SampleLevel(s1_s_s, r3.xy, 0).xyz;
//   r7.xyz = float3(1,1,1) + -r6.xyz;
//   r7.xyz = r7.xyz * r0.zzz;
//   r3.x = t1.SampleLevel(s1_s_s, r3.zw, 0).x;
//   r8.xyz = t0.SampleLevel(s1_s_s, r3.zw, 0).xyz;
//   r3.x = r3.x * cb12[22].x + cb12[22].y;
//   r3.x = r3.x * cb12[21].x + cb12[21].y;
//   r3.x = rcp(r3.x);
//   r3.x = max(-3.40282347e+38, r3.x);
//   r3.x = min(3.40282347e+38, r3.x);
//   r3.x = -10 + r3.x;
//   r3.x = saturate(0.0666666701 * r3.x);
//   r5.zw = float2(0,0);
//   r3.y = t2.Load(r5.xyz).y;
//   r3.y = (uint)r3.y;
//   r3.y = (int)r3.y;
//   r3.y = (int)r3.y & 2;
//   r3.y = (int)r3.y;
//   r3.y = cmp(0 != r3.y);
//   r3.x = r3.y ? r3.x : 0;
//   r3.y = r3.y ? 0 : 1;
//   r3.x = r3.y + r3.x;
//   r3.yzw = float3(1,1,1) + -r8.xyz;
//   r3.yzw = r3.yzw * r3.xxx;
//   r3.yzw = max(float3(0,0,0), r3.yzw);
//   r3.yzw = max(r3.yzw, r7.xyz);
//   r5.xyzw = r1.xyxy * float4(-2,-2,-3,-3) + r2.xyxy;
//   r5.xyzw = max(r5.xyzw, r4.xyzw);
//   r5.xyzw = min(r5.xyzw, r2.zwzw);
//   r7.x = t1.SampleLevel(s1_s_s, r5.zw, 0).x;
//   r7.x = r7.x * cb12[22].x + cb12[22].y;
//   r7.x = r7.x * cb12[21].x + cb12[21].y;
//   r7.x = rcp(r7.x);
//   r7.x = max(-3.40282347e+38, r7.x);
//   r7.x = min(3.40282347e+38, r7.x);
//   r7.x = -10 + r7.x;
//   r7.x = saturate(0.0666666701 * r7.x);
//   r9.xyzw = cb12[73].xyxy * r5.xyzw;
//   r9.xyzw = (uint4)r9.xyzw;
//   r9.xyzw = (uint4)r9.xyzw;
//   r10.xy = (int2)r9.zw;
//   r9.xy = (int2)r9.xy;
//   r10.zw = float2(0,0);
//   r7.y = t2.Load(r10.xyz).y;
//   r7.y = (uint)r7.y;
//   r7.y = (int)r7.y;
//   r7.y = (int)r7.y & 2;
//   r7.y = (int)r7.y;
//   r7.y = cmp(0 != r7.y);
//   r7.x = r7.y ? r7.x : 0;
//   r7.y = r7.y ? 0 : 1;
//   r7.x = r7.y + r7.x;
//   r10.xyz = t0.SampleLevel(s1_s_s, r5.zw, 0).xyz;
//   r7.yzw = float3(1,1,1) + -r10.xyz;
//   r7.yzw = r7.yzw * r7.xxx;
//   r3.yzw = max(r7.yzw, r3.yzw);
//   r5.z = t1.SampleLevel(s1_s_s, r5.xy, 0).x;
//   r11.xyz = t0.SampleLevel(s1_s_s, r5.xy, 0).xyz;
//   r5.x = r5.z * cb12[22].x + cb12[22].y;
//   r5.x = r5.x * cb12[21].x + cb12[21].y;
//   r5.x = rcp(r5.x);
//   r5.x = max(-3.40282347e+38, r5.x);
//   r5.x = min(3.40282347e+38, r5.x);
//   r5.x = -10 + r5.x;
//   r5.x = saturate(0.0666666701 * r5.x);
//   r9.zw = float2(0,0);
//   r5.y = t2.Load(r9.xyz).y;
//   r5.y = (uint)r5.y;
//   r5.y = (int)r5.y;
//   r5.y = (int)r5.y & 2;
//   r5.y = (int)r5.y;
//   r5.y = cmp(0 != r5.y);
//   r5.x = r5.y ? r5.x : 0;
//   r5.y = r5.y ? 0 : 1;
//   r5.x = r5.y + r5.x;
//   r5.yzw = float3(1,1,1) + -r11.xyz;
//   r5.yzw = r5.yzw * r5.xxx;
//   r3.yzw = max(r5.yzw, r3.yzw);
//   r5.yz = r1.zw * cb12[73].zw + -r1.xy;
//   r1.zw = r1.zw * cb12[73].zw + r1.xy;
//   r1.zw = max(r1.zw, r4.xy);
//   r1.zw = min(r1.zw, r2.zw);
//   r5.yz = max(r5.yz, r4.xy);
//   r5.yz = min(r5.yz, r2.zw);
//   r5.w = t1.SampleLevel(s1_s_s, r5.yz, 0).x;
//   r5.w = r5.w * cb12[22].x + cb12[22].y;
//   r5.w = r5.w * cb12[21].x + cb12[21].y;
//   r5.w = rcp(r5.w);
//   r5.w = max(-3.40282347e+38, r5.w);
//   r5.w = min(3.40282347e+38, r5.w);
//   r5.w = -10 + r5.w;
//   r5.w = saturate(0.0666666701 * r5.w);
//   r7.yz = cb12[73].xy * r5.yz;
//   r9.xyz = t0.SampleLevel(s1_s_s, r5.yz, 0).xyz;
//   r5.yz = (uint2)r7.yz;
//   r5.yz = (uint2)r5.yz;
//   r12.xy = (int2)r5.yz;
//   r12.zw = float2(0,0);
//   r5.y = t2.Load(r12.xyz).y;
//   r5.y = (uint)r5.y;
//   r5.y = (int)r5.y;
//   r5.y = (int)r5.y & 2;
//   r5.y = (int)r5.y;
//   r5.y = cmp(0 != r5.y);
//   r5.z = r5.y ? r5.w : 0;
//   r5.y = r5.y ? 0 : 1;
//   r5.y = r5.y + r5.z;
//   r7.yzw = float3(1,1,1) + -r9.xyz;
//   r7.yzw = r7.yzw * r5.yyy;
//   r3.yzw = max(r7.yzw, r3.yzw);
//   r5.zw = max(r4.zw, r2.xy);
//   r5.zw = min(r5.zw, r2.zw);
//   r12.xyz = t0.SampleLevel(s1_s_s, r5.zw, 0).xyz;
//   r7.yzw = float3(1,1,1) + -r12.xyz;
//   r3.yzw = max(r7.yzw, r3.yzw);
//   r5.z = t1.SampleLevel(s1_s_s, r1.zw, 0).x;
//   r5.z = r5.z * cb12[22].x + cb12[22].y;
//   r5.z = r5.z * cb12[21].x + cb12[21].y;
//   r5.z = rcp(r5.z);
//   r5.z = max(-3.40282347e+38, r5.z);
//   r5.z = min(3.40282347e+38, r5.z);
//   r5.z = -10 + r5.z;
//   r5.z = saturate(0.0666666701 * r5.z);
//   r7.yz = cb12[73].xy * r1.zw;
//   r13.xyz = t0.SampleLevel(s1_s_s, r1.zw, 0).xyz;
//   r1.zw = (uint2)r7.yz;
//   r1.zw = (uint2)r1.zw;
//   r14.xy = (int2)r1.zw;
//   r14.zw = float2(0,0);
//   r1.z = t2.Load(r14.xyz).y;
//   r1.z = (uint)r1.z;
//   r1.z = (int)r1.z;
//   r1.z = (int)r1.z & 2;
//   r1.z = (int)r1.z;
//   r1.z = cmp(0 != r1.z);
//   r1.w = r1.z ? r5.z : 0;
//   r1.z = r1.z ? 0 : 1;
//   r1.z = r1.z + r1.w;
//   r7.yzw = float3(1,1,1) + -r13.xyz;
//   r7.yzw = r7.yzw * r1.zzz;
//   r3.yzw = max(r7.yzw, r3.yzw);
//   r5.zw = r1.xy * float2(2,2) + r2.xy;
//   r5.zw = max(r5.zw, r4.xy);
//   r5.zw = min(r5.zw, r2.zw);
//   r1.w = t1.SampleLevel(s1_s_s, r5.zw, 0).x;
//   r1.w = r1.w * cb12[22].x + cb12[22].y;
//   r1.w = r1.w * cb12[21].x + cb12[21].y;
//   r1.w = rcp(r1.w);
//   r1.w = max(-3.40282347e+38, r1.w);
//   r1.w = min(3.40282347e+38, r1.w);
//   r1.w = -10 + r1.w;
//   r1.w = saturate(0.0666666701 * r1.w);
//   r7.yz = cb12[73].xy * r5.zw;
//   r14.xyz = t0.SampleLevel(s1_s_s, r5.zw, 0).xyz;
//   r5.zw = (uint2)r7.yz;
//   r5.zw = (uint2)r5.zw;
//   r15.xy = (int2)r5.zw;
//   r15.zw = float2(0,0);
//   r5.z = t2.Load(r15.xyz).y;
//   r5.z = (uint)r5.z;
//   r5.z = (int)r5.z;
//   r5.z = (int)r5.z & 2;
//   r5.z = (int)r5.z;
//   r5.z = cmp(0 != r5.z);
//   r1.w = r5.z ? r1.w : 0;
//   r5.z = r5.z ? 0 : 1;
//   r1.w = r5.z + r1.w;
//   r7.yzw = float3(1,1,1) + -r14.xyz;
//   r7.yzw = r7.yzw * r1.www;
//   r3.yzw = max(r7.yzw, r3.yzw);
//   r15.xyzw = r1.xyxy * float4(4,4,3,3) + r2.xyxy;
//   r1.xy = r1.xy * float2(5,5) + r2.xy;
//   r1.xy = max(r1.xy, r4.xy);
//   r4.xyzw = max(r15.xyzw, r4.xyzw);
//   r4.xyzw = min(r4.xyzw, r2.zwzw);
//   r1.xy = min(r1.xy, r2.zw);
//   r2.x = t1.SampleLevel(s1_s_s, r4.zw, 0).x;
//   r2.x = r2.x * cb12[22].x + cb12[22].y;
//   r2.x = r2.x * cb12[21].x + cb12[21].y;
//   r2.x = rcp(r2.x);
//   r2.x = max(-3.40282347e+38, r2.x);
//   r2.x = min(3.40282347e+38, r2.x);
//   r2.x = -10 + r2.x;
//   r2.x = saturate(0.0666666701 * r2.x);
//   r15.xyzw = cb12[73].xyxy * r4.xyzw;
//   r15.xyzw = (uint4)r15.xyzw;
//   r15.xyzw = (uint4)r15.xyzw;
//   r16.xy = (int2)r15.zw;
//   r15.xy = (int2)r15.xy;
//   r16.zw = float2(0,0);
//   r2.y = t2.Load(r16.xyz).y;
//   r2.y = (uint)r2.y;
//   r2.y = (int)r2.y;
//   r2.y = (int)r2.y & 2;
//   r2.y = (int)r2.y;
//   r2.y = cmp(0 != r2.y);
//   r2.x = r2.y ? r2.x : 0;
//   r2.y = r2.y ? 0 : 1;
//   r2.x = r2.y + r2.x;
//   r16.xyz = t0.SampleLevel(s1_s_s, r4.zw, 0).xyz;
//   r2.yzw = float3(1,1,1) + -r16.xyz;
//   r2.yzw = r2.yzw * r2.xxx;
//   r2.yzw = max(r2.yzw, r3.yzw);
//   r3.y = t1.SampleLevel(s1_s_s, r4.xy, 0).x;
//   r4.xyz = t0.SampleLevel(s1_s_s, r4.xy, 0).xyz;
//   r3.y = r3.y * cb12[22].x + cb12[22].y;
//   r3.y = r3.y * cb12[21].x + cb12[21].y;
//   r3.y = rcp(r3.y);
//   r3.y = max(-3.40282347e+38, r3.y);
//   r3.y = min(3.40282347e+38, r3.y);
//   r3.y = -10 + r3.y;
//   r3.y = saturate(0.0666666701 * r3.y);
//   r15.zw = float2(0,0);
//   r3.z = t2.Load(r15.xyz).y;
//   r3.z = (uint)r3.z;
//   r3.z = (int)r3.z;
//   r3.z = (int)r3.z & 2;
//   r3.z = (int)r3.z;
//   r3.z = cmp(0 != r3.z);
//   r3.y = r3.z ? r3.y : 0;
//   r3.z = r3.z ? 0 : 1;
//   r3.y = r3.z + r3.y;
//   r7.yzw = float3(1,1,1) + -r4.xyz;
//   r7.yzw = r7.yzw * r3.yyy;
//   r2.yzw = max(r7.yzw, r2.yzw);
//   r3.z = t1.SampleLevel(s1_s_s, r1.xy, 0).x;
//   r3.z = r3.z * cb12[22].x + cb12[22].y;
//   r3.z = r3.z * cb12[21].x + cb12[21].y;
//   r3.z = rcp(r3.z);
//   r3.z = max(-3.40282347e+38, r3.z);
//   r3.z = min(3.40282347e+38, r3.z);
//   r3.z = -10 + r3.z;
//   r3.z = saturate(0.0666666701 * r3.z);
//   r5.zw = cb12[73].xy * r1.xy;
//   r15.xyz = t0.SampleLevel(s1_s_s, r1.xy, 0).xyz;
//   r1.xy = (uint2)r5.zw;
//   r1.xy = (uint2)r1.xy;
//   r17.xy = (int2)r1.xy;
//   r17.zw = float2(0,0);
//   r1.x = t2.Load(r17.xyz).y;
//   r1.x = (uint)r1.x;
//   r1.x = (int)r1.x;
//   r1.x = (int)r1.x & 2;
//   r1.x = (int)r1.x;
//   r1.x = cmp(0 != r1.x);
//   r1.y = r1.x ? r3.z : 0;
//   r1.x = r1.x ? 0 : 1;
//   r1.x = r1.x + r1.y;
//   r7.yzw = float3(1,1,1) + -r15.xyz;
//   r7.yzw = r7.yzw * r1.xxx;
//   r2.yzw = max(r7.yzw, r2.yzw);
//   r2.yzw = float3(1,1,1) + -r2.yzw;
//   r1.y = dot(float3(0.300000012,0.5,0.200000003), r2.yzw);
//   r6.w = 1;
//   r6.xyzw = r6.xyzw * r0.zzzz;
//   r2.yzw = r8.xyz * r3.xxx;
//   r2.yzw = max(float3(0,0,0), r2.yzw);
//   r2.yzw = max(r2.yzw, r6.xyz);
//   r8.w = 1;
//   r6.xyzw = r8.xyzw * r3.xxxx + r6.xyzw;
//   r3.xzw = r10.xyz * r7.xxx;
//   r2.yzw = max(r3.xzw, r2.yzw);
//   r10.w = 1;
//   r6.xyzw = r10.xyzw * r7.xxxx + r6.xyzw;
//   r3.xzw = r11.xyz * r5.xxx;
//   r2.yzw = max(r3.xzw, r2.yzw);
//   r11.w = 1;
//   r6.xyzw = r11.xyzw * r5.xxxx + r6.xyzw;
//   r3.xzw = r9.xyz * r5.yyy;
//   r2.yzw = max(r3.xzw, r2.yzw);
//   r2.yzw = max(r2.yzw, r12.xyz);
//   r9.w = 1;
//   r5.xyzw = r9.xyzw * r5.yyyy + r6.xyzw;
//   r12.w = 1;
//   r5.xyzw = r12.xyzw + r5.xyzw;
//   r3.xzw = r13.xyz * r1.zzz;
//   r2.yzw = max(r3.xzw, r2.yzw);
//   r13.w = 1;
//   r5.xyzw = r13.xyzw * r1.zzzz + r5.xyzw;
//   r3.xzw = r14.xyz * r1.www;
//   r2.yzw = max(r3.xzw, r2.yzw);
//   r14.w = 1;
//   r5.xyzw = r14.xyzw * r1.wwww + r5.xyzw;
//   r3.xzw = r16.xyz * r2.xxx;
//   r2.yzw = max(r3.xzw, r2.yzw);
//   r16.w = 1;
//   r5.xyzw = r16.xyzw * r2.xxxx + r5.xyzw;
//   r3.xzw = r4.xyz * r3.yyy;
//   r2.xyz = max(r3.xzw, r2.yzw);
//   r4.w = 1;
//   r3.xyzw = r4.xyzw * r3.yyyy + r5.xyzw;
//   r4.xyz = r15.xyz * r1.xxx;
//   r2.xyz = max(r4.xyz, r2.xyz);
//   r15.w = 1;
//   r3.xyzw = r15.xyzw * r1.xxxx + r3.xyzw;
//   r0.z = rcp(r3.w);
//   r1.xzw = r3.xyz * r0.zzz;
//   r3.xyz = -r3.xyz * r0.zzz + r2.xyz;
//   r0.z = dot(float3(0.300000012,0.5,0.200000003), r2.xyz);
//   r2.x = dot(float3(0.300000012,0.5,0.200000003), r1.xzw);
//   r1.y = -r2.x + r1.y;
//   r0.z = -r2.x + r0.z;
//   r0.z = abs(r0.z) + abs(r1.y);
//   r1.y = 3 * abs(r1.y);
//   r0.z = 0.00100000005 + r0.z;
//   r0.z = r1.y / r0.z;
//   r0.z = min(1, r0.z);
//   r1.xyz = r0.zzz * r3.xyz + r1.xzw;
//   r1.xyz = r1.xyz + -r0.xyw;
//   o0.xyz = cb3.xxx * r1.xyz + r0.xyw;
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
