//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float4 Acceleration_Delta;
//   float4 EmitterParamLifeAndSpeed;
//   float3 EmitterParamPos;
//   float3 EmitterParamPosRange;
//   row_major float4x4 EmitterTransform;
//   float3 EmitterVelocityBoxPos;
//   float4 EmitterVelocityBoxRange;
//   sampler2D InitPositionTexSampler;
//   sampler2D InitVelocityTexSampler;
//   sampler2D NoiseTexSampler;
//   sampler2D ParticlePosXYTexSampler;
//   sampler2D ParticlePosZWTexSampler;
//   float3 gCollisionVelocityModifier;
//   float4 gDispersalSettings;
//   bool gFirstTimeUpdate;
//
//
// Registers:
//
//   Name                       Reg   Size
//   -------------------------- ----- ----
//   gFirstTimeUpdate           b0       1
//   EmitterTransform           c64      4
//   Acceleration_Delta         c68      1
//   EmitterParamPos            c69      1
//   EmitterParamPosRange       c70      1
//   EmitterParamLifeAndSpeed   c71      1
//   EmitterVelocityBoxPos      c72      1
//   EmitterVelocityBoxRange    c73      1
//   gCollisionVelocityModifier c74      1
//   gDispersalSettings         c75      1
//   ParticlePosXYTexSampler    s0       1
//   ParticlePosZWTexSampler    s1       1
//   NoiseTexSampler            s2       1
//   InitPositionTexSampler     s3       1
//   InitVelocityTexSampler     s4       1
//

    ps_3_0
    def c219, 1.8395173895e+25, 3.9938258725e+24, 4.5435787456e+30, 6.8663624752e-44 // 49
    def c0, 0.200000003, 0.999499977, 0, 0
    def c1, 0.0625, 2, -1, -0
    dcl_texcoord v0.xy
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s3
    dcl_2d s4
    if b0
      texld r0, v0, s3
      texld r1, v0, s4
      mov r2.x, r0.w
      mov r3.y, r1.w
    else
      texld r0, v0, s0
      texld r1, v0, s1
      mov r2.x, r0.w
      mov r3.y, r1.w
    endif
    add r3.x, r2.x, -c68.w
    mad r2.xy, r0, c1.x, v0
    texld r2, r2, s2
    texld r4, v0, s2
    mad r4.xyz, r4, c1.y, c1.z
    mov r5.xyz, c73
    mad r4.xyz, r5, r4, c72
    mad r2.xyz, r2.wzyw, c1.y, c1.z
    mov r5.xyz, c67
    mad r2.xyz, c70, r2, r5
    mov r5.yz, c69
    mul r5.xyw, r5.y, -c66.xyzz
    mad r2.xyz, r5.xyww, -c1.zzww, r2
    mad r2.xyz, r5.z, -c1.wwzw, r2
    add r3.zw, r2.xyxy, -c67.xyxy
    dp2add r0.w, r3.zwzw, r3.zwzw, -c1.w
    rsq r0.w, r0.w
    rcp r0.w, r0.w
    add r0.w, r0.w, -c75.x
    mov r3.z, c1.z
    mad r1.w, r0.w, c75.y, -r3.z
    cmp r0.w, r0.w, r1.w, -c1.z
    lrp r5.xy, r0.w, r2, c67
    mov r5.z, r2.z
    mad r2.xyz, r4, -c0.x, r5
    mad r5.x, c71.z, r2.w, c71.w
    cmp r0.xyz, -r3.x, r2, r0
    cmp r1.xyz, -r3.x, r4, r1
    mov r5.y, -c1.w
    cmp r2.xy, -r3.x, r5, r3
    mad oC0.xyz, r1, c68.w, r0
    mov r0.y, c0.y
    cmp r0.xyz, -r2.y, r0.y, c74
    mad r1.xyz, c68, c68.w, r1
    mul oC1.xyz, r0, r1
    mov oC0.w, r2.x
    mov oC1.w, r2.y

// approximately 51 instruction slots used (6 texture, 45 arithmetic)
