OpenShadingLanguage 1.01
# Compiled by oslc 1.6.2
volume smoke	%meta{string,help,"Smoke volume"} 
param	float	opacdensity	1		%meta{string,help,"Overall smoke opacity density"}  %read{144,144} %write{2147483647,-1}
param	float	lightdensity	1		%meta{string,help,"Overall smoke light scattering density"}  %read{147,147} %write{2147483647,-1}
param	color	scatter	1 1 1		%meta{string,help,"Wavelength-dependent scattering"}  %read{155,159} %write{2147483647,-1}
param	float	integstart	0		%meta{string,help,"Integration start - near"}  %read{5,5} %write{2147483647,-1} %derivs
param	float	integend	1000		%meta{string,help,"Integration end - far"}  %read{11,11} %write{2147483647,-1} %derivs
param	float	stepsize	0.1		%meta{string,help,"Integration step size"} %meta{float,min,0}  %read{4,15} %write{2147483647,-1} %derivs
param	float	maxsteps	100		%meta{string,help,"Max number of integration steps"} %meta{float,UImin,2}  %read{14,14} %write{2147483647,-1} %derivs
param	float	smokeoctaves	0		%meta{string,help,"Smoke variation (noise) octaves (0 = no noise)"} %meta{float,min,0} %meta{float,max,8}  %read{31,116} %write{2147483647,-1}
param	float	smokevary	1		%meta{string,help,"Smoke variation (noise) amplitude"}  %read{34,140} %write{2147483647,-1}
param	float	smokefreq	1		%meta{string,help,"Frequency of smoke variation"}  %read{38,105} %write{2147483647,-1}
param	float	background_object	0		%meta{string,help,"Use 1 for a transparent 'backplane' object, 0 for everything else including transparent foreground objects.  Doesn't matter for opaque objects."}  %read{2147483647,-1} %write{2147483647,-1}
global	point	P	%read{0,0} %write{2147483647,-1} %derivs
global	vector	I	%read{0,10} %write{2147483647,-1} %derivs
global	color	C	%read{174,174} %write{175,175}
global	color	opacity	%read{177,177} %write{178,178}
global	color	Cl	%read{29,96} %write{2147483647,-1}
local	float	___317_amp	%read{55,172} %write{51,172}
local	point	___317_pp	%read{55,172} %write{52,172}
local	float	___317_sum	%read{55,172} %write{53,172}
local	float	___317_fw	%read{55,172} %write{54,172}
local	float	___317_i	%read{55,172} %write{55,172}
local	float	___375_foglight	%read{24,172} %write{24,172}
local	point	___376_Psmoke	%read{39,172} %write{38,172}
local	point	Worigin	%read{2,86} %write{0,0} %derivs
local	point	origin	%read{21,88} %write{2,2}
local	float	dtau	%read{78,172} %write{78,172}
local	float	last_dtau	%read{55,172} %write{39,172}
local	color	li	%read{78,172} %write{78,172}
local	color	last_li	%read{24,172} %write{23,172}
local	float	d	%read{13,172} %write{5,172} %derivs
local	vector	IN	%read{9,87} %write{8,8} %derivs
local	vector	WIN	%read{18,85} %write{9,9} %derivs
local	float	end	%read{13,80} %write{12,12} %derivs
local	float	minss	%read{15,15} %write{14,14} %derivs
local	float	ss	%read{24,172} %write{17,172} %derivs
local	color	Cv	%read{78,175} %write{76,172}
local	color	Ov	%read{78,178} %write{77,172}
local	float	___379_tau	%read{78,172} %write{78,172}
local	color	___379_lighttau	%read{78,172} %write{78,172}
const	string	$const1	"shader"		%read{2,9} %write{2147483647,-1}
const	string	$const2	"transform"		%read{1,6} %write{2147483647,-1}
const	string	$const3	"common"		%read{2,9} %write{2147483647,-1}
temp	float	$tmp1	%read{4,4} %write{3,3} %derivs
temp	float	$tmp2	%read{5,5} %write{4,4} %derivs
temp	vector	$tmp3	%read{8,8} %write{7,7} %derivs
temp	float	$tmp4	%read{12,12} %write{11,11} %derivs
temp	float	$tmp5	%read{11,11} %write{10,10} %derivs
const	float	$const4	9.9999997e-005		%read{12,12} %write{2147483647,-1}
temp	float	$tmp6	%read{14,14} %write{13,13} %derivs
temp	float	$tmp7	%read{17,17} %write{15,15} %derivs
temp	float	$tmp8	%read{17,17} %write{16,16} %derivs
temp	vector	$tmp9	%read{19,19} %write{18,18} %derivs
temp	point	$tmp10	%read{24,30} %write{19,30} %derivs
temp	vector	$tmp11	%read{21,21} %write{20,20}
temp	point	$tmp12	%read{24,38} %write{21,30}
const	string	$const5	"smokedensity"		%read{22,89} %write{2147483647,-1}
const	int	$const6	0		%read{23,161} %write{2147483647,-1}
temp	int	$tmp13	%read{24,30} %write{24,30}
const	int	$const7	1		%read{27,163} %write{2147483647,-1}
temp	int	$tmp14	%read{2147483647,-1} %write{28,28}
const	string	$const8	"light"		%read{28,95} %write{2147483647,-1}
const	string	$const9	"__foglight"		%read{28,95} %write{2147483647,-1}
temp	color	$tmp15	%read{24,30} %write{24,30}
temp	int	$tmp16	%read{32,32} %write{31,31}
temp	int	$tmp17	%read{33,37} %write{32,36}
temp	int	$tmp18	%read{35,35} %write{34,34}
temp	int	$tmp19	%read{36,36} %write{35,35}
temp	float	$tmp20	%read{42,42} %write{40,40}
temp	float	$tmp21	%read{42,42} %write{41,41}
temp	float	$tmp22	%read{44,44} %write{42,42}
const	int	$const10	2		%read{43,165} %write{2147483647,-1}
temp	float	$tmp23	%read{44,44} %write{43,43}
temp	float	$tmp24	%read{45,45} %write{44,44}
const	float	$const11	0.0099999998		%read{45,112} %write{2147483647,-1}
temp	int	$tmp25	%read{46,46} %write{45,45}
const	float	$const12	0.5		%read{65,142} %write{2147483647,-1}
temp	float	$tmp26	%read{71,71} %write{70,70}
temp	point	$tmp27	%read{52,52} %write{47,47}
const	float	$const13	2		%read{47,148} %write{2147483647,-1}
temp	float	$tmp28	%read{54,54} %write{48,48}
temp	float	$tmp29	%read{55,69} %write{49,69}
const	float	$const14	1		%read{49,176} %write{2147483647,-1}
const	string	$const15	"fBm"		%read{50,117} %write{2147483647,-1}
temp	int	$tmp30	%read{55,69} %write{55,69}
temp	float	$tmp31	%read{63,63} %write{62,62}
const	string	$const16	"filteredsnoise"		%read{58,125} %write{2147483647,-1}
temp	float	$tmp32	%read{62,62} %write{59,59}
temp	float	$tmp33	%read{61,61} %write{60,60}
const	float	$const17	0.2		%read{60,127} %write{2147483647,-1}
const	float	$const18	0.75		%read{60,127} %write{2147483647,-1}
temp	float	$tmp34	%read{62,62} %write{61,61}
temp	float	$tmp35	%read{64,64} %write{63,63}
temp	point	$tmp36	%read{68,68} %write{67,67}
temp	float	$tmp37	%read{72,72} %write{71,71}
const	float	$const20	-1		%read{74,141} %write{2147483647,-1}
temp	float	$tmp38	%read{74,74} %write{73,73}
temp	int	$tmp39	%read{78,172} %write{78,172}
const	float	$const21	0.0049999999		%read{83,83} %write{2147483647,-1}
temp	float	$tmp40	%read{82,82} %write{80,80} %derivs
const	string	$const22	"clamp"		%read{81,81} %write{2147483647,-1}
temp	float	$tmp41	%read{83,83} %write{82,82} %derivs
temp	vector	$tmp42	%read{86,86} %write{85,85} %derivs
temp	point	$tmp43	%read{91,97} %write{86,97} %derivs
temp	vector	$tmp44	%read{88,88} %write{87,87}
temp	point	$tmp45	%read{91,105} %write{88,97}
temp	int	$tmp46	%read{91,97} %write{91,97}
temp	int	$tmp47	%read{2147483647,-1} %write{95,95}
temp	color	$tmp48	%read{91,97} %write{91,97}
temp	int	$tmp49	%read{99,99} %write{98,98}
temp	int	$tmp50	%read{100,104} %write{99,103}
temp	int	$tmp51	%read{102,102} %write{101,101}
temp	int	$tmp52	%read{103,103} %write{102,102}
temp	float	$tmp53	%read{109,109} %write{107,107}
temp	float	$tmp54	%read{109,109} %write{108,108}
temp	float	$tmp55	%read{111,111} %write{109,109}
temp	float	$tmp56	%read{111,111} %write{110,110}
temp	float	$tmp57	%read{112,112} %write{111,111}
temp	int	$tmp58	%read{113,113} %write{112,112}
temp	float	$tmp59	%read{138,138} %write{137,137}
temp	point	$tmp60	%read{119,119} %write{114,114}
temp	float	$tmp61	%read{121,121} %write{115,115}
temp	float	$tmp62	%read{122,136} %write{116,136}
temp	int	$tmp63	%read{122,136} %write{122,136}
temp	float	$tmp64	%read{130,130} %write{129,129}
temp	float	$tmp65	%read{129,129} %write{126,126}
temp	float	$tmp66	%read{128,128} %write{127,127}
temp	float	$tmp67	%read{129,129} %write{128,128}
temp	float	$tmp68	%read{131,131} %write{130,130}
temp	point	$tmp69	%read{135,135} %write{134,134}
temp	float	$tmp70	%read{139,139} %write{138,138}
temp	float	$tmp71	%read{141,141} %write{140,140}
temp	float	$tmp72	%read{144,144} %write{143,143}
temp	float	$tmp73	%read{146,146} %write{144,144}
temp	float	$tmp74	%read{146,146} %write{145,145}
temp	float	$tmp75	%read{148,148} %write{147,147}
temp	float	$tmp76	%read{152,152} %write{148,148}
temp	color	$tmp77	%read{151,151} %write{149,149}
temp	color	$tmp78	%read{151,151} %write{150,150}
temp	color	$tmp79	%read{152,152} %write{151,151}
temp	color	$tmp80	%read{154,154} %write{153,153}
temp	color	$tmp81	%read{155,155} %write{154,154}
temp	color	$tmp82	%read{156,156} %write{155,155}
temp	color	$tmp83	%read{169,169} %write{157,157}
temp	color	$tmp84	%read{168,168} %write{167,167}
temp	float	$tmp85	%read{159,159} %write{158,158}
temp	color	$tmp86	%read{161,165} %write{159,159}
const	string	$const23	"colorexp"		%read{160,160} %write{2147483647,-1}
temp	float	$tmp87	%read{167,167} %write{162,162}
temp	float	$tmp88	%read{162,162} %write{161,161}
temp	float	$tmp89	%read{167,167} %write{164,164}
temp	float	$tmp90	%read{164,164} %write{163,163}
temp	float	$tmp91	%read{167,167} %write{166,166}
temp	float	$tmp92	%read{166,166} %write{165,165}
temp	color	$tmp93	%read{169,169} %write{168,168}
temp	color	$tmp94	%read{170,170} %write{169,169}
temp	color	$tmp95	%read{174,174} %write{173,173}
temp	color	$tmp96	%read{175,175} %write{174,174}
temp	color	$tmp97	%read{177,177} %write{176,176}
temp	color	$tmp98	%read{178,178} %write{177,177}
code ___main___
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:141
#     point origin = transform ("shader", Worigin);
	sub		Worigin P I 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\smoke.osl"} %line{141} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:142
