OpenShadingLanguage 1.01
# Compiled by oslc 1.6.2
surface brushedmetal	%meta{string,description,"Brushed anisotropic metal with procedural grain"} 
param	float	Ka	1		%meta{string,description,"Ambient scaling"} %meta{float,UImin,0} %meta{float,UIsoftmax,1}  %read{90,90} %write{2147483647,-1}
param	float	Kd	0.1		%meta{string,description,"Diffuse scaling"} %meta{float,UImin,0} %meta{float,UIsoftmax,0.5}  %read{108,108} %write{2147483647,-1}
param	float	Ks	0.80000001		%meta{string,description,"Specular scaling"} %meta{float,UImin,0} %meta{float,UIsoftmax,1}  %read{110,110} %write{2147483647,-1}
param	float	uroughness	0.2		%meta{string,description,"Surface roughness in u direction"} %meta{float,UImin,0} %meta{float,UImax,1} %meta{string,UIenabler,"Ks"}  %read{49,86} %write{2147483647,-1}
param	float	vroughness	0.5		%meta{string,description,"Surface roughness in v direction"} %meta{float,UImin,0} %meta{float,UImax,1} %meta{string,UIenabler,"Ks"}  %read{51,87} %write{2147483647,-1}
param	string	projection	"st"		%meta{string,description,"Projection to use for grain"} %meta{string,UItype,"enum:st,ts,Pref"} %meta{string,UIgroupbegin,"Grain"}  %read{4,8} %write{2147483647,-1}
param	float	grainfreq	400		%meta{string,description,"Grain frequency"}  %read{16,16} %write{2147483647,-1} %derivs
param	float	grainamp	0.75		%meta{string,description,"Grain amplitude"}  %read{20,20} %write{2147483647,-1}
param	vector	graindir	0 0 1		%meta{string,description,"3D Grain direction"}  %read{15,15} %write{0,0} %initexpr
param	float	s	0		%meta{string,description,"s grain coordinate (defaults to u)"}  %read{6,10} %write{1,1} %derivs %initexpr
param	float	t	0		%meta{string,description,"t grain coordinate (defaults to v)"}  %read{6,10} %write{2,2} %derivs %initexpr
param	string	shadingspace	"shader"		%meta{string,description,"Shading space (only used for proj='Pref')"} %meta{string,UItype,"coordsys"}  %read{13,13} %write{2147483647,-1} %derivs
param	point	Pref	0 0 0		%meta{string,description,"Reference pose (defaults to P)"} %meta{string,UIgroupend,"Grain"}  %read{13,13} %write{3,3} %derivs %initexpr
param	float	Kr	0.25		%meta{string,description,"Reflectivity / Environment scaling"} %meta{string,UIlabel,"Reflectivity"} %meta{float,UImin,0} %meta{float,UIsoftmax,1} %meta{string,UIgroupbegin,"Reflections"}  %read{127,127} %write{2147483647,-1}
param	float	blur	0		%meta{string,description,"Environment blur"} %meta{string,UIenabler,"Kr"} %meta{float,UImin,0} %meta{float,UIsoftmax,1}  %read{142,151} %write{2147483647,-1}
param	string	envname	""		%meta{string,description,"Map or geometry set name for reflections"} %meta{string,UIlabel,"Environment name"} %meta{string,UIenabler,"Kr"} %meta{string,UItype,"environment"}  %read{130,151} %write{2147483647,-1}
param	string	envspace	"world"		%meta{string,description,"Coordinate system for environment map lookup"} %meta{string,UIlabel,"Environment space"} %meta{string,UIenabler,"Kr"} %meta{string,UItype,"coordsys"}  %read{136,148} %write{2147483647,-1}
param	float	samples	1		%meta{string,description,"Environment samples (for ray tracing)"} %meta{string,UIlabel,"Environment samples"} %meta{string,UIenabler,"Kr"} %meta{string,UItype,"int"} %meta{float,UImin,1} %meta{float,UIsoftmax,64}  %read{150,150} %write{2147483647,-1}
param	float	twosided	0		%meta{string,description,"Two-sided reflections"} %meta{string,UIenabler,"Kr"} %meta{string,UItype,"bool"} %meta{string,UIgroupend,"Reflections"}  %read{118,118} %write{2147483647,-1}
global	point	P	%read{3,151} %write{2147483647,-1} %derivs
global	vector	I	%read{31,121} %write{2147483647,-1} %derivs
global	normal	N	%read{28,121} %write{2147483647,-1} %derivs
global	normal	Ng	%read{31,31} %write{2147483647,-1}
global	float	u	%read{1,1} %write{2147483647,-1} %derivs
global	float	v	%read{2,2} %write{2147483647,-1} %derivs
global	vector	dPdu	%read{7,7} %write{2147483647,-1}
global	vector	dPdv	%read{11,11} %write{2147483647,-1}
global	color	C	%read{38,156} %write{112,156}
global	color	opacity	%read{156,156} %write{2147483647,-1}
global	vector	L	%read{60,101} %write{2147483647,-1}
global	color	Cl	%read{84,99} %write{2147483647,-1}
local	color	___278_C	%read{93,107} %write{92,106}
local	float	___279___nondiffuse	%read{93,106} %write{93,106}
local	int	___384_status	%read{145,145} %write{144,144}
local	color	___385_C	%read{153,153} %write{142,152}
local	point	___387_Pndc	%read{140,141} %write{139,139} %derivs
local	vector	___389_D	%read{2147483647,-1} %write{148,148}
local	float	___400_cos_theta_r	%read{78,78} %write{48,48}
local	vector	___400_X	%read{66,66} %write{49,49}
local	vector	___400_Y	%read{69,69} %write{51,51}
local	color	___400_C	%read{53,88} %write{52,85}
local	float	___402_nonspec	%read{53,85} %write{53,85}
local	vector	___403_LN	%read{53,85} %write{53,85}
local	float	___403_cos_theta_i	%read{53,85} %write{53,85}
local	vector	___404_H	%read{53,85} %write{53,85}
local	float	___404_rho	%read{53,85} %write{53,85}
local	color	___405_spec	%read{110,110} %write{88,88}
local	point	Pgrain	%read{16,22} %write{6,17} %derivs
local	vector	T	%read{40,40} %write{7,15}
local	point	___425_Pshad	%read{14,14} %write{13,13} %derivs
local	float	dgrain	%read{23,23} %write{19,19}
local	float	grain	%read{39,39} %write{27,27}
local	normal	Nf	%read{45,116} %write{34,35} %derivs
local	vector	IN	%read{114,117} %write{37,37} %derivs
local	color	Cbase	%read{39,128} %write{38,38}
local	vector	R	%read{148,151} %write{117,117} %derivs
local	float	kr	%read{128,132} %write{126,127}
const	string	$const1	"shader"		%read{0,0} %write{2147483647,-1}
const	int	$const2	0		%read{32,152} %write{2147483647,-1}
const	float	$const3	0		%read{0,100} %write{2147483647,-1}
const	int	$const4	1		%read{58,141} %write{2147483647,-1}
const	float	$const5	1		%read{0,98} %write{2147483647,-1}
const	string	$const6	"st"		%read{4,4} %write{2147483647,-1}
temp	int	$tmp1	%read{5,5} %write{4,4}
const	string	$const7	"ts"		%read{8,8} %write{2147483647,-1}
temp	int	$tmp2	%read{9,9} %write{8,8}
const	string	$const8	"transform"		%read{12,147} %write{2147483647,-1}
const	string	$const9	"common"		%read{13,148} %write{2147483647,-1}
const	vector	$const10	0.025 1 1		%read{17,17} %write{2147483647,-1}
temp	float	$tmp4	%read{19,19} %write{18,18}
const	float	$const11	0.5		%read{27,27} %write{2147483647,-1}
temp	float	$tmp5	%read{26,26} %write{20,20}
const	float	$const13	2		%read{20,115} %write{2147483647,-1}
temp	float	$tmp6	%read{26,26} %write{25,25}
const	string	$const14	"filteredsnoise"		%read{21,21} %write{2147483647,-1}
temp	float	$tmp7	%read{25,25} %write{22,22}
temp	float	$tmp8	%read{24,24} %write{23,23}
const	float	$const15	0.2		%read{23,23} %write{2147483647,-1}
const	float	$const16	0.75		%read{23,23} %write{2147483647,-1}
temp	float	$tmp9	%read{25,25} %write{24,24}
temp	float	$tmp10	%read{27,27} %write{26,26}
temp	normal	$tmp11	%read{34,35} %write{28,28} %derivs
const	string	$const17	"faceforward"		%read{29,30} %write{2147483647,-1}
temp	float	$tmp12	%read{32,32} %write{31,31}
temp	int	$tmp13	%read{33,33} %write{32,32}
temp	color	$tmp14	%read{53,112} %write{39,106}
temp	vector	$tmp15	%read{49,50} %write{40,40}
const	string	$const18	"MaterialBrushedMetal"		%read{41,41} %write{2147483647,-1}
temp	vector	$tmp16	%read{43,43} %write{42,42}
temp	vector	$tmp17	%read{45,85} %write{43,85}
const	string	$const19	"LocIllumWardAnisotropic"		%read{44,44} %write{2147483647,-1}
temp	float	$tmp18	%read{47,47} %write{45,45}
const	float	$const20	9.9999997e-005		%read{48,48} %write{2147483647,-1}
const	string	$const21	"clamp"		%read{46,46} %write{2147483647,-1}
temp	float	$tmp19	%read{48,48} %write{47,47}
temp	vector	$tmp20	%read{51,51} %write{50,50}
const	float	$const22	1.5707964		%read{54,95} %write{2147483647,-1}
temp	int	$tmp21	%read{53,85} %write{53,85}
temp	int	$tmp22	%read{2147483647,-1} %write{57,57}
const	string	$const23	"light"		%read{57,97} %write{2147483647,-1}
const	string	$const24	"__nonspecular"		%read{57,57} %write{2147483647,-1}
temp	int	$tmp23	%read{59,59} %write{58,58}
temp	int	$tmp24	%read{63,63} %write{62,62}
temp	vector	$tmp25	%read{65,65} %write{64,64}
temp	float	$tmp26	%read{80,80} %write{77,77}
temp	float	$tmp27	%read{72,72} %write{68,68}
temp	float	$tmp28	%read{68,68} %write{66,66}
const	string	$const26	"sqr"		%read{67,70} %write{2147483647,-1}
temp	float	$tmp29	%read{72,72} %write{71,71}
temp	float	$tmp30	%read{71,71} %write{69,69}
temp	float	$tmp31	%read{73,73} %write{72,72}
temp	float	$tmp32	%read{76,76} %write{73,73}
const	float	$const27	-2		%read{73,73} %write{2147483647,-1}
temp	float	$tmp33	%read{75,75} %write{74,74}
temp	float	$tmp34	%read{76,76} %write{75,75}
temp	float	$tmp35	%read{77,77} %write{76,76}
temp	float	$tmp36	%read{80,80} %write{79,79}
temp	float	$tmp37	%read{79,79} %write{78,78}
temp	float	$tmp38	%read{82,82} %write{81,81}
temp	float	$tmp39	%read{83,83} %write{82,82}
temp	float	$tmp40	%read{84,84} %write{83,83}
temp	color	$tmp41	%read{53,85} %write{53,85}
temp	float	$tmp42	%read{87,87} %write{86,86}
const	float	$const29	4		%read{86,86} %write{2147483647,-1}
temp	float	$tmp43	%read{88,88} %write{87,87}
temp	color	$tmp44	%read{90,90} %write{89,89}
temp	color	$tmp45	%read{93,109} %write{90,106}
temp	color	$tmp46	%read{108,108} %write{107,107}
const	string	$const30	"diffuse"		%read{91,91} %write{2147483647,-1}
temp	int	$tmp47	%read{93,106} %write{93,106}
temp	int	$tmp48	%read{2147483647,-1} %write{97,97}
const	string	$const31	"__nondiffuse"		%read{97,97} %write{2147483647,-1}
temp	float	$tmp49	%read{99,99} %write{98,98}
temp	color	$tmp50	%read{105,105} %write{99,99}
temp	color	$tmp51	%read{105,105} %write{104,104}
temp	color	$tmp52	%read{104,104} %write{100,100}
temp	float	$tmp53	%read{103,103} %write{102,102}
temp	vector	$tmp54	%read{102,102} %write{101,101}
temp	color	$tmp55	%read{104,104} %write{103,103}
temp	color	$tmp56	%read{93,106} %write{93,106}
temp	color	$tmp57	%read{109,109} %write{108,108}
temp	color	$tmp58	%read{111,111} %write{109,109}
temp	color	$tmp59	%read{111,111} %write{110,110}
temp	color	$tmp60	%read{112,112} %write{111,111}
const	string	$const32	"reflect"		%read{113,113} %write{2147483647,-1}
temp	float	$tmp61	%read{115,115} %write{114,114} %derivs
temp	float	$tmp62	%read{116,116} %write{115,115} %derivs
temp	vector	$tmp63	%read{117,117} %write{116,116} %derivs
temp	int	$tmp64	%read{119,119} %write{118,118}
temp	int	$tmp65	%read{120,125} %write{119,124}
temp	float	$tmp66	%read{122,122} %write{121,121}
temp	int	$tmp67	%read{123,123} %write{122,122}
temp	int	$tmp68	%read{124,124} %write{123,123}
temp	color	$tmp69	%read{154,154} %write{128,128}
temp	color	$tmp70	%read{154,154} %write{153,153}
const	string	$const33	"Environment"		%read{129,129} %write{2147483647,-1}
temp	int	$tmp71	%read{131,135} %write{130,134}
const	string	$const34	""		%read{130,130} %write{2147483647,-1}
temp	int	$tmp72	%read{133,133} %write{132,132}
temp	int	$tmp73	%read{134,134} %write{133,133}
const	string	$const35	"NDC"		%read{136,139} %write{2147483647,-1}
temp	int	$tmp74	%read{137,137} %write{136,136}
temp	float	$tmp75	%read{142,142} %write{140,140} %derivs
temp	float	$tmp76	%read{142,142} %write{141,141} %derivs
const	string	$const36	"blur"		%read{142,151} %write{2147483647,-1}
temp	int	$tmp77	%read{146,146} %write{145,145}
const	string	$const37	"istexture"		%read{143,143} %write{2147483647,-1}
temp	int	$tmp78	%read{2147483647,-1} %write{144,144}
const	string	$const38	"exists"		%read{144,144} %write{2147483647,-1}
const	string	$const39	"samples"		%read{151,151} %write{2147483647,-1}
temp	int	$tmp79	%read{151,151} %write{150,150}
const	string	$const40	"traceset"		%read{151,151} %write{2147483647,-1}
temp	color	$tmp80	%read{155,155} %write{154,154}
code graindir
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:97
#         [[  string description = "3D Grain direction" ]],
	vector		graindir $const1 $const3 $const3 $const5 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{97} %argrw{"wrrrr"}
