//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float FloatParameter_Soupleness;
//   row_major float4x4 WorldMatrix;
//   float4 global_Data;
//   float4x3 global_FogPropertyMatrix;
//   float4 global_ViewPos;
//   row_major float4x4 global_ViewProjection;
//
//
// Registers:
//
//   Name                      Reg   Size
//   ------------------------- ----- ----
//   WorldMatrix               c0       4
//   FloatParameter_Soupleness c4       1
//   global_FogPropertyMatrix  c234     3
//   global_Data               c238     1
//   global_ViewProjection     c247     4
//   global_ViewPos            c251     1
//

    vs_3_0
    def c5, 1, 0, 0.100000001, 0.5
    def c6, 2, -1, 3, 0.0900000036
    def c7, 0.170000002, 0.370000005, 1.97500002, 0.792999983
    dcl_position v0  // In<0,1,2>
    dcl_texcoord v1  // In<3,4>
    dcl_normal v2  // In<5,6,7>
    dcl_position o0
    dcl_texcoord o1.xy
    dcl_texcoord1 o2.xyz
    dcl_texcoord2 o3.xyz
    dcl_texcoord3 o4.x
    dcl_texcoord4 o5.x

#line 31 "c:\Develop\LSProjects\EyesOfAChild\Tools\Glasses\build\memory"
    mov r0.x, c0.w
    mov r0.z, c2.w
    mad r1.xy, r0.xzzw, c5.z, c5.w
    frc r1.xy, r1
    mad r1.xy, r1, c6.x, c6.y

#line 36
    add r0.w, r1_abs.y, r1_abs.x  // ::Local7<0>
    mul r0.w, r0.w, c5.w  // ::Local8<0>

#line 28
    mov r1.w, c251.w  // ::global_ViewPos<3>
    mul r1.x, r1.w, c238.x

#line 38
    mad r0.w, r1.x, c5.z, r0.w  // ::Local9<0>

#line 58
    mov r2.w, c5.w
    mad r2, r0.w, c7, r2.w
    frc r2, r2
    mad r2, r2, c6.x, c6.y
    mul r3, r2_abs, r2_abs
    mad r2, r2_abs, -c6.x, c6.z
    mul r2, r2, r3  // ::Local12<0>, ::Local15<0>, ::Local20<0>, ::Local23<0>
    add r1.xy, r2.ywzw, r2.xzzw  // ::Local16<0>, ::Local24<0>

#line 50
    mul r0.w, r1.x, c5.w  // ::Local17<0>

#line 62
    mul r0.w, r0.w, r1.y
    mul r0.w, r0.w, c5.w  // ::Local26<0>
    mul r1.x, r1.w, c6.w  // ::Local27<0>
    mad r1.y, r1.w, -c6_abs.w, c6_abs.y  // ::Local28<0>
    mad r0.w, r0.w, r1.y, r1.x  // ::Local30<0>
    mul r0.w, r0.w, c251.w  // ::Local31<0>
    mul r1.xz, r0.w, c238.zyww  // ::Local32<0,2>
    mov r1.y, c5.y  // ::Local32<1>
    mul r0.w, c4.x, v0.y  // ::Local34<0>

#line 73
    mov r0.y, c1.w

#line 92
    mad r2, v0.xyzx, c5.xxxy, c5.yyyx
    dp4 r3.x, c0, r2  // ::worldPosition<0>
    dp4 r3.y, c1, r2  // ::worldPosition<1>
    dp4 r3.z, c2, r2  // ::worldPosition<2>
    dp4 r3.w, c3, r2  // ::worldPosition<3>

#line 73
    add r0.xyz, -r0, r3  // ::Local36<0,1,2>
    mad r1.xyz, r1, r0.w, r0  // ::Local37<0,1,2>
    nrm r2.xyz, r1  // ::Local38<0,1,2>
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    rcp r0.w, r0.w  // ::Local40<0>
    mad r0.xyz, r2, r0.w, -r0  // ::Local42<0,1,2>

#line 95
    mov r0.w, c5.y
    add r0, r0, r3  // ::worldPosition<0,1,2,3>

#line 98
    dp4 o0.x, c247, r0  // ::main<0>
    dp4 o0.y, c248, r0  // ::main<1>
    dp4 o0.z, c249, r0  // ::main<2>
    dp4 o0.w, c250, r0  // ::main<3>

#line 105
    nrm r1.xyz, v2  // ::localNormalNormalized<0,1,2>

#line 108
    dp3 r2.x, c0, r1  // ::worldNormal<0>
    dp3 r2.y, c1, r1  // ::worldNormal<1>
    dp3 r2.z, c2, r1  // ::worldNormal<2>

#line 111
    dp3 r0.w, r2, r2
    rsq r0.w, r0.w
    mul o2.xyz, r0.w, r2  // ::main<6,7,8>

#line 122
    add r0.w, r0.y, -c236.z

#line 116
    add r0.xyz, -r0, c251  // ::worldView<0,1,2>

#line 122
    rcp r1.x, c236.w
    mul r0.w, r0.w, r1.x  // ::heightDensity<0>
    dp3 r1.x, r0, r0

#line 116
    mov o3.xyz, r0  // ::main<9,10,11>

#line 121
    rsq r0.x, r1.x
    rcp r0.x, r0.x

#line 128
    add r0.xy, -r0.x, c235.wzzw
    mov r1.zw, c235  // ::global_FogPropertyMatrix<7,10>
    add r1.xy, r1.wzzw, -c234.wzzw

#line 121
    rcp r0.z, r1.x

#line 128
    rcp r1.x, r1.y
    mul_sat o5.x, r0.y, r1.x  // ::main<13>

#line 121
    mul_sat r0.x, r0.z, r0.x  // ::depthValue<0>
    max r0.x, r0.w, r0.x
    min o4.x, r0.x, c5.x  // ::main<12>

#line 103
    mov o1.xy, v1  // ::main<4,5>

// approximately 76 instruction slots used
 