//book & letters
    vs_3_0
    def c24, 1, 0, 0, 0
def c100, 0, 0, 0, 0
def c247, 1.5, 0.5, 0.0625, 2
dcl_2d s0
    dcl_texcoord2 o2.xyz
dcl_texcoord1 o1.xyz
dcl_texcoord3 o3.xyz
dcl_texcoord o0
dcl_position o10
dcl_position v0
    dcl_tangent v1
    dcl_normal v2
    dcl_texcoord v3
    mul r1.xyz, v2, c21.w
    dp3 r2.w, r1, c5
    dp3 r0.x, r1, c4
    dp3 r0.z, r1, c6
    mov r0.y, r2.w
    mov r0.w, c24.x
    mul r1, r0.xyzz, r0.yzzx
    dp4 r2.z, r0, c16
    dp4 r2.y, r0, c15
    dp4 r2.x, r0, c14
    mul r0.w, r2, r2
    mad r0.w, r0.x, r0.x, -r0
    dp4 r0.z, r1, c19
    dp4 r0.y, r1, c18
    dp4 r0.x, r1, c17
    mul r1.xyz, r0.w, c20
    add r0.xyz, r2, r0
    add o2.xyz, r0, r1
    mov r0.w, c24.x
    mov r0.xyz, c12
    dp4 r1.z, r0, c10
    dp4 r1.y, r0, c9
    dp4 r1.x, r0, c8
    mad r3.xyz, r1, c21.w, -v0
    mov r0.xyz, v1
    mul r1.xyz, v2.zxyw, r0.yzxw
    mov r0.xyz, v1
    mad r1.xyz, v2.yzxw, r0.zxyw, -r1
    mul r2.xyz, r1, v1.w
    mov r0, c10
    dp4 r4.z, c13, r0
    mov r0, c9
    mov r1, c8
    dp4 r4.y, c13, r0
    dp4 r4.x, c13, r1
    dp3 o1.y, r4, r2
    dp3 o3.y, r2, r3
    dp3 o1.z, v2, r4
    dp3 o1.x, r4, v1
    dp3 o3.z, v2, r3
    dp3 o3.x, v1, r3
    mad o0.zw, v3.xyxy, c23.xyxy, c23
    mad o0.xy, v3, c22, c22.zwzw
    dp4 r10.w, v0, c3
    dp4 r10.z, v0, c2
    dp4 r10.y, v0, c1
    dp4 r10.x, v0, c0
//mov r11, r10
//texldl r24, c247.z, s0
//mov r25, r24
//mul r25.x, r25.x, -c247.x //pushes into screen
//add r10.x, r10.x, -r25.x

mov r14.x, c254.x
if_eq r14.x, c247.w
mov r10, c100
endif
mov o10, r10

// approximately 47 instruction slots used
 