code s
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:100
#     float t = v
	assign		s u 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{100} %argrw{"wr"}
code t
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:102
#     string shadingspace = "shader"
	assign		t v 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{102} %argrw{"wr"}
code Pref
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:108
# 
	assign		Pref P 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{108} %argrw{"wr"}
code ___main___
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:143
# 	Pgrain = point (s, t, 1);
	eq		$tmp1 projection $const6 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{143} %argrw{"wrr"}
	if		$tmp1 8 16 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:144
#         T = dPdu;
	point		Pgrain s t $const5 	%line{144} %argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:145
#     } else if (projection == "ts") {
	assign		T dPdu 	%line{145} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:146
# 	Pgrain = point (t, s, 1);
	eq		$tmp2 projection $const7 	%line{146} %argrw{"wrr"}
	if		$tmp2 12 16 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:147
#         T = dPdv;
	point		Pgrain t s $const5 	%line{147} %argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:148
#     } else {
	assign		T dPdv 	%line{148} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:151
# 	Pgrain = Pshad;
	functioncall	$const8 14 	%line{151} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:249
# PERCOMP1 (tanh)
	transform	___425_Pshad $const9 shadingspace Pref 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{249} %argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:152
#         T = graindir;
	assign		Pgrain ___425_Pshad 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{152} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:153
