    ps_3_0//2
    def c0, 9.99999975e-006, 190, 0.150000006, 1
    def c1, 0.00392156886, 0.0078125, 0.5, 0.01953125
    def c2, 8, 4, 32, 1
    def c3, 0, 1, 6.80000019, 64
    def c4, 1.39999998, 2, 1.39999998, 1
    def c5, 0, 0.333000004, -1, 0.5
    def c7, 0.699999988, 1.29999995, 0.699999988, 1
    def c191, 0.949999988, 0.0199999996, 0, 0
    def c195, 2, 0, 0, 0
    def c210, 2, 0.75, 0, 0
    dcl_texcoord v0
    dcl_texcoord1 v1.xyz
    dcl_texcoord3 v2.xyz
    dcl_color v3
    dcl_2d s0
    dcl_2d s1
    dcl_2d s2
    dcl_2d s4
    texld r0, v0, s0
    texld r1, v0.zwzw, s1
    add r2.xyz, c0.x, v1
    dp3 r2.w, r2, r2
    rsq r2.w, r2.w
    mul r3.xyz, r2, r2.w
    texld r4, v0, s4
    mul r3.w, r4.w, c81.x
    mul r3.w, r3.w, c0.y
    dp3 r4.x, r4, c77
    mul r4.x, r4.x, c81.x
    mul r4.x, r4.x, c0.z
    mul r4.yzw, r0.xxyz, c66.xxyz
    mul r4.w, r4.w, c210.y
    mul r4.y, r4.y, c210.y
    mul r4.z, r4.z, c210.y
    mul r1, r1, c72
    lrp r0.xyz, r1.w, r1, r4.yzww
    dp3 r1.x, v3, c82
    mov r8.x, c73.x
    mul_sat r8.x, r8.x, c195.x
    max r9.x, v3.x, v3.y
    max r9.x, r9.x, v3.z
    mul r1.x, r1.x, r9.x
    mul oC2.z, r1.x, c39.z
    mov r1.xyz, c3
    cmp r1.w, -r8.x, r1.x, r1.y
    if_ne r1.w, -r1.w
      texld r5, v0, s2
      mul r1.w, r5.x, r8.x
      mov r4.w, c0.w
      mad r6.x, r5.x, -r8.x, r4.w
      lrp r6.yzw, r1.w, c74.xxyz, r0.xxyz
      mad r7, r0.xxyz, c3.xyyy, c3.yxxx
      cmp r5, -r5.x, r7, r6
      mov r0.xyz, r5.yzww
    else
      mov r5.x, c0.w
    endif
    mul r1.w, r4.x, r5.x
    mul r1.z, r1.z, c78.x
    mov r4.yz, c0
    mul r4.y, r4.y, c75.x
    rcp r4.y, r4.y
    mul r4.y, r3.w, r4.y
    mul r4.z, r4.z, c76.x
    rcp r4.z, r4.z
    mul r4.x, r4.x, r4.z
    mul r1.z, r1.z, r4.y
    mul r4.y, c79.x, c79.x
    mul r4.x, r4.x, r4.y
    add r4.yzw, c0.x, v2.xxyz
    nrm r5.xyz, r4.yzww
    mul r4.xyz, r4.x, c80
    dp3 r4.w, -r5, r3
    add r4.w, r4.w, r4.w
    mad r3.xyz, r3, -r4.w, -r5
    dp3 r3.x, -c17, r3
    max r4.w, r3.x, c3.x
    pow r3.x, r4.w, r1.z
    mad r3.xyz, r4, r3.x, r0
    cmp r11.xyz, -c79.x, r0, r3
    add_sat r11.xyz, r11, c191.y
    mul oC0.xyz, r11, c191.x
    mul r0.x, r1.w, c72.w
    mul r0.y, r3.w, c72.w
    mad r2.xyz, r2, r2.w, c0.w
    mul r3.xyz, r2, c3.w
    frc r4.xyz, r3
    mad r2.xyz, r2, c3.w, -r3
    mul r2.xyz, r2, c2.xxyw
    frc r4.xyz, r2
    add r2.xyz, r2, -r4
    dp3 r0.z, r2.yxzw, c2.yzww
    mul oC1.w, r0.z, c1.x
    mul oC1.xyz, r3, c1.y
    mov r8.w, c0.w
    mov r9.w, c0.w
    mov r9.xyz, v1
    dp3 r8.x, r9, c200
    dp3 r8.y, r9, c201
    dp3 r8.z, r9, c202
    nrm r9, r8
    abs r9, r9.z
    pow r8, r9.x, c198.z
    mov r11.x, c198.x
    mov r11.y, c198.y
    lrp r9.x, r8.x, r11.x, r11.y
    mul oC2.x, r0.x, r9.x
    mul r0.x, r0.y, c1.w
    mul r0.x, r0.x, c198.w
    rsq r0.x, r0.x
    rcp r5.x, r0.x
    mul oC2.y, r5.x, c7.y
    mul oC0.w, r0.w, c39.x
    mov oC2.w, c0.w
    mul oC3, r1.yxxx, c52.x

// approximately 104 instruction slots used (4 texture, 100 arithmetic)
 