text: //
  // Generated by Microsoft (R) HLSL Shader Compiler 9.30.9200.20499
  //
  //
  ///
  // Buffer Definitions: 
  //
  // cbuffer $Globals
  // {
  //
  //   float4 _Time;                      // Offset:    0 Size:    16 [unused]
  //   float4 _SinTime;                   // Offset:   16 Size:    16 [unused]
  //   float4 _CosTime;                   // Offset:   32 Size:    16 [unused]
  //   float4 var_DeltaTime;              // Offset:   48 Size:    16 [unused]
  //   float3 _WorldSpaceCameraPos;       // Offset:   64 Size:    12 [unused]
  //   float4 _ProjectionParams;          // Offset:   80 Size:    16 [unused]
  //   float4 _ScreenParams;              // Offset:   96 Size:    16 [unused]
  //   float4 _ZBufferParams;             // Offset:  112 Size:    16 [unused]
  //   float4 var_OrthoParams;            // Offset:  128 Size:    16 [unused]
  //   float4 var_CameraWorldClipPlanes[6];// Offset:  144 Size:    96 [unused]
  //   float4x4 var_CameraProjection;     // Offset:  240 Size:    64 [unused]
  //   float4x4 var_CameraInvProjection;  // Offset:  304 Size:    64 [unused]
  //   float4 _WorldSpaceLightPos0;       // Offset:  368 Size:    16 [unused]
  //   float4 _LightPositionRange;        // Offset:  384 Size:    16 [unused]
  //   float4 var_4LightPosX0;            // Offset:  400 Size:    16 [unused]
  //   float4 var_4LightPosY0;            // Offset:  416 Size:    16 [unused]
  //   float4 var_4LightPosZ0;            // Offset:  432 Size:    16 [unused]
  //   float4 var_4LightAtten0;           // Offset:  448 Size:    16 [unused]
  //   float4 var_LightColor[8];          // Offset:  464 Size:   128 [unused]
  //   float4 var_LightPosition[8];       // Offset:  592 Size:   128 [unused]
  //   float4 var_LightAtten[8];          // Offset:  720 Size:   128 [unused]
  //   float4 var_SpotDirection[8];       // Offset:  848 Size:   128 [unused]
  //   float4 var_SHAr;                   // Offset:  976 Size:    16 [unused]
  //   float4 var_SHAg;                   // Offset:  992 Size:    16 [unused]
  //   float4 var_SHAb;                   // Offset: 1008 Size:    16 [unused]
  //   float4 var_SHBr;                   // Offset: 1024 Size:    16 [unused]
  //   float4 var_SHBg;                   // Offset: 1040 Size:    16 [unused]
  //   float4 var_SHBb;                   // Offset: 1056 Size:    16 [unused]
  //   float4 var_SHC;                    // Offset: 1072 Size:    16 [unused]
  //   float3 var_LightColor0;            // Offset: 1088 Size:    12 [unused]
  //   float3 var_LightColor1;            // Offset: 1104 Size:    12 [unused]
  //   float3 var_LightColor2;            // Offset: 1120 Size:    12 [unused]
  //   float3 var_LightColor3;            // Offset: 1136 Size:    12 [unused]
  //   float4 var_ShadowSplitSpheres[4];  // Offset: 1152 Size:    64 [unused]
  //   float4 var_ShadowSplitSqRadii;     // Offset: 1216 Size:    16 [unused]
  //   float4 var_LightShadowBias;        // Offset: 1232 Size:    16 [unused]
  //   float4 _LightSplitsNear;           // Offset: 1248 Size:    16 [unused]
  //   float4 _LightSplitsFar;            // Offset: 1264 Size:    16 [unused]
  //   float4x4 var_World2Shadow[4];      // Offset: 1280 Size:   256 [unused]
  //   float4 _LightShadowData;           // Offset: 1536 Size:    16 [unused]
  //   float4 var_ShadowFadeCenterAndType;// Offset: 1552 Size:    16 [unused]
  //   float4x4 glstate_matrix_mvp;       // Offset: 1568 Size:    64 [unused]
  //   float4x4 glstate_matrix_modelview0;// Offset: 1632 Size:    64 [unused]
  //   float4x4 glstate_matrix_invtrans_modelview0;// Offset: 1696 Size:    64 [unused]
  //   float4x4 _Object2World;            // Offset: 1760 Size:    64 [unused]
  //   float4x4 _World2Object;            // Offset: 1824 Size:    64 [unused]
  //   float4 var_LODFade;                // Offset: 1888 Size:    16 [unused]
  //   float4x4 glstate_matrix_transpose_modelview0;// Offset: 1904 Size:    64 [unused]
  //   float4x4 glstate_matrix_projection;// Offset: 1968 Size:    64 [unused]
  //   float4 glstate_lightmodel_ambient; // Offset: 2032 Size:    16 [unused]
  //   float4x4 var_MatrixV;              // Offset: 2048 Size:    64 [unused]
  //   float4x4 var_MatrixVP;             // Offset: 2112 Size:    64 [unused]
  //   float4 var_AmbientSky;             // Offset: 2176 Size:    16 [unused]
  //   float4 var_AmbientGround;          // Offset: 2192 Size:    16 [unused]
  //   float4 var_FogColor;               // Offset: 2208 Size:    16 [unused]
  //   float4 var_FogParams;              // Offset: 2224 Size:    16 [unused]
  //   float4 var_ColorSpaceGrey;         // Offset: 2240 Size:    16 [unused]
  //   float4 var_ColorSpaceDouble;       // Offset: 2256 Size:    16 [unused]
  //   float _TessEdge;                   // Offset: 2272 Size:     4
  //   float _Displacement;               // Offset: 2276 Size:     4 [unused]
  //
  // }
  //
  //
  // Resource Bindings:
  //
  // Name                                 Type  Format         Dim Slot Elements
  // ------------------------------ ---------- ------- ----------- ---- --------
  // $Globals                          cbuffer      NA          NA    0        1
  //
  //
  //
  // Patch Constant signature:
  //
  // Name                 Index   Mask Register SysValue  Format   Used
  // -------------------- ----- ------ -------- -------- ------- ------
  // SV_TessFactor            0   x           0  TRIEDGE   float   x   
  // POS                      3    yzw        0     NONE   float    yzw
  // SV_TessFactor            1   x           1  TRIEDGE   float   x   
  // POS                      4    yzw        1     NONE   float    yzw
  // SV_TessFactor            2   x           2  TRIEDGE   float   x   
  // POS                      5    yzw        2     NONE   float    yzw
  // SV_InsideTessFactor      0   x           3   TRIINT   float   x   
  // POS                      6    yzw        3     NONE   float    yzw
  // POS                      7   xyz         4     NONE   float   xyz 
  // POS                      8   xyz         5     NONE   float   xyz 
  // CENTER                   0   xyz         6     NONE   float   xyz 
  // NORMAL                   3   xyz         7     NONE   float   xyz 
  // NORMAL                   4   xyz         8     NONE   float   xyz 
  // NORMAL                   5   xyz         9     NONE   float   xyz 
  //
  //
  // Input signature:
  //
  // Name                 Index   Mask Register SysValue  Format   Used
  // -------------------- ----- ------ -------- -------- ------- ------
  // POS                      0   xyzw        0     NONE   float   xyz 
  // NORMAL                   0   xyz         1     NONE   float   xyz 
  // TEXCOORD                 0   xy          2     NONE   float   xy  
  //
  //
  // Output signature:
  //
  // Name                 Index   Mask Register SysValue  Format   Used
  // -------------------- ----- ------ -------- -------- ------- ------
  // POS                      0   xyz         0     NONE   float   xyz 
  // NORMAL                   0   xyz         1     NONE   float   xyz 
  // TEXCOORD                 0   xy          2     NONE   float   xy  
  //
  // Tessellation Domain   # of control points
  // -------------------- --------------------
  // Triangle                                3
  //
  // Tessellation Output Primitive  Partitioning Type 
  // ------------------------------ ------------------
  // Clockwise Triangles            Odd Fractional    
  //
  hs_5_0
  hs_decls 
  dcl_input_control_point_count 3
  dcl_output_control_point_count 3
  dcl_tessellator_domain domain_tri
  dcl_tessellator_partitioning partitioning_fractional_odd
  dcl_tessellator_output_primitive output_triangle_cw
  dcl_globalFlags refactoringAllowed | skipOptimization
  dcl_constantbuffer cb0[143], immediateIndexed
  hs_control_point_phase 
  dcl_input vOutputControlPointID
  dcl_input v[3][0].xyz
  dcl_input v[3][1].xyz
  dcl_input v[3][2].xy
  dcl_output o0.xyz
  dcl_output o1.xyz
  dcl_output o2.xy
  dcl_temps 3
  mov r0.x, vOutputControlPointID
  mov r0.yzw, v[r0.x + 0][0].xxyz
  mov r1.xyz, v[r0.x + 0][1].xyzx
  mov r2.xy, v[r0.x + 0][2].xyxx
  mov o0.xyz, r0.yzwy
  mov o1.xyz, r1.xyzx
  mov o2.xy, r2.xyxx
  ret 
  hs_join_phase 
  dcl_input vicp[3][0].xyz
  dcl_input vicp[3][1].xyz
  dcl_output_siv o0.x, finalTriUeq0EdgeTessFactor
  dcl_output o0.yzw
  dcl_output_siv o1.x, finalTriVeq0EdgeTessFactor
  dcl_output o1.yzw
  dcl_output_siv o2.x, finalTriWeq0EdgeTessFactor
  dcl_output o2.yzw
  dcl_output_siv o3.x, finalTriInsideTessFactor
  dcl_output o3.yzw
  dcl_output o4.xyz
  dcl_output o5.xyz
  dcl_output o6.xyz
  dcl_output o7.xyz
  dcl_output o8.xyz
  dcl_output o9.xyz
  dcl_temps 17
  mov r0.x, cb0[142].x
  mov r0.x, r0.x
  mov r0.x, r0.x
  mov r0.y, cb0[142].x
  mov r1.xyz, vicp[0][0].xyzx
  mov r2.xyz, vicp[1][0].xyzx
  mov r3.xyz, vicp[2][0].xyzx
  mov r4.xyz, vicp[0][1].xyzx
  mov r5.xyz, vicp[1][1].xyzx
  mov r6.xyz, vicp[2][1].xyzx
  mul r7.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  add r7.xyz, r2.xyzx, r7.xyzx
  mov r8.xyz, -r1.xyzx
  add r8.xyz, r2.xyzx, r8.xyzx
  dp3 r0.z, r8.xyzx, r4.xyzx
  mul r8.xyz, r4.xyzx, r0.zzzz
  mov r8.xyz, -r8.xyzx
  add r7.xyz, r7.xyzx, r8.xyzx
  div r7.xyz, r7.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
  mul r8.xyz, r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  add r8.xyz, r1.xyzx, r8.xyzx
  mov r9.xyz, -r2.xyzx
  add r9.xyz, r1.xyzx, r9.xyzx
  dp3 r0.z, r9.xyzx, r5.xyzx
  mul r9.xyz, r5.xyzx, r0.zzzz
  mov r9.xyz, -r9.xyzx
  add r8.xyz, r8.xyzx, r9.xyzx
  div r8.xyz, r8.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
  mul r9.xyz, r2.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  add r9.xyz, r3.xyzx, r9.xyzx
  mov r10.xyz, -r2.xyzx
  add r10.xyz, r3.xyzx, r10.xyzx
  dp3 r0.z, r10.xyzx, r5.xyzx
  mul r10.xyz, r5.xyzx, r0.zzzz
  mov r10.xyz, -r10.xyzx
  add r9.xyz, r9.xyzx, r10.xyzx
  div r9.xyz, r9.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
  mul r10.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  add r10.xyz, r2.xyzx, r10.xyzx
  mov r11.xyz, -r3.xyzx
  add r11.xyz, r2.xyzx, r11.xyzx
  dp3 r0.z, r11.xyzx, r6.xyzx
  mul r11.xyz, r6.xyzx, r0.zzzz
  mov r11.xyz, -r11.xyzx
  add r10.xyz, r10.xyzx, r11.xyzx
  div r10.xyz, r10.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
  mul r11.xyz, r3.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  add r11.xyz, r1.xyzx, r11.xyzx
  mov r12.xyz, -r3.xyzx
  add r12.xyz, r1.xyzx, r12.xyzx
  dp3 r0.z, r12.xyzx, r6.xyzx
  mul r12.xyz, r6.xyzx, r0.zzzz
  mov r12.xyz, -r12.xyzx
  add r11.xyz, r11.xyzx, r12.xyzx
  div r11.xyz, r11.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
  mul r12.xyz, r1.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  add r12.xyz, r3.xyzx, r12.xyzx
  mov r13.xyz, -r1.xyzx
  add r13.xyz, r3.xyzx, r13.xyzx
  dp3 r0.z, r13.xyzx, r4.xyzx
  mul r13.xyz, r4.xyzx, r0.zzzz
  mov r13.xyz, -r13.xyzx
  add r12.xyz, r12.xyzx, r13.xyzx
  div r12.xyz, r12.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
  add r13.xyz, r7.xyzx, r8.xyzx
  add r13.xyz, r9.xyzx, r13.xyzx
  add r13.xyz, r10.xyzx, r13.xyzx
  add r13.xyz, r11.xyzx, r13.xyzx
  add r13.xyz, r12.xyzx, r13.xyzx
  div r13.xyz, r13.xyzx, l(6.000000, 6.000000, 6.000000, 0.000000)
  add r14.xyz, r1.xyzx, r2.xyzx
  add r14.xyz, r3.xyzx, r14.xyzx
  div r14.xyz, r14.xyzx, l(3.000000, 3.000000, 3.000000, 0.000000)
  mov r14.xyz, -r14.xyzx
  add r14.xyz, r13.xyzx, r14.xyzx
  div r14.xyz, r14.xyzx, l(2.000000, 2.000000, 2.000000, 0.000000)
  add r13.xyz, r13.xyzx, r14.xyzx
  mov r14.xyz, -r1.xyzx
  add r14.xyz, r2.xyzx, r14.xyzx
  add r15.xyz, r4.xyzx, r5.xyzx
  dp3 r0.z, r14.xyzx, r15.xyzx
  mul r0.z, r0.z, l(2.000000)
  mov r14.xyz, -r1.xyzx
  add r14.xyz, r2.xyzx, r14.xyzx
  mov r15.xyz, -r1.xyzx
  add r15.xyz, r2.xyzx, r15.xyzx
  dp3 r0.w, r14.xyzx, r15.xyzx
  div r0.z, r0.z, r0.w
  add r14.xyz, r4.xyzx, r5.xyzx
  mov r15.xyz, -r1.xyzx
  add r15.xyz, r2.xyzx, r15.xyzx
  mul r15.xyz, r0.zzzz, r15.xyzx
  mov r15.xyz, -r15.xyzx
  add r14.xyz, r14.xyzx, r15.xyzx
  dp3 r0.z, r14.xyzx, r14.xyzx
  rsq r0.z, r0.z
  mul r14.xyz, r0.zzzz, r14.xyzx
  mov r15.xyz, -r2.xyzx
  add r15.xyz, r3.xyzx, r15.xyzx
  add r16.xyz, r5.xyzx, r6.xyzx
  dp3 r0.z, r15.xyzx, r16.xyzx
  mul r0.z, r0.z, l(2.000000)
  mov r15.xyz, -r2.xyzx
  add r15.xyz, r3.xyzx, r15.xyzx
  mov r16.xyz, -r2.xyzx
  add r16.xyz, r3.xyzx, r16.xyzx
  dp3 r0.w, r15.xyzx, r16.xyzx
  div r0.z, r0.z, r0.w
  add r5.xyz, r5.xyzx, r6.xyzx
  mov r2.xyz, -r2.xyzx
  add r2.xyz, r2.xyzx, r3.xyzx
  mul r2.xyz, r0.zzzz, r2.xyzx
  mov r2.xyz, -r2.xyzx
  add r2.xyz, r2.xyzx, r5.xyzx
  dp3 r0.z, r2.xyzx, r2.xyzx
  rsq r0.z, r0.z
  mul r2.xyz, r0.zzzz, r2.xyzx
  mov r5.xyz, -r3.xyzx
  add r5.xyz, r1.xyzx, r5.xyzx
  add r15.xyz, r4.xyzx, r6.xyzx
  dp3 r0.z, r5.xyzx, r15.xyzx
  mul r0.z, r0.z, l(2.000000)
  mov r5.xyz, -r3.xyzx
  add r5.xyz, r1.xyzx, r5.xyzx
  mov r15.xyz, -r3.xyzx
  add r15.xyz, r1.xyzx, r15.xyzx
  dp3 r0.w, r5.xyzx, r15.xyzx
  div r0.z, r0.z, r0.w
  add r4.xyz, r4.xyzx, r6.xyzx
  mov r3.xyz, -r3.xyzx
  add r1.xyz, r1.xyzx, r3.xyzx
  mul r1.xyz, r0.zzzz, r1.xyzx
  mov r1.xyz, -r1.xyzx
  add r1.xyz, r1.xyzx, r4.xyzx
  dp3 r0.z, r1.xyzx, r1.xyzx
  rsq r0.z, r0.z
  mul r1.xyz, r0.zzzz, r1.xyzx
  mov o0.yzw, r7.xxyz
  mov o1.yzw, r8.xxyz
  mov o2.yzw, r9.xxyz
  mov o3.yzw, r10.xxyz
  mov o4.xyz, r11.xyzx
  mov o5.xyz, r12.xyzx
  mov o6.xyz, r13.xyzx
  mov o7.xyz, r14.xyzx
  mov o8.xyz, r2.xyzx
  mov o9.xyz, r1.xyzx
  mov o0.x, r0.x
  mov o1.x, r0.x
  mov o2.x, r0.x
  mov o3.x, r0.y
  ret 
  // Approximately 160 instruction slots used
  