#     }
	assign		T graindir 	%line{153} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:155
#     Pgrain *= vector(.025,1,1);  // Squash grains
	mul		Pgrain Pgrain grainfreq 	%line{155} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:156
# 
	mul		Pgrain Pgrain $const10 	%line{156} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:158
#     float grain = 0.5 + (grainamp/2) * filteredsnoise(Pgrain, dgrain);
	area		$tmp4 Pgrain 	%line{158} %argrw{"wr"} %argderivs{1}
	sqrt		dgrain $tmp4 	%argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:159
# 
	div		$tmp5 grainamp $const13 	%line{159} %argrw{"wrr"}
	functioncall	$const14 26 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:62
#     return snoise(p) * (1-smoothstep (FILTLOW,FILTHIGH,width));
	snoise		$tmp7 Pgrain 	%filename{"D:/xrt.git\\src\\osl\\shaders\\noises.h"} %line{62} %argrw{"wr"}
	smoothstep	$tmp8 $const15 $const16 dgrain 	%argrw{"wrrr"}
	sub		$tmp9 $const5 $tmp8 	%argrw{"wrr"}
	mul		$tmp6 $tmp7 $tmp9 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:159
#         [[  string description = "3D Grain direction" ]],
	mul		$tmp10 $tmp5 $tmp6 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{159} %argrw{"wrr"}
	add		grain $const11 $tmp10 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:161
