//Use to pass out vs_inverse_projection_xy
// Generated by Microsoft (R) HLSL Shader Compiler 9.26.952.2844
//
// Parameters:
//
//   float4 vs_inverse_projection2;
//   float4 vs_inverse_projection_xy;
//   float4 vs_projection_params;
//   float4 vs_rain_boxPos;
//   float4 vs_rain_boxSize;
//   float4 vs_rain_direction;
//   float4 vs_rain_direction_perpendicular;
//   row_major float4x4 vs_rain_exclusionBoxInvMtx[10];
//   float4 vs_rain_glintParams;
//   float4 vs_rain_params;
//   float4 vs_rain_slidingBoxOffset;
//   float4 vs_screenSize;
//   row_major float4x4 vs_viewProj;
//   float4 vs_viewportScaleBias;
//
//
// Registers:
//
//   Name                            Reg   Size
//   ------------------------------- ----- ----
//   vs_viewProj                     c0       4
//   vs_projection_params            c9       1
//   vs_inverse_projection_xy        c10      1
//   vs_inverse_projection2          c12      1
//   vs_screenSize                   c81      1
//   vs_viewportScaleBias            c82      1
//   vs_rain_direction               c92      1
//   vs_rain_params                  c93      1
//   vs_rain_boxSize                 c94      1
//   vs_rain_boxPos                  c95      1
//   vs_rain_slidingBoxOffset        c96      1
//   vs_rain_glintParams             c97      1
//   vs_rain_direction_perpendicular c98      1
//   vs_rain_exclusionBoxInvMtx      c100    40
//

    vs_3_0
    def c4, 0, 2, -1, 1
    def c5, 0.5, -0.5, 8, 9
    def c6, 0, 1, 2, 3
    def c7, 4, 5, 6, 7
    def c8, 0.25, 4, 0, 0
    dcl_position v0
    dcl_texcoord v1
    dcl_position o0
    dcl_texcoord o1
    dcl_texcoord1 o2
    dcl_texcoord2 o3
