// RESIDENT EVIL 6 - WATER REFLECTIONS
// HELIXMOD FIX BY MIKE_AR69
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 CBFog__packed0;
//   float4 CBHDRFactor__packed0;
//   float4 CBScreen__packed0;
//   float4 CBScreen__packed1;
//   float4 CBViewProjection__packed4;
//   float4 CBWaterDetail__packed0;
//   float4 CBWaterDetail__packed1;
//   float4 CBWaterFog__packed0;
//   float4 CBWaterFog__packed1;
//   float4 CBWater__packed0;
//   float4 CBWater__packed1;
//   float4 CBWater__packed2;
//   float4 CBWater__packed3;
//   sampler2D SSLinear__tWaterReflection;
//   sampler2D SSLinear__tWaterRefraction;
//   sampler2D SSPoint__tWaterDepthMap;
//   sampler2D SSWrapLinear__tWaterDetail;
//   sampler2D SSWrapLinear__tWaterDetail2;
//   float4 fLSFactor0;
//   float4 fLSFactor1;
//   float4 fLSFactor2;
//   float3 fLSSunDir;
//   row_major float4x4 fView;
//   row_major float4x4 fViewProjI;
//
//
// Registers:
//
//   Name                        Reg   Size
//   --------------------------- ----- ----
//   fViewProjI                  c1       4
//   fView                       c5       3
//   CBHDRFactor__packed0        c8       1
//   CBScreen__packed0           c9       1
//   CBScreen__packed1           c10      1
//   CBViewProjection__packed4   c11      1
//   CBWaterDetail__packed0      c12      1
//   CBWaterDetail__packed1      c13      1
//   CBWater__packed0            c14      1
//   CBWater__packed1            c15      1
//   CBWater__packed2            c16      1
//   CBWater__packed3            c17      1
//   CBWaterFog__packed0         c18      1
//   CBWaterFog__packed1         c19      1
//   fLSFactor0                  c20      1
//   fLSFactor1                  c21      1
//   fLSFactor2                  c22      1
//   fLSSunDir                   c23      1
//   CBFog__packed0              c24      1
//   SSWrapLinear__tWaterDetail  s0       1
//   SSWrapLinear__tWaterDetail2 s1       1
//   SSPoint__tWaterDepthMap     s2       1
//   SSLinear__tWaterReflection  s3       1
//   SSLinear__tWaterRefraction  s4       1
//

    ps_3_0
    def c0, 0.5, 2, -1, 0
    def c25, 1, 0.00392156886, 1.53787005e-005, 10
    def c26, 0.0392800011, 0.0773993805, 0.0549999997, 0.947867274
    def c27, 2.4000001, 1.44269502, -1.5, 0.00313100009
    def c28, 12.9200001, 0.416666657, 1.05499995, -0.0549999997
    dcl_texcoord v0.xyw
    dcl_texcoord1 v1.xyz
    dcl_texcoord2 v2
    dcl_texcoord3 v3.xyz
    dcl_texcoord4 v4.xyz
    dcl_texcoord5 v5.xyz
    dcl_texcoord6 v6.xy
dcl_texcooord7 v7.xyw
    dcl vPos.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    mad r0.xy, v6, c13.w, c13
    texld r0, r0, s1
    mad r0.xy, r0, c0.y, c0.z
    mul r0.xy, r0, c13.z
    mad r1.xy, v6, c12.w, c12
    texld r1, r1, s0
    mad r1.xy, r1, c0.y, c0.z
    add r2.z, r1.z, r1.z
    mul r2.xy, r1, c12.z
    mov r0.z, c0.z
    add r0.xyz, r0, r2
    nrm r1.xyz, r0
    nrm r0.xyz, v3
    mul r0.xyz, r1.y, r0
    nrm r2.xyz, v2
    mad r0.xyz, r2, r1.x, r0
    nrm r2.xyz, v1
    mad r0.xyz, r2, r1.z, r0
    nrm r1.xyz, r0
    add r0.xyz, -c11, v4
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    mul r0.xyz, r0.w, r0
    rcp r0.w, r0.w
    mul r2.xyz, r0.w, c20
    mul r2.xyz, r2, c27.y
    dp3 r0.w, r0, r1
    add r0.w, r0.w, r0.w
    mad r3.xyz, r1, -r0.w, r0
    dp3 r0.w, r1, -r0
    add r0.w, -r0.w, -c0.z
    pow r1.x, r0.w, c16.w
    mad_sat r0.w, r1.x, c17.x, c17.y
    mul r1.xy, r3.y, c6
    mad r1.xy, r3.x, c5, r1
    mad r1.xy, r3.z, c7, r1
    mul r1.zw, -r0.y, c6.xyxy
    mad r1.zw, r0.x, c5.xyxy, r1
    mad r1.zw, r0.z, c7.xyxy, r1
    add r1.xy, -r1.zwzw, r1
	
    rcp r1.z, v0.w
    mul r3.xy, r1.z, v0
    mul r1.z, r1.z, c17.z
    add r4.xy, -r3_abs, -c0.z
    mul_sat r4.xy, r4, c25.w
    mul r1.xy, r1, r4
    mul r1.xy, r1.z, r1
    mul r1.zw, -r1.xyxy, c14.y
    mul r1.xy, r1, c14.x
    mul r4, r3.y, c2
    mad r4, r3.x, c1, r4
    add r5.xy, c0.x, vPos
    mul r5.xy, r5, c10.zwzw
    texld r6, r5, s2
    dp3 r2.w, r6, c25
    mad r4, r2.w, c3, r4
    add r4, r4, c4
    rcp r2.w, r4.w
    mad r4.xyz, r4, r2.w, -v4
    dp3 r2.w, r0, r4
    dp3 r0.x, r0, c23
    max r4.w, r2.w, c0.w
    mad_sat r0.y, c14.z, r4.w, c14.w
    mul r0.y, r0.y, v2.w
    mad r1.zw, r1, r0.y, r5.xyxy
    mov oC0.w, r0.y
