//smoke around fireball - Pass the stereo params into the Pixel Shaders
// Generated by Microsoft (R) HLSL Shader Compiler 9.27.952.3022
//
// Parameters:
//
//   float4x4 inv_view;
//   float4x4 projection;
//   float4x4 view;
//
//
// Registers:
//
//   Name         Reg   Size
//   ------------ ----- ----
//   view         c0       4
//   projection   c4       4
//   inv_view     c8       4
//

    vs_3_0
    def c12, -0.0349065848, 0.0174532924, 6.28318548, 0.159154937
    def c13, 0, 0.100000001, -1, 10
    def c14, -2, -3, -4, -5
    def c15, 360, 0.5, 8741, 2521
    def c16, 6.28318548, -3.14159274, 0.501960993, 1
    def c17, 1, -1, -0.5, 0.5
    def c18, 0.015625, 0.125, 0.800000012, 0.75
    def c19, 9.99999975e-005, 8, -0.999000013, 64
    def c20, 1, -1, -0, 0
    def c21, -0.25, -0.100000001, 0.25, 0.100000001
    def c22, 0.75, 0.25, 0, 0
    def c23, 0.501960993, 1, 0.25, 0.349020004
    def c24, 0, 1, 0.125, -0
def c220, 0, 0, 0.0625, 0
dcl_2d s1

    dcl_texcoord v0
    dcl_position v1
    dcl_texcoord1 v2
    dcl_position2 v3
    dcl_position5 v4
    dcl_position6 v5
    dcl_position o0
    dcl_color o1
    dcl_texcoord o2.xy
    dcl_texcoord1 o3
    dcl_texcoord2 o4
    dcl_texcoord3 o5
    dcl_texcoord4 o6.xyz
    dcl_texcoord5 o7.xy
    dcl_texcoord6 o8.xyz
    dcl_texcoord7 o9.xyz

dcl_texcoord8 o10

