//
// Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
//
// Parameters:
//
//   float FloatParameter_Attachment_Lightness;
//   float FloatParameter_Attachment_Soupleness;
//   float FloatParameter_Main_Soupleness;
//   float4 Vector4Parameter_Cloth_Attachment_Point_Offset;
//   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_Attachment_Soupleness           c4       1
//   FloatParameter_Main_Soupleness                 c5       1
//   Vector4Parameter_Cloth_Attachment_Point_Offset c6       1
//   FloatParameter_Attachment_Lightness            c7       1
//   global_FogPropertyMatrix                       c234     3
//   global_Data                                    c238     1
//   global_ViewProjection                          c247     4
//   global_ViewPos                                 c251     1
//

    vs_3_0
    def c8, 1, 0, 0.0900000036, 0.100000001
    def c9, 2, -1, 3, 0
    def c10, 0.170000002, 0.370000005, 1.97500002, 0.792999983
    def c11, 0.699999988, 0.300000012, 0, 0
    def c12, 0.200000003, 0.100000001, 0.5, 0.0500000007
    def c13, 1.97500002, 0.792999983, 0.5, 0
    dcl_color v0  // In<0,1,2,3>
    dcl_position v1  // In<4,5,6>
    dcl_texcoord v2  // In<7,8>
    dcl_normal v3  // In<9,10,11>
    dcl_binormal v4  // In<12,13,14>
    dcl_tangent v5  // In<15,16,17>
    dcl_position o0
    dcl_texcoord o1.xy
    dcl_texcoord1 o2.xyz
    dcl_texcoord2 o3.xyz
    dcl_texcoord3 o4.xyz
    dcl_texcoord4 o5.xyz
    dcl_texcoord5 o6.x
    dcl_texcoord6 o7.x

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

#line 48
    add r0.w, r1_abs.y, r1_abs.x  // ::Local11<0>

#line 38
    mul r1.x, c4.x, v0.y  // ::Local2<0>
    mul r1.y, r1.x, v0.w  // ::Local3<0>
    mul r1.y, r1.y, c12.x  // ::Local4<0>

#line 76
    mov r2.xzw, c8
    mul r1.zw, r2, c251.w  // ::Local31<0>, ::Local0<0>

#line 41
    mad r1.y, c238.x, r1.w, r1.y  // ::Local5<0>

#line 50
    mad r0.w, r0.w, c12.z, r1.y  // ::Local13<0>

#line 70
    mov r3.z, c12.z
    mad r3, r0.w, c10, r3.z
    frc r3, r3
    mad r3, r3, c9.x, c9.y
    mul r4, r3_abs, r3_abs
    mad r3, r3_abs, -c9.x, c9.z
    mul r3, r3, r4  // ::Local16<0>, ::Local19<0>, ::Local24<0>, ::Local27<0>
    add r2.yw, r3, r3.xxzz  // ::Local20<0>, ::Local28<0>

#line 62
    mul r0.w, r2.y, c12.z  // ::Local21<0>

#line 74
    mul r0.w, r0.w, r2.w
    mul r0.w, r0.w, c12.z  // ::Local30<0>
    mad r1.y, c251.w, -r2.z, r2.x  // ::Local32<0>
    mad r0.w, r0.w, r1.y, r1.z  // ::Local34<0>
    mul r0.w, r0.w, c251.w  // ::Local35<0>

#line 116
    mad r1.y, r0.w, -c8.w, c8.x  // ::Local67<0>

#line 81
    mul r2.xz, r0.w, c238.zyww  // ::Local36<0,2>

#line 119
    mad r0.w, r1.y, c11.x, c11.y  // ::Local70<0>

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

#line 137
    mad r3, v1.xyzx, c8.xxxy, c8.yyyx
    dp4 r4.x, c0, r3  // ::worldPosition<0>
    dp4 r4.y, c1, r3  // ::worldPosition<1>
    dp4 r4.z, c2, r3  // ::worldPosition<2>
    dp4 r4.w, c3, r3  // ::worldPosition<3>

#line 98
    dp3 r1.z, r4, -r1.w  // ::Local53<0>
    mul r1.z, r1.z, r1.x

#line 83
    mul r1.x, r1.x, c5.x  // ::Local38<0>
    mad r1.x, v0.x, c5.x, r1.x  // ::Local39<0>

#line 100
    mul r1.z, r1.z, c12.w  // ::Local55<0>
    mad r1.y, r1.y, c12.x, r1.z  // ::Local56<0>
    add r1.y, r1.y, v0.w  // ::Local57<0>

#line 110
    mad r1.yz, r1.y, c13.xxyw, c13.z
    frc r1.yz, r1
    mad r1.yz, r1, c9.x, c9.y
    mul r3.xy, r1_abs.yzzw, r1_abs.yzzw
    mad r1.yz, r1_abs, -c9.x, c9.z
    mul r1.yz, r1, r3.xxyw  // ::Local60<0>, ::Local63<0>
    add r1.y, r1.z, r1.y  // ::Local64<0>
    mul r3.x, r1.y, c12.z  // ::Local65<0>

#line 121
    mov r3.yz, c8.xxyw
    mul r1.yzw, r0.w, r3.xxyx  // ::Local71<1>
    mul r1.yzw, r1, r3.xzxz  // ::Local72<0,1,0>

#line 87
    mov r0.y, c1.w
    add r0.xyz, r0, c6  // ::Local42<0,1,2>
    add r0.xyz, -r0, r4  // ::Local43<0,1,2>

#line 81
    mov r2.y, c8.y  // ::Local36<1>

#line 89
    mad r2.xyz, r2, r1.x, r0  // ::Local44<0,1,2>
    nrm r3.xyz, r2  // ::Local45<0,1,2>
    dp3 r0.w, r0, r0
    rsq r0.w, r0.w
    rcp r0.w, r0.w  // ::Local47<0>
    mad r0.xyz, r3, r0.w, -r0  // ::Local49<0,1,2>

#line 122
    mul r0.w, c7.x, v0.z  // ::Local73<0>
    mad r0.xyz, r1.yzww, r0.w, r0  // ::Local75<0,1,2>

#line 140
    mov r0.w, c8.y
    add r0, r0, r4  // ::worldPosition<0,1,2,3>

#line 143
    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 150
    nrm r1.xyz, v3  // ::localNormalNormalized<0,1,2>

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

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

#line 161
    nrm r1.xyz, v4  // ::localBinormalNormalized<0,1,2>

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

#line 167
    dp3 r0.w, r2, r2
    rsq r0.w, r0.w
    mul o3.xyz, r0.w, r2  // ::main<9,10,11>

#line 172
    nrm r1.xyz, v5  // ::localTangentNormalized<0,1,2>

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

#line 178
    dp3 r0.w, r2, r2
    rsq r0.w, r0.w
    mul o4.xyz, r0.w, r2  // ::main<12,13,14>

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

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

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

#line 183
    mov o5.xyz, r0  // ::main<15,16,17>

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

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

#line 188
    rcp r0.z, r1.x

#line 195
    rcp r1.x, r1.y
    mul_sat o7.x, r0.y, r1.x  // ::main<19>

#line 188
    mul_sat r0.x, r0.z, r0.x  // ::depthValue<0>
    max r0.x, r0.w, r0.x
    min o6.x, r0.x, c8.x  // ::main<18>

#line 148
    mov o1.xy, v2  // ::main<4,5>

// approximately 120 instruction slots used
 