#         [[  string description = "s grain coordinate (defaults to u)" ]],
	normalize	$tmp11 N 	%line{161} %argrw{"wr"}
	functioncall	$const17 37 	%argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:196
# #define M_PI_2     1.5707963267948966        /* pi/2 */
	functioncall	$const17 37 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{196} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:192
#     return (dot(I,Nref) > 0) ? -N : N;
	dot		$tmp12 I Ng 	%line{192} %argrw{"wrr"}
	gt		$tmp13 $tmp12 $const2 	%argrw{"wrr"}
	if		$tmp13 35 36 	%argrw{"r"}
	neg		Nf $tmp11 	%argrw{"wr"}
	assign		Nf $tmp11 	%argrw{"wr"}
	return
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:162
#     color Cbase = C;
	normalize	IN I 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{162} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:163
#     C = MaterialBrushedMetal (Nf, Cbase*grain, Ka, Kd, Ks, 
	assign		Cbase C 	%line{163} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:164
#                               normalize(T), uroughness, vroughness);
	mul		$tmp14 Cbase grain 	%line{164} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:165
#     vector R = reflect (IN, Nf);
	normalize	$tmp15 T 	%line{165} %argrw{"wr"}
	functioncall	$const18 113 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:384
# 			}
	normalize	$tmp16 I 	%filename{"D:/xrt.git\\src\\osl\\shaders\\material.h"} %line{384} %argrw{"wr"}
	neg		$tmp17 $tmp16 	%argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:385
