!!VP1.0
# NV_vertex_program generated by NVIDIA Cg compiler
# cgc version 1.5.0001, build date Sep 12 2002  15:49:58
# command line args: -profile vp20 cg_grass2.cg
# nv30vp backend compiling 'main' program
#vendor NVIDIA Corporation
#version 1.0.1
#profile vp20
#program main
#semantic main.ModelViewProj
#semantic main.Stiff
#semantic main.Load
#var float4 IN.position : $vin.ATTR0 : ATTR0 : 0 : 1
#var float3 IN.normal : $vin.ATTR2 : ATTR2 : 0 : 1
#var float4 IN.color : $vin.ATTR3 : ATTR3 : 0 : 1
#var float4x4 ModelViewProj :  : c[0], 4 : 1 : 1
#var float4 Stiff[0] :  : c[4] : 2 : 1
#var float4 Stiff[1] :  : c[5] : 2 : 1
#var float4 Stiff[2] :  : c[6] : 2 : 1
#var float4 Stiff[3] :  : c[7] : 2 : 1
#var float4 Stiff[4] :  : c[8] : 2 : 1
#var float4 Stiff[5] :  : c[9] : 2 : 1
#var float4 Stiff[6] :  : c[10] : 2 : 1
#var float4 Stiff[7] :  : c[11] : 2 : 1
#var float4 Stiff[8] :  : c[12] : 2 : 1
#var float4 Stiff[9] :  : c[13] : 2 : 1
#var float4 Stiff[10] :  : c[14] : 2 : 1
#var float4 Stiff[11] :  : c[15] : 2 : 1
#var float4 Load :  : c[16] : 3 : 1
#var float4 HPOS : $vout.HPOS : HPOS : -1 : 1
#var float4 COL0 : $vout.COL0 : COL0 : -1 : 1
#const c[17] = 1.7 5 2 0
#const c[18] = -0.0187293 0.074261 0.2121144 1.570729
#const c[20] = 0 0.5 1 0
#const c[21] = 0.25 -9 0.75 0.1591549
#const c[22] = 24.9808 -24.9808 -60.14581 60.14581
#const c[23] = 85.45379 -85.45379 -64.93935 64.93935
#const c[24] = 19.73921 -19.73921 -1 1
#const c[25] = 0 4 0 0
#const c[19] = 1 3.141593 0.5 1
#const c[26] = 0.7 0.4 0 0
	MUL R2, c[16], v[3].y;
	MUL R0, v[3].w, c[17].y;
	MUL R1, R0.x, c[17].z;
	ARL A0.x, R1.x;
	MUL R0, c[A0.x + 4].xyxx, R2.xzxx;
	ADD R0, R0.x, R0.y;
	ADD R3.x, v[0].x, R0.x;
	MOV R3.y, v[0].y;
	MUL R0, c[A0.x + 5].xyxx, R2.xzxx;
	ADD R0, R0.x, R0.y;
	ADD R3.z, v[0].z, R0.x;
	ADD R2.x, R3.x, v[3].x;
	MOV R2.y, R3.y;
	ADD R2.z, R3.z, v[3].z;
	MOV R2.w, c[19].x;
	DP4 R0.x, c[0], R2;
	DP4 R0.y, c[1], R2;
	DP4 R0.z, c[2], R2;
	DP4 R0.w, c[3], R2;
	MOV o[HPOS], R0;
	ADD R1.xz, v[0].xyzx, -R3.xyzx;
	DP3 R0, R3.xyzx, R3.xyzx;
	RSQ R0, R0.x;
	RCP R0, R0.x;
	RCP R3, R0.x;
	MUL R6, v[0].y, R3.x;
	MAX R5, R6.x, -R6.x;
	MAD R3, c[18].x, R5.x, c[18].y;
	MAD R3, R3.x, R5.x, -c[18].z;
	MAD R4, R3.x, R5.x, c[18].w;
	ADD R3, c[19].x, -R5.x;
	RSQ R3, R3.x;
	RCP R3, R3.x;
	MUL R5, R4.x, R3.x;
	SLT R4, R6.x, c[17].w;
	MUL R3, c[17].z, R4.x;
	MUL R3, R3.x, R5.x;
	ADD R3, R5.x, -R3.x;
	MAD R3, R4.x, c[19].y, R3.x;
	MAD R6, c[21].w, R3.x, -c[21].x;
	EXP R6.y, R6.x;
	ADD R3, c[20].xyzx, -R6.yyyy;
	MUL R5, R3.xyzx, R3.xyzx;
	SLT R4.x, R6.y, c[21].x;
	SGE R3, R6.yyyy, c[21].yzyy;
	MOV R4.yz, R3.xxyw;
	DP3 R4.y, R4.xyzx, c[24].zwzz;
	MAD R3, c[22].xyxx, R5.xyzx, c[22].zwzz;
	MAD R3, R3.xyzx, R5.xyzx, c[23].xyxx;
	MAD R3, R3.xyzx, R5.xyzx, c[23].zwzz;
	MAD R3, R3.xyzx, R5.xyzx, c[24].xyxx;
	MAD R3, R3.xyzx, R5.xyzx, c[24].zwzz;
	DP3 R5.x, R3.xyzx, -R4.xyzx;
	MUL R1.y, R5.x, R0.x;
	DP3 R0, R1.xyzx, R1.xyzx;
	RSQ R0, R0.x;
	MUL R3, R0.x, R1.xyzx;
	ADD R1, c[25], -R2;
	DP4 R0, R1, R1;
	RSQ R0, R0.x;
	MUL R0, R0.x, R1;
	DP3 R2, R0.xyzx, R3.xyzx;
	SLT R1, R2.x, c[19].z;
	ADD R0, c[19].w, -R1.x;
	MUL R0, R0.x, R2.x;
	MAD R2, R1.x, c[19].z, R0.x;
	MUL R1.x, v[3].y, c[26].x;
	MOV R1.y, c[26].x;
	MOV R1.z, c[26].y;
	RCP R0, c[17].x;
	MUL R1.w, v[0].y, R0.x;
	MUL o[COL0], R1, R2.x;
END
# 72 instructions
# End of program
