// AUTOMATICALLY CONVERTED FROM SHADER FIXES 
//
// Generated by Microsoft (R) HLSL Shader Compiler 10.1
//
//   using 3Dmigoto v0.6.182 on Mon Jun 12 20:17:52 2023
//
//
// Buffer Definitions:
//
// cbuffer cb3
// {
//
//   float4 cb3[3];                     // Index:    0 1 2            Components:    12
//
// }
//
// cbuffer cb2
// {
//
//   float4 cb2[2];                     // Index:    0 1              Components:     8
//
// }
//
// cbuffer cb1
// {
//
//   float4 cb1[146];                   // Index:    0-145            Components:   584
//
// }
//
// cbuffer cb0
// {
//
//   float4 cb0[39];                    // Index:    0-38             Components:   156
//
// }
//
//
// Resource Bindings:
//
// Name                                 Type  Format         Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// s0_s                              sampler      NA          NA    0        1
// s1_s                              sampler      NA          NA    1        1
// s2_s                              sampler      NA          NA    2        1
// t0                                texture  float4          2d    0        1
// t1                                texture  float4          2d    1        1
// t2                                texture  float4          2d    2        1
// StereoParams                      texture  float4          2d  125        1
// cb0                               cbuffer      NA          NA    0        1
// cb1                               cbuffer      NA          NA    1        1
// cb2                               cbuffer      NA          NA    2        1
// cb3                               cbuffer      NA          NA    3        1
//
//
//
// Input signature:
//
// Name                 Index   Mask Register SysValue  Format   Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_POSITION              0   xyzw        0      POS   float   xy
// TEXCOORD                 0   xyzw        1     NONE   float
//
//
// 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 CB3[3], immediateIndexed
dcl_constantbuffer CB2[2], immediateIndexed
dcl_constantbuffer CB1[146], immediateIndexed
dcl_constantbuffer CB0[39], immediateIndexed
dcl_sampler s0, mode_default
dcl_sampler s1, mode_default
dcl_sampler s2, 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_buffer (float,float,float,float) t125
dcl_input_ps_siv linear noperspective v0.xy, position
dcl_output o0.xyzw
dcl_temps 6
add r0.x, cb1[145].z, l(1.500000)
mul r0.x, r0.x, l(0.333333343)
ge r0.y, r0.x, -r0.x
frc r0.x, |r0.x|
movc r0.x, r0.y, r0.x, -r0.x
mad r0.x, r0.x, l(3.000000), l(1.000000)
ld_indexable(buffer)(float,float,float,float) r0.y, l(0, 0, 0, 0), t125.yxzw
utof r0.zw, cb0[37].xxxy
add r0.zw, -r0.zzzw, v0.xxxy
mul r1.yz, r0.zzwz, cb0[38].zzwz
mad r1.x, -r0.y, l(0.500000), r1.y
sample_indexable(texture2d)(float,float,float,float) r2.xy, r1.xzxx, t0.xyzw, s0
sample_indexable(texture2d)(float,float,float,float) r0.y, r1.xzxx, t1.yxzw, s1
mad r1.xy, r1.yzyy, cb1[134].xyxx, cb1[133].xyxx
mul r1.xy, r1.xyxx, cb1[135].zwzz
sample_indexable(texture2d)(float,float,float,float) r1.xyz, r1.xyxx, t2.xyzw, s2
mul r0.y, r0.y, cb2[1].z
add r2.xy, r2.yxyy, l(-0.500000, -0.500000, 0.000000, 0.000000)
mul r2.xy, r2.xyxx, cb3[2].xxxx
mul r2.zw, r0.xxxx, r2.xxxy
mul r3.xy, r2.zwzz, l(0.100000, -0.100000, 0.000000, 0.000000)
mov r3.z, l(0)
mad r2.zw, cb0[38].zzzw, r0.zzzw, r3.yyyz
add r2.zw, r2.zzzw, r3.zzzx
div r3.xy, cb1[134].xyxx, cb1[135].xyxx
mul r2.zw, r2.zzzw, r3.xxxy
sample_indexable(texture2d)(float,float,float,float) r4.xyz, r2.zwzz, t2.xyzw, s2
mul r2.zw, cb1[145].zzzz, l(0.000000, 0.000000, 0.333333343, 2.09439516)
ge r0.x, r2.z, -r2.z
frc r1.w, |r2.z|
sincos null, r2.z, r2.w
add r2.z, r2.z, l(1.000000)
mul r2.z, r2.z, l(0.500000)
movc r0.x, r0.x, r1.w, -r1.w
mad r0.x, r0.x, l(3.000000), l(1.000000)
mul r2.xy, r0.xxxx, r2.xyxx
mul r5.xy, r2.xyxx, l(0.100000, -0.100000, 0.000000, 0.000000)
mov r5.z, l(0)
mad r0.xz, cb0[38].zzwz, r0.zzwz, r5.yyzy
add r0.xz, r0.xxzx, r5.zzxz
mul r0.xz, r0.xxzx, r3.xxyx
sample_indexable(texture2d)(float,float,float,float) r0.xzw, r0.xzxx, t2.xwyz, s2
mul r0.xzw, r0.xxzw, cb1[138].zzzz
mad r2.xyw, cb1[138].zzzz, r4.xyxz, -r0.xzxw
mad r0.xzw, r2.zzzz, r2.xxyw, r0.xxzw
mad r0.xzw, -cb1[138].zzzz, r1.xxyz, r0.xxzw
mul r1.xyz, r1.xyzx, cb1[138].zzzz
mad r0.xyz, r0.yyyy, r0.xzwx, r1.xyzx
add r1.xyz, -r0.xyzx, cb3[1].xyzx
mad r0.xyz, cb3[2].yyyy, r1.xyzx, r0.xyzx
max r0.xyz, r0.xyzx, l(0.000000, 0.000000, 0.000000, 0.000000)
mul o0.xyz, r0.xyzx, cb1[138].yyyy
mov o0.w, l(1.000000)
ret
// Approximately 54 instruction slots used