#     float dtau, last_dtau;
	functioncall	$const2 3 	%line{142} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:249
# float  log (float a,  float b) { return log(a)/log(b); }
	transform	origin $const3 $const1 Worigin 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{249} %argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:147
#     vector IN = normalize (transform ("shader", I));
	random		$tmp1 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\smoke.osl"} %line{147} %argrw{"w"}
	mul		$tmp2 $tmp1 stepsize 	%argrw{"wrr"}
	add		d integstart $tmp2 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:148
#     vector WIN = transform ("shader", "common", IN);
	functioncall	$const2 8 	%line{148} %argrw{"r"}
# D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h:248
# PERCOMP1 (exp)
	transformv	$tmp3 $const3 $const1 I 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{248} %argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:148
#     vector WIN = transform ("shader", "common", IN);
	normalize	IN $tmp3 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\smoke.osl"} %line{148} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:149
# 
	transformv	WIN $const1 $const3 IN 	%line{149} %argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:152
#     float minss = (end-d) / maxsteps;
	length		$tmp5 I 	%line{152} %argrw{"wr"}
	min		$tmp4 $tmp5 integend 	%argrw{"wrr"}
	sub		end $tmp4 $const4 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:153
#     float ss = min (max (minss, stepsize), end-d);
	sub		$tmp6 end d 	%line{153} %argrw{"wrr"}
	div		minss $tmp6 maxsteps 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:154