#         }
	functioncall	$const19 89 	%line{385} %argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:350
#     float cos_theta_r = clamp (dot(N,V), 0.0001, 1);
	dot		$tmp18 Nf $tmp17 	%line{350} %argrw{"wrr"}
	functioncall	$const21 49 	%argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:144
# float  clamp (float x, float minval, float maxval) { return max(min(x,maxval),minval); }
	min		$tmp19 $tmp18 $const5 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{144} %argrw{"wrr"}
	max		___400_cos_theta_r $tmp19 $const20 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:351
#             // envspace "NDC" signifies a flat reflection map
	div		___400_X $tmp15 uroughness 	%filename{"D:/xrt.git\\src\\osl\\shaders\\material.h"} %line{351} %argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:352
#             point Pndc = transform ("NDC", P);
	cross		$tmp20 Nf $tmp15 	%line{352} %argrw{"wrr"}
	div		___400_Y $tmp20 vroughness 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:354
#         } else {
	assign		___400_C $const2 	%line{354} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:355
# 			if (istexture (envname)) {
	for		$tmp21 55 56 86 86 	%line{355} %argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:369
# 
	lights_begin	P Nf $const22 	%line{369} %argrw{"rrr"}
	lights		$tmp21 P Nf $const22 	%argrw{"wrrr"} %argderivs{1}