//-
rcp r1.z, v7.w
mul r3.xy, r1.z, v7
mul r1.z, r1.z, c17.z
add r4.xy, -r3_abs, -c0.z
mul_sat r4.xy, r4, c25.w
mul r1.xy, r1, r4
mul r1.xy, r1.z, r1
mul r1.zw, -r1.xyxy, c14.y
mul r1.xy, r1, c14.x
mul r4, r3.y, c2
mad r4, r3.x, c1, r4
add r5.xy, c0.x, vPos
mul r5.xy, r5, c10.zwzw
texld r6, r5, s2
dp3 r2.w, r6, c25
mad r4, r2.w, c3, r4
add r4, r4, c4
rcp r2.w, r4.w
mad r4.xyz, r4, r2.w, -v4
dp3 r2.w, r0, r4
dp3 r0.x, r0, c23
max r4.w, r2.w, c0.w
mad_sat r0.y, c14.z, r4.w, c14.w
mul r0.y, r0.y, v2.w
mad r1.zw, r1, r0.y, r5.xyxy
//-
    texld r5, r5, s4
    max r0.yz, r1.xzww, c15.xxyw
    min r1.zw, c15, r0.xyyz
    rcp r6.x, c9.z
    rcp r6.y, c9.w
    mad r0.yz, r1.xzww, r6.xxyw, -c9.xxyw
    mul r6, r0.z, c2
    mad r6, r0.y, c1, r6
    texld r7, r1.zwzw, s2
    texld r8, r1.zwzw, s4
    dp3 r0.y, r7, c25
    mad r6, r0.y, c3, r6
    add r6, r6, c4
    rcp r0.y, r6.w
    mad r6.xyz, r6, -r0.y, v4
    dp3 r0.y, r6, r6
    rsq r0.y, r0.y
    rcp r6.w, r0.y
    add r7.xyz, r8, c26.z
    mul r7.xyz, r7, c26.w
    pow r0.y, r7.x, c27.x
    add r9.xyz, -r8, c26.x
    mul r8.xyz, r8, c26.y
    cmp r10.x, r9.x, r8.x, r0.y
    pow r0.y, r7.y, c27.x
    pow r0.z, r7.z, c27.x
    cmp r10.yz, r9, r8, r0
    mul r6.xyz, r10, c8.y
    add r7.xyz, r5, c26.z
    mul r7.xyz, r7, c26.w
    pow r0.y, r7.x, c27.x
    add r8.xyz, -r5, c26.x
    mul r5.xyz, r5, c26.y
    cmp r9.x, r8.x, r5.x, r0.y
    pow r0.y, r7.y, c27.x
    pow r0.z, r7.z, c27.x
    cmp r9.yz, r8, r5, r0
    mul r4.xyz, r9, c8.y
    cmp r4, -r8.w, r6, r4
    add r0.y, r4.w, -c19.x
    mul r0.y, r0.y, c19.y
    max r1.z, r0.y, c0.w
    min r0.y, c18.w, r1.z
    lrp r5.xyz, r0.y, c18, r4
    mov r3.z, -r3.y
    add r0.yz, r3.xxzw, c9.xxyw
    mad r0.yz, r0, c9.xzww, r1.xxyw
    max r1.xy, r0.yzzw, c15
    min r0.yz, c15.xzww, r1.xxyw
    texld r1, r0.yzzw, s3
    mad r1.xyz, r1, c16, -r5
    mad r0.yzw, r0.w, r1.xxyz, r5.xxyz
    mul r0.yzw, r0, v5.xxyz
    exp r1.x, r2.x
    exp r1.y, r2.y
    exp r1.z, r2.z
    add r1.xyz, r1, c0.z
    mul r2.xyz, r1, c24.w
    mov r3.z, c0.z
    mad r1.xyz, c24.w, r1, -r3.z
    cmp r2.xyz, r2, -c0.z, r1
    add r1.xyz, -r1, -c0.z
    mov r1.w, c20.w
    mad r1.w, r1.w, r0.x, c21.w
    mad r0.x, r0.x, r0.x, -c0.z
    pow r2.w, r1.w, c27.z
    mul r3.xyz, r2.w, c22
    mad r3.xyz, r0.x, c21, r3
    mul r1.xyz, r1, r3
    mad r0.xyz, r0.yzww, r2, r1
    mov r0.w, c27.w
    mad r1.xyz, r0, -c8.x, r0.w
    mul r0.xyz, r0, c8.x
    pow r1.w, r0.x, c28.y
    mad r0.w, r1.w, c28.z, c28.w
    mul r2.xyz, r0, c28.x
    cmp oC0.x, r1.x, r2.x, r0.w
    pow r1.x, r0.y, c28.y
    pow r1.w, r0.z, c28.y
    mad r0.x, r1.w, c28.z, c28.w
    cmp oC0.z, r1.z, r2.z, r0.x
    mad r0.x, r1.x, c28.z, c28.w
    cmp oC0.y, r1.y, r2.y, r0.x

// approximately 181 instruction slots used (7 texture, 174 arithmetic)
 