///////////////////////////////// HLSL Code /////////////////////////////////
// // ---- Created with 3Dmigoto v0.6.182 on Mon Jun 12 20:17:52 2023
//
// cbuffer cb3 : register(b3)
// {
//   float4 cb3[3] : packoffset(c0);
// }
//
// cbuffer cb2 : register(b2)
// {
//   float4 cb2[2] : packoffset(c0);
// }
//
// cbuffer cb1 : register(b1)
// {
//   float4 cb1[146] : packoffset(c0);
// }
//
// cbuffer cb0 : register(b0)
// {
//   float4 cb0[39] : packoffset(c0);
// }
//
// SamplerState s0_s_s : register(s0);
// SamplerState s1_s_s : register(s1);
// SamplerState s2_s_s : register(s2);
// Texture2D<float4> t0 : register(t0);
// Texture2D<float4> t1 : register(t1);
// Texture2D<float4> t2 : register(t2);
//
//
// // 3Dmigoto declarations
// #define cmp -
// Texture1D<float4> IniParams : register(t120);
// Buffer<float4> StereoParams : register(t125);
//
//
// void main(
//   float4 v0 : SV_POSITION0,
//   float4 v1 : TEXCOORD0,
//   out float4 o0 : SV_Target0)
// {
//   float4 r0,r1,r2,r3,r4,r5;
//   uint4 bitmask, uiDest;
//   float4 fDest;
//
//   r0.x = 1.5 + cb1[145].z;
//   r0.x = 0.333333343 * r0.x;
//   r0.y = cmp(r0.x >= -r0.x);
//   r0.x = frac(abs(r0.x));
//   r0.x = r0.y ? r0.x : -r0.x;
//   r0.x = r0.x * 3 + 1;
//   r0.y = StereoParams.Load(float4(0,0,0,0)).x;
//   r0.zw = asuint(cb0[37].xy);
//   r0.zw = v0.xy + -r0.zw;
//   r1.yz = cb0[38].zw * r0.zw;
//   r1.x = -r0.y * 0.5 + r1.y;
//   r2.xy = t0.Sample(s0_s_s, r1.xz).xy;
//   r0.y = t1.Sample(s1_s_s, r1.xz).x;
//   r1.xy = r1.yz * cb1[134].xy + cb1[133].xy;
//   r1.xy = cb1[135].zw * r1.xy;
//   r1.xyz = t2.Sample(s2_s_s, r1.xy).xyz;
//   r0.y = cb2[1].z * r0.y;
//   r2.xy = float2(-0.5,-0.5) + r2.yx;
//   r2.xy = cb3[2].xx * r2.xy;
//   r2.zw = r2.xy * r0.xx;
//   r3.xy = float2(0.100000001,-0.100000001) * r2.zw;
//   r3.z = 0;
//   r2.zw = cb0[38].zw * r0.zw + r3.yz;
//   r2.zw = r3.zx + r2.zw;
//   r3.xy = cb1[134].xy / cb1[135].xy;
//   r2.zw = r3.xy * r2.zw;
//   r4.xyz = t2.Sample(s2_s_s, r2.zw).xyz;
//   r2.zw = float2(0.333333343,2.09439516) * cb1[145].zz;
//   r0.x = cmp(r2.z >= -r2.z);
//   r1.w = frac(abs(r2.z));
//   r2.z = cos(r2.w);
//   r2.z = 1 + r2.z;
//   r2.z = 0.5 * r2.z;
//   r0.x = r0.x ? r1.w : -r1.w;
//   r0.x = r0.x * 3 + 1;
//   r2.xy = r2.xy * r0.xx;
//   r5.xy = float2(0.100000001,-0.100000001) * r2.xy;
//   r5.z = 0;
//   r0.xz = cb0[38].zw * r0.zw + r5.yz;
//   r0.xz = r5.zx + r0.xz;
//   r0.xz = r3.xy * r0.xz;
//   r0.xzw = t2.Sample(s2_s_s, r0.xz).xyz;
//   r0.xzw = cb1[138].zzz * r0.xzw;
//   r2.xyw = cb1[138].zzz * r4.xyz + -r0.xzw;
//   r0.xzw = r2.zzz * r2.xyw + r0.xzw;
//   r0.xzw = -cb1[138].zzz * r1.xyz + r0.xzw;
//   r1.xyz = cb1[138].zzz * r1.xyz;
//   r0.xyz = r0.yyy * r0.xzw + r1.xyz;
//   r1.xyz = cb3[1].xyz + -r0.xyz;
//   r0.xyz = cb3[2].yyy * r1.xyz + r0.xyz;
//   r0.xyz = max(float3(0,0,0), r0.xyz);
//   o0.xyz = cb1[138].yyy * r0.xyz;
//   o0.w = 1;
//   return;
// }
/////////////////////////////////////////////////////////////////////////////