dcl_texcoord8 o5
mov o5, c10			//pass out vs_inverse_projection_xy
    mul r0.xy, c8, v1.xwzw
    frc r0.z, r0.y
    add r0.y, r0.y, -r0.z
    mad o3.x, r0.y, c8.x, r0.x
    mov r0.y, c92.y
    mov r1.z, v1.w
    abs r1.x, v1.z
    mad r1.yw, r1.xxzz, c4.y, c4.z
    add r2.xy, r1.zxzw, c4.w
    mad r0.w, r1.x, c5.x, c5.x
    mov r3, c95
    mad r0.xz, r1.yyww, r3.w, c92
    nrm r1.xyz, r0
    mul r0.xyz, r1, c93.z
    mul r1.w, r2.x, c93.w
    mul r2.x, r2.y, c97.y
    mul r0.xyz, r0, r1.w
    mad r0.xyz, v0, c94, r0
    add r0.xyz, r0, -c96
    rcp r4.x, c94.x
    rcp r4.y, c94.y
    rcp r4.z, c94.z
    mad r0.xyz, r0, r4, c5.x
    frc r2.yzw, r0.xxyz
    add r4.xyz, r0, -r2.yzww
    slt r2.yzw, -r2, r2
    slt r5.xyz, r0, -r0
    mad r2.yzw, r5.xxyz, r2, r4.xxyz
    add r0.xyz, r0, -r2.yzww
    slt r2.yzw, r0.xxyz, c4.x
    add r0.xyz, r0, r2.yzww
    add r0.xyz, r0, c5.y
    mad r0.xyz, r0, c94, r3
    slt r1.w, -v1.z, v1.z
    slt r2.y, v1.z, -v1.z
    add r1.w, r1.w, -r2.y
    max r2.y, r1.w, c4.x
    mad r1.w, r1.w, -v1.y, r2.y
    mul r2.y, r1.w, c93.y
    mul r0.w, r0.w, r2.y
    mad r0.xyz, r1, r0.w, r0
    mul r1.xyz, r0.y, c105
    mad r1.xyz, r0.x, c104, r1
    mad r1.xyz, r0.z, c106, r1
    add r1.xyz, r1, c107
    max r0.w, r1_abs.z, r1_abs.x
    slt r1.x, r1_abs.y, c5.x
    slt r0.w, r0.w, c5.x
    mad r0.w, r0.w, -r1.x, c4.w
    mul r1.xyz, r0.y, c101
    mad r1.xyz, r0.x, c100, r1
    mad r1.xyz, r0.z, c102, r1
    add r1.xyz, r1, c103
    max r1.x, r1_abs.z, r1_abs.x
    slt r1.y, r1_abs.y, c5.x
    slt r1.x, r1.x, c5.x
    mul r1.x, r1.y, r1.x
    slt r1.y, c96.w, -c96.w
    frc r1.z, c96.w
    add r2.y, -r1.z, c96.w
    slt r1.z, -r1.z, r1.z
    mad r1.y, r1.y, r1.z, r2.y
    slt r3, c6, r1.y
    mad r1.x, r3.x, -r1.x, c4.w
    mad r0.w, r1.x, r0.w, -r1.x
    mad r0.w, r3.y, r0.w, r1.x
    mul r2.yzw, r0.y, c109.xxyz
    mad r2.yzw, r0.x, c108.xxyz, r2
    mad r2.yzw, r0.z, c110.xxyz, r2
    add r2.yzw, r2, c111.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r1.z, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r1.z, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    mad r0.w, r3.z, r1.x, r0.w
    mul r2.yzw, r0.y, c113.xxyz
    mad r2.yzw, r0.x, c112.xxyz, r2
    mad r2.yzw, r0.z, c114.xxyz, r2
    add r2.yzw, r2, c115.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r1.z, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r1.z, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    mad r0.w, r3.w, r1.x, r0.w
    mul r2.yzw, r0.y, c117.xxyz
    mad r2.yzw, r0.x, c116.xxyz, r2
    mad r2.yzw, r0.z, c118.xxyz, r2
    add r2.yzw, r2, c119.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r1.z, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r1.z, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    slt r3, c7, r1.y
    slt r1.yz, c5.xzww, r1.y
    mad r0.w, r3.x, r1.x, r0.w
    mul r2.yzw, r0.y, c121.xxyz
    mad r2.yzw, r0.x, c120.xxyz, r2
    mad r2.yzw, r0.z, c122.xxyz, r2
    add r2.yzw, r2, c123.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r2.y, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r2.y, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    mad r0.w, r3.y, r1.x, r0.w
    mul r2.yzw, r0.y, c125.xxyz
    mad r2.yzw, r0.x, c124.xxyz, r2
    mad r2.yzw, r0.z, c126.xxyz, r2
    add r2.yzw, r2, c127.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r2.y, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r2.y, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    mad r0.w, r3.z, r1.x, r0.w
    mul r2.yzw, r0.y, c129.xxyz
    mad r2.yzw, r0.x, c128.xxyz, r2
    mad r2.yzw, r0.z, c130.xxyz, r2
    add r2.yzw, r2, c131.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r2.y, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r2.y, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    mad r0.w, r3.w, r1.x, r0.w
    mul r2.yzw, r0.y, c133.xxyz
    mad r2.yzw, r0.x, c132.xxyz, r2
    mad r2.yzw, r0.z, c134.xxyz, r2
    add r2.yzw, r2, c135.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r2.y, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r2.y, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    mad r0.w, r1.y, r1.x, r0.w
    mul r2.yzw, r0.y, c137.xxyz
    mad r2.yzw, r0.x, c136.xxyz, r2
    mad r2.yzw, r0.z, c138.xxyz, r2
    add r2.yzw, r2, c139.xxyz
    max r1.x, r2_abs.w, r2_abs.y
    slt r1.y, r2_abs.z, c5.x
    slt r1.x, r1.x, c5.x
    mad r1.x, r1.x, -r1.y, c4.w
    mad r1.x, r0.w, r1.x, -r0.w
    mad r0.w, r1.z, r1.x, r0.w
    mul o3.w, r0.w, c94.w
    rcp r1.x, r2.x
    mul r1.x, r1.x, c93.z
    frc r1.x, r1.x
    mul r1.x, r2.x, r1.x
    rcp r1.y, c97.x
    mul r1.x, r1.x, r1.y
    slt r1.x, r1.x, c4.w
    mov r2.w, c4.w
    add r1.y, r2.w, -c97.w
    mad r1.y, c97.w, r1.w, r1.y
    mul r1.y, r1.y, c97.z
    mad r1.z, v1.w, c5.x, c5.x
    mul r1.y, r1.y, r1.z
    mul r1.x, r1.x, r1.y
    mul o3.z, r0.w, r1.x
    mul r1, r0.y, c1
    mad r1, r0.x, c0, r1
    mad r0, r0.z, c2, r1
    add r0, r0, c3
    mul r1.xy, r0.w, c82
    mul r1.z, r0.w, c5.x
    mul r2.xy, c98, v1.x
    mad r2.xy, r2, c93.x, r0
    mad r0.x, r0.w, -c81.z, r2.x
    mad r0.y, r0.w, c81.w, r2.y
    mad r1.zw, r0.xyxy, c5.xyxy, r1.z
    mad o1.xy, r1.zwzw, c82.zwzw, r1
    mul r1.xy, r0.w, c10.zwzw
    mad o1.zw, r0.xyxy, c10.xyxy, r1.xyxy
    mov o0, r0
    mov o2.z, r0.w
    mov o2.xy, c9.xwzw
    mov o2.w, c12.x
    mov o3.y, v1.y

// approximately 185 instruction slots used
 