texldl r24, c220.z, s1
mov o10.xy, r24.xy
	
    mov r0.x, v1.x
    add r0.y, -r0.x, v3.w
    sge r0.z, c13.x, r0.y
    sge r0.w, r0.y, v1.y
    add r0.z, r0.w, r0.z
    sge o4.z, -r0.z, r0.z
    if_lt -r0.z, r0.z
      mov o0, c13.x
      mov o1, c13.x
      mov o3, c13.x
      mov o5, c13.x
      mov o4.xyw, c13.x
      mov o6.xyz, c13.x
      mov o8.xyz, c13.x
      mov o9.xyz, c13.x
      mov o2.xy, c13.x
      mov o7.xy, c13.x
    else
      add r0.z, c13.y, v1.z
      frc r0.w, r0.z
      add r0.z, -r0.w, r0.z
      add r1, r0.z, c14
      sge r1, -r1_abs, r1_abs
      add r0.w, r0.z, c13.z
      sge r0.zw, -r0_abs, r0_abs
      rcp r2.x, v1.y
      mul r0.x, r0.y, r2.x
      mul r2.y, c13.y, v1.w
      frc r2.z, r2_abs.y
      sge r2.y, r2.y, -r2.y
      lrp r3.x, r2.y, r2.z, -r2.z
      mul r2.y, r3.x, c13.w
      mad r2.z, r3.x, -c13.w, v1.w
      mul o6.z, r2.z, c13.y
      add r2.z, r1.x, r0.w
      slt r2.z, -r2.z, r2.z
      add r2.z, r1.y, r2.z
      slt r2.z, -r2.z, r2.z
      add r2.z, r1.z, r2.z
      slt r2.z, -r2.z, r2.z
      add r2.z, r1.w, r2.z
      slt r2.z, -r2.z, r2.z
      mul r3.xy, r0.w, c15
      mul r4, r1, c15.x
      add r2.w, r3.x, r4.x
      add r2.w, r4.y, r2.w
      add r2.w, r4.z, r2.w
      add r2.w, r4.w, r2.w
      mul r4, r1.yzyz, c21
      add r3.xz, r4.yyww, r4
      mul r4.xy, c15.zwzw, v2.x
      frc r4.xy, r4
      mul r2.w, r2.w, r4.x
      lrp r5.x, r4.y, r3.z, r3.x
      slt r3.x, r5.x, c13.x
      mul r3.x, r2.w, r3.x
      mul r3.x, r3.x, c12.x
      mad r2.w, r2.w, c12.y, r3.x
      mul r3.x, r5.x, c12.z
      mov_sat r3.z, r0.x
      mad r2.w, r3.x, r3.z, r2.w
      mul r2.w, r2.w, c12.w
      frc r3.x, r2_abs.w
      sge r2.w, r2.w, -r2.w
      lrp r4.x, r2.w, r3.x, -r3.x
      add r2.w, r4.x, c15.y
      frc r2.w, r2.w
      mad r2.w, r2.w, c16.x, c16.y
      sincos r4.xy, r2.w
      mad r4, r4.xyyx, c20.xxyx, c20.yzzy
      mad r4, r2.z, r4, c13_abs.zxxz
      add r2.z, r0.w, r0.z
      slt r2.w, -r2.z, r2.z
      add r3.x, r1.x, r2.w
      slt r3.x, -r3.x, r3.x
      add r3.x, r1.y, r3.x
      slt r3.z, -r3.x, r3.x
      add r3.z, r1.z, r3.z
      slt r3.z, -r3.z, r3.z
      add r3.z, r1.w, r3.z
      slt r3.w, -r3.z, r3.z
      mad r3.y, r0.z, c15.y, r3.y
      mad r3.y, r1.x, c15.y, r3.y
      mad r3.y, r1.y, c15.y, r3.y
      mad r5.x, r1.z, c15.y, r3.y
      mad r5.x, r1.w, c15.y, r5.x
      mad r6, v3.xyzx, c20.xxxw, c20.zzzx
      dp4 r7.x, r6, c0
      dp4 r7.y, r6, c1
      dp4 r8.z, r6, c2
      dp4 r8.w, r6, c3
      add r5.x, r5.x, -c15.y
      add r5, r5.x, v0.xyxy
      mad r5, r5, c17.xyxy, c17.zwzw
      mul r5, r5, v4.zwzw
      mul r5, r4.xzyw, r5
      add r5.xy, r5.ywzw, r5.xzzw
      add r8.xy, r5, r7
      dp4 r5.x, r8, c4
      dp4 r5.y, r8, c5
      dp4 r5.z, r8, c6
      dp4 r5.w, r8, c7
	  
      dp4 r6.x, r8, c8
      dp4 r6.y, r8, c9
      dp4 r6.z, r8, c10
      dp4 r6.w, r8, c11
	  
      mul o0, r3.w, r5	
		
      mul o3, r3.w, r6
      if_lt -r3.z, r3.z
        mul r5.xyz, r0.w, c23
        mad r5.xyz, r0.z, c23, r5
        mul r6, r1.xxyy, c16.zwzw
        add r7, r5.xxxy, r6.xxxy
        add r6, r6.zzzw, r7
        mul r7, r1.zzww, c23.xywy
        add r6, r6, r7.xxxy
        add r7, r7.zzzw, r6.zzzw
        mad r6, r1.w, c16.zzzw, r6
        mad r3.w, r1.z, c21.z, r5.z
        mad r3.w, r1.w, c21.z, r3.w
        add r5.x, r1.x, r2.z
        add r5.x, r1.y, r5.x
        add r5.x, r1.z, r5.x
        add r5.x, r1.w, r5.x
        max r5.y, r0.x, r3.w
        min r5.y, r5.x, r5.y
        add r5.y, -r3.w, r5.y
        add r3.w, -r3.w, r5.x
        add r3.w, r3.w, c19.x
        rcp r3.w, r3.w
        mul r3.w, r3.w, r5.y
        add r5, -r7.zzzw, r6
        mad r5, r3.w, r5, r7
        mul r5, r5.wxyz, v5.wxyz
        mov o1.xyz, r5.yzww
      else
        mov o1.xyz, c13.x
        mov r5.x, c13.x
      endif
      if_lt -r3.x, r3.x
        mul r3.x, r0.w, c19.y
        mad r3.x, r0.z, c19.y, r3.x
        add r5.yz, r1.xxyw, r1.xxyw
        add r3.x, r3.x, r5.y
        add r3.x, r5.z, r3.x
        add r3.w, r1.y, r2.z
        mul r5.y, r3.x, r3.x
        mad r5.z, v2.x, r5.y, r3.w
        rcp r5.w, r5.y
        mul r5.z, r5.w, r5.z
        frc r5.w, r5_abs.z
        sge r5.z, r5.z, -r5.z
        lrp r6.x, r5.z, r5.w, -r5.w
        mul r5.y, r5.y, r6.x
        frc r5.z, r5.y
        add r5.w, r5.y, -r5.z
        slt r5.y, r5.y, -r5.y
        slt r5.z, -r5.z, r5.z
        mad r5.y, r5.y, r5.z, r5.w
        lrp r6.x, r2.w, r5.y, r3.w
        rcp r2.w, r3.x
        mul r3.w, r2.w, r6.x
        frc r5.y, r3_abs.w
        sge r5.z, r3.w, -r3.w
        lrp r6.x, r5.z, r5.y, -r5.y
        frc r5.y, r3.w
        add r5.z, r3.w, -r5.y
        slt r3.w, r3.w, -r3.w
        slt r5.y, -r5.y, r5.y
        mad r3.w, r3.w, r5.y, r5.z
        mad r3.x, r6.x, r3.x, v0.x
        mul r6.x, r2.w, r3.x
        add r3.x, r3.w, v0.y
        mul r6.y, r2.w, r3.x
      else
        mov r6.xy, v0
      endif
      mul r2.w, r0.x, r0.x
      mad r2.w, r2.w, c19.z, r0.x
      mul r3.x, r2.w, c19.w
      frc r3.w, r3.x
      add r3.x, -r3.w, r3.x
      mad r7.z, r2.w, c19.w, -r3.x
      mad r2.w, v2.x, c19.w, r3.x
      mul r2.w, r2.w, c18.x
      frc r3.x, r2_abs.w
      sge r2.w, r2.w, -r2.w
      lrp r5.y, r2.w, r3.x, -r3.x
      mul r2.w, r5.y, c19.w
      frc r3.x, r2.w
      add r2.w, r2.w, -r3.x
      add r3.x, r2.w, -c13.z
      mul r3.x, r3.x, c18.x
      frc r3.w, r3_abs.x
      sge r3.x, r3.x, -r3.x
      lrp r5.y, r3.x, r3.w, -r3.w
      mul r3.x, r5.y, c19.w
      frc r3.w, r3.x
      add r3.x, -r3.w, r3.x
      mul r2.w, r2.w, c18.y
      frc r3.w, r2_abs.w
      sge r5.y, r2.w, -r2.w
      lrp r6.z, r5.y, r3.w, -r3.w
      frc r3.w, r2.w
      add r2.w, r2.w, -r3.w
      mad r3.w, r6.z, c19.y, r6.x
      mul r8.x, r3.w, c18.y
      add r2.w, r2.w, r6.y
      mul r8.y, r2.w, c18.y
      mul r2.w, r3.x, c18.y
      frc r3.x, r2_abs.w
      sge r3.w, r2.w, -r2.w
      lrp r5.y, r3.w, r3.x, -r3.x
      frc r3.x, r2.w
      add r2.w, r2.w, -r3.x
      mad r3.x, r5.y, c19.y, r6.x
      mul r7.x, r1.z, r3.x
      add r2.w, r2.w, r6.y
      mul r7.y, r1.z, r2.w
      add r3.xw, -r6.xyzy, r8.xyzy
      mad r5.yzw, r1.z, c24.xxxy, c24.xzzw
      mul o9.xyz, r7, r5.yzww
      mad o2.xy, r1.z, r3.xwzw, r6
      if_lt -r3.z, r3.z
        add r2.z, r1.x, r2.z
        add r2.z, r1.y, r2.z
        add r2.z, r1.z, r2.z
        mad r2.z, r1.w, c18.z, r2.z
        mul r3.xz, r0.w, c22.xyyw
        mad r0.zw, r0.z, c22.xyxy, r3.xyxz
        mad r0.z, r1.x, c15.y, r0.z
        add r0.z, r1.y, r0.z
        mad r0.z, r1.z, c18.w, r0.z
        mad r0.z, r1.w, c18.z, r0.z
        mad r0.w, r1.x, c21.z, r0.w
        mad r0.w, r1.y, c21.z, r0.w
        mad r0.w, r1.z, c21.z, r0.w
        mad r0.w, r1.w, c21.z, r0.w
        mad r1.x, r1.z, c18.w, r3.y
        mad r1.x, r1.w, c15.y, r1.x
        slt r1.y, r0.x, r0.w
        slt r1.z, r0.x, r1.x
        add r1.w, -r2.z, r0.z
        add r2.w, -r0.w, r1.x
        max r2.w, r2.w, c19.x
        rcp r2.w, r2.w
        mul r1.w, r1.w, r2.w
        mad r0.w, r0.y, r2.x, -r0.w
        mad r0.w, r0.w, r1.w, r2.z
        add r1.w, -r1.x, -c13.z
        max r1.w, r1.w, c19.x
        rcp r1.w, r1.w
        mul r1.w, -r0.z, r1.w
        mad r1.x, r0.y, r2.x, -r1.x
        mad r0.z, r1.x, r1.w, r0.z
        lrp r2.x, r1.z, r0.w, r0.z
        lrp r0.z, r1.y, r2.z, r2.x
        mul o1.w, r0.z, r5.x
      else
        mov o1.w, r5.x
      endif
      mov o5, r4
      mul o4.xyw, c13_abs.zzzx, v4.zwzz
      mov o6.x, v1.z
      mov o6.y, r2.y
      mov o8.xyz, v2
      mov o7.xy, r0
    endif

// approximately 283 instruction slots used
 