# 
	max		$tmp7 minss stepsize 	%line{154} %argrw{"wrr"}
	sub		$tmp8 end d 	%argrw{"wrr"}
	min		ss $tmp7 $tmp8 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:158
# 		  smokevary, smokefreq, smokeoctaves, ss, last_li, last_dtau);
	mul		$tmp9 d WIN 	%line{158} %argrw{"wrr"}
	add		$tmp10 Worigin $tmp9 	%argrw{"wrr"}
	mul		$tmp11 d IN 	%argrw{"wrr"}
	add		$tmp12 origin $tmp11 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:159
# 
	functioncall	$const5 76 	%line{159} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:80
#     lights (Pcur) {
	assign		last_li $const6 	%line{80} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:81
# 	float foglight = 1;
	for		$tmp13 26 27 31 31 	%line{81} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:85
#     if (smokeoctaves > 0 && smokevary > 0) {
	lights_begin	$tmp10 	%line{85} %argrw{"r"}
	lights		$tmp13 $tmp10 	%argrw{"wr"} %argderivs{1}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:82
# 	getmessage ("light", "__foglight",foglight);
	assign		___375_foglight $const7 	%line{82} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:83
#         Lscatter += foglight * Cl;
	getmessage	$tmp14 $const8 $const9 ___375_foglight 	%line{83} %argrw{"wrrw"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:84
#     }
	mul		$tmp15 ___375_foglight Cl 	%line{84} %argrw{"wrr"}
	add		last_li last_li $tmp15 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:86
# 	point Psmoke = Pshad * smokefreq;
	gt		$tmp16 smokeoctaves $const6 	%line{86} %argrw{"wrr"}
	neq		$tmp17 $tmp16 $const6 	%argrw{"wrr"}
	if		$tmp17 37 37 	%argrw{"r"}
	gt		$tmp18 smokevary $const6 	%argrw{"wrr"}
	neq		$tmp19 $tmp18 $const6 	%argrw{"wrr"}
	assign		$tmp17 $tmp19 	%argrw{"wr"}
	if		$tmp17 75 76 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:87
# 	smoke = snoise (Psmoke);
	mul		___376_Psmoke $tmp12 smokefreq 	%line{87} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:88
# 	// Optimize: one octave only if not lit
	snoise		last_dtau ___376_Psmoke 	%line{88} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:90
# 	    smoke += 0.5 * fBm (Psmoke*2, stepsize*2, smokeoctaves-1, 2, 0.5);
	compref		$tmp20 last_li $const6 	%line{90} %argrw{"wrr"}
	compref		$tmp21 last_li $const7 	%argrw{"wrr"}
	add		$tmp22 $tmp20 $tmp21 	%argrw{"wrr"}
	compref		$tmp23 last_li $const10 	%argrw{"wrr"}
	add		$tmp24 $tmp22 $tmp23 	%argrw{"wrr"}
	gt		$tmp25 $tmp24 $const11 	%argrw{"wrr"}
	if		$tmp25 73 73 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:91
# 	smoke = smoothstep(-1,1,smokevary*smoke);
	mul		$tmp27 ___376_Psmoke $const13 	%line{91} %argrw{"wrr"}
	mul		$tmp28 ss $const13 	%argrw{"wrr"}
	sub		$tmp29 smokeoctaves $const14 	%argrw{"wrr"}
	functioncall	$const15 71 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:98
# /////////////////////////////////////////////////////////////////////////////
	assign		___317_amp $const7 	%filename{"D:/xrt.git\\src\\osl\\shaders\\noises.h"} %line{98} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:99
# // Copyright 2004 NVIDIA Corporation.  All Rights Reserved.
	assign		___317_pp $tmp27 	%line{99} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:100
# // 
	assign		___317_sum $const6 	%line{100} %argrw{"wr"}
	assign		___317_fw $tmp28 	%argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:103
# // met:
	for		$tmp30 57 58 69 70 	%line{103} %argrw{"r"}
	assign		___317_i $const6 	%argrw{"wr"}
	lt		$tmp30 ___317_i $tmp29 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:104
# // 
	functioncall	$const16 63 	%line{104} %argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:62
#     return snoise(p) * (1-smoothstep (FILTLOW,FILTHIGH,width));
	snoise		$tmp32 ___317_pp 	%line{62} %argrw{"wr"}
	smoothstep	$tmp33 $const17 $const18 ___317_fw 	%argrw{"wrrr"}
	sub		$tmp34 $const14 $tmp33 	%argrw{"wrr"}
	mul		$tmp31 $tmp32 $tmp34 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:104
# 	sum += amp * filteredsnoise (pp, fw);
	mul		$tmp35 ___317_amp $tmp31 	%line{104} %argrw{"wrr"}
	add		___317_sum ___317_sum $tmp35 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:105
# 	amp *= gain;  fw *= lacunarity;
	mul		___317_amp ___317_amp $const12 	%line{105} %argrw{"wrr"}
	mul		___317_fw ___317_fw $const13 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:106
#         pp = pp * lacunarity + 1;  // multiply and offset
	mul		$tmp36 ___317_pp $const13 	%line{106} %argrw{"wrr"}
	add		___317_pp $tmp36 $const14 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:103
#     for (i = 0;  i < octaves;  i += 1) {
	add		___317_i ___317_i $const14 	%line{103} %argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:108
#     return sum;
	assign		$tmp26 ___317_sum 	%line{108} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:91
# 	smoke = smoothstep(-1,1,smokevary*smoke);
	mul		$tmp37 $const12 $tmp26 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\smoke.osl"} %line{91} %argrw{"wrr"}
	add		last_dtau last_dtau $tmp37 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:92
#     } else {
	mul		$tmp38 smokevary last_dtau 	%line{92} %argrw{"wrr"}
	smoothstep	last_dtau $const20 $const14 $tmp38 	%argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:94
#     }
	assign		last_dtau $const12 	%line{94} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:161
#     while (d < end) {
	assign		Cv $const6 	%line{161} %argrw{"wr"}
	assign		Ov $const6 	%argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:162
# 	// Take a step and get the local scattered light and smoke density
	while		$tmp39 79 80 173 173 	%line{162} %argrw{"r"}
	lt		$tmp39 d end 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:164
# 	d += ss;
	sub		$tmp40 end d 	%line{164} %argrw{"wrr"}
	functioncall	$const22 84 	%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		$tmp41 ss $tmp40 	%filename{"D:/xrt.git\\build\\vc10\\Win32\\Release\\shaders\\stdosl.h"} %line{144} %argrw{"wrr"}
	max		ss $tmp41 $const21 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:165
# //          to the smoke.
	add		d d ss 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\smoke.osl"} %line{165} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:166
# //   background_object - when nonzero, just do "volume over surface."  When
	mul		$tmp42 d WIN 	%line{166} %argrw{"wrr"}
	add		$tmp43 Worigin $tmp42 	%argrw{"wrr"}
	mul		$tmp44 d IN 	%argrw{"wrr"}
	add		$tmp45 origin $tmp44 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:167
# //          zero (default), use a formula that avoids double-accounting
	functioncall	$const5 143 	%line{167} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:80
#     lights (Pcur) {
	assign		li $const6 	%line{80} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:81
# 	float foglight = 1;
	for		$tmp46 93 94 98 98 	%line{81} %argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:85
#     if (smokeoctaves > 0 && smokevary > 0) {
	lights_begin	$tmp43 	%line{85} %argrw{"r"}
	lights		$tmp46 $tmp43 	%argrw{"wr"} %argderivs{1}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:82
# 	getmessage ("light", "__foglight",foglight);
	assign		___375_foglight $const7 	%line{82} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:83
#         Lscatter += foglight * Cl;
	getmessage	$tmp47 $const8 $const9 ___375_foglight 	%line{83} %argrw{"wrrw"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:84
#     }
	mul		$tmp48 ___375_foglight Cl 	%line{84} %argrw{"wrr"}
	add		li li $tmp48 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:86
# 	point Psmoke = Pshad * smokefreq;
	gt		$tmp49 smokeoctaves $const6 	%line{86} %argrw{"wrr"}
	neq		$tmp50 $tmp49 $const6 	%argrw{"wrr"}
	if		$tmp50 104 104 	%argrw{"r"}
	gt		$tmp51 smokevary $const6 	%argrw{"wrr"}
	neq		$tmp52 $tmp51 $const6 	%argrw{"wrr"}
	assign		$tmp50 $tmp52 	%argrw{"wr"}
	if		$tmp50 142 143 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:87
# 	smoke = snoise (Psmoke);
	mul		___376_Psmoke $tmp45 smokefreq 	%line{87} %argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:88
# 	// Optimize: one octave only if not lit
	snoise		dtau ___376_Psmoke 	%line{88} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:90
# 	    smoke += 0.5 * fBm (Psmoke*2, stepsize*2, smokeoctaves-1, 2, 0.5);
	compref		$tmp53 li $const6 	%line{90} %argrw{"wrr"}
	compref		$tmp54 li $const7 	%argrw{"wrr"}
	add		$tmp55 $tmp53 $tmp54 	%argrw{"wrr"}
	compref		$tmp56 li $const10 	%argrw{"wrr"}
	add		$tmp57 $tmp55 $tmp56 	%argrw{"wrr"}
	gt		$tmp58 $tmp57 $const11 	%argrw{"wrr"}
	if		$tmp58 140 140 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:91
# 	smoke = smoothstep(-1,1,smokevary*smoke);
	mul		$tmp60 ___376_Psmoke $const13 	%line{91} %argrw{"wrr"}
	mul		$tmp61 ss $const13 	%argrw{"wrr"}
	sub		$tmp62 smokeoctaves $const14 	%argrw{"wrr"}
	functioncall	$const15 138 	%argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:98
# /////////////////////////////////////////////////////////////////////////////
	assign		___317_amp $const7 	%filename{"D:/xrt.git\\src\\osl\\shaders\\noises.h"} %line{98} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:99
# // Copyright 2004 NVIDIA Corporation.  All Rights Reserved.
	assign		___317_pp $tmp60 	%line{99} %argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:100
# // 
	assign		___317_sum $const6 	%line{100} %argrw{"wr"}
	assign		___317_fw $tmp61 	%argrw{"wr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:103
# // met:
	for		$tmp63 124 125 136 137 	%line{103} %argrw{"r"}
	assign		___317_i $const6 	%argrw{"wr"}
	lt		$tmp63 ___317_i $tmp62 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:104
# // 
	functioncall	$const16 130 	%line{104} %argrw{"r"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:62
#     return snoise(p) * (1-smoothstep (FILTLOW,FILTHIGH,width));
	snoise		$tmp65 ___317_pp 	%line{62} %argrw{"wr"}
	smoothstep	$tmp66 $const17 $const18 ___317_fw 	%argrw{"wrrr"}
	sub		$tmp67 $const14 $tmp66 	%argrw{"wrr"}
	mul		$tmp64 $tmp65 $tmp67 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:104
# 	sum += amp * filteredsnoise (pp, fw);
	mul		$tmp68 ___317_amp $tmp64 	%line{104} %argrw{"wrr"}
	add		___317_sum ___317_sum $tmp68 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:105
# 	amp *= gain;  fw *= lacunarity;
	mul		___317_amp ___317_amp $const12 	%line{105} %argrw{"wrr"}
	mul		___317_fw ___317_fw $const13 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:106
#         pp = pp * lacunarity + 1;  // multiply and offset
	mul		$tmp69 ___317_pp $const13 	%line{106} %argrw{"wrr"}
	add		___317_pp $tmp69 $const14 	%argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:103
#     for (i = 0;  i < octaves;  i += 1) {
	add		___317_i ___317_i $const14 	%line{103} %argrw{"wrr"}
# D:/xrt.git\\src\\osl\\shaders\\noises.h:108
#     return sum;
	assign		$tmp59 ___317_sum 	%line{108} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:91
# 	smoke = smoothstep(-1,1,smokevary*smoke);
	mul		$tmp70 $const12 $tmp59 	%filename{"D:\\xrt.git\\src\\osl\\shaders\\smoke.osl"} %line{91} %argrw{"wrr"}
	add		dtau dtau $tmp70 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:92
#     } else {
	mul		$tmp71 smokevary dtau 	%line{92} %argrw{"wrr"}
	smoothstep	dtau $const20 $const14 $tmp71 	%argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:94
#     }
	assign		dtau $const12 	%line{94} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:171
# 	color lighttau = lightdensity * ss/2 * (li*dtau + last_li*last_dtau);
	div		$tmp72 ss $const13 	%line{171} %argrw{"wrr"}
	mul		$tmp73 opacdensity $tmp72 	%argrw{"wrr"}
	add		$tmp74 dtau last_dtau 	%argrw{"wrr"}
	mul		___379_tau $tmp73 $tmp74 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:172
# 	
	mul		$tmp75 lightdensity ss 	%line{172} %argrw{"wrr"}
	div		$tmp76 $tmp75 $const13 	%argrw{"wrr"}
	mul		$tmp77 li dtau 	%argrw{"wrr"}
	mul		$tmp78 last_li last_dtau 	%argrw{"wrr"}
	add		$tmp79 $tmp77 $tmp78 	%argrw{"wrr"}
	mul		___379_lighttau $tmp76 $tmp79 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:175
# 	Ov += (1-Ov) * (1 - colorexp (-tau*scatter));
	sub		$tmp80 $const14 Ov 	%line{175} %argrw{"wrr"}
	mul		$tmp81 $tmp80 ___379_lighttau 	%argrw{"wrr"}
	mul		$tmp82 $tmp81 scatter 	%argrw{"wrr"}
	add		Cv Cv $tmp82 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:176
# 	last_dtau = dtau;
	sub		$tmp83 $const14 Ov 	%line{176} %argrw{"wrr"}
	neg		$tmp85 ___379_tau 	%argrw{"wr"}
	mul		$tmp86 $tmp85 scatter 	%argrw{"wrr"}
	functioncall	$const23 168 	%argrw{"r"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:103
# }
	compref		$tmp88 $tmp86 $const6 	%line{103} %argrw{"wrr"}
	exp		$tmp87 $tmp88 	%argrw{"wr"}
	compref		$tmp90 $tmp86 $const7 	%argrw{"wrr"}
	exp		$tmp89 $tmp90 	%argrw{"wr"}
	compref		$tmp92 $tmp86 $const10 	%argrw{"wrr"}
	exp		$tmp91 $tmp92 	%argrw{"wr"}
	color		$tmp84 $tmp87 $tmp89 $tmp91 	%argrw{"wrrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:176
# 	last_dtau = dtau;
	sub		$tmp93 $const14 $tmp84 	%line{176} %argrw{"wrr"}
	mul		$tmp94 $tmp83 $tmp93 	%argrw{"wrr"}
	add		Ov Ov $tmp94 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:177
# 	last_li = li;
	assign		last_dtau dtau 	%line{177} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:178
#     }
	assign		last_li li 	%line{178} %argrw{"wr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:185
#     opacity = Ov + (1-Ov)*opacity;
	sub		$tmp95 $const14 Ov 	%line{185} %argrw{"wrr"}
	mul		$tmp96 $tmp95 C 	%argrw{"wrr"}
	add		C Cv $tmp96 	%argrw{"wrr"}
# D:\\xrt.git\\src\\osl\\shaders\\smoke.osl:186
# }
	sub		$tmp97 $const14 Ov 	%line{186} %argrw{"wrr"}
	mul		$tmp98 $tmp97 opacity 	%argrw{"wrr"}
	add		opacity Ov $tmp98 	%argrw{"wrr"}
	end