# D:/xrt.git\\src\\osl\\shaders\\material.h:356
# 	float nonspec = 0;
	assign		___402_nonspec $const2 	%line{356} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:357
# 	getmessage ("light", "__nonspecular", nonspec);
	getmessage	$tmp22 $const23 $const24 ___402_nonspec 	%line{357} %argrw{"wrrw"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:358
# 	if (nonspec < 1) {
	lt		$tmp23 ___402_nonspec $const4 	%line{358} %argrw{"wrr"}
	if		$tmp23 86 86 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:359
# 	    vector LN = normalize (L);
	normalize	___403_LN L 	%line{359} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:360
# 	    float cos_theta_i = dot (LN,N);
	dot		___403_cos_theta_i ___403_LN Nf 	%line{360} %argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:361
# 	    if (cos_theta_i > 0.0) {
	gt		$tmp24 ___403_cos_theta_i $const3 	%line{361} %argrw{"wrr"}
	if		$tmp24 86 86 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:362
# 		vector H = normalize (V + LN);
	add		$tmp25 $tmp17 ___403_LN 	%line{362} %argrw{"wrr"}
	normalize	___404_H $tmp25 	%argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:363
# 		float rho = exp (-2 * (sqr(dot(X,H)) +
	dot		$tmp28 ___400_X ___404_H 	%line{363} %argrw{"wrr"}
	functioncall	$const26 69 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:348
#     float sqr (float x) { return x*x; }
	mul		$tmp27 $tmp28 $tmp28 	%line{348} %argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:364
#                                        sqr(dot(Y,H))) / (1 + dot(H,N)))
	dot		$tmp30 ___400_Y ___404_H 	%line{364} %argrw{"wrr"}
	functioncall	$const26 72 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:348
#     float sqr (float x) { return x*x; }
	mul		$tmp29 $tmp30 $tmp30 	%line{348} %argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:364
#                                        sqr(dot(Y,H))) / (1 + dot(H,N)))
	add		$tmp31 $tmp27 $tmp29 	%line{364} %argrw{"wrr"}
	mul		$tmp32 $const27 $tmp31 	%argrw{"wrr"}
	dot		$tmp33 ___404_H Nf 	%argrw{"wrr"}
	add		$tmp34 $const5 $tmp33 	%argrw{"wrr"}
	div		$tmp35 $tmp32 $tmp34 	%argrw{"wrr"}
	exp		$tmp26 $tmp35 	%argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:365
# 		    / sqrt (cos_theta_i * cos_theta_r);
	mul		$tmp37 ___403_cos_theta_i ___400_cos_theta_r 	%line{365} %argrw{"wrr"}
	sqrt		$tmp36 $tmp37 	%argrw{"wr"}
	div		___404_rho $tmp26 $tmp36 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:366
# 		C += Cl * ((1-nonspec) * cos_theta_i * rho);
	sub		$tmp38 $const5 ___402_nonspec 	%line{366} %argrw{"wrr"}
	mul		$tmp39 $tmp38 ___403_cos_theta_i 	%argrw{"wrr"}
	mul		$tmp40 $tmp39 ___404_rho 	%argrw{"wrr"}
	mul		$tmp41 Cl $tmp40 	%argrw{"wrr"}
	add		___400_C ___400_C $tmp41 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:370
#     return C / (4 * xroughness * yroughness);
	mul		$tmp42 $const29 uroughness 	%line{370} %argrw{"wrr"}
	mul		$tmp43 $tmp42 vroughness 	%argrw{"wrr"}
	div		___405_spec ___400_C $tmp43 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:386
#     return basecolor * (Ka*ambient() + Kd*diffuse(Nf) + Ks*spec);
	ambient		$tmp44 	%line{386} %argrw{"w"}
	mul		$tmp45 Ka $tmp44 	%argrw{"wrr"}
	functioncall	$const30 108 	%argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:501
# PERCOMP1 (abs)
	assign		___278_C $const2 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{501} %argrw{"wr"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:503
# PERCOMP1 (fabs)
	for		$tmp47 95 96 107 107 	%line{503} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:507
# PERCOMP1 (ceil)
	lights_begin	P Nf $const22 	%line{507} %argrw{"rrr"}
	lights		$tmp47 P Nf $const22 	%argrw{"wrrr"} %argderivs{1}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:504
# 		float __nondiffuse = 0;
	assign		___279___nondiffuse $const2 	%line{504} %argrw{"wr"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:505
# 		getmessage ("light", "__nondiffuse", __nondiffuse);
	getmessage	$tmp48 $const23 $const31 ___279___nondiffuse 	%line{505} %argrw{"wrrw"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:506
# 		C += Cl * (1-__nondiffuse) * max (0, dot (N, normalize (L)));
	sub		$tmp49 $const5 ___279___nondiffuse 	%line{506} %argrw{"wrr"}
	mul		$tmp50 Cl $tmp49 	%argrw{"wrr"}
	assign		$tmp52 $const3 	%argrw{"wr"}
	normalize	$tmp54 L 	%argrw{"wr"}
	dot		$tmp53 Nf $tmp54 	%argrw{"wrr"}
	assign		$tmp55 $tmp53 	%argrw{"wr"}
	max		$tmp51 $tmp52 $tmp55 	%argrw{"wrr"}
	mul		$tmp56 $tmp50 $tmp51 	%argrw{"wrr"}
	add		___278_C ___278_C $tmp56 	%argrw{"wrr"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:508
# 	return C;
	assign		$tmp46 ___278_C 	%line{508} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:386
#     return basecolor * (Ka*ambient() + Kd*diffuse(Nf) + Ks*spec);
	mul		$tmp57 Kd $tmp46 	%filename{"D:/xrt.git\\src\\osl\\shaders\\material.h"} %line{386} %argrw{"wrr"}
	add		$tmp58 $tmp45 $tmp57 	%argrw{"wrr"}
	mul		$tmp59 Ks ___405_spec 	%argrw{"wrr"}
	add		$tmp60 $tmp58 $tmp59 	%argrw{"wrr"}
	mul		C $tmp14 $tmp60 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:166
#     // kr is reflectivity, but set it to zero if we're looking at the
	functioncall	$const32 118 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{166} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:198
# 
	dot		$tmp61 Nf IN 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{198} %argrw{"wrr"}
	mul		$tmp62 $const13 $tmp61 	%argrw{"wrr"}
	mul		$tmp63 $tmp62 Nf 	%argrw{"wrr"}
	sub		R IN $tmp63 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:169
#     C += kr * Cbase * Environment (envname, R, envspace,
	eq		$tmp64 twosided $const2 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{169} %argrw{"wrr"}
	neq		$tmp65 $tmp64 $const2 	%argrw{"wrr"}
	if		$tmp65 125 125 	%argrw{"r"}
	dot		$tmp66 N I 	%argrw{"wrr"}
	gt		$tmp67 $tmp66 $const2 	%argrw{"wrr"}
	neq		$tmp68 $tmp67 $const2 	%argrw{"wrr"}
	assign		$tmp65 $tmp68 	%argrw{"wr"}
	if		$tmp65 127 128 	%argrw{"r"}
	assign		kr $const2 	%argrw{"wr"}
	assign		kr Kr 	%argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:170
#                                    blur, samples, kr);
	mul		$tmp69 kr Cbase 	%line{170} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:171
# 
	functioncall	$const33 154 	%line{171} %argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:205
# // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
	neq		$tmp71 envname $const34 	%filename{"D:/xrt.git\\src\\osl\\shaders\\material.h"} %line{205} %argrw{"wrr"}
	if		$tmp71 135 135 	%argrw{"r"}
	gt		$tmp72 kr $const2 	%argrw{"wrr"}
	neq		$tmp73 $tmp72 $const2 	%argrw{"wrr"}
	assign		$tmp71 $tmp73 	%argrw{"wr"}
	if		$tmp71 152 153 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:206
# // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
	eq		$tmp74 envspace $const35 	%line{206} %argrw{"wrr"}
	if		$tmp74 143 152 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:208
# //
	functioncall	$const8 140 	%line{208} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:249
# #define M_E        2.7182818284590452        /* e (Euler's number) */
	transform	___387_Pndc $const9 $const35 P 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{249} %argrw{"wrrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:209
#             C = texture (envname, Pndc[0], Pndc[1], "blur", blur);
	compref		$tmp75 ___387_Pndc $const2 	%filename{"D:/xrt.git\\src\\osl\\shaders\\material.h"} %line{209} %argrw{"wrr"}
	compref		$tmp76 ___387_Pndc $const4 	%argrw{"wrr"}
	texture		___385_C envname $tmp75 $tmp76 $const36 blur 	%argrw{"wrrrrr"} %argderivs{2,3}
# D:/xrt.git\\src\\osl\\shaders\\material.h:211
# 			if (istexture (envname)) {
	functioncall	$const37 146 	%line{211} %argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:169
# 	gettextureinfo (envname, "exists", status);
	gettextureinfo	$tmp78 envname $const38 ___384_status 	%line{169} %argrw{"wrrw"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:170
# 	return status;
	assign		$tmp77 ___384_status 	%line{170} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:211
# 			if (istexture (envname)) {
	if		$tmp77 150 152 	%line{211} %argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:213
#                 vector D = transform (envspace, R);
	functioncall	$const8 149 	%line{213} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:248
# #define M_PI_2     1.5707963267948966        /* pi/2 */
	transformv	___389_D $const9 envspace R 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{248} %argrw{"wrrr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:214
#                 C = environment (envname, R, "blur", blur);
	environment	___385_C envname R $const36 blur 	%filename{"D:/xrt.git\\src\\osl\\shaders\\material.h"} %line{214} %argrw{"wrrrr"} %argderivs{2}
# D:/xrt.git\\src\\osl\\shaders\\material.h:217
#                 C = trace (P, R, "blur", blur, "samples", (int)samples,
	assign		$tmp79 samples 	%line{217} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:218
#                              "traceset", envname);
	trace		___385_C P R $const36 blur $const39 $tmp79 $const40 envname 	%line{218} %argrw{"wrrrrrrrr"} %argderivs{1,2}
# D:/xrt.git\\src\\osl\\shaders\\material.h:222
#     else C = 0;
	assign		___385_C $const2 	%line{222} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\material.h:223
#     return C;
	assign		$tmp70 ___385_C 	%line{223} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:171
# 
	mul		$tmp80 $tmp69 $tmp70 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl"} %line{171} %argrw{"wrr"}
	add		C C $tmp80 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\brushedmetal.osl:174
# }
	mul		C C opacity 	%line{174} %argrw{"wrr"}
	end
