OpenShadingLanguage 1.00
# Compiled by oslc 1.3.0
surface node_bump
param	normal	NormalIn	0 0 0 		 %read{4,14} %write{0,0}
param	float	Strength	0 		 %read{12,12} %write{2147483647,-1}
param	float	SampleCenter	0 		 %read{7,9} %write{2147483647,-1}
param	float	SampleX	0 		 %read{7,7} %write{2147483647,-1}
param	float	SampleY	0 		 %read{9,9} %write{2147483647,-1}
oparam	normal	Normal	0 0 0 		 %read{2147483647,-1} %write{1,18}
global	point	P	 %read{2,3} %write{2147483647,-1} %derivs
global	normal	N	 %read{0,1} %write{2147483647,-1}
local	vector	dPdx	 %read{5,6} %write{2,2}
local	vector	dPdy	 %read{4,4} %write{3,3}
local	vector	Rx	 %read{6,8} %write{4,4}
local	vector	Ry	 %read{10,10} %write{5,5}
local	float	det	 %read{13,15} %write{6,6}
local	vector	surfgrad	 %read{12,16} %write{11,12}
local	float	absdet	 %read{14,14} %write{13,13}
temp	float	$tmp1	 %read{8,8} %write{7,7}
temp	vector	$tmp2	 %read{11,11} %write{8,8}
temp	float	$tmp3	 %read{10,10} %write{9,9}
temp	vector	$tmp4	 %read{11,11} %write{10,10}
temp	normal	$tmp5	 %read{17,17} %write{14,14}
temp	float	$tmp6	 %read{16,16} %write{15,15}
temp	vector	$tmp7	 %read{17,17} %write{16,16}
temp	normal	$tmp8	 %read{18,18} %write{17,17}
code NormalIn
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:26
# 	float Strength = 0.0,
	assign		NormalIn N 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl"} %line{26} %argrw{"wr"}
code Normal
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:31
# {
	assign		Normal N 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl"} %line{31} %argrw{"wr"}
code ___main___
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:34
# 	vector dPdy = Dy(P);
	Dx		dPdx P 	%filename{"D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl"} %line{34} %argrw{"wr"} %argderivs{1}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:35
# 
	Dy		dPdy P 	%line{35} %argrw{"wr"} %argderivs{1}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:37
# 	vector Ry = cross(NormalIn, dPdx);
	cross		Rx dPdy NormalIn 	%line{37} %argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:38
# 
	cross		Ry NormalIn dPdx 	%line{38} %argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:41
# 	vector surfgrad = (SampleX - SampleCenter) * Rx + (SampleY - SampleCenter) * Ry;
	dot		det dPdx Rx 	%line{41} %argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:42
# 
	sub		$tmp1 SampleX SampleCenter 	%line{42} %argrw{"wrr"}
	mul		$tmp2 $tmp1 Rx 	%argrw{"wrr"}
	sub		$tmp3 SampleY SampleCenter 	%argrw{"wrr"}
	mul		$tmp4 $tmp3 Ry 	%argrw{"wrr"}
	add		surfgrad $tmp2 $tmp4 	%argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:44
# 	float absdet = fabs(det);
	mul		surfgrad surfgrad Strength 	%line{44} %argrw{"wrr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:45
# 	
	fabs		absdet det 	%line{45} %argrw{"wr"}
# D:\\blender_dev\\code\\trunk\\intern\\cycles\\kernel\\shaders\\node_bump.osl:48
# }
	mul		$tmp5 absdet NormalIn 	%line{48} %argrw{"wrr"}
	sign		$tmp6 det 	%argrw{"wr"}
	mul		$tmp7 $tmp6 surfgrad 	%argrw{"wrr"}
	sub		$tmp8 $tmp5 $tmp7 	%argrw{"wrr"}
	normalize	Normal $tmp8 	%argrw{"wr"}
	end
